[Mono-bugs] [Bug 46751][Wis] Changed - xpath does not correctly handle variables from an XsltContext

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Jul 27 14:47:49 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by gert.driesen at pandora.be.

http://bugzilla.ximian.com/show_bug.cgi?id=46751

--- shadow/46751	2006-02-22 01:04:29.000000000 -0500
+++ shadow/46751.tmp.14019	2006-07-27 14:47:49.000000000 -0400
@@ -1,13 +1,13 @@
 Bug#: 46751
 Product: Mono: Class Libraries
 Version: unspecified
 OS: unknown
 OS Details: 
-Status: RESOLVED   
-Resolution: FIXED
+Status: REOPENED   
+Resolution: 
 Severity: Unknown
 Priority: Wishlist
 Component: Sys.XML
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: bmaurer at users.sf.net               
 QAContact: mono-bugs at ximian.com
@@ -108,6 +108,56 @@
 (System.Xml.XPath.XPathExpression expr)
 in <0x001a8> Application:Main (System.String[] args)
 
 
 ------- Additional Comments From atsushi at ximian.com  2006-02-22 01:04 -------
 Fixed in svn (r57137).
+
+------- Additional Comments From gert.driesen at pandora.be  2006-07-27 14:47 -------
+Atsushi, I think there's a regression here as I do not get the 
+correct results on Mono.
+
+Expected result:
+
+Title : A Brief History of Time
+        left() : A Bri
+        right() :  Time
+Title : Principle Of Relativity
+        left() : Princ
+        right() : ivity
+
+Actual result:
+
+Title : A Brief History of Time
+        left() :
+        right() :
+Title : Principle Of Relativity
+        left() :
+        right() :
+
+I traced the issue down to the following code in 
+System.Xsl.XsltContext:
+
+public abstract IXsltContextFunction ResolveFunction (string prefix, 
+string name, XPathResultType [] argTypes);
+public abstract IXsltContextVariable ResolveVariable (string prefix, 
+string name);
+
+...
+
+internal virtual IXsltContextVariable ResolveVariable 
+(XmlQualifiedName name)
+{
+  return ResolveVariable (name.Name, name.Namespace);
+}
+		
+internal virtual IXsltContextFunction ResolveFunction 
+(XmlQualifiedName name, XPathResultType [] argTypes)
+{
+  return ResolveFunction (name.Name, name.Namespace, argTypes);
+}
+
+In both internal methods, the string representation of the QName is 
+passed as prefix and the namespace is passed as name.
+
+These methods are used in ExprVariable.Evaulate and 
+ExprFunctionCall.Evaluate.


More information about the mono-bugs mailing list