De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Los documentos XML tienen una estructura jerárquica y pueden interpretarse conceptualmente como una estructura de árbol, denominada árbol XML .

Los documentos XML deben contener un elemento raíz (uno que sea el padre de todos los demás elementos). Todos los elementos de un documento XML pueden contener subelementos, texto y atributos. El árbol representado por un documento XML comienza en el elemento raíz y se ramifica al nivel más bajo de elementos. Aunque no hay consenso sobre la terminología utilizada en XML Trees, el W3C ha publicado al menos dos terminologías estándar :

XPath define una sintaxis denominada expresiones XPath que identifica uno o más componentes internos (elementos, atributos, etc.) de un documento XML. XPath se utiliza ampliamente para acceder a datos codificados en XML.

El conjunto de información XML, o conjunto de información XML, describe un modelo de datos abstracto para documentos XML en términos de elementos de información. Se utiliza a menudo en las especificaciones de los lenguajes XML, por su conveniencia para describir las restricciones en las construcciones que esos lenguajes permiten.

Representación como árboles [ editar ]

En matemáticas, un árbol es un gráfico no dirigido en el que dos vértices cualesquiera están conectados por exactamente una ruta simple. Cualquier gráfico conectado sin ciclos simples es un árbol. Una estructura de datos de árbol simula una estructura de árbol jerárquica con un conjunto de nodos vinculados. Una jerarquía consiste en un orden definido en un conjunto. El término jerarquía se utiliza para enfatizar una relación jerárquica entre los elementos.

La especificación XML define un documento XML como un texto bien formado si satisface una lista de reglas de sintaxis definidas en la especificación. Esta especificación es larga, sin embargo, 2 puntos clave relacionados con la estructura de árbol de un documento XML son:

  • Las etiquetas de inicio, fin y elemento vacío que delimitan los elementos están correctamente anidadas, sin que falte ninguna y ninguna se superponga.
  • Un solo elemento "raíz" contiene todos los demás elementos

Estas características se asemejan a las de los árboles, en el sentido de que hay un único nodo raíz y un orden para los elementos. XML ha aparecido como un tipo de datos de primera clase en otros lenguajes. La extensión JavaScript (E4X) define explícitamente dos objetos específicos (XML y XMLList), que admiten nodos de documentos XML y listas de nodos XML como objetos distintos y utilizan una notación de puntos que especifica las relaciones padre-hijo. [1] Estas estructuras de datos representan documentos XML como una estructura de árbol.

Un árbol XML representado gráficamente puede ser tan simple como un gráfico ASCII o una jerarquía gráficamente más compleja. Por ejemplo, el documento XML y el árbol ASCII tienen la misma estructura. Los árboles XML no muestran el contenido de un documento de instancia, solo la estructura del documento. En este ejemplo, el producto es el elemento raíz del árbol y los dos nodos secundarios del producto son el nombre y los detalles. Los detalles contienen dos nodos secundarios, Descripción y Precio. El comando de árbol en Windows y * nix también produce una estructura de árbol y una ruta similares.

Producto├───Nombre└───Detalles └───Descripción └───Precio
<Producto> <Name> Widget </Name> <Detalles> <Descripción> Este widget es el widget de mayor calidad.  </Description> <Precio> 5,50 </Precio> </Detalles></Producto>

Modelo de datos XPath [ editar ]

XPath , XML Path Language, es un lenguaje de consulta para seleccionar nodos de un documento XML. XPath define una sintaxis denominada expresiones XPath que pueden consultar un documento XML para uno o más componentes internos (elementos, atributos, etc.). XPath se usa ampliamente en otras especificaciones core-XML y en bibliotecas de programación para acceder a datos codificados en XML. [2]

Terminología del modelo de datos XPath [ editar ]

El modelo de datos XPath es una especificación extensa y abarca muchas características no relacionadas con los árboles XML. A continuación se enumeran los términos clave de esa especificación y la especificación XML. [3] [4]

Ejemplo
El modelo de datos representado como una secuencia.
Documento de instancia
Un documento que usa y se ajusta a la misma secuencia / árbol XML.
Secuencia
Una colección de pedidos de cero o más artículos. Una secuencia no puede ser miembro de una secuencia. Un solo elemento que aparece individualmente se modela como una secuencia que contiene un elemento.
Elemento
Un nodo dentro de la secuencia que puede contener
Nodo
Cualquier elemento representado en el árbol / secuencia XML.
Nodo raíz
El elemento más alto del árbol. Todos los demás elementos y nodos deben estar contenidos dentro del nodo raíz.
Artículo
Un nodo o un valor atómico.
Espacio de valor
La parte de un elemento que contiene datos en lugar de elementos adicionales.
Tipo atómico
Un tipo simple primitivo o un tipo derivado por restricción de otro tipo atómico.
Valor atómico
Un valor contenido en el espacio de valores que es de tipo atómico.
QName
El nombre calificado de un elemento. Debe ajustarse a las reglas de nomenclatura de los objetos XML. (es decir, debe comenzar con una letra o un guión bajo, distingue entre mayúsculas y minúsculas, no puede comenzar con las letras xml (en cualquier caso), puede contener letras, dígitos, guiones, guiones bajos y puntos, no puede contener espacios).
QName expandido
El nombre completo de un elemento. Puede incluir un prefijo y un espacio de nombres. Debe incluir el nombre local del elemento.

