- From: Geert Josten <geert.josten@dayon.nl>
- Date: Mon, 7 May 2012 16:08:52 +0200
- To: vojtech.toman@emc.com, xproc-dev@w3.org
Quite counter-intuitive to my humble opinion..
:-/
> -----Oorspronkelijk bericht-----
> Van: vojtech.toman@emc.com [mailto:vojtech.toman@emc.com]
> Verzonden: maandag 7 mei 2012 16:06
> Aan: xproc-dev@w3.org
> Onderwerp: RE: Referencing an XProc variable in p:split-sequence/@test
>
> Hi Florent,
>
> You cannot refer to a variable in p:split-sequence as the 'test' XPath
expression
> is evaluated using the step XPath context (no variable bindings
available). A
> solution is to do something like this:
>
> <p:split-sequence>
> <p:with-option name="test" select="concat(' name(/*) eq
'",$elem,"')"/>
> </p:split-sequence>
>
> Regards,
> Vojtech
>
> --
> Vojtech Toman
> Consultant Software Engineer
> EMC | Information Intelligence Group
> vojtech.toman@emc.com
> http://developer.emc.com/xmltech
>
>
> > -----Original Message-----
> > From: fgeorges@gmail.com [mailto:fgeorges@gmail.com] On Behalf Of
> > Florent Georges
> > Sent: Monday, May 07, 2012 3:40 PM
> > To: XProc Dev
> > Subject: Referencing an XProc variable in p:split-sequence/@test
> >
> > Hi,
> >
> > I have the following pipeline, which returns as expected the
> > document with element 'one' as result:
> >
> > <p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
> > xmlns:c="http://www.w3.org/ns/xproc-step"
> > name="pipeline"
> > version="1.0">
> >
> > <p:input port="source" sequence="true" primary="true">
> > <p:inline>
> > <one/>
> > </p:inline>
> > <p:inline>
> > <two/>
> > </p:inline>
> > </p:input>
> >
> > <p:output port="result" sequence="true" primary="true"/>
> >
> > <p:split-sequence test="name(/*) eq 'one'"/>
> >
> > </p:declare-step>
> >
> > If I replace the above split sequence step with the following (that
> > is, simply creating a variable to get the name of the element out of
> > the XPath expression itself):
> >
> > <p:variable name="elem" select=" 'one' ">
> > <p:empty/>
> > </p:variable>
> > <p:split-sequence test="name(/*) eq $elem"/>
> >
> > then I get the following error:
> >
> > SEVERE: Underlying exception: net.sf.saxon.trans.XPathException:
> > Undeclared variable in XPath expression: $elem
> >
> > From my reading, using an XProc variable in a p:split-sequence/@test
> > expression is allowed. Did I miss something, or is it a bug in
> > Calabash? (latest Github content for Saxon 9.4+)
> >
> > Regards,
> >
> > --
> > Florent Georges
> > http://fgeorges.org/
> > http://h2oconsulting.be/
> >
>
Received on Monday, 7 May 2012 14:09:21 UTC