Is it illegal to have a sequence with () as its last value?

View: New views
5 Messages — Rating Filter:   Alert me  

Is it illegal to have a sequence with () as its last value?

by Roger Costello :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Michael,

When I iterate through this sequence:

   (1, (2, 3), ())

I get the below error message.

Is it illegal to have a sequence which ends with an empty sequence?

/Roger

java.lang.ClassCastException: net.sf.saxon.expr.VariableReference cannot be cast
 to net.sf.saxon.instruct.Block
        at net.sf.saxon.expr.ExpressionTool.evaluate(ExpressionTool.java:355)
        at net.sf.saxon.instruct.GeneralVariable.getSelectValue(GeneralVariable.
java:373)
        at net.sf.saxon.instruct.Instruction.assembleParams(Instruction.java:147
)
        at net.sf.saxon.instruct.CallTemplate.process(CallTemplate.java:253)
        at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:296)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
        at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:296)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
        at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:296)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
        at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:296)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
        at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:296)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
        at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:296)
        at net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:203)
        at net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:345)
        at net.sf.saxon.Controller.transformDocument(Controller.java:1807)
        at net.sf.saxon.Controller.transform(Controller.java:1621)
        at net.sf.saxon.Transform.processFile(Transform.java:1112)
        at net.sf.saxon.Transform.doTransform(Transform.java:719)
        at com.saxonica.Transform.main(Transform.java:40)
Fatal error during transformation: java.lang.ClassCastException: net.sf.saxon.expr.VariableReference cannot be cast to net.sf.saxon.instruct.Block
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
saxon-help@...
https://lists.sourceforge.net/lists/listinfo/saxon-help 

Re : Is it illegal to have a sequence with () as its last value?

by Florent Georges-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Costello, Roger L. wrote:

  Hi,

> When I iterate through this sequence:

>    (1, (2, 3), ())

> I get the below error message.

> Is it illegal to have a sequence which ends with an empty
> sequence?

  I guess Michael will give you more details on what sounds like
a bug (what do you mean by "iterate" though?), but just to say
the above sequence does not end with an empty sequence.  Simply
because a sequence cannot contain a sequence itself, empty or
not.  The above sequence is exactly the same as (1, 2, 3), you
cannot see any difference between both.

  Regards,

--
Florent Georges
http://www.fgeorges.org/




















     


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
saxon-help@...
https://lists.sourceforge.net/lists/listinfo/saxon-help 

Re: Is it illegal to have a sequence with () as its last value?

by Michael Kay :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


You'll have to show me more of the context, I'm afraid. It does look as if
it might be a bug, but there's not enough information here to reproduce it.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 
 

> -----Original Message-----
> From: Costello, Roger L. [mailto:costello@...]
> Sent: 31 October 2009 13:54
> To: 'Mailing list for the SAXON XSLT and XQuery processor'
> Subject: [saxon] Is it illegal to have a sequence with () as
> its last value?
>
>
> Hi Michael,
>
> When I iterate through this sequence:
>
>    (1, (2, 3), ())
>
> I get the below error message.
>
> Is it illegal to have a sequence which ends with an empty sequence?
>
> /Roger
>
> java.lang.ClassCastException:
> net.sf.saxon.expr.VariableReference cannot be cast  to
> net.sf.saxon.instruct.Block
>         at
> net.sf.saxon.expr.ExpressionTool.evaluate(ExpressionTool.java:355)
>         at
> net.sf.saxon.instruct.GeneralVariable.getSelectValue(GeneralVariable.
> java:373)
>         at
> net.sf.saxon.instruct.Instruction.assembleParams(Instruction.java:147
> )
>         at
> net.sf.saxon.instruct.CallTemplate.process(CallTemplate.java:253)
>         at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:296)
>         at
> net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
>         at
> net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
>         at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:296)
>         at
> net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
>         at
> net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
>         at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:296)
>         at
> net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
>         at
> net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
>         at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:296)
>         at
> net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
>         at
> net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
>         at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:296)
>         at
> net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
>         at
> net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
>         at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:296)
>         at
> net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:203)
>         at
> net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTempl
> ates.java:345)
>         at
> net.sf.saxon.Controller.transformDocument(Controller.java:1807)
>         at net.sf.saxon.Controller.transform(Controller.java:1621)
>         at net.sf.saxon.Transform.processFile(Transform.java:1112)
>         at net.sf.saxon.Transform.doTransform(Transform.java:719)
>         at com.saxonica.Transform.main(Transform.java:40)
> Fatal error during transformation:
> java.lang.ClassCastException:
> net.sf.saxon.expr.VariableReference cannot be cast to
> net.sf.saxon.instruct.Block
> --------------------------------------------------------------
> ----------------
> Come build with us! The BlackBerry(R) Developer Conference in
> SF, CA is the only developer event you need to attend this
> year. Jumpstart your developing skills, take BlackBerry
> mobile applications to market and stay ahead of the curve.
> Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> saxon-help mailing list archived at
> http://saxon.markmail.org/ saxon-help@...
> https://lists.sourceforge.net/lists/listinfo/saxon-help 


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
saxon-help@...
https://lists.sourceforge.net/lists/listinfo/saxon-help 

Re: Is it illegal to have a sequence with () as its last value?

by Roger Costello :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Michael,

The stylesheet below generates the error. It only fails when () is the last value in the sequence.  /Roger

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="2.0">
 

    <xsl:template match="/">

        <xsl:call-template name="display">
            <xsl:with-param name="sequence" select="(1, (2, 3), ())" />
        </xsl:call-template>

    </xsl:template>

    <xsl:template name="display">
      <xsl:param name="sequence"/>

      <xsl:for-each select="$sequence">
          <xsl:value-of select="."/>
      </xsl:for-each>
     
    </xsl:template>


</xsl:stylesheet>
 

> -----Original Message-----
> From: Michael Kay [mailto:mike@...]
> Sent: Sunday, November 01, 2009 10:24 AM
> To: 'Mailing list for the SAXON XSLT and XQuery processor'
> Subject: Re: [saxon] Is it illegal to have a sequence with ()
> as its last value?
>
>
> You'll have to show me more of the context, I'm afraid. It
> does look as if
> it might be a bug, but there's not enough information here to
> reproduce it.
>
> Regards,
>
> Michael Kay
> http://www.saxonica.com/
> http://twitter.com/michaelhkay 
>  
>
> > -----Original Message-----
> > From: Costello, Roger L. [mailto:costello@...]
> > Sent: 31 October 2009 13:54
> > To: 'Mailing list for the SAXON XSLT and XQuery processor'
> > Subject: [saxon] Is it illegal to have a sequence with () as
> > its last value?
> >
> >
> > Hi Michael,
> >
> > When I iterate through this sequence:
> >
> >    (1, (2, 3), ())
> >
> > I get the below error message.
> >
> > Is it illegal to have a sequence which ends with an empty sequence?
> >
> > /Roger
> >
> > java.lang.ClassCastException:
> > net.sf.saxon.expr.VariableReference cannot be cast  to
> > net.sf.saxon.instruct.Block
> >         at
> > net.sf.saxon.expr.ExpressionTool.evaluate(ExpressionTool.java:355)
> >         at
> >
> net.sf.saxon.instruct.GeneralVariable.getSelectValue(GeneralVariable.
> > java:373)
> >         at
> >
> net.sf.saxon.instruct.Instruction.assembleParams(Instruction.java:147
> > )
> >         at
> > net.sf.saxon.instruct.CallTemplate.process(CallTemplate.java:253)
> >         at
> > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > tCreator.java:296)
> >         at
> > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> >         at
> > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> >         at
> > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > tCreator.java:296)
> >         at
> > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> >         at
> > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> >         at
> > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > tCreator.java:296)
> >         at
> > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> >         at
> > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> >         at
> > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > tCreator.java:296)
> >         at
> > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> >         at
> > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> >         at
> > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > tCreator.java:296)
> >         at
> > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> >         at
> > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> >         at
> > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > tCreator.java:296)
> >         at
> > net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:203)
> >         at
> > net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTempl
> > ates.java:345)
> >         at
> > net.sf.saxon.Controller.transformDocument(Controller.java:1807)
> >         at net.sf.saxon.Controller.transform(Controller.java:1621)
> >         at net.sf.saxon.Transform.processFile(Transform.java:1112)
> >         at net.sf.saxon.Transform.doTransform(Transform.java:719)
> >         at com.saxonica.Transform.main(Transform.java:40)
> > Fatal error during transformation:
> > java.lang.ClassCastException:
> > net.sf.saxon.expr.VariableReference cannot be cast to
> > net.sf.saxon.instruct.Block
> > --------------------------------------------------------------
> > ----------------
> > Come build with us! The BlackBerry(R) Developer Conference in
> > SF, CA is the only developer event you need to attend this
> > year. Jumpstart your developing skills, take BlackBerry
> > mobile applications to market and stay ahead of the curve.
> > Join us from November 9 - 12, 2009. Register now!
> > http://p.sf.net/sfu/devconference
> > _______________________________________________
> > saxon-help mailing list archived at
> > http://saxon.markmail.org/ saxon-help@...
> > https://lists.sourceforge.net/lists/listinfo/saxon-help 
>
>
> --------------------------------------------------------------
> ----------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year.
> Jumpstart your
> developing skills, take BlackBerry mobile applications to
> market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> saxon-help mailing list archived at http://saxon.markmail.org/
> saxon-help@...
> https://lists.sourceforge.net/lists/listinfo/saxon-help 
>
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
saxon-help@...
https://lists.sourceforge.net/lists/listinfo/saxon-help 

