JavaTM Platform
Standard Ed. 6

org.xml.sax.ext
インタフェース DeclHandler

既知の実装クラスの一覧:
DefaultHandler2

public interface DeclHandler

DTD 宣言イベントのための SAX2 拡張ハンドラです。

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

XML 文書中の DTD 宣言に関するより完全な情報を提供する SAX2 用の任意の拡張ハンドラです。このハンドラを認識するために、XML リーダーは不要です。 また、このハンドラは、SAX2 のコアのみのディストリビューションには含まれていません。

データ関連の DTD 宣言 (未構文解析のエンティティーおよび表記法) は、すでに DTDHandler インタフェースによって報告されている点に注意してください。

宣言ハンドラと字句ハンドラを同時に使用する場合、すべてのイベントは startDTD から endDTD までの間に発生します。

DeclHandler を XML リーダーに設定するには、プロパティー名 http://xml.org/sax/properties/declaration-handler とこのインタフェース (または null) を値として実装するオブジェクトを持つ setProperty メソッドを使用します。リーダーが宣言イベントを報告しない場合、ハンドラを登録しようとすると SAXNotRecognizedException がスローされます。

導入されたバージョン:
SAX 2.0 (extensions 1.0)

メソッドの概要
 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)
          内部エンティティー宣言を報告します。
 

メソッドの詳細

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(java.lang.String, java.lang.String, java.lang.String), DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

externalEntityDecl

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)

JavaTM Platform
Standard Ed. 6

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

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