[vwnc] Saxon, .NET, VisualWorks

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] Saxon, .NET, VisualWorks

Philippe Demaecker

Hello list,

 

The company I work for is currently using xsl and xml to create html/wordML/etc. for reporting purposes. Right now we are using Microsoft.XMLDOM objects to perform the required xsl transformation.

 

The xml files that have to be parsed/loaded can sometimes get very big (+400MB). Unfortunately, as loading/handling big files is not XMLDOM’s forte, trying to perform xsl transformations result in poor performance and out of memory problems.

 

For those reasons, we are currently looking at different SAX implementation. Hence my question: does anyone has any experience using Saxon for .NET together with VisualWorks and/or DotNETConnect? Is it easy to set up? How much work is involved in getting this working you think (I’ve never worked with DotNETConnect before )?

 

Thanks in advance!

Philippe

 


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Saxon, .NET, VisualWorks

Claus Kick
Philippe Demaecker schrieb:
> Hello list,
>
> The company I work for is currently using xsl and xml to create html/wordML/etc. for reporting purposes. Right now we are using Microsoft.XMLDOM objects to perform the required xsl transformation.
>
> The xml files that have to be parsed/loaded can sometimes get very big (+400MB). Unfortunately, as loading/handling big files is not XMLDOM's forte, trying to perform xsl transformations result in poor performance and out of memory problems.
>
> For those reasons, we are currently looking at different SAX implementation. Hence my question: does anyone has any experience using Saxon for .NET together with VisualWorks and/or DotNETConnect? Is it easy to set up? How much work is involved in getting this working you think (I've never worked with DotNETConnect before )?

We use Xalan at work for lots of XML transformation, but we have used
Saxon there as well.

Question: Why do you want to use .net at all? In several places we just
  call the processor via syscall in command line mode in a couple of
perl scripts. Works like a charm, has been working for ages.
Without being a VW expert, I dont see why it should not work the same way?

Something like

java -cp serializer.jar;xerces.jar -in input.xml -out output.xml ...

(see http://xml.apache.org/xalan-j/commandline.html)

Best regards,

Claus
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Saxon, .NET, VisualWorks

Andreas Tönne
In reply to this post by Philippe Demaecker
Re: [vwnc] Saxon, .NET, VisualWorks Philippe,

first briefly the steps what you have to do to use DotNetConnect:
DotNetConnect offers you a tool to locate and load a .NET assembly and from that create C++ source code for a marshaling stub between VisualWorks and .NET as well as the necessary Smalltalk side code for using this C++ code. You then compile the C++ code (using the generated makefile) with the Microsoft C++ compiler which is available for free from Microsoft (part of the SDK or the free VisualStudio).
As a result, you have Smalltalk file-ins and a DLL. This process is described in detail in the manual.

If this gives you performance or stability improvements over your current solution depends on what you want to achive. Saxon allows rather simply the conversion of XML files using XSLT (seven lines of C# code in the samples) and this should run fine with DotNetConnect. Actually you can do this with the Saxon commandline tool Transform directly!
If however you want to load the document tree(s) as Smalltalk objects for further processing in the image, you should note that DotNetConnect uses a marshaling/caching technology that keeps object references between VisualWorks and .NET. A 400MB XML file loaded has millions of XML nodes might produce negative effects by overloading the marshaler.

I will be happy to discuss your requirements in more detail and see what would be the best solution for you.

Andreas Tönne (one of the original architects of DotNetConnect)


Am 22.07.09 17:09 schrieb "Philippe Demaecker" unter <philippe.demaecker@...>:

Hello list,
 
The company I work for is currently using xsl and xml to create html/wordML/etc. for reporting purposes. Right now we are using Microsoft.XMLDOM objects to perform the required xsl transformation.
 
The xml files that have to be parsed/loaded can sometimes get very big (+400MB). Unfortunately, as loading/handling big files is not XMLDOM’s forte, trying to perform xsl transformations result in poor performance and out of memory problems.
 
For those reasons, we are currently looking at different SAX implementation. Hence my question: does anyone has any experience using Saxon for .NET together with VisualWorks and/or DotNETConnect? Is it easy to set up? How much work is involved in getting this working you think (I’ve never worked with DotNETConnect before )?
 
Thanks in advance!
Philippe



_______________________________________________
vwnc mailing list
vwnc@...
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

--
Andreas Tönne
Lead Consultant
Cincom Systems GmbH & Co. oHG
Tel.: +49 6196 9003 100
Mobile: +49 172 6159272
Fax: +49 6196 9003 270



Geschäftsführer/Managing Directors: Thomas M. Nies, Gerald L. Shawhan
oHG mit Sitz/based in Schwalbach/Ts. (Amtsgericht Königstein/Ts. HRA 2653)
Pers. haftender Gesellschafter/Partner liable to unlimited extent:
Cincom Systems Verwaltungsgesellschaft mbH (Amtsgericht Königstein/Ts. HRB 5069)


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc