[xquery-talk] replacing a node in in-memory XML
Wolfgang Meier
wolfgangmm at gmail.com
Tue Nov 6 16:31:21 PST 2007
Hi Robert,
> I am trying to figure out the best way to replace a node within an in-memory
> XML fragment.
I really like to use the typeswitch statement for things like this:
declare function t:replace($node as node()) as node() {
typeswitch ($node)
case $elem as element(services) return
<services>
<service value="false">1</service>
<service value="true">2</service>
<service value="false">3</service>
</services>
case $elem as element() return
element { node-name($elem) } {
$elem/@*, for $child in $elem/node() return t:replace($child)
}
default return $node
};
t:replace(doc("test.xml")/*)
Wolfgang
More information about the talk
mailing list