Java™ API for XML Processing リリースノート

仕様バージョン: 1.3
リファレンス実装 (RI) バージョン: 1.3.0

このドキュメントには、インストール手順と、このソフトウェアライブラリをより効果的に使用するために役立つ可能性のあるその他のメモが含まれています。詳細は、JAXP FAQ を参照してください。

注:
このページをオンラインで表示している場合は、リリースノートの最新版をご覧になっています。このページをリリースバンドルの一部としてダウンロードした場合は、最新版のリリースノートについて、JAXP Documentation ページを参照してください。

目次

コンポーネントのバージョン

以下のバージョンの関連テクノロジがリファレンス実装に組み込まれています。

JAR ファイルの洗い出し

このリリースには、6 個の JAR ファイルが含まれています。

jaxp-api.jar
JAXP の javax.xml.parsersjavax.xml.transformjavax.xml.xpathjavax.xml.validationjavax.xml.datatype および javax.xml.namespace コンポーネント。XML 処理実装のインスタンスをアプリケーションが一貫した方法で取得するための API が含まれています。 javax.xml.xpath パッケージでは、標準 XPath API をサポートしています。
sax.jar
Simple API for XML (SAX) の API とヘルパークラス。XML データへのシリアルアクセスに使用します。 API は SAX バージョン 2.0.2 をサポートしています。
dom.jar
Document Object Model (DOM) の API とヘルパークラス。メモリー内ツリー構造を XML データから作成するために使用します。 API は DOM Level 3 をサポートしています。
xercesImpl.jar
SAX および DOM パーサー実装クラスと、JAXP API の Xerces 固有実装。
 
xalan.jar
Xalan プロジェクトからの Compiling XSLT プロセッサ、XSLTC が含まれます。

XML の構文解析

このセクション内の情報は、Xerces テクノロジに関係します。最新のアップデートは、http://jaxp.dev.java.net で見つかります。 最新の Apache バージョンにおける既知のバグと最新の修正については、http://xml.apache.org/xerces2-j/releases.html を参照してください。 

スキーマ処理の既知の制限

このセクションでは、スキーマ処理の既知のバグ、制限、および実装依存の操作について説明します。

制限

次の制限では、上限値を指定します。

実装依存の操作

