In XmlTree, there are now 2 pointers to the root node of the tree: theRootNode and theTreeInfo->theRoot.
Also, theTreeInfo should be an embeded instance of CollectionTreeInfo, instead of being allocated every time an XmlTree is constructed.
There is already an Item::isInSubtreeOf() method at the store API. Currently, this method applies to AnyURI items only. I think it should be extended to apply to structured items as well, and then the StructuredItem::isInSubtree() should be removed. This will make things consistent with the isAncestor, isChild, etc. methods, which apply to both AnyURI items and nodes.
In XmlTree, there are now 2 pointers to the root node of the tree: theRootNode and theTreeInfo- >theRoot.
Also, theTreeInfo should be an embeded instance of CollectionTreeInfo, instead of being allocated every time an XmlTree is constructed.
There is already an Item::isInSubtr eeOf() method at the store API. Currently, this method applies to AnyURI items only. I think it should be extended to apply to structured items as well, and then the StructuredItem: :isInSubtree( ) should be removed. This will make things consistent with the isAncestor, isChild, etc. methods, which apply to both AnyURI items and nodes.