/ ht@inf.ed.ac.uk (Henry S. Thompson) was heard to say:
| So on further reflection, here's how I think it ought to be, and why:
|
| p:viewport-source
| (p:pipe | p:document | p:inline )?
|
| That is, no change, because p:viewport is like a step with a single
| required input.
|
| p:iteration-source
| (p:empty | (p:pipe | p:document | p:inline )+ )?
|
| That is, exactly as p:input, because p:for-each is like a step with
| sequence in and out, and should be allowed to be forced to iterate
| no times and produce an empty sequence.
What's the point of writing a loop that explicitly iterates 0 times?
Putting p:empty seems entirely pointless to me and more likely an
error than not.
| p:xpath-context
| (p:empty | p:pipe | p:document | p:inline )?
|
| A special case -- exactly one document, or none. A dynamic error
| if p:empty is used and a 'test' XPath expression appeals to the
| context-node or context-position.
Yes, that was probably a brain cramp on my part.
Be seeing you,
norm
--
Norman Walsh <ndw@nwalsh.com> | If you're strong enough, there *are* no
http://nwalsh.com/ | precedents.--Scott Fitzgerald