02.06.2013 Aufrufe

Download - IT-Designers GmbH

Download - IT-Designers GmbH

Download - IT-Designers GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

• &lt; < (less than)<br />

• &gt; > (greater than)<br />

• &amp; & (ampersand)<br />

• &apos; ' (apostrophe)<br />

• &quot; " (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 />

&#169;<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 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!