[xml] XPath/Document concurrency issue
- From: Belgabor <belgabor gmx de>
 
- To: xml gnome org
 
- Subject: [xml] XPath/Document concurrency issue
 
- Date: Sat, 23 Feb 2008 03:05:27 +0100
 
Hi everybody,
I have a strange problem which I can only describe as a concurrency 
issue between the (xml) document content and the results I get from 
XPath queries. I'm working on a project where I plan to use the 
Model/Controller/View architecture, the model being a parsed xml tree 
and read/write access to it is mainly done via XPath queries. Therefore 
I'm quite worried by this issue.
Here's what I do:
- Read xml document
- Create an XPath context (xmlXPathNewContext)
- Run a query (xmlXPathEvalExpression), getting a result node
- Create a new node (xmlNewNode), set content (xmlEncodeSpecialChars, 
xmlNodeSetContent)
- Add new node as child to the result node (xmlAddChild)
Later:
- Create an XPath context (xmlXPathNewContext) with the same document
- Run a query (xmlXPathEvalExpression) which checks for the content of 
the node added above in a predicate.
- Get no result.
The curious thing is (and the reason why I bring it here rather than 
think it's an issue of the c++ wrapper around libxml2 I wrote) that 
after I save the document to disk and reload it, everything works as 
expected. The constructed XPath queries are identical before and after 
the save/reload, so I also don't think it's an issue elsewhere in my code.
I sincerely hope someone can help me with this issue as working around 
it could get awkward as the complexity of my application grows.
Cheers
Tobias
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]