Download - IT-Designers GmbH
Download - IT-Designers GmbH
Download - IT-Designers GmbH
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
S TEINBEIS-TRANSFERZENTRUM<br />
- 3. XML Dokumente -<br />
Es gibt eine Reihe von Standard-Entities, die immer verfügbar sind, also nicht<br />
definiert werden müssen:<br />
• < < (less than)<br />
• > > (greater than)<br />
• & & (ampersand)<br />
• ' ' (apostrophe)<br />
• " " (quotation mark)<br />
Diese Entities (built-in entities) werden häufig gebraucht, da die entsprechenden<br />
Zeichen in der XML Syntax eine besondere Rolle spielen.<br />
Will man ein Zeichen in ein Dokument einfügen, das schwierig zu schreiben ist, kann<br />
man dies ebenfalls über den Entity-Mechanismus tun:<br />
©<br />
bedeutet, dass das Zeichen mit der Nummer 169 aus dem im Prolog angegebenen<br />
Code – im Unicode wäre das also © – eingefügt wird (character entity).<br />
Die oben bereits vorgestellten allgemeinen Entities (general entities) können<br />
prinzipiell beliebig groß sein und können insbesondere auch XML Fragmente<br />
enthalten. Es gelten allerdings ein paar Bedingungen: der String muss wohlgeformt<br />
sein und darf keinen Bezug auf sich selbst beinhalten.<br />
Um große Strings, die durch ein Entity repräsentiert werden sollen, auch außerhalb<br />
des Dokumentes unterzubringen, gibt es noch die sogenannten externen Entities<br />
(external entities): Sie verweisen auf Dateien im System (SYSTEM mit Dateinamen)<br />
oder im Web (PUBLIC mit Dateinamen und URI). Das folgende Beispiel zeigt den<br />
ersten Fall, die Entity adressen steht für das komplette Adressbuch:<br />
<br />
Auch hier gilt natürlich die Forderung, dass der Inhalt der Datei wohlgeformt sein<br />
muss. Ein validierender Parser wird das prüfen, und den Inhalt der Datei an der<br />
Stelle einfügen, wo die Entity (im Beispiel durch &adressen;) referenziert wird.<br />
Nicht-validierende Parser brauchen das nicht zu tun, sie müssen externe Entities<br />
noch nicht einmal ersetzen!<br />
Soll der Inhalt eines externen Entities nicht geprüft werden, weil beispielsweise eine<br />
Binärdatei, etwa ein Bild, eingefügt werden soll, dann kann das durch den Zusatz<br />
NDATA (Notation Data) gekennzeichnet werden. Ein Parser wird dann die externe<br />
Entity nicht prüfen.<br />
S OFTWARETECHNIK Einführung in XML © Prof. J. Goll<br />
- 20 -