Ok if I actually read the spec :) I would have seen:
<xsl:character-map name="style">
<xsl:output-character character=">" string=">"/>
</xsl:character-map>
Used in conjuction with:
<xsl:output use-character-maps="style"/>
Two things Ive noticed about this:
1. http://www.w3.org/TR/xslt20/#element-output-character
The spec here uses the example
<xsl:character-map name="jsp">
<xsl:output-character char="«" string="<%"/>
<xsl:output-character char="»" string="%>"/>
<xsl:output-character char="§" string='"'/>
</xsl:character-map>
Where the @char should be @character.
2. For some reason, adding the above character map affects the < in my
script block. For example,
while (a < el.childNodes.length) {
Without the above character map comes out as an entity unchanged, but with the
above map it comes out as '<'
This is highlighted in the following example:
Xml
===
<root>
Hello < > World
</root>
Xslt
===
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output use-character-maps="root"/>
<xsl:character-map name="root">
<xsl:output-character character=">" string=">"/>
</xsl:character-map>
</xsl:stylesheet>
Output
===
<?xml version="1.0" encoding="UTF-8"?>
Hello < > World
I would have expected the left angle bracket to still be an entity - is this
correct?
Cheers
andrew
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list