Closed sydb closed 6 days ago
I have merged branch "main" into this branch (resolving only conflict, in the Schematron, by hand), and re-run the test (but this time on only the 729 articles listed in the TOC). Again, no differences at all.
I tested 4 separate files in oXygen, thus running the dhqTEI-ready.sch schema from this branch. While the Schematron flagged errors, there were no errors in the Schematron. Thus merging.
No changes to actual constraints.
I found I could not validate against common/schema/dhqTEI-ready.sch using schxslt. I want to submit a bug report about schxslt, but figure I cannot expect a Schematron processor to work properly unless the schema is valid. But it turns out it was not valid, at least not against the RELAX NG schema provided in ISO 19757-3:2016 appendix A. (It was, and still is, valid against the Schematron schema in appendix B.)
I don’t really understand what is going on here, because it is valid according to oXygen. So I am not sure what schema SyncRO is using. I will probably ask on one of their forums later today.
In the meantime I made a few tweaks to dhqTEI-ready.sch so that it is now valid against 19757-3:2016 and is still valid in oXygen:
<sch:ns>
elements to precede paragraphs of prose.<sch:let>
elements to precede their<sch:assert>
or<sch:report>
siblings.<sch:assert test="true()">
child to empty<sch:rule>
elements. (Note that such an assertion will never fire.)<sch:properties>
element at the end. (Not only do we not use properties, I do not (currently) know how to.)I do not think it useful to review this by looking at individual lines of code. (But if you do, make sure to check “Hide whitespace”, because I converted all tabs (U+0009) to spaces.) I have tested this change by validating the entire articles/0/0.xml corpus against both the before- and after- versions of the dhqTEI-ready.sch schema and comparing the results. They are exactly the same (roughly 1300 errors). But the method I use to validate against Schematron is probably not how others do, so I think someone should spot-check 3+ files by validating them against the dhqTEI-ready.sch schema in the main branch and the dhqTEI-ready.sch schema in this branch, and making sure the results are the same.