2010-12-16 6 views
0

はしばらくの間、このいじるされてXMLと同じ名前... は、私は次の行のGet価値のXSLで、

<image size="small">image_small.jpg</image> 
<image size="medium">image_medium.jpg</image> 
<image size="large">image_large.jpg</image> 

とxmlファイル私はちょうどメディアを得ることができる方法上の任意のアイデアを持っています例えば、url。

現在私が持っている...しかし、その場合は、事前にトリック

<tr> 
<td><img><xsl:attribute name="src"> 
      <xsl:value-of select="image/@size[@size=medium]" /> 
     </xsl:attribute> 
    </img> 
</td> 
</tr> 

感謝をしていない

私たちはあなたの全体のXSLTを持っても、希望はありませんので、ご質問は非常に明確に定義されていません

答えて

3

出力しますが、試してみます:

異なるループで反復処理を行う場合は、ループの内容ではなくループ自体に制約を設定する必要があります。

あなたがxsl:for-eachの内側にあなたの例のコードを入れた場合は、すべての画像を反復が、@size="medium"imageが現在のノードである場合にのみ@src属性を記入します。これは、3つのイメージを持つ3つのテーブル行を提供しますが、有効な@src属性を持つイメージは1つのみです。

代わりにのみ@size="medium"であなたのイメージを反復にごxsl:for-eachor use xsl:apply-templates)を変更:

<!-- This will only iterate over the medium sized images. --> 
<xsl:for-each select="image[@size='medium']"> 
    <tr> 
    <td> 
     <img src="{.}"/> 
    </td> 
    </tr> 
</xsl:for-each> 

もう一つのヒント:代わりxsl:attribute使用attribute value templateを使用します。

+0

絶対的な魅力のように働いた、ありがとう – Stevanicus