|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface LSParserFilter
LSParserFilter
を使用すると、解析中のノード構築時に、アプリケーションでノードを検証できます。各ノードが検証されるので、ノードを変更または削除したり、解析全体を早期に終了することもできます。
パーサがフィルタメソッドを呼び出すとき、所有者 Document オブジェクトと DOMImplementation オブジェクトは存在し、アクセス可能です。文書要素は LSParserFilter
のメソッドに渡されることはありません。つまり、フィルタをかけて文書要素を排除することはできません。Document
ノード、DocumentType
ノード、Notation
ノード、Entity
ノード、および Attr
ノードは、フィルタの acceptNode
メソッドに渡されることはありません。EntityReference
ノードの子ノードは、「entities」パラメータが false
に設定された場合には、フィルタには渡されません。「entities」パラメータで説明されているように、展開されない実体参照ノードは破棄されず、常にフィルタに渡されます。
文書解析中に行われるすべての有効性チェックは、DOM 文書がメモリで構築されるときに DOM 文書で行われるのではなく、ソース文書が入力ストリームに現れたときにソース文書で行われます。フィルタでは、メモリの文書はストリーム上の文書のサブセットになり、また、文書の有効性はフィルタ処理により影響を受けている場合があります。
要素がフィルタメソッドに渡されるときは、すべてのデフォルト属性が要素に存在している必要があります。他のすべてのデフォルトコンテンツは、フィルタメソッドに渡される必要があります。
DOM アプリケーションがフィルタの例外をスローすることはありません。フィルタから例外がスローされる場合、その影響は DOM 実装によって異なります。
「Document Object Model (DOM) Level 3 Load and Save Specification」も参照してください。
フィールドの概要 | |
---|---|
static short |
FILTER_ACCEPT
ノードを受け入れます。 |
static short |
FILTER_INTERRUPT
文書の通常の処理に割り込みます。 |
static short |
FILTER_REJECT
ノードとノードの子を拒否します。 |
static short |
FILTER_SKIP
指定した単一のノードをスキップします。 |
メソッドの概要 | |
---|---|
short |
acceptNode(Node nodeArg)
各ノードの解析が完了すると、パーサはこのメソッドを呼び出します。 |
int |
getWhatToShow()
LSParserFilter.acceptNode メソッドに対してどの型のノードを示すかを LSParser に通知します。 |
short |
startElement(Element elementArg)
各 Element の開始タグが走査されたあと、ただし Element のそれ以降が処理される前に、パーサはこのメソッドを呼び出します。 |
フィールドの詳細 |
---|
static final short FILTER_ACCEPT
static final short FILTER_REJECT
static final short FILTER_SKIP
static final short FILTER_INTERRUPT
メソッドの詳細 |
---|
short startElement(Element elementArg)
Element
の開始タグが走査されたあと、ただし Element
のそれ以降が処理される前に、パーサはこのメソッドを呼び出します。これは、子を含めて要素を効率的にスキップできるようにするためです。startElement
関数に渡されるのは要素ノードのみであることに注意してください。startElement
に渡される要素ノードには、Element のすべての属性が含まれますが、子ノードは含まれません。Element は、構築中の文書にない可能性があります (親ノードを持っていない可能性あり)。 startElement
フィルタ関数は、Element の属性をアクセスしたり、変更したりできます。Namespace 宣言を変更しても、パーサによる名前空間解決に影響はありません。
elementArg
- 新しく検出された要素。メソッドが呼び出されたとき、要素は不完全であり、属性を持つが、子を持たない
FILTER_ACCEPT
構築している DOM 文書に Element
を含める必要がある場合FILTER_REJECT
Element
とそのすべての子を拒否する必要がある場合FILTER_SKIP
Element
をスキップする必要がある場合。そのすべての子が、スキップした Element
の場所に挿入されるFILTER_INTERRUPT
フィルタ操作で文書の処理を停止する場合。文書の処理を中断すると、結果の DOM ツリーの XML 整形式は保証されなくなる。Element
は拒否されるshort acceptNode(Node nodeArg)
nodeArg
- 新たに構築された要素。メソッドが呼び出されたとき、要素は完全であり、要素のすべての子 (および再帰的にそれらの子) と属性を所有し、親に対し子として追加される
FILTER_ACCEPT
構築する DOM 文書にこの Node
を含める必要がある場合FILTER_REJECT
Node
とノードのすべての子を拒否する必要がある場合FILTER_SKIP
Node
をスキップする必要があり、Node
を Node
のすべての子に置き換える必要がある場合FILTER_INTERRUPT
フィルタ操作で文書の処理を停止する場合。文書の処理を中断すると、結果の DOM ツリーの XML 整形式は保証されない。Node
は受け入れられ、最後の完全に解析されたノードになる int getWhatToShow()
LSParserFilter.acceptNode
メソッドに対してどの型のノードを示すかを LSParser
に通知します。ノードは、この属性を使用しているフィルタに示されない場合は、構築されている DOM 文書に自動的に含められます。定数の定義については NodeFilter
を参照してください。定数 SHOW_ATTRIBUTE
、SHOW_DOCUMENT
、SHOW_DOCUMENT_TYPE
、SHOW_NOTATION
、SHOW_ENTITY
、および SHOW_DOCUMENT_FRAGMENT
は、ここでは意味がありません。これらのノードが LSParserFilter.acceptNode
に渡されることはありません。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。