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, 2013, Oracle and/or its affiliates. All rights reserved.