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

From
Dimitre Novatchev <>
To
Roger L Costello <>
Date
2022-02-08T02:00:16Z
ID
<>
Thread
Re: [xml-dev] How many text nodes in this element with a CDATA section?
Hi Roger,

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

Just throw away this so-called "tool"  ; it is obviously buggy!

Try this in both BaseX and Oxygen and you will get correct results:

let $doc := parse-xml("<Test>
    <![CDATA[blah]]>
</Test>")
  return
   (
     $doc/Test/count(text()),
     """" || $doc/Test/text() ||  """"
   )


Cheers,
Dimitre

On Mon, Feb 7, 2022 at 4:05 PM Roger L Costello <[email protected]> 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: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :)
-------------------------------------
Sanity is madness put to good use.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.