Subject: Re: Unable to get text() of node
From: Kasimier Buchcik <K.Buchcik@xxxxxxxxxxxx>
Date: Mon, 23 Jan 2006 12:51:58 +0100
|
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
|