Hi Anton,
At 08:39 AM 10/20/2004, you wrote:
As you have it, you are doing string operations on the entire paragraph
text which means that any element markup within the paragraph will be
lost.
There's another problem. I thought "//text()[1]" would give "the first
text node (inside that first paragraph) however deeply nested in any
markup". But instead, it seems to return the first text node of *all* the
nested markup.
That's correct. The expression expands to (long syntax):
/descendant-or-self::node()/child::text()[1]
that is, it selects all the text nodes that are the first child of their
respective parents.
You want either:
(//text())[1]
(collects all the text nodes, returns only the first)
or
/descendant::text()[1]
(returns the first descendant text node).
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================