// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
using System.CodeDom.Compiler;
using System.Collections;
public sealed class XslCompiledTransform
{
bool enable_debug;
+ object debugger;
CompiledStylesheet s;
- TempFileCollection temporary_files;
+#if !MOBILE
+// TempFileCollection temporary_files;
+#endif
XmlWriterSettings output_settings = new XmlWriterSettings ();
public XslCompiledTransform ()
public XslCompiledTransform (bool enableDebug)
{
enable_debug = enableDebug;
+ if (enable_debug)
+ debugger = new NoOperationDebugger ();
+ output_settings.ConformanceLevel = ConformanceLevel.Fragment;
}
[MonoTODO]
get { return output_settings; }
}
+#if !MOBILE
[MonoTODO]
public TempFileCollection TemporaryFiles {
- get { return temporary_files; }
+ get { return null; /*temporary_files;*/ }
}
+#endif
#region Transform
- public void Transform (string inputfile, string outputfile)
+ public void Transform (string inputUri, string resultsFile)
{
- using (XmlReader reader = XmlReader.Create (inputfile)) {
- using (XmlWriter writer = XmlWriter.Create (outputfile, output_settings)) {
- Transform (reader, writer);
- }
+ using (Stream outStream = File.Create (resultsFile)) {
+ Transform (new XPathDocument (inputUri, XmlSpace.Preserve), null, outStream);
}
}
- public void Transform (string inputfile, XmlWriter output)
+ public void Transform (string inputUri, XmlWriter results)
{
- Transform (inputfile, null, output);
+ Transform (inputUri, null, results);
}
- public void Transform (string inputfile, XsltArgumentList args, Stream output)
+ public void Transform (string inputUri, XsltArgumentList arguments, Stream results)
{
- Transform (new XPathDocument (inputfile), args, output);
+ Transform (new XPathDocument (inputUri, XmlSpace.Preserve), arguments, results);
}
- public void Transform (string inputfile, XsltArgumentList args, TextWriter output)
+ public void Transform (string inputUri, XsltArgumentList arguments, TextWriter results)
{
- Transform (new XPathDocument (inputfile), args, output);
+ Transform (new XPathDocument (inputUri, XmlSpace.Preserve), arguments, results);
}
- public void Transform (string inputfile, XsltArgumentList args, XmlWriter output)
+ public void Transform (string inputUri, XsltArgumentList arguments, XmlWriter results)
{
- Transform (new XPathDocument (inputfile), args, output);
+ Transform (new XPathDocument (inputUri, XmlSpace.Preserve), arguments, results);
}
- public void Transform (XmlReader reader, XmlWriter output)
+ public void Transform (XmlReader input, XmlWriter results)
{
- Transform (reader, null, output);
+ Transform (input, null, results);
}
- public void Transform (XmlReader reader, XsltArgumentList args, Stream output)
+ public void Transform (XmlReader input, XsltArgumentList arguments, Stream results)
{
- Transform (new XPathDocument (reader), args, output);
+ Transform (new XPathDocument (input, XmlSpace.Preserve), arguments, results);
}
- public void Transform (XmlReader reader, XsltArgumentList args, TextWriter output)
+ public void Transform (XmlReader input, XsltArgumentList arguments, TextWriter results)
{
- Transform (new XPathDocument (reader), args, output);
+ Transform (new XPathDocument (input, XmlSpace.Preserve), arguments, results);
}
- public void Transform (XmlReader reader, XsltArgumentList args, XmlWriter output)
+ public void Transform (XmlReader input, XsltArgumentList arguments, XmlWriter results)
{
- Transform (reader, args, output, null);
+ Transform (input, arguments, results, null);
}
- public void Transform (IXPathNavigable input, XsltArgumentList args, TextWriter output)
+ public void Transform (IXPathNavigable input, XsltArgumentList arguments, TextWriter results)
{
- Transform (input.CreateNavigator (), args, output);
+ Transform (input.CreateNavigator (), arguments, results);
}
- public void Transform (IXPathNavigable input, XsltArgumentList args, Stream output)
+ public void Transform (IXPathNavigable input, XsltArgumentList arguments, Stream results)
{
- Transform (input.CreateNavigator (), args, output);
+ Transform (input.CreateNavigator (), arguments, results);
}
- public void Transform (IXPathNavigable input, XmlWriter output)
+ public void Transform (IXPathNavigable input, XmlWriter results)
{
- Transform (input, null, output);
+ Transform (input, null, results);
}
- public void Transform (IXPathNavigable input, XsltArgumentList args, XmlWriter output)
+ public void Transform (IXPathNavigable input, XsltArgumentList arguments, XmlWriter results)
{
- Transform (input.CreateNavigator (), args, output, null);
+ Transform (input.CreateNavigator (), arguments, results, null);
}
- public void Transform (XmlReader input, XsltArgumentList args, XmlWriter output, XmlResolver resolver)
+ public void Transform (XmlReader input, XsltArgumentList arguments, XmlWriter results, XmlResolver documentResolver)
{
- Transform (new XPathDocument (input).CreateNavigator (), args, output, resolver);
+ Transform (new XPathDocument (input, XmlSpace.Preserve).CreateNavigator (), arguments, results, documentResolver);
}
void Transform (XPathNavigator input, XsltArgumentList args, XmlWriter output, XmlResolver resolver)
throw new XsltException ("No stylesheet was loaded.", null);
Outputter outputter = new GenericOutputter (output, s.Outputs, null);
- new XslTransformProcessor (s).Process (input, outputter, args, resolver);
+ new XslTransformProcessor (s, debugger).Process (input, outputter, args, resolver);
output.Flush ();
}
throw new XsltException ("No stylesheet was loaded.", null);
Outputter outputter = new GenericOutputter(output, s.Outputs, output.Encoding);
- new XslTransformProcessor (s).Process (input, outputter, args, null);
+ new XslTransformProcessor (s, debugger).Process (input, outputter, args, null);
outputter.Done ();
output.Flush ();
}
return xvr;
}
- public void Load (string url)
+ public void Load (string stylesheetUri)
{
- using (XmlReader r = GetXmlReader (url)) {
+ using (XmlReader r = GetXmlReader (stylesheetUri)) {
Load (r);
}
}
Load (stylesheet.CreateNavigator(), null, null);
}
- public void Load (IXPathNavigable stylesheet, XsltSettings settings, XmlResolver resolver)
+ public void Load (IXPathNavigable stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)
{
- Load (stylesheet.CreateNavigator(), settings, resolver);
+ Load (stylesheet.CreateNavigator(), settings, stylesheetResolver);
}
- public void Load (XmlReader stylesheet, XsltSettings settings, XmlResolver resolver)
+ public void Load (XmlReader stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)
{
- Load (new XPathDocument (stylesheet).CreateNavigator (), settings, resolver);
+ Load (new XPathDocument (stylesheet, XmlSpace.Preserve).CreateNavigator (), settings, stylesheetResolver);
}
- public void Load (string stylesheet, XsltSettings settings, XmlResolver resolver)
+ public void Load (string stylesheetUri, XsltSettings settings, XmlResolver stylesheetResolver)
{
- Load (new XPathDocument (stylesheet).CreateNavigator (), settings, resolver);
+ Load (new XPathDocument (stylesheetUri, XmlSpace.Preserve).CreateNavigator (), settings, stylesheetResolver);
}
private void Load (XPathNavigator stylesheet,
- XsltSettings settings, XmlResolver resolver)
+ XsltSettings settings, XmlResolver stylesheetResolver)
{
- s = new Compiler ().Compile (stylesheet, resolver, null);
+ s = new Compiler (debugger, false).Compile (stylesheet, stylesheetResolver, null);
}
#endregion
}
+
+ class NoOperationDebugger
+ {
+ protected void OnCompile (XPathNavigator input)
+ {
+ }
+
+ protected void OnExecute (XPathNodeIterator currentNodeset, XPathNavigator style, XsltContext context)
+ {
+ //ShowLocationInTrace (style);
+ }
+/*
+ string ShowLocationInTrace (XPathNavigator style)
+ {
+ IXmlLineInfo li = style as IXmlLineInfo;
+ return li != null ? String.Format ("at {0} ({1},{2})", style.BaseURI, li.LineNumber, li.LinePosition) : "(no debug info available)";
+ }
+*/
+ }
}
-#endif