SAXParser (クラス)
public final SAXParser {inherits XMLReader, Locator2}
パッケージ: CURL.XML.SAX.PARSER

SAX2 API の Curl による実装です。

説明

SAXParser は Curl における XMLReader の機能の実装です。
既知のバグについては、このバージョンの Curl IDE のリリース ノートを参照してください。
すべての機能名とプロパティ名は、"http://www.acme.com/features/foo" のような完全修飾 URI (URL とも呼ばれる) です。名前空間 URI と同様に、制御する URI に基づいて機能名やプロパティ名を定義することを推奨します。現在、以下の SAX2 機能が実装されています。
http://xml.org/sax/features/namespaces
true : 名前空間処理を実行します。
false : 名前空間処理 (namespace-prefixes を意味する) は実行されません。
既定値 : true
アクセス : (解析時) 読み取り専用、(非解析時) 読み取り/書き込み
http://xml.org/sax/features/namespace-prefixes
true : 名前空間の宣言で使われている、元のプレフィックス名と属性を報告します。
false : 名前空間の宣言で使われている属性を報告せず、元のプレフィックス名は報告される場合とされない場合があります。
既定値 : true
アクセス : (解析時) 読み取り専用、(非解析時) 読み取り/書き込み
http://xml.org/sax/features/validation
true : すべての検証エラーを報告します。
false : 検証エラーを報告しません。
既定値 : false
アクセス : (解析時) 読み取り専用、(非解析時) 読み取り/書き込み
http://xml.org/sax/features/external-general-entities
true : 外部の一般 (テキスト) エンティティを含めます。
false : 外部の一般エンティティを含めません。
既定値 : true
アクセス : (解析時) 読み取り専用、(非解析時) 読み取り/書き込み
http://xml.org/sax/features/external-parameter-entities
true : 外部 DTD サブセットを含む、すべての外部パラメータのエンティティを含めます。
false : 外部 DTD サブセットも含めて、外部パラメータのエンティティをまったく含めません。
既定値 : true
アクセス : (解析時) 読み取り専用、(非解析時) 読み取り/書き込み
http://curl.com/sax/features/handler-parameter-reuse
true : メモリ割り当てを軽減するために、ContentHandler に渡される属性や文字などのパラメータをパーサーが再使用できるようにします。該当するハンドラ メソッドから復帰した後で属性や文字を保存しなければならない場合は、ContentHandler はこれらのコピーを作成する必要があります。
false : ContentHandler へのパラメータはまったく再使用されず、安全に保存することができます。
既定値 : false
アクセス : (解析時) 読み取り専用、(非解析時) 読み取り/書き込み
SAXParser はプロパティを実装しせん。get-propertyset-property の呼び出しには SAXNotRecognizedException をスローします。

コンストラクタ
default:SAXParser を作成します。
コンストラクタ public {SAXParser.default}

