XML Tutorial/XSLT stylesheet/import
Call template from another file
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <PopulationChange segment="Top 3">
<State> <Name>California</Name> <Population>35116033</Population> <Rank>1</Rank> <Increase>515570</Increase> <PercentChange>1.5</PercentChange> </State> <State> <Name>Texas</Name> <Population>21779893</Population> <Rank>2</Rank> <Increase>408910</Increase> <PercentChange>1.9</PercentChange> </State>
</PopulationChange> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:import href="wspace.xsl" /> <xsl:template match="State"> <xsl:text>Rank:</xsl:text> <xsl:call-template name="sp1" /> <xsl:value-of select="Rank" /> <xsl:call-template name="n1" /> <xsl:text>State:</xsl:text> <xsl:call-template name="sp1" /> <xsl:value-of select="Name" /> <xsl:call-template name="n2" /> </xsl:template>
</xsl:stylesheet>
File: wspace.xsl <?xml version="1.0"?> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template name="sp1"> <xsl:text> </xsl:text> </xsl:template> <xsl:template name="sp2"> <xsl:text> </xsl:text> <xsl:text> </xsl:text> </xsl:template> <xsl:template name="sp3"> <xsl:text> </xsl:text> <xsl:text> </xsl:text> <xsl:text> </xsl:text> </xsl:template> <xsl:template name="n1"> <xsl:text> </xsl:text> </xsl:template> <xsl:template name="n2"> <xsl:text> </xsl:text> <xsl:text> </xsl:text> </xsl:template> <xsl:template name="n3"> <xsl:text> </xsl:text> <xsl:text> </xsl:text> <xsl:text> </xsl:text> </xsl:template>
</xsl:stylesheet></source>
xsl:import example
<source lang="xml">
File: Data.xml <?xml version = "1.0"?> <?xml:stylesheet type = "text/xsl" href = "Transform.xslt"?> <book isbn = "999-99999-9-X">
<title>XML</title> <author> <firstName>Paul</firstName> <lastName>Deitel</lastName> </author> <chapters> <preface num = "1" pages = "2">Welcome</preface> <chapter num = "1" pages = "4">Easy XML</chapter> <chapter num = "2" pages = "2">XML Elements?</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:import href = "usage2.xsl"/> <xsl:template match = "title">
<xsl:value-of select = "."/>
</xsl:template>
</xsl:stylesheet>
File: usage2.xsl <?xml version = "1.0"?> <xsl:stylesheet version = "1.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "book"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match = "title"> <xsl:value-of select = "."/> </xsl:template> <xsl:template match = "author">
<paragraph>Author: <xsl:value-of select = "lastName"/>, <xsl:value-of select = "firstName"/> </p> </xsl:template> <xsl:template match = "*|text()"/>
</xsl:stylesheet></source>