Compound steps with empty subpipelines

Hi all,

I wonder if empty subpipelines are allowed in compound steps such as
p:for-each, p:catch/p:when, p:group, or p:pipeline? If so, what is the
semantics? The schema allows it, but the specification does not mention
this possibility (unless I overlooked something).

I see three options here:

1. Empty subpipelines are not allowed
2. Empty subpipelines are allowed and they are effectively equivalent to
the p:identity step
3. Empty subpipeline are allowed and are really empty (no data is
processed, no data is generated)

I myself would go for option 1 or 2.

Option 1 would be cleaner, I think, but you would have to be more
explicit when authoring the pipelines. Option 2, on the other hand,
would allow for some possibly useful default behaviour such as:

<!-- identity pipeline -->
<p:pipeline/>

or:

<!-- p:for-each does p:unwrap -->
<p:for-each match="chapter">
  <p:output port="result"/>
</p:for-each>


What do you think?

Vojtech

Received on Wednesday, 16 January 2008 10:17:11 UTC