flazz-schematron 0.0.0 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,126 @@
1
+ <?xml version="1.0" ?>
2
+ <!--
3
+ Schematron Text-only Report - iso_schematron_text.xsl
4
+
5
+ Implementation of Schematron validation that reports in text only, optionally with paths in
6
+ a prefix form.
7
+
8
+ This ISO Standard is available free as a Publicly Available Specification in PDF from ISO.
9
+ Also see www.schematron.com for drafts and other information.
10
+
11
+ This implementation of text is designed to run with the "Skeleton" implementation
12
+ of Schematron which Oliver Becker devised. The skeleton code provides a
13
+ Schematron implementation but with named templates for handling all output;
14
+ the skeleton provides basic templates for output using this API, but client
15
+ validators can be written to import the skeleton and override the default output
16
+ templates as required. (In order to understand this, you must understand that
17
+ a named template such as "process-assert" in this XSLT stylesheet overrides and
18
+ replaces any template with the same name in the imported skeleton XSLT file.)
19
+
20
+ History:
21
+ 2007-02-09:
22
+ * GKH Repair documentation regarding termination
23
+ * GKH Take advantage of new stylesheetbody mode to set the output
24
+ method to be text
25
+ 2007-02-08:
26
+ * RJ Add optimize parameter and update to use get-schematron-full-path-2
27
+ * RJ Add command-line parameter to select between the two path types
28
+ * RJ Validate against RNC schemas for XSLT 1 and 2 (with regex tests removed)
29
+ 2007-02-07:
30
+ * GKH created from iso-schematron_terminator.xsl
31
+ 2007-01-19:
32
+ * RJ Created from iso_svrl.xslt base
33
+
34
+ -->
35
+ <!--
36
+ Copyright (c) 2007 Rick Jelliffe
37
+
38
+ This software is provided 'as-is', without any express or implied warranty.
39
+ In no event will the authors be held liable for any damages arising from
40
+ the use of this software.
41
+
42
+ Permission is granted to anyone to use this software for any purpose,
43
+ including commercial applications, and to alter it and redistribute it freely,
44
+ subject to the following restrictions:
45
+
46
+ 1. The origin of this software must not be misrepresented; you must not claim
47
+ that you wrote the original software. If you use this software in a product,
48
+ an acknowledgment in the product documentation would be appreciated but is
49
+ not required.
50
+
51
+ 2. Altered source versions must be plainly marked as such, and must not be
52
+ misrepresented as being the original software.
53
+
54
+ 3. This notice may not be removed or altered from any source distribution.
55
+ -->
56
+
57
+
58
+ <!-- The command-line parameters are:
59
+ phase NMTOKEN | "#ALL" (default) Select the phase for validation
60
+ diagnose=true|false Add the diagnostics to the assertion test in reports
61
+ generate-paths=true|false suffix messages with ":" and the Xpath
62
+ path-format=1|2 Which built-in path display method to use. 1 is for computers. 2 is for humans.
63
+ message-newline=true|false add an extra newline to the end of the message
64
+ sch.exslt.imports semi-colon delimited string of filenames for some EXSLT implementations
65
+ optimize "visit-no-attributes" Use only when the schema has no attributes as the context nodes
66
+
67
+ -->
68
+
69
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
70
+ xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias"
71
+ xmlns:sch="http://www.ascc.net/xml/schematron"
72
+ xmlns:iso="http://purl.oclc.org/dsdl/schematron">
73
+ <!-- Select the import statement and adjust the path as
74
+ necessary for your system.
75
+ -->
76
+ <xsl:import href="iso_schematron_skeleton.xsl"/>
77
+ <!--
78
+ <xsl:import href="skeleton1-5.xsl"/>
79
+ <xsl:import href="skeleton1-6.xsl"/> -->
80
+ <xsl:param name="diagnose">yes</xsl:param>
81
+ <xsl:param name="phase">
82
+ <xsl:choose>
83
+ <!-- Handle Schematron 1.5 and 1.6 phases -->
84
+ <xsl:when test="//sch:schema/@defaultPhase">
85
+ <xsl:value-of select="//sch:schema/@defaultPhase"/>
86
+ </xsl:when>
87
+ <!-- Handle ISO Schematron phases -->
88
+ <xsl:when test="//iso:schema/@defaultPhase">
89
+ <xsl:value-of select="//iso:schema/@defaultPhase"/>
90
+ </xsl:when>
91
+ <xsl:otherwise>#ALL</xsl:otherwise>
92
+ </xsl:choose>
93
+ </xsl:param>
94
+ <xsl:param name="generate-paths">true</xsl:param>
95
+ <xsl:param name="path-format">1</xsl:param>
96
+ <xsl:param name="message-newline">true</xsl:param>
97
+ <xsl:param name="optimize" />
98
+ <!-- e.g. saxon file.xml file.xsl "sch.exslt.imports=.../string.xsl;.../math.xsl" -->
99
+ <xsl:param name="sch.exslt.imports"/>
100
+
101
+ <xsl:template match="node()" mode="stylesheetbody">
102
+ <xsl:comment>Importing stylesheet additions</xsl:comment>
103
+ <axsl:output method="text"/>
104
+ <!--create the remainder of the stylesheet-->
105
+ <xsl:apply-imports/>
106
+ </xsl:template>
107
+
108
+ <!-- default output action: output all messages in simple text -->
109
+ <xsl:template name="process-message">
110
+ <xsl:apply-templates mode="text"/>
111
+ <xsl:choose>
112
+ <xsl:when test=" $generate-paths = 'true' and $path-format = '2' ">
113
+ <axsl:text>: </axsl:text>
114
+ <axsl:apply-templates select="." mode="schematron-get-full-path-2" />
115
+ </xsl:when>
116
+ <xsl:when test=" $generate-paths = 'true' ">
117
+ <axsl:text>: </axsl:text>
118
+ <axsl:apply-templates select="." mode="schematron-get-full-path" />
119
+ </xsl:when>
120
+ </xsl:choose>
121
+ <xsl:if test=" $message-newline = 'true'" >
122
+ <axsl:value-of select="string('&#10;')"/>
123
+ </xsl:if>
124
+ </xsl:template>
125
+ </xsl:stylesheet>
126
+