copynode
copynode |
Purpose
Synopsis
function copynode(src:xmldoc, s:integer, dst:xmldoc, d:integer, where:integer):integer
Arguments
src
|
Document of node to be copied
|
||||||||||
s
|
Number of the node to copy
|
||||||||||
dst
|
Destination document
|
||||||||||
d
|
Node number where to attach the new node in the destination document
|
||||||||||
where
|
How to attach the copy of the source node to the node
d:
|
Example
The following code extract shows how to move (copy node, then delete original) and edit a node with all its descendants
declarations DB: xmldoc APAC, NewPers, Pers: integer end-declarations ! Retrieve destination region node APAC:= getnode(DB, "personnelList/region[@id='APAC']") ! Retrieve employee record (node) for 'Lisa' Pers:= getnode(DB, "personnelList/region/employee/name[string()='Lisa']/..") ! Employee Lisa moves to Delhi: copy node & delete in original location NewPers:= copynode(DB, Pers, DB, APAC, XML_LASTCHILD) delnode(DB, Pers) ! Update the 'address' information setvalue(DB, getnode(DB, NewPers, "address"), "Delhi")
Further information
This routine copies the node as well as all of its descendants if it is an
element node. Source and destination documents may be the same.
Related topics
Module