[Bug 1462] New: sequenceExpr use in XQueryX

http://www.w3.org/Bugs/Public/show_bug.cgi?id=1462

           Summary: sequenceExpr use in XQueryX
           Product: XPath / XQuery / XSLT
           Version: Last Call drafts
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XQueryX
        AssignedTo: jim.melton@acm.org
        ReportedBy: bshrom@yahoo.com
         QAContact: public-qt-comments@w3.org


Hello, 

What would be a correct XQueryX statement for the following XQuery:
("FOO", "BAR")

According to the XQueryX schema this is valid statement:

<xqx:module 
    xmlns:xqx="http://www.w3.org/2005/04/XQueryX" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.w3.org/2005/04/XQueryX ../xsd/xqueryx.xsd">
	<xqx:mainModule>
		<xqx:queryBody>
		
            <xqx:expr xsi:type="xqx:pathExpr">
                <xqx:argExpr>
                
					<xqx:expr xsi:type="xqx:sequenceExpr">
					
						<xqx:expr xsi:type="xqx:stringConstantExpr">
							<xqx:value>FOO</xqx:value>
						</xqx:expr>
						<xqx:expr xsi:type="xqx:stringConstantExpr">
							<xqx:value>BAR</xqx:value>
						</xqx:expr>
						
					</xqx:expr>
					
                </xqx:argExpr>
            
            </xqx:expr>

		</xqx:queryBody>
	</xqx:mainModule>
</xqx:module>

However, if you run XQueryX->XQuery stylesheet transformation it will produce:
(FOO)(BAR).
In the recent release of the stylesheet new for-each cycle have been added to
the template for sequenceExpr, that breakes the conversion. 

  <xsl:template match="xqx:expr[@xsi:type='xqx:sequenceExpr']">
    <xsl:for-each select="*"> <!-- NEW -->
      <xsl:call-template name="paranthesizedList">
        <xsl:with-param name="delimiter" select="$COMMA_NEWLINE"/>
      </xsl:call-template>
    </xsl:for-each>  <!-- NEW -->
  </xsl:template>

Is it a bug or I'm missing something here, below I provided AST for
("FOO","BAR") in the XML form:

<XPath2>
    <QueryList>
        <Module>
            <MainModule>
                <Prolog/>
                <QueryBody>
                    <Expr>
                        <PathExpr>
                            <ParenthesizedExpr>
                                <Expr>
                                    <PathExpr>
                                        <StringLiteral>"FOO"</StringLiteral>
                                    </PathExpr>
                                    <PathExpr>
                                        <StringLiteral>"BAR"</StringLiteral>
                                    </PathExpr>
                                </Expr>
                            </ParenthesizedExpr>
                        </PathExpr>
                    </Expr>
                </QueryBody>
            </MainModule>
        </Module>
    </QueryList>
</XPath2>

Received on Tuesday, 17 May 2005 18:40:54 UTC