File: Data.xml
<list>
<freezer>
<element>peas</element>
<element>green beans</element>
<element>pot pie</element>
<element>ice cream</element>
</freezer>
<bakery>
<element>rolls</element>
<element>jelly doughnuts</element>
<element>bread</element>
</bakery>
<produce>
<element>bananas</element>
<element>kumquats</element>
<element>apples</element>
</produce>
</list>
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="text" />
<xsl:template match="list">
<xsl:apply-templates select="*">
<xsl:sort select="name()" />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="*">
<xsl:text>Section: </xsl:text>
<xsl:value-of select="name()" />
<xsl:text> </xsl:text>
<xsl:apply-templates select="element">
<xsl:sort />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="element">
<xsl:text> * </xsl:text>
<xsl:apply-templates />
<xsl:text> </xsl:text>
</xsl:template>
</xsl:stylesheet>
Output:
Section: bakery
* bread
* jelly doughnuts
* rolls
Section: freezer
* green beans
* ice cream
* peas
* pot pie
Section: produce
* apples
* bananas
* kumquats
|