]> Annex E.1 Document Type Definition Überblick general.dtd532

Die Ur-DTD ist die general.dtd aus dem Standard ISO 8879 (SGML). Sie war die Vorlage für die meisten DTDs, weil es nur diese Vorlage gab.

Weil ihre Elementnamen auch die Vorlage der html.dtd sind, steht sie im "alten Weg", obwohl sie die Vertreterin der WH Dokumententyp-Klasse des "neuen Wegs" ist.

Sie geht auf die Document Type Description zurück, die Goldfarb in dem Generalized Markup Language (GML) User’s Guide (1978) in einer Broschüre seines Arbeitgebers dokumentiert. Die general.dtd wird nun als die WH DTD besprochen. Da es für sie keine Dokumentation gibt, greife ich hin und wieder auf Zitate aus der GML Dokumentation zu, um Kommentare aus erster Quelle zu geben.

The General Document description can apply to a variety of documents, from memoranda to technical manuals. It may be used as a "catch-all" category for documents which do not conform to any other type description. (GML Appendix E Document Type Description for General Documents)

Mit den WH Dokumenten ist erstmals in der Geschichte der Menschheit gelungen, ein Ganzes in schriftlicher Form in seine natürlichen Teile zu teilen. Dabei kann das Ganze ein natürlicher Gegenstand sein oder ein ideelles Produkt. Die Teilung geschieht mit "Elementen" genannten Konstrukten der Schrift, die der Autor um die zu teilenden Teile der Schrift legt. Und die Schrift (das Dokument) als Ganze stellt den zu teilenden Gegenstand dar. Während in jeder anderen Kunst das Werk und die Werkzeuge des Künstlers verschiedene Gegenstände sind, bestehen in SGML sowohl das Dokument als auch dessen Elemente aus den Zeichen der Schrift. Das macht es erforderlich, bestimmte Zeichen allein zu dem Zweck zu verwenden, den Elementen und Attributen ihren Ort im Dokument zu geben.

In ihrer Beziehung zu HT haben WH Dokumente den Nachteil, dass ihre Elemente und Attribute beim Export nach HTML in eine andere DTD übersetzt werden müssen, von einer WH dtd in die HTML dtd. Das führt zwangsläufig zu Verlusten und teilweise zu unleserlichem markup. Sie hatten zu den SGML Zeiten den Vorteil, dass das Gesamtdokument beim Export in viele kleine HTML Dateien zerlegt werden kann, etwa alle parta, partb und partc, und dass sie durch "System Macros" der Textapplikation untereinander mit dem a Element verlinkt werden können. So können in jedem Teildokument Kopf- und Fußzeilen mit den Links "Zurück Hoch Weiter" automatisch erstellt werden. Das ist in einer HT oder WT Applikation derzeit nicht möglich.Diese Vorteile liegen aber nicht an WH selbst, sondern daran, dass es seinerzeit nur für WH Dokumente SGML Software gab. Ersteht SGML wieder auf, werden die Vorteile auch für WT Dokumente gelten. Bei der Zerlegung des Gesamtdokuments und seiner Verlinkung sind HT und WT daher noch im Nachteil, weil HT als SGML app nicht dazu ausgelegt ist und das Modell von WT noch zu jung ist.

Seit November 2017 ist es durch ein "Versehen" sogar möglich, das a Element aus HT in WH Dokumenten zu nutzen, die als HTML exportiert werden. Das hatte ich nicht für möglich gehalten und deshalb gar nicht ausprobiert. Dabei funktioniert es nach dem gleichen Schema wie alle Elemente , indem das a als <A class="a" href="..."> übersetzt wird.

Die Struktur eines WH body

Zwar kann ein WH Dokumententyp nur eine Struktur annehmen, aber er tut dies derzeit noch auf eine überlegenere Weise, als es HT tut.

