File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Transform.xslt" type="text/xsl"?>
<member>
<state joined="1995">Austria</state>
<state joined="1950">Belgium</state>
<state joined="1973">Denmark</state>
<state joined="1986">Portugal</state>
<state joined="1986">Spain</state>
<state joined="1995">Sweden</state>
<state joined="1973">United Kingdom</state>
</member>
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:output method="xml" indent="yes" />
<xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" />
<xsl:output
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<xsl:template match="member">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>EU Member States</title>
<style type="text/css">
h3 {font-size: 16pt} body {font-size: 13pt}
</style>
</head>
<body>
<h3>EU Member States</h3>
<paragraph>
There are
<xsl:text> </xsl:text>
<xsl:value-of select="count(state)" />
member states, listed starting from the most recent
year:
</paragraph>
<ul>
<xsl:apply-templates select="state">
<xsl:sort select="@joined" data-type="number"
order="descending" />
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="state">
<xsl:element name="li"
namespace="http://www.w3.org/1999/xhtml">
<xsl:apply-templates />
<xsl:text> (</xsl:text>
<xsl:value-of select="@joined" />
<xsl:text>)</xsl:text>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>EU Member States</title>
<style type="text/css">
h3 {font-size: 16pt} body {font-size: 13pt}
</style>
</head>
<body>
<h3>EU Member States</h3>
<paragraph>
There are
7
member states, listed starting from the most recent
year:
</paragraph>
<ul>
<li>Austria (1995)</li>
<li>Sweden (1995)</li>
<li>Portugal (1986)</li>
<li>Spain (1986)</li>
<li>Denmark (1973)</li>
<li>United Kingdom (1973)</li>
<li>Belgium (1950)</li>
</ul>
</body>
</html>
|