File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Transform.xslt" type="text/xsl"?>
<europe>
<state>Belgium</state>
<state>Russia</state>
<state>San Marino</state>
<state>Switzerland</state>
</europe>
File: Transform.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="europe">
<html>
<head>
<title>European States</title>
</head>
<style type="text/css">
body {font-family: sans-serif}
</style>
<body>
<h3>Alphabetical List of European States</h3>
<paragraph>
<b>Total Number of States:</b>
<xsl:text> </xsl:text>
<xsl:value-of select="count(state)" />
</paragraph>
<ul>
<xsl:apply-templates select="state">
<xsl:sort />
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="state">
<li>
<xsl:apply-templates />
</li>
</xsl:template>
</xsl:stylesheet>
Output:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>European States</title>
</head><style type="text/css">
body {font-family: sans-serif}
</style><body>
<h3>Alphabetical List of European States</h3>
<paragraph><b>Total Number of States:</b> 4
</paragraph>
<ul>
<li>Belgium</li>
<li>Russia</li>
<li>San Marino</li>
<li>Switzerland</li>
</ul>
</body>
</html>
|