Re: [xml-dev] How many text nodes in this element with a CDATA section?

From
Michael Kay <>
To
Roger L Costello <>
Date
2022-02-08T00:33:12Z
ID
<>
Thread
Re: [xml-dev] How many text nodes in this element with a CDATA section?
In the XDM model the content of the Test element is a single text node. XDM does not allow two adjacent text nodes.

There are certainly XPath implementations, especially those running against a DOM, that get this wrong. You seem to be running against an implementation that has "cdata-section" nodes, which do not exist in XDM.

Michael Kay
Saxonica

> On 8 Feb 2022, at 00:05, Roger L Costello <> wrote:
> 
> Hi Folks,
> 
> Consider this <Test> element which contains whitespace, a CDATA section, and then more whitespace:
> 
> <Test>
>    <![CDATA[blah]]>
> </Test>
> 
> What is the content of the <Test> element? Is it:
> 
> (a) A sequence of three strings: ("NL   ", "blah", "NL")
> 
> (b) A single string: "NL   blahNL"
> 
> I executed the following XPath expression to count the number of text nodes in the <Test> element:
> 
> 	/Test/count(text())
> 
> that returned:
> 
> 	1
> 
> Then I executed this XPath expression to show the text() node in the <Test> element:
> 
> 	/Test/text()
> 
> that returned three items:
> 
> 	"NL   "		/Test[1]/text()[1]
> 	"blah"  		/Test[1]/cdata-section()[1]
> 	"NL"		/Test[1]/text()[2]
> 
> Yikes!
> 
> The XPath results are contradicting each other, right?
> 
> I'm confused. What is the content of the <Test> element: a single string "NL   blahNL" or a sequence of three strings ("NL   ", "blah", "NL")
> 
> /Roger
> 
> 
> 
> 
> _______________________________________________________________________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: 
> subscribe: 
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>