Oh dear, I think you're right. The spec says in effect that whitespace
shouldn't be added where <xsl:strip-space> wouldn't cause it to be
stripped: which is the case when xml:space="preserve" applies. It also
says that it shouldn't be added inside an xsl:text element - a rather
odd provision which seems to special-case the output of stylesheets.
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
-----Original Message-----
From: Gunther Schadow
[mailto:gunther(_at_)aurora(_dot_)regenstrief(_dot_)org]
Sent: 04 February 2003 20:33
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: xsl:output/@indent="yes" and *[(_at_)xml:space="preserve"]
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