Re: [xml] Pointers in a struct _xmlNode for entities

On Tue, Aug 05, 2003 at 02:46:02PM +0000, Dave Malcolm wrote:
I have a question about the internal representation of entities in a
tree built by libxml2.

Assuming I've got entity substitution turned off, am I right in thinking
the following?
(i) below my XML_DTD_NODE I will have various XML_ENTITY_DECL nodes,
with the declaration as "children", and these children having a "parent"
pointer back to the XML_ENTITY_DECL node.

The DTD also have an entity hash table allowing quick lookup
without scanning the full DTD.

(ii) within the body of the document, I will have XML_ENTITY_REF_NODE
nodes of which the "children" and "last" pointers will point to the
first and last children of the XML_ENTITY_DECL node.


(iii) hence, for the XML_ENTITY_REF_NODE nodes, the relation
(node->children->parent != node) holds.

  in general yes

Or have I misunderstood?  Thanks in advance! (I'm about to write some
complex GUI code that allows users to edit entities in-place and have
all references auto-update visually, and I want to be sure of the
implementation details)

  That's the expected handling, the goal was to be able to have a
single tree structure for all entities refernces, specifically for
editing purposes. The big bad drawback is entities with namespaces
where the namespace prefix is not defined within the entity like
then the meaning of foo becomes contextual and this can lead to a
big bad mess...

Daniel Veillard      | Red Hat Network
veillard redhat com  | libxml GNOME XML XSLT toolkit | Rpmfind RPM search engine

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]