MSDN KB atricle 320847 "HOW TO: Pipeline XSLT Transformations in .NET
Applications" [1], proposes to perform XSLT transformations piping through a
memory stream (System.IO.MemoryStream) object to avoid I/O penalty.
I think it's still not effective piping, because it requires superfluous
serializing to the stream and subsequent parsing from the stream.
Using XmlReader object for XSLT Transformations piping doesn't require
intermediate serialization/parsing steps and allows significantly increase
performance (it's about 30% according to my rough measurements).
Here is a relevant C# code fragment:
xslt.Load("sortEmployees.xslt");
XmlReader interimReader = xslt.Transform(xmlDoc, null);
XPathDocument interimDoc = new XPathDocument(interimReader);
xslt.Load("employeesHTMLTable.xslt");
xslt.Transform(interimDoc, null, Response.OutputStream);
[1] http://support.microsoft.com/default.aspx?scid=kb;en-us;320847
--
Oleg Tkachenko
Multiconn Technologies, Israel
-Arpan Desai
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm.
"Oleg Tkachenko" <ol...@multiconn.com> wrote in message
news:eXphHzN3...@TK2MSFTNGP11.phx.gbl...