- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Sun, 10 Sep 2006 09:04:32 +0100
- To: public-xml-processing-model-wg <public-xml-processing-model-wg@w3.org>
Alex Milowski wrote: > Problem: A user uses a stylesheet that produces more than one result > document. What is the output of an XSLT step? > > I think the simplest answer is that you get a sequence of documents > from that step. Agreed. (From an XSLT 2.0 step, anyway.) > The problem is now that you may want to do different things with > different documents from the sequence from the XSLT transform. We > can solve this with group by using a component that creates a > subsequence from a sequence of documents based on an XPath expresison: I thought that we were going to use the select attribute on a <p:input> for this. So: <p:step ...> <p:input port="documents" source="transform!result" select="/article" /> </p:step> would select the <article> document elements from the documents from the transform!result source, and turn them into documents, thus effectively selecting only the articles from the sequence of documents. Or that people could use a <p:choose> within a <p:for-each> to select the appropriate course of action: <p:for-each> <p:declare-input port="document" source="transform!result" /> <p:declare-output port="articles" source="choice!article" /> <p:declare-output port="html" source="choice!html" /> <p:declare-output port="others" source="choice!other" /> <p:choose source="!document" name="choice"> <p:when test="/article"> <p:declare-output port="article" source="!document" /> <p:declare-output port="html" /> <p:declare-output port="others" /> </p:when> <p:when test="/html:html"> <p:declare-output port="article" /> <p:declare-output port="html" source="!document" /> <p:declare-output port="others" /> </p:when> <p:otherwise> <p:declare-output port="article" /> <p:declare-output port="html" /> <p:declare-output port="others" source="!document" /> </p:otherwise> </p:choose> </p:for-each> Cheers, Jeni -- Jeni Tennison http://www.jenitennison.com
Received on Sunday, 10 September 2006 08:05:04 UTC