2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
authorAtsushi Eno <atsushieno@gmail.com>
Wed, 3 Dec 2003 05:45:01 +0000 (05:45 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Wed, 3 Dec 2003 05:45:01 +0000 (05:45 -0000)
* HtmlEmitter.cs : CloseStartElement is needed almost everywhere.

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

mcs/class/System.XML/Mono.Xml.Xsl/ChangeLog
mcs/class/System.XML/Mono.Xml.Xsl/HtmlEmitter.cs

index a07c4292e58638958ecab01883a72109cc0a75e4..46b1089b1f1c483b9a3e96120b2f5857cf1e3807 100644 (file)
@@ -1,3 +1,7 @@
+2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
+
 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
 
        * Compiler.cs : In FromListString(), it should use default ns,
index 85c932dcf284e57e482a86058e552069763e0ad5..25505e46589590742d04751445bc6f51803d497d 100644 (file)
@@ -231,6 +231,8 @@ namespace Mono.Xml.Xsl
                }
 
                public override void WriteComment (string text) {
+                       if (openElement)
+                               CloseStartElement ();
                        writer.Write ("<!--");
                        writer.Write (text);
                        writer.Write ("-->");
@@ -240,6 +242,8 @@ namespace Mono.Xml.Xsl
                {
                        if ((text.IndexOf("?>") > 0))
                                throw new ArgumentException ("Processing instruction cannot contain \"?>\" as its value.");
+                       if (openElement)
+                               CloseStartElement ();
                        writer.Write ("<?");
                        writer.Write (name);
                        if (text != null && text != String.Empty) {
@@ -308,10 +312,14 @@ namespace Mono.Xml.Xsl
 
                public override void WriteRaw (string data)
                {
+                       if (openElement)
+                               CloseStartElement ();
                        writer.Write (data);
                }
 
                public override void WriteCDataSection (string text) {
+                       if (openElement)
+                               CloseStartElement ();
                        writer.Write ("<![CDATA[");
                        writer.Write (text);
                        writer.Write ("]]>");