Saltar al contenido principal

Notaciones

Una notación es mecanismo para especificar el formato de entidades externas que no pueden ser analizadas (parsed) por un intérpete XML. Dicho de otro modo, una notación es cualquier cosa que un procesador XML no puede entender y analizar.

Habitualmente, las notaciones se utilizan para ficheros binarios, pero también se pueden utilizar para ficheros de texto. Las notaciones también se denominan entidades no analizables (unparsed entities).

Tipos de ficheros

Los ficheros se dividen en dos grupos:

  • De texto: su contenido está codificado en texto, el cual es legible por las personas. Estos archivos suelen contener solo caracteres alfanuméricos y símbolos, y se pueden abrir y editar con un editor de texto. Ejemplos: archivos de texto, scripts, código fuente, etc.
  • Binarios: son aquellos que contienen información codificada en formato binario (ceros y unos). Estos archivos suelen contener información que no es legible directamente por las personas. Ejemplos: vídeos, imágenes, audio, etc.

Por ejemplo, se puede utilizar una notación para un archivo que contenga una imagen. Dichas entidades externas no serán analizadas por el procesador XML porque no será capaz de entender el formato de una imagen. Por ello, se indica que las imágenes sean tratadas por otro programa que sea capaz de procesar imágenes.

Declaración de una notación

La declaración de notaciones tiene la siguiente sintaxis:

<!NOTATION name identifier "helper">

Donde:

  • name es el nombre de la notación que queremos definir. Los nombres de las notaciones siguen las mismas reglas que los nombres de elementos y atributos.
  • identifier puede tomar valor SYSTEM o PUBLIC.
  • helper es el identificador del programa encargado de procesar el tipo de fichero.

La cadena <!NOTATION indica que se trata de una declaración de una notación y la cadena > indica que se termina. Las partes anteriores debe separase entre ellas por un espacio en blanco o más.

Un ejemplo de declaración de notación sería el siguiente:

<!NOTATION jpeg SYSTEM "image/jpeg">