Saltar para o conteúdo principal
Versão: 20 R7 BETA

DOM Append XML child node

DOM Append XML child node ( refElemento ; tipoFilho ; valorFilho ) -> Resultado

ParâmetroTipoDescrição
refElementoTextelemento de referência XML
tipoFilhoIntegerTipo de filho a anexar
valorFilhoText, BlobTexto ou variável (texto ou BLOB) cujo valor deve ser inserido como um nodo filho
ResultadoTextRefê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":

ConstanteTipoValor
XML CDATAInteiro longo7
XML commentInteiro longo2
XML DATAInteiro longo6
XML DOCTYPEInteiro longo10
XML ELEMENTInteiro longo11
XML processing instructionInteiro longo3

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.

Ver também

DOM GET XML CHILD NODES
DOM Get XML document ref