]> HTML 4.01 Specification

html4 mit der HT dtd

dreieck frontm DTD WH WHWT WT SGML D B WT A C

HT leitet sich von html ab. HT ist die Dokumententyp-Art, um deren Beziehungen zu SGML sich die ganze Untersuchung dreht. HT schließt den alten Weg ab und leitet am Ende den neuen Weg ein, auf dem es keine Unterschiede mehr zwischen HT und dem Rest der SGML Welt geben wird.

HT ist der Dokumententyp, zu dem jeder, meist, ohne es zu wissen, die nötigen SGML-Kenntnisse bereits mitbringt.

Die Dokumentation der html401.dtd ist im Wesentlichen wortgleich mit der W3C Recommendation 24 December 1999 von HTML 4.01, ist aber zweigeteilt, weil HT eine Doppelrolle spielt.

Die HT.dtd spielt in SGML entweder die Rolle einer Export-DTD, bei der die SGML Elemente der WH.dtd in die html Elemente von html401 umgewandelt werden. In diesem Sinn wird die W3C Dokumentation der html401.dtd gelesen.

Oder sie spielt die Rolle einer Import-DTD. Mit ihr kann man HTML Dokumente in den SGML Editor importieren und bearbeiten und wieder nach SGML exportieren mit der Dateiendung html. Mit ihr habe ich beispielsweise die drei Bände des "Kapital" von Karl Marx oder die HTML 4,.01 Recommendation des W3C in meinen SGML Editor geladen und kommentiert. Da html reines SGML ist, kann man den Text sowohl mit dem Texteditor, als auch mit dem SGML-Editor bearbeiten. Das ist vor allem bei Suchläufen im Texteditor gut für die Arbeit. Das W3C hat z. B. die 31 Dateien von HTML 4.01 in fünf verschiedenen Verzeichnissen stehen, während der entity manager meines SGML Editors mehrere externe entities als eine Einheit (book) nur akzeptiert wenn sie im selben Verzeichnis sind. Also musste ich per Suchlauf im Texteditor alle Pfade der URIS in den Dateien ändern und konnte die Dateien anschließend wieder in den SGML Editor laden und dort weiter bearbeiten.

fussnote: Das ist in html401 noch überschaubar, weil es nur ein paar hundert URIs sind. Aber in dem Mammutschinken um DML sind es etliche Hunterttausend, so dass der Texteditor hier unverzichtbar ist.

Da html-markup und SGML-Anwendung in HT gleichwertig sind, kann man den Text beliebig oft vom markup nach SGML importieren und vom SGML Editor ins markup exportieren. Es ist in beide Richtungen eine Sache von Sekunden für ein Buch von mehreren hundert Seiten.

Als eine solche DTD wird die html401.dtd erneut im Kapitel 25 untersucht.

Die HT.dtd

Die HT.dtd weist im Vergleich zur HTML4.01.dtd des W3C einige Eigenarten auf.

Einmal sind alle Elemente kleingeschrieben, die Groß- und Kleinschreibung ist grundsätzlich bindend, wie in XML, es gibt keine tag-minimization, jedes nicht leere Element hat einen start-tag und einen end-tag. Das gilt auch für references, die stets mit refc, dem Semikolon abgeschlossen werden.

Dann ist in HT ein Element über den SGML Mechanismus der reference zu Gast, das DtdEdd element, mit dem die DTD von html401 und alle anderen DTDs geschrieben sind. DtdEdd ist dadurch ein fester Bestandteil von html401, dient aber für die, die das nicht benötigen, nur dazu, den Mechanismus des Einschließens anderer DTDs oder Teilen von DTDs durch reference zu illustrieren. Genauer wird das in Kap. 25 »HT als Import- und Exportformat« besprochen.

Zum Aufbau der Doku

Die Elemente, Attribute und Entitäten der Kapitel 1-24 verweisen auf die DTD. Die Elemente, Attribute und Entitäten der DTD verweisen auf ele.html aus dem Kapitel 25, auf attl.html und auf die ent.html aus dem Kapitel 25, und die verweisen wieder auf die Kapitel 7-24 der Doku. Grund der Kreisverweise: Die DTD der Doku ist zugleich die DTD der HT app. Es darf nur eine DTD geben, die sich HT als Exportformat und HT als Importformat teilen müssen. So wird man bei der Lektüre der Elemente und Attribute im Kreis geführt, und vieles ist redundant. Bei den Entitäten ist es oft eine Zweibahnstraße von dtd.html nach ent.html und zurück, weil die Dokumentation der entities in der W3C Doku zu kurz gekommen ist und hier nachgeholt wird.