I have a fairly large transformation that runs very quickly (about 4 sec) when called from the command line with transform.exe. In fact, it did a lot better than Altova’s engine with the same transformation.
But when I try the same transformation with the .net Saxon components (code below), it runs for over 70 sec. Am I doing something wrong? Do I need to buy the “SA” version to get the faster .net components or something?
// Create a Processor instance.
Processor processor = new Processor();
// Load the source document
XdmNode input = processor.NewDocumentBuilder().Build(new Uri(@"C:\TestSaxon\PortfolioSnapshot\PortfolioSnapshots.xml"));
// Create a transformer for the stylesheet.
XsltTransformer transformer = processor.NewXsltCompiler().Compile(new Uri(@"C:\TestSaxon\PortfolioSnapshot\PortfolioSnapshot_In1.xslt")).Load();
// Set the root node of the source document to be the initial context node
transformer.InitialContextNode = input;
// Create a serializer
String outfile = @"C:\TestSaxon\Output.xml";
Serializer serializer = new Serializer();
serializer.SetOutputStream(new FileStream(outfile, FileMode.Create, FileAccess.Write));
// Transform the source XML to System.out.