Metadaten nutzen: der MetadataProvider
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: