This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
It is stated that: "If a connection is provided in the declaration, then select may be used to select a portion of the input identified by the p:empty, p:document, p:data, or p:inline elements in the p:input. " The syntax for a document input is: <p:input port = NCName sequence? = boolean primary? = boolean kind? = "document" select? = XPathExpression> (p:empty | (p:document | p:inline | p:data)+)? </p:input> Thus it is permitted for a a select attribute to be present, but for the p:input element to be empty (i.e. contains no p:empty, p:document, p:inline, p:data). The specification doesn't appear to address this condition. I suspect that this should be a static error, which I is probably preferable to silently ignoring the select attribute.
The full paragraph reads: """ If a connection is provided in the declaration, then select may be used to select a portion of the input identified by the p:empty, p:document, p:data, or p:inline elements in the p:input. This select expression applies only if the default connection is used. If an explicit connection is provided by the caller, then the default select expression is ignored. """ The idea is, I think, that you can only specify select in an input port declaration if you provide a default binding at the same time. I think it is more of a validity constraint. If you specify the select attribute in an input port declaration without providing a default binding, it is not a valid XProc pipeline. But I agree that the prose could have been more precise.