メソッド
clear:すべてのハンドラの削除を含む SAXParser の保存した状態をクリアします。
public {SAXParser.clear}:void
get-character-encoding:イベントに対する現在のドキュメントの CharEncoding を返します。
public {SAXParser.get-character-encoding}:CharEncoding
get-column-number:
public {SAXParser.get-column-number}:int
get-content-handler:現在のコンテンツ ハンドラを返します。
public {SAXParser.get-content-handler}:#ContentHandler
get-dtd-handler:現在の DTD ハンドラを返します。
public {SAXParser.get-dtd-handler}:#DTDHandler
get-entity-resolver:現在のエンティティ リゾルバを返します。
public {SAXParser.get-entity-resolver}:#EntityResolver
get-error-handler:現在のエラー ハンドラを返します。
public {SAXParser.get-error-handler}:#ErrorHandler
get-feature?:機能の値を検索します。
public {SAXParser.get-feature? name:String}:bool
get-line-number:
public {SAXParser.get-line-number}:int
get-property:プロパティの値を検索します。
public {SAXParser.get-property name:String}:any
get-public-id:
public {SAXParser.get-public-id}:#String
get-system-id:
public {SAXParser.get-system-id}:#String
get-xml-version:イベントに対する現在のドキュメントの XML バージョンを返します。
public {SAXParser.get-xml-version}:String
parse:XML ドキュメントの解析。
public {SAXParser.parse source:InputSource}:void
parse-by-system-id:システム識別子から XML ドキュメントを解析します。
public {SAXParser.parse-by-system-id system-id:String}:void
set-content-handler:アプリケーションがコンテンツ イベント ハンドラを登録できるようにします。
public {SAXParser.set-content-handler handler:ContentHandler}:void
set-dtd-handler:アプリケーションが DTD イベント ハンドラを登録できるようにします。
public {SAXParser.set-dtd-handler handler:DTDHandler}:void
set-entity-resolver:アプリケーションがエンティティ リゾルバを登録できるようにします。
public {SAXParser.set-entity-resolver resolver:EntityResolver}:void
set-error-handler:アプリケーションがエラー イベント ハンドラを登録できるようにします。
public {SAXParser.set-error-handler handler:ErrorHandler}:void
set-feature:機能の状態を設定します。
public {SAXParser.set-feature name:String, value:bool}:void
set-property:プロパティの値を設定します。
public {SAXParser.set-property name:String, value:any}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {SAXParser.default}

SAXParser を作成します。

注意事項

実際の解析処理には、SAXParser.parse または SAXParser.parse-by-system-id を使用します。






メソッド詳細
clear (メソッド)
public {SAXParser.clear}:void

すべてのハンドラの削除を含む SAXParser の保存した状態をクリアします。

プログラミング注意事項

SAXParser を最初に使用したコードとは関連のないコードによって SAXParser が再使用される場合を除いて、必要ありません。


get-character-encoding (メソッド)
public {SAXParser.get-character-encoding}:CharEncoding

イベントに対する現在のドキュメントの CharEncoding を返します。

戻り値

使用中のエンコーディングがない場合の、現在の CharEncoding または CharEncoding.none-specified


get-column-number (メソッド)
public {SAXParser.get-column-number}:int
この項目はサポートされていません。内部使用限定となっています。

注意事項

このメソッドを直接呼び出さないでください。代わりに、ContentHandler.set-document-locator メソッドに引数として渡される Locator オブジェクト上の同名メソッドを使用します。 ContentHandlerset-document-locator メソッドを指定することにより、解析されるドキュメントの Locator オブジェクトを取得します。このメソッドは SAXParser により呼び出され、Locator オブジェクトがメソッドに渡されます。渡された Locator オブジェクト上の get-column-number メソッドを呼び出すことにより、列番号を取得できます。


get-content-handler (メソッド)
public {SAXParser.get-content-handler}:#ContentHandler

現在のコンテンツ ハンドラを返します。

戻り値

現在のコンテンツ ハンドラ。ハンドラが登録されていない場合は null。

注意事項

参照:XMLReader.set-content-handler


get-dtd-handler (メソッド)
public {SAXParser.get-dtd-handler}:#DTDHandler

現在の DTD ハンドラを返します。

戻り値

現在の DTD ハンドラ。ハンドラが登録されていない場合は null。

注意事項

参照:XMLReader.set-dtd-handler


get-entity-resolver (メソッド)
public {SAXParser.get-entity-resolver}:#EntityResolver

現在のエンティティ リゾルバを返します。

戻り値

現在のエンティティ リゾルバ。リゾルバが登録されていない場合は null。

注意事項

参照:XMLReader.set-entity-resolver


get-error-handler (メソッド)
public {SAXParser.get-error-handler}:#ErrorHandler

現在のエラー ハンドラを返します。

戻り値

現在のエラー ハンドラ。ハンドラが登録されていない場合は null。

注意事項

参照:XMLReader.set-error-handler


get-feature? (メソッド)
public {SAXParser.get-feature? name:String}:bool

機能の値を検索します。

name: 機能名。完全修飾 URI です。

説明

機能名は、任意の完全修飾 URI です。SAXParser が、機能名を認識できても、その値を返すことができない場合があります。

