2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
authorAtsushi Eno <atsushieno@gmail.com>
Fri, 12 Dec 2003 07:08:49 +0000 (07:08 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Fri, 12 Dec 2003 07:08:49 +0000 (07:08 -0000)
* HtmlEmitter.cs : Fixed incorrect character entity output.

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

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

index 1057c2458f7351a7243d81bd97a7084e0bfd2fa7..26eb00c619f0b9a1a4f7d969e70b7b2ce67701d4 100644 (file)
@@ -1,3 +1,7 @@
+2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * HtmlEmitter.cs : Fixed incorrect character entity output.
+
 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
 
        * Added ScriptCompilerInfo.cs.
index 25505e46589590742d04751445bc6f51803d497d..a7921cb9a99361658d337247fe7a3f7cb3b7ca55 100644 (file)
@@ -286,28 +286,33 @@ namespace Mono.Xml.Xsl
                                                continue;
                                        writer.Write (text.ToCharArray (), start, i - start);
                                        writer.Write ("&amp;");
-                                       start = i;
+                                       start = i + 1;
                                        break;
                                case '<':
                                        if (openAttribute)
                                                continue;
                                        writer.Write (text.ToCharArray (), start, i - start);
                                        writer.Write ("&lt;");
-                                       start = i;
+                                       start = i + 1;
                                        break;
                                case '\'':
+                                       if (!openAttribute)
+                                               continue;
                                        writer.Write (text.ToCharArray (), start, i - start);
                                        writer.Write ("&apos;");
-                                       start = i;
+                                       start = i + 1;
                                        break;
                                case '\"':
+                                       if (!openAttribute)
+                                               continue;
                                        writer.Write (text.ToCharArray (), start, i - start);
                                        writer.Write ("&quot;");
-                                       start = i;
+                                       start = i + 1;
                                        break;
                                }
                        }
-                       writer.Write (text.ToCharArray (), start, text.Length - start);
+                       if (text.Length > start)
+                               writer.Write (text.ToCharArray (), start, text.Length - start);
                }
 
                public override void WriteRaw (string data)