http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/iso_svrl_for_xslt2.xsl
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/iso_svrl_for_xslt2.xsl
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/iso_svrl_for_xslt2.xsl
new file mode 100644
index 0000000..2e8d8da
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/iso_svrl_for_xslt2.xsl
@@ -0,0 +1,684 @@
+<?xml version="1.0" ?>
+<!-- 
+   ISO_SVRL.xsl   
+
+   Implementation of Schematron Validation Report Language from ISO Schematron
+   ISO/IEC 19757 Document Schema Definition Languages (DSDL) 
+     Part 3: Rule-based validation  Schematron 
+     Annex D: Schematron Validation Report Language 
+
+  This ISO Standard is available free as a Publicly Available Specification in 
PDF from ISO.
+  Also see www.schematron.com for drafts and other information.
+
+  This implementation of SVRL is designed to run with the "Skeleton" 
implementation 
+  of Schematron which Oliver Becker devised. The skeleton code provides a 
+  Schematron implementation but with named templates for handling all output; 
+  the skeleton provides basic templates for output using this API, but client
+  validators can be written to import the skeleton and override the default 
output
+  templates as required. (In order to understand this, you must understand that
+  a named template such as "process-assert" in this XSLT stylesheet overrides 
and
+  replaces any template with the same name in the imported skeleton XSLT file.)
+
+  The other important thing to understand in this code is that there are 
different
+  versions of the Schematron skeleton. These track the development of 
Schematron through
+  Schematron 1.5, Schematron 1.6 and now ISO Schematron. One only skeleton 
must be
+  imported. The code has templates for the different skeletons commented out 
for 
+  convenience. ISO Schematron has a different namespace than Schematron 1.5 
and 1.6;
+  so the ISO Schematron skeleton has been written itself with an optional 
import
+  statement to in turn import the Schematron 1.6 skeleton. This will allow you 
to 
+  validate with schemas from either namespace.
+  
+
+  History: 
+    2010-04-14
+        * Add command line parameter 'terminate' which will terminate on first 
failed 
+        assert and (optionally) successful report. 
+    2009-03-18
+       * Fix atrribute with space "see " which generates wrong name in some 
processors
+       * rename allow-foreign to allow-rich
+  
+    2009-02-19
+       * RJ add experimental non-standard attribute active-pattern/@document 
which says which
+       document is being validated from that point to the next similar. This 
is to cope with the
+       experimental multi-document validation in the XSLT2 skeleton.
+    2008-08-19
+               * RJ Experimental: Handle property elements. NOTE: signature 
change for process-assert,
+               process-report and process-rule to add property.
+       2008-08-11
+               * RJ Fix attribute/@select which saxon allows  in XSLT 1
+   2008-08-07
+       * RJ Add output-encoding attribute to specify final encoding to use
+       * Alter allow-foreign functionality so that Schematron span, emph and 
dir elements make 
+         it to the output, for better formatting and because span can be used 
to mark up
+         semantically interesting information embedded in diagnostics, which 
reduces the
+         need to extend SVRL itself
+       * Diagnostic-reference had an invalid attribute @id that duplicated 
@diagnostic: removed
+       2008-08-06
+       * RJ Fix invalid output:  svrl:diagnostic-reference is not contained in 
an svrl:text
+       * Output comment to SVRL file giving filename if available (from 
command-line parameter)
+       2008-08-04
+               * RJ move sch: prefix to schold: prefix to prevent confusion 
(we want people to
+               be able to switch from old namespace to new namespace without 
changing the
+               sch: prefix, so it is better to keep that prefix completely out 
of the XSLT)
+               * Extra signature fixes (PH)
+    2008-08-03
+       * Repair missing class parameter on process-p
+    2008-07-31
+       * Update skeleton names
+    2007-04-03 
+       * Add option generate-fired-rule (RG)
+    2007-02-07
+       * Prefer true|false for parameters. But allow yes|no on some old for 
compatability
+       * DP Diagnostics output to svrl:text. Diagnosis put out after assertion 
text.
+       * Removed non-SVRL elements and attributes: better handled as an extra 
layer that invokes this one
+       * Add more formal parameters
+       * Correct confusion between $schemaVersion and $queryBinding
+       * Indent
+       * Validate against RNC schemas for XSLT 1 and 2 (with regex tests 
removed)
+       * Validate output with UniversalTest.sch against RNC schema for ISO SVRL
+       
+    2007-02-01
+               * DP. Update formal parameters of overriding named templates to 
handle more attributes.
+               * DP. Refactor handling of rich and linkable parameters to a 
named template.
+
+    2007-01-22
+       * DP change svrl:ns to svrl:ns-in-attribute-value
+               * Change default when no queryBinding from "unknown" to "xslt"
+       
+    2007-01-18:
+       * Improve documentation
+       * KH Add command-line options to generate paths or not 
+               * Use axsl:attribute rather than xsl:attribute to shut XSLT2 up
+               * Add extra command-line options to pass to the 
iso_schematron_skeleton
+  
+    2006-12-01: iso_svrl.xsl Rick Jelliffe, 
+          * update namespace, 
+          * update phase handling,
+          * add flag param to process-assert and process-report & @ flag on 
output
+  
+    2001: Conformance1-5.xsl Rick Jelliffe, 
+          * Created, using the skeleton code contributed by Oliver Becker
+-->
+<!--
+ Derived from Conformance1-5.xsl.
+
+ Copyright (c) 2001-2010 Rick Jelliffe and Academia Sinica Computing Center, 
Taiwan
+
+ This software is provided 'as-is', without any express or implied warranty. 
+ In no event will the authors be held liable for any damages arising from 
+ the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose, 
+ including commercial applications, and to alter it and redistribute it freely,
+ subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not claim
+ that you wrote the original software. If you use this software in a product, 
+ an acknowledgment in the product documentation would be appreciated but is 
+ not required.
+
+ 2. Altered source versions must be plainly marked as such, and must not be 
+ misrepresented as being the original software.
+
+ 3. This notice may not be removed or altered from any source distribution.
+-->
+
+<!-- Ideas nabbed from schematrons by Francis N., Miloslav N. and David C. -->
+
+<!-- The command-line parameters are:
+                       phase           NMTOKEN | "#ALL" (default) Select the 
phase for validation
+               allow-foreign   "true" | "false" (default)   Pass 
non-Schematron elements and rich markup to the generated stylesheet 
+            diagnose= true | false|yes|no    Add the diagnostics to the 
assertion test in reports (yes|no are obsolete)
+            property= true | false           Experimental: Add properties to 
the assertion test in reports  
+            generate-paths=true|false|yes|no   generate the @location 
attribute with XPaths (yes|no are obsolete)
+            sch.exslt.imports semi-colon delimited string of filenames for 
some EXSLT implementations          
+                optimize        "visit-no-attributes"     Use only when the 
schema has no attributes as the context nodes
+                generate-fired-rule "true"(default) | "false"  Generate 
fired-rule elements
+             terminate= yes | no | true | false | assert  Terminate on the 
first failed assertion or successful report
+                                         Note: whether any output at all is 
generated depends on the XSLT implementation.
+-->
+
+<xsl:stylesheet
+   version="1.0"
+   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+       xmlns:xs="http://www.w3.org/2001/XMLSchema";
+   xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias";
+   xmlns:schold="http://www.ascc.net/xml/schematron"; 
+   xmlns:iso="http://purl.oclc.org/dsdl/schematron";
+   xmlns:svrl="http://purl.oclc.org/dsdl/svrl"; 
+    
+>
+
+<!-- Select the import statement and adjust the path as 
+   necessary for your system.
+-->
+<xsl:import href="iso_schematron_skeleton_for_saxon.xsl" />
+ 
+ <!--
+<xsl:import href="iso_schematron_skeleton_for_xslt1.xsl"/>
+ 
+<xsl:import href="iso_schematron_skeleton.xsl"/>
+<xsl:import href="skeleton1-5.xsl"/>
+<xsl:import href="skeleton1-6.xsl"/>
+-->
+
+<xsl:param name="diagnose">true</xsl:param>
+<xsl:param name="property">true</xsl:param>
+<xsl:param name="phase">
+       <xsl:choose>
+               <!-- Handle Schematron 1.5 and 1.6 phases -->
+               <xsl:when test="//schold:schema/@defaultPhase">
+                       <xsl:value-of select="//schold:schema/@defaultPhase"/>
+               </xsl:when>
+               <!-- Handle ISO Schematron phases -->
+               <xsl:when test="//iso:schema/@defaultPhase">
+                       <xsl:value-of select="//iso:schema/@defaultPhase"/>
+               </xsl:when>
+               <xsl:otherwise>#ALL</xsl:otherwise>
+       </xsl:choose>
+</xsl:param>
+<xsl:param name="allow-foreign">false</xsl:param>
+<xsl:param name="generate-paths">true</xsl:param>
+<xsl:param name="generate-fired-rule">true</xsl:param>
+<xsl:param name="optimize" />
+<!-- e.g. saxon file.xml file.xsl 
"sch.exslt.imports=.../string.xsl;.../math.xsl" -->
+<xsl:param name="sch.exslt.imports" />
+
+<xsl:param name="terminate" >false</xsl:param>
+
+<!-- Set the language code for messages -->
+<xsl:param name="langCode">default</xsl:param>
+ 
+<xsl:param name="output-encoding"/>
+
+<!-- Set the default for schematron-select-full-path, i.e. the notation for 
svrl's @location-->
+<xsl:param name="full-path-notation">1</xsl:param>
+
+
+
+<!-- Experimental: If this file called, then must be generating svrl -->
+<xsl:variable name="svrlTest" select="true()" />
+
+  
+ 
+<!-- ================================================================ -->
+
+<xsl:template name="process-prolog">
+       <axsl:output method="xml" omit-xml-declaration="no" standalone="yes"
+               indent="yes">
+               <xsl:if test=" string-length($output-encoding) &gt; 0">
+                       <xsl:attribute name="encoding"><xsl:value-of select=" 
$output-encoding" /></xsl:attribute>
+               </xsl:if>
+    </axsl:output>
+     
+</xsl:template>
+
+<!-- Overrides skeleton.xsl -->
+<xsl:template name="process-root">
+       <xsl:param name="title"/>
+       <xsl:param name="contents" />
+       <xsl:param name="queryBinding" >xslt1</xsl:param>
+       <xsl:param name="schemaVersion" />
+       <xsl:param name="id" />
+       <xsl:param name="version"/>
+       <!-- "Rich" parameters -->
+       <xsl:param name="fpi" />
+       <xsl:param name="icon" />
+       <xsl:param name="lang" />
+       <xsl:param name="see" />
+       <xsl:param name="space" />
+       
+       <svrl:schematron-output title="{$title}" 
schemaVersion="{$schemaVersion}" >
+               <xsl:if test=" string-length( normalize-space( $phase )) &gt; 0 
and 
+               not( normalize-space( $phase ) = '#ALL') ">
+                       <axsl:attribute name="phase">
+                               <xsl:value-of select=" $phase " />
+                       </axsl:attribute>
+               </xsl:if> 
+               
+                <axsl:comment><axsl:value-of select="$archiveDirParameter"/>  
&#xA0;
+                <axsl:value-of select="$archiveNameParameter"/> &#xA0;
+                <axsl:value-of select="$fileNameParameter"/> &#xA0;
+                <axsl:value-of select="$fileDirParameter"/></axsl:comment> 
+                
+               
+               <xsl:apply-templates mode="do-schema-p" />
+               <xsl:copy-of select="$contents" />
+       </svrl:schematron-output>
+</xsl:template>
+
+
+<xsl:template name="process-assert">
+       <xsl:param name="test"/>
+       <xsl:param name="diagnostics" />
+       <xsl:param name="properties" />
+       <xsl:param name="id" />
+       <xsl:param name="flag" />
+       <!-- "Linkable" parameters -->
+       <xsl:param name="role"/>
+       <xsl:param name="subject"/>
+       <!-- "Rich" parameters -->
+       <xsl:param name="fpi" />
+       <xsl:param name="icon" />
+       <xsl:param name="lang" />
+       <xsl:param name="see" />
+       <xsl:param name="space" />
+       <svrl:failed-assert test="{$test}" >
+               <xsl:if test="string-length( $id ) &gt; 0">
+                       <axsl:attribute name="id">
+                               <xsl:value-of select=" $id " />
+                       </axsl:attribute>
+               </xsl:if>
+               <xsl:if test=" string-length( $flag ) &gt; 0">
+                       <axsl:attribute name="flag">
+                               <xsl:value-of select=" $flag " />
+                       </axsl:attribute>
+               </xsl:if>
+               <!-- Process rich attributes.  -->
+               <xsl:call-template name="richParms">
+                       <xsl:with-param name="fpi" select="$fpi"/>
+                       <xsl:with-param name="icon" select="$icon"/>
+                       <xsl:with-param name="lang" select="$lang"/>
+                       <xsl:with-param name="see" select="$see" />
+                       <xsl:with-param name="space" select="$space" />
+               </xsl:call-template>
+               <xsl:call-template name='linkableParms'>
+                       <xsl:with-param name="role" select="$role" />
+                       <xsl:with-param name="subject" select="$subject"/>
+               </xsl:call-template>
+               <xsl:if test=" $generate-paths = 'true' or $generate-paths= 
'yes' ">
+                       <!-- true/false is the new way -->
+                       <axsl:attribute name="location">
+                               <axsl:apply-templates select="." 
mode="schematron-select-full-path"/>
+                       </axsl:attribute>
+               </xsl:if>
+                 
+               <svrl:text>
+                       <xsl:apply-templates mode="text" />
+       
+               </svrl:text>
+                   <xsl:if test="$diagnose = 'yes' or $diagnose= 'true' ">
+                       <!-- true/false is the new way -->
+                               <xsl:call-template name="diagnosticsSplit">
+                                       <xsl:with-param name="str" 
select="$diagnostics"/>
+                               </xsl:call-template>
+                       </xsl:if>
+                       
+                       
+                   <xsl:if test="$property= 'yes' or $property= 'true' ">
+                       <!-- true/false is the new way -->
+                               <xsl:call-template name="propertiesSplit">
+                                       <xsl:with-param name="str" 
select="$properties"/>
+                               </xsl:call-template>
+                       </xsl:if>
+                       
+       </svrl:failed-assert>
+       
+       
+               <xsl:if test=" $terminate = 'yes' or $terminate = 'true' ">
+                  <axsl:message terminate="yes">TERMINATING</axsl:message>
+               </xsl:if>
+           <xsl:if test=" $terminate = 'assert' ">
+                  <axsl:message terminate="yes">TERMINATING</axsl:message>
+               </xsl:if>
+</xsl:template>
+
+<xsl:template name="process-report">
+       <xsl:param name="id"/>
+       <xsl:param name="test"/>
+       <xsl:param name="diagnostics"/>
+       <xsl:param name="flag" />
+       <xsl:param name="properties"/>
+       <!-- "Linkable" parameters -->
+       <xsl:param name="role"/>
+       <xsl:param name="subject"/>
+       <!-- "Rich" parameters -->
+       <xsl:param name="fpi" />
+       <xsl:param name="icon" />
+       <xsl:param name="lang" />
+       <xsl:param name="see" />
+       <xsl:param name="space" />
+       <svrl:successful-report test="{$test}" >
+               <xsl:if test=" string-length( $id ) &gt; 0">
+                       <axsl:attribute name="id">
+                               <xsl:value-of select=" $id " />
+                       </axsl:attribute>
+               </xsl:if>
+               <xsl:if test=" string-length( $flag ) &gt; 0">
+                       <axsl:attribute name="flag">
+                               <xsl:value-of select=" $flag " />
+                       </axsl:attribute>
+               </xsl:if>
+               
+               <!-- Process rich attributes.  -->
+               <xsl:call-template name="richParms">
+                       <xsl:with-param name="fpi" select="$fpi"/>
+                       <xsl:with-param name="icon" select="$icon"/>
+                       <xsl:with-param name="lang" select="$lang"/>
+                       <xsl:with-param name="see" select="$see" />
+                       <xsl:with-param name="space" select="$space" />
+               </xsl:call-template>
+               <xsl:call-template name='linkableParms'>
+                       <xsl:with-param name="role" select="$role" />
+                       <xsl:with-param name="subject" select="$subject"/>
+               </xsl:call-template>
+               <xsl:if test=" $generate-paths = 'yes' or $generate-paths = 
'true' ">
+                       <!-- true/false is the new way -->
+                       <axsl:attribute name="location">
+                               <axsl:apply-templates select="." 
mode="schematron-select-full-path"/>
+                       </axsl:attribute>
+               </xsl:if>
+        
+               <svrl:text>
+                       <xsl:apply-templates mode="text" />
+
+               </svrl:text>
+                       <xsl:if test="$diagnose = 'yes' or $diagnose='true' ">
+                       <!-- true/false is the new way -->
+                               <xsl:call-template name="diagnosticsSplit">
+                                       <xsl:with-param name="str" 
select="$diagnostics"/>
+                               </xsl:call-template>
+                       </xsl:if>
+                       
+                       
+                       <xsl:if test="$property = 'yes' or $property='true' ">
+                       <!-- true/false is the new way -->
+                               <xsl:call-template name="propertiesSplit">
+                                       <xsl:with-param name="str" 
select="$properties"/>
+                               </xsl:call-template>
+                       </xsl:if>
+                        
+                       
+       </svrl:successful-report>
+       
+       
+               <xsl:if test=" $terminate = 'yes' or $terminate = 'true' ">
+                  <axsl:message terminate="yes"  >TERMINATING</axsl:message>
+               </xsl:if>
+</xsl:template>
+
+
+
+
+<xsl:template name="process-diagnostic">
+       <xsl:param name="id"/>
+       <!-- Rich parameters -->
+       <xsl:param name="fpi" />
+       <xsl:param name="icon" />
+       <xsl:param name="lang" />
+       <xsl:param name="see" />
+       <xsl:param name="space" />
+       <svrl:diagnostic-reference diagnostic="{$id}" >
+               <!--xsl:if test="string($id)">
+                       <xsl:attribute name="id">
+                               <xsl:value-of select="$id"/>
+                       </xsl:attribute>
+               </xsl:if-->
+               <xsl:call-template name="richParms">
+                       <xsl:with-param name="fpi" select="$fpi"/>
+                       <xsl:with-param name="icon" select="$icon"/>
+                       <xsl:with-param name="lang" select="$lang"/>
+                       <xsl:with-param name="see" select="$see" />
+                       <xsl:with-param name="space" select="$space" />
+               </xsl:call-template> 
+<xsl:text>
+</xsl:text>
+ 
+               <xsl:apply-templates mode="text"/>
+                
+       </svrl:diagnostic-reference>
+</xsl:template>
+
+
+    <!-- Overrides skeleton -->
+       <xsl:template name="process-dir" >
+               <xsl:param name="value" />
+        <xsl:choose>
+               <xsl:when test=" $allow-foreign = 'true'">
+                       <xsl:copy-of select="."/>
+               </xsl:when>
+       
+        <xsl:otherwise>
+           <!-- We generate too much whitespace rather than risking 
concatenation -->
+               <axsl:text> </axsl:text>
+               <xsl:apply-templates mode="inline-text"/>
+               <axsl:text> </axsl:text>
+               </xsl:otherwise>
+                </xsl:choose>          
+       </xsl:template>
+       
+       
+    <!-- Overrides skeleton -->
+       <xsl:template name="process-emph" >
+               <xsl:param name="class" />
+        <xsl:choose>
+               <xsl:when test=" $allow-foreign = 'true'">
+                       <xsl:copy-of select="."/>
+               </xsl:when> 
+        <xsl:otherwise>
+           <!-- We generate too much whitespace rather than risking 
concatenation -->
+               <axsl:text> </axsl:text>
+               <xsl:apply-templates mode="inline-text"/>
+               <axsl:text> </axsl:text>
+               </xsl:otherwise>
+               </xsl:choose>   
+       </xsl:template>
+
+<xsl:template name="process-rule">
+       <xsl:param name="id"/>
+       <xsl:param name="context"/>
+       <xsl:param name="flag"/>
+       <xsl:param name="properties" />
+       <!-- "Linkable" parameters -->
+       <xsl:param name="role"/>
+       <xsl:param name="subject"/>
+       <!-- "Rich" parameters -->
+       <xsl:param name="fpi" />
+       <xsl:param name="icon" />
+       <xsl:param name="lang" />
+       <xsl:param name="see" />
+       <xsl:param name="space" />
+       <xsl:if test=" $generate-fired-rule = 'true'">
+       <svrl:fired-rule context="{$context}" >
+               <xsl:if test=" string( $id )">
+                       <xsl:attribute name="id">
+                               <xsl:value-of select=" $id " />
+                       </xsl:attribute>
+               </xsl:if>
+               <xsl:if test=" string-length( $role ) &gt; 0">
+                       <xsl:attribute name="role">
+                               <xsl:value-of select=" $role " />
+                       </xsl:attribute>
+               </xsl:if>
+               <!-- Process rich attributes.  -->
+               <xsl:call-template name="richParms">
+                       <xsl:with-param name="fpi" select="$fpi"/>
+                       <xsl:with-param name="icon" select="$icon"/>
+                       <xsl:with-param name="lang" select="$lang"/>
+                       <xsl:with-param name="see" select="$see" />
+                       <xsl:with-param name="space" select="$space" />
+               </xsl:call-template>
+               
+               
+                   <xsl:if test="$property= 'yes' or $property= 'true' ">
+                       <!-- true/false is the new way -->
+                               <xsl:call-template name="propertiesSplit">
+                                       <xsl:with-param name="str" 
select="$properties"/>
+                               </xsl:call-template>
+                       </xsl:if>
+               
+       </svrl:fired-rule>
+</xsl:if>
+</xsl:template>
+
+<xsl:template name="process-ns">
+       <xsl:param name="prefix"/>
+       <xsl:param name="uri"/>
+       <svrl:ns-prefix-in-attribute-values uri="{$uri}" prefix="{$prefix}" />
+</xsl:template>
+
+<xsl:template name="process-p"> 
+       <xsl:param name="icon"/>
+       <xsl:param name="class"/>
+       <xsl:param name="id"/>
+       <xsl:param name="lang"/>
+        
+       <svrl:text> 
+               <xsl:apply-templates mode="text"/>
+       </svrl:text>
+</xsl:template>
+
+<xsl:template name="process-pattern">
+       <xsl:param name="name"/>
+       <xsl:param name="id"/>
+       <xsl:param name="is-a"/>
+       
+       <!-- "Rich" parameters -->
+       <xsl:param name="fpi" />
+       <xsl:param name="icon" />
+       <xsl:param name="lang" />
+       <xsl:param name="see" />
+       <xsl:param name="space" />
+       <svrl:active-pattern >
+           <axsl:attribute name="document">
+               <axsl:value-of select="document-uri(/)" />
+           </axsl:attribute><!-- If XSLT1 remove this -->
+               <xsl:if test=" string( $id )">
+                       <axsl:attribute name="id">
+                               <xsl:value-of select=" $id " />
+                       </axsl:attribute>
+               </xsl:if>
+               <xsl:if test=" string( $name )">
+                       <axsl:attribute name="name">
+                               <xsl:value-of select=" $name " />
+                       </axsl:attribute>
+               </xsl:if> 
+                
+               <xsl:call-template name='richParms'>
+                       <xsl:with-param name="fpi" select="$fpi"/>
+                       <xsl:with-param name="icon" select="$icon"/>
+                       <xsl:with-param name="lang" select="$lang"/>
+                       <xsl:with-param name="see" select="$see" />
+                       <xsl:with-param name="space" select="$space" />
+               </xsl:call-template>
+               
+               <!-- ?? report that this screws up iso:title processing  -->
+               <xsl:apply-templates mode="do-pattern-p"/>
+               <!-- ?? Seems that this apply-templates is never triggered DP 
-->
+               <axsl:apply-templates />
+       </svrl:active-pattern>
+</xsl:template>
+
+<!-- Overrides skeleton -->
+<xsl:template name="process-message" > 
+       <xsl:param name="pattern"/>
+       <xsl:param name="role"/>
+</xsl:template>
+
+
+    <!-- Overrides skeleton -->
+       <xsl:template name="process-span" >
+               <xsl:param name="class" />
+        <xsl:choose>
+               <xsl:when test=" $allow-foreign = 'true'">
+                       <xsl:copy-of select="."/>
+               </xsl:when> 
+        <xsl:otherwise>
+           <!-- We generate too much whitespace rather than risking 
concatenation -->
+               <axsl:text> </axsl:text>
+               <xsl:apply-templates mode="inline-text"/>
+               <axsl:text> </axsl:text>
+               </xsl:otherwise>
+               </xsl:choose>   
+       </xsl:template>
+
+<!-- 
=========================================================================== -->
+<!-- processing rich parameters. -->
+<xsl:template name='richParms'>
+       <!-- "Rich" parameters -->
+       <xsl:param name="fpi" />
+       <xsl:param name="icon" />
+       <xsl:param name="lang" />
+       <xsl:param name="see" />
+       <xsl:param name="space" />
+       <!-- Process rich attributes.  -->
+       <xsl:if  test=" $allow-foreign = 'true'">
+       <xsl:if test="string($fpi)"> 
+               <axsl:attribute name="fpi">
+                       <xsl:value-of select="$fpi "/>
+               </axsl:attribute>
+       </xsl:if>
+       <xsl:if test="string($icon)"> 
+               <axsl:attribute name="icon">
+                       <xsl:value-of select="$icon"/>
+               </axsl:attribute>
+       </xsl:if>
+       <xsl:if test="string($see)"> 
+               <axsl:attribute name="see">
+                       <xsl:value-of select="$see" />
+               </axsl:attribute>
+       </xsl:if>
+       </xsl:if>
+       <xsl:if test="string($space)">
+               <axsl:attribute name="xml:space">
+                       <xsl:value-of select="$space"/>
+               </axsl:attribute>
+       </xsl:if>
+       <xsl:if test="string($lang)">
+               <axsl:attribute name="xml:lang">
+                       <xsl:value-of select="$lang"/>
+               </axsl:attribute>
+       </xsl:if>
+</xsl:template>
+
+<!-- processing linkable parameters. -->
+<xsl:template name='linkableParms'>
+       <xsl:param name="role"/>
+       <xsl:param name="subject"/>
+       
+       <!-- ISO SVRL has a role attribute to match the Schematron role 
attribute -->
+       <xsl:if test=" string($role )">
+               <axsl:attribute name="role">
+                       <xsl:value-of select=" $role " />
+               </axsl:attribute>
+       </xsl:if>
+       <!-- ISO SVRL does not have a subject attribute to match the Schematron 
subject attribute.
+       Instead, the Schematron subject attribute is folded into the location 
attribute -->
+</xsl:template>
+
+
+
+       <!-- ===================================================== -->
+       <!-- Extension API:                                                    
-->
+       <!-- This allows the transmission of extra attributes on   -->
+       <!-- rules, asserts, reports, diagnostics.                 -->
+       <!-- ===================================================== -->
+
+
+<!-- Overrides skeleton EXPERIMENTAL -->
+<!-- The $contents is for static contents, the $value is for dynamic contents 
-->
+<xsl:template name="process-property">
+       <xsl:param name="id"/>
+       <xsl:param name="name"/>
+       <xsl:param name="value"/>
+       <xsl:param name="contents"/>
+       
+       <svrl:property id="{$id}" >  
+               <xsl:if test="$name">
+                       <xsl:attribute name="name"><xsl:value-of 
select="$name"/></xsl:attribute>
+               </xsl:if>
+               
+               <xsl:if test="$value">
+                       <xsl:attribute name="value"><xsl:value-of 
select="$value"/></xsl:attribute>
+               </xsl:if>
+               
+               <xsl:if test="$contents">
+                       <xsl:copy-of select="$contents"/>
+               </xsl:if> 
+               
+       </svrl:property>
+</xsl:template>
+
+
+</xsl:stylesheet>
+

