[Home] [By Thread] [By Date] [Recent Entries]
Hi,
suppose I run the following transform (on anything) <xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<root>
<span xml:space="preserve"><xsl:text>
</xsl:text></span>
</root>
</xsl:template>
</xsl:transform>In Saxon this produces the following output <?xml version="1.0" encoding="utf-8"?> <root> <span xml:space="preserve"> </span> </root> however, I submit this is not correct, or at least not what I would expect. If space is to be preserved on the span element, then I would hope that no space is added either. IMO the output should be: <?xml version="1.0" encoding="utf-8"?> <root> <span xml:space="preserve"> </span> </root> i.e., there should be a single newline only, even though that somewhat messes up the XML prettyness. Is this something that Saxon just happens to get wrong or is this something that the XSLT spec leaves open to interpretation, or does the XSLT spec actually require this behavior? If the latter is true, how can one preserve space precisely on certain elements without having to choose xsl:output/@indent="no"? thanks, -Gunther
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|

Cart