次の実装依存の操作は、W3C XML スキーマ仕様 (http://www.w3.org/2001/XMLSchema) でも完全に定義されていません。その結果、さまざまな実装が存在しています。

移行の既知の問題

このセクションでは、以前のバージョンの JAXP から移行するときに発生する既知の問題を扱います。

JAXP 1.2 からの移行

JAXP 1.2 は JWSDP と J2EE 1.4 に組み込まれています。『JAXP 互換性ガイド』の次のセクションでは、関連する移行の問題を扱っています。

JAXP 1.1 からの移行

JAXP 1.1 は J2EE 1.3 と J2SE 1.4 に組み込まれています。JAXP 1.1 との機能上の違いについては、『JAXP 互換性ガイド』を参照してください。

DOM Level 3 実装について

このセクションには、DOM Level 3 Core および DOM Level 3 Load and Save の実装メモが含まれています。

DOM Level 3 Core

次は実装されていません。

サポートするパラメータは次のとおりです。

DOM Level 3 Load and Save

次はサポートしていません。

Compiling XSLT プロセッサ (XSLTC)

XSLTC トランスフォーマは、変換エンジン translet を XSL スタイルシートから生成します。こうすることで、実行時アプリケーションから XML データへのスタイルシート命令の解釈を分離できます。

XSLTC は、スタイルシートを Java バイトコード (translet) にコンパイルすることで機能し、XSLT 変換を実行するために使用できます。この方法では、指定されたスタイルシートが一度コンパイルされたあと何回も使用されるため、XSLT 変換のパフォーマンスが大きく向上します。また、実際にスタイルシートで使用される XSLT 命令だけがインクルードされるため、非常に軽量な translet も生成されます。

注:
XSLT は JAXP transform パッケージによってサポートされます。実装に依存しない方法で XSLT の基本的な機能にアクセスする詳細は、javax.xml.transform を参照してください。

カスタムクラスローダの問題

カスタムクラスローダを変換ファクトリで使用すると、問題が発生する場合があります。

JAXP 内の変換ファクトリは、システムクラスローダの使用よりもコンテキストクラスローダの使用を常に優先します。そのため、アプリケーションでカスタムクラスローダを使用する場合は、カスタムクラスローダをコンテキストクラスローダとして変換ファクトリが使用するように設定する必要がある場合があります。カスタムクラスローダを現在のスレッドで設定するには、次のようにします。

try {
Thread currentThread = Thread.currentThread();
currentThread.setContextClassLoader(customClassLoader);
}
catch (SecurityException e) {
// ...
}

アプリケーションがマルチスレッド化されている場合は、新しいスレッドが作成されるたびに、カスタムクラスローダをすべてのスレッドで設定する必要がある場合があります。アプリケーションにコンテキストクラスローダを設定する権限がない場合は、セキュリティー例外がスローされます。


JWSDP セキュリティーについて

アプリケーションを Java Web Services Developer Pack (JWSDP) などの Web サーバー上で実行していて、セキュリティーを有効にしている場合は、次の権限を設定する必要があります。

permission java.io.FilePermission

"/${webserver.home}/common/endorsed/xercesImpl.jar", "read";
permission java.io.FilePermission
"/${webserver.home}/common/endorsed/xalan.jar", "read";

permission java.util.PropertyPermission
"javax.xml.parser.SAXParserFactory", "read, write";
permission java.util.PropertyPermission
"javax.xml.transform.TransformerFactory", "read, write";

permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission "JavaClass.debug", "read";

permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.RuntimePermission "accessDeclaredMembers";

注:
読み取り権限を xercesImpl.jar に設定しないと、次のような FactoryConfigurationError がスローされます。
   Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found


JAXP RI バージョンの変更点

JAXP RI バージョン 1.3 の変更点

JAXP RI バージョン 1.2.4 の変更点

JAXP RI バージョン 1.2.3 の変更点

JAXP RI バージョン 1.2.2 の変更点

JAXP RI バージョン 1.2.1 の変更点

Xerces パーサーのパフォーマンスが大幅に向上しました。

XSLTC はこのリリースには含まれません。J2EE プラットフォーム用にのみ用意されていました。 

JAXP RI バージョン 1.2.0-FCS の変更点

パーサー実装が Xerces 2.0.0_01 から Xerces-J 2.0.1_01 に変更されました
(Xerces 2.0.1 最終版 + 解決済みバグ修正)。Xalan XSLT プロセッサ
実装が xalan-j 2.3.1_01 (Xalan バージョン 2.3.1 +
解決済みバグ修正) に更新されました。

提案された 1.2 JAXP 仕様を完全にサポートします。
この仕様では、W3C XML スキーマを使用したドキュメント検証を実装しています。

JAXP RI バージョン 1.2.0-EA2 の変更点

パーサー実装が Xerces 2.0.0 beta3 から Xerces-J 2.0.0_01 に変更されました (Xerces 2.0.0 最終版 + 解決済みバグ修正)。Xalan XSLT プロセッサ実装が xalan-j 2.3.0_01 (Xalan バージョン 2.3.0 + 解決済みバグ修正) に更新されました。

Xalan XSLTC プロセッサも本リリースで追加されました。(実行準備のできた変換エンジン (translat) へスタイルシートをコンパイルするために使用)

提案された 1.2 JAXP 仕様を完全にサポートします。この仕様では、W3C XML スキーマを使用したドキュメント検証を実装しています。

JAXP RI バージョン 1.2.0-EA1 の変更点

パーサー実装が Apache Crimson から Xerces 2 バージョン 2.0.0 beta3 に変更されました。XSLT プロセッサ実装が Xalan classic バージョン 2.2.D14 に更新されました。

パーサーでは W3C XML スキーマをサポートしていますが、提案された JAXP 1.2 仕様のすべてはサポートしていません。特に、インスタンスドキュメントが特定のスキーマに準拠することを強制する機能は実装されていません。ただし、仕様のうち検証の部分は、インスタンスドキュメント内でスキーマヒントと一緒に使用できます。

 


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.