Interface StAXFilter
- All Known Implementing Classes:
DefaultStAXFilter
Using the StAXStreamBuilder or StAXEventBuilder you can parse a List of JDOM content by filtering that content with an instance of this filter.
There are two significant states in which methods in this interface will be called:
- We are not currently including any content, and we want to know whether the current StAX content should be included.
- We are currently inside an Element that this filter has indicated should be included, but perhaps you want to prune some content.
- Author:
- Rolf Lear
-
Method Summary
Modifier and TypeMethodDescriptionincludeCDATA
(int depth, String text) The current event is a CDATA event.includeComment
(int depth, String comment) The current event is a Comment event.boolean
The current event is a DocType event.boolean
includeElement
(int depth, String name, Namespace ns) The current event is an Element event.boolean
includeEntityRef
(int depth, String name) The current event is an EntityRef event.boolean
includeProcessingInstruction
(int depth, String target) The current event is a ProcessingInstruction event.includeText
(int depth, String text) The current event is a TEXT event.pruneCDATA
(int depth, String text) An Element is being included, and this is a child CDATA event of the included parent Element.pruneComment
(int depth, String comment) An Element is being included, and this is a child Comment event of the included parent Element.boolean
pruneElement
(int depth, String name, Namespace ns) An Element is being included, and this is a child Element event of the included parent Element.boolean
pruneEntityRef
(int depth, String name) An Element is being included, and this is a child EntityRef event of the included parent Element.boolean
pruneProcessingInstruction
(int depth, String target) An Element is being included, and this is a child ProcessingInstruction event of the included parent Element.An Element is being included, and this is a child Text event of the included parent Element.
-
Method Details
-
includeDocType
boolean includeDocType()The current event is a DocType event.- Returns:
- true if the DocType should become a JDOM Fragment.
-
includeElement
The current event is an Element event.If the return value of this call is true, then this Element will be processed as a JDOM fragment. You may then get calls to the prune* methods to determine whether child content of this Element should be pruned.
- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)name
- The XML tag name of this Elementns
- The Namespace of this Element- Returns:
- true if the Element should become a JDOM Fragment.
-
includeComment
The current event is a Comment event.A null return value will cause the Comment to be ignored, and a non-null return value will become the Comment's text.
To include the comment as-is, do:
public String includeComment(int depth, String comment) { return comment; }
- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)comment
- The Comment value- Returns:
- null if you want to exclude this comment, or a non-null value which will become the new comment value.
-
includeEntityRef
The current event is an EntityRef event.- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)name
- The EntityRef name- Returns:
- true if you want to include this EntityRef.
-
includeCDATA
The current event is a CDATA event.A null return value will cause the Comment to be ignored, and a non-null return value will become the CDATA's text.
To include the CDATA as-is, do:
public String includeCDATA(int depth, String text) { return text; }
- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)text
- The CDATA text value- Returns:
- null if you want to exclude this CDATA, or a non-null value which will become the new CDATA text value.
-
includeText
The current event is a TEXT event.A null return value will cause the Comment to be ignored, and a non-null return value will become the Text's text.
To include the Text as-is, do:
public String includeText(int depth, String text) { return text; }
- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)text
- The Text value- Returns:
- null if you want to exclude this Text, or a non-null value which will become the new Text value.
-
includeProcessingInstruction
The current event is a ProcessingInstruction event.- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)target
- The ProcessingInstruction Target value- Returns:
- true if you want to include this ProcessingInstruction.
-
pruneElement
An Element is being included, and this is a child Element event of the included parent Element. Should this Child Element be pruned from the parent fragment?- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)name
- The XML tag name of this child Elementns
- The Namespace of this child Element- Returns:
- true if the child Element should be excluded.
-
pruneComment
An Element is being included, and this is a child Comment event of the included parent Element. Should this child Comment be pruned from the parent fragment?A non-null return value will become the Comment value. Return null to skip the Comment.
To include the Comment as-is, do:
public String pruneComment(int depth, String comment) { return comment; }
- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)comment
- The Comment value- Returns:
- null if you want to exclude this Comment, or a non-null value which will become the new Comment value.
-
pruneEntityRef
An Element is being included, and this is a child EntityRef event of the included parent Element. Should this child EntityRef be pruned from the parent fragment?- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)name
- The EntityRef name- Returns:
- true if you want to exclude this EntityRef.
-
pruneCDATA
An Element is being included, and this is a child CDATA event of the included parent Element. Should this child CDATA be pruned from the parent fragment?A non-null return value will become the CDATA text. Return null to skip the CDATA.
To include the CDATA as-is, do:
public String pruneCDATA(int depth, String text) { return text; }
- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)text
- The CDATA text value- Returns:
- null if you want to exclude this CDATA, or a non-null value which will become the new CDATA text value.
-
pruneText
An Element is being included, and this is a child Text event of the included parent Element. Should this child Text be pruned from the parent fragment?A non-null return value will become the Text. Return null to skip the Text.
To include the Text as-is, do:
public String pruneText(int depth, String text) { return text; }
- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)text
- The Text value- Returns:
- null if you want to exclude this Text, or a non-null value which will become the new Text value.
-
pruneProcessingInstruction
An Element is being included, and this is a child ProcessingInstruction event of the included parent Element. Should this ProcessingInstruction be pruned from the parent fragment?- Parameters:
depth
- The depth of this content from the document root (the root Element is at depth 0)target
- The ProcessingInstruction Target value- Returns:
- true if you want to exclude this ProcessingInstruction.
-