com.sun.org.apache JAXP パッケージは、IBM Java 6 ランタイム環境では使用できません。
次のパッケージのクラスは使用しないでください。
- com.sun.org.apache.xerces.*
- com.sun.org.apache.xml.*
- com.sun.org.apache.xalan.*
- com.sun.org.apache.xpath.*
マイグレーションの問題を簡単にするために、IBM Java 7 ではこれらの内部 API の一部が JRE に戻されました。
それでも、これらの内部 API を使用しないようにコードを変更することは、ベスト・プラクティスと見なされます。
この規則により、プロジェクトごとに 1 回これらのパッケージの使用にフラグを立てます。アプリケーションを評価して、アプリケーションがこれらの JAXP 1.3 内部パッケージのクラスを使用する範囲を判断してください。
引き続き JAXP の古い実装および内部クラスを使用したい場合、必要な JAR ファイルをダウンロードして、アプリケーションに組み込むことができます。Java 6 と Java 7 には javax.xml パッケージおよび org.apache パッケージを使用する JAXP 1.4 実装が組み込まれています。
以下の例では、インポート・ステートメントにフラグが立てられます。
< span class="Code"> import com.sun.org.apache.xerces.internal.jaxp.JAXPConstants;
....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...
推奨する修正処置として、Java ランタイム環境提供の API を以下の例のように使用します。
< span class="Code"> import org.apache.xerces.jaxp.JAXPConstants;
....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...
以下の情報を参照してください。