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
--
Gunther Schadow, M.D., Ph.D.
gschadow(_at_)regenstrief(_dot_)org
Medical Information Scientist Regenstrief Institute for Health Care
Adjunct Assistant Professor Indiana University School of Medicine
tel:1(317)630-7960 http://aurora.regenstrief.org
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list