diff --git a/frameworks/xspec/lib/README.md b/frameworks/xspec/lib/README.md
index 26ad526..c9bc202 100644
--- a/frameworks/xspec/lib/README.md
+++ b/frameworks/xspec/lib/README.md
@@ -1,3 +1,3 @@
-## [`iso-schematron`](iso-schematron/)
+## [`schxslt`](schxslt/)
-Taken from `https://github.com/Schematron/schematron/tree/2020-10-01/trunk/schematron/code`.
+Taken from `schxslt-*-xslt-only.zip` found in [SchXslt releases](https://github.com/schxslt/schxslt/releases).
diff --git a/frameworks/xspec/lib/iso-schematron/iso_abstract_expand.xsl b/frameworks/xspec/lib/iso-schematron/iso_abstract_expand.xsl
deleted file mode 100644
index 5018395..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_abstract_expand.xsl
+++ /dev/null
@@ -1,313 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Suppressed abstract pattern was here
-
-
-
-
-
-
- Start pattern based on abstract
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frameworks/xspec/lib/iso-schematron/iso_dsdl_include.xsl b/frameworks/xspec/lib/iso-schematron/iso_dsdl_include.xsl
deleted file mode 100644
index f345b2d..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_dsdl_include.xsl
+++ /dev/null
@@ -1,1519 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- true
- true
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in RELAX NG extRef
- include
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in Schematron include
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
- Schema error: Use include to
- include fragments, not a whole
- schema
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
- Schema error: Use include to include
- fragments, not a whole schema
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in Schematron include
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in Schematron include
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
- Schema error: Use include to include
- fragments, not a whole schema
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
- Schema error: Use include to include
- fragments, not a whole schema
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in DTLL include
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in CRDL include
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Fatal error: Xinclude href contains fragment
- identifier #
-
-
-
-
-
-
- Fatal error: Sorry, this software only
- supports simple ids in XInclude xpointers
-
-
-
-
-
-
- Fatal Error: Impossible URL in XInclude
- include
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file and fallback
- file:
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in XLink embedding
- link
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
- Unable to open referenced included file:
-
-
-
-
-
-
- Unable to locate id attribute:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XPath error. No XPath.
- XPath error. Missing location step. Suggestion: remove '/' before '['.
-
-
- XPath syntax error. Unclosed parenthesis. Suggestion: add ')'.
-
- XPath syntax error. Extra close parenthesis. Suggestion: remove ')'.
-
-
- XPath syntax error. Unclosed left square bracket. Suggestion: add ']'.
-
- XPath syntax error. Extra right square bracket. Suggestion: remove ']'.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frameworks/xspec/lib/iso-schematron/iso_schematron_message.xsl b/frameworks/xspec/lib/iso-schematron/iso_schematron_message.xsl
deleted file mode 100644
index 33ed509..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_schematron_message.xsl
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- (
- /
- )
-
-
-
\ No newline at end of file
diff --git a/frameworks/xspec/lib/iso-schematron/iso_schematron_message_xslt2.xsl b/frameworks/xspec/lib/iso-schematron/iso_schematron_message_xslt2.xsl
deleted file mode 100644
index b3ade50..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_schematron_message_xslt2.xsl
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- (
- /
- )
-
-
-
\ No newline at end of file
diff --git a/frameworks/xspec/lib/iso-schematron/iso_schematron_skeleton_for_saxon.xsl b/frameworks/xspec/lib/iso-schematron/iso_schematron_skeleton_for_saxon.xsl
deleted file mode 100644
index d18f216..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_schematron_skeleton_for_saxon.xsl
+++ /dev/null
@@ -1,2306 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #ALL
-
-
-
-false
-
-true
-
-
-
-
- true
- false
-
-
-
-
-
-
- true
- false
-
-
-
-
-
-
-
-
- @*|
-
- *
- node()
- *|comment()|processing-instruction()
-
-
-
-
-
-
-
-
-
-
-false
-
-
-default
-
-
-1
-
-false
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
- 1.0
-
-
-
-
-
-
-
-
- This XSLT was automatically generated from a Schematron schema.
-
-
-
-
- 1.0
-
-
-
-
-
-
-
-
-
-
-
- 2.0
-
-
-
-
-
-
-
-
-
- 3a
-
- 3b
-
-
-
-
- Implementers: please note that overriding process-prolog or process-root is
- the preferred method for meta-stylesheets to use where possible.
-
-
-
-
-
-
-
-
-
-
-
-
PHASES
-
-
PROLOG
-
-
XSD TYPES FOR XSLT2
-
-
KEYS AND FUNCTIONS
-
-
DEFAULT RULES
-
-
SCHEMA SETUP
-
-
SCHEMATRON PATTERNS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4a
-
- 4b
-
-
-
-
-
-
- MODE: SCHEMATRON-SELECT-FULL-PATH
- This mode can be used to generate an ugly though full XPath for locators
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MODE: SCHEMATRON-FULL-PATH
- This mode can be used to generate an ugly though full XPath for locators
-
-
-
-
-
- /
-
-
-
- *:
-
- [namespace-uri()='
-
- ']
-
-
-
- [
-
- ]
-
-
-
-
-
- /
-
-
-
-
-
- []
-
-
-
- *[local-name()='
-
- ']
-
-
- []
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /
-
- @
-
- @*[local-name()='
-
- ' and namespace-uri()='
-
- ']
-
-
-
-
-
-
- /
-
- @
-
- @*[local-name()='
-
- ' and namespace-uri()='
-
- ']
-
-
-
-
-
-
-
-
-
- MODE: SCHEMATRON-FULL-PATH-2
-
- This mode can be used to generate prefixed XPath for humans
-
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
-
- /@
-
-
-
-
- MODE: SCHEMATRON-FULL-PATH-3
-
-
- This mode can be used to generate prefixed XPath for humans
- (Top-level element has index)
-
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
-
- /@
-
-
-
-
- MODE: GENERATE-ID-FROM-PATH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-
-
-
-
-
-
-
- MODE: GENERATE-ID-2
-
-
- U
-
-
- U
-
-
-
-
- U.
-
- n
-
-
-
-
- U.
-
- _
-
- _
-
-
-
-
- Strip characters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5
-
-
-
- 6a
-
- 6b
-
-
-
-
-
-
-
- 7
-
-
- ASSERT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 8
-
-
-
- REPORT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
- 11a
-
- 11b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 12
-
-
- 13
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 14
-
-
-
-
-
-
-
-
-
-
-
- 15
-
-
-
-
-
- 16
-
-
-
-
-
-
-
- 17
-
-
-
-
-
-
-
-
- 18
-
-
-
-
-
-
-
-
-
-
-
-
-
- 19
-
-
-
-
-
-
-
- 20a
-
- 20b
-
-
-
- 21
-
-
-
-
-
-
-
-
-
-
-
- 20a
-
- 20b
-
-
-
- 21
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 19
-
-
-
-
-
-
- 21
-
-
-
-
-
-
-
-
-
-
- 21
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 22
-
-
-
-
-
-
-
-
- 23
-
-
-
-
-
- 24
-
-
- 25
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 26
-
-
- 27
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- //(
-
- (
-
- )
- |
-
- )
- [not(self::text())]
-
-
-
-
-
-
-
-
- //(
-
- (
-
- )
- |
-
- )
- [not(self::text())]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 28
-
-
-
-
-
-
-
- PATTERN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 29
-
-
-
-
-
-
-
-
-
- No property found with that ID
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 30
-
-
-
-
- RULE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 31
-
-
- 32
-
-
-
-
-
- 33
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 34
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 35a
-
- 35b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 36a
-
- 36b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 36a
-
- 36b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 37a
-
- 37b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 38a
-
- 38b
-
-
-
-
-
-
-
-
-
-
-
- 39a
-
- 39b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- title
-
-
-
-
-
-
- schema-title
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Schema error: Schematron elements in old and new namespaces found
- Schema error: in the queryBinding attribute, use 'xslt'
- Fail: This implementation of ISO Schematron does not work with schemas using the query language
-
- Phase Error: no phase has been defined with name
-
- Markup Error: no pattern attribute in <active>
- Reference Error: the pattern "
- " has been activated but is not declared
- Markup Error: no test attribute in <assert
- Markup Error: no test attribute in <report>
- Markup Error: no id attribute in <diagnostic>
- Markup Error: no rule attribute in <extends>
- Reference Error: the abstract rule "
- " has been referenced but is not declared
- Markup Error: no name attribute in <key>
- Markup Error: no path or use attribute in <key>
- Markup Error: no path or use attribute in <key>
- Schema error: The key element is not in the ISO Schematron namespace. Use the XSLT namespace.
- Markup Error: no name attribute in <function>
- Schema error: The function element is not in the ISO Schematron namespace. Use the XSLT namespace.
- Schema error: Empty href= attribute for include directive.
- Error: Impossible URL in Schematron include
- Unable to open referenced included file:
-
- Schema error: Use include to include fragments, not a whole schema
- Schema error: XSD schemas may only be imported if you are using the 'xslt2' query language binding
- Schema error: The import-schema element is not available in the ISO Schematron namespace. Use the XSLT namespace.
- Warning: Variables should not be used with the "xpath" query language binding.
- Warning: Variables should not be used with the "xpath2" query language binding.
- Markup Error: no uri attribute in <ns>
- Markup Error: no prefix attribute in <ns>
- Schema implementation error: This schema has abstract patterns, yet they are supposed to be preprocessed out already
- Markup Error: no id attribute in <phase>
- Markup Error: no context attribute in <rule>
- Markup Error: no id attribute on abstract <rule>
- Markup Error: (2) context attribute on abstract <rule>
- Markup Error: context attribute on abstract <rule>
- Markup Error: no select attribute in <value-of>
- Warning:
- must not contain any child elements
- Reference error: A diagnostic "
- " has been referenced but is not declared
- Using the XSLT namespace with a prefix other than "xsl" in Schematron rules is not supported in this processor:
-
- Error: unrecognized element in ISO Schematron namespace: check spelling and capitalization
-
- Warning: unrecognized element
-
-
-
-
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/iso_schematron_skeleton_for_xslt1.xsl b/frameworks/xspec/lib/iso-schematron/iso_schematron_skeleton_for_xslt1.xsl
deleted file mode 100644
index 9a764df..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_schematron_skeleton_for_xslt1.xsl
+++ /dev/null
@@ -1,1851 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #ALL
-
-
-
-false
-
-true
-
-
-
-
- true
- false
-
-
-
-
-
-
- true
- false
-
-
-
-
-
-
-
-
- @*|
-
- *
- node()
- *|comment()|processing-instruction()
-
-
-
-
-
-
-
-
-
-false
-
-
-
-
-
-default
-
-false
-
-
-
-1
-
-
-
-
- Schema error: Schematron elements in old and new namespaces found
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Schema error: in the queryBinding attribute, use 'xslt'
-
-
-
-
- 1.0
-
-
-
-
-
-
-
-
- This XSLT was automatically generated from a Schematron schema.
-
-
-
-
- 1.0
-
-
-
-
-
-
-
-
-
- Fail: This implementation of ISO Schematron does not work with
- schemas using the "" query language.
-
-
-
-
- Implementers: please note that overriding process-prolog or process-root is
- the preferred method for meta-stylesheets to use where possible.
-
-
-
-
-
-
-
-
-
-
PHASES
-
-
PROLOG
-
-
KEYS
-
-
DEFAULT RULES
-
-
SCHEMA METADATA
-
-
SCHEMATRON PATTERNS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Phase Error: no phase with name has been defined.
-
-
-
-
-
-
- MODE: SCHEMATRON-SELECT-FULL-PATH
- This mode can be used to generate an ugly though full XPath for locators
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MODE: SCHEMATRON-FULL-PATH
- This mode can be used to generate an ugly though full XPath for locators
-
-
-
-
-
- /
-
-
-
-
-
- []
-
-
-
- *[local-name()='
- ' and namespace-uri()='
-
- ']
-
-
- []
-
-
-
-
-
-
-
-
-
- /
-
- @
-
- @*[local-name()='
-
- ' and namespace-uri()='
-
- ']
-
-
-
-
-
-
-
-
- MODE: SCHEMATRON-FULL-PATH-2
-
- This mode can be used to generate prefixed XPath for humans
-
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
-
- /@
-
-
-
-
- MODE: GENERATE-ID-FROM-PATH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-
-
-
-
-
-
- MODE: SCHEMATRON-FULL-PATH-3
-
-
- This mode can be used to generate prefixed XPath for humans
- (Top-level element has index)
-
-
-
-
-
- /
-
-
- [
-
- ]
-
-
-
-
- /@
-
-
-
-
- MODE: GENERATE-ID-2
-
-
- U
-
-
- U
-
-
-
-
- U.
-
- n
-
-
-
-
- U.
-
- _
-
- _
-
-
-
-
- Strip characters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no pattern attribute in <active>
-
-
-
- Reference Error: the pattern "" has been activated but is not declared
-
-
-
-
-
-
-
- Markup Error: no test attribute in <assert
-
-
- ASSERT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no test attribute in <report>
-
-
-
- REPORT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no id attribute in <diagnostic>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no rule attribute in <extends>
-
-
- Reference Error: the abstract rule "" has been referenced but is not declared
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no name attribute in <key>
-
-
- Markup Error: no path or use attribute in <key>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no path or use attribute in <key>
-
-
-
-
-
-
-
-
-
-
-
- Schema error: The key element is not in the ISO Schematron namespace. Use the XSLT namespace.
-
-
-
-
-
-
-
- Schema error: Empty href= attribute for include directive.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in Schematron include
-
-
-
-
-
-
- Schema error: Use include to include fragments, not a whole schema
-
-
-
-
-
-
-
-
-
- Schema error: Use include to include fragments, not a whole schema
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: Impossible URL in Schematron include
-
-
-
-
-
-
- Schema error: Use include to include fragments, not a whole schema
-
-
-
-
-
-
-
-
-
-
- Schema error: Use include to include fragments, not a whole schema
-
-
-
-
-
-
-
-
-
- Warning: Variables should not be used with the "xpath" query language binding.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no uri attribute in <ns>
-
-
- Markup Error: no prefix attribute in <ns>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- //(
-
- (
-
- )
- |
-
- )
- [not(self::text())]
-
-
-
-
-
-
-
-
-
-
-
-
- Schema implementation error: This schema has abstract patterns, yet they are supposed to be preprocessed out already
-
-
-
-
-
-
-
-
-
- PATTERN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no id attribute in <phase>
-
-
-
-
-
-
-
- Markup Error: no context attribute in <rule>
-
-
- RULE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no id attribute on abstract <rule>
-
-
- Markup Error: (2) context attribute on abstract <rule>
-
-
-
-
-
- Markup Error: context attribute on abstract <rule>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup Error: no select attribute in <value-of>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Warning:
-
- must not contain any child elements
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Reference error: A diagnostic "" has been referenced but is not declared
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Using the XSLT namespace with a prefix other than "xsl" in
- Schematron rules is not supported
- in this processor:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error: unrecognized element in ISO Schematron namespace: check spelling
- and capitalization
-
-
-
-
-
-
-
-
-
-
-
-
- Warning: unrecognized element
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Warning: unrecognized element
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- title
-
-
-
-
-
-
- schema-title
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/iso_svrl_for_xslt1.xsl b/frameworks/xspec/lib/iso-schematron/iso_svrl_for_xslt1.xsl
deleted file mode 100644
index 069ea02..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_svrl_for_xslt1.xsl
+++ /dev/null
@@ -1,614 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-true
-
-
-
-
-
-
-
-
-
-
- #ALL
-
-
-false
-true
-true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- xslt1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/iso_svrl_for_xslt2.xsl b/frameworks/xspec/lib/iso-schematron/iso_svrl_for_xslt2.xsl
deleted file mode 100644
index 373270d..0000000
--- a/frameworks/xspec/lib/iso-schematron/iso_svrl_for_xslt2.xsl
+++ /dev/null
@@ -1,692 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-true
-true
-
-
-
-
-
-
-
-
-
-
- #ALL
-
-
-false
-true
-true
-
-
-
-
-false
-
-
-default
-
-
-
-
-1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- xslt1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TERMINATING
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/readme.txt b/frameworks/xspec/lib/iso-schematron/readme.txt
deleted file mode 100644
index 5f85c65..0000000
--- a/frameworks/xspec/lib/iso-schematron/readme.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-
ISO SCHEMATRON 2010
-
-XSLT implementation by Rick Jelliffe with assistance from members of Schematron-love-in maillist.
-
-2010-04-21
-
-Two distributions are available. One is for XSLT1 engines.
-The other is for XSLT2 engines, such as SAXON 9.
-
-
-This version of Schematron splits the process into a pipeline of several different XSLT stages.
-
-1) First, preprocess your Schematron schema with iso_dsdl_include.xsl.
-This is a macro processor to assemble the schema from various parts.
-If your schema is not in separate parts, you can skip this stage.
-This stage also generates error messages for some common XPath syntax problems.
-
-2) Second, preprocess the output from stage 1 with iso_abstract_expand.xsl.
-This is a macro processor to convert abstract patterns to real patterns.
-If your schema does not use abstract patterns, you can skip this
-stage.
-
-3) Third, compile the Schematron schema into an XSLT script.
-This will typically use iso_svrl_for_xslt1.xsl or iso_svrl_for_xslt2.xsl
-(which in turn invoke iso_schematron_skeleton_for_xslt1.xsl or iso_schematron_skeleton_for_saxon.xsl)
-However, other "meta-stylesheets" are also in common use; the principle of operation is the same.
-If your schema uses Schematron phases, supply these as command line/invocation parameters
-to this process.
-
-4) Fourth, run the script generated by stage 3 against the document being validated.
-If you are using the SVRL script, then the output of validation will be an XML document.
-If your schema uses Schematron parameters, supply these as command line/invocation parameters
-to this process.
-
-
-The XSLT2 distribution also features several next generation features,
-such as validating multiple documents. See the source code for details.
-
-Schematron assertions can be written in any language, of course; the file
-sch-messages-en.xhtml contains the diagnostics messages from the XSLT2 skeleton
-in English, and this can be used as template to localize the skeleton's
-error messages. Note that typically programming errors in Schematron are XPath
-errors, which requires localized messages from the XSLT engine.
-
-ANT
----
-To give an example of how to process a document, here is a sample ANT task.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-EXTRACTION SCHEMATRON FROM XSD OR RELAX NG
-
-The following files allow extracting of embedded schematron patterns
-in XML Schemas or RELAX NG schemas. For details, see the at
- article http://www.topologi.com/resources/schtrn_xsd_paper.html
-
-The following files are provided:
- ExtractSchFromRNG.xsl Generate a Schematron schema from patterns
- embedded in a RELAX NG schema. The schema uses XSLT1.
- ExtractSchFromXSD.xsl Generate a Schematron schema from patterns
- embedded in a W3C XML Schemas schema. The schema uses XSLT1.
-
- ExtractSchFromRNG-2.xsl Generate a Schematron schema from patterns
- embedded in a RELAX NG schema. The schema uses XSLT2.
- ExtractSchFromXSD-2.xsl Generate a Schematron schema from patterns
- embedded in a W3C XML Schemas schema. The schema uses XSLT2.
diff --git a/frameworks/xspec/lib/iso-schematron/sch-messages-cs.xhtml b/frameworks/xspec/lib/iso-schematron/sch-messages-cs.xhtml
deleted file mode 100644
index 93e181c..0000000
--- a/frameworks/xspec/lib/iso-schematron/sch-messages-cs.xhtml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
- Chyba ve schématu: nalezeny elementy Schematronu ve starém i novém jmenném prostoru
- Chyba ve schématu: v atributu queryBinding použijte 'xslt'
- Porucha: Tato implementace ISO Schematronu nefunguje se schématy, která používají dotazovací jazyk
-
- Fázová chyba: fáze jménem
- není definována.
- Chybný markup: v elementu <active> chybí atribut pattern
- Chybný odkaz: vzor "
- " byl aktivován, ne však deklarován
- Chybný markup: v elementu <assert> chybí atribut test
- Chybný markup: v elementu <report> chybí atribut test
- Chybný markup: v elementu <diagnostic> chybí atribut id
- Chybný markup: v elementu <extends> chybí atribut rule
- Chybný odkaz: abstraktní pravidlo "
- " není definováno, ačkoli se na ně odkazuje
- Chybný markup: v elementu <key> chybí atribut name
- Chybný markup: v elementu <key> chybí atribut path nebo use
- Chybný markup: v elementu <key> chybí atribut path nebo use
- Chyba ve schématu: element <key> není ve jmenném prostoru ISO Schematronu. Použijte jmenný prostor XSLT.
- Chybný markup: v elementu <function> chybí atribut name
- Chyba ve schématu: element <function> není ve jmenném prostoru ISO Schematronu. Použijte jmenný prostor XSLT.
- Chyba ve schématu: direktiva <include> má prázdný atribut href
- Chyba: Nesprávné URL v direktivě <include>
- Chyba: Nelze otevřít vkládaný soubor
-
- Chyba ve schématu: <include> používejte ke vkládání fragmentů, ne celého schématu
- Chyba ve schématu: Schémata XSD lze importovat pouze pokud používáte dotazovací jazyk "xslt2"
- Chyba ve schématu: element <import-schema> není ve jmenném prostoru ISO Schematronu. Použijte jmenný prostor XSLT.
- Varování: S dotazovacím jazykem "xpath" by se neměly používat proměnné
- Varování: S dotazovacím jazykem "xpath2" by se neměly používat proměnné
- Chybný markup: v elementu <ns> chybí atribut uri
- Chybný markup: v elementu <ns> chybí atribut prefix
- Chyba v implementaci schématu: toto schéma obsahuje abstraktní vzory, které však již měly být předchozím zpracováním odstraněny
- Chybný markup: v elementu <phase> chybí atribut id
- Chybný markup: v elementu <rule> chybí atribut context
- Chybný markup: v abstraktním pravidlu chybí atribut id
- Chybný markup: (2) Abstraktní pravidlo nesmí mít atribut context
- Chybný markup: Abstraktní pravidlo nesmí mít atribut context
- Chybný markup: v elementu <value-of> chybí atribut select
- Varování:
- nesmí obsahovat žádné podelementy
- Chybný odkaz: Diagnostika "
- " nebyla deklarována, ačkoli se na ni odkazuje
- Chyba: procesor
- nepodporuje použití jmenného prostoru XSLT s jiným prefixem než "xsl"
- Chyba: neznámý element
- ve jmenném prostoru ISO Schematronu: zkontrolujte, je-li správně zapsán
- Varování: neznámý element
-
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/sch-messages-de.xhtml b/frameworks/xspec/lib/iso-schematron/sch-messages-de.xhtml
deleted file mode 100644
index 00e33e6..0000000
--- a/frameworks/xspec/lib/iso-schematron/sch-messages-de.xhtml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
- Fehler im Schema: Schematron Elemente sowohl im alten als auch neuen Namensraum gefunden
- Fehler im Schema: Nutzen Sie 'xslt' als Wert für das 'queryBinding'-Attribut
- Fehler: Diese Implementierung von ISO Schematron unterstützt keine Schemas, welche die Query Language
- nutzen
- Phasenfehler: Es gibt keine Phase mit Namen
-
- Fehler in der Annotation: Kein Attribut 'pattern' in <active>
- Referenzierungsfehler: Der Ausdruck "
- " wurde aktiviert, ist aber nicht deklariert
- Fehler in der Annotation: Kein Attribut 'test' in <assert
- Fehler in der Annotation: Kein Attribut 'test' in <report>
- Fehler in der Annotation: Kein Attribut 'id' in <diagnostic>
- Fehler in der Annotation: Kein Attribut 'rule' in <extends>
- Referenzierungsfehler: Die abstrakte Regel "
- " wurde referenziert, ist aber nicht deklariert
- Fehler in der Annotation: Kein Attribut 'name' in <key>
- Fehler in der Annotation: Kein Attribut 'path' oder 'use' in <key>
- Fehler in der Annotation: Kein Attribut 'path' oder 'use' in <key>
- Fehler im Schema: Das Element <key> ist im ISO Schematron-Namensraum nicht vorhanden. Benutzen Sie den XSLT-Namensraum.
- Fehler in der Annotation: Kein Attribut 'name' in <function>
- Fehler im Schema: Das Element <function> ist im ISO Schematron-Namensraum nicht vorhanden. Benutzen Sie den XSLT-Namensraum.
- Fehler im Schema: Leeres Attribut 'href' für <include> Anweisung.
- Fehler: Ungültige URL in <include>
- Kann die referenzierte Datei nicht öffnen:
-
- Fehler im Schema: <include> darf nur zur Einbettung von Schemafragmenten genutzt werden, nicht für ganze Schemata
- Fehler im Schema: XSD Schemata dürfen nur importiert werden, wenn das 'xslt2' Query Language Binding genutzt wird
- Fehler im Schema: Das Element <import-schema> ist im ISO Schematron-Namensraum nicht vorhanden. Benutzen Sie den XSLT-Namensraum.
- Warnung: Variablen sollten nicht zusammen mit dem 'xpath' Query Language Binding genutzt werden.
- Warnung: Variablen sollten nicht zusammen mit dem 'xpath2' Query Language Binding genutzt werden.
- Fehler in der Annotation: Fehlendes Attribut 'uri' in <ns>
- Fehler in der Annotation: Fehlendes Attribut 'prefix' in <ns>
- Fehler bei der Schemaimplementierung: Dieses Schema enthält abstrakte Mustervergleiche, die bereits vorverarbeitet sein sollten.
- Fehler in der Annotation: Fehlendes Attribut 'id' in <phase>
- Fehler in der Annotation: Fehlendes Attribut 'context' in <rule>
- Fehler in der Annotation: Fehlendes Attribut 'id' an abstrakter <rule>
- Fehler in der Annotation: (2) Kontext-Attribut an abstrakter <rule>
- Fehler in der Annotation: Attribut 'context' an abstrakter <rule>
- Fehler in der Annotation: Fehlendes Attribut 'select' in <value-of>
- Warnung:
- darf keine Kindelemente beinhalten
- Referenzierungsfehler: Ein <diagnostic>-Element "
- " wurde referenziert, ist aber nicht deklariert
- Der Gebrauch des XSLT-Namensraums mit einem anderen Präfix als 'xsl' in Schematron-Regeln wird von diesem Prozessor nicht unterstützt:
-
- Fehler: Unbekanntes Element im ISO Schematron-Namensraum: Überprüfen Sie die Schreibweise (inkl. Groß- und Kleinschreibung)
-
- Warnung: Unbekanntes Element
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/sch-messages-en.xhtml b/frameworks/xspec/lib/iso-schematron/sch-messages-en.xhtml
deleted file mode 100644
index 6f777ed..0000000
--- a/frameworks/xspec/lib/iso-schematron/sch-messages-en.xhtml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
- Schema error: Schematron elements in old and new namespaces found
- Schema error: in the queryBinding attribute, use 'xslt'
- Fail: This implementation of ISO Schematron does not work with schemas using the query language
-
- Phase Error: no phase has been defined with name
-
- Markup Error: no pattern attribute in <active>
- Reference Error: the pattern "
- " has been activated but is not declared
- Markup Error: no test attribute in <assert>
- Markup Error: no test attribute in <report>
- Markup Error: no id attribute in <diagnostic>
- Markup Error: no rule attribute in <extends>
- Reference Error: the abstract rule "
- " has been referenced but is not declared
- Markup Error: no name attribute in <key>
- Markup Error: no path or use attribute in <key>
- Markup Error: no path or use attribute in <key>
- Schema error: The <key> element is not in the ISO Schematron namespace. Use the XSLT namespace.
- Markup Error: no name attribute in <function>
- Schema error: The <function> element is not in the ISO Schematron namespace. Use the XSLT namespace.
- Schema error: Empty href attribute for <include> directive.
- Error: Impossible URL in Schematron <include>
- Error: Unable to open referenced included file:
-
- Schema error: Use <include> to include fragments, not a whole schema
- Schema error: XSD schemas may only be imported if you are using the 'xslt2' query language binding
- Schema error: The <import-schema> element is not available in the ISO Schematron namespace. Use the XSLT namespace.
- Warning: Variables should not be used with the "xpath" query language binding.
- Warning: Variables should not be used with the "xpath2" query language binding.
- Markup Error: no uri attribute in <ns>
- Markup Error: no prefix attribute in <ns>
- Schema implementation error: This schema has abstract patterns, yet they are supposed to be preprocessed out already
- Markup Error: no id attribute in <phase>
- Markup Error: no context attribute in <rule>
- Markup Error: no id attribute on abstract <rule>
- Markup Error: (2) context attribute on abstract <rule>
- Markup Error: context attribute on abstract <rule>
- Markup Error: no select attribute in <value-of>
- Warning:
- must not contain any child elements
- Reference error: A diagnostic "
- " has been referenced but is not declared
- Warning: Using the XSLT namespace with a prefix other than "xsl" in Schematron rules is not supported in this processor:
-
- Error: unrecognized element in ISO Schematron namespace: check spelling and capitalization
-
- Warning: unrecognized element
-
-
\ No newline at end of file
diff --git a/frameworks/xspec/lib/iso-schematron/sch-messages-fr.xhtml b/frameworks/xspec/lib/iso-schematron/sch-messages-fr.xhtml
deleted file mode 100644
index a797db7..0000000
--- a/frameworks/xspec/lib/iso-schematron/sch-messages-fr.xhtml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
- Erreur de schema: éléments Schematron à la fois dans l'ancien et le nouveau namespace
- Erreur de schema: utilisez 'xslt' dans l'attribut queryBinding
- Échec: Cette implémentation de Schematron ISO ne fonctionne pas avec des schemas utilisant le langage de query
-
- Erreur de phase: aucune phase n'a été définie avec le nom
-
- Erreur de balisage: pas d'attribut pattern dans <active>
- Erreur de référence: le pattern "
- " a été activé mais n'a pas été décalaré
- Erreur de balisage: pas d'attribut test dans <assert>
- Erreur de balisage: pas d'attribut test dans <report>
- Erreur de balisage: pas d'attribut id dans <diagnostic>
- Erreur de balisage: pas d'attribut rule dans <extends>
- Erreur de référence: la règle abstraite "
- " a été référencée mais pas déclarée
- Erreur de balisage: pas d'attribut name dans <key>
- Erreur de balisage: pas d'attribut path ou use dans <key>
- Erreur de schema: L'élément key n'est pas dans le namespace Schematron ISO. Utilisez le namespace XSLT.
- Erreur de balisage: pas d'attribut name dans <function>
- Erreur de schema: L'élément function n'est pas dans le namespace Schematron ISO. Utilisez le namespace XSLT.
- Erreur de schema: Attribut href vide sur a directive include.
- Erreur: URL impossible dans la directive include de Schematron
- Impossible d'ouvrir le fichier référencé pour l'inclusion:
-
- Erreur de schema: Utilisez include pour inclure des fragments et non un schema entier
- Erreur de schema: Les schema XSD peuvent être importés seulement si vous utilisez the langage de query 'xslt2'
- Erreur de schema: L'élément import-schema n'est pas disponible dans le namespace Schematron ISO. Utilisez le namespace XSLT.
- Avertissement: Des variables ne devraient pas être utiliées avec le langage de query "xpath".
- Avertissement: Des variables ne devraient pas être utiliées avec le langage de query "xpath2".
- Erreur de balisage: pas d'attribut uri dans <ns>
- Erreur de balisage: pas d'attribut prefix dans <ns>
- Erreur d'implémentation de schema: Ce schema des patterns abstraits, bien qu'ils sont supposés avoir été préprocessés précédemment
- Erreur de balisage: pas d'attribut id dans <phase>
- Erreur de balisage: pas d'attribut context dans <rule>
- Erreur de balisage: pas d'attribut id dans <rule>
- Erreur de balisage: (2) attribut context dans une <rule> abstraite
- Erreur de balisage: attribut context dans une <rule> abstraite
- Erreur de balisage: pas d'attribut select dans <value-of>
- Avertissement:
- ne peut contenir aucun élément enfant
- Erreur de référence: Un diagnostique "
- " a été référencé mais n'est pas déclaré
- Utiliser the namespace XSLT avec un autre préfixe que "xsl" dans les rules Schematron n'est pas supporté par ce processor:
-
- Erreur: élément inconnu dans le namespace Schematron ISO: vérifiez l'orthographe et la casse
-
- Avertissement: élément inconnu
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/sch-messages-ja.xhtml b/frameworks/xspec/lib/iso-schematron/sch-messages-ja.xhtml
deleted file mode 100644
index bedf32b..0000000
--- a/frameworks/xspec/lib/iso-schematron/sch-messages-ja.xhtml
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
- スキーマエラー:古い名前空間と新しい名前空間にはSchematron 要素が見つかりました。
- スキーマエラー:検索結合属性では、 'xslt'を使用する。
- 失敗: ISO Schematron の 実行 は、スキーマが検索言語を使用してできない。
-
- フェーズ エラー: フェーズは名前で定義されていない。
-
- マークアップエラー: <active>にはパターンの属性がない
- 参照エラー: パターン が "
- " 活性化されているが宣言されていない。
- マークアップエラー: <assert> にはtestの属性がない
- マークアップエラー: <report> にはtestの属性がない
- マークアップエラー: <diagnostic> にはidの属性がない
- マークアップエラー: <extends> にはruleの属性がない
- 参照エラー: 抽象的な規則が "
- " 参照されているが宣言されていない。
- マークアップエラー: <key>にはnameの属性がない
- マークアップエラー: <key>にはpath か 又は useの 属性がない
- マークアップエラー: <key>には path か 又は useの 属性がない
- スキーマエラー: <key> の要素はISO Schematronの 名前空間にはない. XSLTの名前空間を使用する。
- マークアップエラー: <function>にはnameの属性がない
- スキーマエラー: <function> の要素はISO Schematronの 名前空間にはない. XSLTの名前空間を使用する。
- スキーマエラー: <include>のために空hrefの属性がある。
- エラー: Schematron <include>には不可能なURL がある
- エラー: 参照したファイルが含まれて、開けない :
-
- スキーマエラー:全体のスキーマではなく、フラグメントを含む <include> を使用する。
- スキーマエラー: 'xslt2'の検索言語結合を使用している場合はXSDスキーマのみ読み込みできる。
- スキーマエラー:ISO Schematron の名前空間には <import-schema>の要素は無効です。 XSLTの 名前空間を使用する。
- 注意: 変数は、"xpath" 検索言語結合を使用すべきではない。
- 注意: 変数は、"xpath" 検索言語結合を使用すべきではない。
- マークアップエラー: <ns>にはuriの属性がない
- マークアップエラー: <ns>にはprefixの属性がない
- スキーマ実行 エラー: このスキーマは抽象的なパターンを持って、まだすでに前加工されることになっている。
- マークアップエラー: <phase>にはidの属性がない
- マークアップエラー: <rule>にはcontextの要素がない
- マークアップエラー: 抽象的な <rule>にはid属性がない。
- マークアップエラー: (2) 抽象的な <rule>にはcontext属性がない。
- マークアップエラー: 抽象的な <rule>にはcontext属性がない。
- マークアップエラー: <value-of>には selectの属性がない
- 注意:
- 子要素が含まれなくてはならない
- 参照エラー: 診断は "
- " 参照されているが宣言されていない。
- 注意: Schematron規則で"xsl"以外の接頭辞 XSLT 名前空間を使用することは、このプロセサーで サーポトしていない。
-
- エラー: ISO Schematron 名前空間に不明な要素がある: 綴り字と大文字使用を確認する
-
- 注意: 不明な要素
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/sch-messages-nl.xhtml b/frameworks/xspec/lib/iso-schematron/sch-messages-nl.xhtml
deleted file mode 100644
index 5f05577..0000000
--- a/frameworks/xspec/lib/iso-schematron/sch-messages-nl.xhtml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
- Schema fout: er werden Schematron elementen uit de oude en nieuwe
- namespace gevonden
- Schema fout: gebruik 'xslt' in het queryBinding attribute
- Faling: Deze implementatie van ISO Schematron werkt niet met
- schemas die gebruik maken van de query language
-
- Fase fout: er is geen 'phase' gedefinieerd met naam
-
- Markup fout: er is geen 'pattern' attribuut in <active>
- Referentie fout: het 'pattern' "
- " is geactiveerd maar niet gedeclareerd
- Markup fout: er is geen 'test' attribuut in <assert
- Markup fout: er is geen 'test' attribuut in <report>
- Markup fout: er is geen 'id' attribuut in <diagnostic>
- Markup fout: er is geen 'rule' attribuut in <extends>
- Referentie fout: de abstracte regel "
- " werd gerefereerd maar niet gedeclareerd
- Markup fout: er is geen 'name' attribuut in <key>
- Markup fout: er is geen 'path' of 'use' attribuut in <key>
- Markup fout: er is geen 'path' of 'use' attribuut in <key>
- Schema fout: Het 'key' element zit niet in de ISO Schematron namespace. Gebruik de XSLT namespace.
- Markup fout: er is geen 'name' attribuut in <function>
- Schema fout: Het 'function' element zit niet in de ISO Schematron namespace. Gebruik de XSLT namespace.
- Schema fout: Leeg 'href=' attribuut bij de include opdracht.
- Fout: Onmogelijke URL gebruikt bij de Schematron include
- Kan de gerefereerde 'include' file niet openen:
-
- Schema fout: Gebruik include om fragmenten op te nemen, niet een volledig schema
- Schema fout: XSD schemas kunnen enkel geïmporteerd worden indien de 'xslt2' query language binding gebruikt is
- Schema fout: Het 'import-schema' element is niet beschikbaar in the ISO Schematron namespace. Gebruik de XSLT namespace.
- Waarschuwing: Variabelen niet gebruiken met de "xpath" query language binding.
- Waarschuwing: Variabelen niet gebruiken met de "xpath2" query language binding.
- Markup fout: er is geen 'uri' attribute in <ns>
- Markup fout: er is geen 'prefix' attribute in <ns>
- Schema implementatie fout: Dit schema heeft abstracte patronen, die al gepreprocessed zouden moeten zijn
- Markup fout: er is geen 'id' attribuut in <phase>
- Markup fout: er is geen 'context' attribuut in <rule>
- Markup fout: er is geen 'id' attribuut op abstracte <rule>
- Markup fout: (2) context attributen op abstracte <rule>
- Markup fout: context attribuut op abstracte <rule>
- Markup fout: er is geen 'select' attribute in <value-of>
- Waarschuwing:
- mag geen kind elementen bevatten
- Referentie fout: Een diagnostic "
- " werd gerefereerd maar is niet gedeclareerd.
- Het gebruik van de XSLT namespace met een prefix verschillend
- van "xsl" in Schematron regels wordt niet ondersteund in deze processor:
-
- Fout: een niet herkend element in de ISO Schematron namespace: check spelling en hoofdlettergebruik
-
- Waarschuwing: een niet herkend element
-
-
diff --git a/frameworks/xspec/lib/iso-schematron/schematron-skeleton-api.htm b/frameworks/xspec/lib/iso-schematron/schematron-skeleton-api.htm
deleted file mode 100644
index af81377..0000000
--- a/frameworks/xspec/lib/iso-schematron/schematron-skeleton-api.htm
+++ /dev/null
@@ -1,723 +0,0 @@
-
-
-
-
- The ISO Schematron Skeleton API
-
-
-
-
-
-API for ISO Schematron Skeleton
-
-
-Rick Jelliffe, 2010/04/14
-This document provides documentation on the XSLT API available in
-the implementation of Schematron called iso_schematron_skeleton.xsl.
-(available in an XSLT1 and XSLT2 version). The API makes available as
-much information from the schema, however there may be some edge
-cases where it is not exhaustive.
-
-The skeleton is an XSLT script which provides all the basic
-parsing and validating routines for compiling a Schematron schema
-into XSLT. Schematron was designed to allow many different uses, and
-the skeleton gives you a headstart in creating a customized
-implementation. You just need to write XSLT templates to override the
-default ones. (The program you write is sometimes called a
-meta-stylesheet.) It is the meta-stylesheet that is called
-as the XSLT script, not the skeleton. There are several
-pre-processing stages which the Schematron schema should be processed
-through first, to handle such things as include statements and
-abstract patterns.
-
-Phases and error reporting for problems in the schema itself are
-handled by the skeleton with no interaction with a “meta-stylesheet”.
-Note that there is no guarantee that the context node is always the
-element being handled: in most cases the only information available
-is the information in the parameters.
-
-For an introductory tutorial on using this API, see Bob DuCharme's
-Schematron 1.5:
-Looking Under the Hood
-
-Superset of API for Schematron 1.5 and 1.6
-(This is an updated version of the API for the Schematron 1.5
-implementation called skeleton1-5.xsl, which in turn comes
-from the new architecture contributed by Oliver Becker for
-Schematron 1.3.)
-The current API contains only additions. Well-written
-meta-stylesheets that use the new API will be be able to run on the
-existing 1.5 and 1.6 skeletons. Similarly, it should be possible to
-upgrade the skeleton from 1.5 or 1.6 to the iso-schematron-skeleton
-only by correcting the import statement at the beginning of the
-meta-stylsheet. Additions or re-groupings from the 1.5 schema are
-shown in red. Deletions have overstrike.
-Mooted addition: a parameter @action which for specifying
-processing instructions on assertions and reports.
-
-process-prolog
-The process-prolog template gets called at the start of
-the validation session. It has no parameters. The default
-implementation is no action.
-
-process-root
-The process-root template processes the root element of
-the schema (which is not the same thing as the root of the document /
-and need not be the document element /*) .
-
- - node-list $contents
-
-
- string $schemaVersion
-
-
- The version of the schema, perhaps a datestamp.
-
-
- "xslt" | "xpath" |
- "xslt2" | ...
- $queryBinding
-
-
- The query language binding.
-
-
- string $title
-
-
- The title of this schema
-
-
- "iso" | "1.5" |
- "1.6" | ...
- $version
-
-
- The version of Schematron being used.
-
-
-Rich properties:
-
- - XML SystemId
- $icon
-
-
- The URI of an icon
-
-
- XML ID
- $id
-
-
- The unique identifier with the schema for the
- schema
- element.
-
-
- SGML FPI
- $fpi
-
-
- The Formal Public Identifier for this schema.
-
-
- IETF language
- $lang
-
-
- The human language used in this schema, from
- xml:lang
-
-
- URL
- $see
-
-
- Link to documentation on WWW or file
-
-
- "preserve" | "default"
- $space
-
-
- The value for xml:space
-
-
-To print the documentation paragraphs, use <xsl:apply-templates
-mode="do-schema-p" />
-To output the results, use <xsl:copy-of select="$contents"
-/>
-
-process-assert
-The process-assert template handles asserts whose test
-has failed.
-
-
- - XPath $test
-
-
- The test
-
-
- XML IDREFS $diagnostics
-
-
- A list of the idrefs diagnostic elements related to the current
- assertion
-
-
- XML NMTOKEN
- $flag
-
-
- The name of a flag that becomes true because
- this assertion fails. The flag is true for the document if it is
- flagged true on any assertion. For compatability, this parameter
- should not be used with Schematron 1.5.
-
-
-Rich properties:
-
- - XML SystemId
- $icon
-
-
- The URI of an icon
-
-
- XML ID
- $id
-
-
- The unique identifier with the schema for the
- assert
- element.
-
-
- SGML FPI
- $fpi
-
-
- The Formal Public Identifier for this
- assertion.
-
-
- IETF language
- $lang
-
-
- The human language used in this assertion,
- from xml:lang
-
-
- URL
- $see
-
-
- Link to documentation on WWW or file
-
-
- "preserve" | "default"
- $space
-
-
- The value for xml:space
-
-
-Linking properties:
-
- - XML NMTOKEN
- $role
-
-
- A name for the generic role of this assertion.
- The schema creator would have their own vocabulary.
-
-
- XPath
- $subject
-
-
- A path relative to the current context to some
- interesting node considered the subject.
-
-
-To print the text contents, use <xsl:apply-templates
-mode="text" />
-
-process-diagnostic
-The process-diagnostic template handles diagnostic
-messages for assert statements that have failed and report
-statements that have succeeded. The diagnostics are evaluated in the
-context of the rule.
-Rich properties:
-
- - XML SystemId
- $icon
-
-
- The URI of an icon
-
-
- XML ID
- $id
-
-
- The unique identifier with the schema for the
- assert
- element.
-
-
- SGML FPI
- $fpi
-
-
- The Formal Public Identifier for this
- assertion.
-
-
- IETF language
- $lang
-
-
- The human language used in this assertion,
- from xml:lang
-
-
- URL
- $see
-
-
- Link to documentation on WWW or file
-
-
- "preserve" | "default"
- $space
-
-
- The value for xml:space
-
-
-process-dir
-The process-dir template handles bi-directionality
-markup, which is only needed by certain human scripts such as Arabic.
-
- - "ltr" or "rtl" or ""
- $value
-
-
- Left-to-right or right-to-left or unspecified
-
-
-process-emph
-The process-emph template handles the markup of
-emphasized text in paragraphs, assertions and diagnostics. It has no
-parameters.
-
-process-message
-The process-message handles default outputing of text.
-
- - string $pattern
-
-
- Some text that may be some kind of pattern
-
-
- string $role
-
-
- Some text that may be some kind of role
-
-
-process-name
-The process-name templates handle name strings that can
-be used in assertions. asssert and report only
-provide name subelements rather than the more general
-value-of elements to encourage plain language and generic
-descriptions rather than specific diagnostics, for which purpose the
-diagnostics elements are used.
-
- - string $name
-
-
- The name of the current element, or of the node specified by a name
- element
-
-
-process-ns
-The process-ns template reports on ns
-declarations, which are used to transmit on namespace information by
-the skeleton.
-
- - Namespace NCName $prefix
-
-
- The prefix of a namespace
-
-
- XML SystemId $uri
-
-
- The (internationalized) URI Reference of a namespace
-
-
-process-p
-The process-p template handles paragraphs.
-
- - XML NMTOKEN $class
-
-
- An attribute that can be used for stylesheet style
-
-
- XML ID $id
-
-
- The unique identifier with the schema for the p element.
-
-
- XML SystemId $icon
-
-
- The URI of an icon
-
-
- IETF Language $lang
-
-
- The human language used in this paragraph
-
-
-To print the text contents, use <xsl:apply-templates
-mode="text" />
-
-
-process-pattern
-The process-pattern reports on the start of evaluation of
-a pattern element.
-
- - string $name
-
-
- The title of the current pattern
-
-
- XML NCNAMES $is-a
-
-
- Empty or not provided if the pattern is not derived from an abstract
- pattern. Otherwise the name of the abstract pattern. A list may be
- used if there was a sequence of abstract patterns.
-
-
-Rich properties:
-
- - XML SystemId
- $icon
-
-
- The URI of an icon
-
-
- XML ID
- $id
-
-
- The unique identifier with the schema for the
- pattern
- element.
-
-
- SGML FPI
- $fpi
-
-
- The Formal Public Identifier for this pattern.
-
-
-
- IETF language
- $lang
-
-
- The human language used in this pattern, from
- xml:lang
-
-
- URL
- $see
-
-
- A (internationalized) URI reference to some
- supporting or defining documentation
-
-
- "preserve" | "default"
- $space
-
-
- The value for xml:space
-
-
-To print the documentation contents, use <xsl:apply-templates
-mode="do-pattern-p"/>
-
-process-report
-The process-report template handles report whose
-test has succeeded.
-
-
- - XPath $test
-
-
- The test
-
-
- XML IDREFS $diagnostics
-
-
- A list of the diagnostic elements related to the current assertion
-
-
- XML NMTOKEN
- $flag
-
-
- The name of a flag that becomes true because
- this assertion fails. The flag is true for the document if it is
- flagged true on any assertion. For compatability, this parameter
- should not be used with Schematron 1.5.
-
-
-Rich properties:
-
- - XML SystemId
- $icon
-
-
- The URI of an icon
-
-
- XML ID
- $id
-
-
- The unique identifier with the schema for the
- report
- element.
-
-
- SGML FPI
- $fpi
-
-
- The Formal Public Identifier for this report.
-
-
- IETF language
- $lang
-
-
- The human language used in this report, from
- xml:lang
-
-
- URL
- $see
-
-
- Link to documentation on WWW or file
-
-
- "preserve" | "default"
- $space
-
-
- The value for xml:space
-
-
-Linking properties:
-
- - XML NMTOKEN
- $role
-
-
- A name for the generic role of this assertion.
- The schema creator would have their own vocabulary.
-
-
- XPath
- $subject
-
-
- A path relative to the current context to some
- interesting node considered the subject.
-
-
-To print the text contents, use <xsl:apply-templates
-mode="text" />
-
-process-rule
-The process-rule reports that a rule element has
-fired: its context attribute matched some nodes. .
-
- - XSLT expression $context
-
-
- The expression that gives the context of the current
-
-
-Rich properties:
-
- - XML SystemId
- $icon
-
-
- The URI of an icon
-
-
- XML ID
- $id
-
-
- The unique identifier with the schema for this
- rule
- element.
-
-
- SGML FPI
- $fpi
-
-
- The Formal Public Identifier for this rule.
-
-
- IETF language
- $lang
-
-
- The human language used in this rule, from
- xml:lang
-
-
- URL
- $see
-
-
- Link to documentation on WWW or file
-
-
- "preserve" | "default"
- $space
-
-
- The value for xml:space
-
-
-Linking properties:
-
- - XML NMTOKEN
- $role
-
-
- A name for the generic role of this assertion.
- The schema creator would have their own vocabulary.
-
-
- XPath
- $subject
-
-
- A path relative to the current context to some
- interesting node considered the subject.
-
-
-process-span
-The process-span handles span elements, which are generic
-elements for styling, like HTML's .
-
- - XML NMTOKEN $class
-
-
- An attribute that can be used for stylesheet style
-
-
-process-title
-The process-title handles title elements, which are
-generic elements for styling, like HTML's .
-
- - XML NMTOKEN $class
-
-
- An attribute that can be used for stylesheet style
-
-
-By default, titles are handled by invocing process-p with
-the parameter class with a value "title".
-
-process-value-of
-The process-value-of template handles value-of
-elements, which are used in diagnostic messages to allow very
-specific hinting .
-
- - XPath $select
-
-
- The path of some node that will be evaluated and printed.
-
-Global Parameters
-There are several global parameters that may be available for use.
-However, it is not a requirement to follow these, and implementations
-may not supply them with any value. So a test of
-string-length(variable) <
-0 is appropriate in each case.
-
-
-
-
-
-
-
- |
- Parameter
- |
-
- Value
- |
-
- Description
- |
-
-
- |
- allow-foreign
- |
-
- "true" | "false" (default)
-
- |
-
- Pass non-Schematron elements to the generated
- stylesheet. Pass the Schematron elements span, emph and dir: to
- the output SVRL.
-
- |
-
-
- |
- fileNameParameter
- |
-
- string
- |
-
- A parameter passed to the Validator and
- potentially available as a variable in Schematron schemas as
- $fileNameParameter
- |
-
-
- |
- fileDirParameter
- |
-
- string
- |
-
- A parameter passed to the Validator and
- potentially available as a variable in Schematron schemas as
- $fileDirParameter
- |
-
-
- |
- archiveNamePaameter
- |
-
- string
- |
-
- A parameter passed to the Validator and
- potentially available as a variable in Schematron schemas as
- $archiveNameParameter
- |
-
-
- |
- archiveDirParameter
- |
-
- string
- |
-
- A parameter passed to the Validator and
- potentially available as a variable in Schematron schemas as
- $archivePathParameter
- |
-
-
- |
- debug
-
- |
-
- “true” | “false” (default)
- |
-
- Verbose error messages (Note this may be
- superceded by “verbose” at some stage in the future.)
- |
-
-
- |
- generate-paths
- |
-
- true|false
-
- |
-
- generate the SVRL @location attribute with XPaths
- |
-
-
- |
- diagnose
- |
-
- yes | no
-
- |
-
- Add the diagnostics to the assertion results
- |
-
-
- |
- terminate
- |
-
- yes | no | true | false | assert
-
- |
-
- Terminate on the first failed assertion or
- successful report
- |
-
-
- |
- message-newline
-
- |
-
- "true" (default) | "false"
-
- |
-
- Generate an extra newline at the end of messages
- |
-
-
- |
- output-encoding
- |
-
- string
- |
-
- The encoding used for output, for example if the
- output is XML
- |
-
-
-
- -
-
-
-
\ No newline at end of file
diff --git a/frameworks/xspec/lib/schxslt/1.0/compile-for-svrl.xsl b/frameworks/xspec/lib/schxslt/1.0/compile-for-svrl.xsl
new file mode 100644
index 0000000..20283dd
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/1.0/compile-for-svrl.xsl
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/1.0/compile/api-1.0.xsl b/frameworks/xspec/lib/schxslt/1.0/compile/api-1.0.xsl
new file mode 100644
index 0000000..fea5a11
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/1.0/compile/api-1.0.xsl
@@ -0,0 +1,105 @@
+
+
+
+
+ SchXslt Callback API Specification
+
+ The parts of the validation stylesheet that create reporting output are created by calls to the named templates
+ defined herein. You can override these templates to customize the output. The compiler expects the instructions
+ of the validation stylesheet to live in the default namespace.
+
+
+
+
+
+
+ Create part of the validation stylesheet that creates the report
+
+ This template is called after the report has been gathered. The content of the report is available in the
+ variable schxslt:report.
+
+
+ Schematron schema
+ Validation phase
+
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports an active pattern
+
+ Schematron element of the active pattern
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a fired rule
+
+ Schematron element of the fired rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a suppressed rule
+
+ Schematron element of the suppressed rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a failed assert
+
+ Schematron element of the failed assert
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a successful report
+
+ Schematron element of the successful report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create metadata about the validaton process
+
+ Schematron schema
+ Description of the validation stylesheet
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/1.0/compile/compile-1.0.xsl b/frameworks/xspec/lib/schxslt/1.0/compile/compile-1.0.xsl
new file mode 100644
index 0000000..08fd290
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/1.0/compile/compile-1.0.xsl
@@ -0,0 +1,349 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ #DEFAULT
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #ALL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This Schematron processor only supports the 'xslt' query binding
+
+
+
+
+
+ The phase '' is undefined
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compilation aborted: It is an error for a variable to be multiply defined
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/1.0/expand.xsl b/frameworks/xspec/lib/schxslt/1.0/expand.xsl
new file mode 100644
index 0000000..7406cd6
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/1.0/expand.xsl
@@ -0,0 +1,269 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The current pattern defines no abstract rule named ''.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/1.0/include.xsl b/frameworks/xspec/lib/schxslt/1.0/include.xsl
new file mode 100644
index 0000000..c0194fd
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/1.0/include.xsl
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/1.0/version.xsl b/frameworks/xspec/lib/schxslt/1.0/version.xsl
new file mode 100644
index 0000000..350472c
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/1.0/version.xsl
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ SchXslt/1.10 (XSLT 1.0)
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/compile-for-svrl.xsl b/frameworks/xspec/lib/schxslt/2.0/compile-for-svrl.xsl
new file mode 100644
index 0000000..f52b93a
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/compile-for-svrl.xsl
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/compile/api-2.0.xsl b/frameworks/xspec/lib/schxslt/2.0/compile/api-2.0.xsl
new file mode 100644
index 0000000..fbe0e85
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/compile/api-2.0.xsl
@@ -0,0 +1,119 @@
+
+
+
+
+ SchXslt Callback API Specification
+
+ The parts of the validation stylesheet that create reporting output are created by calls to the named templates
+ defined herein. You can override these templates to customize the output. The compiler expects the instructions
+ of the validation stylesheet to live in the default namespace.
+
+
+
+
+
+
+ Create part of the validation stylesheet that creates the report
+
+ This template is called after the report has been gathered. The content of the report is available in the
+ variable schxslt:report.
+
+
+ Schematron schema
+ Validation phase
+
+
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports an active pattern
+
+ Schematron element of the active pattern
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a fired rule
+
+ Schematron element of the fired rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a suppressed rule
+
+ Schematron element of the suppressed rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a failed assert
+
+ Schematron element of the failed assert
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a successful report
+
+ Schematron element of the successful report
+
+
+
+
+
+
+
+ Create top part of the validation stylesheet
+
+ Schematron schema
+
+
+
+
+
+
+
+ Create bottom part of the validation stylesheet
+
+ Schematron schema
+
+
+
+
+
+
+
+ Create metadata about the validaton process
+
+ Schematron schema
+ Description of the validation stylesheet
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/compile/compile-2.0.xsl b/frameworks/xspec/lib/schxslt/2.0/compile/compile-2.0.xsl
new file mode 100644
index 0000000..b3bf244
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/compile/compile-2.0.xsl
@@ -0,0 +1,384 @@
+
+
+
+
+
+
+
+ Compile preprocessed Schematron to validation stylesheet
+
+ Validation phase
+
+
+
+
+
+
+
+
+
+ #DEFAULT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ path
+
+
+ schxslt:location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Return rule template
+
+ Template mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Return body of validation stylesheet
+
+ Sequence of active patterns
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/compile/functions.xsl b/frameworks/xspec/lib/schxslt/2.0/compile/functions.xsl
new file mode 100644
index 0000000..072d4b3
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/compile/functions.xsl
@@ -0,0 +1,88 @@
+
+
+
+
+ Return the effective phase
+
+ The effective phase is #ALL if the selected phase is #DEFAULT or no phase was selected. Terminates if the schema does not contain the selected phase.
+
+
+ Schematron schema
+ Requested phase
+ Effective phase
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The phase '' is not defined.
+
+
+
+
+
+
+
+
+
+
+ Return sequence of active patterns
+
+ Schematron schema
+ Phase
+ Sequence of patterns active in selected phase
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The query language '' is not supported.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/compile/templates.xsl b/frameworks/xspec/lib/schxslt/2.0/compile/templates.xsl
new file mode 100644
index 0000000..aa2e850
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/compile/templates.xsl
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compilation aborted: It is an error for a variable to be multiply defined
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/expand.xsl b/frameworks/xspec/lib/schxslt/2.0/expand.xsl
new file mode 100644
index 0000000..149941f
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/expand.xsl
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The current pattern defines no abstract rule named ''.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/include.xsl b/frameworks/xspec/lib/schxslt/2.0/include.xsl
new file mode 100644
index 0000000..ecb59ab
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/include.xsl
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/pipeline-for-svrl.xsl b/frameworks/xspec/lib/schxslt/2.0/pipeline-for-svrl.xsl
new file mode 100644
index 0000000..281f167
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/pipeline-for-svrl.xsl
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/pipeline.xsl b/frameworks/xspec/lib/schxslt/2.0/pipeline.xsl
new file mode 100644
index 0000000..b61c6fc
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/pipeline.xsl
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/svrl.xsl b/frameworks/xspec/lib/schxslt/2.0/svrl.xsl
new file mode 100644
index 0000000..2c6de6e
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/svrl.xsl
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WARNING: Rule for context "" shadowed by preceding rule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create detailed report about failed assert or successful report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy Schematron properties to SVRL
+
+ Schematron
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy Schematron diagnostics to SVRL
+
+ Schematron
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/util/normalize-svrl.xsl b/frameworks/xspec/lib/schxslt/2.0/util/normalize-svrl.xsl
new file mode 100644
index 0000000..4d1d19d
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/util/normalize-svrl.xsl
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/2.0/version.xsl b/frameworks/xspec/lib/schxslt/2.0/version.xsl
new file mode 100644
index 0000000..c6fbf68
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/2.0/version.xsl
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SchXslt/1.10
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/lib/schxslt/LICENSE b/frameworks/xspec/lib/schxslt/LICENSE
new file mode 100644
index 0000000..0615088
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018-2021 David Maus
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/frameworks/xspec/lib/schxslt/README.md b/frameworks/xspec/lib/schxslt/README.md
new file mode 100644
index 0000000..016ea1d
--- /dev/null
+++ b/frameworks/xspec/lib/schxslt/README.md
@@ -0,0 +1,208 @@
+SchXslt \[ʃˈɛksl̩t\] – An XSLT-based Schematron processor
+==
+
+SchXslt is copyright (c) by David Maus <dmaus@dmaus.name> and released under the terms of the MIT
+license.
+
+[](https://doi.org/10.5281/zenodo.1495494)
+
+SchXslt is a Schematron processor implemented entirely in XSLT. It transforms a Schematron schema document into an XSLT
+stylesheet that you apply to the document(s) to be validated.
+
+Limitations
+--
+
+As of date SchXslt does not properly implement the scoping rules of pattern (see
+[#135](https://github.com/schxslt/schxslt/issues/135)) and phase variables (see
+[#136](https://github.com/schxslt/schxslt/issues/136)).
+
+Schema, pattern, and phase variables are all implemented as global XSLT variables. As a consequence the name of a
+schema, pattern, or phase variable must be unique in the entire schema.
+
+Due to the constrains of XSLT 1.0 and the way rules are implemented it is not possible to use a variable inside a rule
+context expression of a Schematron using the XSLT 1.0 query binding (see
+[#138](https://github.com/schxslt/schxslt/issues/138)).
+
+Schematron enhancements
+--
+
+SchXslt implements the following Schematron enhancements:
+
+### Typed variables
+
+[Proposal 1](https://github.com/Schematron/schematron-enhancement-proposals/issues/1)
+
+The Schematron specification does not allow for annotating variables with the expected type of its value. Type
+annotations are helpful to make the most of XSLT 3.0. Using them is current best practice.
+
+This proposal adds support for an ```@as``` attribute on variable declarations.
+
+### Global abstract rules
+
+[Proposal 3](https://github.com/Schematron/schematron-enhancement-proposals/issues/3)
+
+The Schematron specification limits the the reuse of abstract rules to the current pattern element. The ```@href
+attribute``` on ```extends``` was introduced in 2016 to overcome this limitation but requires a schema author to
+externalize abstract rules for them to be used.
+
+This proposal extends Schematron with a top-level ```rules``` element to hold abstract rules that are globally
+referencable by the ```@rule``` attribute of ```extends```.
+
+### Additional XSLT elements
+
+[Proposal 4](https://github.com/Schematron/schematron-enhancement-proposals/issues/4)
+
+The Schematron specification allows the XSLT elements ```function``` and ```key``` to be used in a Schematron
+schema. This makes sense because both are required to set up the query language environment. The ```key``` element
+prepares data structures for the ```key()``` function and the ```function``` element allows the use of user defined
+functions.
+
+This proposal adds support for the following XSLT elements:
+
+* xsl:accumulator (XSLT 3.0)
+* xsl:import (XSLT 1.0, XSLT 2.0, XSLT 3.0)
+* xsl:import-schema (XSLT 2.0, XSLT 3.0)
+* xsl:include (XSLT 1.0, XSLT 2.0, XSLT 3.0)
+* xsl:use-package (XSLT 3.0)
+
+Installing SchXslt
+--
+
+Depending on your environment there are several ways to install SchXslt.
+
+* Starting with version 1.5 every release on [this repository's release
+ page](https://github.com/schxslt/schxslt/releases) provides a ZIP file with just the XSLT stylesheets. This page also
+ provides a ZIP file with the XSLT stylesheets and two [XProc 1.0](https://w3.org/tr/xproc) steps. Just download and
+ unzip.
+
+* A Java package is published to [Maven Central](https://mvnrepository.com/artifact/name.dmaus.schxslt/schxslt). Use it
+ with Maven or the Java dependency management tool of your choice.
+
+* If you use [BaseX](https://basex.org) or [eXist](https://exist-db.org) you can download installable XQuery modulesq
+ from [this repository's release page](https://github.com/schxslt/schxslt/releases) as well.
+
+Building SchXslt
+--
+
+SchXslt uses the [Maven](https://maven.apache.org) build tool to create installable packages. To create the packages for
+yourself clone this repository, install [Maven](https://maven.apache.org) and run it with the ```package``` phase.
+
+```
+dmaus@carbon ~ % git clone --recursive https://github.com/schxslt/schxslt.git
+Cloning into 'schxslt'...
+remote: Enumerating objects: 450, done.
+remote: Counting objects: 100% (450/450), done.
+remote: Compressing objects: 100% (298/298), done.
+remote: Total 3789 (delta 172), reused 374 (delta 111), pack-reused 3339
+Receiving objects: 100% (3789/3789), 470.87 KiB | 1.05 MiB/s, done.
+Resolving deltas: 100% (1607/1607), done.
+
+dmaus@carbon ~ % mvn package
+```
+
+This runs the unit tests and creates the following files:
+
+* ant/target/ant-schxslt-{VERSION}.jar (Java archive)
+* core/target/schxslt-{VERSION}.jar (Java archive)
+* core/target/schxslt-{VERSION}-xslt-only.zip (ZIP file with stylesheets)
+* exist/target/schxslt-exist-{VERSION}.xar (XQuery package for eXist)
+* basex/target/schxslt-basex-{VERSION}.xar (XQuery package for BaseX)
+
+Where {VERSION} is replaced with the current SchXslt version.
+
+Using SchXslt
+--
+
+### XSLT Stylesheets
+
+The simplest way to use SchXslt is to download the ZIP file with just the stylesheets from the
+[releases](https://github.com/schxslt/schxslt/releases) page. To validate documents with your Schematron you first
+transform it with the ```pipeline-for-svrl.xsl``` stylesheet. This creates the XSL transformation that creates a
+validation report when applied to a document.
+
+### Java applications
+
+To use SchXslt in your Java application define the following Maven dependency:
+
+```xml
+
+ name.dmaus.schxslt
+ schxslt
+ {VERSION}
+
+```
+
+Where {VERSION} is replaced with the current SchXslt version.
+
+Also take a look at [SchXslt Java](https://github.com/schxslt/schxslt-java), a set of Java classes for Schematron
+validation with SchXslt.
+
+### XQuery
+
+The XQuery module provides a function ```schxslt:validate()``` that validates a document and returns a validation report
+expressed in the Schematron Validation Report Language (SVRL). You import the module using its namespace URI.
+
+```
+import module namespace schxslt = "https://doi.org/10.5281/zenodo.1495494";
+
+let $document :=
+let $schema :=
+
+
+
+ Always true
+
+
+
+
+return
+ schxslt:validate($document, $schema)
+
+```
+
+### Ant
+
+The Ant module implements a task for [Apache Ant](https://ant.apache.org/) that performs Schematron validation with
+SchXslt. Download or compile the Jar file and define a new task using ```name.dmaus.schxslt.ant.Task``` as class name.
+
+```
+
+
+
+
+
+
+```
+
+The task supports the following options:
+
+
+
+
+ | file |
+ Path to the file to be validated |
+ - |
+
+
+ | schema |
+ Path to the file containing the Schematron |
+ - |
+
+
+ | phase |
+ Validation phase |
+ #ALL |
+
+
+ | report |
+ Path to the file that the SVRL report should be written to |
+ |
+
+
+
+
+SchXslt Ant uses [XML Resolver](https://xmlresolver.org) to support XML Catalog resolvers.
+
+### Command line
+
+TBD
diff --git a/frameworks/xspec/src/common/deep-equal.xqm b/frameworks/xspec/src/common/deep-equal.xqm
index 5de78c6..626547e 100644
--- a/frameworks/xspec/src/common/deep-equal.xqm
+++ b/frameworks/xspec/src/common/deep-equal.xqm
@@ -1,6 +1,7 @@
module namespace deq = "urn:x-xspec:common:deep-equal";
-declare namespace x = "http://www.jenitennison.com/xslt/xspec";
+import module namespace x = "http://www.jenitennison.com/xslt/xspec"
+ at "../common/common-utils.xqm";
declare function deq:deep-equal(
$seq1 as item()*,
@@ -11,6 +12,16 @@ declare function deq:deep-equal(
if (contains($flags, '1')) then
deq:deep-equal-v1($seq1, $seq2, $flags)
+ else if (($seq1 instance of attribute()+) and
+ (some $att in $seq1 satisfies (node-name($att) = QName($x:xspec-namespace,'x:attrs') and string($att) eq '...'))) then
+ let $seq1-without-x-other as attribute()* := $seq1[not(node-name(.) = QName($x:xspec-namespace,'x:attrs'))]
+ let $seq2-without-extras as attribute()* := $seq2[node-name(.) = $seq1/node-name()]
+ return deq:deep-equal(
+ $seq1-without-x-other,
+ $seq2-without-extras,
+ $flags
+ )
+
else if (empty($seq1) or empty($seq2)) then
empty($seq1) and empty($seq2)
diff --git a/frameworks/xspec/src/common/deep-equal.xsl b/frameworks/xspec/src/common/deep-equal.xsl
index 642c63d..cf73203 100644
--- a/frameworks/xspec/src/common/deep-equal.xsl
+++ b/frameworks/xspec/src/common/deep-equal.xsl
@@ -38,6 +38,21 @@
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/src/common/report-sequence.xqm b/frameworks/xspec/src/common/report-sequence.xqm
index 640f6ed..05e9374 100644
--- a/frameworks/xspec/src/common/report-sequence.xqm
+++ b/frameworks/xspec/src/common/report-sequence.xqm
@@ -140,7 +140,7 @@ declare %private function rep:report-pseudo-item(
{ QName($report-namespace, ($local-name-prefix || rep:node-type($item))) }
{ rep:report-node($item) }
- else if (rep:instance-of-function($item)) then
+ else if ($item instance of function(*)) then
element
{ QName($report-namespace, ($local-name-prefix || rep:function-type($item))) }
{ rep:serialize-adaptive($item) }
@@ -366,39 +366,13 @@ declare function rep:node-type(
'node'
};
-(:
- Returns true if item is function (including map and array).
-
- Alternative to "instance of function(*)" which is not widely available.
-
- This function should be %private. But ../../test/report-sequence.xspec requires this to be exposed.
-:)
-declare function rep:instance-of-function(
- $item as item()
-) as xs:boolean
-{
- if (($item instance of array(*)) or ($item instance of map(*))) then
- true()
- else
- (: TODO: Enable this 'if' when function(*) is made available on all the supported XQuery processors :)
- (:
- if ($item instance of function(*)) then
- true()
- else
- :)
- false()
-};
-
(:
Returns type of function (including map and array).
- $function must be an instance of function(*).
-
This function should be %private. But ../../test/report-sequence.xspec requires this to be exposed.
:)
declare function rep:function-type(
- (: TODO: "as function(*)" :)
- $function as item()
+ $function as function(*)
) as xs:string
{
typeswitch ($function)
diff --git a/frameworks/xspec/src/common/report-sequence.xsl b/frameworks/xspec/src/common/report-sequence.xsl
index ea4aa08..d7f6beb 100644
--- a/frameworks/xspec/src/common/report-sequence.xsl
+++ b/frameworks/xspec/src/common/report-sequence.xsl
@@ -194,7 +194,7 @@
-
+
@@ -469,45 +469,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
array
diff --git a/frameworks/xspec/src/compiler/base/combine/mode/check-combined-doc.xsl b/frameworks/xspec/src/compiler/base/combine/mode/check-combined-doc.xsl
index 896354d..6d12094 100644
--- a/frameworks/xspec/src/compiler/base/combine/mode/check-combined-doc.xsl
+++ b/frameworks/xspec/src/compiler/base/combine/mode/check-combined-doc.xsl
@@ -12,6 +12,11 @@
-->
+
+
+
+
+
@@ -82,6 +87,21 @@
+
+
+
+
+
+
+
+
+ Calling a variable stored in a function is not supported when /{$initial-document/x:description => name()} has @run-as='external'.
+
+
+
+
+
+
@@ -138,7 +158,7 @@
diff --git a/frameworks/xspec/src/compiler/base/compile/compile-child-scenarios-or-expects.xsl b/frameworks/xspec/src/compiler/base/compile/compile-child-scenarios-or-expects.xsl
index fa52c20..8576ab7 100644
--- a/frameworks/xspec/src/compiler/base/compile/compile-child-scenarios-or-expects.xsl
+++ b/frameworks/xspec/src/compiler/base/compile/compile-child-scenarios-or-expects.xsl
@@ -132,7 +132,8 @@
-
+
@@ -149,7 +150,6 @@
-
diff --git a/frameworks/xspec/src/compiler/base/compile/compile-scenario.xsl b/frameworks/xspec/src/compiler/base/compile/compile-scenario.xsl
index 2e1bd75..a79f62f 100644
--- a/frameworks/xspec/src/compiler/base/compile/compile-scenario.xsl
+++ b/frameworks/xspec/src/compiler/base/compile/compile-scenario.xsl
@@ -50,6 +50,9 @@
+
+ $
+
{$function-uqname}(
diff --git a/frameworks/xspec/src/compiler/base/declare-variable/declare-variable.xsl b/frameworks/xspec/src/compiler/base/declare-variable/declare-variable.xsl
index c45514f..0300ae9 100644
--- a/frameworks/xspec/src/compiler/base/declare-variable/declare-variable.xsl
+++ b/frameworks/xspec/src/compiler/base/declare-variable/declare-variable.xsl
@@ -69,6 +69,10 @@
+
+
+
+
diff --git a/frameworks/xspec/src/compiler/base/initial-check/perform-initial-check.xsl b/frameworks/xspec/src/compiler/base/initial-check/perform-initial-check.xsl
index 29444a3..897dd12 100644
--- a/frameworks/xspec/src/compiler/base/initial-check/perform-initial-check.xsl
+++ b/frameworks/xspec/src/compiler/base/initial-check/perform-initial-check.xsl
@@ -10,12 +10,12 @@
-
- Saxon version 9.8 or less is not supported.
-
- Saxon version 9.9 is not recommended. Consider migrating to Saxon 10.
+ Saxon version 9.9 or earlier is not supported.
+
+ Saxon version 12.3 or earlier is not recommended. Consider migrating to Saxon 12.4 or later.
+
diff --git a/frameworks/xspec/src/compiler/base/invoke-compiled/invoke-compiled-child-scenarios-or-expects.xsl b/frameworks/xspec/src/compiler/base/invoke-compiled/invoke-compiled-child-scenarios-or-expects.xsl
index 7b60f5d..875514e 100644
--- a/frameworks/xspec/src/compiler/base/invoke-compiled/invoke-compiled-child-scenarios-or-expects.xsl
+++ b/frameworks/xspec/src/compiler/base/invoke-compiled/invoke-compiled-child-scenarios-or-expects.xsl
@@ -80,7 +80,6 @@
-
diff --git a/frameworks/xspec/src/compiler/base/invoke-compiled/threads.xsl b/frameworks/xspec/src/compiler/base/invoke-compiled/threads.xsl
index 7e24132..03712c1 100644
--- a/frameworks/xspec/src/compiler/base/invoke-compiled/threads.xsl
+++ b/frameworks/xspec/src/compiler/base/invoke-compiled/threads.xsl
@@ -17,7 +17,7 @@
-->
@@ -30,4 +30,4 @@
-
\ No newline at end of file
+
diff --git a/frameworks/xspec/src/compiler/base/main.xsl b/frameworks/xspec/src/compiler/base/main.xsl
index 104fed3..b03d279 100644
--- a/frameworks/xspec/src/compiler/base/main.xsl
+++ b/frameworks/xspec/src/compiler/base/main.xsl
@@ -44,17 +44,19 @@
-->
+ declaration elements are considered as if they did not exist. Treat like a
+ variable here because causes the compiler to generate $x:context.
+ -->
+ $value, (self::x:param | self::x:variable | self::x:context)" />
+ $value except (child::x:param | child::x:variable | child::x:context)" />
-
+
-
-
+
- /@vt
\ No newline at end of file
diff --git a/frameworks/xspec/src/compiler/xslt/compile/compile-scenario.xsl b/frameworks/xspec/src/compiler/xslt/compile/compile-scenario.xsl
index 017c9d9..b0061b3 100644
--- a/frameworks/xspec/src/compiler/xslt/compile/compile-scenario.xsl
+++ b/frameworks/xspec/src/compiler/xslt/compile/compile-scenario.xsl
@@ -151,10 +151,12 @@
-
+
-
+
+
+
@@ -356,20 +358,31 @@
Local templates
-->
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frameworks/xspec/src/compiler/xslt/external/transform-options.xsl b/frameworks/xspec/src/compiler/xslt/external/transform-options.xsl
index 81bb5ce..bf8b18e 100644
--- a/frameworks/xspec/src/compiler/xslt/external/transform-options.xsl
+++ b/frameworks/xspec/src/compiler/xslt/external/transform-options.xsl
@@ -31,6 +31,15 @@
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/frameworks/xspec/src/reporter/coverage-compute-status.xsl b/frameworks/xspec/src/reporter/coverage-compute-status.xsl
new file mode 100644
index 0000000..e750305
--- /dev/null
+++ b/frameworks/xspec/src/reporter/coverage-compute-status.xsl
@@ -0,0 +1,376 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frameworks/xspec/src/reporter/coverage-report.xsl b/frameworks/xspec/src/reporter/coverage-report.xsl
index a05e5a4..fef6f15 100644
--- a/frameworks/xspec/src/reporter/coverage-report.xsl
+++ b/frameworks/xspec/src/reporter/coverage-report.xsl
@@ -23,8 +23,10 @@
+
+
http://www.jenitennison.com/xslt/xspec/coverage-report.xsl
@@ -50,7 +52,7 @@
select="$stylesheet-uri => doc() => local:collect-stylesheets()" />
-
+
-
-
- ignored
-
- ignored
-
-
-
-
-
-
-
- hit
- missed
-
-
-
-
-
-
-
-
- hit
- ignored
-
-
-
-
-
-
- ignored
- missed
-
- ignored
-
-
-
-
-
-
-
- missed
-
-
-
- ignored
-
@@ -401,41 +340,15 @@
-
-
-
-
-
-
-
-
-
-
-
- ERROR: more than one coverage identified for:
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
diff --git a/frameworks/xspec/src/reporter/format-utils.xsl b/frameworks/xspec/src/reporter/format-utils.xsl
index b8d670c..ea68961 100644
--- a/frameworks/xspec/src/reporter/format-utils.xsl
+++ b/frameworks/xspec/src/reporter/format-utils.xsl
@@ -126,7 +126,10 @@
+ select="(
+ $node-to-compare-with/attribute()[node-name(.) eq node-name(current())],
+ $node-to-compare-with/@x:attrs[string(.) = '...']
+ )[1]" />
-
+
diff --git a/frameworks/xspec/src/reporter/test-report.css b/frameworks/xspec/src/reporter/test-report.css
index 6d821cd..1b62d85 100644
--- a/frameworks/xspec/src/reporter/test-report.css
+++ b/frameworks/xspec/src/reporter/test-report.css
@@ -398,6 +398,13 @@ a.img:active {
background: white;
}
+.unknown {
+ font-style: italic;
+ font-weight: bold;
+ color: #999;
+ background: white;
+}
+
.hit {
}
diff --git a/frameworks/xspec/src/schemas/xspec.rnc b/frameworks/xspec/src/schemas/xspec.rnc
index 08a75a9..55ba62a 100644
--- a/frameworks/xspec/src/schemas/xspec.rnc
+++ b/frameworks/xspec/src/schemas/xspec.rnc
@@ -64,7 +64,7 @@ helper =
## set up by SAXON_CUSTOM_OPTIONS (CLI) or saxon.custom.options (Ant).
## XSLT ignores query modules. XQuery ignores stylesheets and packages.
element helper {
- common-attributes,
+ xml-ns-attributes,
(
(
attribute stylesheet { xsd:anyURI }
@@ -88,7 +88,7 @@ import =
## XSpec will be run on the stylesheet that this XSpec document describes.
## Importing is recursive and may be circular (although only one copy of a given
## imported document will actually be imported).
- element import { common-attributes,
+ element import { xml-ns-attributes,
## The document URI (location) of the imported document.
attribute href { xsd:anyURI } }
@@ -190,11 +190,11 @@ like =
## this one, and any tests in the shared scenario are run in addition to the
## ones in this scenario. This allows for modular, reusable sets of tests which
## can be applied in multiple contexts.
- element like { common-attributes, label }
+ element like { xml-ns-attributes, label }
## A matching scenario is one based on the application of templates to a
## particular item. The element defines used to
-## process the item, and the elements define the tests on that item.
+## process the item, and the elements define the tests on that item.
## Child scenarios can override the parameters in the context, and can provide
## any missing values in the (for example, if the context on the parent
## scenario doesn't provide a mode, that could be provided by the child scenario).
@@ -207,7 +207,7 @@ matching-scenario = (global-param | variable)*, context?, variable*,
## A function scenario is one based on a call to a stylesheet function. The
## element defines the function call and the parameters passed to it
-## and the elements test the result of the function. Child scenarios
+## and the elements test the result of the function. Child scenarios
## can override the parameters in the function call.
function-scenario = (global-param | variable)*, context?, variable*, function-call?, variable*,
like*,
@@ -218,7 +218,7 @@ function-scenario = (global-param | variable)*, context?, variable*, function-ca
## A named scenario is one based on a call to a named template. The
## element defines the template call and the parameters passed to it and the
-## elements test the result of the template call. Child scenarios
+## elements test the result of the template call. Child scenarios
## can override the parameters in the template call.
named-scenario = (global-param | variable)*, context?, variable*, template-call?, variable*,
like*,
@@ -232,7 +232,7 @@ context =
## are applied to it, and any parameters included in the apply templates.
element context {
common-attributes,
- ## The mode in which templates are applied to it, and any parameters included in the apply templates.
+ ## The mode in which templates are applied to the context.
attribute mode { eqname.datatype }?,
template-param*,
selection
@@ -245,6 +245,10 @@ function-call =
common-attributes,
## The qualified name of the function which should get called.
attribute function { eqname.datatype }?,
+ ## "module-function" (default) refers to an XSLT stylesheet function or XQuery module function.
+ ## "variable" refers to an XPath function stored in a variable.
+ [ a:defaultValue = "module-function" ]
+ attribute call-as { "module-function" | "variable" }?,
function-params
}
@@ -302,29 +306,30 @@ xpath = xsd:string { minLength = "1" }
assertion =
## An assertion's test XPath can either return a boolean value, in which case the
- ## assertion succeeds only if the test is true; or an item, in which case the
- ## assertion succeeds only if the item is equal to the one specified with the
+ ## assertion succeeds only if the test is true; or a sequence, in which case the
+ ## assertion succeeds only if the sequence is equal to the one specified with the
## href and select attributes or content of the element.
element expect { common-attributes,
label, pending-attribute?, test?, selection }
test = attribute test { xpath }
-common-attributes = attribute xml:* { text }*,
- ## Works like XSLT @expand-text
+xml-ns-attributes = attribute xml:* { text }*
+common-attributes = xml-ns-attributes,
+ ## Works like XSLT @expand-text.
attribute expand-text { boolean.datatype }?
user-content = mixed { (user-element | text-element)* }
-user-element = element * - x:* { attribute * { text }*, user-content }
+user-element = element * - x:* { attribute * - x:expand-text { text }*, attribute x:expand-text { boolean.datatype }?, user-content }
text-element =
## Works like .
## Text in this element is not ignored even when it's whitespace-only.
element text { common-attributes, text }
-schematron-scenario = global-param*, context?,
+schematron-scenario = (global-param | variable)*, context?, variable*,
like*,
- (pending-element | schematron-expect | assertion)*,
+ (pending-element | schematron-expect | assertion | variable)*,
(pending-element |
element scenario { common-scenario-attributes,
label, schematron-scenario })*
@@ -348,20 +353,22 @@ expect-valid =
expect-assert =
## In a Schematron test, verify that an is thrown.
##
- ## The attributes id, role, and location can be used in combination to
- ## identify a specific .
+ ## Text content and the attributes id, role, and location
+ ## can be used in combination to identify a specific .
element expect-assert {
common-schematron-assert-report-expect-attributes,
- schematron-expect-count-attribute
+ schematron-expect-count-attribute,
+ text
}
expect-report =
## In a Schematron test, verify that a is thrown.
##
- ## The attributes id, role, and location can be used in combination to
- ## identify a specific .
+ ## Text content and the attributes id, role, and location
+ ## can be used in combination to identify a specific .
element expect-report {
common-schematron-assert-report-expect-attributes,
- schematron-expect-count-attribute
+ schematron-expect-count-attribute,
+ text
}
expect-not-assert =
@@ -405,12 +412,14 @@ common-schematron-assert-report-expect-attributes =
attribute label { text }?,
## Identify a specific or using its id attribute or
- ## the id attribute of the parent .
+ ## the id attribute of the ancestor or . The test
+ ## uses the nearest of these id attributes.
attribute id { xsd:NCName }?,
## Match a specific role attribute value of an or or
- ## the parent . Role attribute values are often used to specify
- ## 'error', 'fatal', 'warn', 'warning', 'info', 'information'.
+ ## the parent . The test uses the nearest of these role attributes.
+ ## Role attribute values are often used to specify 'error', 'fatal',
+ ## 'warn', 'warning', 'info', 'information'.
attribute role { text }?,
## XPath of a location in the context XML that the or
diff --git a/frameworks/xspec/src/schemas/xspec.sch b/frameworks/xspec/src/schemas/xspec.sch
index becff0f..8627bea 100644
--- a/frameworks/xspec/src/schemas/xspec.sch
+++ b/frameworks/xspec/src/schemas/xspec.sch
@@ -8,7 +8,7 @@
-
+
+
+ Non-XSpec elements use x:expand-text, not expand-text, to control text value templates
+
+
+
+ Rename @expand-text as @x:expand-text
+
+
+
+
+
+
+ Delete @expand-text
+
+
+
+
+
+
+
+
+ @pending has no effect because @focus takes precedence
+ @focus has no effect on scenario with shared=
+
+
+ Delete @focus
+
+
+
+
+
+ @pending has no effect on scenario with shared=
+
+
+
+
+
+
+ Delete @pending
+
+
+
+
diff --git a/frameworks/xspec/src/schematron/generate-step3-wrapper.xsl b/frameworks/xspec/src/schematron/generate-step3-wrapper.xsl
index 062b735..6e5932e 100644
--- a/frameworks/xspec/src/schematron/generate-step3-wrapper.xsl
+++ b/frameworks/xspec/src/schematron/generate-step3-wrapper.xsl
@@ -64,6 +64,13 @@
-->
+
+
+
+
+
+
+
diff --git a/frameworks/xspec/src/schematron/schut-to-xspec.xsl b/frameworks/xspec/src/schematron/schut-to-xspec.xsl
index 994aba8..cca5111 100644
--- a/frameworks/xspec/src/schematron/schut-to-xspec.xsl
+++ b/frameworks/xspec/src/schematron/schut-to-xspec.xsl
@@ -121,6 +121,7 @@
({x:known-UQName('svrl:schematron-output')}/{x:known-UQName('svrl:failed-assert')}
+
)
@@ -143,6 +144,7 @@
({x:known-UQName('svrl:schematron-output')}/{x:known-UQName('svrl:successful-report')}
+
)
@@ -232,6 +234,21 @@
+
+
+
+ [
+ ({x:known-UQName('svrl:text')}, {x:known-UQName('svrl:diagnostic-reference')}) ! normalize-space(.)
+ = {$x-expect-text-content-wrapped}
+ ]
+
+
@@ -249,7 +266,8 @@
@role,
@location,
@context,
- (@count ! ('count:', .))
+ (@count ! ('count:', .)),
+ (normalize-space()[.] ! ('text:', .))
)
=> string-join(' ')" />
diff --git a/pom.xml b/pom.xml
index 55ef0f2..6cfc84f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,7 @@
com.oxygenxml
oxygen-sdk
- 22.0.0.0
+ 24.1.0.0
junit
diff --git a/src/test/java/com/oxygenxml/xspec/jfx/XSpecViewTestBase.java b/src/test/java/com/oxygenxml/xspec/jfx/XSpecViewTestBase.java
index 68b8d33..16f27f8 100644
--- a/src/test/java/com/oxygenxml/xspec/jfx/XSpecViewTestBase.java
+++ b/src/test/java/com/oxygenxml/xspec/jfx/XSpecViewTestBase.java
@@ -300,7 +300,7 @@ protected void executeANT(File xspecFile, File outputFile, String entryPoints, b
// Build the classpath needed by the build.xml script.
StringBuilder cl = new StringBuilder();
- File saxon = URLUtil.getCanonicalFileFromFileUrl(getClass().getClassLoader().getResource("cmd/saxon9ee.jar"));
+ File saxon = URLUtil.getCanonicalFileFromFileUrl(getClass().getClassLoader().getResource("cmd/saxon-ee-10.6.jar"));
cl.append("-lib ").append(saxon.getAbsolutePath()).append(" ");
File extSaxon = new File("frameworks/xspec/oxygen-results-view/saxon-extension.jar");
cl.append("-lib ").append(extSaxon.getAbsolutePath()).append(" ");
diff --git a/src/test/resources/cmd/saxon9ee.jar b/src/test/resources/cmd/saxon-ee-10.6.jar
similarity index 53%
rename from src/test/resources/cmd/saxon9ee.jar
rename to src/test/resources/cmd/saxon-ee-10.6.jar
index 1903e2d..a11463e 100644
Binary files a/src/test/resources/cmd/saxon9ee.jar and b/src/test/resources/cmd/saxon-ee-10.6.jar differ
diff --git a/update_site.xml b/update_site.xml
index 3508ef5..26afc21 100644
--- a/update_site.xml
+++ b/update_site.xml
@@ -6,7 +6,7 @@
id="com.oxygenxml.xspec.XSpecSupportPlugin">
${project.version}
- 22.0+
+ 24.1+
plugin
Syncro Soft
XSpec Helper view
@@ -128,7 +128,7 @@ SOFTWARE.
id="com.oxygenxml.xspec.XSpecSupportFramework">
${project.version}
- 22.0+
+ 24.1+
framework
Syncro Soft
XSpec Framework (required by the XSpec Helper view plugin)