I approached Xerces about making the validator serializable. Got some pushback that "this is hard".
On Fri, Dec 9, 2022 at 10:00 AM Steve Lawrence <[email protected]> wrote: > I believe the issue is that we don't serialize the XercesValidator used > for full validation, I think maybe because it's not serializable? > > So if you reload() a saved parser with full validation, the > XercesValidator needs to be recreated, and it does so using the schema > files listed in this member: > > ssrd.elementRuntimeData.schemaURIStringsForFullValidation. > > But since this is reloaded, it's very possible that those schemas no > longer exist at those paths (e.g. moving a saved() parser from a build > machine to a production machine) and so it fails. > > Potentially we could allow it, and just error if those paths don't exist? > > I believe DAFFODIL-1749 is about solving this issue. > > > On 12/9/22 9:38 AM, Interrante, John A (GE Research, US) wrote: > > I got curious and searched the codebase and website, but I couldn't find > an explanation why Daffodil lets you save and reload a parser, but > restricts you from doing one thing with a restored parser that you can do > with a normal parser. The only restriction Daffodil imposes is that you > can't perform full validation with a reloaded parser. Why is that > restriction imposed? > > > >
