Subject: RE: [xsl] text() handling From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 14 Jan 2005 18:35:56 -0000 |
> The normalize-space function returns the argument string with > whitespace normalized by stripping leading and trailing whitespace and > replacing sequences of whitespace characters by a single space. > Whitespace characters are the same as those allowed by the S > production in XML. If the argument is omitted, it defaults to the > context node converted to a string, in other words the string-value of > the context node. > > It looks like XPath 2.0 working draft keeps to this definion. > Yes, except that normalize-space(child::text()) in 1.0 discards all except the first text node, so if you apply it to <a>very <!-- note well --> odd</a> the result is "very". In 2.0 it's a type error to apply the function to a sequence of more than one item, so you have to decide whether you really wanted this behavior, in which case you write it as: normalize-space(child::text()[1]) or whether you perhaps meant normalize-space(string-join(child::text(), " ")) which gives you "very odd". Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] text() handling, Jon Gorman | Thread | RE: [xsl] text() handling, Ross, Douglas |
RE: [xsl] text() handling, Michael Kay | Date | Re: [xsl] binary XML, António Mota |
Month |