|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
字句イベントのための SAX2 拡張ハンドラです。
このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。
コメントや CDATA セクションの境界といった XML 文書に関する字句上の情報を提供する、SAX2 用のオプション拡張ハンドラです。このハンドラをサポートするために、XML リーダは不要です。また、このハンドラは、SAX2 のコアディストリビューションには含まれていません。
字句ハンドラ内のイベントは、文書内の個々の要素だけでなく文書全体に適用されます。すべての字句ハンドライベントは、コンテンツハンドラの startDocument イベントから endDocument イベントまでの間に発生します。
LexicalHandler を XML リーダに設定するには、propertyId "http://xml.org/sax/properties/lexical-handler" を指定して setProperty
メソッドを使用します。リーダが字句イベントをサポートしない場合、ハンドラを登録しようとすると、SAXNotRecognizedException
または SAXNotSupportedException
がスローされます。
XMLReader.setProperty(java.lang.String, java.lang.Object)
,
SAXNotRecognizedException
,
SAXNotSupportedException
メソッドの概要 | |
void |
comment(char[] ch,
int start,
int length)
文書内の任意の位置にある XML コメントを報告します。 |
void |
endCDATA()
CDATA セクションの終わりを報告します。 |
void |
endDTD()
DTD 宣言の終わりを報告します。 |
void |
endEntity(String name)
エンティティの終わりを報告します。 |
void |
startCDATA()
CDATA セクションの開始を報告します。 |
void |
startDTD(String name,
String publicId,
String systemId)
DTD 宣言がある場合、その開始を報告します。 |
void |
startEntity(String name)
内部および外部の XML エンティティの一部の開始を報告します。 |
メソッドの詳細 |
public void startDTD(String name, String publicId, String systemId) throws SAXException
このメソッドは、DOCTYPE 宣言の開始を報告するメソッドです。文書に DOCTYPE 宣言が含まれていない場合は呼び出されません。
DTDHandler
または DeclHandler
イベントを介して報告されるすべての宣言は、startDTD イベントから endDTD
イベントまでの間に出現することになっています。宣言は、startEntity
イベントから endEntity
イベントまでの間に出現しないと、内部 DTD サブセットに所属するものと見なされます。DTD のコメントおよび処理命令も、startDTD イベントから endDTD イベントまでの間に、元の (論理的な) 発生順で報告されることになっています。ただし、DTDHandler イベントや DeclHandler イベントに対する正確な相対位置に出現する必要はありません。
start/endDTD イベントは、ContentHandler の start/endDocument イベント内の最初の startElement
イベントの前に出現します。
name
- 文書型名publicId
- 宣言された外部 DTD サブセットの公開識別子。宣言されていない場合は nullsystemId
- 宣言された外部 DTD サブセットのシステム識別子。宣言されていない場合は null
SAXException
- アプリケーションが例外を生成することがあるendDTD()
,
startEntity(java.lang.String)
public void endDTD() throws SAXException
このメソッドは、DOCTYPE 宣言の終わりを報告するメソッドです。文書に DOCTYPE 宣言が含まれていない場合は呼び出されません。
SAXException
- アプリケーションが例外を生成することがあるstartDTD(java.lang.String, java.lang.String, java.lang.String)
public void startEntity(String name) throws SAXException
パラメータエンティティ (外部 DTD サブセットを含む) の報告機能はオプションです。LexicalHandler をサポートする SAX2 のドライバのなかには、この機能をサポートしないものもあります。http://xml.org/sax/features/lexical-handler/parameter-entities
機能を使って、パラメータエンティティの報告を照会または制御することができます。
一般的なエンティティは、正規名で報告されます。パラメータエンティティ名の前には '%' が付けられています。外部 DTD サブセットは "[dtd]" という擬似エンティティ名を持っています。
SAX2 ドライバがこれらのイベントを提供しているときは、その他のすべてのイベントを start/end エンティティイベント内に正しく入れ子にする必要があります。DeclHandler
または DTDHandler
のイベントを正しい順序で並べる必要はありません。
スキップされたエンティティは、ContentHandler インタフェースの一部である skippedEntity
イベントを介して報告されます。
SAX が採用しているストリーミングイベントモデルの制約により、以下の状況では一部のエンティティ境界を報告することができません。
これらは通知なく拡張されます。元のエンティティ境界の位置は示されません。
文字参照の境界 (実際にはエンティティではない) も報告されない点に注意してください。
すべての start/endEntity イベントを正しく入れ子にする必要があります。
name
- エンティティの名前。パラメータエンティティの場合、この名前は '%' で始まる。外部 DTD サブセットの場合、"[dtd]" で始まる
SAXException
- アプリケーションが例外を生成することがあるendEntity(java.lang.String)
,
DeclHandler.internalEntityDecl(java.lang.String, java.lang.String)
,
DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
public void endEntity(String name) throws SAXException
name
- 終了するエンティティの名前
SAXException
- アプリケーションが例外を生成することがあるstartEntity(java.lang.String)
public void startCDATA() throws SAXException
CDATA セクションのコンテンツは、正規の characters
イベントを介して報告されます。このイベントは境界の報告だけに使用されます。
SAXException
- アプリケーションが例外を生成することがあるendCDATA()
public void endCDATA() throws SAXException
SAXException
- アプリケーションが例外を生成することがあるstartCDATA()
public void comment(char[] ch, int start, int length) throws SAXException
このコールバックは、文書要素の内外に存在するコメント (外部 DTD サブセット内のコメントも含む) に対して使用されます。DTD 内のコメントは、start/endDTD イベントと start/endEntity イベント (使用されている場合) の内部に正しく入れ子にする必要があります。
ch
- コメントに含まれる文字を格納する配列start
- 配列内の開始位置length
- 配列から読み取られる文字数
SAXException
- アプリケーションが例外を生成することがある
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.