1

我有一个带有 src 属性的图像(在内容中)

http://myPage/rss.gif

我不想改变属性。xsl:template 匹配表达式不起作用..

<replace css:content="#content" css:theme=".content" />
<xsl:template match="img/@src[contains(., 'rss.gif')]">
    <xsl:attribute name="src">/++theme++myPackage/images/<xsl:value-of select="." /></xsl:attribute>
</xsl:template>

我究竟做错了什么?

4

1 回答 1

0

在您的示例中,您选择一个img-tag 包含rss.gifsrc-attribute 中的字符串,该字符串可能是http://myPage/rss.gif.

然后,将属性添加srcimg-tag 中,将其值与字符串的连接/++theme++myPackage/images/和原始值相结合http://myPage/rss.gif

原始值加上<xsl:value-of select="." /></xsl:attribute>src这将选择-attribute的整个值!

因此你会得到类似的东西:

<img id="content" src="/++theme++myPackage/images/http://myPage/rss.gif" />

出于测试目的,您可以首先将具有img预期- 属性的src-element 添加到您的 theme.html 文件中,并检查是否访问了图像文件。另请检查src您的内容文件中的值是否仅包含您要附加​​到的字符串/++theme++myPackage/images/

顺便说一句,在您的示例中,您将主题元素替换为 class: css:theme=".content"。提醒一下,这将用 class 替换所有元素content。考虑使用 id 或更窄的选择器,例如div.content或 better div#someid.content

于 2014-05-27T09:18:04.367 回答