The value of a new attribute can be specified either by content of xsl:attribute or by using XPath expression in select attribute. Attribute separator can be used in the same way as on xsl:value-of element.
|
XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/> <xsl:template match="/*"> <xxx> <xsl:attribute name="r" select="@z"/> <xsl:apply-templates select="bbb" mode="A"/> <xsl:apply-templates select="bbb" mode="B"/> </xxx> </xsl:template> <xsl:template match="bbb" mode="A"> <yyy> <xsl:attribute name="b" select="@x * @y"/> </yyy> <yyy> <xsl:attribute name="b"> <xsl:value-of select="2 * @x * @y"/> </xsl:attribute> </yyy> </xsl:template> </xsl:stylesheet> |
|
|
XML
<aaa z="10"> <bbb x="3" y="5"/> </aaa> |
Output
<xxx r="10"> <yyy b="15"/> <yyy b="30"/> </xxx> |
| Previous chapter: | Conditional Expressions |
| Next chapter: | Groups |
| Previous page: | Setting value of an attribute created with xsl:attribute |
| Next page: | - - - |