18. Juni 2007

Java & XML Konfiguration

JAXP

XML-Verarbeitung ist standardisiert durch die Java API for XML Processing (JAXP)
Bis 1.4 war es nicht Bestandteil des JDK und muss separat heruntergeladen werden.

JDK 1.5 beinhaltet JAXP 1.3
JDK 1.6 beinhaltete JAXP 1.4

Interfaces/Abstrakte Klassen, etc
  • xml-apis.jar oder jaxp-api.jar oder xmlPasrserAPIs.jar
  • Optional, wenn nicht in den ersten enthalten:
    • sax.jar: Simple API for XML Processing
    • dom.jar Document Object Model API
JAXP-Implementierungen

Vor JDK 1.6 muss separat eine JAXP-Implementierung bezogen werden. Bei JDK 1.6 kommt eine RI im rt.jar mit (ist Xerces/Xalan)
  • xercexImpl.jar -> Xerces
  • Oracle XML Parser V2 for Java
  • Crimson
  • Saxon
  • xalan.jar -> Xalan (Transformation)

Properties
  • javax.xml.parsers.SAXParserFactory (für SAX-Parser)
  • javax.xml.parsers.DocumentBuilderFactory (für DOM-Parser)
  • javax.xml.transform.TransformerFactory (für XSLT)

Werte, z.B.:
  • org.apache.xerces.jaxp.SAXParserFactoryImpl
  • org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
  • com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

Diese Properties werden in dieser Reihenfolge ausgelesen:
  • System-Properties mit der Option -D gesetzt (beim Aufruf der java.exe) oder im Java-Code mit System.setProperty()
  • über jaxp.properties (in [PFAD zum JDK]\jre\lib)
  • In einem jar File im Ordner META-INF/services (So wird z.B. bei Tomcat-Distribution im common\endorsed-Ordner der XML-Parser gesetzt).
  • Als Fallback-Lösung, wird die Systemimplementierung verwendet

Keine Kommentare: