Lists Home |
Date Index |
> Karl Waclawek wrote:
>> Since the API alone is not enough, a SAX parser implementation has been
>> released as well: SAXExpat.NET 1.0. It is based on the Expat parser, and
>> will work on MS.NET 1.1. Currently Mono 1.0.2 is not able to run it,
>> but this will hopefully change with future Mono releases.
> Just curious: what prevents Mono 1.0.2 from running SAXExpat.NET 1.0? I
> wouldn't have thought an XML parser would be doing anything so strange
> it would trigger issues in Mono.
Well, SAXExpat is a wrapper for Expat, which is written in C.
Therefore it needs to use PInvoke calls, which are a more esoteric feature
of the .NET platform.
On Mono 1.0.1 I was able to parse simple files, but not even the
included conformance test demo ran properly. On Mono 1.0.2 it got worse.
All I could determine with the --trace option was that at the point
when the ExpatInterop assembly (where the PInvoke code is contained)
was loaded it throws a null-reference exception.
I also could not build the ExpatInterop assembly on Mono, as it needs
post-processing with ildasm and ilasm to configure the call-back
delegates for the cdecl calling convention. The equivalent tools
on Mono (monodis and ilasm) are not mature enough yet.