xsl-list
[Top] [All Lists]

Re: [xsl] minor improvements to XSLT 3.0 spec, "section 18.1 The xsl:source-document Instruction"

2021-01-19 02:34:33
I think that technically, if you write "/book" then it isn't streamable, 
because "book" is a downward selection and in the general case, "/book" isn't. 
I think it will work with Saxon, which optimises the "/" away when it knows the 
context item is a document node, but I can't see how adding a redundant step to 
the path expression improves the example.

Michael Kay
Saxonica

On 19 Jan 2021, at 07:38, Mukul Gandhi mukulg(_at_)softwarebytes(_dot_)org 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

Hi all,
    The XSLT 3.0 spec section mentioned in subject, has the following example 
at the beginning,

<xsl:source-document streamable="yes" href="book.xml">
  <xsl:for-each select="book">             
    <xsl:for-each select="chapter">
      <xsl:result-document href="chapter{position()}.xml">
        <xsl:copy-of select="."/>
      </xsl:result-document>
    </xsl:for-each>
  </xsl:for-each>  
</xsl:source-document>

I think that, it may be better to have above example as follows,

<xsl:source-document streamable="yes" href="book.xml">
  <xsl:for-each select="/book">             
    <xsl:for-each select="chapter">
      <xsl:result-document href="chapter{position()}.xml">
        <xsl:copy-of select="."/>
      </xsl:result-document>
    </xsl:for-each>
  </xsl:for-each>  
</xsl:source-document>

(I guess, the XSLT 4.0 spec intends to say one book with above example)

Thanks for any comments.


-- 
Regards,
Mukul Gandhi
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by 
email <>)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>