The detest: target of Test/Makefile currently does (roughly) the following:
Compiles detest.odd into detest.rng, detest.isosch, detest.rng, and detest.xsl
Under message “Validate ODD file using Schematron”, validates detest.odd (putting output into detest1.log):
a) against ../p5odds.rng using jing
b) against ../p5odds.message.isosch.xsl using Saxon
Under message “Validate ODD file using RELAX NG schema”, validates detest.xml against detest.rnc putting output into detest2.log.
Under message “Validate XML file using Schematron”, validates detest.xml against detest.xsl putting output into detest3.log
Combines the 3 log files into one
Compares that one log file to the expected_results/ output.
Deletes the detst1, 2, & 3 log files
I propose to make this more explicit, and thus more understandable by mere mortals. E.g.:
Step 2 should occur first. Preferably it would emit separate messages saying what it was doing for steps (a) and (b).
The message for 3 is just plain wrong, it is the XML instance that is being validated against the compiled outputs of the ODD file, not the ODD file being validated
Outputs should not go to temp files detest1, 2, & 3, but rather to retained files
detest_odd_schematron.log
detest_xml_relaxng.log
detest_xml_schematron.log
Each of these log files should be diffed separately with -C0 -bBw switches, with a message preceding
I believe that the only controversial issue in all of the above is using 3 separate log files instead of only 1. Thus I am flagging this as “Needs discussion” for that detail, and “Go” for the rest; and will do those 2 things in separate commits. (Of course, anyone can object to the rest and discuss here, or say you think the separation into 3 outputs should be Go, too. :-)
The detest: target of Test/Makefile currently does (roughly) the following:
I propose to make this more explicit, and thus more understandable by mere mortals. E.g.:
I believe that the only controversial issue in all of the above is using 3 separate log files instead of only 1. Thus I am flagging this as “Needs discussion” for that detail, and “Go” for the rest; and will do those 2 things in separate commits. (Of course, anyone can object to the rest and discuss here, or say you think the separation into 3 outputs should be Go, too. :-)