[
Lists Home |
Date Index |
Thread Index
]
Oops. I forgot the "access" property of the flat interface...
| Iterator {
| Node next();
| }
|
| Node {
| Type type(); // Text, Element, Comment, PI
| Iterator children(); // Only works for elements
| String value(); // Returns value as defined by DOM.
| String name();
Access access(); // Returns the node's current accessability,
// this can be:
// RANDOM:
// The children() and value()
// functions may be called
// as many times as necessary.
// SEQUENTIAL:
// The children() or value()
// function may be called
// exactly once. After the
// call, the access level
// drops to inaccessable.
// INACCESSABLE:
// The children() and value()
// functions will throw the
// NotAccessable exception
// if they are called.
| };
|
| The only "catch" with this interface, is that particular
| functions may throw the NotAccessable() error when their
| content has been skipped and the iterator is over a
| sequential access medium. Once you get use to this
| paradigm the nested iterator becomes very simple,
| intutitive, and it blends in nicely with XSLT node-sets, etc.
|
| The above interface is very similar to the "C" call
| level interface for YAML and I've been using a Python
| equivalent for some time with great success.
|
| Best,
|
| Clark
|
|
| --
| Clark C. Evans Axista, Inc.
| http://www.axista.com 800.926.5525
| XCOLLA Collaborative Project Management Software
|
| -----------------------------------------------------------------
| The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
| initiative of OASIS <http://www.oasis-open.org>
|
| The list archives are at http://lists.xml.org/archives/xml-dev/
|
| To subscribe or unsubscribe from this list use the subscription
| manager: <http://lists.xml.org/ob/adm.pl>
|
--
Clark C. Evans Axista, Inc.
http://www.axista.com 800.926.5525
XCOLLA Collaborative Project Management Software
|