<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon" exclude-result-prefixes="saxon" version="1.0"> <xsl:output method="html" encoding="utf-8" indent="yes"/> <xsl:preserve-space elements="*"/> <xsl:param name="title" select="'XSL Stylesheet'"/> <xsl:template match="/"> <html> <head> <title><xsl:value-of select="$title"/></title> <link rel="stylesheet" type="text/css" href="../colorize.css"/> </head> <body> <pre> <xsl:apply-templates/> </pre> </body> </html> </xsl:template> <xsl:template match="*"> <span class="markup"> <xsl:text><</xsl:text> </span> <span class="start"> <xsl:copy-of select="name(.)"/> </span> <xsl:if test="not(parent::*)"> <xsl:for-each select="namespace::*"> <xsl:if test="local-name(.) != 'xml'"> <span class="attr"> <xsl:choose> <xsl:when test="local-name(.) = ''"> xmlns</xsl:when> <xsl:otherwise> <xsl:text> xmlns:</xsl:text> <xsl:value-of select="local-name(.)"/> </xsl:otherwise> </xsl:choose> </span> <xsl:text>="</xsl:text> <span class="attrvalue"> <xsl:value-of select="."/> </span> <xsl:text>" </xsl:text> </xsl:if> </xsl:for-each> </xsl:if> <xsl:for-each select="@*"> <xsl:text> </xsl:text> <span class="attr"> <xsl:value-of select="name(.)"/> </span> <xsl:text>=</xsl:text> <xsl:choose> <xsl:when test='contains(., '"')'>'</xsl:when> <xsl:otherwise>"</xsl:otherwise> </xsl:choose> <span class="attrvalue"> <xsl:value-of select="."/> </span> <xsl:choose> <xsl:when test='contains(., '"')'>'</xsl:when> <xsl:otherwise>"</xsl:otherwise> </xsl:choose> </xsl:for-each> <xsl:choose> <xsl:when test="not(*) and . = ''"> <span class="markup"> <xsl:text>/></xsl:text> </span> </xsl:when> <xsl:otherwise> <span class="markup"> <xsl:text>></xsl:text> </span> <xsl:apply-templates/> <span class="markup"> <xsl:text><</xsl:text> </span> <span class="end"> <xsl:text>/</xsl:text> <xsl:copy-of select="name(.)"/> </span> <span class="markup"> <xsl:text>></xsl:text> </span> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="text()"> <span class="text"> <xsl:choose> <xsl:when test="parent::*/*"> <xsl:value-of select="."/> </xsl:when> <xsl:when test=". = ' '"> <span class="markup"> </span> </xsl:when> <xsl:when test=". = ' '"> <span class="markup"> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </span> </xsl:template> <xsl:template match="comment()"> <span class="comment"> <xsl:text><--</xsl:text> <xsl:value-of select="."/> <xsl:text>--> </xsl:text> </span> </xsl:template> <xsl:template match="processing-instruction()"> <span class="pi"> <xsl:if test="name(.) != 'xml-stylesheet'"> <xsl:text><?</xsl:text> <xsl:value-of select="name(.)"/> <xsl:text> </xsl:text> <xsl:value-of select="."/> <xsl:text>?></xsl:text> </xsl:if> </span> </xsl:template> </xsl:stylesheet>