DOM Append XML child node
DOM Append XML child node ( refElemento ; tipoFilho ; valorFilho ) -> Resultado
Parâmetro | Tipo | Descrição | |
---|---|---|---|
refElemento | Text | → | elemento de referência XML |
tipoFilho | Integer | → | Tipo de filho a anexar |
valorFilho | Text, Blob | → | Texto ou variável (texto ou BLOB) cujo valor deve ser inserido como um nodo filho |
Resultado | Text | ← | Refência do elemento filho XML |
Descrição
O comando DOM Append XML child node se utiliza para anexar o valor valorFilho ao nodo XML designado por refElement.
O tipo de nodo criado é especificado pelo parâmetro tipoFilho. Neste parâmetro se pode passar uma das seguintes constantes, do tema "XML":
Constante | Tipo | Valor |
---|---|---|
XML CDATA | Inteiro longo | 7 |
XML comment | Inteiro longo | 2 |
XML DATA | Inteiro longo | 6 |
XML DOCTYPE | Inteiro longo | 10 |
XML ELEMENT | Inteiro longo | 11 |
XML processing instruction | Inteiro longo | 3 |
Em valorFilho, passe os dados a inserir. Passe uma string ou uma variável 4D (string ou BLOB). O conteúdo deste parâmetro sempre será convertido em texto.
Nota: se o parâmetro refElement determina o nodo Document (nodo de nivel superior), o comando insere um nodo "Doctype" antes de qualquer outro nodo. O mesmo ocurre com as instruções de processamento e os comentários, que sempre são inseridos antes do nodo raiz (mas depois do nodo Doctype).
Exemplo 1
Adição de um nodo de tipo texto:
Reference:=DOM Create XML element(refElement;"myElement")
DOM SET XML ELEMENT VALUE(Reference;"Hola")
temp:=DOM Create XML element(Reference;"br")
temp:=DOM Append XML child node(Reference;XML DATA;"Nueva")
temp:=DOM Create XML element(Reference;"br")
temp:=DOM Append XML child node(Reference;XML DATA;"York")
Resultado:
<myElement>Olá<br/>Nova<br/>York</myElement>
Exemplo 2
Adição de um nodo de tipo instrução de processo:
$Txt_instruction:="xml-stylesheet type = \"text/xsl\" href=\"style.xsl\""
Reference:=DOM Append XML child node(elementRef;XML Processing Instruction;$Txt_instruction)
Resultado (inserido antes do primeiro elemento):
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
Exemplo 3
Adição de um nodo de tipo comentário:
Reference:=DOM Append XML child node(elementRef;XML Comment;"Olá mundo")
Resultado:
<!--Olá mundo-->
Exemplo 4
Adição de um nodo de tipo CDATA:
Reference:=DOM Append XML child node(elementRef;XML CDATA;"12 < 18")
Resultado:
<element><![CDATA[12 < 18]]></element>
Exemplo 5
Adição ou substituição de um nodo de tipo declaração Doctype:
Reference:=DOM Append XML child node(elementRef;XML DOCTYPE;"Books SYSTEM \"Book.DTD\"")
Resultado (insido antes do primeiro elemento):
<!DOCTYPE Books SYSTEM "Book.DTD">
Exemplo 6
Adição ou substituição de um nodo de tipo Element.
- se o parâmetro valorHijo é um fragmento XML, se insere como nodos filhos:
Reference:=DOM Append XML child node(refElement;XML ELEMENT;"simoneva")
Resultado:
<parent>
<child>simon</child>
<child>eva</child>
</parent>
- do contrário, se adicionar um novo elemento filho vazio:
Reference:=DOM Append XML child node(elementRef;XML ELEMENT;"tbreak")
Resultado:
<parent>
<tbreak/>
</parent>
Se o conteúdo de valorFilho não é válido, se devolve um erro.