Im WH body hat jedes Element sichere Grenzen, aus deren Schutz man sich nur auf ausdrücklichen Wunsch herausbegibt. Und die WH Struktur ist nicht ein Wald von <divs> und <spans>, sondern jedes Element trägt den ihm eigentümlichen Namen. Der WH body hat in der Regel element content aus wenigen Ganzen wie (parta|partb). Der element content des body ist die Ursache der sicheren Grenzen. Drückst du in einem Element in einer WH dtd auf die Ende Taste, so kommst du ans Ende des Elements, bleibst aber im Element, während du in einem HT Dokument aus dem Element herausfliegst, weil HTs body fließt.

Anfang, Mitte und Ende eines gedruckten Dokuments heißen in der general.dtd frontm (front matter), body und backm (back matter). Diese drei Teile befinden sich unmittelbar unter dem Ganzen, das in der general.dtd general heißt.

Structural Definition for the general.dtd531

Aus AAP S. 1-B-2 bis 1-B-5 entnommen, an general angepasst: The remainder of this appendix provides an explanation of the structure and the types of elements which may occur in AAP (general) document types. It is important to recognize that these document types are specifications for document input and not for the resulting product. The design of the output product is not defined by this standard.

The document types are explained by providing a hierarchical list of the top of level elements, in their appropriate sequence. The content definition for each of the subordinate elements can be found in the alphabetical listing in liele.html 56. And, where the subordinate elements are the same as those by referencing one of the lists in ent.html.

Die tag minimization gibt es nicht. %doctype; (<general>) (Elements from i.float are allowed anywhere in %doctype; unless otherwise stated) Front matter (<frontm>) Title page (<titlep>)die folgenden Elemente in beliebiger Reihenfolge Titel, (<title>) Dokumentennummer (<docnum>) (optional) Datum (<date>) (optional) Abstract (<abstract>) (optional) Autor (<author>) (optional and repeatable) Adresse (<address>) (optional and repeatable) Jedes der Elemente von s.zz in beliebiger Anzahl und Reihenfolge (Other front matter elements; all are optional and may be entered in any order) Preface (<preface>) Abstract (<abstract>) Headed Section Level 1 <h1>) Table of contents (<toc>) (optional) has generated content. List of Figures (<figlist>) has generated content. Body matter (<body>) (May consist of one or more h0 or one or more h1 Part (<h0>) Part title (<h01>) Optionally, any elements from s.zz Chapter (<h1>) (one or more) Chapter title (<h1t>) Optionally, any elements from s.zz Section (<h2>) (zero or more) Section title (<h2t>) Optionally, any elements from s.zz Subsection (<h3>) (zero or more) Subsection 1 title (<h3t>) Optionally, any elements from s.zz Sub-subsection (<h4>) (zero or more) Sub-subsection title (<h4t>) Optionally, any elements from s.zz Appendix (<appendix>) h1 (one or more) See Chapter under Part above for definition Back matter (<backm>) (optional) (Any of the following, entered in any order) Bibliography (<bibliog>) Glossary (<glossary>) Headed Section 1 (<h1>) See Chapter under Part above for definition

Innerhalb jedes der drei oder vier Teile von general Anfang (frontm), Mitte (body) und Ende (backm|appendix) gibt es ebenfalls einen obersten Teil, der entweder h0 (part) oder h1 (chapter) heißt, je nachdem er in der frontm, dem body oder der backm ist. Dabei steht h für headed section, also für die Überschrift und dem dazugehörigen Textabschnitt der Stufen 0 bis 6, nicht für heading wie in HTML und in GML. h0 gibt es nur im body, während h1 in der frontm, im body und im appendix oder in der backm sein kann. In h1 gibt es noch h2, in h2 gibt es h3, und in h3 gibt es h4 usw., so dass die Mitte, der body von general eine Teilungstiefe von fünf Stufen haben kann, der Anfang und das Ende jeweils vier haben können, meist aber nur eine oder zwei Stufen haben.

Für die Fälle, in denen davon abgewichen werden muss oder für "Nebenhierarchien" innerhalb einer Stufe gibt es die topics.

Der Rest der Dokumentation ist in die drei Teile für die Entitäten, Elemente und Attributlisten geteilt.