From: Safarnejad, A. (AFIS) <Ali...@fa...> - 2005-01-31 09:52:35
|
Thanks for the tip Wolfgang! This solves the problem. However, is this a solution, or a workaround? I mean, why must the xupdate have be modified because of the document's namespace. If I were aplying an xsl to my document, I wouldn't have to modify it, because of the document's namespace. So why does the xupdate have to be? Thanks ali From: Wolfgang Meier <wolfgang@ex...> > When I store a document with a default namespace (i.e. <ROOT > xmlns="http://abc.com/somenamespace"></ROOT> <http://abc.com/somenamespace> ) on the root node, I cannot > xupdate it (no errors, just fails). For the xupdate to work, specify a namespace prefix in the xupdate element and use this prefix within the select: <xu:update xmlns:t="http://abc.com/somenamespace" <http://abc.com/somenamespace> select="/t:ROOT"> Hello World! </xu:update> I tested this with the latest snapshot version. Wolfgang |
From: Wolfgang M. <wol...@ex...> - 2005-01-31 22:01:43
|
> Thanks for the tip Wolfgang! This solves the problem. > However, is this a solution, or a workaround? I mean, why must the > xupdate have be modified because of the document's namespace. If I were > aplying an xsl to my document, I wouldn't have to modify it, because of > the document's namespace. So why does the xupdate have to be? The namespace has to be declared somewhere, because the XPath engine needs to know that ROOT has a non-empty namespace. In xsl, you would probably declare the namespace at the top of the stylesheet. However, you should be able to use the default namespace: <xu:update xmlns="http://abc.com/somenamespace" select="/ROOT"> Hello World! </xu:update> but it seems the default namespace declaration is not passed to the query engine. At least, it didn't work in my test. I have to check why... Wolfgang |