Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schematron in RELAX NG output #335

Closed
sydb opened this issue Sep 12, 2018 · 4 comments
Closed

Schematron in RELAX NG output #335

sydb opened this issue Sep 12, 2018 · 4 comments
Assignees
Labels
atop another TEI ODD processor conversion: relax status: needsDiscussion Council has not yet been able to agree on how to proceed. target: documentation An issue about improving documentation.

Comments

@sydb
Copy link
Member

sydb commented Sep 12, 2018

@rvdb observes on a TEI ticket that the Schematron that is inside the RELAX NG output of ODD generates an error when processed by oXygen that makes him think the query binding is set to XSLT 1.0.

This probably isn’t actually the case, I notice, because he has other constructs (e.g., “some $i in …”) which would fail in XSLT 1.0. But there is still a problem in there, and it would still be a good idea (if it is even possible) to indicate that the query binding should be XSLT 2.0 (or 3.0).

@rvdb
Copy link
Contributor

rvdb commented Sep 17, 2018

On further investigation, it seems that Schematron doesn't provide a mechanism for specifying the query binding when Schematron rules are embedded in another schema instance (RelaxNG, XML schema). Yet, Oxygen has an "Embedded rules query language binding" setting that can be set to xslt3 from Oxygen-17.1 onwards; Oxygen-15 supports up to xslt2.

So, given the fact that the target languages don't support a syntactic means to express the query binding for embedded Schematron rules, I'm not sure if it makes sense to be able to specify it in an ODD, apart for pure documentation purposes.

@sydb
Copy link
Member Author

sydb commented Sep 17, 2018

Thank you very much for looking into this, @rvdb.

IMHO the primary method for using Schematron from ODD is to generate a free-standing Schematron schema using the odds/extract-isosch.xsl program, rather than to generate a RELAX NG grammar and use the Schematron embedded within. The free-standing schema does have a @queryBinding attribute, although it is currently hard-coded in odds/extract-isosch.xsl.

@sydb sydb added conversion: schematron conversion: relax status: needsDiscussion Council has not yet been able to agree on how to proceed. target: documentation An issue about improving documentation. and removed conversion: schematron labels Jun 15, 2020
@sydb
Copy link
Member Author

sydb commented Jun 15, 2020

Without diving back into the details, my quick take is that there is nothing to be done in the Stylesheets themselves, but that we should be documenting this behavior somewhere obvious.

@HelenaSabel HelenaSabel added the atop another TEI ODD processor label Dec 1, 2022
@sydb
Copy link
Member Author

sydb commented Dec 1, 2022

See conversation in #2330.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
atop another TEI ODD processor conversion: relax status: needsDiscussion Council has not yet been able to agree on how to proceed. target: documentation An issue about improving documentation.
Projects
None yet
Development

No branches or pull requests

3 participants