RE: [xml] xmlNodeGetContent() completely recursive?
- From: "Henke, Markus" <Markus_Henke ordat com>
- To: "'xml gnome org'" <xml gnome org>
- Cc: "'veillard redhat com'" <veillard redhat com>
- Subject: RE: [xml] xmlNodeGetContent() completely recursive?
- Date: Wed, 24 Oct 2001 10:14:17 +0200
Hi Daniel,
-----Original Message-----
From: Henke, Markus
Sent: Monday, October 22, 2001 4:39 PM
To: 'xml gnome org'
Cc: 'veillard redhat com'
Subject: RE: [xml] xmlNodeGetContent() completely recursive?
-----Original Message-----
From: Daniel Veillard [mailto:veillard redhat com]
Sent: Monday, October 22, 2001 3:47 PM
To: Henke, Markus
Cc: 'xml gnome org'
Subject: Re: [xml] xmlNodeGetContent() completely recursive?
On Mon, Oct 22, 2001 at 03:25:25PM +0200, Henke, Markus wrote:
But there's one problem: The behavior of xmlNodeGetContent() is
"completely" recursiv,
that is, it aggregates not only the child (TEXT and
ENTITY_REF) nodes but
also the
grandchild nodes, the grand-grandchild nodes etc.
So, if i call xmlNodeGetContent() on a root element, i'll
get an aggregation
of all TEXT
nodes enclosed by the document.
Well, i think this behavior is "by design", but is there a
similar method
yes
that provides
only the aggregation of the 1st generation (TEXT- and
ENTITY_REF-) child
nodes of a given node?
no, simply walk the node "children" list and call
xmlNodeGetContent()
on the elements you want to pick.
What a pity. Won't work for me...
Nonsense, for sure it'll work.
Just got it completely wrong. Silly me... 8]
From a structured document perspective and since you seems to have
mixed content,
text <child A> text2 <child B> text3
Yep, possible scenario.
Extracting a concatenation of text + text2 + text3 without
the content of the node children really makes little sense.
Depends.
Another point: If i make a complete parse of an unknown document
structure (without DTD), e.g.:
<root><child><grandchild>Grandchild's
content<grandchild/><child/><root/>
(no mixed content!),
does it make sense to get "Grandchild's content" when i call
xmlNodeGetContent(root)?
Wouldn't it be useful to have a method that provides
xmlNodeGet???(root)= "",
xmlNodeGet???(child)= "",
xmlNodeGet???(grandchild)= "Grandchild's content"?
I'm tempted to say that
your DTD is not well designed if you have to do this.
Granted. And if it would be "MY" DTD, i won't allow mixed
content at all.
But in fact i've to deal with several kind of documents,
potentially without DTD/validation and without influence
on the potential structure.
Daniel
Thanx & Ciao, Markus
--
Daniel Veillard | Red Hat Network
http://redhat.com/products/network/
veillard redhat com | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]