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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Updating document with SAX

[ Lists Home | Date Index | Thread Index ]

I'm still trying to invent some lightweight helper-routines
for updating and binding data using SAX (I'm bit behind my time ;-) ).
I'm not calling this random access update anymore since it's more like 
forward-only cursor
update or something (if somebody has seen my previous posting "sax random 
access update"
  - which was really crappy idea).

But anyway, I've fixation about doing two passes (with serializing) on xml 
document (or using
intermediate temp document, whatever you call that) and I'm thinking it 
would still
be more effective (if optimized properly) than doing DOM processing for 
example.

Here's some pseudo code with some explanations:

the aim is to get book Effective XML and modify its title, xpath would be:
"/books/book[@title='Effective XML']"

getbook(uri, localname, qname, atts, isStartTag)
// this will be called in first pass for binding data
{
     if (isStartTag && equals(atts[0].value, "Effective XML")) {
         new book();
         book.title = atts[0].value;
         book.author = atts[1].value;
     }
     // drop update-namespaced action item here, might even call serializer
     // (setbook here) if some "later" conditions aren't met
}

setbook(item)
// this will be called in second pass for serializing altered node
{
     print("<book title=\"%s\" author=\"%s\"/>", item->title, item->author);
}

main()
{
     xmlupdate.addbinding("/books/book", getbook);
     parse();
     // modify book:
     book.title = "Effective XML update";

     xmlupdate.resetbindings();
     xmlupdate.flush(); // do second pass resolving update items
}

original document:
<books>
     <book title="inside networks" author="Bill Bream"/>
     <book title="Effective XML" author="Elliotte Rusty Harold"/>
</books>

document after first pass:
<books xmlns:xmlupdate="www.xmlupdaterules.org">
     <book title="inside networks" author="Bill Bream"/>
     <xmlupdate:action item="#98239823" event="#92389239"/>
     <!-- item is pointer/binding to book, event is pointer to setbook -->
</books>

comments?

with respect,
Toni Uusitalo

"And I wish that I was made of stone
So that I would not have to see
A beauty impossible to define
A beauty impossible to believe"
- Nick Cave (Brompton Oratory) - romanticist?

"There are lots of myths that people have around issues of beauty and 
attraction, and part of the issue is to stop thinking about things in terms 
of myth, but to use the tools of neuroscience, and start dissecting and 
understanding how things actually function," said Dr. Hans Breiter, a 
psychiatrist and co-author of the study."
- The Brain Is Stimulated by Beauty, Study Finds - abcnews.com - scientist?







 

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

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