4D v16.3

DOM Create XML element

Inicio

 
4D v16.3
DOM Create XML element

DOM Create XML element 


 

DOM Create XML element ( elementRef ; xRuta {; nomAtrib ; valorAtrib} {; nomAtrib2 ; valorAtrib2 ; ... ; nomAtribN ; valorAtribN} ) -> Resultado 
Parámetro Tipo   Descripción
elementRef  Cadena in Referencia del elemento XML raíz
xRuta  Texto in Ruta XPath del elemento XML a crear
nomAtrib  Cadena in Atributo a definir
valorAtrib  Cadena, Booleano, Entero largo, Real, Hora, Fecha in Nuevo valor del atributo
Resultado  Cadena in Referencia del elemento XML creado

El comando DOM Create XML element  permite crear un nuevo elemento en el elemento XML refElement en la ubicación definida por el parámetro xRuta y añadirle atributos si es necesario.

Pase en refElement la referencia del elemento raíz (creado, por ejemplo con la ayuda del comando DOM Create XML Ref).

En xRuta, pase la ruta de acceso del elemento a crear en notación XPath (ver el párrafo “Uso de la notación XPath” en la sección Presentación de los comandos XML DOM). Si los elementos de la ruta de acceso no existen, son creados.

Es posible pasar directamente en xRuta un nombre de elemento simple con el fin de crear un subelemento a partir del elemento actual (ver el ejemplo 3).

Nota: si defineo uno o más espacios de nombre (namespaces) para el árbol designado por refElement (ver el comando DOM Create XML Ref), debe prefijar el parámetro xRuta del nombre de espacio a utilizar (por ejemplo, “MiNombreEspacio:MiElemento”).

Puede pasar en los parámetros opcionales nomAtributo y valorAtributo un par atributo/valor (en forma de variables, campos o valores literales). Puede pasar tantos pares como quiera.

El parámetro valorAtributo puede ser de tipo texto o de otro tipo (Booleano, entero, real, hora o fecha). Si pasa un valor de un tipo diferente al tipo texto, 4D se encarga de la conversión a texto, de acuerdo a los siguientes principios:

TipoEjemplo de valor convertido
Booleano"true" o "false" (no traducido)
Entero"123456"
Real"12.34" (el separador decimal siempre es ".")
Fecha"2006-12-04T00:00:00Z" (norma RFC 3339)
Hora"5233" (Número de segundos)

El comando devuelve en resultado la referencia XML del elemento creado.

Queremos crear el siguiente elemento:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3> </Elem3>
         <Elem3> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Para hacerlo, simplemente escribimos:

 C_TEXT(vRefRaiz;vRefElem)
 vRefRaiz:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vRefElem:=DOM Create XML element(vRefRaiz;vxPath)
 vxPath:="/RootElement/Elem1/Elem2/Elem3[2]"
 vRefElem:=DOM Create XML element(vRefRaiz;vxPath)

Queremos crear el siguiente elemento (contiene los atributos):

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3 Font=Verdana Size=10> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Para hacerlo, simplemente escribimos:

 C_TEXT(vRefRaiz;vRefElem)
 C_TEXT($aAtribNom1;$aAtribNom2;$aAtribVal1;$aAtribVal2)
 $aAtribNom1:="Font"
 $aAtribNom2:="Size"
 $aAtribVal1:="Verdana"
 $aAtribVal2:="10"
 
 vRefRaiz:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vRefElem:=DOM Create XML element(vRefRaiz;vxPath;$aAtribNom1;$aAtribVal1;$aAtribNom2;$aAtribVal2)

Queremos crear y exportar la siguiente estructura:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
   <Elem1>Hola</Elem1>
</Root>

Queremos utilizar la sintaxis basada en un nombre de elemento simple. Para hacerlo, simplemente escribimos:

 C_TEXT($root)
 C_TEXT($ref1)
 
 $root:=DOM Create XML Ref("Raíz")
 $ref1:=DOM Create XML element($root;"Elem1")
 DOM SET XML ELEMENT VALUE($ref1;"Hola")
 DOM EXPORT TO FILE($root;"midoc.xml")
 DOM CLOSE XML($root)

Si el comando se ejecutó correctamente, la variable sistema OK toma el valor 1. De lo contrario, toma el valor 0 y se genera un error.

Se genera un error cuando:

  • La referencia del elemento raíz no es válida.
  • El nombre del elemento a crear es inválido (por ejemplo, si comienza por un número).



Ver también 

DOM Create XML element arrays
DOM Get XML element
DOM REMOVE XML ELEMENT

 
PROPIEDADES 

Producto: 4D
Tema: XML DOM
Número 865

Este comando modifica la variable sistema OKEste comando modifica la variable sistema ErrorThis command can be run in preemptive processes

 
HISTORIA 

Modificado: 4D v11 SQL

 
ARTICLE USAGE

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