http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/readme.txt
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/readme.txt
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/readme.txt
new file mode 100644
index 0000000..5ce57c9
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/readme.txt
@@ -0,0 +1,100 @@
+<h1>ISO SCHEMATRON 2010</h1>
+
+XSLT implementation by Rick Jelliffe with assistance from members of 
Schematron-love-in maillist.
+
+2010-04-14
+
+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.
+
+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-styleseets" 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.
+
+<target  name="schematron-compile-test" >
+
+          <!-- expand inclusions -->
+          <xslt basedir="test/schematron"
+                       style="iso_dsdl_include.xsl" in="test.sch"  
out="test1.sch"> 
+                                       <classpath>
+                                               <pathelement 
location="${lib.dir}/saxon9.jar"/>
+                                       </classpath>
+          </xslt>
+
+          <!-- expand abstract patterns -->
+          <xslt basedir="test/schematron"
+                       style="iso_abstract_expand.xsl" in="test1.sch"  
out="test2.sch"> 
+                                       <classpath>
+                                               <pathelement 
location="${lib.dir}/saxon9.jar"/>
+                                       </classpath>
+          </xslt>
+
+
+
+          <!-- compile it -->
+          <xslt basedir="test/schematron"
+                       style="iso_svrl_for_xslt2.xsl" in="test2.sch"  
out="test.xsl"> 
+                                       <classpath>
+                                               <pathelement 
location="${lib.dir}/saxon9.jar"/>
+                                       </classpath>
+          </xslt>
+          
+          <!-- validate -->
+          <xslt basedir="test/schematron"
+                               style="test.xsl" in="instance.xml"  
out="instance.svrlt"> 
+                                               <classpath>
+                                                       <pathelement 
location="${lib.dir}/saxon9.jar"/>
+                                               </classpath>
+       </xslt>
+               </target>
+               
+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.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-cs.xhtml
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-cs.xhtml
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-cs.xhtml
new file mode 100644
index 0000000..93e181c
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-cs.xhtml
@@ -0,0 +1,56 @@
+<xhtml:div class="ErrorMessages" xml:lang="cs"
+          xmlns:xhtml="http://www.w3.org/1999/xhtml"; >
+  <!-- Obsahuje-li chybové hlášení dynamické informace, je rozděleno
+       do sekcí "a" a "b". Různé jazyky tak mohou dynamické informace
+       umístit s ohledem na svá gramatická pravidla. -->
+    <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>
+    <xhtml:p id="sch-message-2-cs">Chyba ve schématu:  v atributu 
queryBinding použijte 'xslt'</xhtml:p>
+    <xhtml:p id="sch-message-3a-cs">Porucha: Tato implementace ISO Schematronu 
nefunguje se schématy, která používají dotazovací jazyk</xhtml:p>
+    <xhtml:p id="sch-message-3b-cs"/>
+    <xhtml:p id="sch-message-4a-cs">Fázová chyba: fáze jménem </xhtml:p>
+    <xhtml:p id="sch-message-4b-cs"> není definována.</xhtml:p>
+    <xhtml:p id="sch-message-5-cs">Chybný markup: v elementu &lt;active> 
chybí atribut pattern</xhtml:p>
+    <xhtml:p id="sch-message-6a-cs">Chybný odkaz: vzor "</xhtml:p>
+    <xhtml:p id="sch-message-6b-cs">" byl aktivován, ne však 
deklarován</xhtml:p>
+    <xhtml:p id="sch-message-7-cs">Chybný markup: v elementu &lt;assert> 
chybí atribut test</xhtml:p>
+    <xhtml:p id="sch-message-8-cs">Chybný markup: v elementu &lt;report> 
chybí atribut test</xhtml:p>
+    <xhtml:p id="sch-message-9-cs">Chybný markup: v elementu &lt;diagnostic> 
chybí atribut id</xhtml:p>
+    <xhtml:p id="sch-message-10-cs">Chybný markup: v elementu &lt;extends> 
chybí atribut rule</xhtml:p>                  
+    <xhtml:p id="sch-message-11a-cs">Chybný odkaz: abstraktní pravidlo 
"</xhtml:p>
+    <xhtml:p id="sch-message-11b-cs">" není definováno, ačkoli se na ně 
odkazuje</xhtml:p>
+    <xhtml:p id="sch-message-12-cs">Chybný markup: v elementu &lt;key> chybí 
atribut name</xhtml:p>
+    <xhtml:p id="sch-message-13-cs">Chybný markup: v elementu &lt;key> chybí 
atribut path nebo use</xhtml:p>
+    <xhtml:p id="sch-message-14-cs">Chybný markup: v elementu &lt;key> chybí 
atribut path nebo use</xhtml:p>
+    <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>
+    <xhtml:p id="sch-message-16-cs">Chybný markup: v elementu &lt;function> 
chybí atribut name</xhtml:p>
+    <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>
+    <xhtml:p id="sch-message-18-cs">Chyba ve schématu: direktiva &lt;include> 
má prázdný atribut href</xhtml:p>
+    <xhtml:p id="sch-message-19-cs">Chyba: Nesprávné URL v direktivě 
&lt;include></xhtml:p>
+    <xhtml:p id="sch-message-20a-cs">Chyba: Nelze otevřít vkládaný soubor 
</xhtml:p>
+    <xhtml:p id="sch-message-20b-cs" />
+    <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>
+    <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>
+    <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>
+    <xhtml:p id="sch-message-24-cs">Varování: S dotazovacím jazykem "xpath" 
by se neměly používat proměnné</xhtml:p>
+    <xhtml:p id="sch-message-25-cs">Varování: S dotazovacím jazykem 
"xpath2" by se neměly používat proměnné</xhtml:p>
+    <xhtml:p id="sch-message-26-cs">Chybný markup: v elementu &lt;ns> chybí 
atribut uri</xhtml:p>
+    <xhtml:p id="sch-message-27-cs">Chybný markup: v elementu &lt;ns> chybí 
atribut prefix</xhtml:p>
+    <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>
+    <xhtml:p id="sch-message-29-cs">Chybný markup: v elementu &lt;phase> 
chybí atribut id</xhtml:p>
+    <xhtml:p id="sch-message-30-cs">Chybný markup: v elementu &lt;rule> 
chybí atribut context</xhtml:p>
+    <xhtml:p id="sch-message-31-cs">Chybný markup: v abstraktním pravidlu 
chybí atribut id</xhtml:p>
+    <xhtml:p id="sch-message-32-cs">Chybný markup: (2) Abstraktní pravidlo 
nesmí mít atribut context</xhtml:p>
+    <xhtml:p id="sch-message-33-cs">Chybný markup: Abstraktní pravidlo 
nesmí mít atribut context</xhtml:p>
+    <xhtml:p id="sch-message-34-cs">Chybný markup: v elementu &lt;value-of> 
chybí atribut select</xhtml:p>
+    <xhtml:p id="sch-message-35a-cs">Varování: </xhtml:p>
+    <xhtml:p id="sch-message-35b-cs"> nesmí obsahovat žádné 
podelementy</xhtml:p>
+    <xhtml:p id="sch-message-36a-cs">Chybný odkaz: Diagnostika "</xhtml:p>
+    <xhtml:p id="sch-message-36b-cs">" nebyla deklarována, ačkoli se na ni 
odkazuje</xhtml:p>
+    <xhtml:p id="sch-message-37a-cs">Chyba: procesor </xhtml:p>
+    <xhtml:p id="sch-message-37b-cs"> nepodporuje použití jmenného prostoru 
XSLT s jiným prefixem než "xsl"</xhtml:p>
+    <xhtml:p id="sch-message-38a-cs">Chyba: neznámý element </xhtml:p>
+    <xhtml:p id="sch-message-38b-cs"> ve jmenném prostoru ISO Schematronu: 
zkontrolujte, je-li správně zapsán</xhtml:p>
+    <xhtml:p id="sch-message-39a-cs">Varování: neznámý element 
+</xhtml:p>
+    <xhtml:p id="sch-message-39b-cs" />
+ </xhtml:div>

