DefaultHandler (クラス)
public DefaultHandler {inherits ContentHandler, EntityResolver, DTDHandler, ErrorHandler}
パッケージ: CURL.XML.SAX.HELPERS

SAX2 イベント ハンドラの既定の基本クラス。

説明

このクラスは SAX2 アプリケーションの簡易基本クラスとして使用できます。4 つのコア SAX2 ハンドラ クラス内のすべてのコールバックについて既定の実装を提供します。



インターフェイスの一部のみを実装する場合、アプリケーション作成者はこのクラスを拡張することができます。また、パーサー作成者はこのクラスをインスタンス化して、アプリケーション固有のハンドラが提供されない場合に既定のハンドラを提供できます。

このクラスは、継承するすべての抽象メソッドを空のメソッド本体で実装します。ただし、戻り値が必要な場合はこれはあてはまらず、その場合はnull を返します。さらに DefaultHandler.fatal-error が該当するエラーを発します。

注意事項

参照:ContentHandler, EntityResolver, DTDHandler, ErrorHandler

メソッド
characters:文字データの通知を受け取ります。
public {DefaultHandler.characters
ch:StringBuf,
start:int,
length:int
}:void
end-document:ドキュメント終了の通知を受け取ります。
public {DefaultHandler.end-document}:void
end-element:要素の終了の通知を受け取ります。
public {DefaultHandler.end-element
namespace-URI:String,
local-name:String,
q-name:String
}:void
end-prefix-mapping:prefix-URI マッピングのスコープを終了します。
public {DefaultHandler.end-prefix-mapping prefix:String}:void
error:修復可能なエラーの通知を受け取ります。
public {DefaultHandler.error exception:SAXParseException}:void
fatal-error:修復不可能なエラーの通知を受け取ります。
public {DefaultHandler.fatal-error exception:SAXParseException}:void
ignorable-whitespace:要素コンテンツ内の無視可能な空白の通知を受け取ります。
public {DefaultHandler.ignorable-whitespace
ch:StringBuf,
start:int,
length:int
}:void
notation-decl:表記宣言イベントの通知を受け取ります。
public {DefaultHandler.notation-decl
name:String,
public-id:#String,
system-id:#String
}:void
processing-instruction:処理インストラクションの通知を受け取ります。
public {DefaultHandler.processing-instruction
target:String,
data:#String
}:void
resolve-entity:アプリケーションが外部エンティティを解決できるようにします。
public {DefaultHandler.resolve-entity
public-id:#String,
system-id:String
}:#InputSource
set-document-locator:SAX ドキュメント イベントの発信源を検索するオブジェクトを受け取ります。
public {DefaultHandler.set-document-locator locator:Locator}:void
skipped-entity:スキップされたエンティティの通知を受け取ります。
public {DefaultHandler.skipped-entity name:String}:void
start-document:ドキュメント開始の通知を受け取ります。
public {DefaultHandler.start-document}:void
start-element:要素の開始の通知を受け取ります。
public {DefaultHandler.start-element
namespace-URI:String,
local-name:String,
q-name:String,
attributes:Attributes
}:void
start-prefix-mapping:prefix-URI 名前空間マッピングのスコープを開始します。
public {DefaultHandler.start-prefix-mapping
prefix:String,
uri:String
}:void
unparsed-entity-decl:非解析エンティティ宣言イベントの通知を受け取ります。
public {DefaultHandler.unparsed-entity-decl
name:String,
public-id:#String,
system-id:String,
notation-name:String
}:void
warning:警告通知を受け取ります。
public {DefaultHandler.warning exception:SAXParseException}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize







メソッド詳細
characters (メソッド)
public {DefaultHandler.characters
ch:StringBuf,
start:int,
length:int
}:void

文字データの通知を受け取ります。

ch: XML ドキュメントからの文字。
start: 配列内の開始位置。
length: 配列から読み取る文字数。

説明

パーサーはこのメソッドを呼び出して、文字データの各チャンクをレポートします。SAX パーサーは、継続したすべての文字を単一のチャンク、または複数のチャンクに分割して返す場合があります。ただし、ロケーターが有効な情報を提供できるように、単一イベント内のすべての文字は同じ外部エンティティから読み取る必要があります。

アプリケーションが指定範囲外の配列から読み取りを試行することはできません。これは、データ(文字 0 個 )と共に呼び出しされることは不可能です。

