Previous | Next | Indexes
Zvon > Tutorials > XSLT 2.0 Tutorial > Comments and processing instructions (8/9) >

Name attribute is an attribute value template

The value of the name attribute is interpreted as an attribute value template. It means that inside curly brackets an XPath expressions can be evaluated.
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="/aaa">
                  <xsl:apply-templates  select="*"/>
            </xsl:template>

            <xsl:template  match="*">
                  <xxx>
                        <xsl:processing-instruction  name="{name()}-X-{.}"
                                    select="position()"/>
                  </xxx>
            </xsl:template>

      </xsl:stylesheet>
XML

      <aaa>
            <bbb>start</bbb>
            <ccc>end</ccc>
      </aaa>
Output

      <xxx><?bbb-X-start 1?></xxx>
      <xxx><?ccc-X-end 2?></xxx>


Previous chapter: Date and Time
Next chapter: Built in Types
Previous page: Processing instructions
Next page: Matching processing instructions in source document