4D v16.3

DOM Append XML child node

Página Inicial

 
4D v16.3
DOM Append XML child node

DOM Append XML child node 


 

DOM Append XML child node ( refElemento ; tipoFilho ; valorFilho ) -> Resultado 
Parâmetro Tipo   Descrição
refElemento  Texto in elemento de referência XML
tipoFilho  Inteiro longo in Tipo de filho a anexar
valorFilho  Texto, BLOB in Texto ou variável (texto ou BLOB) cujo valor deve ser inserido como um nodo filho
Resultado  Texto in Refência do elemento filho XML

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).

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>

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"?>

Adição de um nodo de tipo comentário:

 Reference:=DOM Append XML child node(elementRef;XML Comment;"Olá mundo")

Resultado:

<!--Olá mundo-->

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>

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">

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;"<child>simon</child><child>eva</child>")

    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

 
PROPRIEDADES 

Produto: 4D
Tema: XML DOM
Número 1080

This command can be run in preemptive processes

 
HISTÓRIA 

Criado por: 4D v12

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)