XML 処理用 の JavaTM API リリースノート

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

このドキュメントでは、インストール手順と、このソフトウェアライブラリをより効果的に使用するための注意が説明されています。詳細は、JAXP FAQ を参照してください。

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

目次

機能変更

JAXP 1.4 での技術的に重要な変更点は、Streaming API for XML(StAX) (JSR 173) の javax.xml.stream.* パッケージが追加されたことです。この追加により、JAXP 1.4 は、ストリーム API を使用してドキュメントの検証および変換をサポートします。JAXP 1.4 は Java SE 6 に統合されているため、StAX のサポートは最新の Java が実行されている任意のシステムで透過的です。

gMonth

JAXP 1.4 では、gMonth に対する XML スキーマ検証ロジックが変更されており、XML Schema 1.0 Specification Errata: E2-12 Error で行われた変更が反映されています。 具体的には、字句表現「--MM--」を使った gMonth を無効だとして拒否します。

JAXP 1.3 以後の仕様変更

JAXP 1.4 仕様 の第 9 章「Changes Since JAXP 1.3」も参照してください。

次のセクションには、JAXP 1.4 で行われた重要な変更点がまとめられています。詳細は、該当する JavaDoc を参照してください。

1. パッケージ javax.xml.datatype

1.1. クラス DatatypeFactory

  • DATATYPEFACTORY_IMPLEMENTATION_CLASS は次のように変更されました。 com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl

  • newInstance(String, ClassLoader) メソッドを追加しました。

1.2. クラス Duration

  • equals() に対する引数が null である場合、NullPointerException をスローする代わりに false を返します。

1.3. クラス XMLGregorianCalendar

  • equals() に対する引数が null である場合、NullPointerException をスローする代わりに false を返します。

2. パッケージ javax.xml.parsers

2.1. クラス DocumentBuilderFactory

  • newInstance(String, ClassLoader) メソッドを追加しました。

2.2. クラス SAXParserFactory

  • newInstance(String, ClassLoader) メソッドを追加しました。

3. パッケージ javax.xml.stream

      StAX をサポートするために javax.xml.stream パッケージを追加しました。このパッケージは、次のインタフェースで構成されています。

  • EventFilter

  • [Location]

  • StreamFilter

  • XMLEventReader

  • XMLEventWriter

  • XMLReporter

  • XMLResolver

  • XMLStreamConstants

  • XMLStreamReader

  • XMLStreamWriter

      クラス:

  • XMLEventFactory

  • XMLInputFactory

  • XMLOutputFactory

      例外:

  • XMLStreamException

      エラー:

  • FactoryConfigurationError

4. パッケージ javax.xml.stream.events

      StAX をサポートするために javax.xml.stream.events パッケージを追加しました。このパッケージは、次のインタフェースで構成されています。

  • 属性

  • 文字

  • 備考

  • DTD

  • EndDocument

  • EndElement

  • EntityDeclaration

  • EntityReference

  • Namespace

  • NotationDeclaration

  • ProcessingInstruction

  • StartDocument

  • StartElement

  • XMLEvent

4.1. パッケージ javax.xml.stream.util

      StAX をサポートするために javax.xml.stream.util パッケージを追加しました。このパッケージは、次のインタフェースで構成されています。

  • XMLEventAllocator

  • XMLEventConsumer

      クラス:

  • EventReaderDelegate

  • StreamReaderDelegate

5. パッケージ javax.xml.transform

5.1. クラス ErrorListener

  • fatalError() のセマンティクスを明示しました。

5.2. クラス Transformer

  • スタイルシートで setOutputProperty() または xsl:output を指定して明示的に設定されていないプロパティーに対して、getOutputProperty() のセマンティクスを明示しました。

5.3. クラス TransformerFactory

  • newInstance(String, ClassLoader) メソッドを追加しました。

5.4. パッケージ javax.xml.transform.stax

      StAX をサポートするために javax.xml.transform.stax パッケージを追加しました。このパッケージは、次のインタフェースで構成されています。

  • TemplatesHandler

  • TransformerHandler

      クラス:

  • StAXResult

  • StAXSource

6. クラス javax.xml.validation

6.1. クラス Schema

  • SchemaFactory 上で設定されている機能は newValidator() を使用して作成された Validator に渡される必要があることを明示しました。

  • SchemaFactory 上で設定されている機能は newValidatorHandler() を使用して作成された ValidatorHandler に渡される必要があることを明示しました。

6.2. クラス SchemaFactory

  • newInstance(String, ClassLoader) メソッドを追加しました。

  • SchemaFactory 上で設定されている機能は newSchema() を使用して作成された Schema に渡される必要があることを明示しました。このコンテキストで newSchema() に関連する微妙な点に関する、実装者と開発者への注意を含めました。

  • newSchema(Source[]) への入力は XML ドキュメントまたは要素が想定されていることを明示しました。

  • SchemaFactory 上で設定されている機能はこのファクトリを使用して作成された Schema に渡される必要があり、さらにその Schema から作成された ValidatorValidatorHandler に渡される必要があることを明示するために、setFeature() のドキュメントを更新しました。

6.3. クラス SchemaFactoryLoader

SchemaFactoryLoader クラスは、JAXP 1.3 の開発プロセス中に作成されました。JAXP 1.3 が完了する直前に、検証に関連するファクトリ機構が変更され、このクラスは削除されました。ただし、ファイルはリポジトリに残り、Java 2 Platform Standard Edition 5.0 の API 仕様に記載されました。

このクラスは、下位互換性問題のため JAXP 1.3 に追加することもできず、また Java 5.0 API 仕様から削除することもできないため、JAXP 1.4 に追加されました。このクラスは効果がないため、使用しないでください。このクラスが追加されたのは、このクラスがプラットフォームに定義されているが JAXP には定義されていないことに開発者が気づいたときに発生する混乱を避けるためです。

このクラスは使用しないでください。

6.4. クラス TypeInfoProvider

  • getElementTypeInfo() のセマンティクスが拡張され、startElement イベントまたは endElement イベントのいずれからも呼び出すことができるようになりました。これにより、API で W3C XML スキーマ共用体型をより効率的にサポートできます。

    W3C XML スキーマ検証が実行されているときに、要素に共用体型が含まれている場合、startElement イベントで getElementTypeInfo() の呼び出しによって返される TypeInfo は共用体型になります。endElement イベントの呼び出しによって返される TypeInfo は、要素を検証するときに使用される実際のメンバー型になります。

6.5. クラス Validator

  • Validator は、DOMSourceSAXSource 以外の Source (StAXSource など) を受け入れることができます。

  • validate() への入力は XML ドキュメントまたは要素が想定されていることを明示しました。

7. パッケージ javax.xml.xpath

7.1. クラス XPath

  • 表現内の変数を解決するために使用されるのは、コンパイル時に有効な XPathVariableResolver であることを明示しました。

7.2. クラス XPathFactory

  • newInstance(String, ClassLoader) メソッドを追加しました。