(クラス)
public abstract XMLReader
コールバックを使用する XML ドキュメント読み取りのインターフェイスです。
説明
XMLReader は、XML パーサーの SAX ドライバが実装必要なインターフェイスです。このインターフェイスによって、アプリケーションがパーサー内の機能とプロパティを設定、クエリし、イベント ハンドラをドキュメント処理用に登録し、ドキュメントの解析を開始することができます。
すべての SAX インターフェイスは同期していることが前提です。
XMLReader.parse メソッドは解析が完了するまでリターンを実行せず、リーダーも次のイベントをレポートする前に必ず event-handler コールバックを待ってリターンしなければなりません。
注意事項
| public abstract | {XMLReader.get-dtd-handler}:#DTDHandler |
| public abstract | {XMLReader.get-feature? name:String}:bool |
| public abstract | {XMLReader.get-property name:String}:any |
| public abstract | {XMLReader.parse-by-system-id system-id:String}:void |
| public abstract | {XMLReader.set-content-handler}:void |
| public abstract | {XMLReader.set-entity-resolver}:void |
| public abstract | {XMLReader.set-property name:String, value:any}:void |
(メソッド)
現在のコンテンツ ハンドラを返します。
戻り値
現在のコンテンツ ハンドラ。ハンドラが登録されていない場合は null。
注意事項
(メソッド)
| public abstract | {XMLReader.get-dtd-handler}:#DTDHandler |
現在の DTD ハンドラを返します。
戻り値
現在の DTD ハンドラ。ハンドラが登録されていない場合は null。
注意事項
(メソッド)
現在のエンティティ リゾルバを返します。
戻り値
現在のエンティティ リゾルバ。リゾルバが登録されていない場合は null。
注意事項
(メソッド)
現在のエラー ハンドラを返します。
戻り値
現在のエラー ハンドラ。ハンドラが登録されていない場合は null。
注意事項
(メソッド)
| public abstract | {XMLReader.get-feature? name:String}:bool |
機能の値を検索します。
name: 機能名。完全修飾 URI です。
説明
機能名は、任意の完全修飾 URI です。XMLReader が機能名は認識できても、その値を返せない場合があります。
XMLReaders はすべて、http://xml.org/sax/features/namespaces と http://xml.org/sax/features/namespace-prefixes 機能名を認識する必要があります。
機能の値の中には、解析前、解析中、解析後など、特定の状況でしか取得できないものがあります。
実装者は独自の URI 上に構築した名前を使用して、自由に独自機能を創案することをお勧めします。
戻り値
現在の機能のステータス (true または false)。
注意事項
(メソッド)
| public abstract | {XMLReader.get-property name:String}:any |
プロパティの値を検索します。
name: プロパティ名。完全修飾 URI です。
戻り値
プロパティの現在の値。
説明
プロパティ名は、任意の完全修飾 URI です。XMLReader がプロパティ名は認識できても、その状態を返せない場合があります。
プロパティ値の中には、解析前、解析中、解析後など、特定の状況でしか取得できないものがあります。
このリリースで実装されている機能の詳細については、
SAXParser クラスの説明を参照してください。
注意事項
(メソッド)
XML ドキュメントの解析。
input: XML ドキュメントの階層のトップレベルを読み込むための入力ソース。
説明
アプリケーションはこのメソッドを使用して、XML ドキュメントを任意の有効な入力ソース (文字ストリーム、バイト ストリーム、または URI) から読み込み、解析を始めるように XML リーダーに指示することができます。
アプリケーションで、解析の進行中にこのメソッドを起動することはできません。 (代わりにネスト化された各 XML ドキュメントに対して、新しい XMLReader を作成してください)。解析が完了した後は、アプリケーションで同じ XMLReader オブジェクトを再利用することができます。入力ソースが異なっていてもかまいません。
解析中に、XMLReader は登録されているイベント ハンドラを経由して、XML ドキュメントに関する情報を提供します。
このメソッドは同期的です。このメソッドは、解析が終了するまで呼び出し元に戻りません。クライアント アプリケーションが解析を早めに終了させたい場合は、例外をスローします。
注意事項
(メソッド)
| public abstract | {XMLReader.parse-by-system-id system-id:String}:void |
システム識別子から XML ドキュメントを解析します。
system-id: システム識別子。
説明
このメソッドは、システム識別子からドキュメントを読み取る一般的なショートカットです。これは次の方法と同一です。
parse(new InputSource);
システム識別子が URL の場合は、パーサーに渡される前にアプリケーションで完全に解決されることが必要です。
注意事項
(メソッド)
| public abstract | {XMLReader.set-content-handler}:void |
アプリケーションがコンテンツ イベント ハンドラを登録できるようにします。
handler: コンテンツ ハンドラ。
説明
アプリケーションがコンテンツ ハンドラを登録しないと、SAX パーサーでレポートされたすべてのコンテンツ イベントは通知なく無視されます。
アプリケーションは解析途中で新規または異なるハンドラを登録できます。その際 SAX パーサーは、即時にその新たなハンドラを使用開始しなければなりません。
注意事項
(メソッド)
アプリケーションが DTD イベント ハンドラを登録できるようにします。
handler: DTD ハンドラ。
説明
アプリケーションが DTD ハンドラを登録しないと、SAX パーサーでレポートされたすべての DTD イベントは通知なく無視されます。
アプリケーションは解析途中で新規または異なるハンドラを登録できます。その際 SAX パーサーは、即時にその新たなハンドラを使用開始しなければなりません。
注意事項
(メソッド)
| public abstract | {XMLReader.set-entity-resolver}:void |
アプリケーションがエンティティ リゾルバを登録できるようにします。
resolver: エンティティ リゾルバ。
説明
アプリケーションがエンティティ リゾルバを登録しないと、XMLReader が独自の既定の解決を実行します。
アプリケーションは解析途中で新規または異なるリゾルバを登録できます。その際 SAX パーサーは、即時にその新たなリゾルバを使用開始しなければなりません。
注意事項
(メソッド)
アプリケーションがエラー イベント ハンドラを登録できるようにします。
handler: エラー ハンドラ。
説明
アプリケーションがエラー ハンドラを登録しないと、SAX パーサーでレポートされたすべてのエラー イベントは通知なく無視されます。ただし、これによって通常処理が継続しなくなる可能性があります。予想されないバグを回避するために、すべての SAX アプリケーションがエラー ハンドラを実行することを強く推奨します。
アプリケーションは解析途中で新規または異なるハンドラを登録できます。その際 SAX パーサーは、即時にその新たなハンドラを使用開始しなければなりません。
注意事項
(メソッド)
機能の状態を設定します。
name: 機能名。完全修飾 URI です。
state: 機能に要求される状態 (true または false)。
説明
機能名は、任意の完全修飾 URI です。XMLReader が機能名を認識できても、その値を設定できない場合があります。
すべての XMLReaders は http://xml.org/sax/features/namespaces の true への設定と、http://xml.org/sax/features/namespace-prefixes の false への設定をサポートすることが必要です。
機能の値には、解析前、解析中、解析後などの特定の状況でのみ変更不可能または変更可能となるものがあります。
注意事項
(メソッド)
| public abstract | {XMLReader.set-property name:String, value:any}:void |
プロパティの値を設定します。
name: プロパティ名。完全修飾 URI です。
value: プロパティに要求される値。
説明
プロパティ名は、任意の完全修飾 URI です。XMLReader がプロパティ名を認識できても、その値を設定できない場合があります。
プロパティのコアセットは SAX2 で提供されていますが、XMLReaders は特定のプロパティ名を認識する必要はありません。
プロパティ値には、解析前、解析中、解析後などの特定の状況でのみ変更不可能または変更可能となるものがあります。
このメソッドはまた、拡張ハンドラの設定に使用する標準のメカニズムです。