[oXygen-user] better validation of Schematron schema
George Cristian Bina
Thu May 27 03:58:16 CDT 2010
Thanks for your feedback!
You identified exactly the problem, tracing back the errors to the
original schema. Our implementation is based on skeleton, simplified a
little as we know the XSLT engine that we use and I also added support
for includes and abstract schemas - that means there are a couple of
XSLT stylesheets until we get the XSLT from Schematron. I will see what
we can do about that, I agree that better validation for Schematron will
be a nice thing to have in oXygen.
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
On 5/26/10 7:35 PM, Lars Huttar wrote:
> My request here does not have to do with validating an XML document
> against a Schematron schema, but rather, finding out whether Schematron
> schema itself is valid.
> I'm pleased with Oxygen's support for Schematron, including ISO
> Schematron. Oxygen really has excellent coverage of XML-related tools.
> However I have the following enhancement request.
> When I'm editing a schema foo.sch in oXygen, I can press Ctrl+Shift+V
> and it does something, and says "Document is valid." I guess it's
> validating the schema against an RNG schema for Schematron? I don't
> know. What I do know is that its validation is not as complete as the
> validation for XSLT stylesheets. It helpfully validates the presence of
> elements and attributes that are dis/allowed in Schematron (old and ISO
> versions); but it does not validate the XPath in test expressions. Just
> now I had an assert whose test attribute's value was not well-formed XPath:
> <sch:assert test="../../row1/thing[@id = current()/transform[@type =
> Note that I'm missing a final square-bracket in the test expression.
> Yet Oxygen tells me the Schematron schema is valid.
> It was only when I tried to *use* the Schematron schema that it told me
> about the missing ']'. And at this point it's quite a bit harder to
> debug, because often you're using a manually-constructed pipeline where
> you have an XSLT transforming your Schematron schema to another XSLT,
> and then the latter is used to validate your XML document. So you have
> to sort through several layers to figure out where the problem is.
> So my request is for stronger validation for Schematron schemas. I'm not
> sure of the best way to accomplish this... Maybe Oxygen could go ahead
> and transform the schema to an XSLT using e.g. iso_svrl.xsl and
> iso_schematron_skeleton.xsl (in the case of ISO Schematron); then
> validate the result as an XSLT stylesheet. This should take care of the
> above problem, malformed XPath expressions. It may not be
> straightforward to map any errors back to a particular point in the
> original schema, but at least we'd know whether the schema was valid or
> not, and we'd be better off than we are now, catching errors while
> editing the schema instead of when using the schema.
> Thanks for your consideration,
> oXygen-user mailing list
More information about the oXygen-user