public interface DeclHandler
このモジュールは、ソース・コード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。詳細については、http://www.saxproject.orgを参照してください。
XML文書中のDTD宣言に関するより完全な情報を提供するSAX2用のオプションの拡張ハンドラです。このハンドラを認識するために、XMLリーダーは不要です。また、このハンドラは、SAX2のコアのみのディストリビューションには含まれていません。
データ関連のDTD宣言(解析対象外のエンティティおよび表記法)は、すでにDTDHandler
インタフェースによって報告されています。
宣言ハンドラと字句ハンドラを同時に使用する場合、すべてのイベントはstartDTD
イベントからendDTD
イベントまでの間に発生します。
XMLリーダーのDeclHandlerを設定するには、プロパティ名としてhttp://xml.org/sax/properties/declaration-handler
、その値としてこのインタフェースを実装するオブジェクト(またはnull)を指定して、setProperty
メソッドを使用します。リーダーが宣言イベントを報告しない場合、ハンドラを登録しようとするとSAXNotRecognizedException
がスローされます。
修飾子と型 | メソッドと説明 |
---|---|
void |
attributeDecl(String eName, String aName, String type, String mode, String value)
属性型宣言を報告します。
|
void |
elementDecl(String name, String model)
要素型宣言を報告します。
|
void |
externalEntityDecl(String name, String publicId, String systemId)
構文解析済みの外部エンティティ宣言を報告します。
|
void |
internalEntityDecl(String name, String value)
内部エンティティ宣言を報告します。
|
void elementDecl(String name, String model) throws SAXException
コンテンツ・モデルは、文字列「EMPTY」、文字列「ANY」またはカッコに入れられたグループ(オプションで出現インジケータを伴う)で構成されます。このモデルは、すべてのパラメータ・エンティティが完全に解決され、すべての空白文字が削除されるように正規化されます。また、囲むカッコを含みます。その他の正規化(重複したカッコの削除、出現インジケータの簡易化など)はパーサーによって随意行われます。
name
- 要素型名。model
- コンテンツ・モデルを示す正規文字列。SAXException
- アプリケーションが例外を発生させる場合があります。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
- アプリケーションが例外を発生させる場合があります。void internalEntityDecl(String name, String value) throws SAXException
有効な(最初の)エンティティ宣言だけが報告されます。通常のエンティティとは異なり、値に含まれるすべてのパラメータ・エンティティは拡張されます。
name
- エンティティの名前。パラメータ・エンティティの場合、名前は「%」で始まる。value
- エンティティの置換テキスト。SAXException
- アプリケーションが例外を発生させる場合があります。externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
, DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
void externalEntityDecl(String name, String publicId, String systemId) throws SAXException
有効な(最初の)エンティティ宣言だけが報告されます。
システム識別子がURLの場合、パーサーはこれをアプリケーションに渡す前に完全に解決する必要があります。
name
- エンティティの名前。パラメータ・エンティティの場合、名前は「%」で始まる。publicId
- エンティティの公開識別子。指定されなかった場合はnull。systemId
- エンティティのシステム識別子。SAXException
- アプリケーションが例外を発生させる場合があります。internalEntityDecl(java.lang.String, java.lang.String)
, DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.