public interface DTDHandler
このモジュールは、ソース・コード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。詳細については、http://www.saxproject.orgを参照してください。
表記法や解析対象外のエンティティに関する情報が必要な場合、SAXアプリケーションはこのインタフェースを実装し、パーサーのsetDTDHandlerメソッドを使ってインスタンスをSAXパーサーに登録します。パーサーはこのインスタンスを使って、表記法や解析対象外のエンティティの宣言をアプリケーションに報告します。
このインタフェースには、XML勧告でプロセッサが報告しなければならないとされているDTDイベント(表記法と解析対象外エンティティの宣言)だけが含まれます。
SAXパーサーは、これらのイベントを、表記法や解析対象外のエンティティが宣言された順序とは関係なく、任意の順序で報告します。ただし、すべてのDTDイベントは、文書ハンドラのstartDocumentイベントの後と最初のstartElementイベントの前で報告されなければいけません。LexicalHandler
が使用されている場合、これらのイベントはendDTDイベントの前でも報告される必要があります。
将来使用できるように情報をハッシュ・テーブルやオブジェクト・ツリー内に格納するアプリケーションと、そうでないアプリケーションがあります。「NOTATION」、「ENTITY」または「ENTITIES」型の属性が検出された場合、アプリケーションはこのインタフェースから取得した情報を使って属性値に対応するエンティティや表記法を検出できます。
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
修飾子と型 | メソッドと説明 |
---|---|
void |
notationDecl(String name, String publicId, String systemId)
表記法宣言イベントの通知を受け取ります。
|
void |
unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
解析対象外エンティティ宣言イベントの通知を受け取ります。
|
void notationDecl(String name, String publicId, String systemId) throws SAXException
あとで参照できるように表記法を記録するアプリケーションと、記録しないアプリケーションがあります。表記法は属性値として解析対象外エンティティの宣言に表示されることがあり、処理命令のターゲット名で使用されることがあります。
1個以上のpublicIdおよびsystemIdがnull以外の値である必要があります。システム識別子が存在し、これがURLである場合、SAXパーサーはこの識別子をこのイベントからアプリケーションに渡す前に完全に解決する必要があります。
表記法宣言がこれを使用する解析対象外エンティティの前に報告されるかどうかは保証されていません。
name
- 表記法名。publicId
- 表記法の公開識別子。指定されなかった場合はnull。systemId
- 表記法のシステム識別子。指定されなかった場合はnull。SAXException
- 任意のSAX例外。ほかの例外をラップしている可能性がある。unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
, Attributes
void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
表記法名は、notationDecl
イベントによって報告される表記法に一致しています。後で参照できるようにエンティティを記録するアプリケーションと、記録しないアプリケーションがあります。解析対象外のエンティティは属性値として表示されることがあります。
システム識別子がURLの場合、パーサーはこれをアプリケーションに渡す前に完全に解決する必要があります。
name
- 解析対象外エンティティの名前。publicId
- エンティティの公開識別子。指定されなかった場合はnull。systemId
- エンティティのシステム識別子。notationName
- 関連表記法名。SAXException
- 任意のSAX例外。ほかの例外をラップしている可能性がある。notationDecl(java.lang.String, java.lang.String, java.lang.String)
, Attributes
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.