我的情况很奇怪:
...
<item>
<p><a href="image-01">image X</a>text...</p>
<p>text...<a href="image-02">image Y</a></p>
<p>some...<a href="image-02">image y2</a></p>
<img id="image-02" />
</item>
...
我必须找到具有相同属性@href(如果存在)的标签,并添加第一个额外属性(如class =“xyz”)
可能吗???
谢谢你
抱歉语法
答案 0 :(得分:1)
您可以使用
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="by-href" match="*[@href]" use="@href"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* , node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[@href][. is key('by-href', @href)[1]]">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:attribute name="class" select="'xyz'"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
使用Saxon 9或AltovaXML或XmlPrime等XSLT 2.0处理器。