[oXygen-user] starts-with() match on @role in Schematron error reporting?

George Cristian Bina
Mon Feb 14 10:20:42 CST 2011


Hi Tony,

The oXygen Schematron implementation is available from
[oXygen]/frameworks/schematron/impl

The processing of different role attribute values is done in the 
iso-schematron-message.xsl and in the schematron-message.xsl for ISO 
Schematron and pre ISO Schematron, respectively.

You can edit these to add your desired values or logic, for example your 
can change

<xsl:when test="$r='warning' or $r='warn')">

to

<xsl:when test="$r='warning' or $r='warn' or starts-with($r, 'warning_')">

in order to accept any value starting with warning_ as a warning.
(the r variable contains warning in lowercase as there is a translate 
WARNING to warning, ERROR to ERROR, etc. before in the stylesheet)

After you make the desired changes you need to pack the Schematron 
stylesheets in a jar or a zip having the following structure:

builtin/RNG2Schtrn.xsl
builtin/XSD2Schtrn.xsl
builtin/iso-schematron-abstract.xsl
builtin/iso-schematron-message.xsl
builtin/iso_schematron_skeleton.xsl
builtin/schematron-message.xsl
builtin/schematronDispatcher.xsl
builtin/skeleton1-5.xsl

then place this in oXygen/lib/endorsed
(please note that you need to create the endorsed folder)
and restart oXygen if it was open.

oXygen will load automatically anything found in lib/endorsed before 
other libraries so in this way you will overwrite the default Schematron 
implementation from oXygen.

Best Regards,
George
-- 
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

On 2/12/11 12:04 AM, Tony Graham wrote:
> This message from 2009 describes what happens on Schematron validation:
>
> http://www.oxygenxml.com/pipermail/oxygen-user/2009-November/002902.html
>
> I couldn't find anything similar in the oXygen documentation.  Is it in
> there?
>
> oXygen seems to match on exactly 'warning', etc., in @role, as the 2009
> message suggests.
>
> However, I am currently working with a system that already has error
> identifiers along the lines of WARNING_BAD_THING and ERROR_WORSE_THING.
>
> I would like to be able to put those in assert/@role and report/@role
> because the @role values show up in both oXygen and SVRL even when the
> <assert>  or<report>  is in an abstract rule.  (I.e., there's nothing in
> ISO Schematron SVRL for an abstract rule firing, but there is for its
> <assert>s and<report>s.)
>
> Is it possible to loosen the @role value matching to set the severity when
> @role starts with 'warning', etc., instead of matching on the whole @role
> value?
>
> Regards,
>
>
> Tony Graham                         
> Director                                  W3C XSL FO SG Invited Expert
> Menteith Consulting Ltd                               XML Guild member
> XML, XSL and XSLT consulting, programming and training
> Registered Office: 13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland
> Registered in Ireland - No. 428599   http://www.menteithconsulting.com
>    --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
> xmlroff XSL Formatter                               http://xmlroff.org
> xslide Emacs mode                  http://www.menteith.com/wiki/xslide
> Unicode: A Primer                               urn:isbn:0-7645-4625-2
>
> _______________________________________________
> oXygen-user mailing list
> 
> http://www.oxygenxml.com/mailman/listinfo/oxygen-user
>



More information about the oXygen-user mailing list