Configure Validation Scenarios does not detect phases in Schematron with includes

Having trouble installing <oXygen/>? Got a bug to report? Post it all here.
whyme
Posts: 71
Joined: Fri Mar 08, 2013 8:58 am

Configure Validation Scenarios does not detect phases in Schematron with includes

Post by whyme » Thu Jul 23, 2020 7:17 am

I have a Schematron file that is for the most part empty, except for the <sch:include> elements that point to included Schematron files that have the intended <sch:phase> and <sch:active> elements that define the phases. When I go to Configure Validation Scenario(s) > Edit Scenario, and then specify the master Schematron file, the Schematron phase drop-down menu is disabled, I think because oXygen hasn't fetched the included files. Maybe this is more of an enhancement request than a bug report?

tavy
Posts: 235
Joined: Thu Jul 01, 2004 12:29 pm

Re: Configure Validation Scenarios does not detect phases in Schematron with includes

Post by tavy » Thu Jul 23, 2020 11:55 am

Hello,

Thanks for your feedback.
Yes, the phases from the included files are not collected when you associate a Schemaron in the validation scenario. We collect the phases from the included files only when the validation scenario is applied, and we display them in a dialog. This is because we do not expand the includes when the Schematron is selected in the validation scenario.
I added an issue on our issue tracker to analyze this situation. We need to consider also the performance because this detection must be fast and you can have complex Schematron files with multiple includes.
We will update this thread when the issue will be solved.

Best Regards,
Octavian
Octavian Nadolu
<oXygen/> XML Editor
http://www.oxygenxml.com

whyme
Posts: 71
Joined: Fri Mar 08, 2013 8:58 am

Re: Configure Validation Scenarios does not detect phases in Schematron with includes

Post by whyme » Thu Jul 23, 2020 12:38 pm

Thanks Octavian. I don't know if the following would be persuasive in the decision whether to implement this feature, but Schematron includes, unlike XSLT includes, have a small iteration limit. To fetch a Schematron phase that has been included, you need (I think) go no deeper than one round of inclusion, because it has to be a child of the root element.

Post Reply