インタフェース | 説明 |
---|---|
AttributeList | 非推奨
このインタフェースは、名前空間サポートを含む SAX2
Attributes インタフェースで置き換えられています。 |
Attributes |
XML 属性のリストのためのインタフェースです。
|
ContentHandler |
文書の論理コンテンツの通知を受け取ります。
|
DocumentHandler | 非推奨
このインタフェースは、名前空間サポートを含む SAX2
ContentHandler インタフェースで置き換えられています。 |
DTDHandler |
標準 DTD 関連イベントの通知を受け取ります。
|
EntityResolver |
エンティティーを解決するための基本インタフェースです。
|
ErrorHandler |
SAX エラーハンドラの基本インタフェースです。
|
Locator |
SAX イベントと文書の位置を関連付けるためのインタフェースです。
|
Parser | 非推奨
このインタフェースは、名前空間サポートを含む SAX2
XMLReader インタフェースで置き換えられています。 |
XMLFilter |
XML フィルタのインタフェースです。
|
XMLReader |
コールバックを使って XML 文書を読み取るためのインタフェースです。
|
クラス | 説明 |
---|---|
HandlerBase | 非推奨
このクラスは非推奨の
DocumentHandler インタフェースで動作します。 |
InputSource |
XML エンティティーの単一の入力ソースです。
|
Exception | 説明 |
---|---|
SAXException |
SAX の一般的なエラーまたは警告をカプセル化します。
|
SAXNotRecognizedException |
認識されない識別子のための例外クラスです。
|
SAXNotSupportedException |
サポート対象外の操作のための例外クラスです。
|
SAXParseException |
XML 構文解析エラーまたは警告をカプセル化します。
|
このパッケージはコア SAX API を提供します。コア SAX API には、名前空間に対応した新しいアプリケーションの設計や既存のインフラストラクチャーのメンテナンスに統合するように非推奨とされているものもあります。
SAX についての詳細は、http://www.saxproject.org を参照してください。
SAX2 の必須の特性の 1 つに、検証に使用できる機能フラグや変更パーサーモード (特に検証などのモード) が追加されていることがあります。機能は (絶対) URI によって識別されるため、だれにでも定義できます。現在定義されている標準の機能 URI には、validation
などの識別子の前に接頭辞 http://xml.org/sax/features/
が付きます。setFeature を使用して機能をオンまたはオフにします。標準の識別子は次のとおりです。
機能 ID | アクセス | デフォルト | 説明 |
---|---|---|---|
external-general-entities | 読み取り/書き込み | 指定なし | このパーサーが一般的な外部エンティティーを処理するかどうかを報告する。検証する場合は常に true。 |
external-parameter-entities | 読み取り/書き込み | 指定なし | このパーサーが外部パラメータエンティティーを処理するかどうかを報告する。検証する場合は常に true。 |
is-standalone | (構文解析する) 読み取り専用、(構文解析しない) なし | 適用外 | startDocument() コールバックが終了したあと、構文解析中のみ検証される。読み取り専用。文書が XML 宣言内の standalone="yes" を指定した場合、値は true。そうでない場合は false。 |
lexical-handler/parameter-entities | 読み取り/書き込み | 指定なし | 「true」の値は LexicalHandler がパラメータエンティティーの開始と終了を報告することを示す。 |
namespaces | 読み取り/書き込み | true | 「true」の値は、使用可能な要素名および属性名の名前空間 URI と接頭辞を持たないローカル名を示す。 |
namespace-prefixes | 読み取り/書き込み | false | 「true」の値は接頭辞付きの XML 修飾名と属性 (xmlns* 属性を含む) が使用できることを示す。 |
resolve-dtd-uris | 読み取り/書き込み | true | 「true」の値は、宣言のシステム ID が基底 URI を基準にして報告前に絶対化されることを示す(デフォルトによるすべての SAX2 XML パーサーの動作)。「false」の値は、ID が絶対化されないことを示す。パーサーは Locator.getSystemId() の基底 URI を提供する。これは渡されたシステム ID に適用される
|
string-interning | 読み取り/書き込み | 指定なし | 要素、接頭辞、属性、エンティティー、表記法、およびローカル名のすべての XML 名と名前空間 URI が java.lang.String.intern を使用して保持される場合は「true」の値を持つ。これによって、より低速な String.equals() 呼び出しを使用しなくても、文字列定数が等しいかどうかをすばやく判定できるようになる。 |
unicode-normalization-checking | 読み取り/書き込み | false | XML 1.1 勧告のセクション 2.13 と付録 B で説明されているような Unicode 正規化エラーをパーサーが報告するかどうかを制御する。true の場合、Unicode 正規化エラーは ErrorHandler.error() を使用して報告される。このようなエラーは、ほかの Unicode 関連のエンコーディングエラーとは違い、それ自体が致命的なエラーではない。 |
use-attributes2 | 読み取り専用 | 適用外 | このパーサーによって ContentHandler.startElement() に渡された Attributes オブジェクトが org.xml.sax.ext.Attributes2 インタフェースを実装している場合は「true」を返す。このインタフェースは、属性がデフォルトで設定されたかどうかではなく、ソーステキストで指定されたかどうかなどの DTD 関連の追加情報を公開する。 |
use-locator2 | 読み取り専用 | 適用外 | このパーサーによって ContentHandler.setDocumentLocator() に渡された Locator オブジェクトが org.xml.sax.ext.Locator2 インタフェースを実装している場合は「true」を返す。このインタフェースは使用されている文字エンコーディングや XML のバージョンなどのエンティティーの追加情報を公開する。 |
use-entity-resolver2 | 読み取り/書き込み | true | setEntityResolver に org.xml.sax.ext.EntityResolver2 インタフェースを実装しているオブジェクトが渡された場合にそれらの新しいメソッドが使用されるときは「true」を返す。新しいメソッドが使用されないことを示す場合は「false」を返す。 |
validation | 読み取り/書き込み | 指定なし | パーサーがすべての妥当性エラーを報告しているかどうかを制御する。true の場合、すべての外部エンティティーが読み取られる。 |
xmlns-uris | 読み取り/書き込み | false | namespace-prefixes 機能が設定されたとき、パーサーが名前空間宣言の属性を http://www.w3.org/2000/xmlns/ 名前空間に存在するものとして処理するかどうかを制御する。デフォルトでは、SAX2 はこのような属性がどの名前空間にも存在しないということを明示している元の「Namespaces in XML」勧告に従う。このオプションのフラグを true に設定することによって、SAX2 イベントを下位互換できない元の勧告の今後の改訂版に従わせ、それらの属性を名前空間に置く。 |
xml-1.1 | 読み取り専用 | 適用外 | パーサーが XML 1.1 と XML 1.0 の両方をサポートする場合は「true」を返し、XML 1.0 だけをサポートする場合は「false」を返す。 |
namespaces プロパティーと namespace-prefixes プロパティーのデフォルト値をサポートする必要があります。それ以外の機能フラグのサポートは完全にオプションです。
SAX2 で指定されていないデフォルト値の場合、それぞれの XMLReader 実装によってそのデフォルトを指定しますが、機能フラグを公開しないように選択することもできます。ここで指定されないかぎり、実装によってこれらの標準機能フラグの現在の値を変更できますが、構文解析中は変更できません。
パーサーインタフェースの特性をオブジェクトとして説明する場合、別の名前空間が定義されます。この名前空間のオブジェクトは URI によって再度識別されます。標準のプロパティー URI には、lexical-handler
や dom-node
などの識別子の前に接頭辞 http://xml.org/sax/properties/
が付きます。それらのプロパティーは setProperty() を使用して管理します。識別子は次のとおりです。
プロパティー ID | 説明 |
---|---|
declaration-handler | 字句構文規則 (「文書の要素名は...」) として扱われるものやすべての SAX パーサーに対して必須であるものを除いて (DTDHandler) ほとんどの DTD 宣言を見るために使用する。オブジェクトは org.xml.sax.ext.DeclHandler を実装している必要がある。 |
document-xml-version | startDocument() コールバックが終了したあと、構文解析中のみ検証される。読み取り専用。このプロパティーは XML 1.0 や XML 1.1 など、文書の実際のXML バージョンを説明するリテラル文字列。 |
dom-node | parser.parse() パラメータを無視する DOM Walker 型パーサーの場合、これはパーサーが移動する DOM (サブ) ツリーを指定するために使用される。オブジェクトは org.w3c.dom.Node インタフェースを実装している必要がある。 |
lexical-handler | コメント、CDATA 区切り文字、選択された一般のエンティティーの取り込み、DTD の最初と最後 (および文書要素名の宣言) といった一部のアプリケーションで必須の構文イベントを見るために使用する。オブジェクトは org.xml.sax.ext.LexicalHandler を実装している必要がある。 |
xml-string | パーサーのコールバック中のみ読み取り可能。これによって、現在のイベントを扱う TBS 文字チャンクを公開する。 |
これらの標準プロパティーはすべてオプションです。 XMLReader 実装の場合、これらをサポートする必要はありません。
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.