Saltar al contenido principal

ID

Un ID es un valor único (identificador) para cada elemento.

<!ATTLIST pais codigo ID #IMPLIED>

La regla anterior valida el siguiente XML:

<pais codigo="fr">Francia</pais>

Algunas aspectos relativos al uso de identificadores son:

  • Cada elemento escrito en un documento XML solo puede tener un atributo del tipo ID.
  • En un documento XML no pueden escribirse dos elementos que tengan el mismo valor en un atributo ID, aunque dicho atributo sea distinto.
  • Todo atributo declarado de tipo ID tiene que ser #IMPLIED (opcional) o #REQUIRED (obligatorio).

Un atributo de tipo ID puede tomar como valor una cadena de texto formada por cualquier combinación de:

  • Letras mayúsculas y minúsculas.
  • Números.
  • Guiones medios (-).
  • Guiones bajos (_).
  • Dos puntos (:).
  • Puntos (.).

La única restricción en la combinación es que el primer carácter tiene que ser una letra (mayúscula o minúscula) o un guión bajo (_).

El uso de : se reserva para cuando se definan espacios de nombres (namespaces).

Por lo tanto, un documento XML válido sería:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paises [
<!ELEMENT paises (pais*)>
<!ELEMENT pais (#PCDATA)>
<!ATTLIST pais codigo ID #IMPLIED>
]>
<paises>
<pais codigo="fr">Francia</pais>
<pais codigo="es">España</pais>
<pais codigo="pt">Portugal</pais>
</paises>

Sin embargo, el siguiente documento XML no sería válido:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paises [
<!ELEMENT paises (pais*)>
<!ELEMENT pais (#PCDATA)>
<!ATTLIST pais codigo ID #IMPLIED>
]>
<paises>
<pais codigo="fr">Francia</pais>
<pais codigo="__">España</pais>
<pais codigo="__">Portugal</pais>
</paises>

En el país España y Portugal se están definiendo los mismos identificadores, lo cual no es válido.