Module
urn:org:ten60:netkernel:ext:xml:core
Interface
org.ten60.netkernel.xml.representation.IAspectXDA
Class
org.ten60.netkernel.xml.representation.DOMXDAAspect
Purpose
XDA was developed by 1060 Research to provide a number of convenient XPath operations including iterators.
The org.ten60.netkernel.xml.xda
package (Javadoc)
in the ext_xml_core
module contains an XPath based API for processing XML. It is a compromise between
a low-level XML API and a fully declarative approach to XML processing.
The philosophy of the XDA API is to use XPath expressions as the addressing model for
low-level document manipulation operations. This is very convenient for rapid development
and allows code to be much more readily modified and maintained when changes to the XML data
model are made. In addition the XDA XPath model supports iterators, which allows iterations
over a sub-tree to be performed.
IXDAReadOnly
The XDA API is two-part. The IXDAReadOnly interface allows XDA objects to be interogated
but not changed.
Abstraction
The XDA API is abstracted from any underlying document object model. It is initially implemented on top of
DOM with the DOMXDA implementation. Other implementations on alternative document models
such as JDOM or even SAX (though this might be expensive!) could be developed.
Iterators
Iterators over an XML document can be created. An iterator is generally created
with an XPath that targets multiple locations. The iterator then can be used to
iterate over those locations. Take care to use relative XPath locations for
any operations using the iterator since you should should not operate on Nodes that are part of
the iterating set.
The
STM language runtime is a high-level declarative
transform language implemented on top of XDA.