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