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






Using xsl:element and xsl:attribute to create xml tags


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
27.attribute name="example" select="1 to 7" separator=", "