2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Mon, 8 Nov 2004 06:32:35 +0000 (06:32 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Mon, 8 Nov 2004 06:32:35 +0000 (06:32 -0000)
* XmlAttribute.cs, XmlElement.cs : get_Name should consider name table.
* XmlDocument.cs : use NameTable in Load() and LoadXml().
* XmlReader.cs : In Create(), use NameTable in XmlReaderSettings.

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

mcs/class/System.XML/System.Xml/ChangeLog
mcs/class/System.XML/System.Xml/XmlAttribute.cs
mcs/class/System.XML/System.Xml/XmlDocument.cs
mcs/class/System.XML/System.Xml/XmlElement.cs
mcs/class/System.XML/System.Xml/XmlReader.cs

index 0b7d0ac88bbb2f5e8ad832547b6c1c8a0f732c6f..d81e5c0b92426a50a4e9f96a205a339acf61c025 100644 (file)
@@ -1,3 +1,9 @@
+2004-11-08  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlAttribute.cs, XmlElement.cs : get_Name should consider name table.
+       * XmlDocument.cs : use NameTable in Load() and LoadXml().
+       * XmlReader.cs : In Create(), use NameTable in XmlReaderSettings.
+
 2004-11-05  Atsushi Enomoto <atsushi@ximian.com>
 
        * XmlDocumentNavigator.cs : create rarely-used ArrayList later. This
index d02dee88e5c19c63891525618357becfff7dfba6..d0e57109f3e9adbe74510724e4f43f55b066d39d 100644 (file)
@@ -144,7 +144,7 @@ namespace System.Xml
 
                public override string Name {
                        get { 
-                               return prefix != String.Empty ? prefix + ":" + localName : localName; 
+                               return prefix != String.Empty ? OwnerDocument.NameTable.Add (prefix + ":" + localName) : localName; 
                        }
                }
 
index b2b1906d63ce4e453bff4cf696af987c7161b194..d4ec9e31d4c09de7737f45ed8a13ec4c665524eb 100644 (file)
@@ -591,7 +591,7 @@ namespace System.Xml
 
                public virtual void Load (Stream inStream)
                {
-                       XmlTextReader reader = new XmlTextReader (inStream);
+                       XmlTextReader reader = new XmlTextReader (inStream, NameTable);
                        reader.XmlResolver = resolver;
                        Load (reader);
                }
@@ -600,7 +600,7 @@ namespace System.Xml
                {
                        XmlTextReader xr = null;
                        try {
-                               xr = new XmlTextReader (filename);
+                               xr = new XmlTextReader (filename, NameTable);
                                xr.XmlResolver = resolver;
                                Load (xr);
                        } finally {
@@ -611,7 +611,7 @@ namespace System.Xml
 
                public virtual void Load (TextReader txtReader)
                {
-                       XmlTextReader xr = new XmlTextReader (txtReader);
+                       XmlTextReader xr = new XmlTextReader (txtReader, NameTable);
                        xr.XmlResolver = resolver;
                        Load (xr);
                }
@@ -643,7 +643,9 @@ namespace System.Xml
                public virtual void LoadXml (string xml)
                {
                        XmlTextReader xmlReader = new XmlTextReader (
-                               xml, XmlNodeType.Document, null);
+                               xml,
+                               XmlNodeType.Document,
+                               new XmlParserContext (NameTable, null, null, XmlSpace.None));
                        try {
                                xmlReader.XmlResolver = resolver;
                                Load (xmlReader);
index a23613403ce6e9a656feabb976ce1533c8f78767..c05877cc7353d9d94d05d64a3d5b702fe0330b46 100644 (file)
@@ -177,7 +177,7 @@ namespace System.Xml
                                if (prefix == String.Empty || prefix == null)
                                        return localName;
                                else
-                                       return prefix + ":" + localName;
+                                       return OwnerDocument.NameTable.Add (prefix + ":" + localName);
                        }
                }
 
index 11dd5ec71d318004e0be3553aac7b10b269ad112..f96db9bdae0e4f76e02a0bef0ce5bfb0b5e168b8 100644 (file)
@@ -202,22 +202,23 @@ namespace System.Xml
                [MonoTODO ("ConformanceLevel, IgnoreSchemaXXX etc.; Encoding")]
                public static XmlReader Create (string url, Encoding encoding, XmlResolver resolver, XmlReaderSettings settings)
                {
-                       return CreateCustomizedTextReader (new XmlTextReader (url), resolver, settings);
+                       return CreateCustomizedTextReader (new XmlTextReader (url, settings != null ? settings.NameTable : null), resolver, settings);
                }
 
                [MonoTODO ("ConformanceLevel, IgnoreSchemaXXX etc.")]
                public static XmlReader Create (TextReader reader, string baseUri, XmlResolver resolver, XmlReaderSettings settings)
                {
-                       return CreateCustomizedTextReader (new XmlTextReader (baseUri, reader), resolver, settings);
+                       return CreateCustomizedTextReader (new XmlTextReader (baseUri, reader, settings != null ? settings.NameTable : null), resolver, settings);
                }
 
                [MonoTODO ("ConformanceLevel, IgnoreSchemaXXX etc.")]
                public static XmlReader Create (Stream stream, string baseUri, Encoding encoding, XmlResolver resolver, XmlReaderSettings settings)
                {
+                       XmlNameTable nameTable = settings != null ? settings.NameTable : null;
                        return CreateCustomizedTextReader (
                                encoding == null ?
-                                       new XmlTextReader (baseUri, stream) :
-                                       new XmlTextReader (baseUri, new StreamReader (stream, encoding)),
+                                       new XmlTextReader (baseUri, stream, nameTable) :
+                                       new XmlTextReader (baseUri, new StreamReader (stream, encoding), nameTable),
                                resolver,
                                settings);
                }