Abkürzungen in XML-Dateien#
Lernziel#
Mit Abkürzungen kann man sich Tipparbeit sparen. Außerdem wird der Quelltext übersichtlicher. Wie man das macht? Das lernen Sie hier.
- Wichtiger Hinweis:
Die selbst definierte Ersetzungen funktionieren nur, wenn die DTD-Konstrukte direkt im XML integriert sind, wie im Beispiel gezeigt.
Handlungsanweisungen#
- Aufgabe:
Fall Sie mit einer externen DTD arbeiten, integrieren Sie die DTD-Konstrukte direkt in die XML-Datei.
Ist der Titel einer CD noch nicht bekannt, so definieren Sie bitte eine Abkürzung &kein_titel;. Dort soll stehen »Titel der CD noch nicht bekannt.« Fügen Sie einen neuen Datensatz ein. Achten Sie auf die DTD.
Eine einfache Abkürzungen#
Entities sind wie in einer Textverarbeitung Textbausteine, welche die Eingabe von Textbausteinen beschleunigen. Sie kennen sicherlich einige Abkürzungen aus der HTML-Welt, wie z.B.
Ü ä ö ß ...
Mit dem XML-Standard können Sie eigene Abkürzungen definieren:
<!ENTITY Name_der_Entity Textinhalt >
Das Schlüsselwort ist ENTITY. Mit diesem geben Sie der Abkürzung einen Namen. Der eigentliche Inhalt folgt danach.
Wie vom HTML bekannt, beginnen bei der Eingabe diese Abkürzungen mit einem & (Und-Zeichen) und werden mit einem ; (Semikolon) abgeschlossen.
Ein Beispiel#
Da der Text oft vorkommen kann, ist es sinnvoll, ein Entity dafür zu bauen. Würde das Element email später ausgelesen werden, führt das automatisch zu dem Eintrag »Keine E-Mail angegeben!«: Zeilen: 13 (Definition), 26 (Anwendung).
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE adresse [
3 <!ELEMENT adresse (anrede, name, strasse, postanschrift, email*)>
4 <!ELEMENT anrede (#PCDATA)>
5 <!ELEMENT name (nachname, vorname)>
6 <!ELEMENT postanschrift (plz, wohnort)>
7 <!ELEMENT nachname (#PCDATA)>
8 <!ELEMENT vorname (#PCDATA)>
9 <!ELEMENT plz (#PCDATA)>
10 <!ELEMENT wohnort (#PCDATA)>
11 <!ELEMENT strasse (#PCDATA)>
12 <!ELEMENT email (#PCDATA)>
13 <!ENTITY email_default "Keine E-Mail angegeben!">
14]>
15<adresse>
16 <anrede>Herr</anrede>
17 <name>
18 <nachname>Becker</nachname>
19 <vorname>Heinz</vorname>
20 </name>
21 <strasse>Schwabenstr. 7</strasse>
22 <postanschrift>
23 <plz>14488</plz>
24 <wohnort>Berlin</wohnort>
25 </postanschrift>
26 <email>&email_default;</email>
27</adresse>