Assign value from variable to attribute : Variable « XSLT stylesheet « XML






Assign value from variable to attribute


File: Data.xml

<poem>
   <author>author 1</author>
   <date>1912</date>
   <title>Song</title>
  <stanza>
      <line>line 1</line>
      <line>line 2</line>
      <line>line 3</line>
      <line>line 4</line>
   </stanza>
</poem>


File: Transform.xml

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="2.0">

  <xsl:template match="poem">
    <poem>
      <xsl:copy-of select="title, author, date" />
      <xsl:apply-templates select="stanza" />
    </poem>
  </xsl:template>

  <xsl:template match="stanza">
    <xsl:variable name="file"
      select="concat('verse', string(position()), '.xml')" />
    <verse number="{position()}" href="{$file}" />
    <xsl:result-document href="{$file}">
      <xsl:copy-of select="." />
    </xsl:result-document>
  </xsl:template>
</xsl:stylesheet>

 








Related examples in the same category

1.Define variable and set value
2.Define variable
3.Output variable
4.Define a variable and then use it in for loop
5.Use for-each to loop through variable
6.Use constant value from variable
7.Fill variable with the returned value from a function
8.Variable scope
9.substring function with variable
10.Reference variable three times
11.Compare variable
12.Define number type variable
13.Math calculation
14.value-of and math calculation
15.Variable with number type
16.number level="any" count="chapter|sect1|sect2|sect3" format="Ww - " ordinal="yes"
17.number level="any" count="chapter|sect1|sect2|sect3" format="w - " lang="de"
18.number level="any" count="chapter|sect1|sect2|sect3" format="w - " lang="pl"
19.Thai numbering