Many local, national, regional or sectoral bodies have requirements for data interchange using Open Standards, as a way to prevent Open Source merely creating another form of product- or vendor- lock-in.
One of the uses of standards is to make allowed or required procurement lists: if you use XML, you may use it with these schema languages; if you use Schematron, you must use ISO Schematron; if you use a markup language, you must use an Open Standard; and so on.
Schematron Open Documentation Project
I am currently developing on this site, a project "Schematron Open Documentation" (of Schematron as standardized by IS 19575-3:2020), suitable for use where the ISO Schematron text is precluded, but not intended as alternative formal standard.
I hope to have an initial, workable version of this text available by 4Q 2021, at the earliest.
What is an Open Standard?
For Schematron, there are three alternative definitions of Open Standard in wide currency and legislation (as FRAND issues are not relevant):
- formal open procedure; may charge
- formal open procedure; free price
- informal procedure; complete; free price
We might call these industrial standards (e.g., ISO) consortia standards (e.g., OASIS), and open documentation (e.g. GIF) respectively.
Is Schematron an Open Standard?
Formally, and usually, a standard is a document, not a technology.
- ISO Schematron meets the requirements of an Open Standard according to the industrial standard definitions.
- ISO Schematron met the requirements of an Open Standard according to the consortium standard definitions from 2008 to 2020 (when there was a change in the implementation of ISO policy on providing free PDFs for individual use).
- The public schemas of ISO Schematron (in Relax NG and Schematron itself) are still free and available: they continue to meet the consortium standard definition.
- The Schematron Open Documentation project at schematron.com aims to provide documentation (describing the ISO Schematron technology) that can meet the requirements of Open Standard according to the open documentation definitions.
The intent is to have this available by 4Q/2021. In no way is it intended to be a fork or rival to ISO Schematron, merely to allow the industrial standard to be adopted in situations where the cost impedes procurement or adoption.
With this in mind, here are suggestions for procurement policy in a regulated environment:
1. Pre-commencement Use
“For the purposes of investigation, bidding and initial design scoping, the “open documentation” MAY be used by suppliers.
2. Interpretation Use
“To assist interpretation, the supplier’s technical staff tasked with Schematron are encouraged to read the “open documentation” text. If the procurement requires IS 19575-3, then suppliers SHOULD obtain and use that text; in this case, where the International Standard is ambiguous, the “open documentation” may be used as evidence supporting a particular interpretation.”
On successful bidding and project commencement, suppliers should obtain and use the text of the International Standard IS 19575-3 if that is required; they may obtain this text for informative purposes otherwise, to aid the interpretation of the “open documentation.””
3. Schema Variations
The ISO standard versions of the schemas SHOULD be used.
N.b. A variation is allowed for any necessary corrections reported to the national body or editor and available in the open standard, not being additional elements in the Schematron namespace or default attributes.
4. Variation for specific conforming Query Language Bindings
A Query Language Binding is a small document that specifies exactly the “productions” and features that is expected when supporting an underlying query language.
The International Standard provides “non-normative” (in the ISO sense) annexes with the QLBs for XPath and XSLT 1 to 3; these are not actually subject to conformance requirements of the text.
A good procurement requirement would specify the actual QLB texts to be used, such as:
“Schematron schemas must only use XSLT1, XPath1 or XPath2 QLB. These SHOULD be the QLB of IS 19757-3:2016. A variation is allowed, to use the equivalent QLBs of the “open documentation” at www.schematron.com.”
4. Normative Text
- In all cases where an industrial standard is required, the ISO standard should be cited.
- The open documentation should be referenced non-normatively.
- In cases where a consortium standard is required, only validity against the (freely available) schemas should be required.
- The ISO Standard and the open documentation should be cited non-normatively, or for guidance, or for dispute resolution.
- In cases where open documentation is enough, the Schematron Open Documentation project at schematron.com should be used.
- The ISO standard should be mentioned non-normatively.
- In other cases, it may be possible to instead cite the main Open Source implementations (the "skeleton" code and SchXslt, both on GitHub) or functional compatability with them.
- Even in this case, the ISO Standard and the open documentation should be referenced non-normatively.