Author: atsushi
Date: 2006-10-27 09:14:25 -0400 (Fri, 27 Oct 2006)
New Revision: 67025

Added:
   trunk/mcs/class/System.XML/Test/XmlFiles/79683.dtd
Modified:
   trunk/mcs/class/System.XML/ChangeLog
   trunk/mcs/class/System.XML/Makefile
   trunk/mcs/class/System.XML/System.Xml/ChangeLog
   trunk/mcs/class/System.XML/System.Xml/DTDReader.cs
   trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog
   trunk/mcs/class/System.XML/Test/System.Xml/XmlTextReaderTests.cs
   trunk/mcs/class/System.XML/Test/XmlFiles/ChangeLog
Log:
2006-10-27  Atsushi Enomoto <[EMAIL PROTECTED]>

        * DTDReader.cs : some parameter entity expansions were not done.
          Fixed bug #79683.

        * 79683.dtd : added for bug #79683.

        * XmlTextReaderTests.cs : added bug #79683 case.

        * Makefile : added 79683.dtd to dist file.



Modified: trunk/mcs/class/System.XML/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/ChangeLog        2006-10-27 12:38:22 UTC (rev 
67024)
+++ trunk/mcs/class/System.XML/ChangeLog        2006-10-27 13:14:25 UTC (rev 
67025)
@@ -1,3 +1,7 @@
+2006-10-27  Atsushi Enomoto  <[EMAIL PROTECTED]>
+
+       * Makefile : added 79683.dtd to dist file.
+
 2006-10-22  Zoltan Varga  <[EMAIL PROTECTED]>
 
        * Makefile (EXTRA_DISTFILES): Add some missing test files.

Modified: trunk/mcs/class/System.XML/Makefile
===================================================================
--- trunk/mcs/class/System.XML/Makefile 2006-10-27 12:38:22 UTC (rev 67024)
+++ trunk/mcs/class/System.XML/Makefile 2006-10-27 13:14:25 UTC (rev 67025)
@@ -58,6 +58,7 @@
        Test/Mono.Test.csproj           \
        Test/MonoMicro.Test.csproj      \
        Test/XmlFiles/76102.xml         \
+       Test/XmlFiles/79683.dtd         \
        Test/XmlFiles/xsd/multi-schemaLocation.xml \
        Test/XmlFiles/xsd/datatypesTest.xsd \
        Test/XmlFiles/xsd/77687.xsd     \

Modified: trunk/mcs/class/System.XML/System.Xml/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/System.Xml/ChangeLog     2006-10-27 12:38:22 UTC 
(rev 67024)
+++ trunk/mcs/class/System.XML/System.Xml/ChangeLog     2006-10-27 13:14:25 UTC 
(rev 67025)
@@ -1,3 +1,8 @@
+2006-10-27  Atsushi Enomoto <[EMAIL PROTECTED]>
+
+       * DTDReader.cs : some parameter entity expansions were not done.
+         Fixed bug #79683.
+
 2006-09-27  Atsushi Enomoto <[EMAIL PROTECTED]>
 
        * XmlTextWriter2.cs : null arg check.

Modified: trunk/mcs/class/System.XML/System.Xml/DTDReader.cs
===================================================================
--- trunk/mcs/class/System.XML/System.Xml/DTDReader.cs  2006-10-27 12:38:22 UTC 
(rev 67024)
+++ trunk/mcs/class/System.XML/System.Xml/DTDReader.cs  2006-10-27 13:14:25 UTC 
(rev 67025)
@@ -990,17 +990,22 @@
                                case 'O':
                                        Expect ("OTATION");
                                        def.Datatype = 
XmlSchemaDatatype.FromName ("NOTATION", XmlSchema.Namespace);
+                                       TryExpandPERefSpaceKeep ();
                                        if (!SkipWhitespace ())
