René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
XSLT examples | ||
Sorting
The xslt file:
<?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html><head><title>Sorting example</title></head><body> <xsl:apply-templates select="famous-persons/persons"> <xsl:sort select="@category" /> </xsl:apply-templates> </body></html> </xsl:template> <xsl:template match="persons"> <h2><xsl:value-of select="@category" /></h2> <ul> <xsl:apply-templates select="person"> <xsl:sort select="name" /> <xsl:sort select="firstname" /> </xsl:apply-templates> </ul> </xsl:template> <xsl:template match="person"> <xsl:text disable-output-escaping="yes"> <li> </xsl:text> <b><xsl:value-of select="name" /></b> <xsl:value-of select="firstname" /> </xsl:template> </xsl:stylesheet>
The XML file:
<?xml version="1.0" ?> <famous-persons> <persons category="medicine"> <person> <firstname> Edward </firstname> <name> Jenner </name> </person> <person> <firstname> Gertrude </firstname> <name> Elion </name> </person> </persons> <persons category="computer science"> <person> <firstname> Charles </firstname> <name> Babbage </name> </person> <person> <firstname> Alan </firstname> <name> Touring </name> </person> <person> <firstname> Ada </firstname> <name> Byron </name> </person> </persons> <persons category="astronomy"> <person> <firstname> Tycho </firstname> <name> Brahe </name> </person> <person> <firstname> Johannes </firstname> <name> Kepler </name> </person> <person> <firstname> Galileo </firstname> <name> Galilei </name> </person> </persons> </famous-persons> |