Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


20.13.5

Hilfsklassen


URIResolver

Es ist oft nötig, Verknüpfungen in XSLT-Dateien aufzulösen, beispielsweise wenn in einer XSLT-Datei ein Include-Statement aufgeführt wird. In diesem Fall muss man der TemplateFactory mitteilen, wo bestimmte Verknüpfungen (Dateien oder URLs) zu finden sind.

Zu diesem Zweck dient das Interface URIResolver. Mit der Implementierung dieses Interface aus dem Paket javax.xml.transform kann eine eigene Logik zur Auflösung externer Referenzen implementiert werden. Das folgende Beispiel zeigt eine anonyme Implementierung von URIResolver, die Pfade relativ zu c:\temp auflöst:
TransformerFactory.newInstance().setURIResolver(
    new URIResolver() {
     public Source resolve(String href, String base) {
        // Alle inkludierten Dateien liegen 
        // relativ zu c:\temp
        return new StreamSource(
          new File ("c:\\temp\\"+href));
        }
    });
Ist im Stylesheet nun ein Statement wie
<xsl:include href="include.xsl"/>
vorhanden, wird die Datei c:\temp\include.xsl geladen.

Exakt den gleichen Mechanismus gibt es auch beim Transformer, damit dieser Referenzen auf andere Quellen in einer XML-Datei auflösen kann.

OutputKeys

Die Konstanten der Klasse OutputKeys dienen dazu, die Ausgabe einer Transformation zu verändern. Hierzu wird eine der Konstanten neben dem entsprechenden Wert an die Methode setOutputProperty(String key, String value) der Klasse Template übergeben. Das folgende Beispiel bestimmt HTML als Ausgabeformat:
  t.putProperty(OutputKeys.METHOD, "html");


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.