- From: <vojtech.toman@emc.com>
- Date: Thu, 5 Jan 2012 09:36:02 -0500
- To: <public-xml-processing-model-wg@w3.org>
> Suppose http://example.com/doc.xml contains: > > <doc> > <a/> > <b/> > <c/> > </doc> > > And consider this pipeline fragment: > > <p:delete match="a"> > <p:input port="source"> > <p:document href="http://example.com/doc.xml"/> > </p:input> > </p:delete> > > <p:sink/> > > <p:xinclude> > <p:input port="source"> > <p:inline> > <book> > <xi:include href="http://example.com/doc.xml"/> > </book> > </p:inline> > </p:input> > </p:xinclude> > > Assume for the moment that the p:delete step runs to completion before > the p:xinclude step starts. > > Which document does the p:xinclude step produce? > > <book> > <doc> > <a/> > <b/> > <c/> > </doc> > </book> > > or > > <book> > <doc> > <b/> > <c/> > </doc> > </book> > > I think the latter is the more useful, if perhaps more surprising, > result. Since we say that steps are side-effect free, I think it produces the former. I agree with you that the latter result might be more useful in some cases (and be really confusing in other cases), but I think you can achieve the same with something like this: <p:delete match="a"> <p:input port="source"> <p:document href="http://example.com/doc.xml"/> </p:input> </p:delete> <p:store ext:resource-manager="true"> <p:with-option name="href" select="base-uri()"/> </p:store> <p:xinclude> <p:input port="source"> <p:inline> <book> <!-- loads the document from the resource manager --> <xi:include href="http://example.com/doc.xml"/> </book> </p:inline> </p:input> </p:xinclude> It relies on extensions, but not difficult to do. Regards, Vojtech -- Vojtech Toman Consultant Software Engineer EMC | Information Intelligence Group vojtech.toman@emc.com http://developer.emc.com/xmltech
Received on Thursday, 5 January 2012 14:39:19 UTC