-                                               throw NotWFError ("Whitespace 
is required between name and content in DTD attribute definition.");
+                                               throw NotWFError ("Whitespace 
is required after notation name in DTD attribute definition.");
                                        Expect ('(');
                                        SkipWhitespace ();
+                                       TryExpandPERef ();
                                        def.EnumeratedNotations.Add (ReadName 
());              // notation name
                                        SkipWhitespace ();
+                                       TryExpandPERef ();
                                        while(PeekChar () == '|') {
                                                ReadChar ();
                                                SkipWhitespace ();
+                                               TryExpandPERef ();
                                                def.EnumeratedNotations.Add 
(ReadName ());      // notation name
                                                SkipWhitespace ();
+                                               TryExpandPERef ();
                                        }
                                        Expect (')');
                                        break;
@@ -1013,15 +1018,18 @@
                                TryExpandPERef ();
                                Expect ('(');
                                SkipWhitespace ();
+                               TryExpandPERef ();
                                def.EnumeratedAttributeDeclaration.Add (
                                        def.Datatype.Normalize (ReadNmToken 
()));       // enum value
                                SkipWhitespace ();
                                while(PeekChar () == '|') {
                                        ReadChar ();
                                        SkipWhitespace ();
+                                       TryExpandPERef ();
                                        def.EnumeratedAttributeDeclaration.Add (
                                                def.Datatype.Normalize 
(ReadNmToken ()));       // enum value
                                        SkipWhitespace ();
+                                       TryExpandPERef ();
                                }
                                Expect (')');
                                break;

Modified: trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog        2006-10-27 
12:38:22 UTC (rev 67024)
+++ trunk/mcs/class/System.XML/Test/System.Xml/ChangeLog        2006-10-27 
13:14:25 UTC (rev 67025)
@@ -1,3 +1,7 @@
+2006-10-27  Atsushi Enomoto <[EMAIL PROTECTED]>
+
+       * XmlTextReaderTests.cs : added bug #79683 case.
+
 2006-09-26  Atsushi Enomoto <[EMAIL PROTECTED]>
 
        * XmlDeclarationTests.cs : added bug #79496 case.

Modified: trunk/mcs/class/System.XML/Test/System.Xml/XmlTextReaderTests.cs
===================================================================
--- trunk/mcs/class/System.XML/Test/System.Xml/XmlTextReaderTests.cs    
2006-10-27 12:38:22 UTC (rev 67024)
+++ trunk/mcs/class/System.XML/Test/System.Xml/XmlTextReaderTests.cs    
2006-10-27 13:14:25 UTC (rev 67025)
@@ -1223,5 +1223,15 @@
                        AssertEquals ("#1", XmlNodeType.Whitespace, 
xtr.NodeType);
                        AssertEquals ("#2", " ", xtr.Value);
                }
+
+               // bug #79683
+               [Test]
+               public void NotationPERef ()
+               {
+                       string xml = "<!DOCTYPE root SYSTEM 
'Test/XmlFiles/79683.dtd'><root/>";
+                       XmlTextReader xtr = new XmlTextReader (xml, 
XmlNodeType.Document, null);
+                       while (!xtr.EOF)
+                               xtr.Read ();
+               }
        }
 }

Added: trunk/mcs/class/System.XML/Test/XmlFiles/79683.dtd
===================================================================
--- trunk/mcs/class/System.XML/Test/XmlFiles/79683.dtd  2006-10-27 12:38:22 UTC 
(rev 67024)
+++ trunk/mcs/class/System.XML/Test/XmlFiles/79683.dtd  2006-10-27 13:14:25 UTC 
(rev 67025)
@@ -0,0 +1,3 @@
+<!ENTITY % notations 'a'>
+<!ELEMENT root EMPTY>
+<!ATTLIST root ref NOTATION (%notations;) #IMPLIED>


Property changes on: trunk/mcs/class/System.XML/Test/XmlFiles/79683.dtd
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/mcs/class/System.XML/Test/XmlFiles/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/Test/XmlFiles/ChangeLog  2006-10-27 12:38:22 UTC 
(rev 67024)
+++ trunk/mcs/class/System.XML/Test/XmlFiles/ChangeLog  2006-10-27 13:14:25 UTC 
(rev 67025)
@@ -1,3 +1,7 @@
+2005-10-27  Atsushi Enomoto <[EMAIL PROTECTED]>
+
+       * 79683.dtd : added for bug #79683.
+
 2005-09-14  Atsushi Enomoto <[EMAIL PROTECTED]>
 
        * 76102.xml : added test for bug #76102.

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to