File: Data.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<africa>
<source>
<title>CIA Factbook</title>
<url>http://www.cia.gov/cia/publications/factbook/</url>
<populations estimate="true" year="2002"/>
</source>
<nation>
<name>Algeria</name>
<capital>Algiers</capital>
<population>32277942</population>
<cc>dz</cc>
</nation>
<nation>
<name>Burundi</name>
<capital>Bujumbura</capital>
<population>6373002</population>
<cc>bi</cc>
</nation>
<nation>
<name>Eritrea</name>
<capital>Asmara</capital>
<population>4465651</population>
<cc>er</cc>
</nation>
</africa>
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="text" />
<xsl:template match="africa">
<xsl:text>The nations of Africa are </xsl:text>
<xsl:apply-templates select="nation" />
</xsl:template>
<xsl:template match="nation">
<xsl:value-of select="name" />
<xsl:if test="position() != last()">,</xsl:if>
<xsl:if test="position() mod 5 = 0">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:if test="position() = (last() - 1)">and</xsl:if>
<xsl:if test="position() = last()">.</xsl:if>
</xsl:template>
</xsl:stylesheet>
Output:
The nations of Africa are Algeria,Burundi,andEritrea.