[Mono-devel-list] XSLT extension objects
Joshua Tauberer
tauberer at for.net
Mon May 26 22:56:26 EDT 2003
I posted the following to Bugzilla as
http://bugzilla.ximian.com/show_bug.cgi?id=43693.
XSLT extension objects are as yet unimplemented. Attached to this 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
http://taubz.for.net
** Nothing Unreal Exists **
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: extensionobjects.patch
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20030526/84cbdcf4/attachment.pl
More information about the Mono-devel-list
mailing list