Subject: [xsl] replacing special characters in xsl:copy From: "Dunning, John" <jdunning@xxxxxxx> Date: Wed, 6 Jun 2007 12:37:30 -0400 |
Hello all, I'm just beginning to get into XSLT 2.0 and I'm trying to copy the XML source to an HTML report; what I would like to do is replace "<" and ">" in the copied source with "<" and ">". The soure looks similar to: <task location="L:\\build-log.xml:48: " name="foo" time="0 seconds"> <message priority="warn"><![CDATA[ Text warning of foo ]]></message> </task> What I've got so far is this: <xsl:output method="html" indent="yes"/> <xsl:template match="/"> <html> <body> <xsl:for-each select="for $f in collection ('file:///c:/temp?select=*.xml;recurse=yes;on-error=ignore') return saxon:discard-document($f)"> <xsl:choose> <xsl:when test="//message[@priority='warn']"> <h2>Warning in <xsl:value-of select="document-uri(.)"/>:</h2> <pre> <xsl:copy-of select="replace(//message[@priority='warn'],'<','<')"/> </pre> </xsl:when> <xsl:otherwise> <h2>No errors or warnings in <xsl:value-of select="document-uri(.)"/></h2> </xsl:otherwise> </xsl:choose> </xsl:for-each> </body> </html> </xsl:template> What my desired output would be is: <h2>Warning in file:/c:/temp/foo.xml </h2> <pre> <task location="L:\\build-log.xml:48: " name="foo" time="0 seconds"> <message priority="warn"><![CDATA[ Text warning of foo ]]></message> </task> </pre> Is what I'm trying to do possible? Am I on the right track? Any suggestions gratefully received. TIA, John
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] following-sibling problem, Vasu Chakkera | Thread | RE: [xsl] replacing special charact, Michael Kay |
Re: [xsl] Regular expressions in XS, David Carlisle | Date | RE: [xsl] replacing special charact, Michael Kay |
Month |