XML_CLONE_AND_RENAME
Script function: Duplicates and renames an XML element.
Syntax
XML_CLONE_AND_RENAME(Element, Name)
Syntax part |
Description/format |
---|---|
Element |
Reference to the element that should be duplicated. |
Name |
New name of the duplicated element |
Return code |
---|
Reference to the new, duplicated element. |
Notes
The script element duplicates an element of the XML document that is open (see script element XML_OPEN) and renames it. The duplicated element has to be appended to an element using the script function XML_APPEND_ELEMENT
XML_CLONE_AND_RENAME duplicates the element but does not add it to any element. Use XML_APPEND_ELEMENT to append the duplicated element as subnode to another element.
All subordinate elements and values are taken into consideration during duplication.
The script element only copies the XML structure that is stored in the memory. The Documentation tab is not affected.
Please note that spaces are not permitted in the element name and lead to a runtime error.
Example
In the following example, the structured Documentation tab is opened and the 'SubChild3' element that is located in the 'Child2' parent element is duplicated with the name 'New_Element'. The sub-elements from 'Child2' will then be written in the activation report.
:SET &XMLDOCU#=XML_OPEN(DOCU,,"@Details")
:IF &XMLDOCU# <> ""
:SET &TOCLONE# = XML_SELECT_NODE(&XMLDOCU#,"Child2/SubChild3")
:SET &CLONECHILD# = XML_CLONE_AND_RENAME(&TOCLONE#,"New_Element")
:SET &PARENT# = XML_SELECT_NODE(&XMLDocu#, "Child3")
:SET &RET# = XML_APPEND_ELEMENT(&PARENT#, &CLONECHILD#)
:SET &ELEMENT# = XML_GET_FIRST_CHILD(&PARENT#)
:WHILE &ELEMENT# <> ""
: SET &NAME# = XML_GET_NODE_NAME(&ELEMENT#)
: P 'Element: &NAME#'
: SET &ELEMENT# = XML_GET_NEXTSIBLING(&ELEMENT#)
:ENDWHILE
:ENDIF
:XML_CLOSE &XMLDOCU#
The following rows are then available in the activation log:
2013-08-14 13:32:27 – U0020408 Element: SubChild3
2013-08-14 13:32:27 – U0020408 Element: New_Element
See also:
Script element | Description |
---|---|
XML_OPEN | Opens an XML document for processing. |
:XML_CLOSE | Closes an XML document. |
Script Element – Reading or Modifying Objects
Examples
Determining the Error Message and Number
About Scripts
Script Elements – Alphabetical Listing
Script Elements – Ordered by Function