2017-12-12 13 views
-2

私はXSLT言語を初めて使用しています。動的URLを写真リストに割り当てるコードを記述しようとしています。私のリストには、すべての従業員のFirstName、LastName、およびPhotoフィールドが含まれています。Photosはフォルダ( "file:// folder/subfolder/LastName、FirstName.jpg)にあります。FirstNameとLastNameに基づいて、Photoフィールドに適切な写真を動的に追加する必要があります。動的URLを割り当てるには

<xsl:template match="udt:Photo"> 
<xsl:for-each select="dnnGridItem"> 
<xsl:value-of select="udt:LastName" /> 
<xsl:value-of select="udt:FirstName" /> 
</xsl:for-each> 
<img border="0" alt="delete"> 
    <xsl:attribute name="src"> 
    <xsl:text>file://folder/subfolder</xsl:text> 
    <xsl:value-of select="file://foilder/subfoilder/?{LastName}, {FirstName}.jpg" /> 
    <xsl:text>.jpg</xsl:text> 
    </xsl:attribute> 
</img> 
</xsl:template> 

いずれかは、XSLコードで私を助けることができる

+0

作業中のXMLファイル/データの小さな(しかし重要な)例を提供することもできますか? – AntonH

答えて

0

をあなたは私が私の例を提案することができます任意の入力データを提供しなかったとして、私の場合、必要なイメージに はにあります。私が試した

コード経路D:/画像以下:

enter image description here

だから私は以下のように次のXSLファイル(photo.xsl)を使用していますHTMLに画像を追加します。そして、動的に入力XMLファイルに<?xml-stylesheet type="text/xsl" href="photo.xsl"?>を追加姓と姓を取るために

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
    <xsl:output method="html" /> 
    <xsl:template match="/Photo"> 
     <xsl:variable name="img.path" select="'file:///D:/images/'"/> 
     <html> 
      <body>        
       <xsl:for-each select="dnnGridItem"> 
        <xsl:variable name="img.name" select="concat(LastName, ', ', FirstName)"/> 
        <h2> 
         <xsl:value-of select="$img.name"/> 
        </h2> 
        <img border="0" alt="delete"> 
         <xsl:attribute name="src"> 
          <xsl:value-of select="concat($img.path, $img.name, '.jpg')"/> 
         </xsl:attribute> 
        </img> 
        <br/>    
       </xsl:for-each> 
      </body> 
     </html>   
    </xsl:template> 
</xsl:stylesheet> 

input.xmlに)以下のように:

<?xml-stylesheet type="text/xsl" href="photo.xsl"?> 
<Photo> 
    <dnnGridItem> 
     <FirstName>John</FirstName> 
     <LastName>Smith</LastName> 
    </dnnGridItem> 
    <dnnGridItem> 
     <FirstName>Kate</FirstName> 
     <LastName>Johnson</LastName> 
    </dnnGridItem>  
</Photo> 

結果:

<html> 
 
     <body> 
 
      <h2>Smith, John</h2> 
 
      <img border="0" alt="delete" src="file:///D:/images/Smith, John.jpg"><br> 
 
      <h2>Johnson, Kate</h2> 
 
      <img border="0" alt="delete" src="file:///D:/images/Johnson, Kate.jpg"><br> 
 
     </body> 
 
    </html>

  • 結果、ブラウザで開いてXML(input.xmlに)ファイル:
結果を転換
    enter image description here

    注記! input.xml - photo.xslと同じフォルダにあります。

    ご迷惑をおかけして申し訳ございません。

関連する問題