XML verwenden

Das IBM® SDK enthält die Parser XML4J und XL XP-J, den XSLT-Compiler XL TXE-J 1.0 und den XSLT-Interpreter XSLT4J . Mithilfe dieser Tools können Sie XML-Dokumente unabhängig von einer bestimmten Implementierung zur XML-Verarbeitung syntaktisch analysieren, umwandeln und serialisieren.

Verwenden Sie Factory-Finder, um Implementierungen der abstrakten Factory-Klassen zu lokalisieren, wie unter XML-Prozessor auswählenbeschrieben. Mit Factory-Findern können Sie eine andere XML-Bibliothek auswählen, ohne Ihren Java™ -Code zu ändern.

Verfügbare XML-Bibliotheken

Das IBM SDK enthält die folgenden XML-Bibliotheken:

XML4J 4.5
XML4J ist ein Validierungsparser mit Unterstützung für die folgenden Standards:
  • XML 1.0 (4. Ausgabe)
  • Namensbereiche in XML 1.0 (2. Ausgabe)
  • XML 1.1 (2. Ausgabe)
  • Namensbereiche in XML 1.1 (2. Ausgabe)
  • W3C XML Schema 1.0 (2. Ausgabe)
  • XInclude 1.0 (2. Ausgabe)
  • OASIS XML Catalogs 1.0
  • SAX 2.0.2
  • DOM Level 3 Core, Load and Save
  • DOM Level 2 Core, Events, Traversal and Range
  • JAXP 1.6

XML4J 4.5 basiert auf Apache Xerces-J 2.9.0. Weitere Informationen finden Sie unter http://xerces.apache.org/xerces2-j/ .

XL XP-J 1.1

XL XP-J 1.1 ist ein leistungsfähiger Parser ohne Validierungsfunktion mit Unterstützung für StAX 1.0 (JSR 173). StAX ist eine bidirektionale API für Pull-Parsing- und Streaming-Serialisierung von XML 1.0- und XML 1.1-Dokumenten. Weitere Informationen zu den von XL XP-J 1.1unterstützten Funktionen finden Sie im Abschnitt Referenzinformationen zu XL XP-J .

XL TXE-J 1.0

Für Version 6 und höher enthält IBM SDK for Java XL TXE-J. XL TXE-J enthält den Interpreter XSLT4J 2.7.8 und einen neuen XSLT-Compiler. Der neue Compiler wird standardmäßig verwendet. Der XSLT4J -Compiler ist nicht mehr im IBM SDK for Java enthalten. Informationen zur Migration auf XL TXE-J finden Sie unter Migrieren auf XL TXE-J .

XL TXE-J unterstützt die folgenden Standards:
  • XSLT 1.0
  • XPath 1.0
  • JAXP 1.6

Auswählen eines XML-Prozessors

Die Auswahl eines XML-Prozessors wird mithilfe von Service-Providern durchgeführt. Wenn Sie einen Factory-Finder verwenden, sucht Java an den folgenden Stellen in dieser Reihenfolge nach dem zu verwendenden Service-Provider:
  1. Die Systemeigenschaft, die denselben Namen wie der Service-Provider hat.
  2. Den in einer Eigenschaftendatei angegebenen Service-Provider.
    • Nur für XMLEventFactory, XMLInputFactory und XMLOutputFactory. Den Wert des Service-Providers in der folgenden Datei:
      • AIX: /etc/java8[_64]/jre/lib/stax.properties
      • Linux: /opt/ibm/java-<arch>-80/jre/lib/stax.properties
      • Windows: C:\Program Files\IBM\Java80\jre\lib\stax.properties
      • z/OS: /usr/lpp/java/J8.0[_64]/jre/lib/stax.properties
      .
    • Für andere Factorys. Den Wert des Service-Providers in der folgenden Datei:
      • AIX: /etc/java8[_64]/jre/lib/jaxp.properties
      • Linux: /opt/ibm/java-<arch>-80/jre/lib/jaxp.properties
      • Windows: C:\Program Files\IBM\Java80\jre\lib\jaxp.properties
      • z/OS: /usr/lpp/java/J8.0[_64]/jre/lib/jaxp.properties
  3. Der Inhalt der Datei META-INF/services/<service.provider>
  4. Den Standard-Service-Provider.
Die folgenden Service-Provider steuern die von Java verwendeten XML-Verarbeitungsbibliotheken:
javax.xml.parsers.SAXParserFactory
Wählt den SAX-Parser aus. Standardmäßig wird org.apache.xerces.jaxp.SAXParserFactoryImpl aus der XML4J-Bibliothek verwendet.
javax.xml.parsers.DocumentBuilderFactory
Wählt das Dokumenterstellungsprogramm aus. Standardmäßig wird org.apache.xerces.jaxp.DocumentBuilderFactoryImpl aus der XML4J-Bibliothek verwendet.
javax.xml.datatype.DatatypeFactory
Wählt die Datentypfactory aus. Standardmäßig wird org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl aus der XML4J-Bibliothek verwendet.
javax.xml.stream.XMLEventFactory
Wählt die StAX-Ereignisfactory aus. Standardmäßig wird com.ibm.xml.xlxp.api.stax.XMLEventFactoryImpl aus der XL XP-J-Bibliothek verwendet.
javax.xml.stream.XMLInputFactory
Wählt den StAX-Parser aus. Standardmäßig wird com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl aus der XL XP-J-Bibliothek verwendet.
javax.xml.stream.XMLOutputFactory
Wählt die StAX-Serialisierungsmethode aus. Standardmäßig wird com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl aus der XL XP-J-Bibliothek verwendet.
javax.xml.transform.TransformerFactory
Wählt den XSLT-Prozessor aus. Gültige Werte:
com.ibm.xtq.xslt.jaxp.compiler.TransformerFactoryImpl
Verwendet den XL TXE-J-Compiler. Dieser Wert stellt den Standardwert dar.
org.apache.xalan.processor.TransformerFactoryImpl
Verwendet den XSLT4J-Interpreter.
javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema
Wählt die Schemafactory für die W3C XML Schemasprache aus. Standardmäßig wird org.apache.xerces.jaxp.validation.XMLSchemaFactory aus der XML4J-Bibliothek verwendet.
javax.xml.xpath.XPathFactory
Wählt den XPath-Prozessor aus. Standardmäßig wird org.apache.xpath.jaxp.XPathFactoryImpl aus der XSLT4J-Bibliothek verwendet.
Hinweis: Die XML-Implementierung von IBM ist in IBM SDK, Java Technology Edition, Version 8 veraltet und wird in einem zukünftigen Release durch die XML-Implementierung von Oracle ersetzt.