xmlFreeDoc (xmlInput);\r
Cleanup ();\r
\r
- return new XmlTextReader (xslOutputString);\r
+ return new XmlTextReader (new StringReader (xslOutputString));\r
}\r
\r
// Transforms the XML data in the IXPathNavigable using\r
// the specified args and outputs the result to an XmlWriter.\r
public void Transform (IXPathNavigable input, XsltArgumentList args, XmlWriter output)\r
{\r
- StringWriter writer = new UTF8StringWriter ();\r
- Transform (input, args, writer);\r
- output.WriteRaw (writer.GetStringBuilder ().ToString ());\r
+ if (input == null)\r
+ throw new ArgumentNullException ("input");\r
+\r
+ Transform (input.CreateNavigator (), args, output);\r
}\r
\r
// Transforms the XML data in the XPathNavigator using\r
\r
#region Calls to external libraries\r
// libxslt\r
- [DllImport ("libxslt")]\r
+ [DllImport ("xslt")]\r
static extern IntPtr xsltParseStylesheetFile (string filename);\r
\r
- [DllImport ("libxslt")]\r
+ [DllImport ("xslt")]\r
static extern IntPtr xsltParseStylesheetDoc (IntPtr docPtr);\r
\r
- [DllImport ("libxslt")]\r
+ [DllImport ("xslt")]\r
static extern IntPtr xsltApplyStylesheet (IntPtr stylePtr, IntPtr DocPtr, IntPtr notused);\r
\r
- [DllImport ("libxslt")]\r
+ [DllImport ("xslt")]\r
static extern int xsltSaveResultToFilename (string URI, IntPtr doc, IntPtr styleSheet, int compression);\r
\r
- [DllImport ("libxslt")]\r
+ [DllImport ("xslt")]\r
static extern void xsltCleanupGlobals ();\r
\r
- [DllImport ("libxslt")]\r
+ [DllImport ("xslt")]\r
static extern void xsltFreeStylesheet (IntPtr cur);\r
\r
// libxml2\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern IntPtr xmlNewDoc (string version);\r
\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern int xmlSaveFile (string filename, IntPtr cur);\r
\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern IntPtr xmlParseFile (string filename);\r
\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern IntPtr xmlParseDoc (string document);\r
\r
- [DllImport ("libxml2", EntryPoint="xmlParseDoc")]\r
+ [DllImport ("xml2", EntryPoint="xmlParseDoc")]\r
static extern IntPtr xmlParseDocUTF16 ([MarshalAs(UnmanagedType.LPWStr)] string document);\r
\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern void xmlFreeDoc (IntPtr doc);\r
\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern void xmlCleanupParser ();\r
\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern void xmlDocDumpMemory (IntPtr doc, ref IntPtr mem, ref int size);\r
\r
- [DllImport ("libxml2")]\r
+ [DllImport ("xml2")]\r
static extern void xmlFree (IntPtr data);\r
\r
#endregion\r
\r
- // This class just makes XmlTextWriter use 'encoding="utf-8"'\r
+ // This classes just makes the base class use 'encoding="utf-8"'\r
class UTF8StringWriter : StringWriter\r
{\r
static Encoding encoding = new UTF8Encoding (false);\r