Privadas
Las notaciones privadas son aquellas que no están recogidas en ningún estándar público.
Una notación privada tiene la siguiente sintaxis:
<!NOTATION name SYSTEM "helper">
Donde:
namees el nombre de la notación que queremos definir.SYSTEMhace referencia a que se trata de una notación privada.helperes el nombre del sistema encargado de procesar el tipo de fichero.
Consideremos el sigiuente documento XML:
<?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 SYSTEM "image/jpeg">
]>
<frutas>
<fruta foto="manzana"/>
<fruta foto="naranja"/>
</frutas>
En el documento anterior, se indica que:
- Los elementos
frutaque se escriban tienen que incluir obligatoriamente el atributofoto, donde su valor será una entidad.<!ATTLIST fruta foto ENTITY #REQUIRED> - Existen dos entidades (
manzanaynaranja), donde sus valores serán cargados de ficheros externos (manzana.jpgynaranja.jpg). Estos ficheros no deben ser interpetadas por el procesador XML, sino por la aplicación definida en la notación con nombrejpg.<!ENTITY manzana SYSTEM "manzana.jpg" NDATA jpg>
<!ENTITY naranja SYSTEM "naranja.jpg" NDATA jpg> - La notación
jpgindica que se debe utilizar la aplicaciónimage/jpegpara interpretar correctamente los ficheros vinculados a esta notación.<!NOTATION jpg SYSTEM "image/jpeg">
Si queremos ser más específicos, podemos especificar la ruta del programa a utilizar. Por ejemplo, si en el sistema existe un programa capaz de procesar imágenes JPG, llamado jpg-viewer.exe y ubicando dentro del directorio apps, también se podría escribir:
<?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 SYSTEM "apps/jpg-viewer.exe">
]>
<frutas>
<fruta foto="manzana"/>
<fruta foto="naranja"/>
</frutas>