Subject: RE: [xsl] Result still indented despite indent="no" From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 20 Feb 2005 23:04:21 -0000 |
> 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 sentence after that says: Whether an element name is included in the set of whitespace-preserving names is determined by the best match amongst xsl:strip-space or xsl:preserve-space elements: it is included if and only if there is no match or the best match is an xsl:preserve-space element That makes it pretty clear, I think, that if there is no xsl:strip-space or xsl:preserve-space declaration matching a particular element name, then the element is included in the list of element names that preserve whitespace. Michael Kay http://www.saxonica.com/ > > 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, David Carlisle | Thread | RE: [xsl] Result still indented des, Pieter Reint Siegers |
RE: [xsl] Mal-formed HTML within XM, Maria Amuchastegui | Date | RE: [xsl] Mal-formed HTML within XM, Michael Kay |
Month |