xsl-list
[Top] [All Lists]

Re: [xsl] Novice Question - matching entire text children

2010-12-20 08:20:09
In principle, an element node is not allowed to have two adjacent text node children, so unless there are comments or processing instructions breaking up the text, it should be delivered as a single node.

However, DOM does allow adjacent text nodes, and some processors work on a DOM tree as input, and I suspect some processors do not always amalgamate adjacent text nodes as they should.

In any case, it's a good idea to make sure that your code still works if someone puts a comment in the middle of the text, so it's best not to assume that all the text of an element is in a single node. Usually the best way of doing that (unless you are dealing with mixed content) is to use the string-value of the element node, rather than its text node children.

Michael Kay
Saxonica

On 20/12/2010 13:09, David Lee wrote:
XSLT 2.0
I have a problem (probably my own misuse of XSLT) but I run into cases where

<xsl:template  match="NODE/text()">
…
</xsl:template>

can match more then once in a row.   I have not debugged this yet to
determine if something more complex is really the culprit (probably is),
and the text nodes matched seem to be whitespace  " \n\t .."
But before I really start digging maybe someone could tell me offhand what
the *expected* behaviour is ?

If I have an element lik
                 <ELEM>
   some

Text
Here</ELEM>


is
<xsl:template  match="NODE/text()">

*supposed* to be called once and only once with the entire text children or
is it possible that it is called multiple times with chunks of data as the
processer sees fit. ?

I know just enough to hurt myself by knowing that in various data models
the CHARACTERS (aka text()) can be arbitrarily chunked but I don’t know (or
know where to look) to answer the above definitatively …

Thanks for any suggestions



----------------------------------------
David A. Lee
dlee(_at_)calldei(_dot_)com
http://www.xmlsh.org




----------------------------------------
David A. Lee
dlee(_at_)calldei(_dot_)com
http://www.xmlsh.org



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




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