Define and use attribute-set : attribute set « XSLT stylesheet « XML






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>

 








Related examples in the same category

1.Add one more attribute to group and override the value of another
2.use-attribute-sets
3.Create two attribute sets