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/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--