Define entity in style sheet : entity « 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 » entity 
Define entity in style sheet


File: Data.xml


<winelist>

  <wine grape="Chardonnay">
    <winery>shop 1</winery>
    <product>product 1</product>
    <year>1998</year>
    <prices>
      <list>6.99</list>
      <discounted>5.99</discounted>
      <case>71.50</case>
    </prices>
  </wine>

<wine grape="Chardonnay">
  <winery>shop 2</winery>
  <product>product 2</product>
  <year>1997</year>
  <prices>
    <list>10.99</list>
    <discounted>9.50</discounted>
    <case>114.00</case>
  </prices>
</wine>

</winelist>
File: Transform.xslt

<!DOCTYPE stylesheet [
<!ENTITY space "<xsl:text> </xsl:text>">
]>
<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">
    <xsl:apply-templates select="winery" />
    &space;
    <xsl:apply-templates select="product" />
    &space;
    <xsl:apply-templates select="year" />
    &space;
    <xsl:apply-templates select="@grape" />
    <xsl:if test="@grape = 'Chardonnay'">
      <xsl:text>
        other Chardonnays:
      </xsl:text>
      <xsl:for-each
        select="preceding-sibling::wine[@grape = 'Chardonnay'] |
                     following-sibling::wine[@grape = 'Chardonnay']">
        <xsl:sort select="winery" />
        <xsl:text>    </xsl:text>
        <xsl:value-of select="winery" />
        &space;
        <xsl:value-of select="product" />

      </xsl:for-each>
    </xsl:if>
  </xsl:template>

  
</xsl:stylesheet>

Output:



  shop product 1 1998 Chardonnay
        other Chardonnays:
          shop product 2

shop product 2 1997 Chardonnay
        other Chardonnays:
          shop product 1

 
Related examples in the same category
1. Output entities
2. Define and use entites
3. Renerence entities
4. Use entities to wrap style sheet
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.