6.2.3 J2SE 5.0とJava SE 6の動作の差異

J2SE 5.0上でJAXP1.3を利用する場合と,Java SE 6上でJAXP1.4を利用する場合とでは一部の動作が異なります。実行時の動作の差異を次の表に示します。

表6-4 J2SE 5.0とJava SE 6の動作差異

項番条件実行結果
J2SE 5.0の場合Java SE 6の場合
1javax.xml.datatype.DatatypeFactoryクラスのnewDurationYearMonth(long)メソッドが返すDurationオブジェクトの内容年および月以外のデータも保持されています。年および月以外のデータは保持されません。
2javax.xml.datatype.Durationクラスのequalsメソッドのパラメタにnullを指定した場合NullPointerExceptionが発生します。falseを返します。
NullPointerExceptionは発生しません。
3U+D800~U+DFFFを含み,属性値またはテキストに指定できないXML文書をパースした場合(ただし,サロゲートペアは除く)エラーになります。正常終了します。
ただし,処理結果は不正となるため,注意してください。
4高速パース機能を使用して,RFC2396がXML文書名として許容していない文字(日本語や空白など)を含むFileオブジェクトを次のメソッドに指定した場合
  • DocumentBuilderクラスのparse(File)メソッド
  • SAXParserクラスのparse(File, DefaultHandler)メソッド
次のファイル名は,Fileオブジェクトで指定したとおりになります。
  • チューニングサマリファイルの解析対象のXML文書名
  • チューニング詳細ファイルのファイル名
  • チューニング詳細ファイルの解析対象のXML文書名
次のファイル名は,%xxで符号化されます。
  • チューニングサマリファイルの解析対象のXML文書名
  • チューニング詳細ファイルのファイル名
  • チューニング詳細ファイルの解析対象のXML文書名
5javax.xml.stream.XMLStreamException(Throwable)コンストラクタで生成したオブジェクトでgetCauseメソッドを実行する場合nullを返します。コンストラクタに指定したThrowableオブジェクトを返します。
6次のすべての条件に該当する場合
  • トランスフォーマのスタイルシートでxsl:sortを使った変換を実施する
  • トランスフォーマのスタイルシートのソートキーに日本語が指定されている
Java SE 6の場合とは異なる出力結果になります。J2SE 5.0の場合とは異なる出力結果になります。