Lenguaje XML/Sintaxis/Texto completo

De Wikilibros, la colección de libros de texto de contenido libre.
Esta es la versión para imprimir de Lenguaje XML/Sintaxis.
  • Si imprimes esta página, o eliges la opción de Vista preliminar de impresión de tu navegador, verás que desaparecen este cuadro y los elementos de navegación de arriba y de la izquierda, pues no son útiles en una versión impresa.
  • Pulsando antes en Refrescar esta página te asegurarás de obtener los últimos cambios del libro antes de imprimirlo.
  • Para más información, puedes ver Wikilibros:Versión para imprimir.
Logotipo

Toma de contacto[editar]

Este es un pequeño ejemplo de un documento XML:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE SYSTEM contacto>
<contacto>
    <nombre>Alondra</nombre>
    <apellido>Jiménez Frías</apellido>
    <tel clase="casa">123 45 67</tel>
    <sexo valor="f"/>
    <direccion>
        <numero>1600</numero>
        <calle>Amphitheatre Parkway</calle>
        <ciudad>Mountain View</ciudad>
        <estado>CA</estado>
        <cp>94043</cp>
        <pais>Estados Unidos</país>
    </dirección>
</contacto>

El ejemplo anterior podría ser una tarjeta de contacto. Como se puede ver, tiene varios elementos: etiquetas, atributos, un prólogo, etc.

Para empezar, el elemento <contacto> contiene a todos los demás elementos. El elemento <nombre> contiene texto. El elemento <tel> también, pero además contiene un atributo (clase), el cual contiene un valor (casa). Si vamos más abajo, también veremos un elemento vacío (<sexo>), el cual contiene un atributo (valor). Por último, vemos al elemento <dirección>, el cual no contiene texto como los demás elementos, sino que contiene otros elementos.

Como se puede ver, un documento XML tiene varios tipos de elementos (y más que no vimos aquí). Éstos se irán viendo conforme se vayan avanzando en las lecciones de este wikilibro.


Normas básicas[editar]

Para crear un documento XML bien-formado, se deben de respetar algunas normas básicas de la sintaxis de este lenguaje:

Estructura jerárquica de los elementos[editar]

Esta es la más importante: dado que XML es para estructurar datos, todos los elementos deben de estar dentro de otro elemento definido, por ello, un elemento debe estar correctamente incluido dentro de otro de manera jerárquica. Si esto no es así, la jerarquía se rompe y el documento no estará bien-formado. Por ejemplo, esto es correcto:

<páginas><url>google.com</url><title>google</title></páginas>

No así esto:

<páginas><url>google.com<title></url>google</title></páginas>

Elemento raíz[editar]

En los documentos XML, debe de haber un solo elemento raíz. Esto quiere decir que solo debe haber un elemento que contenga a todos los demás. Este elemento debe llamarse según lo hayamos especificado es la declaración DTD. Por ejemplo, este código sería válido:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE SYSTEM contacto>
<contacto>
    <nombre>Alondra</nombre>
    <apellido>Jiménez Frías</apellido>
    <tel clase="casa">123 45 67</tel>
    <sexo valor="f"/>
</contacto>

Pero este no:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE SYSTEM contacto>
<contacto>
    <nombre>Alondra</nombre>
    <apellido>Jiménez Frías</apellido>
    <tel clase="casa">123 45 67</tel>
    <sexo valor="f"/>
</contacto>
<contacto>
    <nombre>Omar</nombre>
    <apellido>Altonar Gamas</apellido>
    <tel clase="casa">987 65 43</tel>
    <sexo valor="m"/>
</contacto>

Nombre de etiqueta[editar]

Cuando se crea un elemento en XML, este debe de llevar un nombre. Según la especificación 1.0, los nombres deben de cumplir las siguientes características:

  • Los nombres deben empiezan una letra o uno o más signos de puntuación.
  • Pueden contener —pero no necesariamente empezar con ello— letras, números, guiones, rayas, dos puntos o puntos.
  • Los nombres que empiezan con la cadena "xml", en ninguna de sus variantes mayúsculas y minúsculas, no se pueden utilizar para nombrar un elemento, ya que estos se reservan para la estandarización de esta o de futuras versiones de XML.
  • Los demás caracteres, como espacios en blanco, no se pueden usar.

Por ejemplo, estos nombres son válidos:

<elemento>
<etiqueta1>
<mi-etiqueta>

Pero no estos:

<etiqueta nueva>
<2periodo>

Comillas en los atributos[editar]

Todos los valores de los atributos deben de estar encerrados entre comillas simples () o dobles (""). En otros lenguajes de marcado, como HTML, se tolera el no encerrar un atributo entre comillas, en XML no. Por ejemplo, esto es válido:

<sexo valor="m"/>

Pero no esto:

<sexo valor=m/>

Espacios en blanco[editar]

XML permite utilizar un grupo de caracteres conocidos como «espacios en blanco» para separar los elementos, y permitir una mejor legibilidad del código. En general son ignorados, aunque no dentro de un elemento de texto o mixto. Estos caracteres son los siguientes:

Caracter Código Unicode
Espacios U+032
Tabuladores U+009
Retornos de carro U+013
Saltos de línea U+010


Espacios de nombre[editar]

Lenguaje XML/Sintaxis/Espacios de nombre