- From: Erik Bruchez <ebruchez@orbeon.com>
- Date: Fri, 02 Jun 2006 17:24:53 +0200
- To: public-xml-processing-model-wg@w3.org
All, Regarding this issue: <http://www.w3.org/Bugs/Public/show_bug.cgi?id=3306> I think it is worth noting that XSLT 1.0 already discusses the possibility of node-sets spanning multiple documents: http://www.w3.org/TR/xslt#document XSLT 2.0 updates this as well, using sequences of course: http://www.w3.org/TR/xslt20/#document The document() function is allowed to take a node-set as first argument, which basically identifies a bunch or URIs. The result of the document() function in this case is a node-set which may contain nodes from different documents (typically, one node per document, and even more typically, each document's root node). (With XSLT, order of nodes among documents is implementation-dependent but has to be "consistent".) It is possible to have a variable refer to that node-set, of course: <xsl:variable name="my-nodes" select="document(//my-uris)"/> Now again my point doesn't regard the document() function, which we don't have in XPath, but the fact that the notion of having node-sets containing nodes from multiple documents is not new, and that we can be consistent with what is being done in XSLT 1.0. In XProc, we wouldn't have something really different if we had $documents refers to a "sequence" of documents. Make $documents a node-set containing the root nodes of the documents in the order in which they "arrive". Jeni can then write her: <p:choose> <p:input name="input" select="$documents" /> <p:when test="count($input) >= 1"> ... </p:when> <p:otherwise> ... </p:otherwise> </p:choose> This sounds like a simple and compelling solution to me. -Erik -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/
Received on Friday, 2 June 2006 15:32:21 UTC