XML/DTD/Notationen
Notationen sind "Verarbeitungshinweise" an die interpretierende Software, wenn Sie externe Daten in XML einbinden, also etwa Grafiken, Multimedia, Java-Applets, Flash-Filme oder dergleichen. Solche Daten werden vom XML-Parser nicht direkt verarbeitet. Mit Hilfe der Notationen steht jedoch eine Möglichkeit zur Verfügung, der XML-verarbeitenden Software Details über die referenzierten Daten mitzuteilen.
Um externe Daten in XML-Dateien einzubinden, benötigen Sie Entities für externe Ressourcen und Attribute mit Entity-Wert. Mit einer zusätzlichen Notations-Definition geben Sie an, wie diese eingebundenen Daten verarbeitet werden sollen, oder zumindest, um welchen Datentyp es sich dabei handelt. Im letzteren Fall könnte der Parser diese Angabe z. B. ans Betriebssystem weiterreichen, das für den entsprechenden Datentyp möglicherweise ein geeignetes Programm kennt.
Schema zur Definition von Notationen
Notationen werden innerhalb einer DTD nach folgendem Schema notiert:
<!NOTATION Datentyp [SYSTEM|PUBLIC] "Verarbeitungshinweis" >
Die Definition einer Notation beginnt mit einer öffnenden spitzen Klammer <. Dahinter folgt unmittelbar anschließend ein Ausrufezeichen ! und dahinter, in Großbuchstaben, das Schlüsselwort NOTATION. Anschließend folgt die Angabe zum Datentyp, z. B. GIF oder VRML. Hinter dem Datentyp ist eines der Schlüsselwörter SYSTEM oder PUBLIC erlaubt. Anschließend folgt, in Anführungszeichen gesetzt, der Verarbeitungshinweis, dessen Inhalt sich nach dem Typ (SYSTEM oder PUBLIC) richtet.
Eine solche Notation-Definition können Sie an irgendeiner Stelle innerhalb der DTD definieren – vor oder nach anderen Definitionen wie <!ELEMENT...> (Elemente), <!ATTLIST...> (Attribute) oder <!ENTITY...> (Entities).
SYSTEM bzw. PUBLIC und mögliche Angaben zur Datenverarbeitung
Die Angabe SYSTEM ist dafür gedacht, wenn Sie wissen, wo auf dem Rechner oder im lokalen Rechnerverbund ein Programm aufrufbar ist, das die Daten verarbeiten kann. Für andere Fälle ist PUBLIC vorgesehen. Dann müssen Sie als Angabe zur Datenverarbeitung einen so genannten public identifier angeben. Ein vollständiges Beispiel für die Verwendung von SYSTEM finden Sie im Abschnitt Attribute mit Entity-Wert. Für public identifier gibt es leider bislang keine verbindlichen und ordentlich katalogisierten Verzeichnisse. Insofern ist eine eindeutige Verwendung derzeit nicht möglich. Auch die Verwendung von SYSTEM wird in der Praxis unterschiedlich gehandhabt.
<!NOTATION BMP PUBLIC "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN">
<!NOTATION CGM-CHAR PUBLIC "ISO 8632/2//NOTATION Character encoding//EN">
<!NOTATION CGM-BINARY PUBLIC "ISO 8632/3//NOTATION Binary encoding//EN">
<!NOTATION CGM-CLEAR PUBLIC "ISO 8632/4//NOTATION Clear text encoding//EN">
<!NOTATION EPS PUBLIC "+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN">
<!NOTATION FAX PUBLIC "-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 1 Untiled Raster//EN">
<!NOTATION GIF87a PUBLIC "-//CompuServe//NOTATION Graphics Interchange Format 87a//EN">
<!NOTATION GIF89a PUBLIC "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
<!NOTATION WMF PUBLIC "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows Metafile//EN">