cqm-validators 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE.txt +201 -0
  5. data/QRDA_Schematron_License.txt +191 -0
  6. data/README.md +40 -0
  7. data/Rakefile +10 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/cqm_validators.gemspec +28 -0
  11. data/lib/base_validator.rb +22 -0
  12. data/lib/cqm_validators.rb +15 -0
  13. data/lib/cqm_validators/version.rb +3 -0
  14. data/lib/data_validator.rb +82 -0
  15. data/lib/measure_validator.rb +130 -0
  16. data/lib/performance_rate_validator.rb +92 -0
  17. data/lib/qrda_qdm_template_validator.rb +320 -0
  18. data/lib/reported_result_extractor.rb +172 -0
  19. data/lib/schema/infrastructure/cda/CDA_SDTC.xsd +44 -0
  20. data/lib/schema/infrastructure/cda/POCD_MT000040_SDTC.xsd +1500 -0
  21. data/lib/schema/infrastructure/cda/SDTC.xsd +210 -0
  22. data/lib/schema/processable/coreschemas/NarrativeBlock.xsd +557 -0
  23. data/lib/schema/processable/coreschemas/datatypes-base_SDTC.xsd +1850 -0
  24. data/lib/schema/processable/coreschemas/datatypes.xsd +1375 -0
  25. data/lib/schema/processable/coreschemas/infrastructureRoot.xsd +27 -0
  26. data/lib/schema/processable/coreschemas/voc.xsd +2124 -0
  27. data/lib/schema_validator.rb +23 -0
  28. data/lib/schematron/c_processor.rb +26 -0
  29. data/lib/schematron/iso-schematron-xslt1/ExtractSchFromRNG.xsl +75 -0
  30. data/lib/schematron/iso-schematron-xslt1/ExtractSchFromXSD.xsl +77 -0
  31. data/lib/schematron/iso-schematron-xslt1/iso_abstract_expand.xsl +297 -0
  32. data/lib/schematron/iso-schematron-xslt1/iso_dsdl_include.xsl +1509 -0
  33. data/lib/schematron/iso-schematron-xslt1/iso_schematron_message.xsl +55 -0
  34. data/lib/schematron/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl +1844 -0
  35. data/lib/schematron/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl +605 -0
  36. data/lib/schematron/iso-schematron-xslt1/readme.txt +101 -0
  37. data/lib/schematron/iso-schematron-xslt1/schematron-skeleton-api.htm +723 -0
  38. data/lib/schematron/iso-schematron-xslt2/ExtractSchFromRNG-2.xsl +75 -0
  39. data/lib/schematron/iso-schematron-xslt2/ExtractSchFromXSD-2.xsl +77 -0
  40. data/lib/schematron/iso-schematron-xslt2/iso_abstract_expand.xsl +297 -0
  41. data/lib/schematron/iso-schematron-xslt2/iso_dsdl_include.xsl +1508 -0
  42. data/lib/schematron/iso-schematron-xslt2/iso_schematron_message_xslt2.xsl +55 -0
  43. data/lib/schematron/iso-schematron-xslt2/iso_schematron_skeleton_for_saxon.xsl +2299 -0
  44. data/lib/schematron/iso-schematron-xslt2/iso_svrl_for_xslt2.xsl +684 -0
  45. data/lib/schematron/iso-schematron-xslt2/readme.txt +100 -0
  46. data/lib/schematron/iso-schematron-xslt2/sch-messages-cs.xhtml +56 -0
  47. data/lib/schematron/iso-schematron-xslt2/sch-messages-de.xhtml +57 -0
  48. data/lib/schematron/iso-schematron-xslt2/sch-messages-en.xhtml +57 -0
  49. data/lib/schematron/iso-schematron-xslt2/sch-messages-fr.xhtml +54 -0
  50. data/lib/schematron/iso-schematron-xslt2/sch-messages-nl.xhtml +58 -0
  51. data/lib/schematron/iso-schematron-xslt2/schematron-skeleton-api.htm +723 -0
  52. data/lib/schematron/java_processor.rb +92 -0
  53. data/lib/schematron/qrda/cat_1/HL7_CDAR2_QRDA_Category_I_2_12_16.sch +4693 -0
  54. data/lib/schematron/qrda/cat_1/voc.xml +1177 -0
  55. data/lib/schematron/qrda/cat_1_r2/QRDA Category I Release 2.sch +4069 -0
  56. data/lib/schematron/qrda/cat_1_r2/voc.xml +1065 -0
  57. data/lib/schematron/qrda/cat_1_r3_1/HL7 QRDA Category I STU 3.1.sch +3573 -0
  58. data/lib/schematron/qrda/cat_1_r3_1/HL7 QRDA Category III STU 1.1.sch +464 -0
  59. data/lib/schematron/qrda/cat_1_r3_1/QRDA Category I STU Release 3.1.sch +5394 -0
  60. data/lib/schematron/qrda/cat_1_r3_1/voc.xml +1229 -0
  61. data/lib/schematron/qrda/cat_1_r4/HL7 QRDA Category I STU 4.sch +3526 -0
  62. data/lib/schematron/qrda/cat_1_r4/voc.xml +1186 -0
  63. data/lib/schematron/qrda/cat_1_r5/HL7 QRDA Category I STU 5.sch +3069 -0
  64. data/lib/schematron/qrda/cat_1_r5/voc.xml +1186 -0
  65. data/lib/schematron/qrda/cat_3/QRDA Category III.sch +675 -0
  66. data/lib/schematron/qrda/cat_3/voc.xml +21 -0
  67. data/lib/schematron/qrda/cat_3_r1_1/HL7 QRDA Category III STU 1.1.sch +528 -0
  68. data/lib/schematron/qrda/cat_3_r1_1/voc.xml +8 -0
  69. data/lib/schematron/qrda/cat_3_r2/HL7 QRDA Category III STU 2.sch +677 -0
  70. data/lib/schematron/qrda/cat_3_r2/voc.xml +1186 -0
  71. data/lib/schematron/qrda/cat_3_r2_1/HL7 QRDA Category III STU 2.1.sch +678 -0
  72. data/lib/schematron/qrda/cat_3_r2_1/voc.xml +1186 -0
  73. data/lib/schematron_validator.rb +38 -0
  74. data/lib/validation_error.rb +10 -0
  75. data/lib/validators.rb +136 -0
  76. metadata +177 -0
