< HOME OF SGML >

Mehr zu Schemas

von Brian Travis, Managing Editor
< TAG > Newsletter (May 1999), Architag


E

in XML Dokument kann entweder well-formed sein oder valide, richtig? Ein well-formed XML Dokument hält ein halbes Duzend "well-formed Vorschriften" der W3C XML Spezifikation ein. Um valide zu sein, muß ein XML Dokument eine Document Type Definition einhalten (DTD).

Die Leser dieses Ergusses werden sich erinnern, welche Menge von Zeit wir mit diesem Thema verbracht haben. Aber Fakt ist, es hat einigen Streit gegeben um den Unterschied zwischen well-formed und valid. Der ständige Kollumnist Bob DuCharme sagt, daß ein well-formed XML Dokument wirklich eine DTD hat, weil die Strukturdefinition eines Dokumentes von der Instanz des Dokumentes eingeschlossen sein kann [es beinhaltet die Struktur]. In Wahrheit ist also entsprechend DuCharme der einzige Unterschied zwischen well-formed XML und validem XML, daß valides XML eine DTD hat, die spezifiziert wurde, während well-formed XML eine "eingeschlossene" bzw. eine "beinhaltete" DTD hat.

Um noch ein bißchen mehr Verwirrung in diesen Prozeß zu bringen, gab diese Woche die W3C Schema Arbeitsgruppe die ersten öffentlichen Entwürfe ihrer zwei Reporte bezüglich ihrer Entwicklungsarbeit an einer alternativen Schema definition Syntax bekannt. Diese lang erwartete Spezifikation (lange in Internet-Jahren) wird Einige in der Industrie veranlassen, über unterschiedliche Wege der Beschreibung der Struktur von XML Dokumenten nachzudenken. Es wird auch zur Verwirrung neuer Anwender beitragen.

Einige in der Industrie sagen, daß DTD's seit Jahren funktionieren, also sollten sie fortfahren alles zu sein, was wir brauchen. Wenn Du umfangreiche Datentypen willst, so benutze NOTATION oder validiere die Daten in Deiner Anwendung. Andere sagen, wir brauchen einen Standard, der umfangreiches Datentypen definiert und andere Dinge wie Vererbung und namespaces. Sie denken auch es sei dumm, die Struktur eines Dokumentes mit einer anderen Syntax zu beschreiben als das Dokument selbst. "Warum sollen wir zwei Syntaxen lernen?"

Wir haben diese Art Ding schon in der SGML Welt gesehen. Neue Anwender kommen zu uns "Experten" und fragen um Rat, wie sie beginnen können, und es scheint, als verursache jede unschuldige Frage einen Kampf. Die SGML Experten können sich nicht einigen, welche Tabellen DTD unterstützt werden soll oder ob es besser ist, eine eigene DTD zu entwickeln, eine veröffentlichte zu benutzen oder eine Kombination aus beiden. "... und warum benutzt Du ein 'bold' Tag?" Natürlich haben wir alle unsere Gründe, SGML rein und handhabbar zu halten, aber das ist nicht ofeensichtlich für den Frager, so brechen sie ab und benutzen PDF oder HTML.

Ich denke die Verwirrung über Schemas wird sich ab einem bestimmten Punkt verringern [abate]. Wenn einst das W3C zu einem bestimmten Schema übereinkommt, welches wir alle benutzen können und Hersteller es in Parser, Editoren, Datenbanken und andere Werkzeuge integrieren, wird das DTD-gegen-schema Argument strittig sein [moote].

Ich bin ein Befürworter der DTD, weil sie schon lange eine großartige Möglichkeit ist, die Struktur eines dokumentorientierten Sets von Informationen zu definieren. Sie wird weiterhin in der SGML Gemeinschaft benutzt werden, weil sie vielseitig, kurz und mächtig ist. Gleichgültig, die DTD hat nicht wirklich Platz in der viel größeren Web-orientierten XML Welt, wo Programmierer Möglichkeiten zur Beschreibung ihrer umfangreichen Datenbestände brauchen, die zur Verarbeitung und Verwaltung der Daten taugen. Als Programmierer mag ich die vom W3C Kommitee bewältigte Schema Arbeit, ich würde gern den XML Prozessor haben der prüft, daß die Datentypen im Dokument auch das sind, was zu sein sie definiert wurden. Ich mag auch die Tatsache, daß Schemas den Vorteil gemeinsamer objektorientierter Konzepte nutzen können wie z. B. Vererbung. Das gleicht die Daten-Seite an das an, womit die Programmierer auf der Code-Seite jahrelang zu kämpfen hatten.

Ich mag nicht die Ausführlichkeit, die XML Schemas erfordern. Das Schema einer gegebenen Struktur ist mindestens zweimal so groß wie die ungefähr gleichwertige DTD. Aber egal, mit neuen Werkzeugen, die auftauchen um bei der Entwicklung und Verwaltung von Schemas zu helfen [..], können wir die Reichhaltigkeit von Schemas gemeinsam mit der Einfachheit moderner Code Entwicklungsumgebungen haben.

Ich sehe die DTD nicht lange fortdauern, nachdem Werkzeuge XML Schemas unterstützen werden. Ihr könnt mich zitieren. <end/>


Dieses Dokument:

Übersetzung: Derrek Erhold, 06. Jun. 1999.
Document URL: http://th-o.de/sgml/schemas.htm.
Kommentare willkommen

siehe auch:

W3C XML Activity statement
http://www.w3.org/XML/Activity
-- und --
Press Release
http://www.w3.org/1999/05/schema-1st-wd.

zurück zur Homepage