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.
- data/LICENSE.txt +21 -0
- data/README +3 -0
- data/bin/stron +27 -0
- data/iso_impl/iso_abstract_expand.xsl +295 -0
- data/iso_impl/iso_dsdl_include.xsl +989 -0
- data/iso_impl/iso_schematron_skeleton_for_saxon.xsl +1884 -0
- data/iso_impl/iso_schematron_skeleton_for_xslt1.xsl +1749 -0
- data/iso_impl/iso_schematron_text.xsl +126 -0
- data/iso_impl/iso_svrl.xsl +583 -0
- data/lib/schematron.rb +67 -0
- data/schematron.gemspec +30 -6
- data/spec/command_spec.rb +22 -0
- data/spec/feature_requests_spec.rb +5 -0
- data/spec/instances/daitss-sip/Example1.xml +37 -0
- data/spec/instances/daitss-sip/Example2.xml +68 -0
- data/spec/instances/premis-in-mets/bad.xml +102 -0
- data/spec/instances/premis-in-mets/good.xml +103 -0
- data/spec/schema/fda_sip.sch +72 -0
- data/spec/schema/pim.sch +27 -0
- data/spec/schema_spec.rb +43 -0
- data/spec/spec_helper.rb +1 -0
- metadata +51 -10
- data/bin/validate +0 -57
- data/bin/validate-sh +0 -9
@@ -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(' ')"/>
|
123
|
+
</xsl:if>
|
124
|
+
</xsl:template>
|
125
|
+
</xsl:stylesheet>
|
126
|
+
|