foreign markup in ISO Schematron launched by NVDL

Hi, I’m calling an ISO Schematron from an NVDL in oXygen 19 which works fine so far. Now we were wondering whether we may also use foreign markup, in particular XSLT. But I don’t see an obvious way how to pass allow-foreign=true to the Schematron validator (not sure whether it is relying on the default XSLT2 ISO Schematron implementation anyway). This is not important for our current use case. Just asking out of interest and because Matthieu raised the question. Gerrit -- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930 Geschäftsführer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vöckler

Hi Gerrit, Thank you for reporting this for me :) In my version of oXygen (15.2) there's a way to set allowForeign for schematron : Preferences > XML > XML Parser > schematron : "checkbox to allowForeign" I gues it's the same in the latest version of oXygen. (I will now it soon as my company will update each of our licences to the version 19 :)) This works fine when using a schematron validation scenario from oXygen (which implement skeleton xslt as far as I read). But when the (iso-)schematron is called from within an NVDL script, oXygen is using jing which doesn't support "NVDL with iso-schematron". The latest jing version from Georges (https://github.com/georgebina/jing-trang) supports iso-schematron as standalone validation, but I guess not from NVDL. Axel Court has made a patch for this (https://github.com/AxelCourt/jing-trang ): - making the class com.thaiopensource.relaxng.util.Driver public - using skeleton (http://www.schematron.com/implementation.html) for nvdl validation But there are still things to set before making a pull request for this : - a bug with xsl:import within skeleton, probably a catalog problem : iso_dsdl_include.xsl has not been included - xsl parameter allow-foreign has been forced to true() - jing now depends on saxon9 which was saxon6.5 before Hope my interpretation of oXygen not supporting iso-schematron from NVDL is correct. If the team has any plan to make it work, please let us know ! Cheers Matthieu -----Message d'origine----- De : oXygen-user [mailto:oxygen-user-bounces@oxygenxml.com] De la part de Imsieke, Gerrit, le-tex Envoyé : lundi 10 avril 2017 12:02 À : oxygen-user@oxygenxml.com Cc : Matthieu Ricaud-Dussarget Objet : [oXygen-user] foreign markup in ISO Schematron launched by NVDL Hi, I’m calling an ISO Schematron from an NVDL in oXygen 19 which works fine so far. Now we were wondering whether we may also use foreign markup, in particular XSLT. But I don’t see an obvious way how to pass allow-foreign=true to the Schematron validator (not sure whether it is relying on the default XSLT2 ISO Schematron implementation anyway). This is not important for our current use case. Just asking out of interest and because Matthieu raised the question. Gerrit -- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930 Geschäftsführer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vöckler _______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user

