|
Oracle® XML Java API Reference Release 1 (10.1) B12024-01 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
LSParserFilter
s provide applications the ability to examine nodes as they are being constructed while parsing. As each node is examined, it may be modified or removed, or the entire parse may be terminated early.
At the time any of the filter methods are called by the parser, the owner Document and DOMImplementation objects exist and are accessible. The document element is never passed to the LSParserFilter
methods, i.e. it is not possible to filter out the document element. Document
, DocumentType
, Notation
, Entity
, and Attr
nodes are never passed to the acceptNode
method on the filter.
All validity checking while parsing a document occurs on the source document as it appears on the input stream, not on the DOM document as it is built in memory. With filters, the document in memory may be a subset of the document on the stream, and its validity may have been affected by the filtering.
All default attributes must be present on elements when the elements are passed to the filter methods. All other default content must be passed to the filter methods.
The LSParser
ignores any exception raised in the filter.
See also the Document Object Model (DOM) Level 3 Load and Save Specification.
Field Summary | |
static short |
FILTER_ACCEPT Accept the node. |
static short |
FILTER_INTERRUPT Interrupt the normal processing of the document. |
static short |
FILTER_REJECT Reject the node and its children. |
static short |
FILTER_SKIP Skip this single node. |
Method Summary | |
short |
acceptNode(Node nodeArg) This method will be called by the parser at the completion of the parsing of each node. |
int |
getWhatToShow() Tells the LSParser what types of nodes to show to the filter. |
short |
startElement(Element elementArg) The parser will call this method after each Element start tag has been scanned, but before the remainder of the Element is processed. |
Field Detail |
public static final short FILTER_ACCEPT
public static final short FILTER_REJECT
public static final short FILTER_SKIP
public static final short FILTER_INTERRUPT
Method Detail |
public short startElement(Element elementArg)
Element
start tag has been scanned, but before the remainder of the Element
is processed. The intent is to allow the element, including any children, to be efficiently skipped. Note that only element nodes are passed to the startElement
function.startElement
for filtering will include all of the Element's attributes, but none of the children nodes. The Element may not yet be in place in the document being constructed (it may not have a parent node.)startElement
filter function may access or change the attributes for the Element. Changing Namespace declarations will have no effect on namespace resolution by the parser.elementArg
- The newly encountered element. At the time this method is called, the element is incomplete - it will have its attributes, but no children.FILTER_ACCEPT
if the Element
should be included in the DOM document being built.FILTER_REJECT
if the Element
and all of its children should be rejected. This return value will be ignored if element
is the documentElement, the documentElement cannot be rejected.FILTER_SKIP
if the Element
should be skipped. All of its children are inserted in place of the skipped Element
node. This return value will be ignored if element
is the documentElement, the documentElement cannot be skipped.FILTER_INTERRUPT
if the filter wants to stop the processing of the document. Interrupting the processing of the document does no longer guarantee that the resulting DOM tree is XML well-formed. The Element
is rejected.public short acceptNode(Node nodeArg)
nodeArg
- The newly constructed element. At the time this method is called, the element is complete - it has all of its children (and their children, recursively) and attributes, and is attached as a child to its parent.FILTER_ACCEPT
if this Node
should be included in the DOM document being built.FILTER_REJECT
if the Node
and all of its children should be rejected.FILTER_SKIP
if the Node
should be skipped and the Node
should be replaced by all the children of the Node
.FILTER_INTERRUPT
if the filter wants to stop the processing of the document. Interrupting the processing of the document does no longer guarantee that the resulting DOM tree is XML well-formed. The Node
is accepted and will be the last completely parsed node.public int getWhatToShow()
LSParser
what types of nodes to show to the filter. See NodeFilter
for definition of the constants. The constants SHOW_ATTRIBUTE
, SHOW_DOCUMENT
, SHOW_DOCUMENT_TYPE
, SHOW_NOTATION
, SHOW_ENTITY
, and SHOW_DOCUMENT_FRAGMENT
are meaningless here, those nodes will never be passed to a LSParserFilter
.
|
Oracle® XML Java API Reference Release 1 (10.1) B12024-01 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |