- From: Josh Matthews <joshmatthews@gmail.com>
- Date: Wed, 1 Oct 2008 09:15:10 -0400
- To: "Norman Walsh" <ndw@nwalsh.com>
- Cc: "XProc Dev" <xproc-dev@w3.org>
- Message-ID: <ffee23380810010615s247476e7yb749748991fe9a8b@mail.gmail.com>
On Wed, Oct 1, 2008 at 7:30 AM, Norman Walsh <ndw@nwalsh.com> wrote:
>
> But it would lead to very messy edge cases. What does this mean:
>
> <p:with-option name="something">
> Now this is a
> <p:pipe step="main" port="source"/>
> test.
> </p:with-option>
>
> How is that different from this:
>
> <p:with-option name="something">
> Now this is a
> <h:div>Some randome content</h:div>
> test.
> </p:with-option>
It isn't different - the XML coming in over the source port gets inserted at
that position in the option content. Imagine the result of the pipe is
always "<h:div>Some randome content</h:div>", then the two constructs are
identical. Maybe I'm missing something fundamental - why is that messy?
Hmm... I suppose if the pipe yields a document (do pipe always yield
documents? Can they return just elements?), then it is messy. But only as a
result of the already messy (IMHO) document/data duality in XML! :-( But hmm
again - wouldn't the semantics for document inclusion be the same as for
<xsl:include>?
Second, our semantics for select are exactly the same as the XSLT
> semantics. I'm sort of expecting most of our users will have some XSLT
> experience.
Totally agree - but my point is to extend those semantics to (most, if not
all) XSLT constructs. To use the example above, this is totally fine in
XSLT:
<xsl:call-template name="sometemplate">
<xsl:with-param name="someparam">
This is some content for the param, with the result of:
<xsl:call-template name="someothertemplate" />
inserted in it!
</xsl:with-param>
</xsl:call-template>
The nested <xsl:call-template> is analogous to the nested <p:pipe>.
Cheers,
Josh Matthews
Received on Wednesday, 1 October 2008 13:15:48 UTC