starts-with() match on @role in Schematron error reporting?

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 Tony.Graham@MenteithConsulting.com 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

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 Tony.Graham@MenteithConsulting.com 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 oXygen-user@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-user

On Mon, February 14, 2011 4:20 pm, George Cristian Bina wrote: ...
After you make the desired changes you need to pack the Schematron stylesheets in a jar or a zip having the following structure: ... then place this in oXygen/lib/endorsed (please note that you need to create the endorsed folder) and restart oXygen if it was open.
Thanks. That's easy enough, though in this case I'd need to check whether the client is willing to add the jar and the endorsed directory to all their oXygen installations. The current approach, arrived at since my previous email in this thread, is to use @role for the error/warning code and prefix the text of warnings with 'Warning:', since using @role this way is useful to us and since there's far fewer warning codes than there are error codes (and errors don't need any prefix). Regards, Tony Graham Tony.Graham@MenteithConsulting.com 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
participants (2)
-
George Cristian Bina
-
Tony Graham