|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface LSParserFilter
LSParserFilter
為應用程序提供了在解析期間建構節點時檢查這些節點的能力。由於要檢查每個節點,所以可能會修改或刪除這些節點,或者會提前終止整個解析。
此時解析器會調用任何過濾器器方法,所有者 Document 和 DOMImplementation 物件存在並可存取。從不會將文檔元素傳遞給 LSParserFilter
方法,即不可能過濾出文檔元素。Document
、DocumentType
、Notation
、Entity
和 Attr
節點從不會被傳遞給過濾器上的 acceptNode
方法。如果參數 "entities" 設置為 false
,則把 EntityReference
節點的子節點傳遞給過濾器。注意,如參數 "entities" 所描述的那樣,從不會丟棄未展開的實體參考節點,並且始終將它傳遞給過濾器。
解析文檔期間,所有的有效性檢查都像它出現在輸入串流上那樣出現在源文檔上,而不像在記憶體中建構它那樣出現在 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()
告知 LSParser 將向方法 LSParserFilter.acceptNode 顯示什麼型別的節點。 |
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
如果 Element
必須包括在要建構的 DOM 文檔中。
FILTER_REJECT
如果 Element
及其所有的子項必須拒絕。
FILTER_SKIP
如果 Element
必須跳過。將把它所有的子項插入到跳過的 Element
節點位置。
FILTER_INTERRUPT
如果過濾器想停止對文檔的處理。中斷對文檔的處理將不再保證得到的 DOM 階層樹是格式良好的 XML。拒絕 Element
。
short acceptNode(Node nodeArg)
nodeArg
- 新建構的元素。此時調用此方法,該元素是完整的 - 它具有其所有的子節點(和它們的位元組點,以此類別推)和屬性,並且作為子節點連接到它的父節點。
FILTER_ACCEPT
如果此 Node
必須包括在要建構的 DOM 文檔中。
FILTER_REJECT
如果 Node
及其所有的子節點必須被拒絕。
FILTER_SKIP
如果 Node
必須跳過並且 Node
必須由 Node
的所有子節點代替。
FILTER_INTERRUPT
如果過濾器想停止對文檔的處理。中止對文檔的處理將不再保證得到的 DOM 階層樹是格式良好的 XML。Node
被接受,並且將成為最後一個得到完整解析的節點。
int getWhatToShow()
LSParser
將向方法 LSParserFilter.acceptNode
顯示什麼型別的節點。如果沒有將某個節點顯示給使用此屬性的過濾器,則該節點將自動包含在要建構的 DOM 文檔中。有關對常數的定義請參見 NodeFilter
。常數 SHOW_ATTRIBUTE
、SHOW_DOCUMENT
、SHOW_DOCUMENT_TYPE
、SHOW_NOTATION
、SHOW_ENTITY
和 SHOW_DOCUMENT_FRAGMENT
在此無意義。從不會將這些節點傳遞給 LSParserFilter.acceptNode
。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。