0
我有以下XSL模板:XSLT的xsl:副本的xsl:for-各有關屬性
<xsl:template match="@*|node()" mode="fix-entity-references">
<xsl:copy>
<xsl:for-each select="@*">
<xsl:if test="name() = 'href'">
<xsl:variable name="hrefvar">
<xsl:value-of select="current()"/>
</xsl:variable>
<xsl:attribute name="href">
anything
</xsl:attribute>
</xsl:if>
</xsl:for-each>
<xsl:apply-templates select="@*|node()" mode="fix-entity-references"/>
</xsl:copy>
</xsl:template>
我想用這個模板複製當前節點,但只能處理這一切後的屬性。目前的樣本非常簡單,可以用一個非常簡單的塊代替。測試表達式會更加複雜,重點在於每個滿足表達式的元素都可以有N個屬性。這就是爲什麼每個都是必要的。我想以同樣的方式處理所有這些屬性。我試圖打印「當前()」值,它始終正常工作。問題在於更新原始節點的屬性。將「href」屬性的值設置爲「anything」是行不通的,因爲我猜測在我調用它的時候,它位於for-each塊內,這意味着當前節點是屬性本身。
我應該如何在for-each塊中設置原始塊的屬性,以便複製的節點將使用修改後的屬性?
預先感謝您。
我喜歡它了很多先生謝謝! – 2013-03-08 11:52:01