http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-de.xhtml
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-de.xhtml
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-de.xhtml
new file mode 100644
index 0000000..51caeb1
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-de.xhtml
@@ -0,0 +1,57 @@
+ 
+<xhtml:div class="ErrorMessages"   xml:lang="en"
+    xmlns:xhtml="http://www.w3.org/1999/xhtml"; >       
+       <!-- Where the error message contains dynamic information, the message 
has been split into an "a" and a "b" section.
+            This has been done even when the English does not require it, in 
order to accomodate different language grammars
+            that might position the dynamic information differently.
+       -->
+       <xhtml:p id="sch-message-1-de">Fehler im Schema: Schematron Elemente 
sowohl im alten als auch neuen Namensraum gefunden</xhtml:p>
+       <xhtml:p id="sch-message-2-de">Fehler im Schema: Nutzen Sie 'xslt' im 
queryBinding-Attribut</xhtml:p>
+       <xhtml:p id="sch-message-3a-de">Fehler: Diese Implementierung von ISO 
Schematron arbeitet nicht mit Schemas zusammen, die die Query Language  
</xhtml:p>
+       <xhtml:p id="sch-message-3b-de">nutzen</xhtml:p>
+       <xhtml:p id="sch-message-4a-de">Phasenfehler: Es gibt keine Phase mit 
Namen </xhtml:p>
+       <xhtml:p id="sch-message-4b-de" />
+       <xhtml:p id="sch-message-5-de">Fehler in der Annotation: Kein Attribut 
pattern in &lt;active></xhtml:p>
+       <xhtml:p id="sch-message-6a-de">Referenzierungsfehler: Der Ausdruck  
"</xhtml:p>
+       <xhtml:p id="sch-message-6b-de">" wurde aktiviert, ist aber nicht 
deklariert</xhtml:p>
+       <xhtml:p id="sch-message-7-de">Fehler in der Annotation: Kein Attribut 
test in &lt;assert</xhtml:p>
+       <xhtml:p id="sch-message-8-de">Fehler in der Annotation: Kein Attribut 
test &lt;report></xhtml:p>
+       <xhtml:p id="sch-message-9-de">Fehler in der Annotation: Kein Attribut 
id in &lt;diagnostic></xhtml:p>
+       <xhtml:p id="sch-message-10-de">Fehler in der Annotation: Kein Attribut 
rule in &lt;extends></xhtml:p>                             
+       <xhtml:p id="sch-message-11a-de">Referenzierungsfehler: Die abstrakte 
Regel  "</xhtml:p>
+       <xhtml:p id="sch-message-11b-de">" wurde referenziert, ist aber nicht 
deklariert</xhtml:p>                              
+       <xhtml:p id="sch-message-12-de">Fehler in der Annotation: Kein Attribut 
name in &lt;key></xhtml:p>
+       <xhtml:p id="sch-message-13-de">Fehler in der Annotation: Kein Attribut 
path oder use in &lt;key></xhtml:p>
+       <xhtml:p id="sch-message-14-de">Fehler in der Annotation: Kein Attribut 
path oder use in &lt;key></xhtml:p>
+       <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>
+       <xhtml:p id="sch-message-16-de">Fehler in der Annotation: Kein Attribut 
name in &lt;function></xhtml:p>
+       <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>
+       <xhtml:p id="sch-message-18-de">Fehler im Schema: Leeres Attribut href= 
für include Anweisung.</xhtml:p>
+       <xhtml:p id="sch-message-19-de">Fehler: Ungültige URL in Schematron 
include</xhtml:p>
+       <xhtml:p id="sch-message-20a-de">Kann die referenzierte Datei nicht 
öffnen: </xhtml:p>
+       <xhtml:p id="sch-message-20b-de" />
+       <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>
+       <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>
+       <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>
+       <xhtml:p id="sch-message-24-de">Warnung: Variablen sollten nicht 
zusammen mit dem "xpath" Query Language Binding genutzt werden.</xhtml:p>
+       <xhtml:p id="sch-message-25-de">Warnung: Variablen sollten nicht 
zusammen mit dem "xpath2" Query Language Binding genutzt werden.</xhtml:p>
+       <xhtml:p id="sch-message-26-de">Fehler in der Annotation: Fehlendes 
Attiribut uri in &lt;ns></xhtml:p>
+       <xhtml:p id="sch-message-27-de">Fehler in der Annotation: Fehlendes 
Attribut prefix in &lt;ns></xhtml:p>
+       <xhtml:p id="sch-message-28-de">Fehler bei der Schemaimplementierung: 
Dieses Schema enthält abstrakte Mustervergleiche, die bereits vorverarbeitet 
sein sollten.</xhtml:p>
+    <xhtml:p id="sch-message-29-de">Fehler in der Annotation: Fehlendes 
Attiribut id in &lt;phase></xhtml:p>
+    <xhtml:p id="sch-message-30-de">Fehler in der Annotation: Fehlendes 
Attiribut context in &lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-31-de">Fehler in der Annotation: Fehlendes 
Attiribut id on abstract &lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-32-de">Fehler in der Annotation: (2) context 
attribute on abstract &lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-33-de">Fehler in der Annotation: Attribut context 
bei abstrakter &lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-34-de">Fehler in der Annotation: Fehlendes 
Attiribut select in &lt;value-of></xhtml:p>
+    <xhtml:p id="sch-message-35a-de">Warnung: </xhtml:p>
+       <xhtml:p id="sch-message-35b-de"> darf keine Kindelemente 
beinhalten</xhtml:p>
+    <xhtml:p id="sch-message-36a-de">Referenzierungsfehler: Ein 
diagnostic-Element "</xhtml:p>
+       <xhtml:p id="sch-message-36b-de">" wurde referenziert, ist aber nicht 
deklariert</xhtml:p>
+       <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>
+    <xhtml:p id="sch-message-37b-de" />
+    <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>
+       <xhtml:p id="sch-message-38b-de" />
+       <xhtml:p id="sch-message-39a-de">Warnung: Unbekanntes Element </xhtml:p>
+       <xhtml:p id="sch-message-39b-de" />
+ </xhtml:div>

