[Bug 23760] New: [xslt 3.0] streamability of count(//para)

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

            Bug ID: 23760
           Summary: [xslt 3.0] streamability of count(//para)
           Product: XPath / XQuery / XSLT
           Version: Working drafts
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: mike@saxonica.com
        QA Contact: public-qt-comments@w3.org

Section 19.1 talks of the rewrite needed to make count(//section/head)
streamable. However, what is described isn't good enough.

Firstly, it says the rewrite is only applied to a RelativePathExpr, but the
example is not a relative path, it is absolute.

Secondly, it rewrites //section/head as //head[parent::section], but this is
still not streamable, because //head expands to
/descendant-or-self::node()/head which suffers the same problem (use of the
child axis in a crawling posture is free-ranging).

We actually need to rewrite //para as
/descendant-or-self::para()[parent::node()] (which further simplifies to
/descendant::para, but I don't think that simplification is needed for stream
ability), and we need to rewrite //section/head as
/descendant-or-self::head[parent::section]. Perhaps this can be achieved by
applying the rewrite recursively, I'm not sure.

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

Received on Thursday, 7 November 2013 14:35:23 UTC