[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: text() handling
> 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/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|