http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-en.xhtml
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-en.xhtml
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-en.xhtml
new file mode 100644
index 0000000..6f777ed
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-en.xhtml
@@ -0,0 +1,57 @@
+ 
+<xhtml:div class="ErrorMessages"   xml:lang="en"
+    xmlns:xhtml="http://www.w3.org/1999/xhtml"; >       
+       <!-- Where the error message contains dynamic information, the message 
has been split into an "a" and a "b" section.
+            This has been done even when the English does not require it, in 
order to accomodate different language grammars
+            that might position the dynamic information differently.
+       -->
+       <xhtml:p id="sch-message-1-en">Schema error: Schematron elements in old 
and new namespaces found</xhtml:p>
+       <xhtml:p id="sch-message-2-en">Schema error: in the queryBinding 
attribute, use 'xslt'</xhtml:p>
+       <xhtml:p id="sch-message-3a-en">Fail: This implementation of ISO 
Schematron does not work with schemas using the query language </xhtml:p>
+       <xhtml:p id="sch-message-3b-en"/>
+       <xhtml:p id="sch-message-4a-en">Phase Error: no phase has been defined 
with name </xhtml:p>
+       <xhtml:p id="sch-message-4b-en" />
+       <xhtml:p id="sch-message-5-en">Markup Error: no pattern attribute in 
&lt;active></xhtml:p>
+       <xhtml:p id="sch-message-6a-en">Reference Error: the pattern  
"</xhtml:p>
+       <xhtml:p id="sch-message-6b-en">" has been activated but is not 
declared</xhtml:p>
+       <xhtml:p id="sch-message-7-en">Markup Error: no test attribute in 
&lt;assert></xhtml:p>
+       <xhtml:p id="sch-message-8-en">Markup Error: no test attribute in 
&lt;report></xhtml:p>
+       <xhtml:p id="sch-message-9-en">Markup Error: no id attribute in 
&lt;diagnostic></xhtml:p>
+       <xhtml:p id="sch-message-10-en">Markup Error: no rule attribute in 
&lt;extends></xhtml:p>                                  
+       <xhtml:p id="sch-message-11a-en">Reference Error: the abstract rule  
"</xhtml:p>
+       <xhtml:p id="sch-message-11b-en">" has been referenced but is not 
declared</xhtml:p>                            
+       <xhtml:p id="sch-message-12-en">Markup Error: no name attribute in 
&lt;key></xhtml:p>
+       <xhtml:p id="sch-message-13-en">Markup Error: no path or use attribute 
in &lt;key></xhtml:p>
+       <xhtml:p id="sch-message-14-en">Markup Error: no path or use attribute 
in &lt;key></xhtml:p>
+       <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>
+       <xhtml:p id="sch-message-16-en">Markup Error: no name attribute in 
&lt;function></xhtml:p>
+       <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>
+       <xhtml:p id="sch-message-18-en">Schema error: Empty href attribute for 
&lt;include> directive.</xhtml:p>
+       <xhtml:p id="sch-message-19-en">Error: Impossible URL in Schematron 
&lt;include></xhtml:p>
+       <xhtml:p id="sch-message-20a-en">Error: Unable to open referenced 
included file: </xhtml:p>
+       <xhtml:p id="sch-message-20b-en" />
+       <xhtml:p id="sch-message-21-en">Schema error: Use &lt;include> to 
include fragments, not a whole schema</xhtml:p>
+       <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>
+       <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>
+       <xhtml:p id="sch-message-24-en">Warning: Variables should not be used 
with the "xpath" query language binding.</xhtml:p>
+       <xhtml:p id="sch-message-25-en">Warning: Variables should not be used 
with the "xpath2" query language binding.</xhtml:p>
+       <xhtml:p id="sch-message-26-en">Markup Error: no uri attribute in 
&lt;ns></xhtml:p>
+       <xhtml:p id="sch-message-27-en">Markup Error: no prefix attribute in 
&lt;ns></xhtml:p>
+       <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>
+    <xhtml:p id="sch-message-29-en">Markup Error: no id attribute in 
&lt;phase></xhtml:p>
+    <xhtml:p id="sch-message-30-en">Markup Error: no context attribute in 
&lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-31-en">Markup Error: no id attribute on abstract 
&lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-32-en">Markup Error: (2) context attribute on 
abstract &lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-33-en">Markup Error: context attribute on 
abstract &lt;rule></xhtml:p>
+    <xhtml:p id="sch-message-34-en">Markup Error: no select attribute in 
&lt;value-of></xhtml:p>
+    <xhtml:p id="sch-message-35a-en">Warning: </xhtml:p>
+       <xhtml:p id="sch-message-35b-en"> must not contain any child 
elements</xhtml:p>
+    <xhtml:p id="sch-message-36a-en">Reference error: A diagnostic "</xhtml:p>
+       <xhtml:p id="sch-message-36b-en">" has been referenced but is not 
declared</xhtml:p>
+       <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>
+    <xhtml:p id="sch-message-37b-en" />
+    <xhtml:p id="sch-message-38a-en">Error: unrecognized element in ISO 
Schematron namespace: check spelling and capitalization</xhtml:p>
+       <xhtml:p id="sch-message-38b-en" />
+       <xhtml:p id="sch-message-39a-en">Warning: unrecognized element 
</xhtml:p>
+       <xhtml:p id="sch-message-39b-en" />
+ </xhtml:div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-fr.xhtml
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-fr.xhtml
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-fr.xhtml
new file mode 100644
index 0000000..a797db7
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-fr.xhtml
@@ -0,0 +1,54 @@
+<xhtml:div class="ErrorMessages" xml:lang="fr" 
xmlns:xhtml="http://www.w3.org/1999/xhtml";>     
+   <!-- Where the error message contains dynamic information, the message has 
been split into an "a" and a "b" section.
+        This has been done even when the English does not require it, in order 
to accomodate different language grammars
+        that might position the dynamic information differently.
+   -->
+   <xhtml:p id="sch-message-1-fr">Erreur de schema: éléments Schematron à 
la fois dans l'ancien et le nouveau namespace</xhtml:p>
+   <xhtml:p id="sch-message-2-fr">Erreur de schema: utilisez 'xslt' dans 
l'attribut queryBinding</xhtml:p>
+   <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>
+   <xhtml:p id="sch-message-3b-fr"/>
+   <xhtml:p id="sch-message-4a-fr">Erreur de phase: aucune phase n'a été 
définie avec le nom </xhtml:p>
+   <xhtml:p id="sch-message-4b-fr"/>
+   <xhtml:p id="sch-message-5-fr">Erreur de balisage: pas d'attribut pattern 
dans &lt;active></xhtml:p>
+   <xhtml:p id="sch-message-6a-fr">Erreur de référence: le pattern 
"</xhtml:p>
+   <xhtml:p id="sch-message-6b-fr">" a été activé mais n'a pas été 
décalaré</xhtml:p>
+   <xhtml:p id="sch-message-7-fr">Erreur de balisage: pas d'attribut test dans 
&lt;assert></xhtml:p>
+   <xhtml:p id="sch-message-8-fr">Erreur de balisage: pas d'attribut test dans 
&lt;report></xhtml:p>
+   <xhtml:p id="sch-message-9-fr">Erreur de balisage: pas d'attribut id dans 
&lt;diagnostic></xhtml:p>
+   <xhtml:p id="sch-message-10-fr">Erreur de balisage: pas d'attribut rule 
dans &lt;extends></xhtml:p>
+   <xhtml:p id="sch-message-11a-fr">Erreur de référence: la règle abstraite 
"</xhtml:p>
+   <xhtml:p id="sch-message-11b-fr">" a été référencée mais pas 
déclarée</xhtml:p>
+   <xhtml:p id="sch-message-12-fr">Erreur de balisage: pas d'attribut name 
dans &lt;key></xhtml:p>
+   <xhtml:p id="sch-message-13-fr">Erreur de balisage: pas d'attribut path ou 
use dans &lt;key></xhtml:p>
+   <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>
+   <xhtml:p id="sch-message-16-fr">Erreur de balisage: pas d'attribut name 
dans &lt;function></xhtml:p>
+   <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>
+   <xhtml:p id="sch-message-18-fr">Erreur de schema: Attribut href vide sur a 
directive include.</xhtml:p>
+   <xhtml:p id="sch-message-19-fr">Erreur: URL impossible dans la directive 
include de Schematron</xhtml:p>
+   <xhtml:p id="sch-message-20a-fr">Impossible d'ouvrir le fichier 
référencé pour l'inclusion: </xhtml:p>
+   <xhtml:p id="sch-message-20b-fr"/>
+   <xhtml:p id="sch-message-21-fr">Erreur de schema: Utilisez include pour 
inclure des fragments et non un schema entier</xhtml:p>
+   <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>
+   <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>
+   <xhtml:p id="sch-message-24-fr">Avertissement: Des variables ne devraient 
pas être utiliées avec le langage de query "xpath".</xhtml:p>
+   <xhtml:p id="sch-message-24-fr">Avertissement: Des variables ne devraient 
pas être utiliées avec le langage de query "xpath2".</xhtml:p>
+   <xhtml:p id="sch-message-26-fr">Erreur de balisage: pas d'attribut uri dans 
&lt;ns></xhtml:p>
+   <xhtml:p id="sch-message-27-fr">Erreur de balisage: pas d'attribut prefix 
dans &lt;ns></xhtml:p>
+   <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>
+   <xhtml:p id="sch-message-29-fr">Erreur de balisage: pas d'attribut id dans 
&lt;phase></xhtml:p>
+   <xhtml:p id="sch-message-30-fr">Erreur de balisage: pas d'attribut context 
dans &lt;rule></xhtml:p>
+   <xhtml:p id="sch-message-31-fr">Erreur de balisage: pas d'attribut id dans 
&lt;rule></xhtml:p>
+   <xhtml:p id="sch-message-32-fr">Erreur de balisage: (2) attribut context 
dans une &lt;rule> abstraite</xhtml:p>
+   <xhtml:p id="sch-message-33-fr">Erreur de balisage: attribut context dans 
une &lt;rule> abstraite</xhtml:p>
+   <xhtml:p id="sch-message-34-fr">Erreur de balisage: pas d'attribut select 
dans &lt;value-of></xhtml:p>
+   <xhtml:p id="sch-message-35a-fr">Avertissement: </xhtml:p>
+   <xhtml:p id="sch-message-35b-fr"> ne peut contenir aucun élément 
enfant</xhtml:p>
+   <xhtml:p id="sch-message-36a-fr">Erreur de référence: Un diagnostique 
"</xhtml:p>
+   <xhtml:p id="sch-message-36b-fr">" a été référencé mais n'est pas 
déclaré</xhtml:p>
+   <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>
+   <xhtml:p id="sch-message-37b-fr"/>
+   <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>
+   <xhtml:p id="sch-message-38b-fr"/>
+   <xhtml:p id="sch-message-39a-fr">Avertissement: élément inconnu</xhtml:p>
+   <xhtml:p id="sch-message-39b-fr"/>
+</xhtml:div>

