Saltar al contenido principal

Públicas

Las notaciones públicas son aquellas que están recogidas en algún estándar público. Se pueden identificar mediante un identificador público.

Una notación pública tiene la siguiente sintaxis:

<!NOTATION name PUBLIC "id">

Donde:

  • name es el nombre de la notación que queremos definir.
  • PUBLIC hace referencia a que se trata de una notación pública.
  • id es el identificador público del sistema encargado de procesar el tipo de fichero.

En la declaración de una notación pública se puede indicar un identificador público estándar como, por ejemplo, JPG 1.0:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE frutas [
<!ELEMENT frutas (fruta)*>
<!ELEMENT fruta EMPTY>
<!ATTLIST fruta foto ENTITY #REQUIRED>
<!ENTITY manzana SYSTEM "manzana.jpg" NDATA jpg>
<!ENTITY naranja SYSTEM "naranja.jpg" NDATA jpg>
<!NOTATION jpg PUBLIC "JPG 1.0">
]>
<frutas>
<fruta foto="manzana"/>
<fruta foto="naranja"/>
</frutas>

Una sintaxis alternativa de la notación pública es la siguiente:

<!NOTATION name PUBLIC "id" "helper">

En esta declaración, a mayores se añade el nombre de la aplicación en el sistema. Sería la misma que indicaríamos en la notación privada.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE frutas [
<!ELEMENT frutas (fruta)*>
<!ELEMENT fruta EMPTY>
<!ATTLIST fruta foto ENTITY #REQUIRED>
<!ENTITY manzana SYSTEM "manzana.jpg" NDATA jpg>
<!ENTITY naranja SYSTEM "naranja.jpg" NDATA jpg>
<!NOTATION jpg PUBLIC "JPG 1.0" "image/jpeg">
]>
<frutas>
<fruta foto="manzana"/>
<fruta foto="naranja"/>
</frutas>

En la notación del anterior DTD:

  • Se ha indicado el identificador público estándar JPG 1.0.
  • Se ha definido la aplicación local image/jpeg.

Por último, consideremos el siguiente documento XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE documentos [
<!ELEMENT documentos (documento)*>
<!ELEMENT documento (#PCDATA)>
<!ATTLIST documento version NOTATION (html4|html5) #REQUIRED>
<!NOTATION html4 PUBLIC "HTML 4.01">
<!NOTATION html5 PUBLIC "HTML 5">
]>
<documentos>
<documento version="html4"><!-- Código del documento 1. --></documento>
<documento version="html5"><!-- Código del documento 2. --></documento>
<documento version="html5"><!-- Código del documento 3. --></documento>
<documento version="html4"><!-- Código del documento 4. --></documento>
</documentos>

En el código anterior:

  • Se indica que los elementos documento tienen que incluir obligatoriamente el atributo version
  • El valor del atributo version será una notación y pueden tomar como valor html4 o html5.
  • Las notaciones html4 o html5 están definidas y son públicas.
  • HTML 4.01 y HTML 5 son identificadores públicos.