xsl-list
[Top] [All Lists]

Re: [xsl] General rule for designing XPath expressions to return items in document order?

2014-01-10 04:56:23
David wrote:

        I haven't checked the streaming rules in detail 
        but I would expect //head to be streamable. 
        (You might not be able to access any of the
        child nodes in a streamable way but for example 
        count(//head) ought to be able to count all the 
        head in the document in a single pass.

Michael responded:

        That's a fair summary. //head is "consuming" 
        (it reads the input stream), and "crawling" 
        (it accesses all the nodes in the subtree). When 
        you get an expression that is consuming and 
        crawling, you are allowed to do "inspection" 
        operations on the result, for example count()

But Michael doesn't that contradict section 19.1 of the XSLT 3.0 specification: 

        For example <xsl:value-of select="//head"/> will 
        still fail the streamability tests, because of the 
        possibility that one head element is a child of 
        another. This problem can be remedied by 
        writing <xsl:value-of select="//head/text()"/>.

/Roger


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


<Prev in Thread] Current Thread [Next in Thread>