Die bisher gezeigten Beispiele sind immer davon ausgegangen, dass man entweder die DocBook-DTD und Stylesheets auf dem eigenen Rechner verfügbar hat und sie z.B. über <!DOCTYPE book SYSTEM "file:///c:/docbook/docbookx.dtd" > eingebunden hat oder immer auf die aktuelle Version der DTD im Internet verwiesen hat.
Beide Ansätze bringen jedoch Probleme mit sich. Lokale Verweise sind sehr praktisch, bringen jedoch Probleme mit sich, sobald mehr als eine Person auf der Datei arbeitet oder auf die Datei von mehreren Rechnern zugegriffen wird. Dann kann es nämlich sein, dass die DTD unter unterschiedlichen Pfaden erreichbar ist und die Dokumente entweder nicht validiert werden können oder jeder Mitarbeiter ständig die Doctype-Deklaration ändern muss.
Verweist man auf die DTD mit der vollständigen URL, dann ist das Dokument für alle Umgebungen gültig und kann überall validiert werden, jedoch nur so lange, wie der betreffende Rechner mit dem Internet verbunden ist. Hinzu kommt, dass jedesmal, wenn ein XML-Parser auf die Datei zugreift, die DTD aus dem Internet geladen werden muss, was nicht nur Bandbreite, sondern jedesmal auch Zeit kostet.
Das gleiche Problem gilt für Stylesheet-Anpassungen und den Import der original-Stylesheets. Um das Problem der Internet-Abhängigkeit zu lösen und gleichzeitig Rechnerunabhängigkeit zu wahren, gibt es zwei Lösungsansätze: Caching und XML-Kataloge. Beide Ansäze verfolgen das Ziel, einheitliche und kanonische Dokumente erstellen zu können, die leicht weitergebenen werden können.
Beiden Ansätzen ist gemein, dass die zu bearbeitenden Dokumente nicht verändert werden, also Referenzen auf die im Internet befindliche kanonische DTD enthalten. Die mit den Dokumenten arbeitenden Programme hingegen müssen entsprechend angepasst werden, und die entsprechenden Fähigkeiten haben.
Beim Caching werden die benötigten Dateien beim ersten Zugriff zwischengespeichert und bei jedem weiteren Zugriff wird die zwischengespeicherte Variante anstatt der im Internet befindlichen Variante genutzt. Das dazu nötige Programm ist ein Proxy-Server, der wie ein Filter zwischen Internet und dem eigentlichen Benutzerprogramm, sei es der XML-Editor, der Validator oder der XSLT-Prozessor.
In vielen Firmennetzwerken werden Proxies eingesetzt, um die Last auf den Internetverbindungen zu reduzieren und stellen daher eine einfach umzusetzende Möglichkeit dar. Sie müssen nur entsprechend konfiguriert werden, dass Sie DTDs und XSL-Stylesheets entsprechend lange zwischenspeichern.
Die Nutzerprogramme haben oft Möglichkeiten, zu nutzende Proxies festzulegen, wenn diese Möglichkeit jedoch nicht besteht, was sehr unwahrscheinlich ist, kann dieser Lösungsansatz nicht verfolgt werden.
Copyright © 2002, Lars Trieloff