
Hi, 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 = 'From']/target/@id"> 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, Lars