http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-nl.xhtml
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-nl.xhtml
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-nl.xhtml
new file mode 100644
index 0000000..5f05577
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/sch-messages-nl.xhtml
@@ -0,0 +1,58 @@
+ <xhtml:div class="ErrorMessages" xml:lang="nl" 
xmlns:xhtml="http://www.w3.org/1999/xhtml";>
+       <!-- Where the error message contains dynamic information, the message 
has been split into an "a" and a "b" section.
+            This has been done even when the English does not require it, in 
order to accomodate different language grammars
+            that might position the dynamic information differently.
+       -->
+       <xhtml:p id="sch-message-1-nl">Schema fout: er werden Schematron 
elementen uit de oude en nieuwe
+               namespace gevonden</xhtml:p>
+       <xhtml:p id="sch-message-2-nl">Schema fout: gebruik 'xslt' in het 
queryBinding attribute</xhtml:p>
+       <xhtml:p id="sch-message-3a-nl">Faling: Deze implementatie van ISO 
Schematron werkt niet met
+               schemas die gebruik maken van de query language </xhtml:p>
+       <xhtml:p id="sch-message-3b-nl"/>
+       <xhtml:p id="sch-message-4a-nl">Fase fout: er is geen 'phase' 
gedefinieerd met naam </xhtml:p>
+       <xhtml:p id="sch-message-4b-nl"/>
+       <xhtml:p id="sch-message-5-nl">Markup fout: er is geen 'pattern' 
attribuut in &lt;active></xhtml:p>
+       <xhtml:p id="sch-message-6a-nl">Referentie fout: het 'pattern' 
"</xhtml:p>
+       <xhtml:p id="sch-message-6b-nl">" is geactiveerd maar niet 
gedeclareerd</xhtml:p>
+       <xhtml:p id="sch-message-7-nl">Markup fout: er is geen 'test' attribuut 
in &lt;assert</xhtml:p>
+       <xhtml:p id="sch-message-8-nl">Markup fout: er is geen 'test' attribuut 
in &lt;report></xhtml:p>
+       <xhtml:p id="sch-message-9-nl">Markup fout: er is geen 'id' attribuut 
in &lt;diagnostic></xhtml:p>
+       <xhtml:p id="sch-message-10-nl">Markup fout: er is geen 'rule' 
attribuut in &lt;extends></xhtml:p>
+       <xhtml:p id="sch-message-11a-nl">Referentie fout: de abstracte regel 
"</xhtml:p>
+       <xhtml:p id="sch-message-11b-nl">" werd gerefereerd maar niet 
gedeclareerd</xhtml:p>
+       <xhtml:p id="sch-message-12-nl">Markup fout: er is geen 'name' 
attribuut in &lt;key></xhtml:p>
+       <xhtml:p id="sch-message-13-nl">Markup fout: er is geen 'path' of 'use' 
attribuut in &lt;key></xhtml:p>
+       <xhtml:p id="sch-message-14-nl">Markup fout: er is geen 'path' of 'use' 
attribuut in &lt;key></xhtml:p>
+       <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>
+       <xhtml:p id="sch-message-16-nl">Markup fout: er is geen 'name' 
attribuut in &lt;function></xhtml:p>
+       <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>
+       <xhtml:p id="sch-message-18-nl">Schema fout: Leeg 'href=' attribuut bij 
de include opdracht.</xhtml:p>
+       <xhtml:p id="sch-message-19-nl">Fout: Onmogelijke URL gebruikt bij de 
Schematron include</xhtml:p>
+       <xhtml:p id="sch-message-20a-nl">Kan de gerefereerde 'include' file 
niet openen: </xhtml:p>
+       <xhtml:p id="sch-message-20b-nl"/>
+       <xhtml:p id="sch-message-21-nl">Schema fout: Gebruik include om 
fragmenten op te nemen, niet een volledig schema</xhtml:p>
+       <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>
+       <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>
+       <xhtml:p id="sch-message-24-nl">Waarschuwing: Variabelen niet gebruiken 
met de "xpath" query language binding.</xhtml:p>
+       <xhtml:p id="sch-message-25-nl">Waarschuwing: Variabelen niet gebruiken 
met de "xpath2" query language binding.</xhtml:p>
+       <xhtml:p id="sch-message-26-nl">Markup fout: er is geen 'uri' attribute 
in &lt;ns></xhtml:p>
+       <xhtml:p id="sch-message-27-nl">Markup fout: er is geen 'prefix' 
attribute in &lt;ns></xhtml:p>
+       <xhtml:p id="sch-message-28-nl">Schema implementatie fout: Dit schema 
heeft abstracte patronen, die al gepreprocessed zouden moeten zijn</xhtml:p>
+       <xhtml:p id="sch-message-29-nl">Markup fout: er is geen 'id' attribuut 
in &lt;phase></xhtml:p>
+       <xhtml:p id="sch-message-30-nl">Markup fout: er is geen 'context' 
attribuut in &lt;rule></xhtml:p>
+       <xhtml:p id="sch-message-31-nl">Markup fout: er is geen 'id' attribuut 
op abstracte &lt;rule></xhtml:p>
+       <xhtml:p id="sch-message-32-nl">Markup fout: (2) context attributen op 
abstracte &lt;rule></xhtml:p>
+       <xhtml:p id="sch-message-33-nl">Markup fout: context attribuut op 
abstracte &lt;rule></xhtml:p>
+       <xhtml:p id="sch-message-34-nl">Markup fout: er is geen 'select' 
attribute in &lt;value-of></xhtml:p>
+       <xhtml:p id="sch-message-35a-nl">Waarschuwing: </xhtml:p>
+       <xhtml:p id="sch-message-35b-nl"> mag geen kind elementen 
bevatten</xhtml:p>
+       <xhtml:p id="sch-message-36a-nl">Referentie fout: Een diagnostic 
"</xhtml:p>
+       <xhtml:p id="sch-message-36b-nl">" werd gerefereerd maar is niet 
gedeclareerd.</xhtml:p>
+       <xhtml:p id="sch-message-37a-nl">Het gebruik van de XSLT namespace met 
een prefix verschillend
+               van "xsl" in Schematron regels wordt niet ondersteund in deze 
processor:</xhtml:p>
+       <xhtml:p id="sch-message-37b-nl"/>
+       <xhtml:p id="sch-message-38a-nl">Fout: een niet herkend element in de 
ISO Schematron namespace: check spelling en hoofdlettergebruik</xhtml:p>
+       <xhtml:p id="sch-message-38b-nl"/>
+       <xhtml:p id="sch-message-39a-nl">Waarschuwing: een niet herkend element 
</xhtml:p>
+       <xhtml:p id="sch-message-39b-nl"/>
+</xhtml:div>

