- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Fri, 12 May 2006 12:46:45 +0100
- To: public-xml-processing-model-wg@w3.org
Hi, Norm Walsh wrote: > Optionally, parameters can specify the document that should be the > context node for evaluation: > > <p:param name="destination" ref="somelabel" select="/*/@label"/> A more flexible alternative would be to say that labelled documents are referencable as variables within the XPath expressions used to set parameters or variables. The above would be: <p:param name="destination" select="$somelabel/*/@label" /> This is more flexible because it means that you can refer to more than one document within the XPath expression. If we did this when setting parameters then we might want the symmetry of doing it with inputs and outputs. Something like: <p:pipeline name="my:process"> <p:input name="input" label="pipeline.input" /> <p:step name="xinclude"> <p:input name="input" select="$pipeline.input" /> <p:output name="output" label="included.output" /> </p:step> <p:step name="xslt"> <p:input name="input" select="$included.output" /> <p:input name="stylesheet" href="style.xsl" /> <p:output name="output" label="xslt.output" /> </p:step> <p:output name="output" select="$xslt.output" /> </p:pipeline> Note that in the above I've retained the syntax that we've been using for <p:input> and <p:output> -- giving the ports unique names via the label attribute -- but that if we wanted to have symmetry with parameters and variables, we might want to change that syntax. For example, we could have a port attribute to give the name of the port and a name attribute to give the name of the variable to which the document is assigned within the pipeline: <p:pipeline name="my:process"> <p:input port="input" name="pipeline.input" /> <p:step name="xinclude"> <p:input port="input" select="$pipeline.input" /> <p:output port="output" name="included.output" /> </p:step> <p:step name="xslt"> <p:input port="input" select="$included.output" /> <p:input port="stylesheet" href="style.xsl" /> <p:output port="output" name="xslt.output" /> </p:step> <p:output port="output" select="$xslt.output" /> </p:pipeline> Cheers, Jeni -- Jeni Tennison http://www.jenitennison.com
Received on Friday, 12 May 2006 11:47:04 UTC