Define and use variable : variable « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0"?>
<addressbook>
  <address>
    <name>
      <title>Ms.</title>
      <first-name>Jack</first-name>
      <last-name>Smith</last-name>
    </name>
    <street>707 Main Way</street>
    <city>New York</city>
    <state>ME</state>
    <zip>00218</zip>
  </address>
</addressbook>


File: Transform.xslt

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

  <xsl:output method="text" indent="no" />
  <xsl:strip-space elements="*" />

  <xsl:variable name="newline">
    <xsl:text></xsl:text>
  </xsl:variable>

  <xsl:template match="/">
    <xsl:for-each select="addressbook/address">
      <xsl:sort select="name/last-name" />
      <xsl:value-of select="name/title" />
      <xsl:text> </xsl:text>
      <xsl:value-of select="name/first-name" />
      <xsl:text> </xsl:text>
      <xsl:value-of select="name/last-name" />
      <xsl:value-of select="$newline" />
      <xsl:value-of select="street" />
      <xsl:value-of select="$newline" />
      <xsl:value-of select="city" />
      <xsl:text>, </xsl:text>
      <xsl:value-of select="state" />
      <xsl:text>  </xsl:text>
      <xsl:value-of select="zip" />
      <xsl:value-of select="$newline" />
      <xsl:value-of select="$newline" />
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

Output:

Ms. Jack Smith707 Main WayNew York, ME  00218








5.68.variable
5.68.1.Define variable and use it
5.68.2.Fill position to a variable
5.68.3.Define and use variable
5.68.4.Variable scope
5.68.5.Variable assignment with choose statement
5.68.6.There is an important difference in variable value specification.
5.68.7.if a variable has some defined value
5.68.8.Variable without initialization
5.68.9.demonstrate different ways of setting xsl:variable
5.68.10.Use variable to hold a result tree