Erstellen einer XML-Grammatik mit DTDs

In früheren Artikeln wurde die Weiterentwicklung des Editors für Formbriefe in Richtung Verwendung von XML geschildert und die Document Type Definitions (DTDs) als ein primäres Design-Element vorgestellt. In diesem Artikel werden einige der bei der Erstellung von DTDs hinsichtlich des Designs getroffene Entscheidungen beleuchtet und Wege aufgezeigt, wie dieses Projekt noch verbessert werden kann.

Listing A zeigt unsere komplette DTD für die Beschreibung der Formbrief-Vorlagen. Es sind Elementtypen zur Text-Formatierung und für mögliche Benutzereingaben enthalten. Listing B zeigt ein Beispiel für eine vollständige Briefvorlage-Datei, in der die hier beschriebenen Elemente und Methoden angewandt werden.

Root-Elemente
Unsere Dokumente verwenden entweder den Elementtyp Brief oder den Elementtyp Formular als Root-Element. Der Unterschied liegt in den Standardrändern und dem Einfügen eines Briefkopfs. Hier die gegenwärtigen Definitionen:


<!ELEMENT letter ANY><!ELEMENT form ANY><!ATTLIST form
dest CDATA #IMPLIED
top CDATA "0"
bottom CDATA "0"
left CDATA "0"
right CDATA "0"
logo_x CDATA "0"
logo_y CDATA "0"
orient ( land | port ) "port">

Beachten Sie, dass nur das Formular-Element eine Festlegung von Rändern und Ausrichtung sowie das Einfügen eines Logos erlaubt. Diese Werte sind im Brief nicht veränderbar. Wir hätten daher diese festen Werte als Teil der DTD definieren können. Auf diese Weise können alle Standardwerte an einer Stelle erfasst werden, außerdem übernimmt so der Parser einen weiteren Teil der Arbeit:


<!ATTLIST letter
top CDATA #FIXED "12"
bottom CDATA #FIXED "6"
left CDATA #FIXED "15"
right CDATA #FIXED "15"
logo_x CDATA #FIXED "6.25"
logo_y CDATA #FIXED "2"
orient CDATA #FIXED "port">

Die Spezifikation #FIXED bedeutet, dass ein bestimmtes Attribut den angegebenen Wert aufweisen muss. Im Allgemeinen enthalten Dokumente keine eigenen Attribute sondern verwenden die Standard-Werte.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

4 Stunden ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

18 Stunden ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

18 Stunden ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

2 Tagen ago

Chrome 131 schließt zwölf Sicherheitslücken

Eine schwerwiegende Anfälligkeit hebelt die Sicherheitsfunktion Seitenisolierung auf. Betroffen sind Chrome für Windows, macOS und…

2 Tagen ago

DeepL Voice mit KI für Sprach- übersetzungen

DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.

2 Tagen ago