2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Thu, 23 Jan 2003 18:14:27 +0000 (18:14 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Thu, 23 Jan 2003 18:14:27 +0000 (18:14 -0000)
* XslTransform.cs: fixed a couple of Transform overloads and changed the
library name in DllImport to make it work on windows too.

svn path=/trunk/mcs/; revision=10841

mcs/class/System.XML/System.Xml.Xsl/ChangeLog
mcs/class/System.XML/System.Xml.Xsl/XslTransform.cs

index 191e0ce88fea47b26b2e49aeb956868a9aced19b..7bec9d6b4e6b3adb52134cd468da9233e50949ef 100644 (file)
@@ -1,3 +1,8 @@
+2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * XslTransform.cs: fixed a couple of Transform overloads and changed the
+       library name in DllImport to make it work on windows too.
+
 2003-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * XslTransform.cs: implemented all Load and Transform methods. It uses
index ed6a611fd1ee9c9e2060e166151e1bde9a22536f..cfb719ab258ca2ad4dc8ba1c29e9ffbf0cafa927 100644 (file)
@@ -256,7 +256,7 @@ namespace System.Xml.Xsl
                        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
@@ -283,9 +283,10 @@ namespace System.Xml.Xsl
                // 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
@@ -447,55 +448,55 @@ namespace System.Xml.Xsl
 \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