Presentación de los comandos XML

4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 11.3 (Modificado)


4D incluye un conjunto de comandos utilizados para analizar objetos que contienen los datos XML (eXtensible Markup Language).

A propósito del lenguaje XML


El lenguaje XML es un estándar de intercambio de datos. Está basado en el uso de etiquetas y permite describir de manera precisa los datos intercambiados así como su estructura. Los archivos XML son archivos en formato Texto, su contenido es analizado (parsing) por las aplicaciones que importan los datos. Hoy en día, muchas aplicaciones soportan este formato.

Para mayor información sobre XML, consulte, por ejemplo, los sitios http://xml.org y http://www.w3.org.

Para soportar XML, 4D utiliza una librería llamada Xerces.dll desarrollada por la sociedad Apache Foundation. 4D soporta XML versión 1.0.

Nota: 4D permite importar y exportar directamente los datos en formato XML utilizando el editor de importación/exportación.

Comandos DOM y SAX


Los comandos de este tema tienen el prefijo DOM. De hecho, 4D ofrece dos conjuntos independientes de comandos XML, con prefijo DOM y SAX: DOM (Document Object Model) y SAX (Simple API XML) son dos modos de análisis diferentes de los documentos XML.

El modo DOM analiza una fuente XML y crea su estructura (su "árbol") en memoria. Por esta razón, el acceso a cada elemento de la fuente es extremadamente rápido. Sin embargo, como la totalidad del árbol se almacena en memoria, el procesamiento de documentos XML grandes podría exceder la capacidad de memoria y por lo tanto provocar errores.

El modo SAX no crea un árbol en memoria. En este modo, los "eventos" (tales como el inicio o el fin de un elemento) son generados durante el análisis de la fuente. Este modo le permite analizar documentos XML de cualquier tamaño, sin importar la cantidad de memoria disponible. Los comandos SAX se agrupan en el tema "XML SAX". Para mayor información, consulte la sección Overview of XML SAX Commands.

Para mayor información sobre estándares XML, consulte los siguientes sitios: http://www.saxproject.org/?selected=event y http://www.w3schools.com/xml/.

Creación, apertura y cierre de documentos XML vía DOM

Los objetos creados, modificados o analizados por los comandos DOM de 4D pueden ser de tipo texto, URLs, documentos o BLOBs. Los comandos DOM utilizados para la apertura de los objetos XML en 4D son Parse XML source y DOM Parse XML variable.

Varios comandos le permiten leer, analizar y escribir los elementos y los atributos. La recuperación de errores se efectúa vía el comando GET XML ERROR (común para ambos estándares XML).

El comando DOM CLOSE XML permite cerrar la fuente al final.

Creación, apertura y cierre de documentos XML vía SAX

Los comandos SAX trabajan con referencias de los documentos estándar de 4D (DocRef, referencia de tipo Hora). Por lo tanto es posible utilizar estos comandos conjuntamente con los comandos 4D utilizados para administrar documentos, tales como SEND PACKET o Append document.

La creación y la apertura por programación de los documentos XML se efectúa vía los comandos Create document y Open document. Posteriormente, el uso de un comando XML con estos documentos provocará la implementación automática de los mecanismos XML tales como codificación. Por ejemplo, el encabezado <?xml version="1.0" encoding="… encodage …" standalone = "no "?> se escribirá automáticamente en el documento.

Nota: los documentos destinados a la lectura SAX deben abrirse en modo sólo lectura por el comando Open document. Esto evita que pueda surgir cualquier conflicto entre 4D y la librería Xerces al abrir simultáneamente los documentos "estándar" y XML. Si ejecuta un comando de análisis SAX con un documento abierto en modo lectura-escritura, se mostrará un mensaje de alerta y el análisis será imposible.

El cierre de un documento XML debe efectuarse utilizando el comando CLOSE DOCUMENT. Si los elementos XML están abiertos, se cerrarán automáticamente.

Uso de la notación XPath (DOM)


Tres comandos DOM XML (DOM Create XML element, DOM Find XML element y DOM SET XML ELEMENT VALUE) aceptan la notación XPath para el acceso a los elementos XML.

