JavaTM 2 Platform
Standard Ed. 5.0

org.xml.sax
インタフェース DTDHandler

既知のサブインタフェースの一覧:
TransformerHandler
既知の実装クラスの一覧:
DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl

public interface DTDHandler

標準 DTD 関連イベントの通知を受け取ります。

このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。詳細については、http://www.saxproject.org を参照してください。

表記法や解析対象外のエンティティに関する情報が必要な場合、SAX アプリケーションはこのインタフェースを実装し、パーサの setDTDHandler メソッドを使ってインスタンスを SAX パーサに登録します。パーサはこのインスタンスを使って、表記法や解析対象外のエンティティの宣言をアプリケーションに報告します。

このインタフェースには、XML 勧告でプロセッサが報告しなければならないとされている DTD イベント (表記法と解析対象外エンティティの宣言) だけが含まれます。

SAX パーサは、これらのイベントを、表記法や解析対象外のエンティティが宣言された順序とは関係なく、任意の順序で報告します。ただし、すべての DTD イベントは、文書ハンドラの startDocument イベントのあとと最初の startElement イベントの前で報告されなければなりません。LexicalHandler が使用されている場合、これらのイベントは endDTD event の前でも報告される必要があります。

将来使用できるように情報をハッシュテーブルやオブジェクトツリー内に格納するアプリケーションと、そうでないアプリケーションがあります。「NOTATION」、「ENTITY」または「ENTITIES」型の属性が検出された場合、アプリケーションはこのインタフェースから取得した情報を使って属性値に対応するエンティティや表記法を検出できます。

導入されたバージョン:
SAX 1.0
関連項目:
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)

メソッドの概要
 void notationDecl(String name, String publicId, String systemId)
          表記法宣言イベントの通知を受け取ります。
 void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
          解析対象外エンティティ宣言イベントの通知を受け取ります。
 

メソッドの詳細

notationDecl

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

unparsedEntityDecl

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

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。