xsl-list
[Top] [All Lists]

Re: Unable to get text() of node

2006-01-23 04:51:58
Hi,

On Mon, 2006-01-23 at 12:46 +0100, Geert Josten wrote:
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>

True, I had that wrong.

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.. :-)

Ah, good to know - thanks!

Regards,

Kasimier

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