[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]