Dentro de un árbol dado, el orden de los documentos satisface las siguientes restricciones: [5]

  • El nodo raíz es el primer nodo.
  • Cada nodo ocurre antes que todos sus hijos y descendientes.
  • Los nodos de espacio de nombres siguen inmediatamente al nodo de elemento con el que están asociados. El orden relativo de los nodos de espacio de nombres es estable pero depende de la implementación.
  • Los nodos de atributo siguen inmediatamente a los nodos de espacio de nombres del elemento con el que están asociados. Si no hay Nodos de espacio de nombres asociados con un elemento dado, los Nodos de atributos asociados con ese elemento siguen inmediatamente al elemento. El orden relativo de los nodos de atributos es estable pero depende de la implementación.
  • El orden relativo de los hermanos es el orden en el que aparecen en la propiedad de los hijos de su nodo padre.
  • Los hijos y descendientes ocurren antes de seguir a los hermanos.

Conjunto de información XML [ editar ]

Conjunto de información XML (XML Infoset) describe un modelo de datos abstracto de un documento XML en términos de un conjunto de elementos de información. Las definiciones en la especificación del Conjunto de información XML están destinadas a ser utilizadas en otras especificaciones que necesitan hacer referencia a la información en un documento XML bien formado. El conjunto de información hace que sea conveniente describir las restricciones en las construcciones XML que permiten otros lenguajes XML. Un documento XML tiene un conjunto de información si está bien formado y satisface las restricciones del espacio de nombres. Un conjunto de información puede contener hasta once tipos diferentes de elementos de información:

  • El elemento de información del documento (siempre presente)
  • Elementos de información de elementos
  • Elementos de información de atributos
  • Procesamiento de elementos de información de instrucciones
  • Elementos de información de referencia de entidad sin expandir
  • Elementos de información del personaje
  • Elementos de información de comentario
  • El elemento de información de declaración de tipo de documento
  • Elementos de información de entidad sin analizar
  • Elementos de información de notación
  • Elementos de información del espacio de nombres [6]

Terminología del conjunto de información XML [ editar ]

El conjunto de información XML es una especificación extensa y abarca muchas características no relacionadas con los árboles XML. A continuación se enumeran los términos más importantes relacionados con la terminología del árbol XML:

"Hay exactamente un elemento de información del documento en el conjunto de información, y todos los demás elementos de información son accesibles desde las propiedades del elemento de información del documento, ya sea directa o indirectamente a través de las propiedades de otros elementos de información. El elemento de información del documento tiene las siguientes propiedades:

  • [niños]
  • [elemento de documento]
  • [notaciones]
  • [entidades no analizadas]
  • [URI base]
  • [esquema de codificación de caracteres]
  • [ser único]
  • [versión]
  • [todas las declaraciones procesadas]

Hay un elemento de información de elemento para cada elemento que aparece en el documento XML. Uno de los elementos de información del elemento es el valor de la propiedad [elemento del documento] del elemento de información del documento, correspondiente a la raíz del árbol de elementos, y todos los demás elementos de información del elemento son accesibles siguiendo recursivamente su propiedad [hijos]. Un elemento de información de elemento tiene las siguientes propiedades:

  • [nombre del espacio de nombres]
  • [nombre local]
  • [prefijo]
  • [niños]
  • [atributos]
  • [atributos del espacio de nombres]
  • [espacios de nombres dentro del alcance]
  • [URI base]
  • [padre]

Hay un elemento de información de atributo para cada atributo (especificado o predeterminado) de cada elemento del documento, incluidas las declaraciones de espacio de nombres. Sin embargo, estos últimos aparecen como miembros de la propiedad [atributos del espacio de nombres] de un elemento en lugar de su propiedad [atributos]. Los atributos declarados en la DTD sin valor predeterminado y no especificados en la etiqueta de inicio del elemento no están representados por elementos de información de atributos. Un elemento de información de atributo tiene las siguientes propiedades:

  • [nombre del espacio de nombres]
  • [nombre local]
  • [prefijo]
  • [valor normalizado]
  • [especificado]
  • [tipo de atributo]
  • [referencias]
  • [elemento propietario] [7]

Notas [ editar ]

  1. ^ "Procesamiento de XML con E4X". Centro de desarrolladores de Mozilla. Fundación Mozilla.
  2. ^ XQuery 1.0 y XPath 2.0 Data Model (XDM) (segunda edición), 14 de diciembre de 2010, http://www.w3.org/TR/xpath-datamodel/
  3. ^ XQuery 1.0 y XPath 2.0 Data Model (XDM) (segunda edición), 14 de diciembre de 2010, http://www.w3.org/TR/xpath-datamodel/
  4. ^ Lenguaje de marcado extensible (XML) 1.0 (quinta edición), 26 de noviembre de 2008, consultado: 24 de julio de 2018, https://www.w3.org/TR/xml/REC-xml-20081126-review.html#sec-terminology
  5. ^ XQuery 1.0 y XPath 2.0 Data Model (XDM) (segunda edición), 14 de diciembre de 2010, http://www.w3.org/TR/xpath-datamodel/
  6. ^ Conjunto de información XML (segunda edición), 4 de febrero de 2004, http://www.w3.org/TR/xml-infoset/
  7. ^ Conjunto de información XML (segunda edición), 4 de febrero de 2004, http://www.w3.org/TR/xml-infoset/