This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 28507 - [XSLT 3.0] (editorial) Fix Examples in the specification
Summary: [XSLT 3.0] (editorial) Fix Examples in the specification
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Member-only Editors Drafts
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-17 22:20 UTC by Innovimax
Modified: 2015-04-23 23:00 UTC (History)
0 users

See Also:


Attachments

Description Innovimax 2015-04-17 22:20:17 UTC
== 1 ==
In 18.3 fn:copy-of (it's in function-catalog.xml )

<xsl:function name="fn:copy-of" as="node()*" 
              identity-sensitive="no">
  <xsl:param name="nodes" as="node()*/>
  <xsl:copy-of select="$nodes" 
               copy-namespaces="yes" 
               validation="preserve"/>
</xsl:function>

ADD a missing quote in

  <xsl:param name="nodes" as="node()*/>

to get

  <xsl:param name="nodes" as="node()*"/>

== 2 ==
In 2.3.6 Post-processing the Raw Result (in xslt.xml)

<xsl:function name="construct-result-tree" as="document-node()">
  <xsl:param name="R" as="item()*">
  <xsl:document validation="preserve">
    <xsl:sequence select="$R"/>
  </xsl:document>  
</xsl:function>

ADD a missing slash in 

  <xsl:param name="R" as="item()*">

to get

  <xsl:param name="R" as="item()*"/>

== 3 ==

In 

<xsl:variable name="get-order" select="key('orders-key', ?, /)

ADD the missing quote, slash and greater than, to get

<xsl:variable name="get-order" select="key('orders-key', ?, /)"/>

== 4 ==

<![CDATA[<xsl:attribute-set name="a" use-attribute-sets="b"/>
<![CDATA[<xsl:attribute-set name="b" use-attribute-sets="a"/>                  
]]>

remove the internal <![CDATA[ to get

<![CDATA[<xsl:attribute-set name="a" use-attribute-sets="b"/>
<xsl:attribute-set name="b" use-attribute-sets="a"/>                  
]]>

== 5 ==
In 

<xsl:stream href="transactions.xml">
  <xsl:fork>
    <xsl:for-each-group select="transactions/transaction" group-by="@account">
      <xsl:result-document href="account{current-grouping-key()}.xml">
        <transactions account="{current-grouping-key()}">
          <xsl:copy-of select="current-group()"/
        </transactions>
      </xsl:result-document>
    </xsl:for-each-group>
  </xsl:fork>
</xsl:stream>

Add missing greater-than in

         <xsl:copy-of select="current-group()"/
 
to get

         <xsl:copy-of select="current-group()"/>


== 6 ==

In 

<xsl:function name="f:exclude-first" as="node()*">
  <xsl:param name="nodes" as="node()*"/>
  <xsl:sequence select="$nodes[not(node-name() = preceding-sibling::*/node-name())]"/>
<xsl:function>  

Add missing slash in 

   <xsl:function>  

to get

   </xsl:function>  

 
== 6 bis ==

Same in 

<xsl:function name="f:min" as="xs:integer">
  <xsl:param name="arg0" as="xs:integer"/>
  <xsl:param name="arg1" as="xs:integer"/>
  <xsl:sequence select="min(($arg0, $arg1))"/>
<xsl:function>  

== 6 ter ==

Same in 

<xsl:function name="f:count-descendants" as="xs:integer" streamability="absorbing">
  <xsl:param name="input" as="node()*"/>
  <xsl:sequence select="count($input//*)"/>
<xsl:function>  

== 6 quater ==

Same in 

<xsl:function name="f:compare-size" as="xs:integer" streamability="absorbing">
  <xsl:param name="input0" as="node()"/>
  <xsl:param name="input1" as="node()"/>
  <xsl:sequence select="count($input0//*) - count($input1//*)"/>
<xsl:function>

== 6 quinquies == 

Same in 

<xsl:function name="f:outline" as="xs:string" streamability="absorbing">
  <xsl:param name="input" as="element()*"/>
  <xsl:value-of select="$input ! (name() || '(' || f:outline(*) || ')')" separator=", "/>
<xsl:function>

== 6 sexies ==

Same in 

<xsl:function name="f:depth" as="xs:integer" streamability="inspection">
  <xsl:param name="input" as="node()*"/>
  <xsl:sequence select="count($input/ancestor-or-self::*)"/>
<xsl:function>

== 6 septies ==

Same in

<xsl:function name="f:large-regions" as="element(region)*" streamability="filter">
  <xsl:param name="input" as="element(region)*"/>
  <xsl:sequence select="$input[@size gt 1000]"/>
<xsl:function>

== 6 octies ==

Same in

<xsl:function name="f:alternate-children" as="node()*" streamability="shallow-descent">
  <xsl:param name="input" as="element()*"/>
  <xsl:sequence select="$input/node()[position() mod 2 = 1]"/>
<xsl:function>

== 6 nonies ==

Same in 

<xsl:function name="f:all-comments" as="comment()*" streamability="deep-descent">
  <xsl:param name="input" as="element()*"/>
  <xsl:sequence select="$input//comment()"/>
<xsl:function>

== 6 decies ==

Same in

<xsl:function name="f:containing-section" as="element(section)*" streamability="ascent">
  <xsl:param name="input" as="element(para)*"/>
  <xsl:sequence select="$input/ancestor::section[last()]"/>
<xsl:function>
Comment 1 Innovimax 2015-04-17 22:37:33 UTC
== 7 ==

In 9.6 Static Variables and Parameters

     <xsl:param name="DEBUG" static="yes" select="true()"/>
     <xsl:variable name="tracing" static="no" public="yes" select="$DEBUG"/>
     
replace public="yes" by visibility="public"
Comment 2 Michael Kay 2015-04-23 17:11:33 UTC
The changes were accepted.
Comment 3 Michael Kay 2015-04-23 23:00:03 UTC
The changes have been applied.