Confusion while implementing the DOM.
Miles Sabin
msabin at cromwellmedia.co.uk
Wed Jun 2 13:55:24 BST 1999
Andrew Douglas wrote,
<snip/>
> <root>
> <elone>Hello</elone>
> <eltwo>Goodbye</eltwo>
> <elone>Gutten Adbend</elone>
> <eltwo>Aufwiedersehen</eltwo>
> </root>
>
> My underlying structure looks like this
>
>
> opentag(root)
> |
> zomcontent
> |-----------+-----------------|
> sequence sequence
> |------+-----| |------+-------|
> opentag(elone) opentag(eltwo) opentag(elone) opentag(eltwo)
> | | | |
> text text text text
>
> Not suprisingly, it looks like a tree! So, all these
> things can be Nodes, but not all are Elements (opentags
> are) -- some are probably DocumentFragments(zomcontent,
> sequence, ...).
>
> So, my DOM implementation has the usual first/last
> Child, getChildNodes, get Next/Previous siblings, and
> so on, but sometimes these children aren't Elements,
> but are DocumentFragements.
Ahh ... no, I'm afraid that's not quite right. The DOMs
idea of the structure of your document would be,
Document doc
Element root == doc.getDocumentElement()
Element elone == root.getFirstChild()
Text Hello == elone.getFirstChild()
Element eltwo == elone.getNextSibling()
Text Goodbye
Element elone
Text Gutten Adbend
Element eltwo
Text Aufwiedersehen
A Document *never* has a DocumentFragment amongst its
children: the latter exist solely to provide a
lightweight holder for Nodes which are _owned_by_, but
not _part_of_ a given Document.
Note that all Nodes that are created on a particular
Document (eg. via Document.createElement()) are always
owned by that Document (and so can't be pasted into a
different doc), but don't become part of it until they're
explicitly added (eg., via someNode.appendChild()).
I hope that helps a bit ...
Cheers,
Miles
--
Miles Sabin Cromwell Media
Internet Systems Architect 5/6 Glenthorne Mews
+44 (0)181 410 2230 London, W6 0LJ
msabin at cromwellmedia.co.uk England
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list