Using xsl:element and xsl:attribute : xml output « XSLT stylesheet « XML






Using xsl:element and xsl:attribute

File: Data.xml

<?xml version = "1.0" encoding = "UTF-8"?>
<sports>
  <game title="cricket">
    <id>243</id>

    <paragraph>para 1</paragraph>
  </game>


</sports>

File: Transform.xslt
<?xml version = "1.0" encoding = "UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <!-- match sports elements -->
  <xsl:template match="/sports">
    <sports>
      <xsl:apply-templates select="game" />
    </sports>
  </xsl:template>

  <!-- match game elements -->
  <xsl:template match="game">

    <!-- create child element -->
    <xsl:element name="{@title}">

      <!-- create attribute -->
      <xsl:attribute name="id">
            <xsl:value-of select="id" />
         </xsl:attribute>

      <comment>
        <xsl:value-of select="paragraph" />
      </comment>

    </xsl:element>
  </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><sports><cricket id="243"><comment>para 1</comment></cricket></sports>

 








Related examples in the same category

1.Create new element with attribute
2.xsl:element generates elements in time of processing.
3.achieves in a different and laborious way.
4.xsl:attribute generates elements
5.Create new xml document with namespace
6.Add Comment to generated xml document
7.Use concat function to create name of Element
8.output method="xml" version="1.1" encoding="utf-16"
9.disable-output-escaping="yes"
10.output method="xml" omit-xml-declaration="yes"
11.Add indenting to make result line up better
12.Add 1 hyphen to result tree
13.Output new xml tag
14.Restructure xml document
15.Output xml element in various form
16.Add new parent tag
17.Use attribute value to create new attribute
18.output doctype-system="testOut.dtd"
19.use for-each to output xml tags
20.use new tag to wrap
21.Output element with Namespace
22.Disable escape
23.Add processing-instruction to generated xml document
24.Rename tag
25.Set Encoding
26.Using xsl:element and xsl:attribute to create xml tags
27.attribute name="example" select="1 to 7" separator=", "