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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Result still indented des, Michael Kay | Thread | Re: [xsl] Result still indented des, David Carlisle |
RE: [xsl] Result still indented des, Michael Kay | Date | [xsl] comparing values, Dionisio Ruiz de Zár |
Month |