(クラス)
SAX2 イベント ハンドラの既定の基本クラス。
説明
このクラスは SAX2 アプリケーションの簡易基本クラスとして使用できます。4 つのコア SAX2 ハンドラ クラス内のすべてのコールバックについて既定の実装を提供します。
インターフェイスの一部のみを実装する場合、アプリケーション作成者はこのクラスを拡張することができます。また、パーサー作成者はこのクラスをインスタンス化して、アプリケーション固有のハンドラが提供されない場合に既定のハンドラを提供できます。
このクラスは、継承するすべての抽象メソッドを空のメソッド本体で実装します。ただし、戻り値が必要な場合はこれはあてはまらず、その場合は
null を返します。さらに
DefaultHandler.fatal-error が該当するエラーを発します。
注意事項
public | {DefaultHandler.characters}:void |
public | {DefaultHandler.end-document}:void |
public | {DefaultHandler.end-element}:void |
public | {DefaultHandler.end-prefix-mapping prefix:String}:void |
error: | 修復可能なエラーの通知を受け取ります。 |
public | {DefaultHandler.ignorable-whitespace}:void |
public | {DefaultHandler.notation-decl}:void |
public | {DefaultHandler.processing-instruction}:void |
public | {DefaultHandler.set-document-locator locator:Locator}:void |
public | {DefaultHandler.skipped-entity name:String}:void |
public | {DefaultHandler.start-document}:void |
public | {DefaultHandler.start-element}:void |
public | {DefaultHandler.start-prefix-mapping}:void |
public | {DefaultHandler.unparsed-entity-decl}:void |
(メソッド)
public | {DefaultHandler.characters}:void |
文字データの通知を受け取ります。
ch: XML ドキュメントからの文字。
start: 配列内の開始位置。
length: 配列から読み取る文字数。
説明
パーサーはこのメソッドを呼び出して、文字データの各チャンクをレポートします。SAX パーサーは、継続したすべての文字を単一のチャンク、または複数のチャンクに分割して返す場合があります。ただし、ロケーターが有効な情報を提供できるように、単一イベント内のすべての文字は同じ外部エンティティから読み取る必要があります。
アプリケーションが指定範囲外の配列から読み取りを試行することはできません。これは、データ(文字 0 個 )と共に呼び出しされることは不可能です。
パーサーによっては、このメソッドではなく (検証パーサーはこのメソッドを
必ず使用します) 、
ContentHandler.ignorable-whitespace メソッドを使用して、要素コンテンツの空白をレポートすることがあることに注意してください。
注意事項
(メソッド)
public | {DefaultHandler.end-document}:void |
ドキュメント終了の通知を受け取ります。
説明
SAX パーサーはこのメソッドを一度だけ起動します。これは解析中に起動される最後のメソッドとなります。パーサーは、解析を中断 (修復不可能なエラーによる) または、入力の最後に到達するまではこのメソッドを決して起動しません。
注意事項
(メソッド)
public | {DefaultHandler.end-element}:void |
要素の終了の通知を受け取ります。
namespace-URI: 名前空間 URI 。要素に名前空間 URI がないか、名前空間処理が実行されていない場合は空の文字列。
local-name: ローカル名 (プレフィックスなし)。名前空間処理が実行されていない場合は空の文字列。
q-name: XML 1.0 修飾名 (プレフィックス付き)。修飾名が使用できない場合は空の文字列。
説明
(メソッド)
public | {DefaultHandler.end-prefix-mapping prefix:String}:void |
prefix-URI マッピングのスコープを終了します。
prefix: マッピングされているプレフィックス。
説明
注意事項
(メソッド)
修復可能なエラーの通知を受け取ります。
exception: SAX 解析例外内にカプセル化されたエラー情報。
説明
これは、『W3C XML 1.0 Recommendation, section 1.2』の エラー
の定義に対応しています。たとえば、検証パーサーはこのコールバックを使用して有効性の制約違反をレポートします。既定の動作はアクションなしです。
SAX パーサーは、このメソッドを起動した後、通常の解析イベントを継続して供給することが必要です。アプリケーションがドキュメントを最後まで処理することはまだ可能です。アプリケーションがドキュメントを最後まで処理できない場合は、『XML 1.0 Recommendation』で義務付けられていなくても、パーサーが重大なエラーをレポートする必要があります。
他の非 XML エラーをレポートするためにフィルタがこのメソッドを使用することもできます。
注意事項
(メソッド)
修復不可能なエラーの通知を受け取ります。
exception: SAX 解析例外内にカプセル化されたエラー情報。
説明
これは、『W3C XML 1.0 Recommendation, section 1.2』の 重大なエラー
の定義に対応しています。たとえば、検証パーサーはこのコールバックを使用して有効なフォーマットの制約違反をレポートします。
パーサーがこのメソッドを起動した後は、アプリケーションはドキュメントが使用不可能であると想定して、追加のエラー メッセージ取得 (ある場合) の目的のみで継続しなければなりません。実際、SAX パーサーはいったんこのメソッドが起動された後は、他のイベントのレポートを自由に停止できます。
注意事項
(メソッド)
public | {DefaultHandler.ignorable-whitespace}:void |
要素コンテンツ内の無視可能な空白の通知を受け取ります。
ch: XML ドキュメントからの文字。
start: 配列内の開始位置。
length: 配列から読み取る文字数。
説明
検証パーサーは、必ずこのメソッドを使用して要素コンテンツ内の空白の各チャンクをレポートする必要があります (『W3C XML 1.0 Recommendation, section 2.10』を参照してください)。非検証パーサーも、解析やコンテンツ モデル使用が可能な場合はこのメソッドを使用できます。
SAX パーサーは、継続したすべての空白を単一のチャンク、または複数のチャンクに分割して返す場合があります。ただし、ロケーターが有効な情報を提供できるように、単一イベント内のすべての文字は同じ外部エンティティから読み取る必要があります。
アプリケーションが指定範囲外の配列から読み取ることはできません。これは、データ(文字 0 個 )と共に呼び出しされることは不可能です。
注意事項
(メソッド)
public | {DefaultHandler.notation-decl}:void |
表記宣言イベントの通知を受け取ります。
name: 表記名。
public-id: 表記のパブリック識別子。パブリック識別子がない場合は null。
system-id: 表記のシステム識別子。システム識別子がない場合は null。
説明
アプリケーションの中には、後で参照できるように表記を記録しておくものがあります。
少なくとも public-id と system-id のどちらかが非 null 値であることが必要です。システム識別子が存在してこれが URL である場合、SAX パーサーはこのイベントにより識別子をアプリケーションに渡す前に完全に解決する必要があります。
表記宣言が、それを使用する非解析エンティティの前にレポートされるとは保証されていません。
注意事項
(メソッド)
public | {DefaultHandler.processing-instruction}:void |
処理インストラクションの通知を受け取ります。
target: 処理インストラクションのターゲット。
data: 処理インストラクション データ。提供されていない場合は null。データには、ターゲットとデータを分離する空白は含まれません。
説明
パーサーは、検出された各処理インストラクションごとにこのメソッドを一度起動します。処理インストラクションは、メインのドキュメント要素の前または後に発生する場合があることに注意してください。
SAX パーサーは、XML 宣言 (XML 1.0, section 2.8) またはテキスト宣言 (XML 1.0, section 4.3.1) のレポートにはこのメソッドを使用できません。
(メソッド)
アプリケーションが外部エンティティを解決できるようにします。
public-id: 参照される外部エンティティのパブリック識別子。パブリック識別子が提供されていない場合は null。
system-id: 参照される外部エンティティのシステム識別子。
戻り値
新規の入力ソースを記述する
InputSource オブジェクト。パーサーにシステム識別子へ標準の URI 接続を要求する場合は null。
説明
パーサーは、トップレベルのドキュメント エンティティ (外部 DTD サブセット、DTD 内 で参照される外部エンティティ、ドキュメント要素内で参照される外部エンティティを含む) を除くすべての外部エンティティを開く前に、このメソッドを呼び出します。アプリケーションによって、パーサーがエンティティ自体を解決する、パーサーが代替の URI を使用する、パーサーがまったく異なる入力ソースを使用する、などのリクエストがなされる場合があります。
アプリケーション作成者はこのメソッドを使用して、外部システム識別子をセキュアおよび/またはローカル URI にリダイレクトしたり、カタログ内のパブリック識別子の検索、データベースや他の入力ソース (ダイアログ ボックスなど) のエンティティの読み取りを行うことができます。
システム識別子が URL の場合は、SAX パーサーがそれをアプリケーションにレポートする前に完全に解決することが必要です。
注意事項
(メソッド)
public | {DefaultHandler.set-document-locator locator:Locator}:void |
SAX ドキュメント イベントの発信源を検索するオブジェクトを受け取ります。
locator: すべての SAX ドキュメント イベントの位置を返すオブジェクトです。
説明
Curl の
SAXParser は、ContentHandler インターフェイス内の他のメソッドを起動する前にこのメソッドを起動して、アプリケーションにロケーターを提供します。
パーサーがエラーをレポートしていない場合でも、アプリケーションはこのロケーターによって、すべてのドキュメント関連イベントの終了位置を決定することができます。通常、アプリケーションはこの情報を使用して、アプリケーション自体のエラーをレポートします (たとえば、アプリケーションのビジネスルールにマッチしない文字コンテンツなど)。ロケーターで返されたこの情報は、検索エンジンで使用するには不十分です。
ロケーターは、このインターフェイス内のイベント起動中にのみ正しい情報を返すことに注意してください。イベント起動中以外では、アプリケーションはこのロケーターの使用を試行してはなりません。
注意事項
注意事項
(メソッド)
public | {DefaultHandler.skipped-entity name:String}:void |
スキップされたエンティティの通知を受け取ります。
name: スキップされたエンティティの名前。これがパラメータ エンティティの場合は、名前は %
で開始します。外部 DTD サブセットの場合は、文字列 [dtd]
です。
説明
パーサーは、スキップされた各エンティティごとにこのメソッドを一度起動します。非検証プロセッサは、宣言を見ていない場合にエンティティをスキップすることがあります (これはたとえば、エンティティが外部 DTD サブセット内で宣言されたなどの理由によります)。http://xml.org/sax/features/external-general-entities と http://xml.org/sax/features/external-parameter-entities プロパティの値に応じて、すべてのプロセッサが外部エンティティをスキップする場合もあります。
(メソッド)
public | {DefaultHandler.start-document}:void |
ドキュメント開始の通知を受け取ります。
説明
注意事項
(メソッド)
public | {DefaultHandler.start-element}:void |
要素の開始の通知を受け取ります。
namespace-URI: 名前空間 URI 。要素に名前空間 URI がないか、名前空間処理が実行されていない場合は空の文字列。
local-name: ローカル名 (プレフィックスなし)。名前空間処理が実行されていない場合は空の文字列。
q-name: 修飾名 (プレフィックス付き)。修飾名が使用できない場合は空の文字列。
atts: 要素に所属している属性。属性がない場合は、空白の Attributes オブジェクトです。
説明
パーサーは、XML ドキュメント内のすべての各要素の開始時にこのメソッドを起動します。すべての
ContentHandler.start-element イベント (要素が空白な場合も含む) について、対応する
ContentHandler.end-element イベントが存在します。すべての要素のコンテンツは、対応する endElement イベントの前に順番にレポートされます。
このイベントでは、各要素について最大 3 個の名前コンポーネントを使用できます。
- 名前空間 URI
- ローカル名
- 修飾名 (プレフィックス付き)
http://xml.org/sax/features/namespaces と
http://xml.org/sax/features/namespace-prefixes プロパティの値に応じて、これら 3 個のうちのどれか、またはすべてが提供されます。
- 名前空間 URI とローカル名は、名前空間プロパティが true (既定) の場合は必須で、名前空間プロパティが false の場合はオプションです (1 つ指定した場合は両方とも指定必要)。
- 修飾名は、namespace-prefixes プロパティが true の場合は必須で、namespace-prefixes プロパティが false (既定) の場合はオプションです。
提供されている属性リストには、明示的な値 (指定または既定) を持つ属性のみが含まれることに注意してください。
#IMPLIED 属性は省略されます。
http://xml.org/sax/features/namespace-prefixes プロパティが
true (既定は
false で、
true 値のサポートはオプション) の場合のみ、属性リストは名前空間宣言 (
xmlns* 属性) で使用される属性を含みます。
注意事項
(メソッド)
public | {DefaultHandler.start-prefix-mapping}:void |
prefix-URI 名前空間マッピングのスコープを開始します。
prefix: 宣言される名前空間プレフィックスです。
uri: プレフィックスがマップされる先の名前空間 URI です。
説明
このイベントからの情報は、通常の名前空間処理では必要ありません。
http://xml.org/sax/features/namespaces 機能が
true (既定) の場合、SAX XML リーダーは自動的にプレフィックスを要素と属性名に置き換えます。
ただし、アプリケーションが文字データや属性値内でプレフィックスを使用する必要が生じたときにプレフィックスを安全に自動的に拡張できない場合があります。この場合は、必要に応じて start/end-prefix-mapping イベントがアプリケーションに情報を提供して、コンテキスト自体内でプレフィックスを拡張します。
start/end-prefix-mapping イベントがその相対関係に合わせて適切にネストされるかどうかは保証されていません。つまり、すべての start-prefix-mapping イベントは対応する
ContentHandler.start-element イベントの前に発生し、すべての
ContentHandler.end-prefix-mapping イベントは対応する
ContentHandler.end-element イベントの後に発生しますが、それ以外の順番は保証されません。
xml
プレフィックスは宣言済みで不変なので、この start/end-prefix-mapping イベントはありません。
注意事項
(メソッド)
public | {DefaultHandler.unparsed-entity-decl}:void |
非解析エンティティ宣言イベントの通知を受け取ります。
name: 非解析エンティティの名前。
public-id: エンティティのパブリック識別子。パブリック識別子がない場合は null。
system-id: エンティティのシステム識別子。
notation-name: 関連する表記の名前。
説明
表記名は、
DTDHandler.notation-decl イベントでレポートされた表記に対応することに注意してください。アプリケーションの必要に応じて、後の参照用にエンティティを記録します。
システム識別子が URL の場合は、パーサーがそれをアプリケーションに渡す前に完全に解決することが必要です。
注意事項
(メソッド)
警告通知を受け取ります。
exception: SAX 解析例外内にカプセル化された警告情報。
説明
SAX パーサーはこのメソッドを使用して、『XML 1.0 Recommendation』で定義されているエラーや重大なエラーでない状態をレポートします。既定の動作はアクションなしです。
SAX パーサーは、このメソッドを起動した後、通常の解析イベントを継続して供給することが必要です。アプリケーションがドキュメントを最後まで処理することはまだ可能です。
他の非 XML 警告をレポートするためにフィルタがこのメソッドを使用することもできます。
注意事項