XML の使用

IBM® SDK には、 XML4J および XL XP-J パーサー、XL TXE-J 1.0 XSLT コンパイラー、および XSLT4J XSLT インタープリターが含まれています。 これらのツールを使用すると、XML 処理の実装とは関係なく、XML 文書を解析、検証、変換、およびシリアライズできます。

XML プロセッサーの選択で説明されているように、ファクトリー・ファインダーを使用して抽象ファクトリー・クラスの実装を見つけます。 ファクトリー・ファインダーを使用すると、Java™ コードを変更せずに別の XML ライブラリーを選択できます。

使用可能な XML ライブラリー

IBM SDK には、以下の XML ライブラリーが含まれています。

XML4J 4.5
XML4J は、以下の規格をサポートしている検証パーサーです。
  • XML 1.0 (第 4 版)
  • XML 1.0 (第 2 版) の名前空間
  • XML 1.1 (第 2 版)
  • XML 1.1 (第 2 版) の名前空間
  • W3C XML Schema 1.0 (第 2 版)
  • XInclude 1.0 (第 2 版)
  • 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 は Apache Xerces-J 2.9.0 に基づいています。 詳しくは、「 http://xerces.apache.org/xerces2-j/ 」を参照してください。

XL XP-J 1.1

XL XP-J 1.1 は、高性能の非検証パーサーであり、StAX 1.0 (JSR 173) をサポートします。 StAX は、XML 1.0 文書および XML 1.1 文書のプル解析とストリーミング・シリアライゼーションのための双方向 API です。 XL XP-J 1.1で何がサポートされているかについて詳しくは、「 XL XP-J 参照情報 」セクションを参照してください。

XL TXE-J 1.0

バージョン 6 以降の場合、 IBM SDK for Java には XL TXE-J が含まれています。 XL TXE-J には、 XSLT4J 2.7.8 インタープリターと新しい XSLT コンパイラーが組み込まれています。 この新規コンパイラーはデフォルトで使用されます。 XSLT4J コンパイラーは、 IBM SDK for Java に含まれなくなりました。 XL TXE-J へのマイグレーションについては、 XL-TXE-J へのマイグレーション を参照してください。

XL TXE-J は、次の規格をサポートしています。
  • XSLT 1.0
  • XPath 1.0
  • JAXP 1.6

XML プロセッサーの選択

XML プロセッサーの選択は、 サービス・プロバイダーを使用して実行されます。 ファクトリー・ファインダーを使用する場合、Java は以下の場所をこの順序で調べて、どのサービス・プロバイダーを使用するかを確認します。
  1. サービス・プロバイダーと同じ名前を持つシステム・プロパティー
  2. プロパティー・ファイルに指定されているサービス・プロバイダー
    • XMLEventFactoryXMLInputFactoryXMLOutputFactory のみ: 次のファイル内のサービス・プロバイダーの値:
      • 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
      .
    • その他のファクトリーの場合: 次のファイル内のサービス・プロバイダーの値:
      • 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. META-INF/services/<service.provider>ファイルの内容です。
  4. デフォルトのサービス・プロバイダー
以下のサービス・プロバイダーは、Java で使用される XML 処理ライブラリーを制御します。
javax.xml.parsers.SAXParserFactory
SAX パーサーを選択します。 デフォルトでは、XML4J ライブラリーの org.apache.xerces.jaxp.SAXParserFactoryImpl が使用されます。
javax.xml.parsers.DocumentBuilderFactory
文書ビルダーを選択します。 デフォルトでは、XML4J ライブラリーの org.apache.xerces.jaxp.DocumentBuilderFactoryImpl が使用されます。
javax.xml.datatype.DatatypeFactory
データ型ファクトリーを選択します。 デフォルトでは、XML4J ライブラリーの org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl が使用されます。
javax.xml.stream.XMLEventFactory
StAX イベント・ファクトリーを選択します。 デフォルトでは、XL XP-J ライブラリーの com.ibm.xml.xlxp.api.stax.XMLEventFactoryImpl が使用されます。
javax.xml.stream.XMLInputFactory
StAX パーサーを選択します。 デフォルトでは、XL XP-J ライブラリーの com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl が使用されます。
javax.xml.stream.XMLOutputFactory
StAX シリアライザーを選択します。 デフォルトでは、XL XP-J ライブラリーの com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl が使用されます。
javax.xml.transform.TransformerFactory
XSLT プロセッサーを選択します。 設定される値は、以下のとおりです。
com.ibm.xtq.xslt.jaxp.compiler.TransformerFactoryImpl
XL TXE-J コンパイラーを使用します。 この値はデフォルトです。
org.apache.xalan.processor.TransformerFactoryImpl
XSLT4J インタープリターを使用します。
javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema
W3C XML Schema 言語のスキーマ・ファクトリーを選択します。 デフォルトでは、XML4J ライブラリーの org.apache.xerces.jaxp.validation.XMLSchemaFactory が使用されます。
javax.xml.xpath.XPathFactory
XPath プロセッサーを選択します。 デフォルトでは、XSLT4J ライブラリーの org.apache.xpath.jaxp.XPathFactoryImpl が使用されます。
注: IBM XML 実装は、 IBM SDK, Java Technology Edition バージョン 8 では非推奨であり、将来のリリースでは Oracle XML 実装に置き換えられます。