Articulo de referencia

Árbol XML

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

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 (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 hasta el nivel más bajo de elementos. Aunque no existe consenso sobre la terminología utilizada en los árboles XML, 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 estructurados 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 con frecuencia en las especificaciones de los lenguajes XML, debido a su utilidad para describir las restricciones sobre las construcciones que permiten dichos lenguajes.

Representación como árboles

En matemáticas, un árbol es un grafo no dirigido en el que dos vértices cualesquiera están conectados por un único camino simple. Cualquier grafo conexo sin ciclos simples es un árbol. Una estructura de datos de árbol simula una estructura jerárquica con un conjunto de nodos enlazados. 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 cumple con una lista de reglas de sintaxis definidas en la especificación. Esta especificación es extensa; sin embargo, dos puntos clave relacionados con la estructura de árbol de un documento XML son:

  • Las etiquetas begin, end y empty-element que delimitan los elementos están correctamente anidadas, sin que falte ninguna ni se superpongan.
  • Un único elemento "raíz" contiene todos los demás elementos.

Estas características se asemejan a las de los árboles, ya que existe un único nodo raíz y un orden en los elementos. XML ha aparecido como un tipo de dato 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 punto para especificar las relaciones padre-hijo. [ 1 ] Estas estructuras de datos representan los documentos XML como una estructura de árbol.

Un árbol XML representado gráficamente puede ser tan simple como un diagrama ASCII o una jerarquía gráfica 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 su estructura. En este ejemplo, Producto es el elemento raíz del árbol y sus dos nodos hijos son Nombre y Detalles. Detalles contiene dos nodos hijos: Descripción y Precio. El comando `tree` en Windows y sistemas *nix también genera una estructura y ruta de árbol similares.

Producto ├───Nombre └───Detalles └───Descripción └───Precio 
<Producto><Nombre> Widget </Nombre><Detalles><Descripción>Este widget es el widget de mayor calidad .</Descripción><Precio> 5.50 </Precio></Detalles></Producto>

Modelo de datos XPath

XPath , el lenguaje de rutas XML, es un lenguaje de consulta para seleccionar nodos de un documento XML. XPath define una sintaxis denominada expresiones XPath que permite consultar un documento XML para obtener uno o más componentes internos (elementos, atributos, etc.). XPath se utiliza ampliamente en otras especificaciones XML básicas y en bibliotecas de programación para acceder a datos codificados en XML. [ 2 ]

Terminología del modelo de datos XPath

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

Instancia
El modelo de datos se representa como una secuencia.
Documento de instancia
Un documento que utiliza y se ajusta a la misma secuencia/árbol XML.
Secuencia
Una colección ordenada de cero o más elementos. Una secuencia no puede ser miembro de otra secuencia. Un único elemento que aparece individualmente se modela como una secuencia que contiene un solo 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 superior 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.
Nombre calificado
El nombre cualificado de un elemento. Debe ajustarse a las reglas de nomenclatura de los objetos XML (es decir, debe comenzar con una letra o un guion bajo, distingue entre mayúsculas y minúsculas, no puede comenzar con las letras "xml" (en ningún caso), puede contener letras, dígitos, guiones, guiones bajos y puntos, y no puede contener espacios).
Nombre calificado 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 aparece 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 al que están asociados. Si un elemento no tiene nodos de espacio de nombres asociados, los nodos de atributo asociados a dicho elemento lo siguen inmediatamente. El orden relativo de los nodos de atributo es estable, pero depende de la implementación.
  • El orden relativo de los hermanos es el orden en que aparecen en la propiedad hijos de su nodo padre.
  • Los hijos y descendientes preceden a los hermanos.

Conjunto de información XML

El 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 de la especificación XML Information Set están diseñadas para usarse en otras especificaciones que necesiten hacer referencia a la información de un documento XML bien formado. El conjunto de información facilita la descripción de restricciones sobre las construcciones XML que permiten otros lenguajes XML. Un documento XML tiene un conjunto de información si está bien formado y cumple con las restricciones de 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
  • Elementos de información de atributos
  • Elementos de información de instrucciones de procesamiento
  • Elementos de información de referencia de la entidad no expandidos
  • Elementos de información del personaje
  • Elementos de información para comentarios
  • Elemento informativo de declaración de tipo de documento
  • Elementos de información de entidades no analizados
  • Elementos de información de notación
  • Elementos de información del espacio de nombres [ 6 ]

Terminología del conjunto de información XML

El conjunto de información XML es una especificación extensa que 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 de los árboles XML:

"Existe exactamente un elemento de información de 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 de documento, ya sea directamente o indirectamente a través de las propiedades de otros elementos de información. El elemento de información de documento tiene las siguientes propiedades:

  • [niños]
  • [elemento del documento]
  • [notaciones]
  • [entidades no analizadas]
  • [URI base]
  • [esquema de codificación de caracteres]
  • [autónomo]
  • [versión]
  • [Todas las declaraciones procesadas]

Existe un elemento de información para cada elemento que aparece en el documento XML. Uno de estos elementos es el valor de la propiedad [document element] del elemento de información del documento, que corresponde a la raíz del árbol de elementos, y se puede acceder a todos los demás elementos de información siguiendo recursivamente su propiedad [children]. Un elemento de información 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 ámbito]
  • [URI base]
  • [padre]

Existe 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, estas últimas aparecen como miembros de la propiedad [namespace attributes] de un elemento, en lugar de su propiedad [attributes]. 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 atributo. 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

  1. "Procesamiento de XML con E4X". Centro de desarrolladores de Mozilla. Fundación Mozilla.
  2. Modelo de datos XQuery 1.0 y XPath 2.0 (XDM) (Segunda edición), 14 de diciembre de 2010, http://www.w3.org/TR/xpath-datamodel/
  3. Modelo de datos XQuery 1.0 y XPath 2.0 (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 el 24 de julio de 2018, https://www.w3.org/TR/xml/REC-xml-20081126-review.html#sec-terminology
  5. Modelo de datos XQuery 1.0 y XPath 2.0 (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/
Obtenido de " https://en.wikipedia.org/w/index.php?title=XML_tree&oldid=1306569736 "