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

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Erstellen einer XML-Grammatik mit DTDs

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *