[Mono-bugs] [Bug 498389] New: XPathResultType.Number is more strict in Mono than in .NET

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Apr 27 06:30:08 EDT 2009


           Summary: XPathResultType.Number is more strict in Mono than in
    Classification: Mono
           Product: Mono: Class Libraries
           Version: unspecified
          Platform: 32bit
        OS/Version: Windows Server 2003
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Sys.XML
        AssignedTo: atsushi at ximian.com
        ReportedBy: ashmind at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: Third Party Developer/Partner

Description of Problem:

Steps to reproduce the problem:
1. Create a CustomXsltContext class inheriting from System.Xml.Xsl.XsltContext.
2. Create a CustomXsltFunction class inheriting from
3. In CustomXsltFunction.ReturnType return a XPathResultType.Number.
4. In CustomXsltFunction.Invoke return 0 (int value).
4. In CustomXsltContext override ResolveFunction to return CustomXsltFunction
when name is "custom-function".
5. Create a new XPath expression:
var xpath = XPathExpression.Compile("custom-function()");
xpath.SetContext(new CustomXsltContext());
6. Call Evaluate(xpath) on any XPathNavigator.

Actual Results:
  System.Xml.XPath.XPathException: Error during evaluation --->
System.InvalidCastException: Cannot cast from source type to destination type.
  at System.Xml.XPath.Expression.EvaluateNumber (System.Xml.XPath.BaseIterator
iter) [0x00000] 

Expected Results:
Evaluate should return 0 (in Microsoft.NET it does).

How often does this happen? 

Additional information:
Crashing is correct according to
http://mono-project.com/XPathNavigator#Evaluation_Methods (it says that
XPathResultType.Number corresponds to System.Double not System.Int32).
However, the crash does not happen in .NET, so it seems to be a consistency

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list