[jdom-interest] Consuming elements while parsing
Laurent Bihanic
laurent.bihanic at atosorigin.com
Tue Aug 14 08:30:53 PDT 2001
Hi,
Attached is an XMLFilter that allows an application to consume JDOM elements
just after they've been built, while the parsing is ongoing.
Applications use it by registering listeners (ElementListener) associated to
an XPath expression to select the elements they are interested in. Currently,
the XPath support is trivial and based on the Jakarta RegExp regular
expression matcher rather than a real XPath engine (maybe the jaxen.org team
may enhance that ;-) )
Example:
ElementFilter f = new ElementFilter();
f.addElementListener(new MyImpl(), "x//y"); // All descendants of x named y
f.addElementListener(new MyImpl(), "y/*/t"); // All grandchilden of y named t
ElementListener l = new MyImpl2();
f.addElementListener(l, "/*"); // Root element
f.addElementListener(l, "z"); // Any node named z
f.parse(new InputSource("test.xml"));
For more details, see the JavaDoc comments and the example class.
The aim is not to have faster parsing than provided by SAXBuilder but to be
able to process large documents without loading them in memory, such as log
files. Of course, if you select only a small subset of the document content,
the parsing is faster!
Warning: Using this filter requires the "extended" version of SAXHandler
previously posted and the jakarta-regexp-1.1.jar (available in jdom-contrib\lib).
Feedback wanted !
Laurent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ElementFilter.jar
Type: application/x-java-archive
Size: 17730 bytes
Desc: not available
Url : http://jdom.org/pipermail/jdom-interest/attachments/20010814/0584ca1f/ElementFilter.bin
More information about the jdom-interest
mailing list