This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 21090 - [XPROC10] 5.1.1 Document Inputs
Summary: [XPROC10] 5.1.1 Document Inputs
Status: NEW
Alias: None
Product: XML Processing Model
Classification: Unclassified
Component: Pipeline language (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Norman Walsh
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-22 14:46 UTC by Tim Mills
Modified: 2013-02-27 15:13 UTC (History)
1 user (show)

See Also:


Attachments

Description Tim Mills 2013-02-22 14:46:59 UTC
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.
Comment 1 Vojtech Toman 2013-02-27 15:13:53 UTC
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.