http://git-wip-us.apache.org/repos/asf/camel/blob/c887bd36/components/camel-schematron/src/main/resources/iso-schematron-xslt2/schematron-skeleton-api.htm
----------------------------------------------------------------------
diff --git 
a/components/camel-schematron/src/main/resources/iso-schematron-xslt2/schematron-skeleton-api.htm
 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/schematron-skeleton-api.htm
new file mode 100644
index 0000000..af81377
--- /dev/null
+++ 
b/components/camel-schematron/src/main/resources/iso-schematron-xslt2/schematron-skeleton-api.htm
@@ -0,0 +1,723 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; 
charset=windows-1252">
+       <TITLE>The ISO Schematron Skeleton API</TITLE>
+       <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.4  (Win32)">
+       <META NAME="CREATED" CONTENT="0;0">
+       <META NAME="CHANGED" CONTENT="20080808;2200065">
+</HEAD>
+<BODY LANG="en-AU" DIR="LTR">
+<H1>API for ISO Schematron Skeleton</H1>
+<H2><BR><BR>
+</H2>
+<P>Rick Jelliffe, 2010/04/14</P>
+<P>This document provides documentation on the XSLT API available in
+the implementation of Schematron called <TT>iso_schematron_skeleton.xsl</TT>.
+(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.   
+</P>
+<P>The <I>skeleton</I> 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
+<I>meta-stylesheet</I>.)   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. 
+</P>
+<P>Phases and error reporting for problems in the schema itself are
+handled by the skeleton with no interaction with a 
&ldquo;meta-stylesheet&rdquo;.
+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. 
+</P>
+<P>For an introductory tutorial on using this API, see Bob DuCharme's
+<A HREF="http://www.xml.com/pub/a/2004/10/05/tr.html";>Schematron 1.5:
+Looking Under the Hood</A> 
+</P>
+<H1>Superset of API for Schematron 1.5 and 1.6</H1>
+<P>(This is an updated version of the API for the Schematron 1.5
+implementation called <TT>skeleton1-5.xsl</TT>, which in turn comes
+from the <I>new architecture</I> contributed by Oliver Becker for
+Schematron 1.3.)</P>
+<P>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.</P>
+<P>Mooted addition: a parameter @action  which for specifying
+processing instructions on assertions and reports.</P>
+<HR>
+<H2><TT>process-prolog</TT></H2>
+<P>The <TT>process-prolog</TT> template gets called at the start of
+the validation session. It has no parameters. The default
+implementation is no action.</P>
+<HR>
+<H2><TT>process-root</TT></H2>
+<P>The <TT>process-root</TT> 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 /*) .</P>
+<DL>
+       <DT><TT><I>node-list</I></TT><TT> $contents</TT> 
+       </DT><DT>
+       <TT><I>string</I></TT><TT> $schemaVersion</TT> 
+       </DT><DD>
+       The version of the schema, perhaps a datestamp. 
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;xslt&quot; | &quot;xpath&quot; |
+       &quot;xslt2&quot; | ...</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $queryBinding</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The query language binding. </FONT>
+       </DD><DT>
+       <TT><I>string</I></TT><TT> $title</TT> 
+       </DT><DD>
+       The title of this schema 
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;iso&quot; | &quot;1.5&quot; |
+       &quot;1.6&quot; | ...</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $version</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">The version of Schematron being used. </FONT>
+       </DD></DL>
+<P>
+Rich properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The URI of an icon </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The unique identifier with the schema for the
+       </FONT><TT><FONT COLOR="#ff0000">schema</FONT></TT><FONT 
COLOR="#ff0000">
+       element. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The Formal Public Identifier for this schema. 
</FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The human language used in this schema, from
+       xml:lang </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | 
&quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">The value for xml:space </FONT>
+       </DD></DL>
+<P>
+To print the documentation paragraphs, use <TT>&lt;xsl:apply-templates
+mode=&quot;do-schema-p&quot; /&gt;</TT></P>
+<P>To output the results, use <TT>&lt;xsl:copy-of select=&quot;$contents&quot;
+/&gt;</TT></P>
+<HR>
+<H2><TT>process-assert</TT></H2>
+<P>The <TT>process-assert</TT> template handles asserts whose test
+has failed. 
+</P>
+<DL>
+       <DT><TT><I>XPath</I></TT><TT> $test</TT> 
+       </DT><DD>
+       The test 
+       </DD><DT>
+       <TT><I>XML IDREFS</I></TT><TT> $diagnostics</TT> 
+       </DT><DD>
+       A list of the idrefs diagnostic elements related to the current
+       assertion 
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $flag</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">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.</FONT> 
+       </DD></DL>
+<P>
+Rich properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The URI of an icon </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The unique identifier with the schema for the
+       </FONT><TT><FONT COLOR="#ff0000">assert</FONT></TT><FONT 
COLOR="#ff0000">
+       element. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The Formal Public Identifier for this
+       assertion. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The human language used in this assertion,
+       from xml:lang </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | 
&quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">The value for xml:space </FONT>
+       </DD></DL>
+<P>
+Linking properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $role</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">A name for the generic role of this assertion.
+       The schema creator would have their own vocabulary. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XPath</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $subject</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">A path relative to the current context to some
+       interesting node considered the subject. </FONT>
+       </DD></DL>
+<P>
+To print the text contents, use <TT>&lt;xsl:apply-templates
+mode=&quot;text&quot; /&gt;</TT></P>
+<HR>
+<H2><TT>process-diagnostic</TT></H2>
+<P>The <TT>process-diagnostic</TT> template handles diagnostic
+messages for <TT>assert</TT> statements that have failed and <TT>report</TT>
+statements that have succeeded. The diagnostics are evaluated in the
+context of the rule.</P>
+<P>Rich properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The URI of an icon </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The unique identifier with the schema for the
+       </FONT><TT><FONT COLOR="#ff0000">assert</FONT></TT><FONT 
COLOR="#ff0000">
+       element. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The Formal Public Identifier for this
+       assertion. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The human language used in this assertion,
+       from xml:lang </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | 
&quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">The value for xml:space </FONT>
+       </DD><HR>
+</DL>
+<H2><TT>process-dir</TT></H2>
+<P>The <TT>process-dir</TT> template handles bi-directionality
+markup, which is only needed by certain human scripts such as Arabic.</P>
+<DL>
+       <DT><TT><I>&quot;ltr&quot; or &quot;rtl&quot; or 
&quot;&quot;</I></TT><TT>
+       $value</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       Left-to-right or right-to-left or unspecified 
+       </DD><HR>
+</DL>
+<H2><TT>process-emph</TT></H2>
+<P>The <TT>process-emph</TT> template handles the markup of
+emphasized text in paragraphs, assertions and diagnostics. It has no
+parameters.</P>
+<HR>
+<H2><TT>process-message</TT></H2>
+<P>The <TT>process-message</TT> handles default outputing of text.</P>
+<DL>
+       <DT><TT><I>string</I></TT><TT> $pattern</TT> 
+       </DT><DD>
+       Some text that may be some kind of pattern 
+       </DD><DT>
+       <TT><I>string</I></TT><TT> $role</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       Some text that may be some kind of role 
+       </DD><HR>
+</DL>
+<H2><TT>process-name</TT></H2>
+<P>The <TT>process-name</TT> templates handle name strings that can
+be used in assertions. <TT>asssert</TT> and <TT>report</TT> only
+provide <TT>name</TT> subelements rather than the more general
+<TT>value-of</TT> elements to encourage plain language and generic
+descriptions rather than specific diagnostics, for which purpose the
+<TT>diagnostics</TT> elements are used.</P>
+<DL>
+       <DT><TT><I>string</I></TT><TT> $name</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       The name of the current element, or of the node specified by a 
<TT>name</TT>
+       element 
+       </DD><HR>
+</DL>
+<H2><TT>process-ns</TT></H2>
+<P>The <TT>process-ns</TT> template reports on <TT>ns</TT>
+declarations, which are used to transmit on namespace information by
+the skeleton.</P>
+<DL>
+       <DT><TT><I>Namespace NCName</I></TT><TT> $prefix</TT> 
+       </DT><DD>
+       The prefix of a namespace 
+       </DD><DT>
+       <TT><I>XML SystemId</I></TT><TT> $uri</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       The (internationalized) URI Reference of a namespace 
+       </DD><HR>
+</DL>
+<H2><TT>process-p</TT></H2>
+<P>The <TT>process-p</TT> template handles paragraphs.</P>
+<DL>
+       <DT><TT><I>XML NMTOKEN</I></TT><TT> $class</TT> 
+       </DT><DD>
+       An attribute that can be used for stylesheet style 
+       </DD><DT>
+       <TT><I>XML ID</I></TT><TT> $id</TT> 
+       </DT><DD>
+       The unique identifier with the schema for the <TT>p</TT> element. 
+       </DD><DT>
+       <TT><I>XML SystemId</I></TT><TT> $icon</TT> 
+       </DT><DD>
+       The URI of an icon 
+       </DD><DT>
+       <TT><I>IETF Language</I></TT><TT> $lang</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       The human language used in this paragraph 
+       </DD></DL>
+<P>
+To print the text contents, use <TT>&lt;xsl:apply-templates
+mode=&quot;text&quot; /&gt;</TT> 
+</P>
+<HR>
+<H2><TT>process-pattern</TT></H2>
+<P>The <TT>process-pattern</TT> reports on the start of evaluation of
+a <TT>pattern</TT> element.</P>
+<DL>
+       <DT><TT><I>string</I></TT><TT> $name</TT> 
+       </DT><DD>
+       The title of the current pattern 
+       </DD><DT>
+       <TT><I>XML NCNAMES</I></TT><TT> $is-a</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       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. 
+       </DD></DL>
+<P>
+Rich properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The URI of an icon </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The unique identifier with the schema for the
+       </FONT><TT><FONT COLOR="#ff0000">pattern</FONT></TT><FONT 
COLOR="#ff0000">
+       element. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The Formal Public Identifier for this pattern.
+       </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The human language used in this pattern, from
+       xml:lang </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">A (internationalized) URI reference to some
+       supporting or defining documentation </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | 
&quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">The value for xml:space </FONT>
+       </DD></DL>
+<P>
+To print the documentation contents, use <TT>&lt;xsl:apply-templates
+mode=&quot;do-pattern-p&quot;/&gt;</TT></P>
+<HR>
+<H2><TT>process-report</TT></H2>
+<P>The <TT>process-report</TT> template handles <TT>report</TT> whose
+test has succeeded. 
+</P>
+<DL>
+       <DT><TT><I>XPath</I></TT><TT> $test</TT> 
+       </DT><DD>
+       The test 
+       </DD><DT>
+       <TT><I>XML IDREFS</I></TT><TT> $diagnostics</TT> 
+       </DT><DD>
+       A list of the diagnostic elements related to the current assertion 
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $flag</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">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.</FONT> 
+       </DD></DL>
+<P>
+Rich properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The URI of an icon </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The unique identifier with the schema for the
+       </FONT><TT><FONT COLOR="#ff0000">report</FONT></TT><FONT 
COLOR="#ff0000">
+       element. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The Formal Public Identifier for this report. 
</FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The human language used in this report, from
+       xml:lang </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | 
&quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">The value for xml:space </FONT>
+       </DD></DL>
+<P>
+Linking properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $role</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">A name for the generic role of this assertion.
+       The schema creator would have their own vocabulary. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XPath</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $subject</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">A path relative to the current context to some
+       interesting node considered the subject. </FONT>
+       </DD></DL>
+<P>
+To print the text contents, use <TT>&lt;xsl:apply-templates
+mode=&quot;text&quot; /&gt;</TT></P>
+<HR>
+<H2><TT>process-rule</TT></H2>
+<P>The <TT>process-rule</TT> reports that a <TT>rule</TT> element has
+fired: its <TT>context</TT> attribute matched some nodes. .</P>
+<DL>
+       <DT><TT><I>XSLT expression</I></TT><TT> $context</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       The expression that gives the context of the current 
+       </DD></DL>
+<P>
+Rich properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML SystemId</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $icon</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The URI of an icon </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XML ID</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $id</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The unique identifier with the schema for this
+       </FONT><TT><FONT COLOR="#ff0000">rule</FONT></TT><FONT COLOR="#ff0000">
+       element. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>SGML FPI</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $fpi</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The Formal Public Identifier for this rule. 
</FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>IETF language</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $lang</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">The human language used in this rule, from
+       xml:lang </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>URL</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $see</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">Link to documentation on WWW or file </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>&quot;preserve&quot; | 
&quot;default&quot;</I></FONT></TT><TT><FONT COLOR="#ff0000">
+       $space</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">The value for xml:space </FONT>
+       </DD></DL>
+<P>
+Linking properties:</P>
+<DL>
+       <DT><TT><FONT COLOR="#ff0000"><I>XML NMTOKEN</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $role</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD>
+       <FONT COLOR="#ff0000">A name for the generic role of this assertion.
+       The schema creator would have their own vocabulary. </FONT>
+       </DD><DT>
+       <TT><FONT COLOR="#ff0000"><I>XPath</I></FONT></TT><TT><FONT 
COLOR="#ff0000">
+       $subject</FONT></TT><FONT COLOR="#ff0000"> </FONT>
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       <FONT COLOR="#ff0000">A path relative to the current context to some
+       interesting node considered the subject. </FONT>
+       </DD><HR>
+</DL>
+<H2><TT>process-span</TT></H2>
+<P>The <TT>process-span</TT> handles span elements, which are generic
+elements for styling, like HTML's .</P>
+<DL>
+       <DT><TT><I>XML NMTOKEN</I></TT><TT> $class</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       An attribute that can be used for stylesheet style 
+       </DD><HR>
+</DL>
+<H2><TT>process-title</TT></H2>
+<P>The <TT>process-title</TT> handles title elements, which are
+generic elements for styling, like HTML's .</P>
+<DL>
+       <DT><TT><I>XML NMTOKEN</I></TT><TT> $class</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       An attribute that can be used for stylesheet style 
+       </DD></DL>
+<P>
+By default, titles are handled by invocing <TT>process-p</TT> with
+the parameter class with a value &quot;title&quot;.</P>
+<HR>
+<H2><TT>process-value-of</TT></H2>
+<P>The <TT>process-value-of</TT> template handles <TT>value-of</TT>
+elements, which are used in diagnostic messages to allow very
+specific hinting .</P>
+<DL>
+       <DT><TT><I>XPath</I></TT><TT> $select</TT> 
+       </DT><DD STYLE="margin-bottom: 0.5cm">
+       The path of some node that will be evaluated and printed.</DD><HR>
+</DL>
+<H1>Global Parameters</H1>
+<P>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(<I>variable</I><SPAN STYLE="font-style: normal">) &lt;
+0 is appropriate in each case.</SPAN></P>
+<P><BR><BR>
+</P>
+<TABLE WIDTH=557 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=1 CELLSPACING=0>
+       <COL WIDTH=132>
+       <COL WIDTH=77>
+       <COL WIDTH=340>
+       <TR>
+               <TD WIDTH=132>
+                       <P ALIGN=CENTER><FONT SIZE=2><B>Parameter</B></FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P ALIGN=CENTER><FONT SIZE=2><B>Value</B></FONT></P>
+               </TD>
+               <TD WIDTH=340>
+                       <P ALIGN=CENTER><FONT 
SIZE=2><B>Description</B></FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>allow-foreign</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>&quot;true&quot; | &quot;false&quot; 
(default) </FONT>
+                       </P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>Pass non-Schematron elements to the 
generated
+                       stylesheet.  Pass the Schematron elements span, emph 
and dir: to
+                       the output SVRL.  </FONT>
+                       </P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>fileNameParameter</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>string</FONT></P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>A parameter passed to the Validator and
+                       potentially available as a variable in Schematron 
schemas as
+                       $fileNameParameter</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>fileDirParameter</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>string</FONT></P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>A parameter passed to the Validator and
+                       potentially available as a variable in Schematron 
schemas as
+                       $fileDirParameter</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>archiveNamePaameter</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>string</FONT></P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>A parameter passed to the Validator and
+                       potentially available as a variable in Schematron 
schemas as
+                       $archiveNameParameter</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>archiveDirParameter</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>string</FONT></P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>A parameter passed to the Validator and
+                       potentially available as a variable in Schematron 
schemas as
+                       $archivePathParameter</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>debug </FONT>
+                       </P>
+               </TD>
+               <TD WIDTH=77>
+                       <P>&ldquo;<FONT SIZE=2>true&rdquo; | 
&ldquo;false&rdquo; (default)</FONT></P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>Verbose error messages (Note this may be
+                       superceded by &ldquo;verbose&rdquo; at some stage in 
the future.)</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>generate-paths</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>true|false </FONT>
+                       </P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>generate the SVRL @location attribute 
with XPaths</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>diagnose</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>yes | no </FONT>
+                       </P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>Add the diagnostics to the assertion 
results</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><A NAME="DDE_LINK"></A><FONT 
SIZE=2>terminate</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>yes | no | true | false | assert</FONT>
+                       </P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>Terminate on the first failed assertion 
or
+                       successful report</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>message-newline </FONT>
+                       </P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>&quot;true&quot; (default) | 
&quot;false&quot;  </FONT>
+                       </P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>Generate an extra newline at the end of 
messages</FONT></P>
+               </TD>
+       </TR>
+       <TR>
+               <TD WIDTH=132>
+                       <P><FONT SIZE=2>output-encoding</FONT></P>
+               </TD>
+               <TD WIDTH=77>
+                       <P><FONT SIZE=2>string</FONT></P>
+               </TD>
+               <TD WIDTH=340>
+                       <P><FONT SIZE=2>The encoding used for output, for 
example if the
+                       output is XML</FONT></P>
+               </TD>
+       </TR>
+</TABLE>
+<DL>
+       <DD STYLE="margin-bottom: 0.5cm"> 
+       </DD></DL>
+</BODY>
+</HTML>
\ No newline at end of file

Reply via email to