Next in thread → Next in month →

Re: [xml-dev] ANN: Amara XML Toolkit 0.9.2

From
Wolfgang Hoschek <>
To
Uche Ogbuji <>
Date
2005-01-16T19:47:05Z
ID
<>
Thread
Re: [xml-dev] 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...
Next in thread → Next in month →