機能の値の中には、解析前、解析中、解析後など、特定の状況でしか取得できないものがあります。

このバージョンで実装されている機能についての詳細は、SAXParser クラスの説明を参照してください。

戻り値

現在の機能のステータス (true または false)。

注意事項

参照:SAXParser.set-feature


get-line-number (メソッド)
public {SAXParser.get-line-number}:int
この項目はサポートされていません。内部使用限定となっています。

注意事項

このメソッドを直接呼び出さないでください。代わりに、ContentHandler.set-document-locator メソッドに引数として渡される Locator オブジェクト上の同名メソッドを使用します。ContentHandlerset-document-locator メソッドを指定して、解析されるドキュメントの Locator オブジェクトを取得します。このメソッドは SAXParser により呼び出され、Locator オブジェクトがメソッドに渡されます。渡された Locator オブジェクト上の get-line-number メソッドを呼び出すことにより、行番号を取得できます。


get-property (メソッド)
public {SAXParser.get-property name:String}:any

プロパティの値を検索します。

name: プロパティ名。完全修飾 URI です。

戻り値

プロパティの現在の値。

注意事項

現在、SAXParserプロパティを実装しません。get-propertySAXParser.set-property を呼び出すと、SAXNotRecognizedException がスローされます。


get-public-id (メソッド)
public {SAXParser.get-public-id}:#String
この項目はサポートされていません。内部使用限定となっています。

注意事項

このメソッドを直接呼び出さないでください。代わりに、ContentHandler.set-document-locator メソッドに引数として渡される Locator オブジェクト上の同名メソッドを使用します。 ContentHandlerset-document-locator メソッドを指定して、解析されるドキュメントの Locator オブジェクトを取得します。このメソッドは SAXParser により呼び出され、Locator オブジェクトがメソッドに渡されます。渡された Locator オブジェクト上の get-public-id メソッドを呼び出すことにより、パブリック ID を取得できます。


get-system-id (メソッド)
public {SAXParser.get-system-id}:#String
この項目はサポートされていません。内部使用限定となっています。

注意事項

このメソッドを直接呼び出さないでください。代わりに、ContentHandler.set-document-locator メソッドに引数として渡される Locator オブジェクト上の同名メソッドを使用します。ContentHandlerset-document-locator メソッドを指定することにより、解析されるドキュメントの Locator オブジェクトを取得します。このメソッドは SAXParser により呼び出され、Locator オブジェクトがメソッドに渡されます。渡された Locator オブジェクト上の get-system-id メソッドを呼び出すことにより、システム ID を取得できます。


get-xml-version (メソッド)
public {SAXParser.get-xml-version}:String

イベントに対する現在のドキュメントの XML バージョンを返します。

戻り値

String としての現在の XML バージョン。バージョンが未知の場合、空の文字列です。


parse (メソッド)
public {SAXParser.parse source:InputSource}:void

XML ドキュメントの解析。

source: XML ドキュメントの階層のトップレベルを読み込むための入力ソース。

説明

アプリケーションはこのメソッドを使用して、XML ドキュメントを任意の有効な入力ソース (文字ストリーム、バイト ストリーム、または URI) から読み込み、解析を始めるように SAXParser に指示することができます。

アプリケーションで、解析の進行中にこのメソッドを呼び出すことはできません。(代わりに、ネストされた各 XML ドキュメントに対して、新しい SAXParser を作成します)。解析が完了した後は、アプリケーションで同じ SAXParser オブジェクトを再利用することができます。入力ソースが異なっていてもかまいません。

解析中に、SAXParser は、登録されているイベント ハンドラを経由して、XML ドキュメントに関する情報を提供します。

このメソッドには同期性があります。つまり、解析が終了するまで返しません。クライアント アプリケーションが解析を早めに終了させる場合は、例外をスローします。

このルーチンが終了すると、成功または失敗にかかわりなく InputSource が閉じます。(ユーザが用意したハンドラが例外をスローした場合も閉じます。)

注意事項

