Well, then. That’s clearly problematic. (And why is it trying to validate against last successful instead of local? Not that it matters for this purpose.)
So it looks like NVDL is validating the ISO Schematron schema before it tries to use it, and (incorrectly) finding it invalid, rejects it. I say “incorrectly” because the schema file being used[1] is valid with respect to $gse:
- according to oXygen (v. 23.0)
- against P5/iso-schematron.rnc[2]
- against the 2015 ISO Schematron RELAX NG schema[3]
Can we tell what schema oNVDL is using to validate p5odds.isosch?
The parameter “gse” is set in 6 places (lines 318, 322, 326, 330, 404, & 467 in the current version), and referred to only once (line 506), so that must be where the error is being flagged. But (I think) this is
exactly the kind of use that is intended. (As evidence, here are excerpts copied from the spec itself:
<sch:pattern abstract="true" id="table">
<sch:rule context="$table">
<sch:assert test="$row">
The element <name/> is a table. Tables contain rows.
</sch:assert>
</sch:rule>
<sch:rule context="$row">
<sch:assert test="$entry">
The element <name/> is a table row. Rows contain entries.
</sch:assert>
</sch:rule>
</sch:pattern>
And
<sch:pattern is-a="table" id="HTML_Table">
<sch:param name="table" value="table"/>
<sch:param name="row" value="tr"/>
<sch:param name="entry" value="td|th"/>
</sch:pattern>
<sch:pattern is-a="table" id="CALS_Table">
<sch:param name="table" value="table"/>
<sch:param name="row" value=".//row"/>
<sch:param name="entry" value="cell"/>
</sch:pattern>
<sch:pattern is-a="table" id="calendar">
<sch:param name="table" value="calendar/year"/>
<sch:param name="row" value="week"/>
<sch:param name="entry" value="day"/>
</sch:pattern>
) So I am reasonably confident the reference to the $gse parameter in the value of @context is legal.
Notes
[2] Although for reasons I do not understand, I have to provide the -i
switch on the commandline, otherwise it bombs with a java trace.
[3] I do not know from where I got this schema. It is in my ISO 19757
/ directory.
Open a Spec file in Oxygen and validate it. :-)