[Bug 28202] New: [XSLT30] Streamability of unparsed-entity-public-id and unparsed-entity are incorrect

https://www.w3.org/Bugs/Public/show_bug.cgi?id=28202

            Bug ID: 28202
           Summary: [XSLT30] Streamability of unparsed-entity-public-id
                    and unparsed-entity are incorrect
           Product: XPath / XQuery / XSLT
           Version: Member-only Editors Drafts
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: abel.braaksma@xs4all.nl
        QA Contact: public-qt-comments@w3.org

The rules for both these functions are the same. I see a few issues with the
rules in section 19.8.8.19 Streamability of the unparsed-entity-public-id
function:

<quote>
While processing the document node itself, however, the contents of the DTD
might not yet be available. An arbitrary number of comments and processing
instructions are allowed to precede the DTD.
</quote>

This is no longer true, for other constructs we have defined that reading up
until the start of the (first) root element is a motionless action, even if it
means reading comments and DTD contents.

<quote>
3. If the context posture is climbing, striding, or crawling, the context item
type permits a document node, then the posture is crawling and the sweep is
consuming
</quote>

The result posture should be grounded for this function, it returns an
xs:string or an xs:anyURI.

The current text does not reflect that the first argument should be treated
with GSR, usage absorption, and it does not reflect the new signature from bug
27839 (where the context item can be made explicit).

Also note that if we accept that reading the document's DTD is a motionless
action, the rules can be simplified: 

<proposal>
If the context item is roaming, then roaming and free-ranging, otherwise
grounded and motionless.
</proposal>

Which, in effect, means that both functions can be classified under section
19.8.8 Classifying Calls to Built-In Functions as having an argument of
inspection, and these two sections (19.8.8.19 and 19.8.8.20) can be dropped:

* unparsed-entity-public-id(x), equivalent to unparsed-entity-public-uri(x, .)
* unparsed-entity-public-id(A, I)
* unparsed-entity(x), equivalent to unparsed-entity(x, .)
* unparsed-entity(A, I)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 12 March 2015 11:18:33 UTC