Use for-each to loop through variable : Variable « 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 » Variable 
Use for-each to loop through variable


File: Data.xml

<?xml version="1.0" encoding="iso-8859-1"?>
<booklist>
  <book category="S">
    <title>title 1</title>
    <author>author 1</author>
  </book>

</booklist>


File: Transform.xslt

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="2.0">
  <xsl:key name="biog" match="author" use="@name" />
  <xsl:variable name="biogs" select="document('authors.xml')" />
  <xsl:template match="/">
    <html>
      <body>

        <xsl:variable name="all-books" select="//book" />
        <xsl:for-each select="$all-books">
          <h1>
            <xsl:value-of select="title" />
          </h1>
          <h2>
            Author
            <xsl:if test="count(author)!=1">s</xsl:if>
          </h2>
          <xsl:for-each select="author">
            <!-- for each author of this book -->
            <xsl:variable name="name" select="." />
            <h3>
              <xsl:value-of select="$name" />
            </h3>
            <!--locate the biography by key lookup -->
            <xsl:variable name="auth"
              select="$biogs/key('biog', $name)" />
            <p>
              <xsl:value-of
                select="concat($auth/born, ' - ', $auth/died)" />
            </p>
            <p>
              <xsl:value-of select="$auth/biog" />
            </p>
          </xsl:for-each>
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>

</xsl:transform>

Output:

<html>
   <body>
      <h1>title 1</h1>
      <h2>
                     Author
                     
      </h2>
      <h3>author 1</h3>
      <p> - </p>
      <p></p>
   </body>
</html>

 
Related examples in the same category
1. Define variable and set value
2. Define variable
3. Output variable
4. Define a variable and then use it in for loop
5. Assign value from variable to attribute
6. Use constant value from variable
7. Fill variable with the returned value from a function
8. Variable scope
9. substring function with variable
10. Reference variable three times
11. Compare variable
12. Define number type variable
13. Math calculation
14. value-of and math calculation
15. Variable with number type
16. number level="any" count="chapter|sect1|sect2|sect3" format="Ww - " ordinal="yes"
17. number level="any" count="chapter|sect1|sect2|sect3" format="w - " lang="de"
18. number level="any" count="chapter|sect1|sect2|sect3" format="w - " lang="pl"
19. Thai numbering
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.