@@ -0,0 +1,100 @@
1
+ <h1>ISO SCHEMATRON 2010</h1>
2
+
3
+ XSLT implementation by Rick Jelliffe with assistance from members of Schematron-love-in maillist.
4
+
5
+ 2010-04-14
6
+
7
+ Two distributions are available. One is for XSLT1 engines.
8
+ The other is for XSLT2 engines, such as SAXON 9.
9
+
10
+
11
+ This version of Schematron splits the process into a pipeline of several different XSLT stages.
12
+
13
+ 1) First, preprocess your Schematron schema with iso_dsdl_include.xsl.
14
+ This is a macro processor to assemble the schema from various parts.
15
+ If your schema is not in separate parts, you can skip this stage.
16
+
17
+ 2) Second, preprocess the output from stage 1 with iso_abstract_expand.xsl.
18
+ This is a macro processor to convert abstract patterns to real patterns.
19
+ If your schema does not use abstract patterns, you can skip this
20
+ stage.
21
+
22
+ 3) Third, compile the Schematron schema into an XSLT script.
23
+ This will typically use iso_svrl_for_xslt1.xsl or iso_svrl_for_xslt2.xsl
24
+ (which in turn invoke iso_schematron_skeleton_for_xslt1.xsl or iso_schematron_skeleton_for_saxon.xsl)
25
+ However, other "meta-styleseets" are also in common use; the principle of operation is the same.
26
+ If your schema uses Schematron phases, supply these as command line/invocation parameters
27
+ to this process.
28
+
29
+ 4) Fourth, run the script generated by stage 3 against the document being validated.
30
+ If you are using the SVRL script, then the output of validation will be an XML document.
31
+ If your schema uses Schematron parameters, supply these as command line/invocation parameters
32
+ to this process.
33
+
34
+
35
+ The XSLT2 distribution also features several next generation features,
36
+ such as validating multiple documents. See the source code for details.
37
+
38
+ Schematron assertions can be written in any language, of course; the file
39
+ sch-messages-en.xhtml contains the diagnostics messages from the XSLT2 skeleton
40
+ in English, and this can be used as template to localize the skeleton's
41
+ error messages. Note that typically programming errors in Schematron are XPath
42
+ errors, which requires localized messages from the XSLT engine.
43
+
44
+ ANT
45
+ ---
46
+ To give an example of how to process a document, here is a sample ANT task.
47
+
48
+ <target name="schematron-compile-test" >
49
+
50
+ <!-- expand inclusions -->
51
+ <xslt basedir="test/schematron"
52
+ style="iso_dsdl_include.xsl" in="test.sch" out="test1.sch">
53
+ <classpath>
54
+ <pathelement location="${lib.dir}/saxon9.jar"/>
55
+ </classpath>
56
+ </xslt>
57
+
58
+ <!-- expand abstract patterns -->
59
+ <xslt basedir="test/schematron"
60
+ style="iso_abstract_expand.xsl" in="test1.sch" out="test2.sch">
61
+ <classpath>
62
+ <pathelement location="${lib.dir}/saxon9.jar"/>
63
+ </classpath>
64
+ </xslt>
65
+
66
+
67
+
68
+ <!-- compile it -->
69
+ <xslt basedir="test/schematron"
70
+ style="iso_svrl_for_xslt2.xsl" in="test2.sch" out="test.xsl">
71
+ <classpath>
72
+ <pathelement location="${lib.dir}/saxon9.jar"/>
73
+ </classpath>
74
+ </xslt>
75
+
76
+ <!-- validate -->
77
+ <xslt basedir="test/schematron"
78
+ style="test.xsl" in="instance.xml" out="instance.svrlt">
79
+ <classpath>
80
+ <pathelement location="${lib.dir}/saxon9.jar"/>
81
+ </classpath>
82
+ </xslt>
83
+ </target>
84
+
85
+ EXTRACTION SCHEMATRON FROM XSD OR RELAX NG
86
+
87
+ The following files allow extracting of embedded schematron patterns
88
+ in XML Schemas or RELAX NG schemas. For details, see the at
89
+ article http://www.topologi.com/resources/schtrn_xsd_paper.html
90
+
91
+ The following files are provided:
92
+ ExtractSchFromRNG.xsl Generate a Schematron schema from patterns
93
+ embedded in a RELAX NG schema. The schema uses XSLT1.
94
+ ExtractSchFromXSD.xsl Generate a Schematron schema from patterns
95
+ embedded in a W3C XML Schemas schema. The schema uses XSLT1.
96
+
97
+ ExtractSchFromRNG-2.xsl Generate a Schematron schema from patterns
98
+ embedded in a RELAX NG schema. The schema uses XSLT2.
99
+ ExtractSchFromXSD-2.xsl Generate a Schematron schema from patterns
100
+ embedded in a W3C XML Schemas schema. The schema uses XSLT2.
@@ -0,0 +1,56 @@
1
+ <xhtml:div class="ErrorMessages" xml:lang="cs"
2
+ xmlns:xhtml="http://www.w3.org/1999/xhtml" >
3
+ <!-- Obsahuje-li chybové hlášení dynamické informace, je rozděleno
4
+ do sekcí "a" a "b". Různé jazyky tak mohou dynamické informace
5
+ umístit s ohledem na svá gramatická pravidla. -->
6
+ <xhtml:p id="sch-message-1-cs">Chyba ve schématu: nalezeny elementy Schematronu ve starém i novém jmenném prostoru</xhtml:p>
7
+ <xhtml:p id="sch-message-2-cs">Chyba ve schématu: v atributu queryBinding použijte 'xslt'</xhtml:p>
8
+ <xhtml:p id="sch-message-3a-cs">Porucha: Tato implementace ISO Schematronu nefunguje se schématy, která používají dotazovací jazyk</xhtml:p>
9
+ <xhtml:p id="sch-message-3b-cs"/>
10
+ <xhtml:p id="sch-message-4a-cs">Fázová chyba: fáze jménem </xhtml:p>
11
+ <xhtml:p id="sch-message-4b-cs"> není definována.</xhtml:p>
12
+ <xhtml:p id="sch-message-5-cs">Chybný markup: v elementu &lt;active> chybí atribut pattern</xhtml:p>
13
+ <xhtml:p id="sch-message-6a-cs">Chybný odkaz: vzor "</xhtml:p>
14
+ <xhtml:p id="sch-message-6b-cs">" byl aktivován, ne však deklarován</xhtml:p>
15
+ <xhtml:p id="sch-message-7-cs">Chybný markup: v elementu &lt;assert> chybí atribut test</xhtml:p>
16
+ <xhtml:p id="sch-message-8-cs">Chybný markup: v elementu &lt;report> chybí atribut test</xhtml:p>
17
+ <xhtml:p id="sch-message-9-cs">Chybný markup: v elementu &lt;diagnostic> chybí atribut id</xhtml:p>
18
+ <xhtml:p id="sch-message-10-cs">Chybný markup: v elementu &lt;extends> chybí atribut rule</xhtml:p>
19
+ <xhtml:p id="sch-message-11a-cs">Chybný odkaz: abstraktní pravidlo "</xhtml:p>
20
+ <xhtml:p id="sch-message-11b-cs">" není definováno, ačkoli se na ně odkazuje</xhtml:p>
21
+ <xhtml:p id="sch-message-12-cs">Chybný markup: v elementu &lt;key> chybí atribut name</xhtml:p>
22
+ <xhtml:p id="sch-message-13-cs">Chybný markup: v elementu &lt;key> chybí atribut path nebo use</xhtml:p>
23
+ <xhtml:p id="sch-message-14-cs">Chybný markup: v elementu &lt;key> chybí atribut path nebo use</xhtml:p>
24
+ <xhtml:p id="sch-message-15-cs">Chyba ve schématu: element &lt;key> není ve jmenném prostoru ISO Schematronu. Použijte jmenný prostor XSLT.</xhtml:p>
25
+ <xhtml:p id="sch-message-16-cs">Chybný markup: v elementu &lt;function> chybí atribut name</xhtml:p>
26
+ <xhtml:p id="sch-message-17-cs">Chyba ve schématu: element &lt;function> není ve jmenném prostoru ISO Schematronu. Použijte jmenný prostor XSLT.</xhtml:p>
27
+ <xhtml:p id="sch-message-18-cs">Chyba ve schématu: direktiva &lt;include> má prázdný atribut href</xhtml:p>
28
+ <xhtml:p id="sch-message-19-cs">Chyba: Nesprávné URL v direktivě &lt;include></xhtml:p>
29
+ <xhtml:p id="sch-message-20a-cs">Chyba: Nelze otevřít vkládaný soubor </xhtml:p>
30
+ <xhtml:p id="sch-message-20b-cs" />
31
+ <xhtml:p id="sch-message-21-cs">Chyba ve schématu: &lt;include> používejte ke vkládání fragmentů, ne celého schématu</xhtml:p>
32
+ <xhtml:p id="sch-message-22-cs">Chyba ve schématu: Schémata XSD lze importovat pouze pokud používáte dotazovací jazyk "xslt2"</xhtml:p>
33
+ <xhtml:p id="sch-message-23-cs">Chyba ve schématu: element &lt;import-schema> není ve jmenném prostoru ISO Schematronu. Použijte jmenný prostor XSLT.</xhtml:p>
34
+ <xhtml:p id="sch-message-24-cs">Varování: S dotazovacím jazykem "xpath" by se neměly používat proměnné</xhtml:p>
35
+ <xhtml:p id="sch-message-25-cs">Varování: S dotazovacím jazykem "xpath2" by se neměly používat proměnné</xhtml:p>
36
+ <xhtml:p id="sch-message-26-cs">Chybný markup: v elementu &lt;ns> chybí atribut uri</xhtml:p>
37
+ <xhtml:p id="sch-message-27-cs">Chybný markup: v elementu &lt;ns> chybí atribut prefix</xhtml:p>
38
+ <xhtml:p id="sch-message-28-cs">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</xhtml:p>
39
+ <xhtml:p id="sch-message-29-cs">Chybný markup: v elementu &lt;phase> chybí atribut id</xhtml:p>
40
+ <xhtml:p id="sch-message-30-cs">Chybný markup: v elementu &lt;rule> chybí atribut context</xhtml:p>
41
+ <xhtml:p id="sch-message-31-cs">Chybný markup: v abstraktním pravidlu chybí atribut id</xhtml:p>
42
+ <xhtml:p id="sch-message-32-cs">Chybný markup: (2) Abstraktní pravidlo nesmí mít atribut context</xhtml:p>
43
+ <xhtml:p id="sch-message-33-cs">Chybný markup: Abstraktní pravidlo nesmí mít atribut context</xhtml:p>
44
+ <xhtml:p id="sch-message-34-cs">Chybný markup: v elementu &lt;value-of> chybí atribut select</xhtml:p>
45
+ <xhtml:p id="sch-message-35a-cs">Varování: </xhtml:p>
46
+ <xhtml:p id="sch-message-35b-cs"> nesmí obsahovat žádné podelementy</xhtml:p>
47
+ <xhtml:p id="sch-message-36a-cs">Chybný odkaz: Diagnostika "</xhtml:p>
48
+ <xhtml:p id="sch-message-36b-cs">" nebyla deklarována, ačkoli se na ni odkazuje</xhtml:p>
49
+ <xhtml:p id="sch-message-37a-cs">Chyba: procesor </xhtml:p>
50
+ <xhtml:p id="sch-message-37b-cs"> nepodporuje použití jmenného prostoru XSLT s jiným prefixem než "xsl"</xhtml:p>
51
+ <xhtml:p id="sch-message-38a-cs">Chyba: neznámý element </xhtml:p>
52
+ <xhtml:p id="sch-message-38b-cs"> ve jmenném prostoru ISO Schematronu: zkontrolujte, je-li správně zapsán</xhtml:p>
53
+ <xhtml:p id="sch-message-39a-cs">Varování: neznámý element
54
+ </xhtml:p>
55
+ <xhtml:p id="sch-message-39b-cs" />
56
+ </xhtml:div>
@@ -0,0 +1,57 @@
1
+
2
+ <xhtml:div class="ErrorMessages" xml:lang="en"
3
+ xmlns:xhtml="http://www.w3.org/1999/xhtml" >
4
+ <!-- Where the error message contains dynamic information, the message has been split into an "a" and a "b" section.
5
+ This has been done even when the English does not require it, in order to accomodate different language grammars
6
+ that might position the dynamic information differently.
7
+ -->
8
+ <xhtml:p id="sch-message-1-de">Fehler im Schema: Schematron Elemente sowohl im alten als auch neuen Namensraum gefunden</xhtml:p>
9
+ <xhtml:p id="sch-message-2-de">Fehler im Schema: Nutzen Sie 'xslt' im queryBinding-Attribut</xhtml:p>
10
+ <xhtml:p id="sch-message-3a-de">Fehler: Diese Implementierung von ISO Schematron arbeitet nicht mit Schemas zusammen, die die Query Language </xhtml:p>
11
+ <xhtml:p id="sch-message-3b-de">nutzen</xhtml:p>
12
+ <xhtml:p id="sch-message-4a-de">Phasenfehler: Es gibt keine Phase mit Namen </xhtml:p>
13
+ <xhtml:p id="sch-message-4b-de" />
14
+ <xhtml:p id="sch-message-5-de">Fehler in der Annotation: Kein Attribut pattern in &lt;active></xhtml:p>
15
+ <xhtml:p id="sch-message-6a-de">Referenzierungsfehler: Der Ausdruck "</xhtml:p>
16
+ <xhtml:p id="sch-message-6b-de">" wurde aktiviert, ist aber nicht deklariert</xhtml:p>
17
+ <xhtml:p id="sch-message-7-de">Fehler in der Annotation: Kein Attribut test in &lt;assert</xhtml:p>
18
+ <xhtml:p id="sch-message-8-de">Fehler in der Annotation: Kein Attribut test &lt;report></xhtml:p>
19
+ <xhtml:p id="sch-message-9-de">Fehler in der Annotation: Kein Attribut id in &lt;diagnostic></xhtml:p>
20
+ <xhtml:p id="sch-message-10-de">Fehler in der Annotation: Kein Attribut rule in &lt;extends></xhtml:p>
21
+ <xhtml:p id="sch-message-11a-de">Referenzierungsfehler: Die abstrakte Regel "</xhtml:p>
22
+ <xhtml:p id="sch-message-11b-de">" wurde referenziert, ist aber nicht deklariert</xhtml:p>
23
+ <xhtml:p id="sch-message-12-de">Fehler in der Annotation: Kein Attribut name in &lt;key></xhtml:p>
24
+ <xhtml:p id="sch-message-13-de">Fehler in der Annotation: Kein Attribut path oder use in &lt;key></xhtml:p>
25
+ <xhtml:p id="sch-message-14-de">Fehler in der Annotation: Kein Attribut path oder use in &lt;key></xhtml:p>
26
+ <xhtml:p id="sch-message-15-de">Fehler im Schema: Das Element key ist im ISO Schematron-Namensraum nicht vorhanden. Benutzen Sie den XSLT-Namensraum.</xhtml:p>
27
+ <xhtml:p id="sch-message-16-de">Fehler in der Annotation: Kein Attribut name in &lt;function></xhtml:p>
28
+ <xhtml:p id="sch-message-17-de">Fehler im Schema: Das Element function ist im ISO Schematron-Namensraum nicht vorhanden. Benutzen Sie den XSLT-Namensraum.</xhtml:p>
29
+ <xhtml:p id="sch-message-18-de">Fehler im Schema: Leeres Attribut href= für include Anweisung.</xhtml:p>
30
+ <xhtml:p id="sch-message-19-de">Fehler: Ungültige URL in Schematron include</xhtml:p>
31
+ <xhtml:p id="sch-message-20a-de">Kann die referenzierte Datei nicht öffnen: </xhtml:p>
32
+ <xhtml:p id="sch-message-20b-de" />
33
+ <xhtml:p id="sch-message-21-de">Fehler im Schema: include darf nur zur Einbettung von Schemafragmenten genutzt werden, nicht für ganze Schemata</xhtml:p>
34
+ <xhtml:p id="sch-message-22-de">Fehler im Schema: XSD Schemata dürfen nur importiert werden, wenn das 'xslt2' Query Language Binding genutzt wird</xhtml:p>
35
+ <xhtml:p id="sch-message-23-de">Fehler im Schema: Das Element import-schema ist im ISO Schematron-Namensraum nicht vorhanden. Benutzen Sie den XSLT-Namensraum.</xhtml:p>
36
+ <xhtml:p id="sch-message-24-de">Warnung: Variablen sollten nicht zusammen mit dem "xpath" Query Language Binding genutzt werden.</xhtml:p>
37
+ <xhtml:p id="sch-message-25-de">Warnung: Variablen sollten nicht zusammen mit dem "xpath2" Query Language Binding genutzt werden.</xhtml:p>
38
+ <xhtml:p id="sch-message-26-de">Fehler in der Annotation: Fehlendes Attiribut uri in &lt;ns></xhtml:p>
39
+ <xhtml:p id="sch-message-27-de">Fehler in der Annotation: Fehlendes Attribut prefix in &lt;ns></xhtml:p>
40
+ <xhtml:p id="sch-message-28-de">Fehler bei der Schemaimplementierung: Dieses Schema enthält abstrakte Mustervergleiche, die bereits vorverarbeitet sein sollten.</xhtml:p>
41
+ <xhtml:p id="sch-message-29-de">Fehler in der Annotation: Fehlendes Attiribut id in &lt;phase></xhtml:p>
42
+ <xhtml:p id="sch-message-30-de">Fehler in der Annotation: Fehlendes Attiribut context in &lt;rule></xhtml:p>
43
+ <xhtml:p id="sch-message-31-de">Fehler in der Annotation: Fehlendes Attiribut id on abstract &lt;rule></xhtml:p>
44
+ <xhtml:p id="sch-message-32-de">Fehler in der Annotation: (2) context attribute on abstract &lt;rule></xhtml:p>
45
+ <xhtml:p id="sch-message-33-de">Fehler in der Annotation: Attribut context bei abstrakter &lt;rule></xhtml:p>
46
+ <xhtml:p id="sch-message-34-de">Fehler in der Annotation: Fehlendes Attiribut select in &lt;value-of></xhtml:p>
47
+ <xhtml:p id="sch-message-35a-de">Warnung: </xhtml:p>
48
+ <xhtml:p id="sch-message-35b-de"> darf keine Kindelemente beinhalten</xhtml:p>
49
+ <xhtml:p id="sch-message-36a-de">Referenzierungsfehler: Ein diagnostic-Element "</xhtml:p>
50
+ <xhtml:p id="sch-message-36b-de">" wurde referenziert, ist aber nicht deklariert</xhtml:p>
51
+ <xhtml:p id="sch-message-37a-de">Der Gebrauch des XSLT-Namensraums mit einem anderen Präfix als "xsl" in Schematron-Regeln wird von diesem Prozessor nicht unterstützt:</xhtml:p>
52
+ <xhtml:p id="sch-message-37b-de" />
53
+ <xhtml:p id="sch-message-38a-de">Fehler: Unbekanntes Element im ISO Schematron-Namensraum: Überprüfen Sie die Schreibweise (inkl. Groß- und Kleinschreibung)</xhtml:p>
54
+ <xhtml:p id="sch-message-38b-de" />
55
+ <xhtml:p id="sch-message-39a-de">Warnung: Unbekanntes Element </xhtml:p>
56
+ <xhtml:p id="sch-message-39b-de" />
57
+ </xhtml:div>
@@ -0,0 +1,57 @@
1
+
2
+ <xhtml:div class="ErrorMessages" xml:lang="en"
3
+ xmlns:xhtml="http://www.w3.org/1999/xhtml" >
4
+ <!-- Where the error message contains dynamic information, the message has been split into an "a" and a "b" section.
5
+ This has been done even when the English does not require it, in order to accomodate different language grammars
6
+ that might position the dynamic information differently.
7
+ -->
8
+ <xhtml:p id="sch-message-1-en">Schema error: Schematron elements in old and new namespaces found</xhtml:p>
9
+ <xhtml:p id="sch-message-2-en">Schema error: in the queryBinding attribute, use 'xslt'</xhtml:p>
10
+ <xhtml:p id="sch-message-3a-en">Fail: This implementation of ISO Schematron does not work with schemas using the query language </xhtml:p>
11
+ <xhtml:p id="sch-message-3b-en"/>
12
+ <xhtml:p id="sch-message-4a-en">Phase Error: no phase has been defined with name </xhtml:p>
13
+ <xhtml:p id="sch-message-4b-en" />
14
+ <xhtml:p id="sch-message-5-en">Markup Error: no pattern attribute in &lt;active></xhtml:p>
15
+ <xhtml:p id="sch-message-6a-en">Reference Error: the pattern "</xhtml:p>
16
+ <xhtml:p id="sch-message-6b-en">" has been activated but is not declared</xhtml:p>
17
+ <xhtml:p id="sch-message-7-en">Markup Error: no test attribute in &lt;assert></xhtml:p>
18
+ <xhtml:p id="sch-message-8-en">Markup Error: no test attribute in &lt;report></xhtml:p>
19
+ <xhtml:p id="sch-message-9-en">Markup Error: no id attribute in &lt;diagnostic></xhtml:p>
20
+ <xhtml:p id="sch-message-10-en">Markup Error: no rule attribute in &lt;extends></xhtml:p>
21
+ <xhtml:p id="sch-message-11a-en">Reference Error: the abstract rule "</xhtml:p>
22
+ <xhtml:p id="sch-message-11b-en">" has been referenced but is not declared</xhtml:p>
23
+ <xhtml:p id="sch-message-12-en">Markup Error: no name attribute in &lt;key></xhtml:p>
24
+ <xhtml:p id="sch-message-13-en">Markup Error: no path or use attribute in &lt;key></xhtml:p>
25
+ <xhtml:p id="sch-message-14-en">Markup Error: no path or use attribute in &lt;key></xhtml:p>
26
+ <xhtml:p id="sch-message-15-en">Schema error: The &lt;key> element is not in the ISO Schematron namespace. Use the XSLT namespace.</xhtml:p>
27
+ <xhtml:p id="sch-message-16-en">Markup Error: no name attribute in &lt;function></xhtml:p>
28
+ <xhtml:p id="sch-message-17-en">Schema error: The &lt;function> element is not in the ISO Schematron namespace. Use the XSLT namespace.</xhtml:p>
29
+ <xhtml:p id="sch-message-18-en">Schema error: Empty href attribute for &lt;include> directive.</xhtml:p>
30
+ <xhtml:p id="sch-message-19-en">Error: Impossible URL in Schematron &lt;include></xhtml:p>
31
+ <xhtml:p id="sch-message-20a-en">Error: Unable to open referenced included file: </xhtml:p>
32
+ <xhtml:p id="sch-message-20b-en" />
33
+ <xhtml:p id="sch-message-21-en">Schema error: Use &lt;include> to include fragments, not a whole schema</xhtml:p>
34
+ <xhtml:p id="sch-message-22-en">Schema error: XSD schemas may only be imported if you are using the 'xslt2' query language binding</xhtml:p>
35
+ <xhtml:p id="sch-message-23-en">Schema error: The &lt;import-schema> element is not available in the ISO Schematron namespace. Use the XSLT namespace.</xhtml:p>
36
+ <xhtml:p id="sch-message-24-en">Warning: Variables should not be used with the "xpath" query language binding.</xhtml:p>
37
+ <xhtml:p id="sch-message-25-en">Warning: Variables should not be used with the "xpath2" query language binding.</xhtml:p>
38
+ <xhtml:p id="sch-message-26-en">Markup Error: no uri attribute in &lt;ns></xhtml:p>
39
+ <xhtml:p id="sch-message-27-en">Markup Error: no prefix attribute in &lt;ns></xhtml:p>
40
+ <xhtml:p id="sch-message-28-en">Schema implementation error: This schema has abstract patterns, yet they are supposed to be preprocessed out already</xhtml:p>
41
+ <xhtml:p id="sch-message-29-en">Markup Error: no id attribute in &lt;phase></xhtml:p>
42
+ <xhtml:p id="sch-message-30-en">Markup Error: no context attribute in &lt;rule></xhtml:p>
43
+ <xhtml:p id="sch-message-31-en">Markup Error: no id attribute on abstract &lt;rule></xhtml:p>
44
+ <xhtml:p id="sch-message-32-en">Markup Error: (2) context attribute on abstract &lt;rule></xhtml:p>
45
+ <xhtml:p id="sch-message-33-en">Markup Error: context attribute on abstract &lt;rule></xhtml:p>
46
+ <xhtml:p id="sch-message-34-en">Markup Error: no select attribute in &lt;value-of></xhtml:p>
47
+ <xhtml:p id="sch-message-35a-en">Warning: </xhtml:p>
48
+ <xhtml:p id="sch-message-35b-en"> must not contain any child elements</xhtml:p>
49
+ <xhtml:p id="sch-message-36a-en">Reference error: A diagnostic "</xhtml:p>
50
+ <xhtml:p id="sch-message-36b-en">" has been referenced but is not declared</xhtml:p>
51
+ <xhtml:p id="sch-message-37a-en">Warning: Using the XSLT namespace with a prefix other than "xsl" in Schematron rules is not supported in this processor:</xhtml:p>
52
+ <xhtml:p id="sch-message-37b-en" />
53
+ <xhtml:p id="sch-message-38a-en">Error: unrecognized element in ISO Schematron namespace: check spelling and capitalization</xhtml:p>
54
+ <xhtml:p id="sch-message-38b-en" />
55
+ <xhtml:p id="sch-message-39a-en">Warning: unrecognized element </xhtml:p>
56
+ <xhtml:p id="sch-message-39b-en" />
57
+ </xhtml:div>
@@ -0,0 +1,54 @@
1
+ <xhtml:div class="ErrorMessages" xml:lang="fr" xmlns:xhtml="http://www.w3.org/1999/xhtml">
2
+ <!-- Where the error message contains dynamic information, the message has been split into an "a" and a "b" section.
3
+ This has been done even when the English does not require it, in order to accomodate different language grammars
4
+ that might position the dynamic information differently.
5
+ -->
6
+ <xhtml:p id="sch-message-1-fr">Erreur de schema: éléments Schematron à la fois dans l'ancien et le nouveau namespace</xhtml:p>
7
+ <xhtml:p id="sch-message-2-fr">Erreur de schema: utilisez 'xslt' dans l'attribut queryBinding</xhtml:p>
8
+ <xhtml:p id="sch-message-3a-fr">Échec: Cette implémentation de Schematron ISO ne fonctionne pas avec des schemas utilisant le langage de query </xhtml:p>
9
+ <xhtml:p id="sch-message-3b-fr"/>
10
+ <xhtml:p id="sch-message-4a-fr">Erreur de phase: aucune phase n'a été définie avec le nom </xhtml:p>
11
+ <xhtml:p id="sch-message-4b-fr"/>
12
+ <xhtml:p id="sch-message-5-fr">Erreur de balisage: pas d'attribut pattern dans &lt;active></xhtml:p>
13
+ <xhtml:p id="sch-message-6a-fr">Erreur de référence: le pattern "</xhtml:p>
14
+ <xhtml:p id="sch-message-6b-fr">" a été activé mais n'a pas été décalaré</xhtml:p>
15
+ <xhtml:p id="sch-message-7-fr">Erreur de balisage: pas d'attribut test dans &lt;assert></xhtml:p>
16
+ <xhtml:p id="sch-message-8-fr">Erreur de balisage: pas d'attribut test dans &lt;report></xhtml:p>
17
+ <xhtml:p id="sch-message-9-fr">Erreur de balisage: pas d'attribut id dans &lt;diagnostic></xhtml:p>
18
+ <xhtml:p id="sch-message-10-fr">Erreur de balisage: pas d'attribut rule dans &lt;extends></xhtml:p>
19
+ <xhtml:p id="sch-message-11a-fr">Erreur de référence: la règle abstraite "</xhtml:p>
20
+ <xhtml:p id="sch-message-11b-fr">" a été référencée mais pas déclarée</xhtml:p>
21
+ <xhtml:p id="sch-message-12-fr">Erreur de balisage: pas d'attribut name dans &lt;key></xhtml:p>
22
+ <xhtml:p id="sch-message-13-fr">Erreur de balisage: pas d'attribut path ou use dans &lt;key></xhtml:p>
23
+ <xhtml:p id="sch-message-15-fr">Erreur de schema: L'élément key n'est pas dans le namespace Schematron ISO. Utilisez le namespace XSLT.</xhtml:p>
24
+ <xhtml:p id="sch-message-16-fr">Erreur de balisage: pas d'attribut name dans &lt;function></xhtml:p>
25
+ <xhtml:p id="sch-message-17-fr">Erreur de schema: L'élément function n'est pas dans le namespace Schematron ISO. Utilisez le namespace XSLT.</xhtml:p>
26
+ <xhtml:p id="sch-message-18-fr">Erreur de schema: Attribut href vide sur a directive include.</xhtml:p>
27
+ <xhtml:p id="sch-message-19-fr">Erreur: URL impossible dans la directive include de Schematron</xhtml:p>
28
+ <xhtml:p id="sch-message-20a-fr">Impossible d'ouvrir le fichier référencé pour l'inclusion: </xhtml:p>
29
+ <xhtml:p id="sch-message-20b-fr"/>
30
+ <xhtml:p id="sch-message-21-fr">Erreur de schema: Utilisez include pour inclure des fragments et non un schema entier</xhtml:p>
31
+ <xhtml:p id="sch-message-22-fr">Erreur de schema: Les schema XSD peuvent être importés seulement si vous utilisez the langage de query 'xslt2'</xhtml:p>
32
+ <xhtml:p id="sch-message-23-fr">Erreur de schema: L'élément import-schema n'est pas disponible dans le namespace Schematron ISO. Utilisez le namespace XSLT.</xhtml:p>
33
+ <xhtml:p id="sch-message-24-fr">Avertissement: Des variables ne devraient pas être utiliées avec le langage de query "xpath".</xhtml:p>
34
+ <xhtml:p id="sch-message-24-fr">Avertissement: Des variables ne devraient pas être utiliées avec le langage de query "xpath2".</xhtml:p>
35
+ <xhtml:p id="sch-message-26-fr">Erreur de balisage: pas d'attribut uri dans &lt;ns></xhtml:p>
36
+ <xhtml:p id="sch-message-27-fr">Erreur de balisage: pas d'attribut prefix dans &lt;ns></xhtml:p>
37
+ <xhtml:p id="sch-message-28-fr">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</xhtml:p>
38
+ <xhtml:p id="sch-message-29-fr">Erreur de balisage: pas d'attribut id dans &lt;phase></xhtml:p>
39
+ <xhtml:p id="sch-message-30-fr">Erreur de balisage: pas d'attribut context dans &lt;rule></xhtml:p>
40
+ <xhtml:p id="sch-message-31-fr">Erreur de balisage: pas d'attribut id dans &lt;rule></xhtml:p>
41
+ <xhtml:p id="sch-message-32-fr">Erreur de balisage: (2) attribut context dans une &lt;rule> abstraite</xhtml:p>
42
+ <xhtml:p id="sch-message-33-fr">Erreur de balisage: attribut context dans une &lt;rule> abstraite</xhtml:p>
43
+ <xhtml:p id="sch-message-34-fr">Erreur de balisage: pas d'attribut select dans &lt;value-of></xhtml:p>
44
+ <xhtml:p id="sch-message-35a-fr">Avertissement: </xhtml:p>
45
+ <xhtml:p id="sch-message-35b-fr"> ne peut contenir aucun élément enfant</xhtml:p>
46
+ <xhtml:p id="sch-message-36a-fr">Erreur de référence: Un diagnostique "</xhtml:p>
47
+ <xhtml:p id="sch-message-36b-fr">" a été référencé mais n'est pas déclaré</xhtml:p>
48
+ <xhtml:p id="sch-message-37a-fr">Utiliser the namespace XSLT avec un autre préfixe que "xsl" dans les rules Schematron n'est pas supporté par ce processor:</xhtml:p>
49
+ <xhtml:p id="sch-message-37b-fr"/>
50
+ <xhtml:p id="sch-message-38a-fr">Erreur: élément inconnu dans le namespace Schematron ISO: vérifiez l'orthographe et la casse</xhtml:p>
51
+ <xhtml:p id="sch-message-38b-fr"/>
52
+ <xhtml:p id="sch-message-39a-fr">Avertissement: élément inconnu</xhtml:p>
53
+ <xhtml:p id="sch-message-39b-fr"/>
54
+ </xhtml:div>
@@ -0,0 +1,58 @@
1
+ <xhtml:div class="ErrorMessages" xml:lang="nl" xmlns:xhtml="http://www.w3.org/1999/xhtml">
2
+ <!-- Where the error message contains dynamic information, the message has been split into an "a" and a "b" section.
3
+ This has been done even when the English does not require it, in order to accomodate different language grammars
4
+ that might position the dynamic information differently.
5
+ -->
6
+ <xhtml:p id="sch-message-1-nl">Schema fout: er werden Schematron elementen uit de oude en nieuwe
7
+ namespace gevonden</xhtml:p>
8
+ <xhtml:p id="sch-message-2-nl">Schema fout: gebruik 'xslt' in het queryBinding attribute</xhtml:p>
9
+ <xhtml:p id="sch-message-3a-nl">Faling: Deze implementatie van ISO Schematron werkt niet met
10
+ schemas die gebruik maken van de query language </xhtml:p>
11
+ <xhtml:p id="sch-message-3b-nl"/>
12
+ <xhtml:p id="sch-message-4a-nl">Fase fout: er is geen 'phase' gedefinieerd met naam </xhtml:p>
13
+ <xhtml:p id="sch-message-4b-nl"/>
14
+ <xhtml:p id="sch-message-5-nl">Markup fout: er is geen 'pattern' attribuut in &lt;active></xhtml:p>
15
+ <xhtml:p id="sch-message-6a-nl">Referentie fout: het 'pattern' "</xhtml:p>
16
+ <xhtml:p id="sch-message-6b-nl">" is geactiveerd maar niet gedeclareerd</xhtml:p>
17
+ <xhtml:p id="sch-message-7-nl">Markup fout: er is geen 'test' attribuut in &lt;assert</xhtml:p>
18
+ <xhtml:p id="sch-message-8-nl">Markup fout: er is geen 'test' attribuut in &lt;report></xhtml:p>
19
+ <xhtml:p id="sch-message-9-nl">Markup fout: er is geen 'id' attribuut in &lt;diagnostic></xhtml:p>
20
+ <xhtml:p id="sch-message-10-nl">Markup fout: er is geen 'rule' attribuut in &lt;extends></xhtml:p>
21
+ <xhtml:p id="sch-message-11a-nl">Referentie fout: de abstracte regel "</xhtml:p>
22
+ <xhtml:p id="sch-message-11b-nl">" werd gerefereerd maar niet gedeclareerd</xhtml:p>
23
+ <xhtml:p id="sch-message-12-nl">Markup fout: er is geen 'name' attribuut in &lt;key></xhtml:p>
24
+ <xhtml:p id="sch-message-13-nl">Markup fout: er is geen 'path' of 'use' attribuut in &lt;key></xhtml:p>
25
+ <xhtml:p id="sch-message-14-nl">Markup fout: er is geen 'path' of 'use' attribuut in &lt;key></xhtml:p>
26
+ <xhtml:p id="sch-message-15-nl">Schema fout: Het 'key' element zit niet in de ISO Schematron namespace. Gebruik de XSLT namespace.</xhtml:p>
27
+ <xhtml:p id="sch-message-16-nl">Markup fout: er is geen 'name' attribuut in &lt;function></xhtml:p>
28
+ <xhtml:p id="sch-message-17-nl">Schema fout: Het 'function' element zit niet in de ISO Schematron namespace. Gebruik de XSLT namespace.</xhtml:p>
29
+ <xhtml:p id="sch-message-18-nl">Schema fout: Leeg 'href=' attribuut bij de include opdracht.</xhtml:p>
30
+ <xhtml:p id="sch-message-19-nl">Fout: Onmogelijke URL gebruikt bij de Schematron include</xhtml:p>
31
+ <xhtml:p id="sch-message-20a-nl">Kan de gerefereerde 'include' file niet openen: </xhtml:p>
32
+ <xhtml:p id="sch-message-20b-nl"/>
33
+ <xhtml:p id="sch-message-21-nl">Schema fout: Gebruik include om fragmenten op te nemen, niet een volledig schema</xhtml:p>
34
+ <xhtml:p id="sch-message-22-nl">Schema fout: XSD schemas kunnen enkel geïmporteerd worden indien de 'xslt2' query language binding gebruikt is</xhtml:p>
35
+ <xhtml:p id="sch-message-23-nl">Schema fout: Het 'import-schema' element is niet beschikbaar in the ISO Schematron namespace. Gebruik de XSLT namespace.</xhtml:p>
36
+ <xhtml:p id="sch-message-24-nl">Waarschuwing: Variabelen niet gebruiken met de "xpath" query language binding.</xhtml:p>
37
+ <xhtml:p id="sch-message-25-nl">Waarschuwing: Variabelen niet gebruiken met de "xpath2" query language binding.</xhtml:p>
38
+ <xhtml:p id="sch-message-26-nl">Markup fout: er is geen 'uri' attribute in &lt;ns></xhtml:p>
39
+ <xhtml:p id="sch-message-27-nl">Markup fout: er is geen 'prefix' attribute in &lt;ns></xhtml:p>
40
+ <xhtml:p id="sch-message-28-nl">Schema implementatie fout: Dit schema heeft abstracte patronen, die al gepreprocessed zouden moeten zijn</xhtml:p>
41
+ <xhtml:p id="sch-message-29-nl">Markup fout: er is geen 'id' attribuut in &lt;phase></xhtml:p>
42
+ <xhtml:p id="sch-message-30-nl">Markup fout: er is geen 'context' attribuut in &lt;rule></xhtml:p>
43
+ <xhtml:p id="sch-message-31-nl">Markup fout: er is geen 'id' attribuut op abstracte &lt;rule></xhtml:p>
44
+ <xhtml:p id="sch-message-32-nl">Markup fout: (2) context attributen op abstracte &lt;rule></xhtml:p>
45
+ <xhtml:p id="sch-message-33-nl">Markup fout: context attribuut op abstracte &lt;rule></xhtml:p>
46
+ <xhtml:p id="sch-message-34-nl">Markup fout: er is geen 'select' attribute in &lt;value-of></xhtml:p>
47
+ <xhtml:p id="sch-message-35a-nl">Waarschuwing: </xhtml:p>
48
+ <xhtml:p id="sch-message-35b-nl"> mag geen kind elementen bevatten</xhtml:p>
49
+ <xhtml:p id="sch-message-36a-nl">Referentie fout: Een diagnostic "</xhtml:p>
50
+ <xhtml:p id="sch-message-36b-nl">" werd gerefereerd maar is niet gedeclareerd.</xhtml:p>
51
+ <xhtml:p id="sch-message-37a-nl">Het gebruik van de XSLT namespace met een prefix verschillend
52
+ van "xsl" in Schematron regels wordt niet ondersteund in deze processor:</xhtml:p>
53
+ <xhtml:p id="sch-message-37b-nl"/>
54
+ <xhtml:p id="sch-message-38a-nl">Fout: een niet herkend element in de ISO Schematron namespace: check spelling en hoofdlettergebruik</xhtml:p>
55
+ <xhtml:p id="sch-message-38b-nl"/>
56
+ <xhtml:p id="sch-message-39a-nl">Waarschuwing: een niet herkend element </xhtml:p>
57
+ <xhtml:p id="sch-message-39b-nl"/>
58
+ </xhtml:div>
@@ -0,0 +1,723 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
+ <HTML>
3
+ <HEAD>
4
+ <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
5
+ <TITLE>The ISO Schematron Skeleton API</TITLE>
6
+ <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.4 (Win32)">
7
+ <META NAME="CREATED" CONTENT="0;0">
8
+ <META NAME="CHANGED" CONTENT="20080808;2200065">
9
+ </HEAD>
10
+ <BODY LANG="en-AU" DIR="LTR">
11
+ <H1>API for ISO Schematron Skeleton</H1>
12
+ <H2><BR><BR>
13
+ </H2>
14
+ <P>Rick Jelliffe, 2010/04/14</P>
15
+ <P>This document provides documentation on the XSLT API available in
16
+ the implementation of Schematron called <TT>iso_schematron_skeleton.xsl</TT>.
17
+ (available in an XSLT1 and XSLT2 version). The API makes available as
18
+ much information from the schema, however there may be some edge
19
+ cases where it is not exhaustive.
20
+ </P>
21
+ <P>The <I>skeleton</I> is an XSLT script which provides all the basic
22
+ parsing and validating routines for compiling a Schematron schema
23
+ into XSLT. Schematron was designed to allow many different uses, and
24
+ the skeleton gives you a headstart in creating a customized
25
+ implementation. You just need to write XSLT templates to override the
26
+ default ones. (The program you write is sometimes called a
27
+ <I>meta-stylesheet</I>.) It is the meta-stylesheet that is called
28
+ as the XSLT script, not the skeleton. There are several
29
+ pre-processing stages which the Schematron schema should be processed
30
+ through first, to handle such things as include statements and
31
+ abstract patterns.
32
+ </P>
33
+ <P>Phases and error reporting for problems in the schema itself are
34
+ handled by the skeleton with no interaction with a &ldquo;meta-stylesheet&rdquo;.
35
+ Note that there is no guarantee that the context node is always the
36
+ element being handled: in most cases the only information available
37
+ is the information in the parameters.
38
+ </P>
39
+ <P>For an introductory tutorial on using this API, see Bob DuCharme's
40
+ <A HREF="http://www.xml.com/pub/a/2004/10/05/tr.html">Schematron 1.5:
41
+ Looking Under the Hood</A>
42
+ </P>
43
+ <H1>Superset of API for Schematron 1.5 and 1.6</H1>
44
+ <P>(This is an updated version of the API for the Schematron 1.5
45
+ implementation called <TT>skeleton1-5.xsl</TT>, which in turn comes
46
+ from the <I>new architecture</I> contributed by Oliver Becker for
47
+ Schematron 1.3.)</P>
48
+ <P>The current API contains only additions. Well-written
49
+ meta-stylesheets that use the new API will be be able to run on the
50
+ existing 1.5 and 1.6 skeletons. Similarly, it should be possible to
51
+ upgrade the skeleton from 1.5 or 1.6 to the iso-schematron-skeleton
52
+ only by correcting the import statement at the beginning of the
53
+ meta-stylsheet. Additions or re-groupings from the 1.5 schema are
54
+ shown in red. Deletions have overstrike.</P>
55
+ <P>Mooted addition: a parameter @action which for specifying
56
+ processing instructions on assertions and reports.</P>
57
+ <HR>
58
+ <H2><TT>process-prolog</TT></H2>
59
+ <P>The <TT>process-prolog</TT> template gets called at the start of
60
+ the validation session. It has no parameters. The default
61
+ implementation is no action.</P>
62
+ <HR>
63
+ <H2><TT>process-root</TT></H2>
64
+ <P>The <TT>process-root</TT> template processes the root element of
65
+ the schema (which is not the same thing as the root of the document /
66
+ and need not be the document element /*) .</P>
67
+ <DL>
68
+ <DT><TT><I>node-list</I></TT><TT> $contents</TT>
69
+ </DT><DT>
70
+ <TT><I>string</I></TT><TT> $schemaVersion</TT>
71
+ </DT><DD>
72
+ The version of the schema, perhaps a datestamp.
73
+ </DD><DT>
74
+ <TT><FONT COLOR="#ff0000"><I>&quot;xslt&quot; | &quot;xpath&quot; |
75
+ &quot;xslt2&quot; | ...</I></FONT></TT><TT><FONT COLOR="#ff0000">
76
+ $queryBinding</FONT></TT><FONT COLOR="#ff0000"> </FONT>
77
+ </DT><DD>
78
+ <FONT COLOR="#ff0000">The query language binding. </FONT>
79
+ </DD><DT>
80
+ <TT><I>string</I></TT><TT> $title</TT>
81
+ </DT><DD>
82
+ The title of this schema
83
+ </DD><DT>
84
+ <TT><FONT COLOR="#ff0000"><I>&quot;iso&quot; | &quot;1.5&quot; |
85
+ &quot;1.6&quot; | ...</I></FONT></TT><TT><FONT COLOR="#ff0000">
86
+ $version</FONT></TT><FONT COLOR="#ff0000"> </FONT>
87
+ </DT><DD STYLE="margin-bottom: 0.5cm">
88
+ <FONT COLOR="#ff0000">The version of Schematron being used. </FONT>
89
+ </DD></DL>
90
+ <P>
91
+ Rich properties:</P>
92
+ <DL>
93
+ <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT COLOR="#ff0000">
94
+ $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
95
+ </DT><DD>
96
+ <FONT COLOR="#ff0000">The URI of an icon </FONT>
97
+ </DD><DT>
98
+ <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT COLOR="#ff0000">
99
+ $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
100
+ </DT><DD>
101
+ <FONT COLOR="#ff0000">The unique identifier with the schema for the
102
+ </FONT><TT><FONT COLOR="#ff0000">schema</FONT></TT><FONT COLOR="#ff0000">
103
+ element. </FONT>
104
+ </DD><DT>
105
+ <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT COLOR="#ff0000">
106
+ $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
107
+ </DT><DD>
108
+ <FONT COLOR="#ff0000">The Formal Public Identifier for this schema. </FONT>
109
+ </DD><DT>
110
+ <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT COLOR="#ff0000">
111
+ $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
112
+ </DT><DD>
113
+ <FONT COLOR="#ff0000">The human language used in this schema, from
114
+ xml:lang </FONT>
115
+ </DD><DT>
116
+ <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT COLOR="#ff0000">
117
+ $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
118
+ </DT><DD>
119
+ <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
120
+ </DD><DT>
121
+ <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | &quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
122
+ $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
123
+ </DT><DD STYLE="margin-bottom: 0.5cm">
124
+ <FONT COLOR="#ff0000">The value for xml:space </FONT>
125
+ </DD></DL>
126
+ <P>
127
+ To print the documentation paragraphs, use <TT>&lt;xsl:apply-templates
128
+ mode=&quot;do-schema-p&quot; /&gt;</TT></P>
129
+ <P>To output the results, use <TT>&lt;xsl:copy-of select=&quot;$contents&quot;
130
+ /&gt;</TT></P>
131
+ <HR>
132
+ <H2><TT>process-assert</TT></H2>
133
+ <P>The <TT>process-assert</TT> template handles asserts whose test
134
+ has failed.
135
+ </P>
136
+ <DL>
137
+ <DT><TT><I>XPath</I></TT><TT> $test</TT>
138
+ </DT><DD>
139
+ The test
140
+ </DD><DT>
141
+ <TT><I>XML IDREFS</I></TT><TT> $diagnostics</TT>
142
+ </DT><DD>
143
+ A list of the idrefs diagnostic elements related to the current
144
+ assertion
145
+ </DD><DT>
146
+ <TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT COLOR="#ff0000">
147
+ $flag</FONT></TT><FONT COLOR="#ff0000"> </FONT>
148
+ </DT><DD STYLE="margin-bottom: 0.5cm">
149
+ <FONT COLOR="#ff0000">The name of a flag that becomes true because
150
+ this assertion fails. The flag is true for the document if it is
151
+ flagged true on any assertion. For compatability, this parameter
152
+ should not be used with Schematron 1.5.</FONT>
153
+ </DD></DL>
154
+ <P>
155
+ Rich properties:</P>
156
+ <DL>
157
+ <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT COLOR="#ff0000">
158
+ $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
159
+ </DT><DD>
160
+ <FONT COLOR="#ff0000">The URI of an icon </FONT>
161
+ </DD><DT>
162
+ <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT COLOR="#ff0000">
163
+ $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
164
+ </DT><DD>
165
+ <FONT COLOR="#ff0000">The unique identifier with the schema for the
166
+ </FONT><TT><FONT COLOR="#ff0000">assert</FONT></TT><FONT COLOR="#ff0000">
167
+ element. </FONT>
168
+ </DD><DT>
169
+ <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT COLOR="#ff0000">
170
+ $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
171
+ </DT><DD>
172
+ <FONT COLOR="#ff0000">The Formal Public Identifier for this
173
+ assertion. </FONT>
174
+ </DD><DT>
175
+ <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT COLOR="#ff0000">
176
+ $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
177
+ </DT><DD>
178
+ <FONT COLOR="#ff0000">The human language used in this assertion,
179
+ from xml:lang </FONT>
180
+ </DD><DT>
181
+ <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT COLOR="#ff0000">
182
+ $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
183
+ </DT><DD>
184
+ <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
185
+ </DD><DT>
186
+ <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | &quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
187
+ $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
188
+ </DT><DD STYLE="margin-bottom: 0.5cm">
189
+ <FONT COLOR="#ff0000">The value for xml:space </FONT>
190
+ </DD></DL>
191
+ <P>
192
+ Linking properties:</P>
193
+ <DL>
194
+ <DT><TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT COLOR="#ff0000">
195
+ $role</FONT></TT><FONT COLOR="#ff0000"> </FONT>
196
+ </DT><DD>
197
+ <FONT COLOR="#ff0000">A name for the generic role of this assertion.
198
+ The schema creator would have their own vocabulary. </FONT>
199
+ </DD><DT>
200
+ <TT><FONT COLOR="#ff0000"><I>XPath</I></FONT></TT><TT><FONT COLOR="#ff0000">
201
+ $subject</FONT></TT><FONT COLOR="#ff0000"> </FONT>
202
+ </DT><DD STYLE="margin-bottom: 0.5cm">
203
+ <FONT COLOR="#ff0000">A path relative to the current context to some
204
+ interesting node considered the subject. </FONT>
205
+ </DD></DL>
206
+ <P>
207
+ To print the text contents, use <TT>&lt;xsl:apply-templates
208
+ mode=&quot;text&quot; /&gt;</TT></P>
209
+ <HR>
210
+ <H2><TT>process-diagnostic</TT></H2>
211
+ <P>The <TT>process-diagnostic</TT> template handles diagnostic
212
+ messages for <TT>assert</TT> statements that have failed and <TT>report</TT>
213
+ statements that have succeeded. The diagnostics are evaluated in the
214
+ context of the rule.</P>
215
+ <P>Rich properties:</P>
216
+ <DL>
217
+ <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT COLOR="#ff0000">
218
+ $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
219
+ </DT><DD>
220
+ <FONT COLOR="#ff0000">The URI of an icon </FONT>
221
+ </DD><DT>
222
+ <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT COLOR="#ff0000">
223
+ $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
224
+ </DT><DD>
225
+ <FONT COLOR="#ff0000">The unique identifier with the schema for the
226
+ </FONT><TT><FONT COLOR="#ff0000">assert</FONT></TT><FONT COLOR="#ff0000">
227
+ element. </FONT>
228
+ </DD><DT>
229
+ <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT COLOR="#ff0000">
230
+ $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
231
+ </DT><DD>
232
+ <FONT COLOR="#ff0000">The Formal Public Identifier for this
233
+ assertion. </FONT>
234
+ </DD><DT>
235
+ <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT COLOR="#ff0000">
236
+ $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
237
+ </DT><DD>
238
+ <FONT COLOR="#ff0000">The human language used in this assertion,
239
+ from xml:lang </FONT>
240
+ </DD><DT>
241
+ <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT COLOR="#ff0000">
242
+ $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
243
+ </DT><DD>
244
+ <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
245
+ </DD><DT>
246
+ <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | &quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
247
+ $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
248
+ </DT><DD STYLE="margin-bottom: 0.5cm">
249
+ <FONT COLOR="#ff0000">The value for xml:space </FONT>
250
+ </DD><HR>
251
+ </DL>
252
+ <H2><TT>process-dir</TT></H2>
253
+ <P>The <TT>process-dir</TT> template handles bi-directionality
254
+ markup, which is only needed by certain human scripts such as Arabic.</P>
255
+ <DL>
256
+ <DT><TT><I>&quot;ltr&quot; or &quot;rtl&quot; or &quot;&quot;</I></TT><TT>
257
+ $value</TT>
258
+ </DT><DD STYLE="margin-bottom: 0.5cm">
259
+ Left-to-right or right-to-left or unspecified
260
+ </DD><HR>
261
+ </DL>
262
+ <H2><TT>process-emph</TT></H2>
263
+ <P>The <TT>process-emph</TT> template handles the markup of
264
+ emphasized text in paragraphs, assertions and diagnostics. It has no
265
+ parameters.</P>
266
+ <HR>
267
+ <H2><TT>process-message</TT></H2>
268
+ <P>The <TT>process-message</TT> handles default outputing of text.</P>
269
+ <DL>
270
+ <DT><TT><I>string</I></TT><TT> $pattern</TT>
271
+ </DT><DD>
272
+ Some text that may be some kind of pattern
273
+ </DD><DT>
274
+ <TT><I>string</I></TT><TT> $role</TT>
275
+ </DT><DD STYLE="margin-bottom: 0.5cm">
276
+ Some text that may be some kind of role
277
+ </DD><HR>
278
+ </DL>
279
+ <H2><TT>process-name</TT></H2>
280
+ <P>The <TT>process-name</TT> templates handle name strings that can
281
+ be used in assertions. <TT>asssert</TT> and <TT>report</TT> only
282
+ provide <TT>name</TT> subelements rather than the more general
283
+ <TT>value-of</TT> elements to encourage plain language and generic
284
+ descriptions rather than specific diagnostics, for which purpose the
285
+ <TT>diagnostics</TT> elements are used.</P>
286
+ <DL>
287
+ <DT><TT><I>string</I></TT><TT> $name</TT>
288
+ </DT><DD STYLE="margin-bottom: 0.5cm">
289
+ The name of the current element, or of the node specified by a <TT>name</TT>
290
+ element
291
+ </DD><HR>
292
+ </DL>
293
+ <H2><TT>process-ns</TT></H2>
294
+ <P>The <TT>process-ns</TT> template reports on <TT>ns</TT>
295
+ declarations, which are used to transmit on namespace information by
296
+ the skeleton.</P>
297
+ <DL>
298
+ <DT><TT><I>Namespace NCName</I></TT><TT> $prefix</TT>
299
+ </DT><DD>
300
+ The prefix of a namespace
301
+ </DD><DT>
302
+ <TT><I>XML SystemId</I></TT><TT> $uri</TT>
303
+ </DT><DD STYLE="margin-bottom: 0.5cm">
304
+ The (internationalized) URI Reference of a namespace
305
+ </DD><HR>
306
+ </DL>
307
+ <H2><TT>process-p</TT></H2>
308
+ <P>The <TT>process-p</TT> template handles paragraphs.</P>
309
+ <DL>
310
+ <DT><TT><I>XML NMTOKEN</I></TT><TT> $class</TT>
311
+ </DT><DD>
312
+ An attribute that can be used for stylesheet style
313
+ </DD><DT>
314
+ <TT><I>XML ID</I></TT><TT> $id</TT>
315
+ </DT><DD>
316
+ The unique identifier with the schema for the <TT>p</TT> element.
317
+ </DD><DT>
318
+ <TT><I>XML SystemId</I></TT><TT> $icon</TT>
319
+ </DT><DD>
320
+ The URI of an icon
321
+ </DD><DT>
322
+ <TT><I>IETF Language</I></TT><TT> $lang</TT>
323
+ </DT><DD STYLE="margin-bottom: 0.5cm">
324
+ The human language used in this paragraph
325
+ </DD></DL>
326
+ <P>
327
+ To print the text contents, use <TT>&lt;xsl:apply-templates
328
+ mode=&quot;text&quot; /&gt;</TT>
329
+ </P>
330
+ <HR>
331
+ <H2><TT>process-pattern</TT></H2>
332
+ <P>The <TT>process-pattern</TT> reports on the start of evaluation of
333
+ a <TT>pattern</TT> element.</P>
334
+ <DL>
335
+ <DT><TT><I>string</I></TT><TT> $name</TT>
336
+ </DT><DD>
337
+ The title of the current pattern
338
+ </DD><DT>
339
+ <TT><I>XML NCNAMES</I></TT><TT> $is-a</TT>
340
+ </DT><DD STYLE="margin-bottom: 0.5cm">
341
+ Empty or not provided if the pattern is not derived from an abstract
342
+ pattern. Otherwise the name of the abstract pattern. A list may be
343
+ used if there was a sequence of abstract patterns.
344
+ </DD></DL>
345
+ <P>
346
+ Rich properties:</P>
347
+ <DL>
348
+ <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT COLOR="#ff0000">
349
+ $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
350
+ </DT><DD>
351
+ <FONT COLOR="#ff0000">The URI of an icon </FONT>
352
+ </DD><DT>
353
+ <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT COLOR="#ff0000">
354
+ $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
355
+ </DT><DD>
356
+ <FONT COLOR="#ff0000">The unique identifier with the schema for the
357
+ </FONT><TT><FONT COLOR="#ff0000">pattern</FONT></TT><FONT COLOR="#ff0000">
358
+ element. </FONT>
359
+ </DD><DT>
360
+ <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT COLOR="#ff0000">
361
+ $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
362
+ </DT><DD>
363
+ <FONT COLOR="#ff0000">The Formal Public Identifier for this pattern.
364
+ </FONT>
365
+ </DD><DT>
366
+ <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT COLOR="#ff0000">
367
+ $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
368
+ </DT><DD>
369
+ <FONT COLOR="#ff0000">The human language used in this pattern, from
370
+ xml:lang </FONT>
371
+ </DD><DT>
372
+ <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT COLOR="#ff0000">
373
+ $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
374
+ </DT><DD>
375
+ <FONT COLOR="#ff0000">A (internationalized) URI reference to some
376
+ supporting or defining documentation </FONT>
377
+ </DD><DT>
378
+ <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | &quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
379
+ $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
380
+ </DT><DD STYLE="margin-bottom: 0.5cm">
381
+ <FONT COLOR="#ff0000">The value for xml:space </FONT>
382
+ </DD></DL>
383
+ <P>
384
+ To print the documentation contents, use <TT>&lt;xsl:apply-templates
385
+ mode=&quot;do-pattern-p&quot;/&gt;</TT></P>
386
+ <HR>
387
+ <H2><TT>process-report</TT></H2>
388
+ <P>The <TT>process-report</TT> template handles <TT>report</TT> whose
389
+ test has succeeded.
390
+ </P>
391
+ <DL>
392
+ <DT><TT><I>XPath</I></TT><TT> $test</TT>
393
+ </DT><DD>
394
+ The test
395
+ </DD><DT>
396
+ <TT><I>XML IDREFS</I></TT><TT> $diagnostics</TT>
397
+ </DT><DD>
398
+ A list of the diagnostic elements related to the current assertion
399
+ </DD><DT>
400
+ <TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT COLOR="#ff0000">
401
+ $flag</FONT></TT><FONT COLOR="#ff0000"> </FONT>
402
+ </DT><DD STYLE="margin-bottom: 0.5cm">
403
+ <FONT COLOR="#ff0000">The name of a flag that becomes true because
404
+ this assertion fails. The flag is true for the document if it is
405
+ flagged true on any assertion. For compatability, this parameter
406
+ should not be used with Schematron 1.5.</FONT>
407
+ </DD></DL>
408
+ <P>
409
+ Rich properties:</P>
410
+ <DL>
411
+ <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT COLOR="#ff0000">
412
+ $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
413
+ </DT><DD>
414
+ <FONT COLOR="#ff0000">The URI of an icon </FONT>
415
+ </DD><DT>
416
+ <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT COLOR="#ff0000">
417
+ $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
418
+ </DT><DD>
419
+ <FONT COLOR="#ff0000">The unique identifier with the schema for the
420
+ </FONT><TT><FONT COLOR="#ff0000">report</FONT></TT><FONT COLOR="#ff0000">
421
+ element. </FONT>
422
+ </DD><DT>
423
+ <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT COLOR="#ff0000">
424
+ $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
425
+ </DT><DD>
426
+ <FONT COLOR="#ff0000">The Formal Public Identifier for this report. </FONT>
427
+ </DD><DT>
428
+ <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT COLOR="#ff0000">
429
+ $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
430
+ </DT><DD>
431
+ <FONT COLOR="#ff0000">The human language used in this report, from
432
+ xml:lang </FONT>
433
+ </DD><DT>
434
+ <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT COLOR="#ff0000">
435
+ $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
436
+ </DT><DD>
437
+ <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
438
+ </DD><DT>
439
+ <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | &quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
440
+ $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
441
+ </DT><DD STYLE="margin-bottom: 0.5cm">
442
+ <FONT COLOR="#ff0000">The value for xml:space </FONT>
443
+ </DD></DL>
444
+ <P>
445
+ Linking properties:</P>
446
+ <DL>
447
+ <DT><TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT COLOR="#ff0000">
448
+ $role</FONT></TT><FONT COLOR="#ff0000"> </FONT>
449
+ </DT><DD>
450
+ <FONT COLOR="#ff0000">A name for the generic role of this assertion.
451
+ The schema creator would have their own vocabulary. </FONT>
452
+ </DD><DT>
453
+ <TT><FONT COLOR="#ff0000"><I>XPath</I></FONT></TT><TT><FONT COLOR="#ff0000">
454
+ $subject</FONT></TT><FONT COLOR="#ff0000"> </FONT>
455
+ </DT><DD STYLE="margin-bottom: 0.5cm">
456
+ <FONT COLOR="#ff0000">A path relative to the current context to some
457
+ interesting node considered the subject. </FONT>
458
+ </DD></DL>
459
+ <P>
460
+ To print the text contents, use <TT>&lt;xsl:apply-templates
461
+ mode=&quot;text&quot; /&gt;</TT></P>
462
+ <HR>
463
+ <H2><TT>process-rule</TT></H2>
464
+ <P>The <TT>process-rule</TT> reports that a <TT>rule</TT> element has
465
+ fired: its <TT>context</TT> attribute matched some nodes. .</P>
466
+ <DL>
467
+ <DT><TT><I>XSLT expression</I></TT><TT> $context</TT>
468
+ </DT><DD STYLE="margin-bottom: 0.5cm">
469
+ The expression that gives the context of the current
470
+ </DD></DL>
471
+ <P>
472
+ Rich properties:</P>
473
+ <DL>
474
+ <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT COLOR="#ff0000">
475
+ $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
476
+ </DT><DD>
477
+ <FONT COLOR="#ff0000">The URI of an icon </FONT>
478
+ </DD><DT>
479
+ <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT COLOR="#ff0000">
480
+ $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
481
+ </DT><DD>
482
+ <FONT COLOR="#ff0000">The unique identifier with the schema for this
483
+ </FONT><TT><FONT COLOR="#ff0000">rule</FONT></TT><FONT COLOR="#ff0000">
484
+ element. </FONT>
485
+ </DD><DT>
486
+ <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT COLOR="#ff0000">
487
+ $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
488
+ </DT><DD>
489
+ <FONT COLOR="#ff0000">The Formal Public Identifier for this rule. </FONT>
490
+ </DD><DT>
491
+ <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT COLOR="#ff0000">
492
+ $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
493
+ </DT><DD>
494
+ <FONT COLOR="#ff0000">The human language used in this rule, from
495
+ xml:lang </FONT>
496
+ </DD><DT>
497
+ <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT COLOR="#ff0000">
498
+ $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
499
+ </DT><DD>
500
+ <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
501
+ </DD><DT>
502
+ <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | &quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
503
+ $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
504
+ </DT><DD STYLE="margin-bottom: 0.5cm">
505
+ <FONT COLOR="#ff0000">The value for xml:space </FONT>
506
+ </DD></DL>
507
+ <P>
508
+ Linking properties:</P>
509
+ <DL>
510
+ <DT><TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT COLOR="#ff0000">
511
+ $role</FONT></TT><FONT COLOR="#ff0000"> </FONT>
512
+ </DT><DD>
513
+ <FONT COLOR="#ff0000">A name for the generic role of this assertion.
514
+ The schema creator would have their own vocabulary. </FONT>
515
+ </DD><DT>
516
+ <TT><FONT COLOR="#ff0000"><I>XPath</I></FONT></TT><TT><FONT COLOR="#ff0000">
517
+ $subject</FONT></TT><FONT COLOR="#ff0000"> </FONT>
518
+ </DT><DD STYLE="margin-bottom: 0.5cm">
519
+ <FONT COLOR="#ff0000">A path relative to the current context to some
520
+ interesting node considered the subject. </FONT>
521
+ </DD><HR>
522
+ </DL>
523
+ <H2><TT>process-span</TT></H2>
524
+ <P>The <TT>process-span</TT> handles span elements, which are generic
525
+ elements for styling, like HTML's .</P>
526
+ <DL>
527
+ <DT><TT><I>XML NMTOKEN</I></TT><TT> $class</TT>
528
+ </DT><DD STYLE="margin-bottom: 0.5cm">
529
+ An attribute that can be used for stylesheet style
530
+ </DD><HR>
531
+ </DL>
532
+ <H2><TT>process-title</TT></H2>
533
+ <P>The <TT>process-title</TT> handles title elements, which are
534
+ generic elements for styling, like HTML's .</P>
535
+ <DL>
536
+ <DT><TT><I>XML NMTOKEN</I></TT><TT> $class</TT>
537
+ </DT><DD STYLE="margin-bottom: 0.5cm">
538
+ An attribute that can be used for stylesheet style
539
+ </DD></DL>
540
+ <P>
541
+ By default, titles are handled by invocing <TT>process-p</TT> with
542
+ the parameter class with a value &quot;title&quot;.</P>
543
+ <HR>
544
+ <H2><TT>process-value-of</TT></H2>
545
+ <P>The <TT>process-value-of</TT> template handles <TT>value-of</TT>
546
+ elements, which are used in diagnostic messages to allow very
547
+ specific hinting .</P>
548
+ <DL>
549
+ <DT><TT><I>XPath</I></TT><TT> $select</TT>
550
+ </DT><DD STYLE="margin-bottom: 0.5cm">
551
+ The path of some node that will be evaluated and printed.</DD><HR>
552
+ </DL>
553
+ <H1>Global Parameters</H1>
554
+ <P>There are several global parameters that may be available for use.
555
+ However, it is not a requirement to follow these, and implementations
556
+ may not supply them with any value. So a test of
557
+ string-length(<I>variable</I><SPAN STYLE="font-style: normal">) &lt;
558
+ 0 is appropriate in each case.</SPAN></P>
559
+ <P><BR><BR>
560
+ </P>
561
+ <TABLE WIDTH=557 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=1 CELLSPACING=0>
562
+ <COL WIDTH=132>
563
+ <COL WIDTH=77>
564
+ <COL WIDTH=340>
565
+ <TR>
566
+ <TD WIDTH=132>
567
+ <P ALIGN=CENTER><FONT SIZE=2><B>Parameter</B></FONT></P>
568
+ </TD>
569
+ <TD WIDTH=77>
570
+ <P ALIGN=CENTER><FONT SIZE=2><B>Value</B></FONT></P>
571
+ </TD>
572
+ <TD WIDTH=340>
573
+ <P ALIGN=CENTER><FONT SIZE=2><B>Description</B></FONT></P>
574
+ </TD>
575
+ </TR>
576
+ <TR>
577
+ <TD WIDTH=132>
578
+ <P><FONT SIZE=2>allow-foreign</FONT></P>
579
+ </TD>
580
+ <TD WIDTH=77>
581
+ <P><FONT SIZE=2>&quot;true&quot; | &quot;false&quot; (default) </FONT>
582
+ </P>
583
+ </TD>
584
+ <TD WIDTH=340>
585
+ <P><FONT SIZE=2>Pass non-Schematron elements to the generated
586
+ stylesheet. Pass the Schematron elements span, emph and dir: to
587
+ the output SVRL. </FONT>
588
+ </P>
589
+ </TD>
590
+ </TR>
591
+ <TR>
592
+ <TD WIDTH=132>
593
+ <P><FONT SIZE=2>fileNameParameter</FONT></P>
594
+ </TD>
595
+ <TD WIDTH=77>
596
+ <P><FONT SIZE=2>string</FONT></P>
597
+ </TD>
598
+ <TD WIDTH=340>
599
+ <P><FONT SIZE=2>A parameter passed to the Validator and
600
+ potentially available as a variable in Schematron schemas as
601
+ $fileNameParameter</FONT></P>
602
+ </TD>
603
+ </TR>
604
+ <TR>
605
+ <TD WIDTH=132>
606
+ <P><FONT SIZE=2>fileDirParameter</FONT></P>
607
+ </TD>
608
+ <TD WIDTH=77>
609
+ <P><FONT SIZE=2>string</FONT></P>
610
+ </TD>
611
+ <TD WIDTH=340>
612
+ <P><FONT SIZE=2>A parameter passed to the Validator and
613
+ potentially available as a variable in Schematron schemas as
614
+ $fileDirParameter</FONT></P>
615
+ </TD>
616
+ </TR>
617
+ <TR>
618
+ <TD WIDTH=132>
619
+ <P><FONT SIZE=2>archiveNamePaameter</FONT></P>
620
+ </TD>
621
+ <TD WIDTH=77>
622
+ <P><FONT SIZE=2>string</FONT></P>
623
+ </TD>
624
+ <TD WIDTH=340>
625
+ <P><FONT SIZE=2>A parameter passed to the Validator and
626
+ potentially available as a variable in Schematron schemas as
627
+ $archiveNameParameter</FONT></P>
628
+ </TD>
629
+ </TR>
630
+ <TR>
631
+ <TD WIDTH=132>
632
+ <P><FONT SIZE=2>archiveDirParameter</FONT></P>
633
+ </TD>
634
+ <TD WIDTH=77>
635
+ <P><FONT SIZE=2>string</FONT></P>
636
+ </TD>
637
+ <TD WIDTH=340>
638
+ <P><FONT SIZE=2>A parameter passed to the Validator and
639
+ potentially available as a variable in Schematron schemas as
640
+ $archivePathParameter</FONT></P>
641
+ </TD>
642
+ </TR>
643
+ <TR>
644
+ <TD WIDTH=132>
645
+ <P><FONT SIZE=2>debug </FONT>
646
+ </P>
647
+ </TD>
648
+ <TD WIDTH=77>
649
+ <P>&ldquo;<FONT SIZE=2>true&rdquo; | &ldquo;false&rdquo; (default)</FONT></P>
650
+ </TD>
651
+ <TD WIDTH=340>
652
+ <P><FONT SIZE=2>Verbose error messages (Note this may be
653
+ superceded by &ldquo;verbose&rdquo; at some stage in the future.)</FONT></P>
654
+ </TD>
655
+ </TR>
656
+ <TR>
657
+ <TD WIDTH=132>
658
+ <P><FONT SIZE=2>generate-paths</FONT></P>
659
+ </TD>
660
+ <TD WIDTH=77>
661
+ <P><FONT SIZE=2>true|false </FONT>
662
+ </P>
663
+ </TD>
664
+ <TD WIDTH=340>
665
+ <P><FONT SIZE=2>generate the SVRL @location attribute with XPaths</FONT></P>
666
+ </TD>
667
+ </TR>
668
+ <TR>
669
+ <TD WIDTH=132>
670
+ <P><FONT SIZE=2>diagnose</FONT></P>
671
+ </TD>
672
+ <TD WIDTH=77>
673
+ <P><FONT SIZE=2>yes | no </FONT>
674
+ </P>
675
+ </TD>
676
+ <TD WIDTH=340>
677
+ <P><FONT SIZE=2>Add the diagnostics to the assertion results</FONT></P>
678
+ </TD>
679
+ </TR>
680
+ <TR>
681
+ <TD WIDTH=132>
682
+ <P><A NAME="DDE_LINK"></A><FONT SIZE=2>terminate</FONT></P>
683
+ </TD>
684
+ <TD WIDTH=77>
685
+ <P><FONT SIZE=2>yes | no | true | false | assert</FONT>
686
+ </P>
687
+ </TD>
688
+ <TD WIDTH=340>
689
+ <P><FONT SIZE=2>Terminate on the first failed assertion or
690
+ successful report</FONT></P>
691
+ </TD>
692
+ </TR>
693
+ <TR>
694
+ <TD WIDTH=132>
695
+ <P><FONT SIZE=2>message-newline </FONT>
696
+ </P>
697
+ </TD>
698
+ <TD WIDTH=77>
699
+ <P><FONT SIZE=2>&quot;true&quot; (default) | &quot;false&quot; </FONT>
700
+ </P>
701
+ </TD>
702
+ <TD WIDTH=340>
703
+ <P><FONT SIZE=2>Generate an extra newline at the end of messages</FONT></P>
704
+ </TD>
705
+ </TR>
706
+ <TR>
707
+ <TD WIDTH=132>
708
+ <P><FONT SIZE=2>output-encoding</FONT></P>
709
+ </TD>
710
+ <TD WIDTH=77>
711
+ <P><FONT SIZE=2>string</FONT></P>
712
+ </TD>
713
+ <TD WIDTH=340>
714
+ <P><FONT SIZE=2>The encoding used for output, for example if the
715
+ output is XML</FONT></P>
716
+ </TD>
717
+ </TR>
718
+ </TABLE>
719
+ <DL>
720
+ <DD STYLE="margin-bottom: 0.5cm">
721
+ </DD></DL>
722
+ </BODY>
723
+ </HTML>