With validation mode set to full, after a parse we have xerces recompile the schema and validate against the infoset. That is painful. Instead we should create a Xerces validator once (if full validation is enabled) and reuse the same one for each parse. That should give a noticeable gain in performance with full validation. Need to confirm that the xerces validator is thread safe and treat it appropriately if not
Also, we might be able to serialize the xerces validator as part of saving a parser. This would be nice so that we could enable full validation for saved parsers.