Elementos
Elementos:
Los documentos XML están compuestos por elementos. Un elemento es la unidad de información básica del documento. Cada elemento puede contener texto literal, otros elementos, o una mezcla de ambos.
Un documento XML debe tener exactamente un elemento en su nivel superior, llamadoelemento raíz. El elemento raíz contiene el resto de los elementos del documento.
Un elemento siempre tiene un nombre asociado. Nótese que el nombre no tiene por qué ser único en el documento, sino que puede haber más de un elemento con el mismo nombre.
En el documento XML, un elemento siempre aparece delimitado entre una marca de inicio y una marca de fin. El contenido del elemento es todo aquello que se encuentre entre ambas marcas.
Las marcas de inicio y de fin son similares a las del lenguaje HTML. La marca de inicio de un elemento llamado "libro" se escribe como:
<libro>
La marca de fin es muy similar, pero se inserta un carácter / entre el carácter < y el nombre del elemento:
</libro>
Nótese que entre < o </ y el nombre del elemento no pueden aparecer espacios en blanco, pero sí entre el nombre del elemento y >.
Algunos elementos pueden no tener contenido, esto es, estar vacíos. Si es el caso, se puede representar el elemento mediante la marca de inicio e, inmediatamente a continuación, sin espacios en blanco ni saltos de línea en el medio, la de fin:
<libro></libro>
Sin embargo, también es posible representar elementos vacíos de forma más compacta con la marca de elemento vacío. Esta marca representa tanto el inicio como el fin del elemento:
<libro/>
En el siguiente ejemplo se muestra un fragmento de un documento XML que representa laestructura de una botella:
<botella> <interior> <líquido/> </interior> <exterior> <tapon/> <etiqueta> <marca/> <caducidad/> <descripcion/> </etiqueta> </exterior> </botella> |
En este ejemplo se modela una botella como un interior y un exterior. El interior contiene un líquido y el exterior un tapón y una etiqueta. Esta última contiene, a su vez, la marca del producto, su fecha de caducidad y una descripción.
En un documento XML no es obligatorio tabular el código o fragmentarlo en varias líneas. De hecho, el ejemplo anterior podría haber sido escrito con todas las marcas una a continuación de la otra en una única línea. Sin embargo, para mejorar la legibilidad del documento, es recomendable realizar la tabulación.
En ocasiones puede resultar útil incluir en un mismo documento XML elementos y atributos provenientes de distintas aplicaciones. Por ejemplo, un documento XHTML (la evolución de HTML basada en XML) puede contener fórmulas matemáticas expresadas mediante MathML(lenguaje XML para la expresión de notación matemática) y figuras representadas medianteSVG (estándar de gráficos vectoriales representados con XML).
¿Cómo sabe el procesador de XML a qué aplicación pertenece cada uno de los elementos y atributos en este caso? Es más, ¿qué ocurre si mezclamos dos aplicaciones que definen un elemento con el mismo nombre?
La solución a este problema está en el estándar de espacios de nombres (“namespaces”). A un conjunto de elementos y atributos definidos para una aplicación concreta se les puede asociar un identificador de espacio de nombres. Este identificador suele ser una URL de HTTP para evitar colisiones.
Añadiendo el atributo xmlns a un elemento se declara a qué espacio de nombres pertenecen los atributos de dicho elemento, así como todos los elementos y atributos contenidos en su interior en cualquier nivel de profundidad. En el interior de este elemento también sería posible insertar elementos pertenecientes a otros espacios de nombres, si a su vez se declara el atributo xmlns en los mismos.
<alumno xmlns="http://www.ejemplo.com/gestion-alumnos">
<id ambito="alumnado">999999</id>
<direccion xmlns="http://www.ejemplo.com/direcciones-
postales" tipo="nacional">
<calle>(...)</calle>
(...)
</direccion>
</alumno>
<id ambito="alumnado">999999</id>
<direccion xmlns="http://www.ejemplo.com/direcciones-
postales" tipo="nacional">
<calle>(...)</calle>
(...)
</direccion>
</alumno>
Etiquetas: 2A
<< Inicio