Re: Use Case 5.32 Pipeline

Thanks Vojtech !!

I rediscover all the subtleties !

So here the proposal for 5.32

<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
  xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
  <p:output port="result"/>
  <p:template>
    <p:input port="template">
      <p:inline>
        <root>
          Is XQuery available : { $has-xquery }
        </root>
      </p:inline>
    </p:input>
    <p:input port="source">
      <p:empty/>
    </p:input>
    <p:with-param name="has-xquery" select="p:step-available('p:xquery')"/>
  </p:template>
</p:declare-step>

Mohamed

On Thu, May 24, 2012 at 8:53 AM,  <vojtech.toman@emc.com> wrote:
> The idea clearly was that since the p:template *step* evaluates the XPath expressions in the template document, it uses the step XPath context, in which p:step-available() (and others) are not defined. But we don't say that explicitly.
>
> We actually don't say that for p:filter, p:label-elements, p:split-sequence etc. either. But I think that sections 2.6.1 and 2.6.2 are clear enough:
>
> "When a *step* evaluates an XPath expression [...], unless otherwise indicated by a particular step, it does so with the following initial context: ..."
>
> Regards,
> Vojtech
>
> --
> Vojtech Toman
> Consultant Software Engineer
> EMC | Information Intelligence Group
> vojtech.toman@emc.com
> http://developer.emc.com/xmltech
>
>> -----Original Message-----
>> From: innovimax@gmail.com [mailto:innovimax@gmail.com] On Behalf Of
>> Innovimax W3C
>> Sent: Thursday, May 24, 2012 1:06 AM
>> To: XProc WG
>> Subject: Re: Use Case 5.32 Pipeline
>>
>> Interesting side effet
>>
>> In the process of trying to propose some alternate rewriting using
>> p:template
>>
>> I did this
>>
>> <p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
>>   xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
>>   <p:output port="result"/>
>>   <p:template>
>>     <p:input port="template">
>>       <p:inline>
>>         <root>
>>           Is XQuery available { p:step-available('p:xquery') }
>>         </root>
>>       </p:inline>
>>     </p:input>
>>     <p:input port="source">
>>       <p:empty/>
>>     </p:input>
>>     <p:input port="parameters">
>>       <p:empty/>
>>     </p:input>
>>   </p:template>
>> </p:declare-step>
>>
>> And I get this error :
>>
>> err:XD0023 : Invalid XPath expression: ' p:step-available('p:xquery')
>> '. It is a dynamic error if an XPath expression is encountered which
>> cannot be evaluated (because it is syntactically incorrect, contains
>> references to unbound variables or unknown functions, or for any other
>> reason).
>>
>> My problem is that we didn't define in
>> http://www.w3.org/TR/xproc-template/, what the XPath context contains
>> !!
>>
>> So I cannot even blame Calabash !!
>>
>> Mohamed
>>
>>
>> On Wed, May 23, 2012 at 8:45 PM, Alex Milowski <alex@milowski.com>
>> wrote:
>> > <?xml version="1.0" encoding="UTF-8"?>
>> > <p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
>> >    xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
>> >    <p:output port="result"/>
>> >    <p:choose>
>> >        <p:when test="p:step-available('p:xquery')">
>> >            <p:identity>
>> >                <p:input port="source">
>> >                    <p:inline><green/></p:inline>
>> >                </p:input>
>> >            </p:identity>
>> >        </p:when>
>> >        <p:otherwise>
>> >            <p:identity>
>> >                <p:input port="source">
>> >                    <p:inline><red/></p:inline>
>> >                </p:input>
>> >            </p:identity>
>> >        </p:otherwise>
>> >    </p:choose>
>> > </p:declare-step>
>>
>>
>>
>> --
>> Innovimax SARL
>> Consulting, Training & XML Development
>> 9, impasse des Orteaux
>> 75020 Paris
>> Tel : +33 9 52 475787
>> Fax : +33 1 4356 1746
>> http://www.innovimax.fr
>> RCS Paris 488.018.631
>> SARL au capital de 10.000 €
>>
>



-- 
Innovimax SARL
Consulting, Training & XML Development
9, impasse des Orteaux
75020 Paris
Tel : +33 9 52 475787
Fax : +33 1 4356 1746
http://www.innovimax.fr
RCS Paris 488.018.631
SARL au capital de 10.000 €

Received on Thursday, 24 May 2012 07:34:02 UTC