Hi Matthieu, The allow foreign configuration option is set here, too. But as Octavian and you already stated, the Schematron implementation that is called from NVDL is the one that is baked into jing and therefore the option doesn’t apply to it. Contrary to your assumption, the version of jing in recent oXygen products already supports ISO Schematron, which your 15.2 product doesn’t. So upgrading to 19 will help you at least to a certain degree. Regarding XSLT in Schematron: Rick Jelliffe once made a point that you can avoid custom XSLT functions in many cases by using Schematron let statements [1]. But admittedly, sch:let won’t give you type checking, for example. Gerrit [1] http://broadcast.oreilly.com/2010/09/do-you-need-to-make-your-own-x.html On 10.04.2017 16:13, Matthieu RICAUD-DUSSARGET wrote:
Hi Gerrit,
Thank you for reporting this for me :)
In my version of oXygen (15.2) there's a way to set allowForeign for schematron :
Preferences > XML > XML Parser > schematron : "checkbox to allowForeign"
I gues it's the same in the latest version of oXygen. (I will now it soon as my company will update each of our licences to the version 19 :))
This works fine when using a schematron validation scenario from oXygen (which implement skeleton xslt as far as I read). But when the (iso-)schematron is called from within an NVDL script, oXygen is using jing which doesn't support "NVDL with iso-schematron".
The latest jing version from Georges (https://github.com/georgebina/jing-trang) supports iso-schematron as standalone validation, but I guess not from NVDL.
Axel Court has made a patch for this (https://github.com/AxelCourt/jing-trang ): - making the class com.thaiopensource.relaxng.util.Driver public - using skeleton (http://www.schematron.com/implementation.html) for nvdl validation But there are still things to set before making a pull request for this : - a bug with xsl:import within skeleton, probably a catalog problem : iso_dsdl_include.xsl has not been included - xsl parameter allow-foreign has been forced to true() - jing now depends on saxon9 which was saxon6.5 before
Hope my interpretation of oXygen not supporting iso-schematron from NVDL is correct. If the team has any plan to make it work, please let us know !
Cheers
Matthieu
-----Message d'origine----- De : oXygen-user [mailto:oxygen-user-bounces@oxygenxml.com] De la part de Imsieke, Gerrit, le-tex Envoyé : lundi 10 avril 2017 12:02 À : oxygen-user@oxygenxml.com Cc : Matthieu Ricaud-Dussarget Objet : [oXygen-user] foreign markup in ISO Schematron launched by NVDL
Hi,
I’m calling an ISO Schematron from an NVDL in oXygen 19 which works fine so far. Now we were wondering whether we may also use foreign markup, in particular XSLT. But I don’t see an obvious way how to pass allow-foreign=true to the Schematron validator (not sure whether it is relying on the default XSLT2 ISO Schematron implementation anyway). This is not important for our current use case. Just asking out of interest and because Matthieu raised the question.
Gerrit
-- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930
Geschäftsführer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vöckler _______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user _______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930 Geschäftsführer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vöckler

Hi Gerrit, Matthieu, The ISO Schematron support I added to jing-trang a few years ago is minimal, mainly at the same level as Schematron 1.6 but with the ISO Schematron namespace. Jing Schematron implementation is also based on XSLT, but it is different from the Skeleton one, that is why it is not trivial to update it. The support for ISO Schematron is one of the most voted (if not the most voted) feature request for jing-trang, so it will probably get implemented not too far in the future. Best Regards, George -- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 10/04/17 17:53, Imsieke, Gerrit, le-tex wrote:
Hi Matthieu,
The allow foreign configuration option is set here, too. But as Octavian and you already stated, the Schematron implementation that is called from NVDL is the one that is baked into jing and therefore the option doesn’t apply to it. Contrary to your assumption, the version of jing in recent oXygen products already supports ISO Schematron, which your 15.2 product doesn’t. So upgrading to 19 will help you at least to a certain degree.
Regarding XSLT in Schematron: Rick Jelliffe once made a point that you can avoid custom XSLT functions in many cases by using Schematron let statements [1]. But admittedly, sch:let won’t give you type checking, for example.
Gerrit
[1] http://broadcast.oreilly.com/2010/09/do-you-need-to-make-your-own-x.html
On 10.04.2017 16:13, Matthieu RICAUD-DUSSARGET wrote:
Hi Gerrit,
Thank you for reporting this for me :)
In my version of oXygen (15.2) there's a way to set allowForeign for schematron :
Preferences > XML > XML Parser > schematron : "checkbox to allowForeign"
I gues it's the same in the latest version of oXygen. (I will now it soon as my company will update each of our licences to the version 19 :))
This works fine when using a schematron validation scenario from oXygen (which implement skeleton xslt as far as I read). But when the (iso-)schematron is called from within an NVDL script, oXygen is using jing which doesn't support "NVDL with iso-schematron".
The latest jing version from Georges (https://github.com/georgebina/jing-trang) supports iso-schematron as standalone validation, but I guess not from NVDL.
Axel Court has made a patch for this (https://github.com/AxelCourt/jing-trang ): - making the class com.thaiopensource.relaxng.util.Driver public - using skeleton (http://www.schematron.com/implementation.html) for nvdl validation But there are still things to set before making a pull request for this : - a bug with xsl:import within skeleton, probably a catalog problem : iso_dsdl_include.xsl has not been included - xsl parameter allow-foreign has been forced to true() - jing now depends on saxon9 which was saxon6.5 before
Hope my interpretation of oXygen not supporting iso-schematron from NVDL is correct. If the team has any plan to make it work, please let us know !
Cheers
Matthieu
-----Message d'origine----- De : oXygen-user [mailto:oxygen-user-bounces@oxygenxml.com] De la part de Imsieke, Gerrit, le-tex Envoyé : lundi 10 avril 2017 12:02 À : oxygen-user@oxygenxml.com Cc : Matthieu Ricaud-Dussarget Objet : [oXygen-user] foreign markup in ISO Schematron launched by NVDL
Hi,
I’m calling an ISO Schematron from an NVDL in oXygen 19 which works fine so far. Now we were wondering whether we may also use foreign markup, in particular XSLT. But I don’t see an obvious way how to pass allow-foreign=true to the Schematron validator (not sure whether it is relying on the default XSLT2 ISO Schematron implementation anyway). This is not important for our current use case. Just asking out of interest and because Matthieu raised the question.
Gerrit
-- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930
Geschäftsführer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vöckler _______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user _______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user

Hi, Right now you cannot do this. The current Jing implementation (that is used for validation with NVDL) ignores the foreign elements from Schematron. I will add an issue on our issue tracker for this to analyze it and find a solution. We will notify you when we will come to a conclusion. Best Regards, Octavian -- Octavian Nadolu <oXygen/> XML Editor http://www.oxygenxml.com On 10.04.2017 13:02, Imsieke, Gerrit, le-tex wrote:
Hi,
I’m calling an ISO Schematron from an NVDL in oXygen 19 which works fine so far. Now we were wondering whether we may also use foreign markup, in particular XSLT. But I don’t see an obvious way how to pass allow-foreign=true to the Schematron validator (not sure whether it is relying on the default XSLT2 ISO Schematron implementation anyway). This is not important for our current use case. Just asking out of interest and because Matthieu raised the question.
Gerrit

Hi Octavian et al. Long term, could a translator be created or does one exist that will transform Schematron into XSD1.1? This would Help with projects like Health Level 7 (HL-7) FHIR Thank you. Yours, Robert Leif -----Original Message----- From: oXygen-user [mailto:oxygen-user-bounces@oxygenxml.com] On Behalf Of Oxygen XML Editor Support (Octavian Nadolu) Sent: Monday, April 10, 2017 7:19 AM To: oxygen-user@oxygenxml.com Subject: Re: [oXygen-user] foreign markup in ISO Schematron launched by NVDL Hi, Right now you cannot do this. The current Jing implementation (that is used for validation with NVDL) ignores the foreign elements from Schematron. I will add an issue on our issue tracker for this to analyze it and find a solution. We will notify you when we will come to a conclusion. Best Regards, Octavian -- Octavian Nadolu <oXygen/> XML Editor http://www.oxygenxml.com On 10.04.2017 13:02, Imsieke, Gerrit, le-tex wrote:
Hi,
I’m calling an ISO Schematron from an NVDL in oXygen 19 which works fine so far. Now we were wondering whether we may also use foreign markup, in particular XSLT. But I don’t see an obvious way how to pass allow-foreign=true to the Schematron validator (not sure whether it is relying on the default XSLT2 ISO Schematron implementation anyway). This is not important for our current use case. Just asking out of interest and because Matthieu raised the question.
Gerrit
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus

Hi Robert, XSD 1.1 is more restrictive than Schematron, for example all the checks need to be refer only the subtree rooted in the tested element, you cannot check anything outside that, while in Schematron that is allowed. Of course one can move the assertion on the parent of another ancestor element, but that may not be easy to do automatically. So, a generic converter will be difficult - limiting to a supported Schematron subset will be doable. Best Regards, George -- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 10/04/17 21:04, rleif@rleif.com wrote:
Hi Octavian et al. Long term, could a translator be created or does one exist that will transform Schematron into XSD1.1? This would Help with projects like Health Level 7 (HL-7) FHIR Thank you. Yours, Robert Leif -----Original Message----- From: oXygen-user [mailto:oxygen-user-bounces@oxygenxml.com] On Behalf Of Oxygen XML Editor Support (Octavian Nadolu) Sent: Monday, April 10, 2017 7:19 AM To: oxygen-user@oxygenxml.com Subject: Re: [oXygen-user] foreign markup in ISO Schematron launched by NVDL
Hi,
Right now you cannot do this. The current Jing implementation (that is used for validation with NVDL) ignores the foreign elements from Schematron. I will add an issue on our issue tracker for this to analyze it and find a solution. We will notify you when we will come to a conclusion.
Best Regards, Octavian
-- Octavian Nadolu <oXygen/> XML Editor http://www.oxygenxml.com
On 10.04.2017 13:02, Imsieke, Gerrit, le-tex wrote:
Hi,
I’m calling an ISO Schematron from an NVDL in oXygen 19 which works fine so far. Now we were wondering whether we may also use foreign markup, in particular XSLT. But I don’t see an obvious way how to pass allow-foreign=true to the Schematron validator (not sure whether it is relying on the default XSLT2 ISO Schematron implementation anyway). This is not important for our current use case. Just asking out of interest and because Matthieu raised the question.
Gerrit
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
--- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
participants (5)
-
George Bina
-
Imsieke, Gerrit, le-tex
-
Matthieu RICAUD-DUSSARGET
-
Oxygen XML Editor Support (Octavian Nadolu)
-
rleif@rleif.com