XML Tutorial/XSLT stylesheet/include

Материал из Web эксперт
Версия от 08:26, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Include another style sheet

File: Transform.xslt
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:include href="attributes.xsl" />
  <xsl:template match="/">
    <picture xsl:use-attribute-sets="picture-attributes">
      <xsl:attribute name="color">red</xsl:attribute>
    </picture>
  </xsl:template>
</xsl:stylesheet>
File: attributes.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:attribute-set name="picture-attributes">
    <xsl:attribute name="color">blue</xsl:attribute>
    <xsl:attribute name="transparency">100</xsl:attribute>
  </xsl:attribute-set>
</xsl:stylesheet>


xsl:include example

File: Data.xml
<?xml version = "1.0"?>
<?xml:stylesheet type = "text/xsl" href = "Transform.xslt"?>
<book isbn = "111-11111-11">
   <title>XML Primer</title>
   <author>
      <firstName>Doris</firstName>
      <lastName>smith</lastName>
   </author>
   <chapters>
      <preface num = "1" pages = "2">Welcome</preface>
      <chapter num = "1" pages = "4">Easy XML</chapter>
      <chapter num = "2" pages = "2">Element</chapter>
      <appendix num = "1" pages = "9">Entities</appendix>
   </chapters>
   <media type = "CD"/>
</book>
File: Transform.xslt
<?xml version = "1.0"?>
<xsl:stylesheet version = "1.0" 
   xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
   <xsl:template match = "/">
   <html>
      <body>
         <xsl:apply-templates select = "book"/>
      </body>
   </html>
   </xsl:template>
   <xsl:template match = "book">
      <H2>
         <xsl:value-of select = "title"/>
      </H2>
      <xsl:apply-templates/>
   </xsl:template>
   <xsl:include href = "author.xsl"/>
   <xsl:include href = "chapters.xsl"/>
  
   <xsl:template match = "*|text()"/>
</xsl:stylesheet>

File: author.xsl 
<?xml version = "1.0"?>
<xsl:stylesheet version = "1.0" 
         xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
   <xsl:template match = "author">
      <paragraph>Author:
         <xsl:value-of select = "lastName"/>,
         <xsl:value-of select = "firstName"/>
      </p>
   </xsl:template>
</xsl:stylesheet>
File: chapters.xsl
<?xml version = "1.0"?>
<xsl:stylesheet version = "1.0" 
                xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
   <xsl:template match = "chapters">
      Chapters:
      <ul>
         <xsl:apply-templates select = "chapter"/>
      </ul>
   </xsl:template>
   <xsl:template match = "chapter">
      <li>
         <xsl:value-of select = "."/>
      </li>
   </xsl:template>
</xsl:stylesheet>