- From: Geert Josten <geert.josten@dayon.nl>
- Date: Tue, 17 Dec 2013 15:54:59 +0100
- To: Romain Deltour <rdeltour@gmail.com>, RICAUD-DUSSARGET Matthieu <matthieu.ricaud@igs-cp.fr>
- Cc: XProc Dev <xproc-dev@w3.org>
- Message-ID: <b94a6c342568ce7635540a6bfa3ef5eb@mail.gmail.com>
Registering functions in Saxon HE manually isn’t very difficult by the way. A while ago I wrote a small wrapper around the main class of Saxon that allowed supplying a file with all registering details, which allowed on-the-fly registering at start of Saxon. Not sure I’d be able to find back that code, but shouldn’t be difficult to reproduce. If XMLCalabash would allow declaring saxon extensions in the config, it could take care of doing that registration for you while it initializes Saxon.. Just a thought.. Geert *Van:* Romain Deltour [mailto:rdeltour@gmail.com] *Verzonden:* dinsdag 17 december 2013 9:54 *Aan:* RICAUD-DUSSARGET Matthieu *CC:* XProc Dev *Onderwerp:* Re: Processing DocBook with Calabash: 'exslt' error "Cannot find a matching 1-argument function named { http://exslt.org/common}node-set()" No problem ;) By the way, supporting user-defined functions is part of XProc v2 requirements [1]. If this goes through, it might be an incentive for Michael Kay / Saxonica to open up the API and allow open source implementations of this feature ? <dream-mode-off/> Romain. [1] http://www.w3.org/XML/XProc/docs/xproc-v2-req.html#user-defined-functions On 17 déc. 2013, at 09:43, RICAUD-DUSSARGET Matthieu < matthieu.ricaud@igs-cp.fr> wrote: My apologies, you're right Romain. Thanks for precising the difference between these 2 kind of functions : processors-specific written in java and xslt defines ones. And thanks for confirming there seem's to be no workaround to use xslt-defines function with xproc/calabash/saxonHE. Althought one may define xslt functions when running an XSLT2 stylesheet with SaxonHE. Not with xproc, well "c'est la vie" :( Cheers Matthieu 2013/12/16 Romain Deltour <rdeltour@gmail.com> I think Graeme’s original question and the topic discussed in Norm’s blog are two different things. 1. Graeme wants to have processor-specific XPath extension functions working in Saxon. The reason it doesn’t work out of the box in Saxon HE is that the implementation of the EXSLT functions are no longer bundled by default with Saxon HE. It is workable though if you write the glue code to register these functions with Saxon’s configuration object. 2. Norm’s blog is about importing **xslt-defined** functions in XProc. These are not really processor-specfiic extension functions (e.g. written in Java). The reason why this new Calabash feature doesn’t work with Saxon HE is because Saxon’s API is intentionally restricted. There is unfortunately no workaround (that I know of). Romain. On 16 déc. 2013, at 18:45, RICAUD-DUSSARGET Matthieu < matthieu.ricaud@igs-cp.fr> wrote: Hi Graeme I was wondering the quite same question a few days ago. After searching, it seems one cannot use custom xslt functions (home made, not only exslt) with xproc/calabash unless one get a saxon(PE?)/EE licence. See norm's explanation here : http://norman.walsh.name/2013/08/20/extensionFunctions Cheers, Matthieu 2013/12/10 Ari Nordström <Ari.Nordstrom@condesign.se> Hi, You should be able to specify a saxon configuration file when running Calabash. See http://www.saxonica.com/documentation/configuration/configuration-file/. The <xslt> value "0.0" means that the XSLT version used is taken from the stylesheet. Haven't tested this but it's what the documentation says. As for Calabash, you can add a --saxon-configuration <file> option to its command line. Best, Ari Ari Nordström Senior Consultant Condesign Operations Support AB Phone +46 31 744 17 91 Mobile +46 736 000 333 Email ari.nordstrom@condesign.se >>> <graeme@heliocentrik.net> 2013-12-02 13:06 >>> Hi all, Apologies that this is a processor-specific question (relating to Calabash), but I couldn't find a comparable mailing list which was specific to Calabash. I'm processing DocBook files with an XProc pipeline. My issue is that when I invoke the DocBook 1.78.0 XSL stylesheets' 'assemble.xsl' file, I get an 'exslt' error indicating that a required extension function could not be found. The error is as follows: Dec 02, 2013 11:53:58 AM com.xmlcalabash.util.DefaultXProcMessageListener error SEVERE: file:/[...]/docbook/assembly/assemble.xsl:552:err:XTDE1425:Cannot find a matching 1-argument function named {http://exslt.org/common}node-set(). There is no Saxon extension function with the local name node-set I understand from Bob Stayton [1] that this is a by-product of trying to invoke the DocBook stylesheets (which are XSLT 1.0) with Saxon 9 HE, which is an XSLT 2.0 processor. However, when I run the pipeline from within oXygen, which embeds Saxon EE, the DocBook stylesheets run quiet happily. Modifying oXygen's config to force it to use HE causes the error to appear there as well. My XSLT step looks like this: <p:xslt name="assemble-docbook"> <p:input port="stylesheet"> <p:document href="../target/generated-resources/docbook/assembly/assemble.xsl"/> </p:input> <p:input port="parameters"> <p:empty/> </p:input> <p:with-option name="version" select="1.0" /> </p:xslt> I wonder if anyone could clarify whether a stock installation of Calabash, with Saxon HE, can be cajoled into running the DocBook stylesheets correctly. I've tried adding the '-X use-xslt-10' flag to the command without any success. I need to be able to run the pipeline from the shell (or maybe even on the web) on boxes where I won't have a licence for Saxon EE. I'm running Calabash 1.0.15 and Saxon 9.5.1.1 HE. Thanks in advance for any assistance. Graeme [1] https://lists.oasis-open.org/archives/docbook-apps/201311/msg00043.html This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. Condesign AB, 556255-8313, säte Göteborg; Condesign Automation AB, 556271-3676, säte Göteborg; Condesign Engineering AB, 556469-2092 säte Göteborg; Condesign Infocom AB, 556453-7172, säte Ljungby; Condesign InfoProductions AB, 556385-4255, säte Linköping; Condesign Operations Support AB, 556307-1231, säte Göteborg. -- Matthieu Ricaud-Dussarget IGS-CP - Développeur XML 05 45 37 09 49 -- Matthieu Ricaud-Dussarget IGS-CP - Développeur XML 05 45 37 09 49
Received on Tuesday, 17 December 2013 14:55:34 UTC