Atributos de tipo NOTATION en DTD
En una DTD, los atributos declarados NOTATION son aquellos cuyo valor puede ser el nombre de una notación.
EJEMPLO En la DTD del siguiente documento XML, se indica que los elementos "animal" que se escriban, deben incluir opcionalmente el atributo tipo_de_imagen, cuyo valor será una notación (gif, jpg o png):
<?xml version = "1.0" encoding="UTF-8"?>
<!DOCTYPE animales [
<!ELEMENT animales (animal)*>
<!ELEMENT animal (nombre)>
<!ELEMENT nombre (#PCDATA)>
<!ATTLIST animal
imagen CDATA #IMPLIED
tipo_de_imagen NOTATION (jpg | gif | png) #IMPLIED>
<!NOTATION gif SYSTEM "image/gif">
<!NOTATION jpg SYSTEM "image/jpeg">
<!NOTATION png SYSTEM "image/png">
]>
<animales>
<animal imagen="ballena-azul.gif" tipo_de_imagen="gif">
<nombre>Ballena</nombre>
</animal>
<animal imagen="leon-dormido.png" tipo_de_imagen="png">
<nombre>Leon</nombre>
</animal>
</animales>
- En este ejemplo, las notaciones gif, jpg y png son declaraciones de los tipos MIME (Multipurpose Internet Mail Extensions, Extensiones Multipropósito de Correo de Internet): image/gif, image/jpeg e image/png.
EJEMPLO En la DTD del siguiente documento XML, se indica que los elementos "programa" que se escriban, deben incluir obligatoriamente el atributo lenguaje, cuyo valor será una notación (csharp o java):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE programas [
<!ELEMENT programas (programa)*>
<!ELEMENT programa (#PCDATA)>
<!ATTLIST programa lenguaje NOTATION (csharp|java) #REQUIRED>
<!NOTATION csharp PUBLIC "CSharp 5.0">
<!NOTATION java PUBLIC "Java 8.0">
]>
<programas>
<programa lenguaje="java"><!-- Código fuente 1. --></programa>
<programa lenguaje="java"><!-- Código fuente 2. --></programa>
<programa lenguaje="csharp"><!-- Código fuente 3. --></programa>
</programas>
- CSharp 5.0 y Java 8.0 son identificadores públicos.