パーサーによっては、このメソッドではなく (検証パーサーはこのメソッドを必ず使用します) 、ContentHandler.ignorable-whitespace メソッドを使用して、要素コンテンツの空白をレポートすることがあることに注意してください。

注意事項

参照:ContentHandler.ignorable-whitespace, Locator


end-document (メソッド)
public {DefaultHandler.end-document}:void

ドキュメント終了の通知を受け取ります。

説明

SAX パーサーはこのメソッドを一度だけ起動します。これは解析中に起動される最後のメソッドとなります。パーサーは、解析を中断 (修復不可能なエラーによる) または、入力の最後に到達するまではこのメソッドを決して起動しません。

注意事項

参照:ContentHandler.start-document


end-element (メソッド)
public {DefaultHandler.end-element
namespace-URI:String,
local-name:String,
q-name:String
}:void

要素の終了の通知を受け取ります。

namespace-URI: 名前空間 URI 。要素に名前空間 URI がないか、名前空間処理が実行されていない場合は空の文字列。
local-name: ローカル名 (プレフィックスなし)。名前空間処理が実行されていない場合は空の文字列。
q-name: XML 1.0 修飾名 (プレフィックス付き)。修飾名が使用できない場合は空の文字列。

説明

SAX パーサーは、XML ドキュメント内の各要素の最後にこのメソッドを起動します。各 end-element イベント (要素が空白の場合でも) について、対応する ContentHandler.start-element イベントが存在します。

名前についての詳細は、 ContentHandler.start-element を参照してください。


end-prefix-mapping (メソッド)
public {DefaultHandler.end-prefix-mapping prefix:String}:void

prefix-URI マッピングのスコープを終了します。

prefix: マッピングされているプレフィックス。

説明

詳細については、ContentHandler.start-prefix-mapping を参照してください。このイベントは常に、対応する ContentHandler.end-element イベントの後に発生しますが、それ以外は ContentHandler.end-prefix-mapping イベントの順番は保証されていません。

注意事項

参照:ContentHandler.start-prefix-mapping, ContentHandler.end-element


error (メソッド)
public {DefaultHandler.error exception:SAXParseException}:void

修復可能なエラーの通知を受け取ります。

exception: SAX 解析例外内にカプセル化されたエラー情報。

説明

これは、『W3C XML 1.0 Recommendation, section 1.2』の エラー の定義に対応しています。たとえば、検証パーサーはこのコールバックを使用して有効性の制約違反をレポートします。既定の動作はアクションなしです。

SAX パーサーは、このメソッドを起動した後、通常の解析イベントを継続して供給することが必要です。アプリケーションがドキュメントを最後まで処理することはまだ可能です。アプリケーションがドキュメントを最後まで処理できない場合は、『XML 1.0 Recommendation』で義務付けられていなくても、パーサーが重大なエラーをレポートする必要があります。

他の非 XML エラーをレポートするためにフィルタがこのメソッドを使用することもできます。

注意事項

参照:SAXParseException


fatal-error (メソッド)
public {DefaultHandler.fatal-error exception:SAXParseException}:void

修復不可能なエラーの通知を受け取ります。

exception: SAX 解析例外内にカプセル化されたエラー情報。

説明

これは、『W3C XML 1.0 Recommendation, section 1.2』の 重大なエラー の定義に対応しています。たとえば、検証パーサーはこのコールバックを使用して有効なフォーマットの制約違反をレポートします。

パーサーがこのメソッドを起動した後は、アプリケーションはドキュメントが使用不可能であると想定して、追加のエラー メッセージ取得 (ある場合) の目的のみで継続しなければなりません。実際、SAX パーサーはいったんこのメソッドが起動された後は、他のイベントのレポートを自由に停止できます。

注意事項

参照:SAXParseException


ignorable-whitespace (メソッド)
public {DefaultHandler.ignorable-whitespace
ch:StringBuf,
start:int,
length:int
}:void

要素コンテンツ内の無視可能な空白の通知を受け取ります。

ch: XML ドキュメントからの文字。
start: 配列内の開始位置。
length: 配列から読み取る文字数。

説明

検証パーサーは、必ずこのメソッドを使用して要素コンテンツ内の空白の各チャンクをレポートする必要があります (『W3C XML 1.0 Recommendation, section 2.10』を参照してください)。非検証パーサーも、解析やコンテンツ モデル使用が可能な場合はこのメソッドを使用できます。

SAX パーサーは、継続したすべての空白を単一のチャンク、または複数のチャンクに分割して返す場合があります。ただし、ロケーターが有効な情報を提供できるように、単一イベント内のすべての文字は同じ外部エンティティから読み取る必要があります。

