[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: ANN: Amara XML Toolkit 0.9.2
On Jan 12, 2005, at 4:36 PM, Uche Ogbuji wrote: > * Add binderytools.pushbind. This one deserves some elaboration. > > The following is complete code for iterating through address labels in > an > XML document, while never loading more memory than needed to hold one > label > element: > > from amara import binderytools > for subtree in binderytools.pushbind('/labels/label', > source='labels.xml'): > print subtree.label.name, 'of', subtree.label.address.city > Very handy! FYI, analog example Java code for the current Nux version reads as follows: StreamingTransform myTransform = new StreamingTransform() { public Nodes transform(Element subtree) { System.out.println(XQueryUtil.xquery(subtree, "name").get(0).getValue()); System.out.println("of"); System.out.println(XQueryUtil.xquery(subtree, "address/city").get(0).getValue()); return new Nodes(); // mark current element as subject to garbage collection } }; Builder builder = new Builder(new StreamingPathFilter("/labels/label", null).createNodeFactory(null, myTransform)); builder.build(new File("labels.xml")); It's not as compact as with Amara, but still quite handy...
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|