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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: We need an XPath API

Hi Robin,

Robin said:
We could tell people that a query is a snapshot of the tree at the moment
at which it is taken. Sounds simple but the problem is in that case in
order to be consistent the Nodes should be clones of the ones in the tree
lest they be live even if the list isn't. And if clones, then in order to
be useful they ought to be deep clones. I can hear those boxes swapping
from here.

Didier replies:
Indeed, For xslt processors this is not a problem since they extract nodes
to build a new infoset. The problem may occur with an xinclude engines that
modifies an infoset structure. In fact, the problem happens if more than one
processor simultaneously accessing the same data structure. In this case, we
usually have a lock mechanism. Take for instance the relational data bases,
they do not allow you to have two agents to modify the data at the same
time. We simply say that the system tries to keep some "data integrity" and
therefore let one agent to lock access to part of the data base for

So, if more than one user need to access the same infoset at the same time,
we will probably need a lock mechanism. The possible algorithms would be

1 - perform query - with a lock on the infoset
2 - perform some operation on the infoset fragment
3 - release the info set

The circumstances when this would be needed is probably when we have several
simultaneous clients modifying a single info set. This is quite
sophisticated and not very obvious. I would focus at first on a mechanism
allowing several modules in a processing pipeline to share the same infoset.
Because a processing pipeline has processors doing some processes at
different time, then, locking the infoset is unnecessary. This said, your
point is well taken and obviously necessary for a shared infoset like we
would have with an XML infoset store. More than one agent may change its
content at the same time, therefore, locking mechanism or structural
integrity has to be maintained.

Didier PH Martin
Email: martind@netfolder.com
Conferences: xml devcon 2000 (http://www.xmldevcon2000.com)
		 Wireless Summit NY (http:www.pulver.com)
	       xml devcon 2001 London (http://www.xmldevcon2000.com)
Book: XML Professional (http://www.wrox.com)
column: xml.com (http://www.xml.com)