アプリケーションが指定範囲外の配列から読み取ることはできません。これは、データ(文字 0 個 )と共に呼び出しされることは不可能です。

注意事項

参照:ContentHandler.characters, Locator


notation-decl (メソッド)
public {DefaultHandler.notation-decl
name:String,
public-id:#String,
system-id:#String
}:void

表記宣言イベントの通知を受け取ります。

name: 表記名。
public-id: 表記のパブリック識別子。パブリック識別子がない場合は null。
system-id: 表記のシステム識別子。システム識別子がない場合は null。

説明

アプリケーションの中には、後で参照できるように表記を記録しておくものがあります。

少なくとも public-id と system-id のどちらかが非 null 値であることが必要です。システム識別子が存在してこれが URL である場合、SAX パーサーはこのイベントにより識別子をアプリケーションに渡す前に完全に解決する必要があります。

表記宣言が、それを使用する非解析エンティティの前にレポートされるとは保証されていません。

注意事項

参照:DTDHandler.unparsed-entity-decl,


processing-instruction (メソッド)
public {DefaultHandler.processing-instruction
target:String,
data:#String
}:void

処理インストラクションの通知を受け取ります。

target: 処理インストラクションのターゲット。
data: 処理インストラクション データ。提供されていない場合は null。データには、ターゲットとデータを分離する空白は含まれません。

説明

パーサーは、検出された各処理インストラクションごとにこのメソッドを一度起動します。処理インストラクションは、メインのドキュメント要素の前または後に発生する場合があることに注意してください。

SAX パーサーは、XML 宣言 (XML 1.0, section 2.8) またはテキスト宣言 (XML 1.0, section 4.3.1) のレポートにはこのメソッドを使用できません。


resolve-entity (メソッド)
public {DefaultHandler.resolve-entity
public-id:#String,
system-id:String
}:#InputSource

アプリケーションが外部エンティティを解決できるようにします。

public-id: 参照される外部エンティティのパブリック識別子。パブリック識別子が提供されていない場合は null。
system-id: 参照される外部エンティティのシステム識別子。

戻り値

新規の入力ソースを記述する InputSource オブジェクト。パーサーにシステム識別子へ標準の URI 接続を要求する場合は null。

説明

パーサーは、トップレベルのドキュメント エンティティ (外部 DTD サブセット、DTD 内 で参照される外部エンティティ、ドキュメント要素内で参照される外部エンティティを含む) を除くすべての外部エンティティを開く前に、このメソッドを呼び出します。アプリケーションによって、パーサーがエンティティ自体を解決する、パーサーが代替の URI を使用する、パーサーがまったく異なる入力ソースを使用する、などのリクエストがなされる場合があります。

アプリケーション作成者はこのメソッドを使用して、外部システム識別子をセキュアおよび/またはローカル URI にリダイレクトしたり、カタログ内のパブリック識別子の検索、データベースや他の入力ソース (ダイアログ ボックスなど) のエンティティの読み取りを行うことができます。

システム識別子が URL の場合は、SAX パーサーがそれをアプリケーションにレポートする前に完全に解決することが必要です。

注意事項

参照:InputSource


set-document-locator (メソッド)
public {DefaultHandler.set-document-locator locator:Locator}:void

SAX ドキュメント イベントの発信源を検索するオブジェクトを受け取ります。

locator: すべての SAX ドキュメント イベントの位置を返すオブジェクトです。

説明

Curl の SAXParser は、ContentHandler インターフェイス内の他のメソッドを起動する前にこのメソッドを起動して、アプリケーションにロケーターを提供します。

パーサーがエラーをレポートしていない場合でも、アプリケーションはこのロケーターによって、すべてのドキュメント関連イベントの終了位置を決定することができます。通常、アプリケーションはこの情報を使用して、アプリケーション自体のエラーをレポートします (たとえば、アプリケーションのビジネスルールにマッチしない文字コンテンツなど)。ロケーターで返されたこの情報は、検索エンジンで使用するには不十分です。

ロケーターは、このインターフェイス内のイベント起動中にのみ正しい情報を返すことに注意してください。イベント起動中以外では、アプリケーションはこのロケーターの使用を試行してはなりません。

注意事項

参照:Locator および Locator2

注意事項

locatorLocator2 になる場合があります。


skipped-entity (メソッド)
public {DefaultHandler.skipped-entity name:String}:void

