Select Node by index : select « 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 » select 
Select Node by index



File: Data.xml

<Employees>
  <Person>
    <FirstName>A</FirstName>
    <LastName>B</LastName>
    <DateOfBirth>2008-12-12</DateOfBirth>
  </Person>
  <Person>
    <FirstName>C</FirstName>
    <LastName>D</LastName>
    <DateOfBirth>2008-11-11</DateOfBirth>
  </Person>
  <Person>
    <FirstName>E</FirstName>
    <LastName>F</LastName>
    <DateOfBirth>2008-10-10</DateOfBirth>
  </Person>
</Employees>


File: Transform.xslt

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

  <xsl:template match="/">
    <html>
      <head>
        <title>this is the title</title>
      </head>
      <body>
        <h3>header 3</h3>
        <xsl:apply-templates
          select="/Employees/Person[1]/FirstName" />
      </body>
    </html>
  </xsl:template>

  <xsl:template match="FirstName">
    <xsl:for-each select="following::*">
      <paragraph>
        <xsl:value-of select="name(.)" />
        which contains the text "
        <xsl:value-of select="." />
        ".
      </paragraph>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

Output:

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>this is the title</title>
   </head>
   <body>
      <h3>header 3</h3>
      <paragraph>LastName
                 which contains the text "
                 B
                 ".
               
      </paragraph>
      <paragraph>DateOfBirth
                 which contains the text "
                 2008-12-12
                 ".
               
      </paragraph>
      <paragraph>Person
                 which contains the text "
                 
             C
             D
             2008-11-11
           
                 ".
               
      </paragraph>
      <paragraph>FirstName
                 which contains the text "
                 C
                 ".
               
      </paragraph>
      <paragraph>LastName
                 which contains the text "
                 D
                 ".
               
      </paragraph>
      <paragraph>DateOfBirth
                 which contains the text "
                 2008-11-11
                 ".
               
      </paragraph>
      <paragraph>Person
                 which contains the text "
                 
             E
             F
             2008-10-10
           
                 ".
               
      </paragraph>
      <paragraph>FirstName
                 which contains the text "
                 E
                 ".
               
      </paragraph>
      <paragraph>LastName
                 which contains the text "
                 F
                 ".
               
      </paragraph>
      <paragraph>DateOfBirth
                 which contains the text "
                 2008-10-10
                 ".
               
      </paragraph>
   </body>
</html>

 
Related examples in the same category
1. Parent and attribute
2. select="../@attribute"
3. child
4. Get value from tag with {}
5. Node selection by level
6. Select attribute value and output to a list
7. context position and context size
8. select with if then else
9. select="document('')/*/book:category[@code=current()/@category]/@desc"
10. select distinct values
11. Select one from the target value list
12. select="@*" (at)
13. Select one tag from a list of tags
14. select="employees/employee[2]/following::contact/name/firstName"
15. select="employees/employee[2]/preceding::contact/name/firstName"
16. select="employee[@dept='programming']"
17. select="employees/head:header/namespace::head"
18. value-of select="person[position()=3]/name"
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.