tags:

views:

47

answers:

3

I'm reading in an XML file using XQuery and want to insert several nodes/elements and generate a new XML file. How can I accomplish this?

I've tried using the replace() function, but, it looks like all my XML tags are being stripped when I call doc() to load my document. So calling replace() isn't any good if my XML tags are being removed.

Any help? Are there other technologies I can use?

A: 

It would be useful to know what XQuery implementation you are using.

TjeerdB
A: 

replace() is a string operation, so the XML will be converted to a string before replacement.

To create a modified copy of the original file, you can modify an identity transformation which recursively copies the original file to insert the new nodes where required - see the article in the XQuery Wikibook

Alternatively if the file is in an XML database such as eXist, you can use update operations to insert elements in situ.

Chris Wallace