Restructure xml document : xml output « XSLT stylesheet « XML






Restructure xml document


File: Data.xml

<wine grape="Chardonnay">
  <product>product 2</product>
  <year>1997</year>
  <price>10.99</price>
</wine>

File: Transform.xslt

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">
  <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />
  
  <xsl:template match="wine">
    <wine vintage="{year}">
      <product>
        <xsl:apply-templates select="product" />
      </product>
      <category>
        <xsl:value-of select="@grape" />
      </category>
      <price>
        <xsl:apply-templates select="price" />
      </price>
    </wine>
  </xsl:template>

</xsl:stylesheet>

Output:

<wine vintage="1997"><product>product 2</product><category>Chardonnay</category><price>10.99</price></wine>

 








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.Output xml element in various form
15.Add new parent tag
16.Use attribute value to create new attribute
17.output doctype-system="testOut.dtd"
18.use for-each to output xml tags
19.use new tag to wrap
20.Output element with Namespace
21.Disable escape
22.Add processing-instruction to generated xml document
23.Rename tag
24.Set Encoding
25.Using xsl:element and xsl:attribute
26.Using xsl:element and xsl:attribute to create xml tags
27.attribute name="example" select="1 to 7" separator=", "