Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Define and use attribute-set

File: Data.xml <?xml version="1.0"?> <countries>   <country name="France" />   <country name="Germany" />   <country name="Israel" />   <country name="Japan" />   <country name="Poland" />   <country name="United States" selected="yes" />   <country name="Venezuela" /> </countries> File: Transform.xslt <?xml version="1.0"?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   version="2.0">   <xsl:strip-space elements="*" />   <xsl:output method="xml" indent="yes" />   <xsl:template match="*">     <xsl:copy>       <xsl:apply-templates />     </xsl:copy>   </xsl:template>   <xsl:template match="line">     <xsl:copy use-attribute-sets="sequence">       <xsl:apply-templates />     </xsl:copy>   </xsl:template>   <xsl:attribute-set name="sequence">     <xsl:attribute name="number" select="position()" />     <xsl:attribute name="of" select="last()" />   </xsl:attribute-set> </xsl:transform> Output: <?xml version="1.0" encoding="UTF-8"?> <countries>    <country/>    <country/>    <country/>    <country/>    <country/>    <country/>    <country/> </countries>