Erstellen einer XML-Grammatik mit DTDs

Die im Folgenden erläuterten Elemente dienen ausschließlich zum Formatieren des Brieftexts. Dazu gehören <b>, <i> und <tt> für Schriften mit fett gedruckten, kursiven und gleich breiten Zeichen. Hier die Element-Definitionen:


<!ELEMENT i ANY>
<!ELEMENT b ANY>
<!ELEMENT tt ANY>

Beachten Sie, dass diese Tags dieselben Bezeichnungen und Bedeutungen wie in HTML besitzen, allerdings ohne Attribute. Diese Praxis wurde aus dem Bereich des traditionellen Programmierens übernommen. Wenn eine vorhandene Grammatik allen Anforderungen genügt, wird sie einfach weiter verwendet, selbst dann, wenn sie möglicherweise optimiert werden könnte. So werden viele bemängeln, dass <tt> als Abkürzung von „Fixed Width Font“ eher verwirrend ist (auch wenn das „tt“ eigentlich für „Typewriter“ steht). Doch darauf kommt es nicht an. Die Bezeichnung ist brauchbar, weil sie von einer weit verbreiteten Sprache verwendet wird.

Eingabe von Daten
Ziel dieser Anwendung ist es, den Benutzern die Eingabe von Werten in bestimmte Felder eines Formbriefs zu ermöglichen. Wir stellen hierfür mehrere Optionen zur Verfügung, die an bekannte GUI-Elemente angelehnt sind: einzeilige Eingabefelder, mehrzeilige Eingabefelder, Optionsschaltflächen und Kontrollkästchen.

An dieser Stelle müssen wir eine weitere Entscheidung bezüglich unseres Designs treffen: Sollen wir einfach den Elementtyp INPUT aus HTML verwenden oder einen eigenen erstellen? Anfangs hatten wir den Elementtyp INPUT verwendet, dabei jedoch Attribute für die von uns benötigten Zusatzfunktionen hinzugefügt. Später hatten wir jedoch festgestellt, dass wir die Bedeutung des INPUT-Elements so stark erweitert hatten, dass es im Grunde nicht wie in HTML vorgesehen eingesetzt wurde. Also erschien es sinnvoller, ein eigenes Element zu erstellen. Die Elementtypen basieren allerdings auf dem Typ-Attribut in HTML, wobei die Attribut-Namen soweit sinnvoll gleich bleiben.

Inhaltsmodelle
Viele unserer Element-Definitionen sehen vor, dass ein beliebiger Inhalt („ANY“) eingegeben werden kann, d.h. sie können analysierte Zeichendaten oder Elemente eines beliebigen deklarierten Typs enthalten. Allerdings bestehen hier in der Praxis gewisse Einschränkungen: zum Beispiel können Formular- und Brief-Elemente nur als Root-Elemente verwendet werden, und Tabellen können keine weiteren Tabellen enthalten. In diesen Fällen wären die folgenden Deklarationen besser geeignet:


<!ELEMENT letter (#PCDATA | br | pg | sig | b | i | tt | if | table |
text | freetext | radiobox | checkbox | datetime | repeat) >
<!ELEMENT form (#PCDATA | br | pg | sig | b | i | tt | if | table |
text | freetext | radiobox | checkbox | datetime | repeat) >
<!ELEMENT table (#PCDATA | br | pg | sig | b | i | tt | if |
text | freetext | radiobox | checkbox | datetime | repeat) >

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

November-Patchday: Microsoft schließt Zero-Day-Lücken in Windows

Betroffen sind Windows und Windows Server. Microsoft patcht aber auch Schwachstellen in Excel, Word und…

2 Tagen ago

LG zeigt elastisches OLED-Display

Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…

3 Tagen ago

BSI zu Cybersicherheit: Bedrohungslage bleibt angespannt

Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…

3 Tagen ago

IT-Ausgaben in Europa steigen 2025 voraussichtlich um 8,7 Prozent

Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…

3 Tagen ago

Magento-Agentur für große Webshops: Was sollte die Magento-Agentur leisten können?

Magento zählt zu den führenden Shopsystemen in der Welt. Es punktet mit hoher Flexibilität und…

3 Tagen ago

Trojaner tarnt sich als AutoCAD

SteelFox gelangt über angebliche Cracks für kostenpflichtige Anwendungen auf die Rechner seiner Opfer. Betroffen sind…

4 Tagen ago