スキップされたエンティティの通知を受け取ります。

name: スキップされたエンティティの名前。これがパラメータ エンティティの場合は、名前は % で開始します。外部 DTD サブセットの場合は、文字列 [dtd] です。

説明

パーサーは、スキップされた各エンティティごとにこのメソッドを一度起動します。非検証プロセッサは、宣言を見ていない場合にエンティティをスキップすることがあります (これはたとえば、エンティティが外部 DTD サブセット内で宣言されたなどの理由によります)。http://xml.org/sax/features/external-general-entitieshttp://xml.org/sax/features/external-parameter-entities プロパティの値に応じて、すべてのプロセッサが外部エンティティをスキップする場合もあります。


start-document (メソッド)
public {DefaultHandler.start-document}:void

ドキュメント開始の通知を受け取ります。

説明

SAX パーサーは、このインターフェイス内または DTDHandler (ContentHandler.set-document-locator を除く) 内の他のメソッドを起動する前に、このメソッドを一度だけ起動します。

注意事項

参照:ContentHandler.end-document


start-element (メソッド)
public {DefaultHandler.start-element
namespace-URI:String,
local-name:String,
q-name:String,
attributes:Attributes
}:void

要素の開始の通知を受け取ります。

namespace-URI: 名前空間 URI 。要素に名前空間 URI がないか、名前空間処理が実行されていない場合は空の文字列。
local-name: ローカル名 (プレフィックスなし)。名前空間処理が実行されていない場合は空の文字列。
q-name: 修飾名 (プレフィックス付き)。修飾名が使用できない場合は空の文字列。
atts: 要素に所属している属性。属性がない場合は、空白の Attributes オブジェクトです。

説明

パーサーは、XML ドキュメント内のすべての各要素の開始時にこのメソッドを起動します。すべての ContentHandler.start-element イベント (要素が空白な場合も含む) について、対応する ContentHandler.end-element イベントが存在します。すべての要素のコンテンツは、対応する endElement イベントの前に順番にレポートされます。

このイベントでは、各要素について最大 3 個の名前コンポーネントを使用できます。
  1. 名前空間 URI
  2. ローカル名
  3. 修飾名 (プレフィックス付き)
http://xml.org/sax/features/namespaceshttp://xml.org/sax/features/namespace-prefixes プロパティの値に応じて、これら 3 個のうちのどれか、またはすべてが提供されます。

提供されている属性リストには、明示的な値 (指定または既定) を持つ属性のみが含まれることに注意してください。#IMPLIED 属性は省略されます。http://xml.org/sax/features/namespace-prefixes プロパティが true (既定は false で、true 値のサポートはオプション) の場合のみ、属性リストは名前空間宣言 (xmlns* 属性) で使用される属性を含みます。

注意事項

参照:ContentHandler.end-element, Attributes


start-prefix-mapping (メソッド)
public {DefaultHandler.start-prefix-mapping
prefix:String,
uri:String
}: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 イベントはありません。

注意事項

参照:ContentHandler.end-prefix-mapping, ContentHandler.start-element


unparsed-entity-decl (メソッド)
public {DefaultHandler.unparsed-entity-decl
name:String,
public-id:#String,
system-id:String,
notation-name:String
}:void

非解析エンティティ宣言イベントの通知を受け取ります。

name: 非解析エンティティの名前。
public-id: エンティティのパブリック識別子。パブリック識別子がない場合は null。
system-id: エンティティのシステム識別子。
notation-name: 関連する表記の名前。

説明

表記名は、DTDHandler.notation-decl イベントでレポートされた表記に対応することに注意してください。アプリケーションの必要に応じて、後の参照用にエンティティを記録します。

システム識別子が URL の場合は、パーサーがそれをアプリケーションに渡す前に完全に解決することが必要です。

注意事項

参照:DTDHandler.notation-decl,


warning (メソッド)
public {DefaultHandler.warning exception:SAXParseException}:void

警告通知を受け取ります。

exception: SAX 解析例外内にカプセル化された警告情報。

説明

SAX パーサーはこのメソッドを使用して、『XML 1.0 Recommendation』で定義されているエラーや重大なエラーでない状態をレポートします。既定の動作はアクションなしです。

SAX パーサーは、このメソッドを起動した後、通常の解析イベントを継続して供給することが必要です。アプリケーションがドキュメントを最後まで処理することはまだ可能です。

他の非 XML 警告をレポートするためにフィルタがこのメソッドを使用することもできます。

注意事項

参照:SAXParseException