Thank you very much for the RelaxNG schema for XSLT 3.0. It allowed us to improve our own XMLSchema for XSLT 3.0 that we use for XSLT 3.0 code completion.
Our schema is mostly based on W3C's working draft (
http://www.w3.org/TR/xslt-30/), but your schema is more up-to-date.
I have a few questions/remarks:
(1) - In your schema, attribute "exclude-result-prefix" is of type "exclude.prefixes.datatype", except for elements "package" and "stylesheet" where it is of type "prefixes.datatype".
Is there a reason for this, or is it an error? The types are similar, but not the same: "exclude.prefixes.datatype" contains values "#all" and "#default", "prefixes.datatype" does not contain values:
<define name="exclude.prefixes.datatype">
<list>
<choice>
<value>#all</value>
<zeroOrMore>
<choice>
<data type="NCName"/>
<value>#default</value>
</choice>
</zeroOrMore>
</choice>
</list>
</define>
<define name="prefixes.datatype">
<list>
<zeroOrMore>
<data type="token" datatypeLibrary=""/>
</zeroOrMore>
</list>
</define>
(2) - In W3C's working draft some attributes have a default value, e.g., attribute "decimal-separator" of element "decimal-format" has default value ".".
Your schema does not contain any default values, is that for a reason?
(3) Where did you get these specs of XSLT 3.0? I always thought W3C's working drafts were the most up-to-date, apparently not.
P.S.:
For those of you who want to try XSLT 3.0, you can download XMLBlueprint from our website:
http://www.xmlblueprint.com/download-xml-editor.htm.
You will need to install a Saxon 9 licence to work with XSLT 3.0,
http://www.saxonica.com/license/license.xml.