[Bug 29142] [XSLT30] streamability of the xsl:merge-source/select expression

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

--- Comment #5 from Michael Kay <mike@saxonica.com> ---
Regarding comment #3, I have changed the offending paragraph to read:

<p diff="chg" at="S-bug29141">There is no rule to prevent the
<code>select</code> expression returning atomic values, or grounded nodes from
a different source document, or newly constructed nodes, but they are still
processed using the <function>snapshot</function> function.</p>

I have added an example using atomic values as follows (though the non-XML
source here is not marked streamable, so it might not be quite what you wanted,
but I think it is still useful):

<events>
   <xsl:merge>
      <xsl:merge-source name="fax" 
                        select="unparsed-text-lines('fax-log.txt')">
         <xsl:merge-key select="xs:dateTime(substring-before(., ' '))"/>
      </xsl:merge-source>
      <xsl:merge-source name="mail"
                        for-each-stream="'mail-log.xml'" 
                        select="/log/day/record" 
                        streamable="yes">
         <xsl:merge-key select="dateTime(../@date, time)"/>
      </xsl:merge-source>
      <xsl:merge-action>
         <messages time="{current-merge-key()}">
            <xsl:where-populated>
               <fax>
                  <xsl:sequence
select="current-merge-group('fax')!substring-after(., ' ')"/>
               </fax>
               <mail>
                  <xsl:sequence select="current-merge-group('mail')/*"/>
               </mail>
            </xsl:where-populated>   
         </messages>   
      </xsl:merge-action>
   </xsl:merge>
</events>

I don't propose to do anything about comment #4.

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

Received on Thursday, 22 October 2015 13:46:16 UTC