参照:InputSource, SAXParser.parse-by-system-id, SAXParser.set-entity-resolver, SAXParser.set-dtd-handler, SAXParser.set-content-handler, SAXParser.set-error-handler


parse-by-system-id (メソッド)
public {SAXParser.parse-by-system-id system-id:String}:void

システム識別子から XML ドキュメントを解析します。

system-id: システム識別子。

説明

このメソッドは、システム識別子からドキュメントを読み取る一般的なショートカットです。これは次の方法と同一です。

parse(new InputSource);

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

注意事項

参照:XMLReader.parse


set-content-handler (メソッド)
public {SAXParser.set-content-handler handler:ContentHandler}:void

アプリケーションがコンテンツ イベント ハンドラを登録できるようにします。

handler: コンテンツ ハンドラ。

説明

アプリケーションがコンテンツ ハンドラを登録しないと、SAX パーサーでレポートされたすべてのコンテンツ イベントは通知なく無視されます。

アプリケーションは解析途中で新規または異なるハンドラを登録できます。その際 SAX パーサーは、即時にその新たなハンドラを使用開始しなければなりません。

注意事項

参照:XMLReader.get-content-handler


set-dtd-handler (メソッド)
public {SAXParser.set-dtd-handler handler:DTDHandler}:void

アプリケーションが DTD イベント ハンドラを登録できるようにします。

handler: DTD ハンドラ。

説明

アプリケーションが DTD ハンドラを登録しないと、SAX パーサーでレポートされたすべての DTD イベントは通知なく無視されます。

アプリケーションは解析途中で新規または異なるハンドラを登録できます。その際 SAX パーサーは、即時にその新たなハンドラを使用開始しなければなりません。

注意事項

参照:XMLReader.get-dtd-handler


set-entity-resolver (メソッド)
public {SAXParser.set-entity-resolver resolver:EntityResolver}:void

アプリケーションがエンティティ リゾルバを登録できるようにします。

resolver: エンティティ リゾルバ。

説明

アプリケーションがエンティティ リゾルバを登録しないと、XMLReader が独自の既定の解決を実行します。

アプリケーションは解析途中で新規または異なるリゾルバを登録できます。その際 SAX パーサーは、即時にその新たなリゾルバを使用開始しなければなりません。

注意事項

参照:XMLReader.get-entity-resolver


set-error-handler (メソッド)
public {SAXParser.set-error-handler handler:ErrorHandler}:void

アプリケーションがエラー イベント ハンドラを登録できるようにします。

handler: エラー ハンドラ。

説明

アプリケーションがエラー ハンドラを登録しないと、SAX パーサーでレポートされたすべてのエラー イベントは通知なく無視されます。ただし、これによって通常処理が継続しなくなる可能性があります。予想されないバグを回避するために、すべての SAX アプリケーションがエラー ハンドラを実行することを強く推奨します。

アプリケーションは解析途中で新規または異なるハンドラを登録できます。その際 SAX パーサーは、即時にその新たなハンドラを使用開始しなければなりません。

注意事項

参照:XMLReader.get-error-handler


set-feature (メソッド)
public {SAXParser.set-feature name:String, value:bool}:void

機能の状態を設定します。

name: 機能名。完全修飾 URI です。
state: 機能に要求される状態 (true または false)。

説明

機能名は、任意の完全修飾 URI です。SAXParser が、機能名を認識できても、その値を設定できない場合があります。

機能の値には、解析前、解析中、解析後などの特定の状況でのみ変更不可能または変更可能となるものがあります。

このリリースで実装されている機能の詳細については、SAXParser のクラスの説明を参照してください。

注意事項

参照:SAXParser.get-feature?


set-property (メソッド)
public {SAXParser.set-property name:String, value:any}:void

プロパティの値を設定します。

name: プロパティ名。完全修飾 URI です。
value: プロパティに要求される値。

注意事項

現在、SAXParserプロパティを実装しません。SAXParser.get-propertyset-property を呼び出すと、SAXNotRecognizedException がスローされます。