xsl-list
[Top] [All Lists]

Re: Unable to get text() of node

2006-01-23 04:46:30
A <xsl:copy-of select="."/> will select the concatenated text of all
descendant text-nodes in document-order; note the additional "don't" in
the result:

<output>"Johnny
    don't
    B.
    Good
"</output>

No, copy-of literally copies the selected nodes. If you select text(), it copies all text child nodes of the current node. If you select ., it copies the current node itself, including its start and end tag and all it's descendants, resulting in:

<output>"<foo>Johnny
    <bar>don't</bar>
    B.
    <bar/>Good
</foo>"</output>

MSXML does strip such whitespace text-nodes by _default_. So one might
want to use <xsl:strip-space elements="*"/> for compatibility with
the MSXML-XSLT engine.

Or just use <xsl:preserve-space elements="*" /> when using MSXSL to make it comply with the other parsers.. :-)

Kind regards,
Geert

--~------------------------------------------------------------------
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>
--~--