descendant demo : descendant « 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 » descendant 
descendant demo



File: Data.xml

<chapter>
  <para>para1</para>
  <figure>
    <title>title 1</title>
    <graphic fileref="pic1.jpg" />
  </figure>
  <para>para2</para>
  <sect1>
    <para>para3</para>
    <figure>
      <title>"He Lights"</title>
      <graphic fileref="pic2.jpg" />
    </figure>
    <para>line 1</para>
    <sect2>
      <para>line 2</para>
      <figure>
        <title>title 2</title>
        <graphic fileref="pic1.jpg" />
      </figure>
    </sect2>
  </sect1>
</chapter>

File: Transform.xslt

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

  <xsl:output method="html" />

  <xsl:template match="chapter">
    <html>
      <body>
        <b>Pictures:</b>
        <br />
        <xsl:for-each select="descendant::figure">
          <a href="#{generate-id(graphic)}">
            <xsl:value-of select="title" />
          </a>
          <br />
        </xsl:for-each>

        <xsl:apply-templates />
      </body>
    </html>
  </xsl:template>


  <xsl:template match="para">
    <p>
      <xsl:apply-templates />
    </p>
  </xsl:template>


  <xsl:template match="graphic">
    <center>
      <a name="{generate-id(.)}">
        <img src="{@fileref}" />
      </a>
      <b>
        <xsl:value-of select="../title" />
      </b>
    </center>
  </xsl:template>

  <xsl:template match="figure/title" />


</xsl:stylesheet>


Output:

<html>
   <body><b>Pictures:</b><br><a href="#d2e11">title 1</a><br><a href="#d2e27">"He Lights"</a><br><a href="#d2e43">title 2</a><br>
        
      <p>para1</p>
        
          
          
      <center><a name="d2e11"><img src="pic1.jpg"></a><b>title 1</b></center>
        
        
      <p>para2</p>
        
          
      <p>para3</p>
          
            
            
      <center><a name="d2e27"><img src="pic2.jpg"></a><b>"He Lights"</b></center>
          
          
      <p>line 1</p>
          
            
      <p>line 2</p>
            
              
              
      <center><a name="d2e43"><img src="pic1.jpg"></a><b>title 2</b></center>
            
          
        
      
   </body>
</html>

 
Related examples in the same category
1. descendant::tag name
2. select="descendant::title[last()]"
3. select="descendant::figure/title[last()]"
4. value-of select="descendant::lastName"
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.