RE: [xsl] Result still indented despite indent="no"

Subject: RE: [xsl] Result still indented despite indent="no"
From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx>
Date: Sun, 20 Feb 2005 08:24:42 -0800 (PST)
Thank you Mr. Kay for providing URL of the errata. 

The erratum says..
"For source documents, the set of
whitespace-preserving element names is specified by
xsl:strip-space and xsl:preserve-space top-level
elements". 

And the section "3.4 Whitespace Stripping" of the spec
says..
"A text node is preserved if any of the following
apply:

1) The element name of the parent of the text node is
in the set of whitespace-preserving element names.

2) The text node contains at least one non-whitespace
character. As in XML, a whitespace character is #x20,
#x9, #xD or #xA.

3) An ancestor element of the text node has an
xml:space attribute with a value of preserve, and no
closer ancestor element has xml:space with a value of
default.

Otherwise, the text node is stripped".

It seems quite clear, that point 1) above defines
behaviour when xsl:strip-space and xsl:preserve-space
elements *are present*. In the absence of
xsl:strip-space and xsl:preserve-space, only rules 2)
and 3) will apply.

Since rule 3) is not holding true for example XML -
<pre>
 <b>bold</b>
 <i>italic</i>
</pre>

Which text nodes will be preserved will be determined
only by rule 2). So the "white space only text nodes"
should be stripped.

Please pardon me, because my opinion is different from
yours.

Regards,
Mukul

--- Michael Kay <mike@xxxxxxxxxxxx> wrote:

> > Hello Mr. Kay,
> >   Please pardon me, because my opinion is
> different
> > from yours. You have refered an Erratum section
> (E30).
> > Its not provided in the spec
> > URL(http://www.w3.org/TR/xslt). I cannot find it.
> Can
> > you please provide the URL?
> 
> Every W3C specification provides a link to the
> errata in the introduction to
> the spec: see the "Status of this Document" section.
> For XSLT 1.0 it's at
> http://www.w3.org/1999/11/REC-xslt-19991116-errata/
> 
> As I said, you only really need the erratum to
> understand the rules in cases
> when both strip-space and preserve-space are
> present. In simple cases you
> get the same result from the original text:
> 
> For source documents, the set of
> whitespace-preserving element names is
> specified by xsl:strip-space and xsl:preserve-space
> top-level elements.
> These elements each have an elements attribute whose
> value is a
> whitespace-separated list of NameTests. Initially,
> the set of
> whitespace-preserving element names contains all
> element names. If an
> element name matches a NameTest in an
> xsl:strip-space element, then it is
> removed from the set of whitespace-preserving
> element names. If an element
> name matches a NameTest in an xsl:preserve-space
> element, then it is added
> to the set of whitespace-preserving element names.
> 
> > 
> > You are saying, for the example XML -
> > <pre>
> >  <b>bold</b>
> >  <i>italic</i>
> > </pre>
> > 
> > The first condition is true (i.e. The element name
> of
> > the parent of the text node is in the set of
> > *whitespace-preserving element names*).
> > 
> > Whereas, whitespace-preserving element names *is
> > specified by* xsl:strip-space and
> xsl:preserve-space
> > elements (given in Erratum E30).
> > 
> > Is'nt my understanding therefore right?
> 
> I don't know what your understanding is, but in the
> absence of
> xsl:strip-space, all these elements are
> whitespace-preserving and the <pre>
> element therefore has 5 children.
> 
> Michael Kay
> http://www.saxonica.com/


		
__________________________________ 
Do you Yahoo!? 
All your favorites on one personal page  Try My Yahoo!
http://my.yahoo.com 

Current Thread