Fixes valid-sa-086 test from W3C xmlconf suite
authorAndrew Skiba <andrews@mono-cvs.ximian.com>
Mon, 27 Jun 2005 12:19:24 +0000 (12:19 -0000)
committerAndrew Skiba <andrews@mono-cvs.ximian.com>
Mon, 27 Jun 2005 12:19:24 +0000 (12:19 -0000)
svn path=/trunk/mcs/; revision=46552

mcs/class/System.XML/System.Xml/ChangeLog
mcs/class/System.XML/System.Xml/DTDReader.cs
mcs/class/System.XML/Test/System.Xml/W3C/ChangeLog
mcs/class/System.XML/Test/System.Xml/W3C/fixme.lst

index 16c83a29c3663830e82ff5223d089c63c6877a7a..fa68557c89533f63c6ce02ed5fd7b6fc74baa8dd 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-27  Andrew Skiba  <andrews@mainsoft.com>
+
+       * DTDReader.cs : don't validate entity values, when the entry is
+       redefined so it will be never used. Fixes valid-sa-086 test from W3C
+       xmlconf suite.
+
 2005-06-27  Atsushi Enomoto <atsushi@ximian.com>
 
        * XmlQueryDialect.cs : removed.
index e37dd763287cba84b3e99a9e4c6f8a589aebed8c..aa95c5a4450c751f0c7360689d443dd3ba1dffb8 100644 (file)
@@ -641,8 +641,9 @@ namespace System.Xml
                private void ResolveExternalEntityReplacementText (DTDEntityBase decl)
                {
                        if (decl.LiteralEntityValue.StartsWith ("<?xml")) {
+                               // FIXME: not always it should be read in Element context
                                XmlTextReader xtr = new XmlTextReader (decl.LiteralEntityValue, XmlNodeType.Element, null);
-                               if (decl is DTDEntityDeclaration) {
+                               if (decl is DTDEntityDeclaration && DTD.EntityDecls [decl.Name] == null) {
                                        // GE - also checked as valid contents
                                        StringBuilder sb = new StringBuilder ();
                                        xtr.Normalization = this.Normalization;
@@ -710,8 +711,9 @@ namespace System.Xml
                        }
                        decl.ReplacementText = CreateValueString ();
 
-                       if (decl is DTDEntityDeclaration) {
+                       if (decl is DTDEntityDeclaration && DTD.EntityDecls [decl.Name] == null) {
                                // GE - also checked as valid contents
+                               // FIXME: not always it should be read in Element context
                                XmlTextReader xtr = new XmlTextReader (decl.ReplacementText, XmlNodeType.Element, null);
                                StringBuilder sb = new StringBuilder ();
                                xtr.Normalization = this.Normalization;
index aa8af8c79f72de811cd35c0c10acb30420d031ca..49b62e47b7660585d0aa1fd45452c0ec51b73d87 100644 (file)
@@ -1,3 +1,7 @@
+2005-06-27  Andrew Skiba  <andrews@mainsoft.com>
+
+       * fixme.lst: remove fixed testcase
+
 2005-06-27  Andrew Skiba  <andrews@mainsoft.com>
 
        * knownFailures.lst, fixme.lst: remove fixed testcases
index 029449eb773d14d40a79f6684a3a3915a21e1a81..8f892dde47209cc74940f1a5b960a2b1988e48dd 100644 (file)
@@ -1,4 +1,3 @@
 not-wf-sa-076
-valid-sa-086
 valid-sa-100
 rmt-e2e-15h