XML-Kataloge überprüfen

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

Wenn eine DTD nicht gefunden werden kann, ist oftmals ein fehlender oder falscher Eintrag in der Katalogdatei die Ursache. Um den Auflösungsprozess mitzuverfolgen, gibt es zwei Möglichkeiten:

  1. über das Programm xmlcatalog
  2. mit Hilfe der Variablen XML_DEBUG_CATALOG und dem Programm xmllint

Der Befehl xmlcatalog kann nicht nur zum Hinzufügen oder Löschen von Einträgen in Katalogdateien verwendet werden, sondern auch als Suchprogramm. Als Vorlage dient der Katalog aus dem Beispiel "testCatalog.xml". Die Eingabe von

xmlcatalog testCatalog.xml "-//OASIS//DTD DocBook XML V4.5//EN"

ergibt als Ausgabe

file:///usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd

Durch die Option -v wird der Befehl etwas gesprächiger:

Resolve pubID -//OASIS//DTD DocBook XML V4.5//EN
0 Parsing catalog testCatalog.xml
testCatalog.xml added to file hash
Found public match -//OASIS//DTD DocBook XML V4.5//EN
file:///usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd
Catalogs cleanup
Free catalog entry -//OASIS//DTD DocBook XML V4.5//EN
Free catalog entry http://www.beispiel.de/dtd/v2.3.4/bsp.dtd
Free catalog entry file:///usr/local/doc/xsldbg/catalog.xml
Free catalog entry testCatalog.xml
Free catalog entry

Bevor Sie nach weiteren Fehlerquellen suchen, führen Sie zuerst diesen Test durch. Dadurch lassen sich Tippfehler in Ihrer Katalogdatei schneller auffinden.

Die andere Möglichkeit setzt die Umgebungsvariable XML_DEBUG_CATALOG ein. Um den vorher verwendeten Katalog (Datei testCatalog.xml) vom XML-Parser xmllint zu verwenden, muss zusätzlich die Umgebungsvariable XML_CATALOG_FILES auf die jeweiligen Kataloge gesetzt werden. Die Eingabe des Befehls mit einer möglichen XML-Datei sieht wie folgt aus:

  • Linux:
XML_DEBUG_CATALOG=1 XML_CATALOG_FILES=./testCatalog.xml \
xmllint --valid --noout test.xml
  • Windows:
set XML_DEBUG_CATALOG=1
set XML_CATALOG_FILES=./testCatalog.xml 
xmllint --valid --noout test.xml

Die Ausgabe dieses Befehls ist dieselbe wie beim obigen Befehl mit xmlcatalog.

  

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de