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 08:54:55 UTC