OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

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

[ Lists Home | Date Index | Thread Index ]

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...





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS