0

一直在玩弄这个......我有一个带有以下几行的xml文件

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

例如,关于如何获取中等 url 的任何想法。

目前我有......但它没有做到这一点

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

提前致谢

4

1 回答 1

3

您的问题没有很好地定义,因为我们没有您的整个 XSLT 也没有所需的输出,但我会试一试:

如果您使用 for 循环来迭代不同的图像,您需要在循环本身上设置约束,而不是循环的内容。

如果将示例代码放在 axsl:for-each中,它将遍历每个图像,但仅当with是当前节点时才填充@src属性。这将为您提供三个包含三个图像的表格行,但只有一个具有有效属性的图像。image@size="medium"@src

而是将您的xsl:for-each或使用xsl:apply-templates)更改为仅使用以下内容迭代您的图像@size="medium"

<!-- 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使用属性值模板

于 2010-12-16T23:57:52.717 回答