Fazit
- Diese Einführung hat gezeigt, dass XSD in der Tat deutlich mehr kann
als XML-DTDs. Um alle Möglichkeiten von XSD auszuschöpfen,
sind allerdings auch weit umfangreichere Kenntnisse erforderlich.
- Wenn man eine DTD und die entsprechende XSD vergleicht, sieht man
auf den ersten Blick, dass eine XSD bei gleichem Informationsgehalt viel mehr Zeichen benötigt, und auch, dass sie sich viel schlechter lesen lässt.
Das liegt neben der puren Zeichenmenge an der umständlichen XML-Syntax, und hier besonders daran, dass zentrale Informationen als Attributwerte
angeben sind. So fallen sie bei weitem nicht so deutlich ins Auge
wie z. B. Elementnamen bei Deklarationen in DTD-Syntax. Auch die
hierarchischen Strukturen, die mit allerlei XSD-Container-Elementen
durchsetzt sind, können vom menschlichen Auge nicht mehr intuitiv
wahrgenommen werden.
- Das alles sind natürlich auch Fehlerquellen, die den Aufwand,
der für die Erstellung einer XSD notwendig ist, in die Höhe treiben.
Dieser Aufwand setzt sich bei notwendigen Modifikationen fort.
- Der Preis für die Nutzung der Möglichkeiten von XSD ist also
ein höherer Aufwand in der Schema-Pflege, jedenfalls dann,
wenn man den Anspruch hat, eine XSD im Quelltext zu erstellen.
- Dieser Aufwand lässt sich freilich durch die Verwendung
von Tricks und Tools wieder auf ein akzeptables Maß vermindern.
- Wie es für DTDs Editoren mit graphischer Oberfläche gibt, gibt es
Editoren auch für die graphische Bearbeitung von XSDs. Mit ihnen
können leicht und ohne viel Aufwand XSDs erstellt werden,
die einer vergleichbaren DTD überlegen sind.
- Auch kann man zuerst eine DTD erstellen, diese mit einem Tool
in eine XSD konvertieren und erst dann die XSD-spezifischen Erweiterungen hinzufügen.
- Ab einem gewissen Komplexitätsgrad sind freilich auch gute XSD-Editoren überfordert und der Bearbeiter muss den Quelltext direkt bearbeiten.
Dann sind vergleichbar komplexe DTDs sicher einfacher zu pflegen.
- Als KO-Kriterium gilt allerdings, dass nur XSDs mit XML-Werkzeugen
wie Transformations-Prozessoren bearbeitet werden können. Wer also
eine automatische Modifikation seiner XML-Struktur-Definitionen benötigt,
ist mit XSD weit besser bedient.
-
Der vollständigen Umstellung eines XML-Workflows auf XSD sollte
eine sorgfältige Analyse der folgenden Punke vorausgehen:
- Dringlichkeit:
Wie sehr benötige ich Erweiterungen, die XSD bietet?
- Pflegeaufwand:
Kann ich meine XSDs mit einem graphischen XSD-Editor pflegen oder
würden sie so komplex ausfallen, dass aufwändige manuelle Pflege nötig wird?
- Software-Unterstützung:
Unterstützen alle Programme im Workflow eine Validierung mit XSD?
- Automatisierungsgrad:
Würden eine automatisierte XSD-Erstellung und automatisierte Modifikationen meinen Workflow erheblich erleichtern?
- Alternative Lösungen:
Wenn einige der vorstehenden Aspekte gegen XSD sprechen: Kann ich
die zusätzlichen Kontrollmöglichkeiten, die mir XSD bietet, evtl. mit Hilfe
eigener Skripte oder mit SGML-Mitteln mit geringerem Gesamtaufwand realisieren?
- Bei laufenden Projekten kann es sinnvoll sein, XSD als zusätzliches
Validierungsmittel während der Erstellung und Änderung von XML-Daten
durch menschliche Bearbeiter einzusetzen, um die hier besonders häufigen Fehler abzufangen. Für diesen Zweck können schon vorhandene DTDs
nach XSD konvertiert werden und mit wenig Aufwand um XSD-spezifische Erweiterungen ergänzt werden.
- An der Zukunft von XSD als DTD-Nachfolger kann es kaum Zweifel geben.
Die Nutzung von XML im WWW nimmt beständig zu, und da viele XML-Web-
Anwendungen den im Hintergrund laufenden Datenaustausch betreffen,
ist XSD das Mittel der Wahl, wenn es um die Validierung dieser Daten geht.
Mittlerweile unterstützen alle namhaften XML-Software-Produkte XSD.
Auch Publishing-Software, die XML auf ihre Fahnen schreibt (und welche tut das derzeit nicht?), wird sich dieser Entwicklung auf Dauer nicht entziehen können.