Lazy evaluation is perfectly OK in the DOM, which says absolutely nothing
about the physical representation of a Node, e.g. it does not say that a
Node must have a pointer, merely that it be able to return a reference to
the root. Every Node must be capable of returning such a pointer when
asked, but until someone asks for the root node, there is no need to
construct such a node. Similarly, a Node must be able to return references
to parent or child nodes, but those nodes need not be constructed until the
reference is asked for.
Jonathan
jonathan@texcel.no
Texcel Research
http://www.texcel.no