[
https://issues.apache.org/jira/browse/DAFFODIL-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18022438#comment-18022438
]
Steve Lawrence commented on DAFFODIL-1749:
------------------------------------------
Note that as of 4.0.0 Daffodil allows use of full validation with saved
parsers. Though it does not do this by serializing the validator as this issue
recommends. Instead we now support calling withValidation after a saved parser
is reloaded. For example, this is now legal:
{code:scala}
val dataProcessor = Compiler.reload(...).withValidation("xerces",
"path/to/schema.xsdf")
{code}
Note that this requires passing in the path to the schema to use for
validation, and it is up to the user to make that available.
> Store Xerces validator in DataProcessor so reloaded parsers can use full
> validation
> -----------------------------------------------------------------------------------
>
> Key: DAFFODIL-1749
> URL: https://issues.apache.org/jira/browse/DAFFODIL-1749
> Project: Daffodil
> Issue Type: Improvement
> Components: CLI
> Reporter: Steve Lawrence
> Priority: Major
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)