|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。