我有一个带有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>
我做错了什么?
答案 0 :(得分:0)
在您的示例中,您选择了img
- 包含rss.gif
- 属性中字符串src
的标记,此字符串可能为http://myPage/rss.gif
。
然后您将一个属性src
添加到img
- 标记,其值为字符串/++theme++myPackage/images/
和原始值http://myPage/rss.gif
的串联。
原始值由<xsl:value-of select="." /></xsl:attribute>
添加。这将选择src
- 属性的全部值!
因此你会得到类似的东西:
<img id="content" src="/++theme++myPackage/images/http://myPage/rss.gif" />
出于测试目的,您可以先向您的theme.html文件添加一个img
- 具有预期src
- 属性的元素,并检查是否访问了该图像文件。另请注意,内容文件中src
的值仅包含要附加到/++theme++myPackage/images/
的字符串。
BTW,在您的示例中,您按类替换主题元素:css:theme=".content"
。提醒这将使用类content
替换所有元素。考虑使用id或更窄的选择器,例如div.content
或更好div#someid.content
。