- 既知のすべての実装クラス:
DefaultHandler2
XML文書中のDTD宣言に関するより完全な情報を提供するSAX2用のオプションの拡張ハンドラです。 このハンドラを認識するために、XMLリーダーは不要です。また、このハンドラは、SAX2のコアのみのディストリビューションには含まれていません。
データ関連のDTD宣言(解析対象外のエンティティおよび表記法)は、すでにDTDHandler
インタフェースによって報告されています。
宣言ハンドラと字句ハンドラを同時に使用する場合、すべてのイベントはstartDTD
イベントからendDTD
イベントまでの間に発生します。
XMLリーダーのDeclHandlerを設定するには、プロパティ名としてhttp://xml.org/sax/properties/declaration-handler
、その値としてこのインタフェースを実装するオブジェクト(またはnull)を指定して、setProperty
メソッドを使用します。 リーダーが宣言イベントを報告しない場合、ハンドラを登録しようとするとSAXNotRecognizedException
がスローされます。
- 導入されたバージョン:
- 1.4、SAX 2.0 (拡張機能1.0)
-
メソッドのサマリー
修飾子と型メソッド説明void
属性型宣言を報告します。void
elementDecl
(String name, String model) 要素型宣言を報告します。void
externalEntityDecl
(String name, String publicId, String systemId) 構文解析済みの外部エンティティ宣言を報告します。void
internalEntityDecl
(String name, String value) 内部エンティティ宣言を報告します。
-
メソッドの詳細
-
elementDecl
void elementDecl(String name, String model) throws SAXException 要素型宣言を報告します。コンテンツ・モデルは、文字列「EMPTY」、文字列「ANY」またはカッコに入れられたグループ(オプションで出現インジケータを伴う)で構成されます。 このモデルは、すべてのパラメータ・エンティティが完全に解決され、すべての空白文字が削除されるように正規化されます。また、囲むカッコを含みます。 その他の正規化(重複したカッコの削除、出現インジケータの簡易化など)はパーサーによって随意行われます。
- パラメータ:
name
- 要素型名。model
- コンテンツ・モデルを示す正規文字列。- 例外:
SAXException
- アプリケーションが例外を発生させる場合があります。
-
attributeDecl
void attributeDecl(String eName, String aName, String type, String mode, String value) throws SAXException 属性型宣言を報告します。有効な(最初の)属性宣言だけが報告されます。 型は、「CDATA」、「ID」、「IDREF」、「IDREFS」、「NMTOKEN」、「NMTOKENS」、「ENTITY」、「ENTITIES」、区切り文字「|」と、削除されたすべての空白文字とともに括弧に入れられたトークン・グループ、または削除されたすべての空白文字とともに括弧に入れられたトークン・グループの直前にある空白文字の、直前の「NOTATION」という語のどれかの文字列になります。
値はアプリケーションに報告され、適正に正規化されてエンティティ参照と文字列参照を拡張した値になります。
- パラメータ:
eName
- 関連要素名。aName
- 属性の名前。type
- 属性型を示す文字列。mode
- 属性のデフォルト・モードを示す文字列(#IMPLIED、#REQUIRED、または#FIXED)。いずれにも当てはまらない場合はnull。value
- 属性のデフォルト値を示す文字列。存在しない場合はnull。- 例外:
SAXException
- アプリケーションが例外を発生させる場合があります。
-
internalEntityDecl
void internalEntityDecl(String name, String value) throws SAXException 内部エンティティ宣言を報告します。有効な(最初の)エンティティ宣言だけが報告されます。 通常のエンティティとは異なり、値に含まれるすべてのパラメータ・エンティティは拡張されます。
- パラメータ:
name
- エンティティの名前。 パラメータ・エンティティの場合、名前は「%」で始まる。value
- エンティティの置換テキスト。- 例外:
SAXException
- アプリケーションが例外を発生させる場合があります。- 関連項目:
-
externalEntityDecl
void externalEntityDecl(String name, String publicId, String systemId) throws SAXException 構文解析済みの外部エンティティ宣言を報告します。有効な(最初の)エンティティ宣言だけが報告されます。
システム識別子がURLの場合、パーサーはこれをアプリケーションに渡す前に完全に解決する必要があります。
- パラメータ:
name
- エンティティの名前。 パラメータ・エンティティの場合、名前は「%」で始まる。publicId
- エンティティの公開識別子。指定されなかった場合はnull。systemId
- エンティティのシステム識別子。- 例外:
SAXException
- アプリケーションが例外を発生させる場合があります。- 関連項目:
-