Schematron / schematron

Schematron "skeleton" - XSLT implementation
MIT License
93 stars 45 forks source link

sch:span/sch:value-of not supported in SVRL #22

Open rjelliffe opened 7 years ago

rjelliffe commented 7 years ago

in 2013 Webb Roberts reported that sch:span didn't allow children. I have not confirmed this, or whether it is an SVRL problem. We should follow the standard, but if the standard does not allow it, we should provide mode in the engine as command-line option to allow it and request a fix to the standard.


Webb wrote:

It seems that there is a mismatch between the capability of SVRL and the facilities in the ISO Schematron specification. The SVRL grammar (http://www.schematron.com/resource/svrl.rnc.txt) doesn't the include capacity to represent the Schematron span element or emph in assert.

I also can't find any support for span in the reference Schematron implementation. There's a hook for it in the skeleton, but the SVRL and text implementations seem to just eat the tags and render the plain text.

This leads me to my questions:

    Is it true that you can't nest sch:value-of (or anything else, really) inside of sch:span? This seems to really limit the utility of sch:span.
    Is text formatting within sch:assert, sch:report, etc., used in the field? I've never seen real Schematron that included sch:span and sch:emph.
    Do any tools (the reference tools, or others like Oxygen) support these tags?
    Should I just give up and use plain text?
rjelliffe commented 7 years ago

In Schematron 2016 SVRL, the svrl:failed-assert/svrl:text does allow rich text like svrl:span and svrl:emph. However, the contents of svrl:span etc are not themselves rich, which means that arbitrary markup is not really possible.
This matches the content models of the corresponding elements in Schematron 2016. So there is now no mismatch. However, it is true that the facilities are not much use if sch:value-of cannot be used.