- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Thu, 06 Apr 2006 21:03:29 +0100
- To: public-xml-processing-model-wg@w3.org
Hi Norm, > I don't see an obvious way for one component to generate an arbitrary > series of URIs that another component can consume. Ah. I was assuming that whenever a component generated documents with URIs that weren't known at design time, it would create some kind of index document that listed the URIs for the various documents that were generated. For example, if a component generated several separate chapter documents and SVG images from one book document then you'd get an index like: <book> <chapters> <chapter href="ch01.xml" /> <chapter href="ch02.xml" /> ... </chapters> <graphics> <graphic href="fg01.svg" /> <graphic href="fg02.svg" /> ... </graphics> </book> (Actually I think in most cases the 'index document' would be a natural by-product of the component.) Downstream components could look at this index document to identify what documents were generated (and registered with the pipeline processor). The pipeline would include something like: <p:step name="splitter"> <p:input name="aggregation" href="book.xml" /> <p:output name="index" href="book-index.xml" /> </p:step> <p:step name="xslt"> <p:input name="source" href="book-index.xml" /> <p:input name="stylesheet" href="chapters2html.xsl" /> <p:output name="result" href="ToC.html" /> </p:step> The XSLT in the second step here would read in the chapters generated in the first step using the doc() function on the URIs supplied in the index document. Or, if you did the iteration within the pipeline language instead, perhaps something like: <p:step name="splitter"> <p:input name="aggregation" href="book.xml" /> <p:output name="index" href="book-index.xml" /> </p:step> <p:for-each name="chapter" href="book-index.xml" select="book/chapters/chapter/@href"> <p:step name="xslt"> <p:input name="source" href="{$chapter}" /> <p:input name="stylesheet" href="chapter2html.xsl" /> <p:output name="result" href="{$chapter}.html" /> </p:step> </p:for-each> I'm not totally enamoured of this -- it's hard to support URIs that aren't known at design time without some kind of URI-manipulation support. But URI support is always going to be an issue because of wanting to do cross-references between documents... Cheers, Jeni -- Jeni Tennison http://www.jenitennison.com
Received on Thursday, 6 April 2006 20:03:28 UTC