tag with index : axis « XSLT stylesheet « XML

XML
1. CSS Style
2. SVG
3. XML Schema
4. XQuery
5. XSLT stylesheet
Java
XML Tutorial
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
XML » XSLT stylesheet » axis 
tag with index


File: Data.xml
<html>
  <body>
    <table>
      <tr>
        <td>A</td>
        <td>B</td>
        <td>100000</td>
        <td>4/23/1999</td>
      </tr>
      <tr>
        <td>C</td>
        <td>D</td>
        <td>95000</td>
        <td>09/01/1998</td>
      </tr>
      <tr>
        <td>E</td>
        <td>F</td>
        <td>97000</td>
        <td>10/16/2000</td>
      </tr>
    </table>
  </body>
</html>

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="table">
    <employees>
      <xsl:apply-templates />
    </employees>
  </xsl:template>

  <xsl:template match="tr">
    <employee hireDate="{td[4]}">
      <last>
        <xsl:value-of select="td[1]" />
      </last>
      <first>
        <xsl:value-of select="td[2]" />
      </first>
      <salary>
        <xsl:value-of select="td[3]" />
      </salary>
    </employee>
  </xsl:template>

</xsl:stylesheet>

Output:


  
    <employees>
      <employee hireDate="4/23/1999"><last>A</last><first>B</first><salary>100000</salary></employee>
      <employee hireDate="09/01/1998"><last>C</last><first>D</first><salary>95000</salary></employee>
      <employee hireDate="10/16/2000"><last>E</last><first>F</first><salary>97000</salary></employee>
    </employees>
  

 
Related examples in the same category
1. List All customers: /report/customer
2. template match="//customer"
3. template match="//customer[1]/name"
4. template match="//processing-instruction()"
5. Match all from root
6. for-each and select="."
7. select="." (dot)
8. Match an element
9. match element with certain attribute value
10. match="text()|@*"
11. match="@*|node()"
12. select down to a certain level and its attribute
13. for-each select="listitem[position() > 1]"
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.