La notación XPath viene del lenguaje XPath, designado a la navegación dentro de estructuras XML. Permite designar directamente los elementos dentro de una estructura XML vía una sintaxis de tipo "ruta de acceso", sin tener que indicar necesariamente la ruta completa. Por ejemplo, dada la siguiente estructura:

   <RootElement>
      <Elem1>
         <Elem2>
            <Elem3 Font=Verdana  Size=10> </Elem3>
         </Elem2>
      </Elem1>
   </RootElement>

La notación XPath permite acceder al elemento 3 utilizando la sintaxis /RootElement/Elem1/Elem2/Elem3.

4D acepta igualmente los elementos XPath indexados, utilizando la sintaxis Element[ElementNum]. Por ejemplo, dada la siguiente estructura:

   <RootElement>
      <Elem1>
         <Elem2>aaa</Elem2>
         <Elem2>bbb</Elem2>
         <Elem2>ccc</Elem2>
      </Elem1>
   </RootElement>

La notación XPath permite acceder al valor "ccc" utilizando la sintaxis /RootElement/Elem1/Elem2[3].

Para una ilustración de la notación XPath, por favor consulte los ejemplos de los comandos DOM Create XML element y DOM Find XML element.

Conjuntos de caracteres

Los siguientes conjuntos de caracteres son soportados por los comandos XML DOM y XML SAX de 4D:

ASCII

UTF-8

UTF-16 (Big/Small Endian)

UCS4 (Big/Small Endian)

EBCDIC code pages IBM037, IBM1047 y IBM1140 encodings,

ISO-8859-1 (o Latin1)

Windows-1252.

Terminología


El lenguaje XML utiliza numerosos términos y acrónimos específicos. Esta lista no exhaustiva detalla los principales conceptos XML utilizados por los comandos y funciones de 4D.

Atributo: una subetiqueta XML asociada a un elemento. Un atributo siempre contiene un nombre y un valor (ver diagrama a continuación).

Hijo: en una estructura XML, un elemento en un nivel directamente inferior a otro.

DTD: Document Tipo Declaration (Declaración de tipo de documento). La DTD graba el conjunto de reglas y de propiedades específicas que debe seguir un documento XML. Estas reglas definen, más particularmente, el nombre y contenido de cada etiqueta como también su contenido. Esta formalización de los elementos permite verificar que un documento XML esté en conformidad (en ese caso, se declara "válido").

La DTD puede incluirse en el documento XML (DTD interna) o en un documento separado (DTD externo). Note que la DTD no es obligatoria.

Elemento: una etiqueta XML. Un elemento siempre contiene un nombre y un valor. Opcionalmente, un elemento puede contener atributos (ver diagrama).

RefElement: referencia XML utilizada por los comandos XML de 4D para especificar una estructura XML. Esta referencia está formada por 8 caracteres en forma hexadecimal, lo cual significa que está compuesta por 16 caracteres.

Padre: en una estructura XML, un elemento de un nivel directamente superior a otro.

Parsing, parser (Analizador): acción de analizar el contenido de un objeto estructurado para extraer información útil. Los comandos del tema "XML" se utilizan para analizar el contenido de todo objeto XML.

Raíz (Root): elemento ubicado en el primer nivel de una estructura XML.

Hermano: en una estructura XML, elemento del mismo nivel que otro.

Estructura XML: objeto XML estructurado. Este objeto puede ser un documento, una variable, o un elemento.

Validación: un documento XML es "validado" por el analizador XML cuando está "bien formado" y conforme con las especificaciones de la DTD. Ver también Bien formado.

Bien formado: un documento XML es declarado "bien formado" por el analizador XML cuando cumple con las especificaciones XML genéricas. Ver también Validación.

XML: eXtensible Markup Language (Lenguaje de etiquetas evolutivo). Estándar de intercambio de datos computarizado que permite transferir datos como también su estructura. El lenguaje XML está basado en el uso de etiquetas y una sintaxis específica, de acuerdo con el lenguaje HTML. Sin embargo, a diferencia de éste último, el lenguaje XML permite la definición de etiquetas personalizadas.

XSL: eXtensible Stylesheet Language (Lenguaje de hojas de estilo evolutivo). Lenguaje que permite definir las hojas de estilo utilizadas para procesar y visualizar los contenidos de un documento XSL.


4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente