public static interface DocumentElementPreprocessor.ElementPreprocessor
DocumentElementPreprocessor.ElementPreprocessor
provides a mechanism to examine and optionally mutate an XmlElement
prior to it being processed by a ElementProcessor
. DocumentElementPreprocessor.ElementPreprocessor
s are designed to be used when a number of similar XmlElement
s in a document need to be pre-processed, ie: on an element-by-element basis, instead of an entire document being processed.
Rule 1: Implementations of this interface must remain stateless with respect to the XmlElement
s or ProcessingContext
that they are passed. That is, no state should be retained relating to either of these concepts for each method call.
Rule 2: No assumptions can be made as to the number of times an DocumentElementPreprocessor.ElementPreprocessor
may be called for a particular document or element, simply because other DocumentElementPreprocessor.ElementPreprocessor
s may request "re-pre-processing".
Violating either of these two rules may likely result in unpredictable application behavior.
Modifier and Type | Method and Description |
---|---|
boolean |
preprocess(ProcessingContext context, XmlElement element)
Process an
XmlElement , optionally mutating it (or it's children) if required. |
boolean preprocess(ProcessingContext context, XmlElement element) throws ConfigurationException
XmlElement
, optionally mutating it (or it's children) if required.
Note: An implementation of this interface should avoid attempting to traverse child XmlElement
s. If you wish to manually traverse or change the entire document, you should instead use a DocumentPreprocessor
.
context
- the ProcessingContext
in which the pre-processing is occuringelement
- the XmlElement
to preprocesstrue
if the specified XmlElement
should be re-preprocessed by this and other DocumentElementPreprocessor.ElementPreprocessor
s due to the XmlElement
being modified, false
otherwise.ConfigurationException
- if during pre-processing of the XmlElement
a configuration issue was discovered (or if pre-processing fails for some reason)