2008-12-09 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Tue, 9 Dec 2008 08:20:24 +0000 (08:20 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Tue, 9 Dec 2008 08:20:24 +0000 (08:20 -0000)
* XslCompiledTransform.cs : Fixed bug #450797, patch by Jonathan
  Anderson. Preserve whitespace-only text in xsl:text.

* XslTransformTests.cs : test for bug #450797 by Jonathan Anderson.

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

mcs/class/System.XML/System.Xml.Xsl/ChangeLog
mcs/class/System.XML/System.Xml.Xsl/XslCompiledTransform.cs
mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs

index d5c6d6ea606ef99d6dbf965de6773a93fb2aa57e..c2a995a1258695d73e004dd0c6f14229d7e69970 100644 (file)
@@ -1,3 +1,8 @@
+2008-12-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XslCompiledTransform.cs : Fixed bug #450797, patch by Jonathan
+         Anderson. Preserve whitespace-only text in xsl:text.
+
 2008-06-03  Atsushi Enomoto  <atsushi@ximian.com>
 
        * XslTransform.cs : add pretty simple printing debugger.
index bc05fc6bc7f85e2efbab296ee165e570df04e60e..8ef6c9a1f31acfcd2c3b3a3badc916b5c5a52812 100644 (file)
@@ -221,12 +221,12 @@ namespace System.Xml.Xsl
 
                public void Load (XmlReader stylesheet, XsltSettings settings, XmlResolver resolver)
                {
-                       Load (new XPathDocument (stylesheet).CreateNavigator (), settings, resolver);
+                       Load (new XPathDocument (stylesheet, XmlSpace.Preserve).CreateNavigator (), settings, resolver);
                }
 
                public void Load (string stylesheet, XsltSettings settings, XmlResolver resolver)
                {
-                       Load (new XPathDocument (stylesheet).CreateNavigator (), settings, resolver);
+                       Load (new XPathDocument (stylesheet, XmlSpace.Preserve).CreateNavigator (), settings, resolver);
                }
 
                private void Load (XPathNavigator stylesheet,
index 87c24749b157b81d6e48fa122597cde09f69f2dd..6995aa9f09ca5a2e1ebf9d36fbdb984af269bb3a 100644 (file)
@@ -1,3 +1,7 @@
+2008-12-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XslTransformTests.cs : test for bug #450797 by Jonathan Anderson.
+
 2008-10-02  Atsushi Enomoto  <atsushi@ximian.com>
 
        * XslTransformTests.cs : removed extra NotDotNet.
index 60ac63792765beb2fcae7409df79cce2f498a291..2c77adfd90b848506369c000e7b48650eca12340 100644 (file)
@@ -2307,6 +2307,24 @@ World";
                        xslTransform.Transform (new XPathDocument ("Test/XmlFiles/xsl/391424.xml", XmlSpace.Preserve), null, sw);
                        Assert.AreEqual ("<?xml version=\"1.0\" encoding=\"utf-16\"?>Document found", sw.ToString ());
                }
+
+               [Test]
+               public void XslTextElement_PreservesWhitespace () // bug 450797
+               {
+                       XslCompiledTransform xslt = new XslCompiledTransform ();
+                       xslt.Load (new XmlTextReader (new StringReader (@"
+<xsl:stylesheet
+  xmlns:xsl=""http://www.w3.org/1999/XSL/Transform""
+  version=""1.0"">
+  <xsl:output method='text' omit-xml-declaration='yes'/>
+  <xsl:template match='foo'>
+    <xsl:text> </xsl:text>
+  </xsl:template>
+</xsl:stylesheet>")));
+                       StringWriter sw = new StringWriter ();
+                       xslt.Transform (new XmlTextReader (new StringReader (@"<foo>bar</foo>")), null, sw);
+                       Assert.AreEqual (" ", sw.ToString ());
+               }
 #endif
        }
 }