[xquery-talk] Changing the content of an XML document
Piewald, Georg
georg.piewald at siemens.com
Tue Sep 2 10:59:18 PDT 2008
> Wolfgang [mailto:wolfgang at exist-db.org] wrote:
>
> > This means, in the script I load the XML file into a
> > local variable using the doc() function and return the result to the
> > client.
> >
> > But now, occationally some of the content of the file has
> to be altered.
>
> I'm not sure I completely understand the question. Is the document
> stored in the db or do you load it from the filesystem? And
> do you only
> need to temporarily change some content of that file (in which case I
> would probably call an XSLT) or permanently (use XQuery
> update extensions)?
Actually I can reduce my question to the following: Assuming I have a
variable which stores a node-tree like that
let $tree :=
<node>
<subnode>
some text
</subnode>
</node>
In reality $tree is the entire XML file which I want to send back to the
client. Now, depending on some conditions I want to change the content
of <subnode> "some text" to "some other text", before sending it. I
don't actually want to alter the file in the database, just the message
that I'm sending.
If I placed the XML-file inside the script, I would write something like
<node>
<subnode>
{
if ($condition)
then "some text"
else "some other text"
}
</subnode>
</node>
But since I have a couple of not too small XML files I fear that this
will get a bit overcrwoded.
Do you understand what I mean?
Best,
Georg
More information about the talk
mailing list