Subject: RE: output/@indent="yes" and *[@xml:space="preserve"]
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Tue, 4 Feb 2003 23:32:30 -0000
|
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.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: Gunther Schadow [mailto:gunther@xxxxxxxxxxxxxxxxxxxxxx]
> Sent: 04 February 2003 20:33
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: xsl:output/@indent="yes" and *[@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@xxxxxxxxxxxxxxx
> 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
|