File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Transform.xslt" type="text/xsl"?>
<us>
<state name="Hawaii">
<county name="Hawaii">
<city class="largest">Hilo</city>
</county>
</state>
</us>
File: Transform.xslt
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="us/state">
<html>
<head>
<title>
State:
<xsl:value-of select="@name" />
</title>
</head>
<body>
<h1>
State:
<xsl:value-of select="@name" />
</h1>
<h2>All Counties</h2>
<ul>
<xsl:apply-templates select="county" mode="county" />
</ul>
<h2>Largest Cities (by County)</h2>
<ul>
<xsl:apply-templates select="county" mode="city" />
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="county" mode="county">
<li>
<xsl:value-of select="@name" />
</li>
</xsl:template>
<xsl:template match="county" mode="city">
<li>
<xsl:value-of select="city" />
(
<xsl:value-of select="@name" />
)
</li>
</xsl:template>
</xsl:stylesheet>
Output:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
State:
Hawaii
</title></head>
<body>
<h1>
State:
Hawaii
</h1>
<h2>All Counties</h2>
<ul>
<li>Hawaii</li>
</ul>
<h2>Largest Cities (by County)</h2>
<ul>
<li>Hilo
(
Hawaii
)
</li>
</ul>
</body>
</html>
|