W3C home > Mailing lists > Public > xproc-dev@w3.org > May 2009

Re: xproc as an alternative to Apache ant

From: Dave Pawson <dave.pawson@gmail.com>
Date: Mon, 25 May 2009 08:30:21 +0100
Message-ID: <711a73df0905250030t3bb41350p546d445c703bae80@mail.gmail.com>
To: xproc-dev@w3.org
Thanks Vojtech.


2009/5/25  <Toman_Vojtech@emc.com>:

> For example, consider this params.xml document:
>
> <c:param-set xmlns:c='http://www.w3.org/ns/xproc-step'>
>  <c:param name='testname1' value='testvalue1'/>
>  <c:param name='testname2' namespace="http://foo.bar"
> value='testvalue2'/>
> </c:param-set>

OK so it does stand alone with c:param-set as the root element.
Thanks.

<grin/>
Now can I 'build' on them, as Apache ant does?
 <c:param name='testname1' value='testvalue1'/>
<c:param name='testname2'  value='${testname1}/dir/dir/file.ext'/>





>
>
> You can then pass it to the parameter input port of this pipeline:

Singular? I.e. there is only one parameter input port?
Implies I can't have multiple 'imported' variable definitions?
My use case was
1 file for common values (paths etc)
1 file for 'hidden' items, e.g. user names, passwords etc.

I think you provide the answer below.

>
> <p:declare-step name="main" xmlns:p="http://www.w3.org/ns/xproc">
>  <p:input port="parameters" kind="parameter"/>
>  <p:output port="result" sequence="true"/>
>
>  <p:parameters name="parameters">
>    <p:input port="parameters">
>      <p:pipe step="main" port="parameters"/>
>    </p:input>
>  </p:parameters>

Is the input port 'parameters' the only link between the step
and the param-set?
Why no
<c:param-set  name="param1"
xmlns:c='http://www.w3.org/ns/xproc-step'>

or an href on the step that calls up the param-set?
(I guess we are 'abusing' the idea of parameters by
treating them like variables as per xslt)


>
>  <!-- "result" is not primary on p:parameters -->
>  <p:identity>
>    <p:input port="source">
>      <p:pipe step="parameters" port="result"/>
>    </p:input>
>  </p:identity>
> </p:declare-step>

Guessing, this is simply copying the param-set to the output port?



>
>
> Or, you can read it in the pipeline using the p:document binding:
>
> <p:declare-step xmlns:p="http://www.w3.org/ns/xproc">
>  <p:output port="result" sequence="true"/>
>
>  <p:parameters name="parameters">
>    <p:input port="parameters">
>      <p:document href="params.xml"/>
>    </p:input>
>  </p:parameters>


Ah! That's what I wanted!
So this refers to an explicit (external) parameters file!

Next question, how do I refer to the values set in
the external file? Is there some syntax for this?

E.g. I want to run an XSLT transform using
parameter $xslt_stylesheet as the stylesheet for the transform.




> An interesting thing about parameters in XProc is that if you provide
> the same parameter multiple times, only the last value will be used. You
> could use this mechanism for overriding the previous
> (default/inherited/...) parameter value if you want:

Neat. Same principle as XSLT?



Thanks.
Seems I still have more questions than answers Vojtech!


I do wish I could 'read' W3C specs (and understand them)

regards


-- 
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.
http://www.dpawson.co.uk
Received on Monday, 25 May 2009 07:41:17 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 25 May 2009 07:41:18 GMT