XML Tutorial/XSLT stylesheet/include
Версия от 18:22, 25 мая 2010; (обсуждение)
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>