Klassen, die lesenden Zugriff auf Metadaten bieten, implementieren die Schnittstelle MetadataProvider. Ebenso wie der PropertiesProvider ist diese Schnittstelle sehr spartanisch gehalten. Sie bietet lediglich die Methode Metadata getMetadata(). Das von dieser Methode gelieferte Metadata-Objekt entspricht grob einem org.w3c.dom.Document, hat jedoch eine sehr viel aufgeräumtere Schnittstelle. Sie bietet drei wesentliche Funktionsgruppen:

  • den Zugriff auf den Inhalt des Dokumentes, also den Wurzelknoten,

  • die Validierung des Inhaltes gegen ein Schema, sowie

  • die Konvertierung des Inhaltes in ein anderes Format beziehungsweise die Ausgabe in ein anderes Medium.

Die einfachste aber äußerst nützliche Form der Konvertierung der Metadaten stellt die Umwandlung in eine Zeichenkette dar: im Gegensatz zu vielen anderen XML-Repräsentationen liefert ein simpler toString()-Aufruf auf einem Metadata-Objekt die Metadaten in »schön« formatierter XML-Form zurück. Für eine Ausgabe der Metadaten, zum Beispiel auf die Konsole, muss kein hoher Aufwand betrieben werden – ein System.out.println(document.getMetadata()) genügt. Mit weiteren Formen der Konvertierung lassen sich Metadaten in OutputStreams oder Writer schreiben, als javax.xml.transform.Result weiterverarbeiten oder in DOM-Form, das heißt ein org.w3c.dom.Document, überführen.

Soweit, so nützlich – die weitaus interessanteren Tricks hat jedoch der MetadataNode (der von Metadata.getRoot() zurückgegebene Wurzelknoten) auf Lager:

[jadice® document platform 5 Dokumentation. Erstellungsdatum: 2011-08-12]
loading table of contents...