[Mono-list] class status up to date?

Miguel de Icaza miguel@ximian.com
15 Dec 2002 01:11:02 -0500


> I was actually looking at working on Tests and NUnit usage, but I can't 
> seem to get things running correctly in Windows, but that might be a 
> problem on my side.
> Should I be able to run the tests on Windows? Or does it only run ok in 
> Linux (and also: does it run with mono (windows/linux), MS .NET - this 
> is interesting for me to know)

Yes, the tests should run on Linux and Unix.  What exactly does fail?

> What do you mean with 'the XSLT' classes? Do you mean something in the 
> System.Xml.Xsl namespace?

Yes, those ones.

> Is there already something present, or would I need to write this from 
> scratch (example: is the Libxslt PInvoke 'wrapper' already written?)

There are some bits.  There are two problems to solve:

	* The interface problem.

	* The extension mechanism problem.

* The interface problem. 

        The Xsl libraries in .NET contain very few entry points, which
        is good.  The problem is that this the Xsl class libraries in
        .NET has one of the most interesting designs. 
        There are various overloaded methods that people can choose
        from: apply an XSLT transformation from an file (with an xml
        document) or from an XmlDocument DOM, or from an XPathNavigator.
        The problem is that libxslt from GNOME can only handle files or
        DOMs that it has loaded itself.  So the trick is supporting the
        DOM and XPathNavigator interfaces;  What we do is we dump those
        into a temporary file, and then handle the temporary file to
        This works (but might need some tests).  

* The extension mechanism problem.

        Now, part of the cool features of .NET's xslt is that you can
        define new "verbs" (or command, I am not quite up to speed on
        the Xml/xslt lingo) that would callback into your .NET world. 
        Luckily for us, libxslt does provide some support for this (you
        can have a callback or register new verbs with it).
        This is the part that has not been implemented.