Adam, yes I think those changes would also be very good.

On Sat, Jan 25, 2014 at 4:11 PM, Adam Retter <> wrote:
> +1 "PS Think that FilteringTrigger must be renamed to SAXDocumentTrigger
> (SAXTrigger)"

Agreed, in principle. But I think there is more which should be done.
DocumentTrigger should not extend the ContentHandler and
LexicalHandler interfaces, instead SaxDocumentTrigger should extend
SaxDocumentTrigger should be changed to an interface, with the current
abstractions from FilteringTrigger placed into a class called
IdentitySaxDocumentTrigger which implements SaxDocumentTrigger.

The following methods should also be moved from DocumentTrigger to

public boolean isValidating();
public void setValidating(boolean validating);
public void setOutputHandler(ContentHandler handler);
public void setLexicalOutputHandler(LexicalHandler handler);
public ContentHandler getOutputHandler();
public ContentHandler getInputHandler();
public LexicalHandler getLexicalOutputHandler();
public LexicalHandler getLexicalInputHandler();

By doing this, we will have a clean separation between document
triggers which handle SAX events, and document triggers which do not.
This allows people to ignore SAX if they just want to implement the
simple Document Trigger events of 'before...' and 'after...'.

Adam Retter

eXist Developer
{ United Kingdom }

Casey Jordan
easyDITA a product of Jorsek LLC
"CaseyDJordan" on LinkedIn, Twitter & Facebook
(585) 348 7399

This message is intended only for the use of the Addressee(s) and may
contain information that is privileged, confidential, and/or exempt from
disclosure under applicable law.  If you are not the intended recipient,
please be advised that any disclosure  copying, distribution, or use of
the information contained herein is prohibited.  If you have received
this communication in error, please destroy all copies of the message,
whether in electronic or hard copy format, as well as attachments, and
immediately contact the sender by replying to this e-mail or by phone.
Thank you.