Re: Is it illegal to have a sequence with () as itslast value?

by Michael Kay :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've reproduced the failure by running Saxon 9.1.0.2, but it works as
expected under Saxon 9.1.0.8.

So it appears to be a bug that's been fixed in a maintenance release.

Please upgrade!

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

> -----Original Message-----
> From: Costello, Roger L. [mailto:costello@...]
> Sent: 01 November 2009 15:43
> To: 'Mailing list for the SAXON XSLT and XQuery processor'
> Subject: Re: [saxon] Is it illegal to have a sequence with ()
> as itslast value?
>
>
> Hi Michael,
>
> The stylesheet below generates the error. It only fails when
> () is the last value in the sequence.  /Roger
>
> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>                 version="2.0">
>  
>
>     <xsl:template match="/">
>
>         <xsl:call-template name="display">
>             <xsl:with-param name="sequence" select="(1, (2,
> 3), ())" />
>         </xsl:call-template>
>
>     </xsl:template>
>
>     <xsl:template name="display">
>       <xsl:param name="sequence"/>
>
>       <xsl:for-each select="$sequence">
>           <xsl:value-of select="."/>
>       </xsl:for-each>
>      
>     </xsl:template>
>
>
> </xsl:stylesheet>
>  
>
> > -----Original Message-----
> > From: Michael Kay [mailto:mike@...]
> > Sent: Sunday, November 01, 2009 10:24 AM
> > To: 'Mailing list for the SAXON XSLT and XQuery processor'
> > Subject: Re: [saxon] Is it illegal to have a sequence with
> () as its
> > last value?
> >
> >
> > You'll have to show me more of the context, I'm afraid. It
> does look
> > as if it might be a bug, but there's not enough information here to
> > reproduce it.
> >
> > Regards,
> >
> > Michael Kay
> > http://www.saxonica.com/
> > http://twitter.com/michaelhkay
> >  
> >
> > > -----Original Message-----
> > > From: Costello, Roger L. [mailto:costello@...]
> > > Sent: 31 October 2009 13:54
> > > To: 'Mailing list for the SAXON XSLT and XQuery processor'
> > > Subject: [saxon] Is it illegal to have a sequence with () as its
> > > last value?
> > >
> > >
> > > Hi Michael,
> > >
> > > When I iterate through this sequence:
> > >
> > >    (1, (2, 3), ())
> > >
> > > I get the below error message.
> > >
> > > Is it illegal to have a sequence which ends with an empty
> sequence?
> > >
> > > /Roger
> > >
> > > java.lang.ClassCastException:
> > > net.sf.saxon.expr.VariableReference cannot be cast  to
> > > net.sf.saxon.instruct.Block
> > >         at
> > > net.sf.saxon.expr.ExpressionTool.evaluate(ExpressionTool.java:355)
> > >         at
> > >
> >
> net.sf.saxon.instruct.GeneralVariable.getSelectValue(GeneralVariable.
> > > java:373)
> > >         at
> > >
> >
> net.sf.saxon.instruct.Instruction.assembleParams(Instruction.java:147
> > > )
> > >         at
> > > net.sf.saxon.instruct.CallTemplate.process(CallTemplate.java:253)
> > >         at
> > > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > > tCreator.java:296)
> > >         at
> > > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> > >         at
> > > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> > >         at
> > > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > > tCreator.java:296)
> > >         at
> > > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> > >         at
> > > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> > >         at
> > > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > > tCreator.java:296)
> > >         at
> > > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> > >         at
> > > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> > >         at
> > > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > > tCreator.java:296)
> > >         at
> > > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> > >         at
> > > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> > >         at
> > > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > > tCreator.java:296)
> > >         at
> > > net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
> > >         at
> > > net.sf.saxon.instruct.Instruction.process(Instruction.java:93)
> > >         at
> > > net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> > > tCreator.java:296)
> > >         at
> > > net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:203)
> > >         at
> > > net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTempl
> > > ates.java:345)
> > >         at
> > > net.sf.saxon.Controller.transformDocument(Controller.java:1807)
> > >         at net.sf.saxon.Controller.transform(Controller.java:1621)
> > >         at net.sf.saxon.Transform.processFile(Transform.java:1112)
> > >         at net.sf.saxon.Transform.doTransform(Transform.java:719)
> > >         at com.saxonica.Transform.main(Transform.java:40)
> > > Fatal error during transformation:
> > > java.lang.ClassCastException:
> > > net.sf.saxon.expr.VariableReference cannot be cast to
> > > net.sf.saxon.instruct.Block
> > > --------------------------------------------------------------
> > > ----------------
> > > Come build with us! The BlackBerry(R) Developer
> Conference in SF, CA
> > > is the only developer event you need to attend this year.
> Jumpstart
> > > your developing skills, take BlackBerry mobile applications to
> > > market and stay ahead of the curve.
> > > Join us from November 9 - 12, 2009. Register now!
> > > http://p.sf.net/sfu/devconference
> > > _______________________________________________
> > > saxon-help mailing list archived at http://saxon.markmail.org/ 
> > > saxon-help@...
> > > https://lists.sourceforge.net/lists/listinfo/saxon-help
> >
> >
> > --------------------------------------------------------------
> > ----------------
> > Come build with us! The BlackBerry(R) Developer Conference
> in SF, CA
> > is the only developer event you need to attend this year.
> > Jumpstart your
> > developing skills, take BlackBerry mobile applications to
> market and
> > stay ahead of the curve. Join us from November 9 - 12,
> 2009. Register
> > now!
> > http://p.sf.net/sfu/devconference
> > _______________________________________________
> > saxon-help mailing list archived at http://saxon.markmail.org/ 
> > saxon-help@...
> > https://lists.sourceforge.net/lists/listinfo/saxon-help
> >
> --------------------------------------------------------------
> ----------------
> Come build with us! The BlackBerry(R) Developer Conference in
> SF, CA is the only developer event you need to attend this
> year. Jumpstart your developing skills, take BlackBerry
> mobile applications to market and stay ahead of the curve.
> Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> saxon-help mailing list archived at
> http://saxon.markmail.org/ saxon-help@...
> https://lists.sourceforge.net/lists/listinfo/saxon-help 


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
saxon-help@...
https://lists.sourceforge.net/lists/listinfo/saxon-help