4D v16.3

DOM Parse XML variable

Inicio

 
4D v16.3
DOM Parse XML variable

DOM Parse XML variable 


 

DOM Parse XML variable ( variable {; validacion {; dtd | esquema}} ) -> Resultado 
Parámetro Tipo   Descripción
variable  BLOB, Texto in Nombre de la variable
validacion  Booleano in True = Validación por la DTD, False = No validacion
dtd | esquema  Cadena in Ubicación de la DTD o del esquema XML
Resultado  Cadena in Referencia del elemento XML

El comando DOM Parse XML variable analiza una variable de tipo BLOB o Texto que contiene una estructura XML y devuelve una referencia para esta variable. El comando puede validar o no la estructura vía un DTD o un esquema XML (XML Schema Definition (XSD) document).

Pase en el parámetro variable el nombre de la variable BLOB o el Texto que contiene el objeto XML.

El parámetro booleano validacion permite indicar si validar o no la estructura utilizando la DTD.

  • Si validacion es igual a True, la estructura se validará. En este caso, el analizador intentará validar la estructura XML del documento basado en la referencia DTD o XSD incluida en el documento, o vía la DTD o el esquema XML designado por el tercer parámetro si se pasa.
  • Si validacion es igual a False, la estructura no se validará.

Si pasa True en validacion y omite el tercer parámetro, el comando intentará validar la estructura XML vía una referencia DTD o XSD que se encuentra en la estructura misma. La validación puede ser indirecta: si la estructura contiene una referencia a un archivo DTD que contiene a su vez una referencia a un archivo XSD, el comando intentará efectuar ambas validaciones. 

El tercer parámetro dtd, permite indicar una DTD específica o un esquema XML para el análisis del documento. Si utiliza este parámetro, el comando no tendrá en cuenta la DTD referenciada en el documento XML.

Validación por DTD
Hay dos formas de especificar un DTD:

  • como una referencia. Para hacer esto, pase la ruta de acceso completa de la nueva DTD (extensión "dtd) en el parámetro dtd. Si el documento indicado no contiene una DTD válida, el parámetro dtd se ignora y se genera un error.
  • directamente en un texto. En este caso, si el contenido del parámetro comienza por “<?xml”, 4D lo considerará como la DTD; de lo contrario, 4D lo considerará como una ruta de acceso.
Validación por esquema
Para validar el documento vía un esquema XML, sólo debe pasar un archivo o URL con una extensión "xsd" en lugar de una "dtd" en el tercer parámetro. La validación por esquema XML se considera más flexible y poderosa que la validación por DTD. El lenguaje de documentos XSD está basado en lenguaje XML. Los esquemas XML soportan particularmente tipos de datos. Para mayor información sobre los esquemas XML, consulte la siguiente dirección: http://www.w3.org/XML/Schema.

Si no se puede efectuar la validación (no DTD o XSD, URL incorrecto, etc.), se genera un error. La variable sistema Error indica el número del error. Puede interceptar este error con la ayuda de un método instalado por el comando ON ERR CALL.

El comando devuelve una cadena de caracteres (RefElement) que constituye la referencia en memoria de la estructura virtual de la variable. Esta referencia debe utilizarse con otros comandos de análisis XML.

Importante: una vez no lo necesite más, recuerde llamar al comando DOM CLOSE XML con esta referencia para liberar memoria.

Apertura sin validación de un objeto XML ubicado en una variable Texto 4D:

 C_TEXT(myTextVar)
 C_TIME(vDoc)
 C_TEXT($xml_Struct_Ref)
 
 vDoc:=Open document("Document.xml")
 If(OK=1)
    RECEIVE PACKET(vDoc;myTextVar;32000)
    CLOSE DOCUMENT(vDoc)
    $xml_Struct_Ref:=DOM Parse XML variable(myTextVar)
 End if

Apertura sin validación de un documento XML ubicado en un BLOB 4D:

 C_BLOB(myBlobVar)
 C_TEXT($ref_XML_Struct)
 
 DOCUMENT TO BLOB(c\\import.xml;myBlobVar)
 $xml_Struct_Ref:=DOM Parse XML variable(myBlobVar)

Si el comando se ejecuta correctamente, la variable sistema OK toma el valor 1. Si ocurre un error, toma el valor 0.



Ver también 

DOM CLOSE XML
DOM Parse XML source

 
PROPIEDADES 

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

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

 
HISTORIA 

Modificado: 4D 2004
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)