DOM Traversal was not yet updated to meet our new requirements for robust specifications so over the past couple of days I attempted doing that. The result can be read in:

http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#traversal

I fixed a number of issues with the old specification and included some suggestions from this list. This is a rough summary of what has changed apart from the new way of defining these features:

* The entityReferenceExpansion from the constructor methods is gone. As is the expandEntityReferences attribute. Nobody does entity reference nodes.

* acceptNode() now uses unsigned short.

* The constructor method arguments except for the first argument are now optional. whatToShow defaults to SHOW_ALL (in WebKit it currently defaults to 0 which is rather useless).

* Instead of throwing a NOT_SUPPORTED_ERR when the first argument is null it lets Web IDL decide what should be done there by not using the ? syntax in the IDL.

* Recursive invocation (i.e. from the filter) is prohibited and throws INVALID_STATE_ERR as is already the case in Opera and Gecko. (WebKit does not always do it.)

* The proprietary attributes referenceNode and pointerBeforeReferenceNode on NodeIterator as found in WebKit and Gecko have been added.

I included it in DOM Core because all the terminology is shared and the constructor methods for NodeIterator and TreeWalker are on Document.

Feedback very much appreciated!


--
Anne van Kesteren
http://annevankesteren.nl/

Reply via email to