[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Updating document with SAX


modifying xml using sax
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?




PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.