[Mono-bugs] [Bug 43693][Nor] New - XslTransformation extension objects

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
Mon, 26 May 2003 22:47:20 -0400 (EDT)

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 tauberer@for.net.


--- shadow/43693	Mon May 26 22:47:19 2003
+++ shadow/43693.tmp.27838	Mon May 26 22:47:20 2003
@@ -0,0 +1,46 @@
+Bug#: 43693
+Product: Mono/Class Libraries
+Version: unspecified
+OS: All
+OS Details: 
+Status: NEW   
+Priority: Normal
+Component: System.XML
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: tauberer@for.net               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+Summary: XslTransformation extension objects
+XSLT extension objects are as yet unimplemented.  Attached to this, if I
+can figure out how to do that, is a patch to implement them.
+The patch modifies mcs/class/System.XML/System.Xml.Xsl/XslTransform.cs
+If extension objects are not used by the user, then the behavior of
+XslTransform is unchanged, so working things won't break.  This isn't a
+complete implementation, but it's a working start.
+Known issues with patch:
+  requires -unsafe keyword (XPath only returns pointers to XSLT objects)
+  the signatures of methods in extension objects must match exactly to the
+types of parameters that the method is called with from the stylesheet
+(this is fixable but takes more work).  The MS documentation examples
+indicate that parameters can be converted between types (ie double =>
+decimal) as necessary.
+  node set parameters are converted to an ArrayList of strings, since there
+isn't a good way to pass the actual nodes to the extension functions
+  I added a Mono-specific feature of registering the static methods of a
+type as extension functions (ie System.Math's methods), which I don't think
+can be done in MS .NET.  This is useful for me for something else I'm
+working on.
+I used this patch to write a Mono version of the xsltproc tool which I'm
+using to update existing Mono XML documentation files for the monodoc
+browser updates.
+- Joshua Tauberer (tauberer@for.net)