2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml / ChangeLog
1 2004-03-15  Atsushi Enomoto <atsushi@ximian.com>
2
3         * XmlReader.cs : ReadInnerXml()/ReadOuterXml() should not bork when
4           the reader is on EndElement. Patch by Jean-Marc Andre.
5
6 2004-03-14  Atsushi Enomoto <atsushi@ximian.com>
7
8         * XmlDocumentNavigator.cs : as for namespace node "xml", MS.NET seems
9           to return attribute node. It affects on IHasXmlNode.GetNode() and
10           SelectNodes()/SelectSingleNode().
11
12 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
13
14         * XmlImplementation.cs : fixity fix (I need NUnit runnable ;)
15
16 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
17
18         * XmlImplementation.cs : forgot to commit (renaming internal case)
19
20 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
21
22         * XmlDocument.cs : Implementation should not return null.
23
24 2004-02-25  Atsushi Enomoto <atsushi@ximian.com>
25
26         * XmlTextWriterOpenElement.cs : Reset() should reset _all_ fields.
27           This fixes indentation bug.
28
29 2004-02-19  Atsushi Enomoto <atsushi@ximian.com>
30
31         * XmlTextWriter.cs : Fixed bugzilla #54554 (incorrent end tag output).
32
33 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
34
35         * DTDAutomata.cs,
36           DTDObjectModel.cs,
37           DTDReader.cs,
38           DTDValidatingReader.cs : made classes internal.
39         * XmlDocument.cs : removed extra FIXMEs.
40         * XmlNamedNodeMap.cs,
41           XmlResolver.cs,
42           XmlUrlResolver.cs : 
43           Fixed incorrect method signature.
44
45 2004-02-13  Atsushi Enomoto <atsushi@ximian.com>
46
47         * DTDObjectModel.cs, DTDReader.cs, DTDValidatingReader.cs : 
48           say goodbye to sys.collections.specialized.
49           (replaced the classes in that namespace with ArrayList or Hashtable)
50
51 2004-02-12  Atsushi Enomoto <atsushi@ximian.com>
52
53         * XmlReader.cs : For performance reason, XmlTextReader now uses
54           base ReadInnerXml() and don't store currentTag array unnecessarily.
55         * XmlTextReader.cs :
56           - Fixed GetAttribute(int) that might cause index out of range.
57           - Now it consumes the text reader by reading blocks, as MS.NET does.
58             Modified GetRemainder(), PeekChar(), ReadChar() and so on.
59           - Now it doesn't create Value string for linked nodes, unless it 
60             is actually required.
61           - some code refactory.
62
63 2004-02-11  Atsushi Enomoto <atsushi@ximian.com>
64
65         * XmlTextWriter.cs, XmlTextWriterOpenElement.cs :
66           Reduced creation of openlElement. It also saves much memory.
67
68 2004-02-10  Atsushi Enomoto <atsushi@ximian.com>
69
70         * XmlNode.cs : ChildNodes should not create XmlNodeListChildren
71           every time. This fix heavily improved performance.
72
73 2004-02-10  Atsushi Enomoto <atsushi@ximian.com>
74
75         * XmlAttributeCollection.cs : set owner element as parent on removal
76           events (though they are not "parent" in infoset or dom context)
77         * XmlElement.cs : Don't remove attributes twice (raises extraneous
78           removal events).
79         * XmlNamespaceManager.cs, XmlNodeChangedEventArgs :
80           Added NET_1_2 members.
81
82 2004-02-08  Atsushi Enomoto <atsushi@ximian.com>
83
84         * DTDObjectModel.cs : Limit external entity reference from DTD by 256.
85           foreach elimination.  DTDParameterEntityDeclaration should set Root.
86           Compute attribute default value without raising an error.
87           (for non-error reporting reader)
88         * DTDReader.cs : Fixes for the above fixes. foreach elimination.
89         * DTDValidatingReader.cs, NameTable.cs, XmlAttribute.cs,
90           XmlAttributeCollection.cs, XmlChar.cs, XmlConstruct.cs,
91           XmlDocumentFragment.cs, XmlDocumentNavigator.cs, XmlElement.cs,
92           XmlEntityReference.cs, XmlNamedNodeMap.cs, XmlNode.cs,
93           XmlText.cs : foreach elimination.
94         * XmlDocument.cs, XmlSignificantWhitespace.cs, XmlWhitespace.cs :
95           foreach elimination. Removed unnecesary methods.
96         * XmlTextReader.cs : code format refactory. Optimized some methods.
97           foreach elimination. Replaced Stack with string array.
98           Replaced StringBuilder with char array. Removed unnecessary methods.
99
100 2004-02-06  Atsushi Enomoto <atsushi@ximian.com>
101
102         * DTDValidatingReader.cs : Fixed MoveToElement() that causes incorrect
103           IsDefault and Depth.
104         * XmlAttribute.cs : Fixed .ctor(). Omit more namespace check when 
105           checkNamespace = false.
106         * XmlNamedNodeMap.cs : Fixed SetNamedItem() to raise events.
107         * XmlAttributeCollection.cs : Reimplemented InsertAfter to use
108           InsertBefore() (similar to XmlNode).
109         * XmlDocument.cs : Added internal .ctor().  Reimplemented ReadNode()
110           as recursive, to make event order compatible.
111         * XmlDocumentType.cs : Use SetNamedItem() (to raise events).
112         * XmlElement.cs : Some refactory.  Fixed SetAttributeNode() with 
113           string name to block prefixed name.
114         * XmlEntity.cs : Don't raise events on setting contents.
115         * XmlNode.cs : Some refactory. Added raiseEvent argument to internal
116           InsertBefore().
117         * XmlEntityReference.cs : related fix for XmlNode change.
118         * XmlTextReader.cs : When the reader is on "attributes" of xmldecl or
119           doctype, Depth 1 lower than usual attribute. Split large function.
120
121 2004-02-05  Atsushi Enomoto <atsushi@ximian.com>
122
123         * XmlConvert.cs : ToSingle() and ToDouble() should be culture 
124           independent. Patch by Rodolfo Campero.
125
126 2004-02-04  Atsushi Enomoto <atsushi@ximian.com>
127
128         * DTDObjectModel.cs : Never expand entity on ScanEntityValue().
129         * DTDValidatingReader.cs : XmlDeclaration node requires attributes
130           to be movable.
131         * XmlAttribute.cs,
132           XmlDocument.cs,
133           XmlDocumentFragment.cs,
134           XmlElement.cs,
135           XmlEntity.cs,
136           XmlLinkedNode.cs,
137           XmlNode.cs,
138           XmlNotation.cs : 
139           Added namespace checking flag (required for such xml readers
140           that holds Namespaces=false). Now only XmlNode holds LastLinkedNode.
141         * XmlDocumentType.cs,
142           XmlEntity.cs,
143           XmlEntityReference.cs : The children of Entity and EntityReference
144           became correct. They now holds parsed nodes, but it is only when
145           they are appended to the document.
146         * XmlNode.cs : Modified insertBeforeIntern() to InsertBefore() with
147           boolean checkNodeType argument.  This method also tries to create
148           Entity's and EntityReference's child nodes.  Also added internal
149           RemoveChild() with boolean checkNodeType argument.
150         * XmlNodeReader.cs : Quick hack for ResolveEntity() that became 
151           broken with these changes. use InnerXml as input to entityReader.
152         * XmlTextReader.cs : XmlDeclaration's value LocalName should be the
153           same as Name.  The names of DTD's pseudo attributes should be empty.
154           Fixed DTD node's Depth (was regarded as attribute value's depth).
155
156 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
157
158         * XmlTextReader.cs, DTDReader.cs : fixity fix ;)
159
160 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
161
162         * ChangeLog : Fixed incorrect description that should be written for
163           DTDValidatingReader.cs but written for DTDReader.cs.
164         * DTDValidatingReader.cs : Fixes described in the last DTDReader fix.
165
166         * XmlChar.cs,
167           XmlConstructs.cs : Made XmlChar and XmlConstructs equivalent and
168           replaced XmlChar with XmlConstruts, renaming "XmlChar" to 
169           "XmlCharCompact" and "XmlConstructs" to "XmlChar". 
170           (XmlChar will be used for compact framework.)
171         * DTDReader.cs, XmlParserInput.cs, XmlTextReader.cs : 
172           XmlChar related changes.  Support for surrogate pair.
173           It cannot use TextReader's peek anymore (for surrogate pair).
174           Character range check for PI value, attribute value, text
175         * XmlTextWriter.cs : Change openElements from Stack to ArrayList.
176           (It calls ToArray() every time.)
177
178 2004-02-03  Alon Gazit <along@mainsoft.com>
179         * XmlNamedNodeMap - now Item(int index) returns null for nodeList.Count
180           instead of throwing ArgumentOutOfRangeException.
181
182 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
183
184         * XmlChar.cs : now GetPredefinedEntity() returns int and -1 for not
185           predefined entity names.
186         * DTDObjectModel.cs : DTDxxxCollection now derives from 
187           - DTDCollectionBase that derives from DictionaryBase.
188           - "Literal value" and "replacement text" are handled differently.
189           - Throw XmlException when external entity could not be resolved. 
190           - Return ReplacementText for EntityValue.
191         * DTDReader.cs :
192           - Support IXmlLineInfo.
193           - Fixed IGNORE section handling to be more strict.
194           - Compute replacement text on reading entity declarations.
195           - Don't expand char references before getting literal entity value.
196           - Check not allowed parameter entity inside internal subset.
197         * DTDValidatingReader.cs :
198           - Added ValidateWhitespaceNode() to check whitespace's Validity
199             Constraints on external elementdecl and standalone document.
200           - When invalid data against its datatype was found, don't throw
201             parse error.
202           - Other code refactory.
203         * XmlTextReader.cs : 
204           - Check for invalid Text pattern "]]>" should not depend on line 
205             info since it might not be supported.
206           - Check referenced character's validity (WFC).
207
208 2004-01-28  Atsushi Enomoto <atsushi@ximian.com>
209
210         * DTDReader.cs : Added Normalization.  Parameter Entity declaration
211           should block invalid characters. (GEDecl should be fixed as well.)
212         * XmlConstruct.cs : Should allow surrogate chars.
213         * XmlNotation.cs : When prefix is empty (i.e. almost all cases) 
214           Name should not add ':'. Patch by Boris Kirzner.
215         * XmlTextReader.cs : Modified private ReadCharacterReference() to
216           return the character (or -1 when should not return anything).
217           Now Text character reference are checked their character range.
218           Set DTDReader.Normalization as well as the reader itself.
219
220 2004-01-28  Atsushi Enomoto <atsushi@ximian.com>
221
222         * DTDReader.cs : Make sure that parameter entities are not allowed
223           inside internal subset unless it appears as a markupdecl.
224         * DTDValidatingReader.cs : ENTITY or ENTITIES type attributes must have
225           a value that indicates *unparsed* entity (i.e. NDATA required).
226
227 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
228
229         * XmlTextWriter.cs : quick performance fix.
230           Reduced memoty allocation (e.g. 12% when writing XMLSchema.xsd.)
231
232 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
233
234         * DTDObjectModel.cs :
235           - DTDNode's BaseURI should not always refer to that of DTD's.
236           - Use absolute URI's .ToString() instead of AbsolutePath.
237         * DTDReader.cs : Throw XmlException for illegal character references.
238         * DTDValidatingReader.cs :
239           - Share XmlResolver when the actual reader is XmlTextReader.
240             (MS's XmlValidatingReader and XmlTextReader do this.)
241           - Added its own EntityHandling property.
242         * XmlValidatingReader.cs : Share XmlResolver with XmlTextReader.
243         * XmlReader.cs,
244           XmlTextReader.cs : Added new NET_1_2 members.
245         * XmlElement.cs : Removed extra lines (caused by XmlTextWriter bugs).
246         * XmlEntityReference.cs : Forgot to add, the real fix by Boris.
247
248 2004-01-23  Atsushi Enomoto <atsushi@ximian.com>
249
250         * XmlWriter.cs, XmlTextWriter.cs :
251           Several namespace related fixes.
252           - Current element's NamespaceURI should be immediately available
253             after the call of WriteStartElement() for LookupPrefix(), so 
254             AddMissingElementXmlns() only affects on output. This is 
255             now identified by shouldCheckElementXmlns field.
256           - Attribute's overraped xmlns should be ignored for LookupPrefix(),
257             Especially, when the owner element is written with the default
258             namespace. HOWEVER, the attribute should be *written*. This is
259             identified by shouldAddSavedNsToManager field.
260           - In AddMissingElementXmlns(), non-empty prefix namespace was not
261             checked user-written attributes.
262           - XmlWriter.WriteAttributeString() never supplies namespace URI for
263             xmlns attributes for other versions than NET_1_0. Instead, added
264             ns check logic in WriteStartAttribute() only with NET_1_0.
265           - WriteEndAttribute() should reject zero-length namespace for 
266             non-default xmlns declarations.
267           - LookupPrefix() should reject argument null and empty.
268
269         (added 2004-01-24 : forgot to mention more)
270           - WriteAttributeString() w/o namespace should supply null, not ""
271           - Added .NET 1.2 members.
272           - Regard any name with "xml" prefix as in "namespace for XML".
273
274 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
275
276         * XmlElement.cs : Reverted previous fix since it broke monodoc web 
277           service.
278
279 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
280
281         * XmlNode.cs : When adding a node to child list, it should reject its
282           ancestors. Patch by Boris Kirzner.
283         * XmlNodeReader.cs : Related fix to the fix above. It should not move
284           to children of XmlEntityReference nodes.
285         * XmlTextWriter.cs : FixedWriteStartElement() not to write default
286           namespace when ns is null (while ns is "", it writes default ns).
287         * XmlElement.cs : Fixed WriteTo() to call WriteStartElement(localName)
288           when NamespaceURI is an empty string.
289
290 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
291
292         * XmlAttribute.cs : when set a value, it is no longer default 
293           (even if the value is the same as default value).
294         * XmlAttributeCollection.cs : Remove() should recover default attribute
295           value to default, not specified value.
296           Patch by Boris Kirzner (modified a bit)
297         * XmlDocument.cs : Reference to undeclared entity is not allowed in
298           Load(), while allowed in ReadNode(). Added such distinguishing logic.
299
300 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
301
302         * XmlValidatingReader.cs : Throw exception only in case of errors.
303           Added NET_1_2 Evidences property.
304
305 2004-01-12  Atsushi Enomoto  <atsushi@ximian.com>
306
307         * XmlElement.cs : Fixed .ctor(). Default attribute was not treated as
308           Specified = false. Patch by Boris Kirzner.
309
310 2004-01-11  Atsushi Enomoto <atsushi@ximian.com>
311
312         * XmlException.cs : Fixed incorrect .ctor signature.
313         * XmlParserInput.cs : Fixed in sync with the above fix.
314
315 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
316
317         * XmlAttribute.cs, XmlElement.cs : 
318           Fixed incorrect protected .ctor modification.
319
320 2004-01-08  Nick Drochak <ndrochak@ieee.org>
321
322         * DTDValidatingReader.cs: Removed unused variable
323         
324 2004-01-07  Atsushi Enomoto  <atsushi@ximian.com>
325
326         * XmlNamespaceManager.cs : Implemented .NET 1.2 methods that take
327           atomizedNames argument.
328         * XmlTextReader.cs : Use new namespace manager methods.
329           Reduced NameTable.Add().
330         * DTDObjectModel.cs : fixed incorrectly commented-out line.
331
332 2004-01-07  Atsushi Enomoto  <atsushi@ximian.com>
333
334         * XmlAttribute.cs, XmlDocument.cs, XmlElement.cs :
335           set_Prefix should atomize to name table.
336           Avoided extraneous atomization attempt a bit.
337
338 2004-01-07  Atsushi Enomoto  <atsushi@ximian.com>
339
340         * DTDObjectModel.cs, DTDReader.cs, XmlSecureResolver.cs :
341           avoiding obvious exception.
342         * DTDReader.cs, XmlTextReader.cs : Some optimization. 
343           Avoided extraneous PeekChar() and reduced name string creation.
344
345 2004-01-05  David Sheldon <dave-mono@earth.li>
346   
347   * XmlTextReader.cs: Fixed constructors taking string url to not
348     loose the absolute part of the path.
349
350 2004-01-04  Atsushi Enomoto  <atsushi@ximian.com>
351
352         * XmlDocument.cs : Fixed Load() to set XmlResolver correctly. Patch
353           by Benjamin Jemlich.
354           Assure closing XmlTextReader which are internally used.
355
356 2004-01-03  Atsushi Enomoto  <atsushi@ximian.com>
357
358         * XmlTextWriter.cs : trivial character-case fix
359         * XmlUrlResolver.cs : It downloads network stream content at 
360           GetEntity() call. You can try like below:
361             for (int i=0;i<100;i++) u.GetEntity(url, null, typeof(Stream));
362
363 2003-12-23  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * XmlNamedNodeMap.cs : Fixed internal SetNamedItem(node, pos) to set
366           replacing node correctly. This fixes bug #52453.
367
368 2003-12-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
369
370         * XmlDocument.cs, XmlElement.cs, XmlNode.cs :
371           GetElementsByTagName() - Fixed bugzilla #52419, refactored, 
372           and moved private implementation methods to XmlNode class.
373
374 2003-12-20  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
375
376         * XmlTextWriter.cs :
377           Element's namespace should be escaped as usual attribute.
378
379 2003-12-18  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
380
381         * XmlTextWriter.cs : Indentation between xmldecl and doctype.
382         * DTDValidatingReader.cs : AttList null reference fix.
383
384 2003-12-16  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
385
386         * DTDValidatingReader.cs : Validity check and entity expansion were
387           incorrectly mixed.
388         * DTDObjectModel.cs, DTDReader.cs, XmlInputStream.cs :
389           Going to remove XmlInputStream. XmlStreamReader might be replacable.
390
391 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
392
393         * XPathDocument2ChangedEventHandler.cs : fixed incorrect argument.
394         * Moved UpdateEventHandler.cs and XmlUpdateEventArgs.cs to sqlxml.
395
396 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
397
398         * XmlTextReader.cs : BaseURI was broken. This fixes bug #52098.
399
400 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
401
402         * XmlUrlResolver.cs : GetEntity() does not return direct network stream
403           that may hold up connection. Now it reads up all the content stream.
404
405 2003-12-12  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
406
407         * XmlAttributeCollection.cs,
408           XmlElement.cs : Fixed bug #51415.
409           When adding attribute to an element using Attributes, it failed.
410
411 2003-12-11  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
412
413         * XmlDocument.cs : Fixed ReadNode() to call AppendChild() to document
414           after setting all attribute nodes. Modified ReadNode() to handle
415           Depth comparison and error handling (!= to <). It allows MS's
416           SgmlReader bug that returns incorrect Depth.
417
418 2003-12-11  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
419
420         * XmlDocumentNavigator.cs : Fixed MoveToNextAttribute (and 
421           MoveToNextNamespace) that might result in NullReferenceException.
422           patch by Sanjay Gupta. This fixed bug #51941 (and possibly #51415)
423
424 2003-12-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
425
426         * XmlUrlResolver.cs : Update with recent System.Uri change. This fixes
427           bugzilla #51808 (patch by Jeroen Zwartepoorte, a bit modified).
428
429 2003-12-04  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
430
431         * XmlTextWriter.cs : WriteComment() should block "--", not full "-->".
432         * XmlDocumentNavigator.cs : Added null check in MoveToNextAttribute().
433           This may fix bug #51415.
434
435 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
436
437         * XmlAttribute.cs : set_Prefix checks value when existing is "xmlns".
438
439 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
440
441         * XmlWriter.cs : patch by Gonzalo (I modified a bit). WriteNode()
442           shouldn't expect non-empty element content. This will fix bug #48287.
443
444 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
445
446         * XmlTextWriter.cs : When element's namespace should be overwritten by
447           one of its attribute, if exist as such. This fixes bug #51305.
448
449 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
450
451         * DTDValidatingReader.cs : Fixed ReadContent() which may result in 
452           invalid additional Text node.
453
454 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
455
456         * XmlTextWriter.cs : 
457           On WriteProcessingInstruction(), ArgumentException() is expected ;-)
458
459 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
460
461         * XmlTextWriter.cs :
462           WriteProcessingInstruction() should check name validity.
463           AddMissingElementXmlns() should allow namespace emission even if it
464           is identical to existing one.
465
466 2003-11-22  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
467
468         * XmlTextReader.cs : Fixed ReadInnerXml(). This fixes bug #51267.
469
470 2003-11-20 Eran Domb <erand@mainsoft.com>
471
472         * XmlTextWriter.cs (WriteStartAttribute) : Check if the ket already exists in the newAttributeNamespaces table 
473           before trying to add it to the table.
474
475 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
476
477         * DTDValidatingReader.cs : Replaced entity should not treat whitespaces
478           as significant.
479         * XmlNode.cs : Removed extraneous MonoTODOs.
480
481 2003-11-17  Jackson Harper  <jackson@ximian.com>
482
483         * XPathEditor.cs: .net 1.2 only
484         
485 2003-11-17  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
486
487         * AsyncXmlTextWriter.cs, IXPathChangeNavigator.cs, IXPathEditor.cs,
488           IXPathNavigator.cs, IXmlDataEvidence.cs, IXmlNamespaceResolver.cs,
489           UpdateEventHandler.cs, XPathChangeNavigator.cs, XPathDocument2.cs,
490           XPathDocument2ChangedEventAction.cs, 
491           XPathDocument2ChangedEventHandler.cs, XPathEditor.cs,
492           XPathNavigator2.cs, XmlChangeFilters.cs, XmlInfoItemType.cs,
493           XmlNamespaceScope.cs, XmlNodeChangeType.cs, XmlQualifiedNameTable,cs,
494           XmlQueryDialect.cs, XmlUpdateEventArgs.cs
495           : Added .NET 1.2 classes (for convenience of ObjectSpaces stubbing).
496
497 2003-11-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
498
499         * XmlDocumentNavigator.cs : Fixed MoveToFirstChild() and MoveToNext()
500           to skip XmlEntityReference.
501         * XmlTextWriter.cs : Fixed AddMissingElements() and 
502           WriteStartAttribute() not to emit extraneous xmlns.
503
504 2003-11-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
505
506         * XmlTextWriter.cs : Skip multiple xmlns when element and any of 
507           attributes have the same xmlns values.
508           WriteEndElement() allows open attribute (calles WriteEndAttribute()).
509           Indentation should be inserted between ">" and "</xxx>" .
510
511 2003-11-02  Pedro Martínez Juliá  <yoros@wanadoo.es>
512
513         * XmlConvert.cs: Only parse INF/-INF/NaN. Other Infinty or NAN
514         numbers are parsed with the respective ::Parse method.
515
516 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
517
518         * XmlConvert.cs: Revert my last change. INF and -INF must be
519         processed here because Double::Parse and Single::Parse doesn't
520         understand anything of parsing [-]INF.
521
522 2003-11-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
523
524         * XmlDocument.cs : Save(Stream) should not close the stream.
525
526 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
527
528         * DTDReader.cs, DTDValidatingReader.cs, XmlInputStream.cs,
529           XmlTextReader.cs : More cleanup.
530         * XmlDocument.cs : Removed CheckName(). Code cleanup.
531         * XmlElement.cs : .ctor() now adds default attributes (if required).
532         * XmlAttribute.cs, XmlElement.cs, XmlEntity.cs, XmlEntityReference.cs,
533           XmlNotation.cs : Now uses OwnerDocument's NameTable.
534
535 2003-10-25  Pedro Martínez Juliá  <yoros@wanadoo.es>
536
537         * XmlConvert.cs: Support for the sign in double and single. The
538         processing of the infinites and nan numbers are more complex than
539         comparing to "INF" so we must let Double::Parse and Single::Parse
540         doing their job.
541
542 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
543
544         * DTDValidatingReader.cs : Now it handles whitespace entity as
545           significant.
546         * XmlConvert.cs : As to NIST testcases, exponential support on single
547           and double floating point numbers.
548         * XmlValidatingReader.cs : If it IsDefault, then line number and line
549           position returns 0.
550
551 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
552
553         * DTDReader.cs,
554           XmlConstructs.cs,
555           XmlTextReader.cs,
556           XmlWriter.cs : Fixed incorrect access modifier.
557         * XmlTextWriter.cs : Imported state variable from XmlWriter.
558         * DTDValidatingReader.cs : Removed extraneous MonoTODO.
559         * XmlConvert.cs : Implemented ToTimeSpan().
560           Modified ToDateTime() to reuse the same array.
561
562 2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
563
564         * XmlAttributeCollection.cs : Fixed synchronization stuff.
565         * XmlConvert.cs : Added two FromBinHexString() methods.
566         * XmlTextReader.cs : Modified to use one of the above method.
567         * XmlValidatingReader.cs : XsdValidatingReader.XmlResolver will be 
568           disabled (in the next commit), so resolver won' be set to it.
569           Attempt to validate against XDR now throws NotSupportedException.
570
571 2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
572
573         * XmlChar.cs : added WhitespaceChars, used in common.
574         * XmlConvert.cs,
575           XmlDeclaration.cs,
576           XmlParserInput.cs,
577           XmlTextReader.cs,
578           XmlTextWriter.cs : String.Trim()
579         * XmlConvert.cs : shifted XmlConstructs to XmlChar.
580         * XmlTextReader.cs : Implemented Normalization.
581
582 2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
583
584         * XmlNode.cs : GetPrefixOfNamespace() also contained a bug similar to
585           GetNamespaceOfPrefix() fixed at 2003-10-13.
586         * XmlTextReader.cs : ReadBase64() should keep incomplete base64 block
587           which remained by previous call of this method.
588         * XmlUrlResolver.cs : Added assertion for file Uri path's absoluteness.
589         * XmlValidatingReader.cs : Notice about intention of XDR won't be
590           supported (at least in Mono 1.0).
591
592 2003-10-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
593
594         * XmlDocument.cs : CloneNode() does not copy PreserveWhitespace.
595         * XmlWriter.cs : Calling WriteNode() with XmlReader whose state is
596           XmlDeclaration now calls WriteProcessingInstruction(). This fixes
597           testcase XmlWriterTests.WriteNodeFullDocument().
598         * XmlTextWriter.cs : Added LAMESPEC comments related to above.
599
600 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
601
602         * XmlDocument.cs : Fixed bugzilla #49607. Save() outputs XML 
603           declaration even though there is no XmlDeclaration child.
604         * XmlTextReader.cs : Fixed Init() so that ResetState() should work.
605
606 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
607
608         * XmlTextWriter.cs : Implemented WriteSurrogateCharEntity().
609           Reverted my recent extraneous check in WriteStartAttribute().
610
611 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
612
613         * XmlNode.cs : GetNamespaceOfPrefix() should check Attributes existence.
614           And it should throw ArgumentNullException.
615
616 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
617
618         * XmlAttribute.cs : Fixed InnerText that did not removed its content
619           if there is two or more children.
620         * XmlNode.cs : XmlNode.cs : Fixed bugzilla #49580 (1)to return "",
621           (2)not to compare NodeType for detached nodes, (3)optimization to
622           compare element's prefix.
623         * XmlSecureResolver.cs : Removed extraneous members.
624
625 2003-10-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
626
627         * Added DTDReader.cs. It is almost importation of XmlTextReader.
628         * DTDObjectModel.cs :
629           - More .NET-ism. Properties took place of fields.
630           - Imported PE set from XmlTextReader. Added location info.
631           - Added DTDEntityBase common to PE and GE.
632           - More correct text declaration handling with new XmlTextReader.
633         * DTDValidatingReader.cs :
634           - Now uses entity resolving XmlTextReader to validate attributes
635             correctly. Implemented standalone
636           - Standalone and default related validity constraints check.
637         * XmlImplementation.cs: Implemented HasFeature().
638         * XmlNode.cs : Implemented Supports().
639         * XmlNodeReader.cs : Modified to use XmlTextReader.SkipTextDeclaration()
640         * XmlParserInput.cs : Removed extraneous members.
641         * XmlTextReader.cs :
642           - All DTD related functionality now goes to DTDReader.cs
643           - It became old simple TextReader input style.
644           - Implemented GetRemainder().
645           - Implemented ReadBase64(), ReadBinHex() and ReadChars(), using 
646             additional new private method ReadUntilEndTag().
647           - Removed incomplete MaybeTextDecl and added SkipTextDeclaration().
648             ReadXmlDeclaration() now became simple.
649           - More strict entity reference check at SetEntityReferenceProperty()
650           - Removed extraneous members.
651         * XmlWriter.cs : WriteNode(XmlNodeType.None) does not raise error.
652
653 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
654
655         * XmlTextReader.cs: when we get an unexpected EOF in ReadContent, set
656         the state before throwing the exception if depth > 0.
657
658 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
659
660         * XmlAttribute.cs : Removed extraneous MonoTODO.
661         * XmlTextWriter.cs : Implemented WriteBinHex() and WriteChars().
662           WriteStartElement() and WriteStartAttribute() should ignore Prefix
663           if namespace uri is not specified.
664
665 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
666
667         * XmlDocumentFragment.cs,
668           XmlElement.cs,
669           XmlEntityReference.cs : Removed extraneous MonoTODO.
670         * XmlNode.cs : Implemented Normalize().
671         * XmlNodeReader.cs :
672           - AttributeCount and HasAttributes should return its owner element's
673             value, to be consistent with XmlTextReader.
674           - Fixed Depth to reflect correct attribute/attribute-value iteration.
675           - simplified ownerElement and HasValue.
676           - Prefix won't return null.
677           - MoveToElement() should also work against attribute value nodes.
678         * XmlTextReader.cs : MoveToElement() should return false if it is
679           positioned at element itself.
680
681 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
682
683         * XmlTextReader.cs : Improved SignificantWhitespace handling.
684
685 2003-10-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
686
687         * XmlSecureResolver.cs : Implemented basic feature.
688
689 2003-10-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
690
691         * XmlUrlResolver.cs : Should work with null type argument.
692
693 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
694
695         * XmlTextWriter.cs : An attribute can require a prefix for the default
696           namespace, so we need to store the prefix as well as the namespace.
697
698 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
699
700         * DTDValidatingReader.cs : Simplified to use 
701           XmlSchemaUtil.GetParserContext().
702         * XmlValidatingReader.cs : ValidationType.Auto should always use
703           XsdValidatingReader because xsi:schemaLocation might be used.
704
705 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
706
707         * XmlTextReader.cs : Attribute value token properties were incorrectly
708           set by the linked node.
709
710 2003-09-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
711
712         * XmlDocumentNavigator.cs : Fix for bugzilla #48931. MoveToRoot() now
713           considers such case that target node was not adapted to the document.
714         * XmlNamespaceManager.cs : GetEnumerator() missed the last pair.
715         * XmlTextWriter.cs : use 'as'  instead of 'try..catch'.
716
717 2003-09-25 Ben Maurer  <bmaurer@users.sourceforge.net>
718
719         * XmlNode.cs (XPathNodeType): Give more useful debugging message.
720         * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as
721         in MoveToNext.
722
723 2003-09-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
724
725         * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace
726           recovery was still not enough. Fixed GrowScopes() (incorrect index).
727
728 2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
729
730         * XmlTextReader.cs : 
731           - Fix for bugzilla #48337 (containing Ben's advice on that).
732           - Added internal XmlTokenInfo classes. Nodes are now handled as token 
733             objects (linked node, attributes and attribute values). Most of the
734             node state properties and iterating methods are changed to refer to
735             the token classes (except for value builder availability). Removed
736             fields which are never used. CompileDTDSubset() is changed in
737             reflection to nodeType field removal.
738           - Fixed Depth that should vary in moving between attributes and/or
739             reading attribute values.
740           - LineNumber and LinePosition now returns more correct location.
741           - Fixed Value that should still return true if its value is an empty
742             attribute value string.
743           - EntityValue is checked WFC constraints even thoug it is not used.
744           - All .ctor() now initializes ReadState as Initial.
745           - Read() should be available for attribute value constructor.
746         * XmlAttribute.cs : set_InnerXml() now calls reader's Read().
747
748 2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
749
750         * XmlNamespaceManager.cs: PopScope() must retain those namespaces which
751           are added in the scope before PushScope() was called.
752
753 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
754
755         * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked
756         lists and removes uses of Hashtable. Results in huge speed gains.
757
758 2003-09-19 Ben Maurer  <bmaurer@users.sourceforge.net>
759
760         * XmlConvert.cs: NaN.ToString () != INF.
761
762 2003-09-14  Lluis Sanchez Gual  <lluis@ximian.com>
763
764         * XmlTextWriter.cs: Attributes that have a namespace must be always
765           prefixed.
766
767 2003-09-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
768
769         * XmlTextWriterOpenElement.cs : Changed to receive prefix and localName
770           in .ctor().
771         * XmlTextWriter.cs : Changed to use above XmlTextWriterOpenElement.
772           Changed xmlns adding scheme. In detail, 1) WriteStartElement does not
773           add Namespaces immediately, but adds at AddMissingElementXmlns so 
774           that we don't have to have extra check than namespaceManager's
775           LookupPrefix(). 2) Removed writtenAttributes for performance reason
776           since it is no more required.
777
778 2003-09-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
779
780         * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute()
781           that handled xmlns attributes inproperly.
782
783 2003-09-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
784
785         * XmlNamespaceManager.cs : GetEnumerator() should return all of the
786           available pairs (of prefix and namespace).
787         * XmlQualifiedName.cs : Quick fix for NullReferenceException in case
788           of name (or ns) is null. (The description of the immediate previous 
789           changes will be inserted below.)
790         * XmlTextWriter.cs : Fixed WriteDocType(). Removed CheckValidName().
791         * XmlUrlResolver.cs : Changed not to call WebClient.Dispose() which
792           will release resources it had allocated.
793
794 2003-09-01 Ben Maurer  <bmaurer@users.sourceforge.net>
795
796         * XmlDocument.cs (Save): use the encoding of the document, if
797         available.
798
799 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
800
801         * XmlValidatingReader.cs : Implemented SchemaType. Added support for
802           ValidationType.Schema. Added support for XmlResolver. Fixed 
803           ReadTypedValue() not to consume EndElement.
804
805 2003-08-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
806
807         * XmlDocumentNavigator.cs : Fixed MoveToFirstNamespace() that arose
808           infinite loop.
809         * XmlNamespaceManager.cs : Renamed AtomStrEq to AtomicStringEquals.
810           Commented out Console.Error.WriteLine().
811         * XmlUrlResolver.cs : Fixed ResolveUri() and GetEntity() to support
812           escape and unescape for relative URI string.
813
814 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
815
816         * XmlParserContext.cs: Make each context inherit next.
817
818 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
819
820         * XmlChar.cs (IsWhitespace): Spare enumerator allocation.
821         * XmlTextWriter.cs (WriteWhitespace): Enumerators are very high in
822         fat, use low-fat loops instead. Even better, call the function
823         inside XmlChar for code reuse.
824         * HighWaterStack.cs (added): New class that acts like a Stack, but
825         helps with memory allocation.
826         * XmlNamespaceManager.cs, XmlParserContext.cs: Rewrote to use
827         HighWaterStack.
828         * XmlTextReader.cs: Remove orderedAttributesEnumerator variable,
829         use a variable that stores the position in the ArrayList.
830         
831 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
832
833         * XmlTextWriter.cs: Begin diet. String.Format has too much
834         saturated fat, lets replace with the fat-free .Write ()
835         calls. Effects best seen when Paolo's StreamWriter patch is
836         applied.
837
838 2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
839
840         * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in
841           vanishing current node.
842
843 2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
844
845         * DTDValidatingReader.cs : Added SchemaType.
846           Read() Assures to return to element.
847         * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI.
848         * XmlReader.cs : ReadString() should be virtual in NET_1_1.
849         * XmlTextReader.cs : 1) Depth should consider Attribute and its values.
850           Introduced insideAttribute field to support them.
851           2) ReadAttributeValue() should consider empty string.
852         * XmlValidatingReader.cs :
853           Fixed several properties which premised as if it was already read.
854           Encoding and Namespaces now throws NotSupportedException for other
855           than XmlTextReader.
856           Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType.
857
858 2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
859
860         * XmlInputStream.cs : Reverted CanSeek as to return false anyway.
861
862 2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
863
864         * DTDObjectModel.cs : added XmlResolver related members. Added
865           invalid entity recursion logic. Added encodingdecl check on textdecl.
866         * DTDValidatingReader.cs : It now implements IHasXmlParserContext.
867         * XmlChar.cs : IsPubidChar() should not allow TAB(&#9;).
868         * XmlDocumentType.cs : 1) internal CreateDocumentType() was now changed
869           to receive DTDObjectModel to support other than XmlTextReader. 
870           2) Most of its public member is now based on DTDObjectModel.
871         * XmlDocument.cs : 1) Synchronous change with XmlDocumentType.
872           2) ReadNode() now considers XmlParserContext's DTDObjectModel for
873           other than XmlTextReader (such as XmlValidatingReader).
874         * XmlNode.cs : code cleanup only.
875         * XmlParserInput.cs : added HasPEBuffer, used to check illegal nesting.
876         * XmlTextReader.cs : 1) Illegal entity reference check logic was moved 
877           from ReadContent() to SetEntityReferenceProperties(). 2) Indentation
878           change on ReadEntityReference(). 3) ReadAttribute() now checks
879           reference to external entity reference. 4) Added textdecl encoding
880           check. 5) DTDObjectModel fields are now set correctly. 6) added
881           PERef markup nest check. 7) If PEDecl was not found, it might be WFC
882           violation, not only be VC violation. 8) ReadEntityDecl() now receives
883           its declared entity itself, and this method checks IsInternalSubset.
884         * XmlValidatingReader.cs : 1) Added GetInternalPerserContext().
885           2) ValidationType.None should be the same as Auto, not DTD (in the
886           future it should keep xml schema's default values).
887
888         Pending Stuff in XmlTextReader which breaks some NUnit tests;
889           1) SetEntityReferenceProperies() has check for illegal references.
890           2) ReadAttribute(bool) has similar check for illegal references.
891
892 2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
893
894         * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice,
895           sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement().
896
897 2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
898
899         * XmlTextReader.cs : Checked and fixed all TryExpandPERef() invokation 
900           and supplied SkipWhitespace() as they needed. It broke monodoc.
901           Fixed ReadEntityValueDecl() to get correct value.
902
903 2003-08-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
904
905         * XmlInputStream.cs :
906           Fixed Initialize() that might result in incorrect buffer.
907           CanRead and Position should consider buffer (especially when the
908           stream was EOF).
909           CanSeek should use stream's CanSeek.
910
911         * XmlChar.cs : added GetPredefinedEntity().
912         * DTDObjectModel.cs :
913           - Modified ComputeDefaultValue() to use it.
914           - Fixed NormalizedDefaultValue not to expect parsed value as string.
915           - ResolveExternalEntity now detects invalid standalone specification.
916           - DTDParameterEntityDeclaration.Value is now changed to property and
917             keep its resolved value of literal value of external value using
918             new Resolve (XmlResolver) method (called only by XmlTextReader).
919         * DTDValidatingReader.cs :
920           - It now handles entity-expanded Whitespace and SignificantWhitespace
921             correctly. Does not raise unexpected text not allowed error.
922           - Fixed MoveToAttribute()s to move internal reader correctly, and
923             should be able to move in other cases than on element node.
924           - On Read()ing document type and ResolveEntity(), it now sets
925             XmlResolver on text reader.
926           - On ID constraints check and type verification, it now uses
927             normalized attribute or its tokenized value(s).
928           - Fixed ValidateAttributes() to add default values when 
929             ValidationType is Auto.
930         * XmlParserContext.cs : added internal Dtd setter.
931         * XmlParserInput.cs :
932           InsertParameterEntityBuffer() should add surrounding whitespaces.
933           Removed unused code block.
934         * XmlTextReader.cs :
935           - Modified ReadReference(), ReadAttribute() and Dereference() to use
936             XmlChar.GetPredefinedEntity().
937           - When returning entity reference, it checks extity declaration
938             existence in certain conditions.
939           - ReadAttribute() now skips general entity replacement on reading
940             entity value.
941           - ReadText() now handles whitespace texts as XmlNodeType.Whitespace.
942           - ReadXmlDeclaration() holds isStandalone, which might be used in
943             entity reference's well-formedness check.
944           - internal 'DTD' now uses XmlParserContext.Dtd.
945           - isInternalSubset was meaningless. Now uses input stack's Count.
946           - Added some required SkipWhitespace().
947           - Several parameter entity handling changes.  Added GetPEValue(name).
948             TryExpandPERef() now uses ImportAsPERef(). ReadParameterEntityDecl()
949             now uses its Resolve() when it was external PE.  Now it uses value
950             buffer instead of currentTag, to efficiently read (included) PE.
951             CompileDeclaration() now uses ImportAsPERef instead of ExpandPERef().
952             ImportAsPERef() simply inserts the value to currentInput.
953             ReadEntityDecl() also uses value buffer.   Removed non-used methods.
954           - Default attributes are now stored in normalized form.
955           - Dereference() now considers non-expanding predefined entities.
956         * XmlValidatingReader.cs : now holds Schemas, and ValidationType.Auto
957           is more correctly supported.
958
959         * XmlAttributeCollection.cs :
960           When removing default attribute, it immediately inserts the attribute.
961           RemoveAll() should consider default (not-removable) attributes.
962         * XmlDocument.cs :
963           Should have its default XmlResolver. Added Internal Resolver.
964           Some Load() should use its XmlResolver.
965           ImportNode() should copy its children in node level, not value level.
966           It also have to consider not to copy default attribute on importing
967           XmlElement.
968         * XmlDocumentType.cs : Now uses document's XmlResolver to read DTD.
969         * XmlAttribute.cs,
970           XmlDocumentFragment.cs.
971           XmlElement.cs : use XmlResolver on InnerXml. Removed some MonoTODO.
972         * XmlNodeReader.cs : GetInternalParserConext() should provide its DTD.
973           ResolveEntity() uses XmlResolver on entityReader.
974
975 2003-08-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
976
977         * DTDObjectModel.cs :
978           - Added validation error check (and AddError(), Errors).
979           - Fixed ComputeDefaultValue() to handle various references correctly.
980           - DTDEntityDeclaration.EntityValue became property, and added
981             LiteralEntityValue. The new one holds resolved value.
982             Added ResolveExternalEntity(). It now required root in .ctor().
983         * DTDValidatingReader.cs :
984           - Now it handles namespaced attributes (as input to xsd validator).
985           - Added XmlResolver property as usual XmlReader.
986           - Added currentEntityHandling field so that it can stand changing
987             XmlValidatingReader's EntityHandling dynamically.
988           - FilterNormalization() now requires name for getting datatypes and
989             can stand for non-current attribute normalization.
990           - Splitted ReadContent() from Read() that can be called recursively
991             when expanding entities.
992           - Now handles Entity not found error *after* resolution of entities,
993             as MS.NET does.
994           - Read()ing DTD checks its Errors and raises validation error events.
995             In some situations, DTD parsing may detect VC error, not WFC error.
996             It also strictly checks NData existence.
997           - Handling of entity-resolved text is a bit changed and Read()ing
998             element, endElement, cdata now changed to switch collecting text
999             and collected text.
1000           - content type ANY should allow texts.
1001           - Added enumerated attribute validity check.
1002           - Added Name/Names creation rule check for ID/IDREF/IDREFS.
1003           - Added entity existence check for ENTITY/ENTITIES attributes.
1004           - Added NMTOKEN creation rule check for NMTOKEN/NMTOKENS.
1005           - Fixed to remove extraneous #REQUIRED check.
1006           - Contributing default attribute is now only applied to the case
1007             ValidationType is DTD or None.
1008           - ResolveEntity() now handles external entities.
1009             Added Mono.Xml.IXmlParserContext interface support.
1010         * XmlDocumentType.cs : Fixed to use BaseURI to build DTD model.
1011         * XmlTextReader.cs :
1012           - Fixed ReadAttributeValue() to reset returnEntityReference.
1013           - Added bool MaybeTextDecl only for ResolveEntity().
1014           - Fixed ReadWhitespace(). In fact its value is considered even if it
1015             is in the end of the XML.
1016           - Fixed ReadXmlDeclaration(). Now skips text declaration.
1017           - CompileDTDSubset() now checks IGNORE/INCLUDE section end balances.
1018           - ReadContentSpec() should set OrderType = OR for mixed model.
1019             Fixed to set content element name correctly.
1020           - ImportAsPERef() now skips Text declaration.
1021           - Type of enumerated default attributes shold be string.
1022           - Undeclared PE error is now handled as DTD's VC error, not
1023             XmlTextReader's WFC error.
1024         * XmlValidatingReader.cs : BaseURI should provide that of 
1025           original XmlReader's when read was not started yet.
1026           Fixed XmlResolver to delegate to DTDValidatingReader.
1027
1028         * XmlAttributeCollection.cs : Acquiring attList declaration is
1029           insufficient especially in case of lack of elementdecl.
1030         * XmlChar.cs : (Maybe this is compact than XmlConstructs.)
1031           added IsWhitespace(),IsNCNameChar(),IsName(),IsNCName(),IsNmToken(),
1032           IsPubid(). Copies IsValidIANAEncoding() from XmlConstructs.
1033
1034         * XmlInputStream.cs : Removed "version" declaration check. It should
1035           be done by XmlTextReader.
1036
1037         * XmlNodeReader.cs : added internal GetInternalParserContext() and now
1038           it can be used in XmlValidatingReader.ResolveEntity().
1039           ResolveEntity() sets XmlTextReader.MaybeTextDecl.
1040
1041 2003-08-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1042
1043         * DTDValidatingReader.cs :
1044           Added full ExpandEntities support for text node and entity reference
1045           node (although require many usage tests). Almost all methods and
1046           properties now have currentTextValue != null check, that field means
1047           that there are cached (entity-resolved) text.
1048           Implemented default attribute aware XmlLang and XmlSpace.
1049         * XmlNodeReader.cs : ResolveEntity() should not require DTD.
1050
1051 2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1052
1053         * DTDValidatingReader.cs,
1054           XmlNodeReader.cs,
1055           XmlReader.cs,
1056           XmlTextReader.cs,
1057           XmlValidatingReader.cs : fixed pragma USE_VERSION_1_0 to NET_1_0.
1058
1059 2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1060
1061         * DTDObjectModel.cs : Added BaseURI (but not used yet).
1062           DTDAttListDeclaration.ctro() now requires root dtd object model.
1063         * DTDValidatingReader.cs : Read() now expands EntityReference if
1064           entity handling of validating reader is ExpandEntities.
1065         * XmlReader.cs,
1066           XmlTextReader.cs,
1067           XmlNodeReader.cs,
1068           XmlValidatingReader.cs : Implemented "virtual" ReadInnerXml and
1069             ReadOuterXml which are modified in MS.NET 1.1.
1070         * XmlConstructs.cs : added int version of IsValid, IsInvalid,
1071           IsContent, IsMarkup and IsNCNameStart.
1072           Fixed int version of IsXXX() to check array index range. 
1073           Added IsValidName (string).
1074         * XmlTextReader.cs :
1075           - Read() handles document with non document element as an error.
1076           - ReadText() and ReadCharacterReference() checkes illegal characters.
1077           - ReadEntityReference() checks name validity.
1078           - ReadProcessingInstruction() rejects such name that starts with
1079             "xml" ignoring case, and checks attributes more strictly.
1080           - ReadDeclaration() rejects unrecognized kind of declaration.
1081           - In many places, added "required whitespace" check in DTD markup.
1082           - DTD content model now disallows mixing use of '|' and ','.
1083
1084 2003-08-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1085
1086         * XmlDocumentFragment.cs : I missed to add it in relation to the
1087           previous XmlParserContext patch. Similar to XmlAttribute/XmlElement.
1088         * XmlNodeReader.cs : removed some TODO attributes.
1089         * DTDValidatingReader.cs,
1090           XmlValidatingReader.cs : Implemented ResolveEntity().
1091
1092 2003-07-31  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1093
1094         * XmlParserContext.cs,
1095           XmlAttribute.cs,
1096           XmlElement.cs : Added internal Dtd and new internal XmlParserContext
1097           .ctor() that takes DTDObjectModel. And then rewrote classes which 
1098           uses DTD information. Changed DocTypeName, InternalSubset, PublicId
1099           and SystemId to use DTDObjectModel.
1100         * DTDObjectModel.cs :
1101           Added DTDObjectModel.InternalSubsetHasPEReference.
1102           Added DTDEntityDeclaration.IsInternalSubset.
1103         * XmlTextReader.cs :
1104           Added internal GetInternalParserContext (to build entity reader).
1105           Added private isIntSubset to check if the DTD subset is internal or
1106           external, which might affect well-formedness constraints.
1107           Changed GenerateDTDObjectModel to return the resulting DTD model.
1108
1109         * XmlEntityReference.cs : implemented BaseURI.
1110         * XmlNodeReader.cs :
1111           - Implemented ResolveEntity() and CanResolveEntity(). In fact
1112             it leads too many changes on almost all methods and properties,
1113             since they now must be aware of entityReader.
1114           - fixed ownerElement that might be used to return from attribute 
1115             value to the element through parent attribtues.
1116           - Now changed indexer to call GetAttribute() and moved actual logic
1117             to the matching GetAttribute() methods.
1118
1119 2003-07-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1120
1121         * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml
1122           not to create extraneous xmlns="".
1123
1124 2003-07-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1125
1126         * DTDValidatingReader.cs : (Read,ValidateAttributes,ReadAttributeValue)
1127           attribute declaration should be got independently of elementdecl.
1128         * XmlAttribute.cs :
1129           Added internal SetDefault() to mark as default.
1130           Removed InnerText implementation that is just the same as XmlNode.
1131         * XmlDocument.cs : id shouldn't be removed from table at 'trying' to
1132           get matching elements.  ReadAttributeNode() now sets default mark.
1133         * XmlElement.cs : WriteTo() should ignore default attributes.
1134         * XmlTextWriter.cs : shuold allow valid name char such as digits.
1135
1136 2003-07-27  Piers Haken <piersh@friskit.com>
1137
1138         * XmlQualifiedName.cs : fields should never be null
1139
1140 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1141
1142         * XmlDocumentFragment.cs : added XPathNodeType indicating Root.
1143
1144 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1145
1146         * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted
1147
1148 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1149
1150         * XmlLinkedNode.cs : added internal IsRooted.
1151
1152 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1153
1154         * DTDValidatingReader.cs :
1155           - Added ID support in ValidateAttributes().
1156           - More refined ReadAttributeValue() support for non-expanding entity
1157             situation
1158           - It should handle LocalName, Name, Prefix, NamespaceURI and Value
1159             correctly when the reader is on each of the value nodes of an
1160             attribute. Now XmlDocument.ReadNode() should work well.
1161         * XmlDocument.cs :
1162           - added idTable, AddIdenticalAttribute(), GetIdenticalAttribute() and
1163             RemoveIdenticalAttribute()
1164           - Implemented GetElementById().
1165         * XmlAttributeCollection.cs :
1166           - added private ownerDocument property and replaced
1167             ownerElement.OwnerDocument with it.
1168           - Added AdjustIdenticalAttribute() and it is used in SetNamedItem().
1169             It calls XmlDocument.{Add|Remove}IdenticalAttribute().
1170           - Added RemoveIdenticalAttribute() and it is used in Remove().
1171             (I also added AddIdenticalAttribute() but is not used.)
1172
1173 2003-07-26  Duncan Mak  <duncan@ximian.com>
1174
1175         * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test
1176         for OwnerElement.IsRooted to fix the build..
1177
1178 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1179
1180         * XmlDocumentType.cs :
1181           modified private DTD to dtd and added internal DTD (the same thing).
1182         * XmlElement.cs :
1183           Fixed SetAttributeNode() to check if specified attribute is already
1184           set to the other element. In fact it is W3C DOM's specification but
1185           MS.NET 1.0 failed to catch it.
1186         * XmlTextReader.cs :
1187           ReadAttributeValue() should check if the value of the attribute is
1188           already read when the whole value is entity reference.
1189           Also, Name of text nodes should be "", not "#text"
1190
1191 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1192
1193         * XmlAttribute.cs : .ctor() shouldallow localName "xml" (not prefix)
1194           with http://www.w3.org/XML/1998/namespace.
1195         * XmlEntity.cs : patch by Aleksey Sanin. InnerText is now supported.
1196         * XmlNode.cs : InnerText should handle CDATA and whitespaces.
1197         * XmlTextReader.cs : Should allow " (#PCDATA)* " in ReadContentSpec().
1198         * XmlTextWriter.cs : Quick fix for accepting (and writing) same-named
1199           attributes (as MS.NET does). It isn't good way and I may change it.
1200
1201 2003-07-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1202
1203         * DTDObjectModel.cs : Added DTDEntityDeclarationCollection and
1204           DTDNotationDeclarationCollection and replaced Hashtables with them.
1205           Added NormalizedDefaultValue property for DTDAttributeDefinition.
1206         * DTDValidatingReader.cs :
1207           - It now reads attribute values into value collection. 
1208           - Renamed consumedDefaultAttribute to consumedAttribute, and
1209             inContent to insideContent.
1210           - GetAttribute() should allow reader's other node state than element.
1211           - MoveToNextAttribute() should move when reader is placed other than
1212             the first attribute.
1213           - HandleError() now supports ValidationType.None (i.e. does nothing).
1214           - ValidateAttribute() now collects and resolves attribute value 
1215             entity references. (On the other hand, it doesn't support
1216             EntityHandling.ExpandCharEntity.)
1217           - NodeType shouldn't return Attribute after ReadAttributeValue().
1218             Now only Text is supported, but must also support EntityReference.
1219           - Add FilterNormalization() and partially support Normalization.
1220
1221 2003-07-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1222
1223         * XmlTextReader.cs :
1224           Read() now handles parser context stuff (BaseURI, XmlLang and 
1225           XmlSpace) correctly for an empty element.
1226           Normalization property now doesn't throw an error. Will be used soon.
1227         * XmlValidatingReader.cs : added ValidationType.None support (wait for
1228           the next DTDValidatingReader update for "not firing event handler).
1229         * XmlNodeReader.cs : jun. 30th commit seems wrong. It keeps its state.
1230
1231 2003-07-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1232
1233         * DTDValidatingReader.cs :
1234           changed base class to XmlReader and implemented IXmlLineInfo members.
1235           changed .ctor() argument from event handler to validating reader.
1236           Removed some #if ... #else ... #endif blocks.
1237           Added validation event support for Read() using HandleError().
1238         * XmlValidatingReader.cs : added internal OnValidationEvent().
1239         * XmlDocument.cs : ReadNode() now checks reader's state more strictly.
1240
1241 2003-07-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1242
1243         * XmlUrlResolver.cs : applied BenM's patch for file uri problem
1244           (bug #46610).
1245
1246 2003-07-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1247
1248         * DTDValidatingReader.cs :
1249           added DTDObjectModel support for non-XmlTextReader XmlReader 
1250           e.g. XmlNodeReader (Read() method).
1251         * XmlDocument.cs :
1252           added internal CreateDocumentType(XmlTextReader) and moved
1253           ReadDoctypeNode() to XmlDocumentType.ImportFromDTD().
1254         * XmlDocumentType.cs :
1255           added internal .ctor(XmlTextReader, document) and ImportFromDTD().
1256         * XmlTextReader.cs :
1257           Renamed useSbForVal (valueBuilderAvailable), valSb (valueBuilder)
1258           and currentSubset (DTD).
1259           Added GenerateDTDObjectModel() (for independent doctype parsing).
1260
1261 2003-07-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1262
1263         * XmlAttribute.cs :
1264           .ctor() should reject xml- or xmlns-prefixed node.
1265         * XmlNamespaceManager.cs :
1266           added some xmlns validity check.
1267         * XmlNode.cs :
1268           optimized GetNamespaceOfPrefix() and GetPrefixOfNamespace() by
1269           avoiding XmlNamespaceManager creation.
1270         * XmlNodeReader.cs :
1271           doctype node should return PUBLIC and SYSTEM for its indexer, 
1272           and Value should be internal subset,
1273
1274 2003-07-12  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1275
1276         * DTDObjectModel.cs,
1277           DTDValidatingReader.cs : Completely rewrote attribute handling.
1278
1279 2003-07-12  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1280
1281         * XmlAttribute.cs,
1282           XmlElement.cs : Fixed CloneNode() for bug #46129.
1283         * XmlDocument.cs : Fixed MakeReaderErrorMessage that specified invalid
1284           String.Format arguments, and basically XmlException.ctor(
1285           IXmlLineInfo, message) seems good idea to use.
1286         * XmlTextReader.cs :
1287           - Fixed .ctor(Stream, XmlNodeType, XmlParserContext) which had
1288             required non-null context which don't have to exist.
1289           - Added state check. Introduced 'currentState' and 'maybeTextDecl' 
1290             (for external entity) and removed hasEnteredDocument. Added 
1291             state-check logic to ReadStartTag(), ReadEndTag(), ReadText(),
1292             ReadCData(), ReadDoctypeDecl() and ReadWhitespace().
1293           - Replaced throw ReaderError() with throw new XmlException() and
1294             fixed that some error hadn't thrown, only created.
1295           - ResetState() should re-initialize existing private members other 
1296             than some specified fields.
1297           - Private AddAttribute() should check if the same-named attribute 
1298             already exists.
1299         * DTDObjectModel.cs : Additive declaration for ATTLIST is availabe now.
1300
1301 2003-07-09  Lluis Sanchez Gual <lluis@ximian.com>
1302
1303         * XmlTextReader.cs : Implemented ResetState() method.
1304
1305 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1306
1307         * XmlElement.cs : IsEmpty has removed attributes since it incorrectly
1308           used RemoveAll().
1309
1310 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1311
1312         * XmlDocument.cs : Load(string filename) should close its stream.
1313           Small change for the latest DTDObjectModel change.
1314         * XmlTextReader.cs : Changed for the latest DTDObjectModel change (all
1315           changed methods are only related to DTD stuff).
1316           Now uses XmlSchemaDatatype for attribute type definition.
1317         * XmlValidatingReader : initial (limited) support for DTD validation.
1318           It can handle only XmlTextReader.
1319         * DTDObjectModel.cs : changed radically for initial validation support.
1320         * added DTDAutomata.cs and DTDValidatingReader.cs.
1321
1322 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1323
1324         * XmlElement.cs : Removed extraneous xmlns output support (it should
1325           be done by XmlTextWriter).
1326         * XmlNode.cs : InsertBefore() now checks validity of the newChild (and
1327           most of the changes are in fact indentation changes).
1328         * XmlWriter.cs : WriteAttributes() now can write entity references.
1329           WriteNode() now writes xmldecl attributes correctly.
1330           Removed namespaceManager and xmlns check logic, since it should be 
1331           done by individual XmlTextWriter.
1332         * XmlTextWriter.cs : Patch by Jerome. AddMissingElementXmlns () has
1333           written multiple xmlns declarations.
1334           Moved namespaceManager from abstract XmlWriter.
1335           Write{Start|End}Attribute() and WriteString() now checks xmlns 
1336           attribute value. (MS.NET holds value only with this write method).
1337
1338 2003-07-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1339
1340         * XmlDocument.cs : removed xmlReader.Close() from Load(XmlReader).
1341
1342 2003-06-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1343
1344         * XmlDocumentNavigator.cs : Implemented MoveTo*Namespace() and 
1345           essentially changed most of the property handling (e.g. removed attribute 
1346           enumerator and it now became really cloneable).
1347         * XmlNodeReader.cs : ReadInnerXml() changes its state as error
1348           when the method is called at Initial state.
1349
1350 2003-06-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1351
1352         * XmlDocumentNavigator.cs : Fixed IsEmptyElement. It treats <foo></foo>
1353           as non-empty, and XmlElement's IsEmpty is designed as such.
1354           Fixed MoveToFirst() and MoveToNext() not to move to xmldecl nor 
1355           doctype node. 
1356         * XmlNode.cs : Fixed XPathNodeType. It should throw an exception
1357           instead of returning undefined enum value.
1358           Modified some code comments.
1359         * XmlWriter.cs : Fixed WriteNode () to use WriteFullEndElement() 
1360           when XmlReader's node is not at empty element or at EndElement. 
1361           Fixed XmlDeclaration's standalone check.
1362
1363 2003-06-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1364
1365         * XmlTextReader.cs : removed CRLFs. Fixed private InitializeContext()
1366           to use known Uri way (used in XmlUrlResolver) instead of UriBuilder.
1367
1368 2003-06-20  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1369
1370         * XmlInputStream.cs : quick fix for public ctor() BaseURI bug.
1371
1372 2003-06-20  Ben Maurer <bmaurer@users.sourceforge.net>
1373         
1374         * XmlTextReader.cs: Reduces memory allocation when the reader is
1375         not queried for some values.
1376         * NameTable.cs: Now uses a custom hashtable to implement. As a
1377         result, when Get (char[], int, int) is called, a string is only
1378         allocated if it is actually a new entry.
1379         (StrEqArray) Compares a string and a char[]
1380         (AddEntry) Adds a new entry to the hashtable
1381         (Entry) Represents a hashtable entry.
1382
1383 2003-06-20  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1384
1385         * XmlUrlResolver.cs : several ResolveUri() fix. e.g. for external URIs.
1386
1387 2003-06-16  Ben Maurer <bmaurer@users.sourceforge.net>
1388         * XmlUrlResolver.cs: really fixed #44231
1389
1390 2003-06-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1391
1392         * XmlNodeReader.cs : fixed MoveToNextAttribute(). In some cases 
1393           this method set current node null.
1394         * XmlTextReader.cs : fixed GetAttribute (name, ns), which returned
1395           String.Empty instead of null (expected value).
1396         * XmlTextReader.cs,
1397           XmlUrlResolver.cs,
1398           XmlInputStream.cs : fixed BaseURI problem (bug #44231).
1399
1400 2003-06-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1401
1402         * XmlNodeReader.cs : this [name] and this [name, ns] (and
1403           GetAttribute() methods in turn) returns null instead of String.Empty.
1404         * XmlTextWriter.cs : WriteStartAttribute() should try to use specified
1405           prefix before auto-generating prefixes.
1406           Implemented WriteBase64().
1407
1408 2003-06-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1409
1410         * XmlNodeReader.cs : LookupNamespace () has refered invalid current
1411           node for attributes. Modified to use private "document" property.
1412
1413 2003-06-10  Lluis Sanchez Gual <lluis@ximian.com>
1414
1415         * XmlTextWriter.cs: when adding an attribute with a namespace, a prefix must be automaticaly
1416           generated, and a namespace declaration must be added. 
1417         * XmlWriter.cs: the namespace for the prefix xmlns must be http://www.w3.org/2000/xmlns/
1418
1419 2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
1420
1421         * XmlAttribute.cs: Accept a null prefix or namespaceURI.
1422
1423 2003-06-10  Duncan Mak  <duncan@ximian.com>
1424
1425         * XmlDocumentNavigator.cs (GetNode): Make it implement
1426         IHasXmlNode.
1427
1428 2003-06-05  Lluis Sanchez Gual <lluis@ideary.com>
1429
1430         * XmlTextWriter.cs : Fixed bug. After calling for example WriteStartElement ("pref","ln","ns");
1431           a call to LookupPrefix ("pref") when still writting attributes should 
1432           return "ns", and it didn't.
1433
1434 2003-06-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1435
1436         * XmlDocumentNavigator.cs : quick fix for MoveToFirstChild().
1437         * XmlConvert.cs : fixed VerifyNCName() to check correctly.
1438
1439 2003-06-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1440
1441         * XmlDocumentNavigator.cs : Compute document node one time.
1442           MoveToFirstChild() should move to PIs and comments.
1443
1444 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
1445
1446         * XmlReader.cs (ReadStartElement): Improve error message.  
1447
1448 2003-05-28  Lluis Sanchez Gual <lluis@ideary.com>
1449
1450         * XmlTextReader.cs : MoveToAttribute methods must set the enumerator to the right
1451           position, since MoveToNextAttribute may be called after it. 
1452           SetProperties(): attributes do not "inherit" the namespace.
1453         * XmlDocument.cs: ReadNode(), ReadAttributeNode(): must keep the current reader position.
1454
1455 2003-05-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1456
1457         * NameTable.cs : Add() sets the given name string interned.
1458         * XmlParserContext.cs : added internal PushScope() and PopScope() to
1459           hold stacks of xml:base, xml:lang and xml:space.
1460         * XmlTextReader.cs : implemented XmlLang and XmlSpace (only as a
1461           property for stacked attributes). Renamed Initialize() to Initialize-
1462           Context(). Modified to use XmlParserContext.PushScope()/PopScope().
1463
1464 2003-05-26  Lluis Sanchez Gual <lluis@ximian.com>
1465
1466         * XmlReader.cs: Little fix to WriteAttributeString()
1467
1468 2003-05-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1469
1470         * XmlAttribute.cs, XmlCharacterData.cs, XmlComment.cs, XmlDocument.cs,
1471           XmlDocumentFragment.cs, XmlElement.cs, XmlEntity.cs, XmlLinkedNode.cs,
1472           XmlNode.cs, XmlNotation.cs, XmlProcessingInstruction.cs, XmlReader.cs,
1473           XmlSignificantWhitespace.cs, XmlText.cs, XmlWhitespace.cs:
1474           Reverted the recent accessibility mistake (5/16).
1475         * XmlDocument.cs, XmlNode.cs : moved actual CreateNavigator() logic 
1476           from XmlNode to XmlDocument.
1477
1478 2003-05-18  Lluis Sanchez Gual <lluis@ideary.com>
1479
1480         * XmlQualifiedName.cs : Fixed bug in equality operator.
1481
1482 2003-05-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1483
1484         * XmlTextWriter.cs : patch by Jonathan Hogg. Flush() does not close
1485           any open attributes or elements. WriteWhitespace() checks state and
1486           closes start tag.  Fixed WriteStringInternal() to replace CR/LF chars
1487           when it is called inside attribute value.
1488         * XmlException.cs : added .NET 1.1 .ctor.
1489         * added XmlSecureResolver.cs (only stubbing).
1490         * XmlAttribute.cs : set_InnerXml() should remove children.
1491         * XmlAttribute.cs,
1492           XmlElement.cs,
1493           XmlDocumentFragment.cs,
1494           XmlDocument.cs : removed XmlTextReader reuse (It was buggy stuff).
1495         * XmlNode.cs : RemoveAll() should also remove all attributes.
1496         * XmlTextRader.cs : .ctor() for attribute value reader should add
1497           quotations at initialization, since it requires quote chars.
1498         * XmlWriter.cs : WriteAttributeString() more correct xmlns check.
1499
1500 2003-05-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1501
1502         * changed XPathNodeType modifier to internal *protected* override.
1503         * XmlAttribute.cs : .ctor() now checks name validity e.g. xmlns.
1504         * XmlAttribute.cs, XmlElement.cs : set_Prefix checks NCName validity.
1505         * XmlAttributeCollection.cs : removed some incorrect TODO attributes.
1506         * XmlDocument.cs ; CreateAttribute(name) now auto-completes xmlns NSURI
1507           when the argument is "xmlns".
1508         * XmlElement.cs : more compliant IsEmpty support. See also WriteTo().
1509         * XmlNamespaceManager.cs : added initial "xml" and "xmlns" namespaces.
1510         * XmlNode.cs : ser_InnerXml() throws InvalidOperationException.
1511         * XmlNodeReader.cs : LookupNamespace() refactory. Fixed ReadInnerXml()
1512           not to set error state for non-started XmlNodeReader.
1513         * XmlTextReader.cs : fixed ReadAttributeValue() not to reset state.
1514           BaseURI support. Fixed Initialize() to handle Attribute correctly.
1515           SetProperty for attribute auto-completes xmlns NSURI.
1516           Attribute and whitespace handling became more correct.
1517           Don't parse external DTD if XmlResolver is null.
1518         * XmlTextWriter.cs : implemented WriteEntityRef().
1519           WriteStartAttribute() checks if ns does not equal to that of xmlns.
1520         * XmlWriter.cs : trivial refactoring (WriteNode() xmldecl output).
1521
1522 2003-05-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1523
1524         * XmlConvert.cs : IsInvalid() Now uses XmlConstructs.IsName(Start).
1525           EncodeName() now correctly encodes invalid names.
1526           Result string of ToString(DateTime) contains "fffffff".
1527
1528 2003-04-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1529
1530         * XmlElement.cs : fixed IsEmpty (removed private field isEmpty).
1531         * XmlNodeReader.cs : Fixed AttributeCount, each this[] (indexers),
1532           MoveTo*Attribute(),
1533           Fixed this[] to work correctly against XmlDeclarations.
1534           Fixed ReadInnerXml() and ReadOuterXml() to call Read() correctly.
1535           (which may prevent validations etc.)
1536         * XmlReader.cs,
1537           XmlNodeReader.cs,
1538           XmlTextReader.cs : Fixed ReadString() to be compliant with each
1539           other.
1540         * XmlTextReader.cs : ReadInnerXml() now moves to next node correctly.
1541
1542 2003-04-27  Pedro Martínez Juliá  <yoros@wanadoo.es>
1543
1544         * XmlNode.cs: ensure to get a valid Uri in BaseUri when loading the
1545         source document from a file.
1546
1547 2003-04-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1548
1549         * XmlAttribute.cs : fixed WriteTo() and WriteContentTo() to write
1550           content EntityReference correctly.
1551         * XmlNodeReader.cs : many fix for EndElement handling (AttributeCount,
1552           HasAttributes, indexers, MoveTo*Attribute() and Read() ).
1553           Modified Skip() to call Read () explicitly.
1554         * XmlTextReader.cs :
1555           Fixed ReadInnerXml() which ignored EndElement token in certain cases.
1556           Implemented MoveToAttribute (local, ns), and modified GetAttribute()
1557           in relation to this change.
1558           Attributes for XmlDeclaration are now correctly set.
1559         * XmlTextWriter.cs : WriteRaw() is now different from WriteString().
1560           Simplified WriteAttributes() for XmlDeclaration.
1561
1562 2003-04-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1563
1564         * XmlTextReader.cs : fixed ReadInnerXml(). it was inconsistent with
1565           Depth property fix.
1566
1567 2003-04-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1568
1569         * XmlDocument.cs : fixed Load() to set baseURI correctly.
1570         * XmlReader.cs : patch by Gonzalo. Fixed not to skip XmlDeclaration.
1571         * XmlTextReader.cs :
1572           fixed Depth. When it's on StartElement, Depth was already incremented.
1573           fixed private SaveProperty(), which moved away its saved properties
1574           when MoveToElement was called repeatedly.
1575         * XmlTextWriter.cs : fixed WriteQualifiedName() to close start tag.
1576         * XmlWriter.cs :
1577           WriteAttributes() refactory (for XMLDecl).
1578           WriteNode() don't Read() when the reader is Initial state, let other
1579           invokation to Read(). In case of Element, it should write entire
1580           element. In case of Attribute, it shouldn't Read().
1581           WriteStartDocument() should omit standalone decl. when there is no
1582           explicit value.
1583
1584 2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1585
1586         * XmlReader.cs: reverted last patch. It breaks System.Configuration 
1587         because 1. it considers XmlDeclaration as content and 2. always
1588         returns XmlNodeType.None.
1589         
1590
1591 2003-04-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1592
1593         * Added missing ChangeLog of 4/4/2003.
1594         * XmlTextWriter.cs : patch by Erik. fixed WriteQualifiedName.
1595           (write prefix instead of ns.)
1596         * XmlInputStream.cs : file access mode fix (FileAccess.Read was missing)
1597         * XmlTextReader.cs : modified to call Read() instead of ReadContent().
1598           (It may be required for decorated reader such as XmlValidatingReader.)
1599           Changed Read() error message for mismatch end tag.
1600         * XmlDocument.cs : (ReadNode) friendly message for mismatch EndElement.
1601         * XmlReader.cs : Corrected misinterpreted MoveToContent() method.
1602
1603 2003-04-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1604
1605         * XmlDocument.cs : Load() now closes the given XmlReader.
1606           Don't allow creation of XmlTextReader for Doctype. (workaround.)
1607         * XmlInputStream.cs : It now closes its internal stream explicitly.
1608         * XmlNode.cs : RemoveChild() bugfix for removing LastLinkedChild.
1609         * XmlNodeReader.cs : GetAttribute() bugfix for not-present attribute.
1610         * XmlParserInput.cs : added Close() method.
1611         * XmlReader.cs : MoveToContent() should (1) not Read in case of empty
1612           element, and (2) MoveToElement() in case of attribute.
1613         * XmlTextReader.cs : Close() now actually closes source TextReaders.
1614
1615 2003-03-26  Duncan Mak  <duncan@ximian.com>
1616
1617         * XmlTextWriter.cs (Write): A patch from Atsushi to fix
1618         prematurely ending the write, or something like that. It was
1619         causing us to chop off the end of the document when we're trying
1620         to generate XML Schemas.
1621
1622 2003-03-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1623
1624         * XmlTextReader.cs : implemented ReadString().
1625           fixed ctor(string, XmlNodeType, XmlParserContext) - don't raise
1626           null reference exception when context is null.
1627         * XmlNodeReader.cs : fixed ReadString() - should ignore attributes etc.
1628           fixed Read() - when positioned at EndElement, it didn't progress.
1629           fixed HasAttribute - it didn't return false in all cases.
1630           fixed Name and LocalName - only limited type of nodes return names.
1631           fixed AttributeCount - in some cases it threw null ref exception.
1632
1633 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1634
1635         * XmlTextWriter.cs : WriteStartDocument doesn't set hasRoot=true, then
1636           WriteEndDocument without root element now raises an error correctly.
1637         * XmlDocumentNavigator.cs : (MoveToFirstChild) fixed bugzilla #36672.
1638           implemented BaseURI, NameTable, XmlLang, GetAttributes, GetNamespace,
1639           MoveToAttribute.
1640
1641 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1642
1643         * XmlElement.cs : RemoveAttribute now don't throws when specified
1644           attribute does not exist.
1645
1646 2003-03-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1647
1648         * XmlNode.cs : add descriptions for some node type error.
1649
1650 2003-03-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1651
1652         * XmlNodeArrayList.cs, XmlNodeListChildren.cs : bugzilla #39920 fix.
1653
1654 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1655
1656         * XmlDeclaration.cs : quick fix, not to use regex for set_Value.
1657
1658 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1659
1660         * XmlTextReader.cs : Fixed wrong notationdecl SYSTEM id read.
1661         * XmlInputStream.cs : Should allow versionless input stream entity.
1662
1663 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1664
1665         * added XmlParserInput.cs for multi xml document sources.
1666         * added DTDObjectModel.cs (maybe temporary).
1667         * XmlTextReader.cs :
1668           + fixed ctor to use XmlStreamReader. Allowed null XmlParserContext.
1669           + Some members such as LineNumber, ReadChar now uses XmlParserInput.
1670           + added support for Namespaces (namespace-ignorant parse available).
1671           + added support for XmlResolver.
1672           + replace SetReaderContext()/SetReaderFragment() with Initialize().
1673           + use NameTable in CreateNameString.
1674           + fixed ReadCData(). Now reads "]]]>" correctly.
1675           + support for DTD parse.
1676           + Read() now throws an error when it reached EOF while Depth > 0.
1677         * XmlAttribute.cs,
1678           XmlDocumentFragment.cs,
1679           XmlElement.cs : fix related to the changes of XmlTextReader.Initialize
1680         * XmlDocument.cs : ReadNode() now reads DocumentType.
1681         * XmlDocumentType.cs : implemented Entities, Notations, WriteTo().
1682         * XmlEntity.cs,
1683           XmlNotation.cs : added override LastLinkedChild (for doctype node).
1684         * XmlNamedNodeMap.cs : Remove() raises an error if target is read only.
1685         * XmlElement.cs : bugfix for node removal of set_InnerXml.
1686         * XmlNode.cs : added insertBeforeIntern() derived from InsertBefore().
1687           (to append child XmlEntity into XmlDocumentType correctly.)
1688         * XmlInputStream.cs : fixed to access file with FileAccess.Read.
1689
1690 2003-03-15  Duncan Mak  <duncan@ximian.com>
1691
1692         * XmlElement.cs (Name): Only append prefix + ':' when prefix is
1693         neither String.Empty nor null. Thanks to Simon Guindon for
1694         reporting the bug and Jackson for fixing this bug with me.
1695
1696 2003-03-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1697
1698         * XmlConstructs.cs : fix "int IsXXX()" to reject negative value.
1699         * XmlDocument.cs : simplify Load(string url) to use XmlTextReader.
1700           fixed ReadNode(), it should call reader.Read() only on Initial state.
1701         * XmlInputStream.cs : Changed namespace. Added XmlStreamReader(stream)
1702           and XmlStreamReader (string). Fixed XmlInputStream(url) not to use
1703           System.Net.WebClient directly.
1704         * XmlParserContext.cs : baseURI never be null.
1705         * XmlTextWriter.cs : use WebName for Encoding instead of HeaderName.
1706         * XmlUrlResolver.cs : namespace change for XmlInputStream.
1707
1708 2003-03-12  Elan Feingold <efeingold@mn.rr.com>
1709
1710         * XmlTextReader.cs: When throwing a ReaderException, show what
1711         character was the culprit
1712
1713 2003-03-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1714
1715         * XmlDocumentFragment.cs, XmlElement.cs :
1716           modified InnerXml (fragment type from Element to DocumentFragment).
1717
1718         * XmlElement.cs : fixed WriteTo() ns check.
1719         * XmlNamespaceManager.cs : MS.NET allows Add() used two or more times.
1720         * XmlNode.cs : fixed ConstructNamespaceManager().
1721
1722         * XmlConstructs.cs : added IsSpace, IsName, IsNameStart, IsNCName,
1723           IsPubid with an int arg.
1724         * XmlReader.cs : changed to use XmlChar.cs (its role is as same as
1725           XmlConstructs.cs).
1726         * XmlTextReader.cs :
1727           improved error messages with line info.
1728           / checking matching start and end tags.
1729           / prevents the apperance of multiple root elements. (patch by Erik)
1730           fixed and refactored ReadInnerXml() and ReadOuterXml()
1731           changed to use XmlChar.cs.
1732
1733         * XmlTextWriter.cs : changed to put element's xmlns at CloseStartTag ()
1734           (It will help c14n implementation.)
1735           / blocks multiple attribute output with element node.
1736
1737 2003-02-28  Alan Tam <Tam@SiuLung.com>
1738
1739         * XmlConvert.cs: fixed the most ToXXX(string) and ToString(XXX)
1740         methods to make them compatible with the XML Schema Spec from W3C
1741         ToString(TimeSpan) is still outstanding
1742
1743 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1744
1745         * XmlDocument.cs:
1746         (Load (string)): hack to workaround some issues with Uri.Parse. Once
1747         Parse is fixed, remove the hack.
1748
1749 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1750
1751         * XmlQualifiedName.cs : fixed GetHashCode() to avoid null reference
1752         * XmlTextReader.cs : fixed ReadAttributeValue() to handle 
1753                 entity reference, and some refactory.
1754
1755 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1756
1757         * XmlUrlResolver.cs : WebClient.Credentials was not implemented yet.
1758
1759 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1760
1761         * XmlInputStream.cs : added (also contains internal XmlStreamReader).
1762         * XmlDocument.cs : Load () now can specify URL using XmlUrlResolver,
1763                 and can read non-UTF-8 stream.
1764         * XmlTextReader.cs : related to above stream fix.
1765         * XmlUrlResolver.cs : implemented GetEntity ().
1766
1767 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1768
1769         * XmlTextWriter.cs: implemented WriteRaw (char[], int, int).
1770
1771 2003-02-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1772
1773         * XmlTextReader.cs : implemented QuoteChar.
1774
1775 2003-01-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1776
1777         * XmlNode.cs : implemented ReplaceChild.
1778           removed DocElem checking at InsertBefore.
1779         * XmlNodeReader.cs : fixed ReadString and Read for correct node info.
1780         * XmlText.cs : implemented CloneNode and SplitText.
1781
1782 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1783
1784         * XmlCharacterData.cs: added XPathNodeType property.
1785
1786 2003-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1787
1788         * XmlTextWriter.cs: throw an exception if WriteEndDocument is
1789         called without a prior call to WriteStartDocument.
1790
1791 2003-01-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1792
1793         * XmlNodeReader.cs : several fix to get more compatible with MS.NET.
1794
1795 2003-01-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1796
1797         * XmlNamespaceManager.cs : fundamental change of LookupPrefix to return
1798                 null when no matching uri.
1799         * XmlElement.cs : removed unnecessary xmlns output.
1800         * XmlNode.cs : GetPrefixOfNamespace fix along with the change above.
1801         * XmlTextWriter.cs : LookupPrefix and WriteStartElementInternal fix 
1802                 along with the change above, and moved timing of 'xmlns' output 
1803                 to CloseStartElement.
1804         * XmlWriter.cs: modified WriteStartAttribute, same as yesterday.
1805
1806 2003-01-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1807
1808         * XmlWriter.cs: modified WriteStartElement (see test for detail).
1809         Added WriteNode.
1810
1811 2003-01-13  Ville Palo <vi64pa@koti.soon.fi>
1812
1813         * XmlDocument.cs: Added CheckName () method to check names validity.
1814         
1815 2003-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1816
1817         * XmlTextReader.cs:
1818         (ReadOuterXml): use Depth property which return elementDepth, not depth.
1819
1820 2003-01-11  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1821
1822         * XmlElement.cs : (by ville) XmlElement.set_InnerText event bugfix.
1823         * XmlTextReader.cs : some fix for ReadOuterXml().
1824
1825 2003-01-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1826
1827         * XmlTextReader.cs : bugfix for attributes related to creation of 
1828           XmlAttribute *node*.
1829
1830 2003-01-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1831
1832         * XmlTextReader.cs : bugfix for attribute values which have entity
1833           references.
1834
1835 2002-12-28  Ville Palo <vi64pa@koti.soon.fi>
1836
1837         * XmlDocument.cs: XmlTextWriter.Formatting == Indented when 
1838         calling Save () -methods.
1839         
1840 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1841
1842         * XmlNodeReader.cs : primitive reading implementation.
1843
1844 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1845
1846         * XmlElement.cs : quick fix for the incomplete patch of #35308 below.
1847
1848 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1849
1850         * XmlDocument.cs : removed inconsistent line-feed output.
1851         * XmlElement.cs, XmlTextWriter.cs :
1852                 fixed for bugzilla 35308 (default ns output)
1853         * XmlWhitespace.cs : limited output only when preserving whitespace.
1854
1855 2002-12-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1856
1857         * XmlAttribute.cs, XmlDocument.cs, XmlTextReader.cs:
1858                 Implemented XmlTextReader.ReadAttributeValue().
1859                 Added internal ReadAttributeNodeValue().
1860                 Fixed XmlAttribute.InnerXml to use these methods.
1861         
1862         * XmlDocument.cs, XmlDocumentFragment.cs, XmlElement.cs, XmlNode.cs:
1863                 Implemented XmlDocument.ReadNode() and removed ConstructDOM().
1864                 Other changes are replacing them.
1865
1866 2002-12-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1867
1868         * XmlDocument.cs: patch by Ville (fixed default PreserveWhitespace)
1869
1870 2002-12-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1871
1872         * XmlElement.cs, XmlTextWriter.cs, XmlWriter.cs:
1873                 patch by JD Conley <jconley@winfessor.com>.
1874                 (Fix for xmlns attribute output.)
1875
1876 2002-12-05  Ville Palo <vi64p@koti.soon.fi>
1877
1878         * XmlQualifiedName.cs: Little fix to ToString () -method
1879
1880 2002-12-04  Tim Haynes  <thaynes@openlinksw.com>
1881
1882         * class/System.XML/System.Xml/XmlElement.cs: Made more refined
1883         checks on attributeNode to fix 32262.
1884
1885 2002-12-03  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1886
1887         * XmlDocument.cs (CreateNavigator(XmlNode)) : reverted
1888         * XmlTextWriter.cs (WriteStartElementInternal):
1889           fixed when default namespace was specified, all descendants
1890           fail to omit the default namespace declarations.
1891         * XmlAttribute.cs,
1892           XmlDocument.cs,
1893           XmlNode.cs (internal XmlLang/XmlSpace) : implemented(defined)
1894         * XmlAttribute.cs,
1895           XmlDocumentFragment.cs,
1896           XmlElement.cs (set_InnerXml): now uses XmlLang/XmlSpace
1897         * XmlElement.cs (set_IsEmpty) : implemented
1898           (WriteTo) : removed my improper indenting (Writer already done)
1899         * XmlNode.cs (BaseURI) : fixed if ParentNode is null, NullPointerEx
1900           (ConstructDOM) : implemented when xmlReader isn't XmlTextReader
1901         ...and renamed XmlDocument.ConventionalParser to ReusableReader ;-)
1902
1903 2002-12-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1904
1905         * XmlNode.cs (RemoveChild):
1906                 bugfixed when XmlNode is Document OwnerDocument is null
1907         * XmlDeclaration.cs (Value):
1908                 bugfixed regular expression pattern.
1909         * XmlDocument.cs (CreateNavigator): bugfixed access modifier.
1910
1911 2002-11-24  Duncan Mak  <duncan@ximian.com>
1912
1913         * XmlImplementation.cs (HasFeature): Fixed a typo. Thanks for
1914         Fabricio Barros Cabral (fx) on #mono for spotting it. This is his
1915         first patch to Mono! ;-)
1916
1917 2002-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1918
1919         * XmlNode.cs:
1920         (AppendChild): readded refChild != null condition before throwing
1921         "cannot insert this node in this position" exception. There's probably
1922         a better solution. Fixes #34191.
1923         (RemoveAll): changed following Atsushi instructions.
1924         
1925
1926 2002-11-13  Duncan Mak  <duncan@ximian.com>
1927
1928         * XmlElement.cs (IsEmpty): A temporary check-in to keep gtk-sharp
1929         compiling.
1930
1931 2002-11-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1932
1933         * XmlDocument.cs : unified all constructors, added ConventionalParser,
1934                 implemented CloneNode() and CreateEntityReference(),
1935         * XmlEntityReference.cs : set_Value, WriteContentTo, WriteTo
1936                 set BaseURI to MonoTODO
1937         * XmlNode.cs : implemented PrependChild, modified ConstructDOM,
1938                 bugfix InsertAfter (incorrect prepending) and InsertBefore
1939                 (more than one DocumentElements hadn't caused errors)
1940         * XmlTextReader.cs : unified all constructors,
1941                 added internal SetReaderContext(), SetReaderFragment()
1942                 bugfix (syntax check of PUBLIC / getting internal subset)
1943
1944 2002-11-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1945
1946         XmlAttribute.cs : set_InnerText, set_InnerXml, some check for set_Prefix
1947         XmlAttributeCollection.cs : (indexer) this[localName, namespaceURI]
1948         XmlCharacterData.cs : exchanged Data and Value
1949                 (for processing events and inheritance)
1950         XmlDocumentFragment.cs : set_InnerXml
1951         XmlSignificantWhitespace.cs : set_Value
1952         XmlTextReader.cs : ReadAttributeValue
1953
1954 2002-11-04  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1955
1956         XmlAttribute.cs: fixed missing internal 'OwnerElement''SetOwnerElement'
1957
1958 2002-11-03  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1959
1960         * XmlAttributeCollection.cs : checks owner element.
1961                 implemented CopyTo, InsertAfter, InsertBefore, Prepend,
1962                 Remove, RemoveAt, SetNamedItem.
1963                 removed some logics that sets 'Parent' (that should be null)
1964         * XmlDocument.cs : set_InnerXml, [PreserveWhitespace(incomplete)]
1965         * XmlDocumentFragment.cs : get_InnerXml, WriteContentTo, WriteTo
1966         * XmlElement.cs : implemented WriteTo, set_InnerText.
1967                 Fixed WriteTo() to add xmlns:* attributes when
1968                 writer.LookupPrefix() returned mismatching.
1969         * XmlNamedNodeMap.cs : compare not only name but localname and nsuri.
1970                 Removing different prefixes for the same uri now runs correct.
1971                 added SetNamedItem(XmlNode node, int position_to_insert).
1972         * XmlNode.cs : ConstructDOM (logically) creates XmlEntityReference,
1973                 XmlWhitespace, and XmlSignificantWhitespace
1974
1975 2002-10-31  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1976
1977         * XmlDocument.cs : implemented CreateDocumentFragment()
1978         * XmlElement.cs, XmlLinkedNode.cs :
1979                 moved LastLinkedChild from XmlElement to XmlLinkedNode.
1980         * XmlEntityReference.cs : must throw NotImplementedException.
1981         * XmlNode.cs :
1982               + implemented InsertBefore() and then implemented InsertAfter()
1983                 and modified AppendChild() to call it.
1984               + added logic to check ReadOnly, parent document equivalence,
1985                 and inserting any 'content' before/after DocumentElement.
1986               + implemented Clone() [it is equals to CloneNode() by MS doc.]
1987               + added logic in RemoveChild() to check parent of oldChild.
1988               + fixed ConstructNamespaceManager() to internal only.
1989
1990 2002-10-29  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1991
1992         * XmlAttribute.cs : add internal 'IsDefault' property
1993                             (equals to !Specified)
1994         * XmlImplementation.cs : added 'internalNameTable' property.
1995         * XmlDocument.cs :
1996             + now allows "" for 'standalone' in CreateXmlDeclaration.
1997             + implemented 'Implementation' property and constructor with it.
1998             + added logic for appending name table (but still no use)
1999             + implemented property 'DocumentType'
2000               (but without internalSubset parsing. wait for next update.)
2001         * XmlNode.cs :
2002             + modified AppendChild() and RemoveChild() to support fragment.
2003             + modified AppendChild() to remove newChild from its parent
2004               when newChild is already in the other place.
2005             + modified RemoveChild() to set parentNode null.
2006             + modified ConstructDOM() to create DocumentType,
2007               and fixed access modifier ('internal protected' to 'internal')
2008         * XmlLinkedNode.cs : fixed 'NextSibling' to return null
2009                 when its parent is null.
2010         * XmlDocumentFragment.cs : added internal override 'LastLinkedChild'
2011                 property to enable AppendChild() for this class.
2012         * XmlTextReader.cs : appended private publicId and systemId fields.
2013
2014 2002-10-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2015
2016         * XmlTextReader.cs: make it work when the underlying Stream is not
2017         'seekable'.
2018
2019 2002-10-26  Piers Haken <piersh@friskit.com>
2020
2021         * XmlNode.cs: add virtual property XPathNodeType
2022         * XmlAttribute.cs:
2023         * XmlComment.cs:
2024         * XmlDocument.cs:
2025         * XmlElement.cs::
2026         * XmlProcessingInstruction.cs:
2027         * XmlSignificantWhitespace.cs:
2028         * XmlText.cs:
2029         * XmlWhitespace.cs: implement XPathNodeType property
2030         * XmlDocumentNavigator.cs: use XPathNodeType property instead of switch
2031
2032 2002-10-26  Piers Haken <piersh@friskit.com>
2033
2034         * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
2035
2036 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2037
2038         * XmlTextReader.cs: don't increment depth for entity references.
2039
2040 2002-10-22  Tim Haynes <thaynes@openlinksw.com>
2041
2042         * - Fixed the duplication of xmlns:xx = yy when serializing the
2043         XML for serialization
2044         
2045         Fixed the unnecessary parsing/serializing when adding assemblies
2046         for serialization 
2047
2048         Avoided setting the XmlNode.InnerXml property
2049         (as it's not implemented) 
2050
2051         Fixed the usage/implementation of
2052         XmlElement.GetElementsByTagName()
2053         
2054 2002-10-21  Duncan Mak  <duncan@ximian.com>
2055
2056         * XmlDocument.cs:
2057         * XmlElement.cs:
2058         * XmlNode.cs:
2059         * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
2060         Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
2061
2062 2002-10-18  Duncan Mak  <duncan@ximian.com>
2063
2064         * XmlDocument.cs: Applied a patch by Atsushi Enomoto
2065         <ginga@kit.hi-ho.ne.jp>.
2066
2067 2002-10-12  A.Enomoto <ginga@kit.hi-ho.ne.jp>
2068
2069         * XmlDocument.cs (ImportNode): Implemented
2070
2071 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2072
2073         * XmlDocument.cs: one more Load method implemented.
2074         * XmlTextReader.cs: Depth now works.
2075
2076 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2077
2078         * XmlConvert.cs: IsInvalid is now internal.
2079         * XmlNamespaceManager.cs: implemented RemoveNamespace
2080         * XmlTextReader.cs: return BaseURI and Encoding from the parser.
2081         * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
2082
2083 2002-09-19  Matt Hunter <mahunter@tconl.com>
2084
2085         * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
2086         * XmlAttributeCollection.cs: Implemented Append (XmlAttribute) 
2087           
2088 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2089
2090         * XmlConvert.cs: finished implementation.
2091         * XmlTextReader.cs: fixed #30239.
2092         * XmlTextWriter.cs: fixed #30240.
2093
2094 2002-09-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2095
2096         * XmlTextReader.cs: line and position begin with 1.
2097
2098 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2099
2100         * XmlException.cs: added a new internal constructor for IXmlLineInfo
2101         and output line and position info in Message.
2102
2103         * XmlReader.cs: implemented missing bits.
2104
2105 2002-09-12      Piers Haken <piersh@friksit.com>
2106
2107         * XmlDocumentNavigator.cs: implement MoveToId()
2108
2109 2002-09-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2110
2111         * XmlTextWriter.cs: fixed bug #29886.
2112
2113 2002-08-26  Ravi Pratap  <ravi@ximian.com>
2114
2115
2116         * XmlAttribute.cs (InnerText): Implement getting this property.
2117
2118         * XmlNode.cs (InnerText): Ensure that we append only values of
2119         text nodes.
2120
2121 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2122
2123         * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
2124         that allowed compiling this.
2125         [ FIXME: filed bug #29435. mcs should have failed on this ]
2126
2127 2002-08-25  Tim Coleman <tim@timcoleman.com>
2128         * XmlNode.cs:
2129                 Change CreateNavigator to not be virtual.
2130         * XmlElement.cs:
2131                 Add set_Prefix and InnerText accessors.
2132         * XmlEntityReference.cs:
2133                 Add set_Value accessor.
2134         * XmlTextWriter.cs:
2135                 Make objects which should be private private.
2136         * XmlWriter.cs:
2137                 Remove WriteStartElementInternal abstract definition.
2138         * XmlValidatingReader.cs:
2139                 New stubs added.
2140
2141 2002-08-22  Jason Diamond <jason@injektilo.org>
2142
2143         * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
2144         and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
2145
2146 2002-08-22  Jason Diamond <jason@injektilo.org>
2147
2148         * XmlElement.cs: Correction to previous GetElementsByTagName patch
2149         courtesy of Matt Hunter <xrkune@tconl.com>.
2150
2151 2002-08-22  Jason Diamond <jason@injektilo.org>
2152
2153         * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
2154         qualified GetElementsByTagName courtesy of Matt Hunter 
2155         <xrkune@tconl.com>.
2156
2157 2002-08-19  Jason Diamond <jason@injektilo.org>
2158
2159         * XmlDocument.cs, XmlElement.cs: Added implementation of 
2160         GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
2161
2162 2002-08-16  Jason Diamond <jason@injektilo.org>
2163
2164         * XmlElement.cs: Fixed writing out qualified elements courtesy of
2165         Marcus Bürgel <marcus.buergel@gmx.de>.
2166
2167 2002-08-13  Tim Coleman <tim@timcoleman.com>
2168         * XmlTextWriter.cs:
2169                 Partial implementation of WriteQualifiedName ().
2170
2171 2002-08-07  Kral Ferch <kral_ferch@hotmail.com>
2172         * XmlCharacterData.cs:  Implemented AppendData(), DeleteData(),
2173                 InsertData(), and ReplaceData().  These methods fire the
2174                 NodeChanging and NodeChanged events.
2175                 
2176         * XmlDocument.cs:  Fixed bugs in onNodeChanged() and onNodeChanging().
2177         
2178         * XmlNode.cs:  AppendChild() fires NodeInserting and NodeInserted events.
2179                 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
2180         
2181 2002-08-03  Tim Coleman <tim@timcoleman.com>
2182         * XmlNamespaceManager.cs:
2183                 .Net allows the empty namespace to be redefined
2184                 at a later point, but the current implementation
2185                 did not.  This fixes a hashtable conflict.
2186
2187 2002-07-26  Tim Coleman <tim@timcoleman.com>
2188         * XmlTextWriter.cs:
2189                 When given a textwriter, check to see if it has a
2190                 null encoding. This was being done for other inputs
2191                 than a textwriter.
2192
2193 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
2194
2195         * XmlTextReader.cs: rough line/column support.
2196
2197 2002-07-23  Duncan Mak  <duncan@ximian.com>
2198
2199         * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
2200         (string, string []) is particularly strange.
2201
2202         * XmlException.cs: Remember to call the base serialization
2203         constructor.
2204
2205         * XmlNodeReader.cs: Keep a new variable to store the Depth. 
2206
2207 2002-07-14  Jason Diamond  <jason@injektilo.org>
2208
2209         * XmlAttribute.cs: Removed ownerElement field since we can reuse 
2210         parentNode field.
2211
2212         * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
2213         if the current node is an attribute.
2214
2215         * XmlElement.cs: SetAttributeNode now sets the new attribute's
2216         owner element.
2217
2218 2002-07-12  Jason Diamond  <jason@injektilo.org>
2219
2220         * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
2221         creating an element, use String.Empty instead.
2222
2223 2002-07-12      Piers Haken <piersh@friksit.com>
2224
2225         * XmlAttributeCollection.cs: implement some ItemOf indexers
2226         * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
2227         * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
2228
2229 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
2230
2231
2232 2002-10-26  Piers Haken <piersh@friskit.com>
2233
2234         * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
2235
2236 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2237
2238         * XmlTextReader.cs: don't increment depth for entity references.
2239
2240 2002-10-22  Tim Haynes <thaynes@openlinksw.com>
2241
2242         * - Fixed the duplication of xmlns:xx = yy when serializing the
2243         XML for serialization
2244         
2245         Fixed the unnecessary parsing/serializing when adding assemblies
2246         for serialization 
2247
2248         Avoided setting the XmlNode.InnerXml property
2249         (as it's not implemented) 
2250
2251         Fixed the usage/implementation of
2252         XmlElement.GetElementsByTagName()
2253         
2254 2002-10-21  Duncan Mak  <duncan@ximian.com>
2255
2256         * XmlDocument.cs:
2257         * XmlElement.cs:
2258         * XmlNode.cs:
2259         * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
2260         Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
2261
2262 2002-10-18  Duncan Mak  <duncan@ximian.com>
2263
2264         * XmlDocument.cs: Applied a patch by Atsushi Enomoto
2265         <ginga@kit.hi-ho.ne.jp>.
2266
2267 2002-10-12  A.Enomoto <ginga@kit.hi-ho.ne.jp>
2268
2269         * XmlDocument.cs (ImportNode): Implemented
2270
2271 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2272
2273         * XmlDocument.cs: one more Load method implemented.
2274         * XmlTextReader.cs: Depth now works.
2275
2276 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2277
2278         * XmlConvert.cs: IsInvalid is now internal.
2279         * XmlNamespaceManager.cs: implemented RemoveNamespace
2280         * XmlTextReader.cs: return BaseURI and Encoding from the parser.
2281         * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
2282
2283 2002-09-19  Matt Hunter <mahunter@tconl.com>
2284
2285         * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
2286         * XmlAttributeCollection.cs: Implemented Append (XmlAttribute) 
2287           
2288 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2289
2290         * XmlConvert.cs: finished implementation.
2291         * XmlTextReader.cs: fixed #30239.
2292         * XmlTextWriter.cs: fixed #30240.
2293
2294 2002-09-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2295
2296         * XmlTextReader.cs: line and position begin with 1.
2297
2298 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2299
2300         * XmlException.cs: added a new internal constructor for IXmlLineInfo
2301         and output line and position info in Message.
2302
2303         * XmlReader.cs: implemented missing bits.
2304
2305 2002-09-12      Piers Haken <piersh@friksit.com>
2306
2307         * XmlDocumentNavigator.cs: implement MoveToId()
2308
2309 2002-09-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2310
2311         * XmlTextWriter.cs: fixed bug #29886.
2312
2313 2002-08-26  Ravi Pratap  <ravi@ximian.com>
2314
2315
2316         * XmlAttribute.cs (InnerText): Implement getting this property.
2317
2318         * XmlNode.cs (InnerText): Ensure that we append only values of
2319         text nodes.
2320
2321 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2322
2323         * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
2324         that allowed compiling this.
2325         [ FIXME: filed bug #29435. mcs should have failed on this ]
2326
2327 2002-08-25  Tim Coleman <tim@timcoleman.com>
2328         * XmlNode.cs:
2329                 Change CreateNavigator to not be virtual.
2330         * XmlElement.cs:
2331                 Add set_Prefix and InnerText accessors.
2332         * XmlEntityReference.cs:
2333                 Add set_Value accessor.
2334         * XmlTextWriter.cs:
2335                 Make objects which should be private private.
2336         * XmlWriter.cs:
2337                 Remove WriteStartElementInternal abstract definition.
2338         * XmlValidatingReader.cs:
2339                 New stubs added.
2340
2341 2002-08-22  Jason Diamond <jason@injektilo.org>
2342
2343         * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
2344         and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
2345
2346 2002-08-22  Jason Diamond <jason@injektilo.org>
2347
2348         * XmlElement.cs: Correction to previous GetElementsByTagName patch
2349         courtesy of Matt Hunter <xrkune@tconl.com>.
2350
2351 2002-08-22  Jason Diamond <jason@injektilo.org>
2352
2353         * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
2354         qualified GetElementsByTagName courtesy of Matt Hunter 
2355         <xrkune@tconl.com>.
2356
2357 2002-08-19  Jason Diamond <jason@injektilo.org>
2358
2359         * XmlDocument.cs, XmlElement.cs: Added implementation of 
2360         GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
2361
2362 2002-08-16  Jason Diamond <jason@injektilo.org>
2363
2364         * XmlElement.cs: Fixed writing out qualified elements courtesy of
2365         Marcus Bürgel <marcus.buergel@gmx.de>.
2366
2367 2002-08-13  Tim Coleman <tim@timcoleman.com>
2368         * XmlTextWriter.cs:
2369                 Partial implementation of WriteQualifiedName ().
2370
2371 2002-08-07  Kral Ferch <kral_ferch@hotmail.com>
2372         * XmlCharacterData.cs:  Implemented AppendData(), DeleteData(),
2373                 InsertData(), and ReplaceData().  These methods fire the
2374                 NodeChanging and NodeChanged events.
2375                 
2376         * XmlDocument.cs:  Fixed bugs in onNodeChanged() and onNodeChanging().
2377         
2378         * XmlNode.cs:  AppendChild() fires NodeInserting and NodeInserted events.
2379                 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
2380         
2381 2002-08-03  Tim Coleman <tim@timcoleman.com>
2382         * XmlNamespaceManager.cs:
2383                 .Net allows the empty namespace to be redefined
2384                 at a later point, but the current implementation
2385                 did not.  This fixes a hashtable conflict.
2386
2387 2002-07-26  Tim Coleman <tim@timcoleman.com>
2388         * XmlTextWriter.cs:
2389                 When given a textwriter, check to see if it has a
2390                 null encoding. This was being done for other inputs
2391                 than a textwriter.
2392
2393 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
2394
2395         * XmlTextReader.cs: rough line/column support.
2396
2397 2002-07-23  Duncan Mak  <duncan@ximian.com>
2398
2399         * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
2400         (string, string []) is particularly strange.
2401
2402         * XmlException.cs: Remember to call the base serialization
2403         constructor.
2404
2405         * XmlNodeReader.cs: Keep a new variable to store the Depth. 
2406
2407 2002-07-14  Jason Diamond  <jason@injektilo.org>
2408
2409         * XmlAttribute.cs: Removed ownerElement field since we can reuse 
2410         parentNode field.
2411
2412         * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
2413         if the current node is an attribute.
2414
2415         * XmlElement.cs: SetAttributeNode now sets the new attribute's
2416         owner element.
2417
2418 2002-07-12  Jason Diamond  <jason@injektilo.org>
2419
2420         * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
2421         creating an element, use String.Empty instead.
2422
2423 2002-07-12      Piers Haken <piersh@friksit.com>
2424
2425         * XmlAttributeCollection.cs: implement some ItemOf indexers
2426         * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
2427         * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
2428
2429 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
2430
2431         * XmlTextWriter: Fixed Indentation. IndentationOverridden should
2432                 not be set when inside a attribute.
2433
2434 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
2435
2436         * XmlTextWriter: In WriteStartElement, if namespace is null and 
2437                 prefix is null|empty do not write out xmlns=""
2438         
2439         * XmlWriter: WriteStartElement calls the virtual method with null
2440                 argument instead of empty string.
2441
2442 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2443
2444         * XmlTextReader.cs: implemented .ctor (Stream).
2445
2446 2002-06-26  Duncan Mak  <duncan@ximian.com>
2447
2448         * XmlNodeReader.cs: Implementation of most of the properties, and
2449         some of the related methods. 
2450
2451 2002-06-23  Piers Haken <piersh@friskit.com>
2452         
2453         * XmlDocumentNavigator.cs: implement Clone()
2454         * XmlElement.cs: remove bogus unimplemented override of InnerText
2455         * XmlNode.cs: implment SelectNodes/SelectSingleNode
2456         * XmlNodeArrayList.cs: new support class for SelectNodes
2457
2458 2002-06-21  Ajay kumar Dwivedi <adwiv@yahoo.com>
2459         
2460         * XmlQualifiedName: Name and Namespaces are never null. If null is passed
2461                 to the constructor, set them to empty strings.
2462                 Fixed the Operators.
2463         
2464 2002-06-18  Ajay kumar Dwivedi <adwiv@yahoo.com>
2465         
2466         * XmlTextReader.cs: HasLineInfo returns false instead of throwing an
2467         Exception.
2468
2469 2002-06-14  Duncan Mak  <duncan@ximian.com>
2470
2471         * XmlConvert.cs: Added CLSCompliant attributes to methods.
2472         
2473 2002-06-12  Duncan Mak  <duncan@ximian.com>
2474
2475         * XmlCharacterData.cs (Value): Throw an ArgumentException in the
2476         set block if the node is read-only.
2477
2478 2002-06-10  Ajay kumar Dwivedi <adwiv@yahoo.com>
2479         * XmlConstruct.cs : New Internal class with Helper methods for
2480         Checking XmlConstructs
2481         * XmlConvert.cs: Implemented most of the methods
2482
2483 2002-06-08  Duncan Mak  <duncan@ximian.com>     
2484
2485         * XmlDocument.cs (Load):
2486         Added bits to Load (string) for BaseURI support.
2487
2488         * XmlAttribute.cs (BaseURI): 
2489         * XmlDocument.cs (BaseURI): 
2490         * XmlEntity.cs (BaseURI): Implemented.
2491
2492 2002-05-27  Jason Diamond  <jason@injektilo.org>
2493
2494         * XmlDocumentNavigator.cs: Added file to directory.
2495
2496         * XmlNode.cs (CreateNavigator): Implemented.
2497         (InnerText): Implemented.
2498
2499         * XmlDocument.cs (NamespaceURI, Prefix): Return String.Empty instead of
2500         throwing exception.
2501         (Load(XmlReader)): Allow for namespace qualified attributes.
2502
2503         * XmlElement.cs: Implemented GetAttribute(string, string) and both 
2504         GetAttributeNode overloads.
2505         (SetAttributeNode(XmlAttribute)): Implemented.
2506
2507         * XmlNamedNodeMap.cs: Fixed copy/paste bugs in GetNamedItem(string, string)
2508         and RemoveNamedItem(string, string).
2509
2510         * XmlLinkedNode.cs (PreviousSibling): Implemented.
2511
2512         * XmlTextReader.cs: Added code to maintain the order of attributes as 
2513         they're parsed. XML doesn't require this but Microsoft's parser does it and
2514         matching them makes testing easier so now we have it, too.
2515
2516 2002-05-26  Miguel de Icaza  <miguel@ximian.com>
2517
2518         * XmlDocument.cs: Implement the Save methods.
2519
2520 2002-05-08  Mike Kestner  <mkestner@speakeasy.net>
2521
2522         * XmlNamedNodeMap.cs (SetNamedItem): Fixed a copy/paste bug.
2523
2524 2002-04-28  Duncan Mak  <duncan@ximian.com>
2525
2526         * XmlSignificantWhitespace.cs (Value):
2527         * XmlWhitespace.cs (Value): Added MonoTODO to the 'set'
2528         block. Added new private method, IsValidWhitespaceChar, for
2529         checking.
2530
2531 2002-04-16  Duncan Mak  <duncan@ximian.com>
2532
2533         * XmlParserContext.cs (NameTable): Fixed a typo in the set block.
2534
2535 2002-04-12  Duncan Mak  <duncan@ximian.com>
2536
2537         * XmlAttribute.cs (Prefix): Added preliminary code for set block,
2538         added comment on work that needs to be done here. A new MonoTODO item. 
2539
2540         * XmlDocument.cs (ctor): Corrected constructor signature, changed
2541         parameter from 'NameTable' to 'XmlNameTable'.
2542
2543         * XmlDocumentFragment.cs (InnerXml): Added missing set block.
2544
2545         * XmlCaseOrder.cs: Moved to System.Xml.XPath.
2546
2547 2002-04-10  Duncan Mak  <duncan@ximian.com>
2548
2549         * XmlNodeReader.cs: Initial stubs for the class.
2550
2551 2002-04-08  Kral Ferch  <kral_ferch@hotmail.com>
2552
2553         * XmlAttributes.cs: InnerXml getter, WriteContentTo, and WriteTo
2554         implementations.
2555         
2556         * XmlDeclaration.cs: WriteTo implementation.
2557         
2558         * XmlDocument.cs: InnerXml getter implementation.
2559         
2560         * XmlElement.cs: InnerXml getter implementation.
2561
2562         * XmlNode.cs: Removed MonoTODO attrib on OuterXml.
2563         
2564         * XmlSignificantWhitespace.cs: WriteTo implementation.
2565         
2566         * XmlText.cs: WriteContentTo and WriteTo implementation.
2567         
2568         * XmlTextWriter.cs: WriteRaw implementation.
2569         
2570         * XmlWhitespace.cs: WriteContentTo and WriteTo implementations.
2571
2572 2002-04-05  Kral Ferch  <kral_ferch@hotmail.com>
2573
2574         * XmlAttributes.cs: Added reminder MonoTODO to set NamespaceURI
2575         if prefix in constructor is one of the default ones.
2576         
2577         * XmlCharacterData.cs: Returns String.Empty for Value and Data
2578         even when constructed with null.
2579         
2580         * XmlDeclaration.cs: Value doesn't put encoding or standalone
2581         in if they are empty.
2582         
2583         * XmlDocument.cs: Implemented CreateNode methods and this caused
2584         the changes in the other files in this checkin.
2585         
2586         * XmlProcessingInstruction.cs: Returns String.Empty for Value and Data
2587         even when constructed with null.
2588         
2589         * XmlWhitespace.cs: Changed Value 'get' to return Data.
2590
2591 2002-04-01  Kral Ferch  <kral_ferch@hotmail.com>
2592
2593         * XmlTextWriter.cs: Impls for WriteEndDocument and WriteFullEndElement.
2594         
2595 2002-03-31  Kral Ferch  <kral_ferch@hotmail.com>
2596
2597         * XmlTextWriter.cs: Impls for LookupPrefix, WriteBase64,
2598         and WriteCharEntity.
2599         
2600         * XmlWrite.cs:  Fixed bug where attribute namespace decl
2601         was pushing a scope onto the namespace manager when it shouldn't
2602         have been.
2603         
2604 2002-03-31  Kral Ferch  <kral_ferch@hotmail.com>
2605
2606         * XmlTextWriter.cs: Some tweaks for WriteAttibuteString
2607         in different states (no open start element, in WriteState.Content mode).
2608         
2609 2002-03-29  Kral Ferch  <kral_ferch@hotmail.com>
2610
2611         * XmlTextWriter.cs: XmlLang and XmlSpace properties
2612         and WriteWhitespace.
2613         
2614         * XmlTextWriterOpenElement.cs: scope support for XmlLang
2615         and XmlSpace.
2616
2617 2002-03-29  Kral Ferch  <kral_ferch@hotmail.com>
2618
2619         * XmlTextWriter.cs: Working on Attribute methods.
2620         
2621         * XmlWriter.cs: Working on Attribute methods.
2622
2623 2002-03-28  Duncan Mak  <duncan@ximian.com>
2624
2625         * XmlDocument.cs (CreateWhitespace):
2626         (CreateSignificantWhitespace): Removed extraneous call to the ToCharArray
2627         method.
2628
2629         * XmlSignificantWhitespace.cs (Value): Removed MonoTODO attribute.
2630
2631 2002-03-26  Duncan Mak  <duncan@ximian.com>
2632
2633         * XmlDocument.cs (CreateDocumentType): Implemented.
2634
2635         * XmlNode.cs (Value): Implemented.
2636
2637         * XmlProcessingInstruction.cs (InnerText): Implemented. It works just
2638         like XmlCharacterData.
2639
2640         * XmlDeclaration.cs (CloneNode): 
2641         * XmlDocument.cs (CreateXmlDeclaration): Added missing constructor
2642         arguments.
2643
2644         * XmlCharacterData.cs (InnerText): Implemented. Funny that the
2645         docs say it is the "The concatenated values of the node and all
2646         the children of the node.". I wrote some test programs and
2647         couldn't get any of the derived nodes to AppendChild. For now,
2648         InnerText == Data == Value.
2649         (Substring): Fixed typo.
2650
2651         * XmlDeclaration.cs (XmlDeclaration): Fixed the constructor parameter signature.
2652
2653         * XmlImplementation.cs (CreateDocument): Implemented.
2654
2655 2002-03-25  Duncan Mak  <duncan@ximian.com>
2656
2657         * XmlDeclaration.cs: Rewrote the class, fixed formatting, added
2658         missing properties (InnerText, Value).
2659         
2660         * XmlDocument.cs (CreateXmlDeclaration): Implemented.
2661
2662 2002-03-23  Kral Ferch <kral_ferch@hotmail.com>
2663
2664         * XmlTextWriter.cs: Impls for BaseStream and
2665         Namespaces and WriteState.
2666         
2667         * XmlWriter.cs: WriteState and WriteStartElementInternal.
2668
2669 2002-03-23  Kral Ferch <kral_ferch@hotmail.com>
2670
2671         * XmlNodeListChildren.cs: made class internal
2672         instead of public.  Shouldn't be visible outside
2673         of System.Xml.
2674         
2675         * XmlTextWriter.cs: Implementations for Formatting,
2676         IndentChar, Indenting, QuoteChar, WriteStartDocument(standalone).
2677         Suppresses encoding on xml declaration if null stream passed in.
2678         Formats output including suppressing indentation for elements in
2679         mixed content mode.
2680         
2681         * XmlTextWriterOpenElement.cs: Initial checkin.
2682         XmlTextWriter uses stack of these objects to track
2683         state.
2684         
2685 2002-03-22  Mike Kestner  <mkestner@speakeasy.net>
2686
2687         * XmlElement.cs: impl HasAttribute(string name).
2688
2689 2002-03-22  Duncan Mak  <duncan@ximian.com>
2690
2691         * XmlElement.cs: Reformatted.
2692         (CloneNode) Corrected.
2693
2694         * XmlDocument.cs (CreateWhitespace):
2695         (CreateSignificantWhitespace): Implemented.
2696
2697         * XmlAttribute.cs (CloneNode): Changed the child's CloneNode to
2698         true, because Attributes have ChildNodes.
2699
2700 2002-03-21  Kral Ferch <kral_ferch@hotmail.com>
2701
2702         * XmlTextWriter.cs: WriteStartDocument tracks state, writes out
2703         xml declaration along with encoding.  WriteEndElement throws
2704         exception if no WriteStartElement exists.
2705
2706 2002-03-20  Duncan Mak  <duncan@ximian.com>
2707
2708         * XmlEntityReference.cs (CloneNode): Implemented.
2709
2710         * XmlException.cs (Message): Implemented. We need to cache the
2711         message string because SystemException doesn't expose 'message'
2712         from Exception.
2713
2714         * XmlText.cs (Value): Added in the missing Value property.
2715
2716 2002-03-20  Duncan Mak  <duncan@ximian.com>     
2717
2718         * XmlAttribute.cs (CloneNode): Implemented.
2719
2720         * XmlDocumentFragment.cs (CloneNode): Implemented.
2721
2722         * XmlElement.cs (CloneNode): Implemented.
2723
2724 2002-03-19  Duncan Mak  <duncan@ximian.com>
2725
2726         * XmlNotation.cs: Added to CVS.
2727
2728         * XmlAttribute.cs (CloneNode): First crack at the CloneNode method.
2729
2730         * XmlCDataSection.cs (CloneNode): Implemented.
2731
2732         * XmlDocumentFragment.cs: Reformatted and added the missing properties
2733         (InnerXml, OwnerDocument, ParentNode).
2734         (CloneNode): Implemented.
2735
2736         * XmlSignificantWhitespace.cs (CloneNode): Implemented.
2737         (Value) Implemented the 'get' property.
2738
2739         * XmlWhitespace.cs (Module): implemented.
2740
2741 2002-03-19  Jason Diamond <jason@injektilo.org>
2742
2743         * XmlDocument.cs: Fixed typo in Load that was duplicating the LocalName
2744         in the prefix.
2745
2746 2002-03-18  Jason Diamond <jason@injektilo.org>
2747
2748         * XmlTextReader.cs: Don't restore properties after reading last
2749         attribute on an element.
2750
2751         * XmlDocument.cs: Move back to element after reading attributes
2752         so that IsEmptyElement test succeeds.
2753
2754 2002-03-18  Kral Ferch <kral_ferch@hotmail.com>
2755
2756         * XmlNamespaceManager.cs: Implemented LookupPrefix.
2757         
2758         * XmlTextWriter.cs: Implemented namespace and prefix support.
2759
2760 2002-03-18  Kral Ferch <kral_ferch@hotmail.com>
2761
2762         * XmlTextReader.cs: Restores properties after
2763         reading last attribute on an element.
2764         
2765         * XmlNode.cs: AppendChild sets the parent
2766         on the child.
2767
2768 2002-03-17  Kral Ferch  <kral_ferch@hotmail.com>
2769
2770         * XmlCDataSection.cs: Formatting, Implementation for WriteTo.
2771
2772         * XmlComment.cs: Implementations for WriteTo and WriteContentTo.
2773         
2774         * XmlElement.cs: Fixed bug in WriteTo.
2775         
2776         * XmlProcessingInstruction.cs: Formatting.
2777         
2778         * XmlTextWriter.cs: Implementations for Close, WriteCData, WriteComment,
2779         fixes for WriteEndElement, WriteProcessingInstruction.
2780
2781 2002-03-17  Kral Ferch  <kral_ferch@hotmail.com>
2782
2783         * XmlDocument.cs: Implementations for WriteTo() and WriteContentTo(),
2784         had Load() add PIs to the document, moved onXXX methods to alphabetical
2785         order in the file.
2786         
2787         * XmlElement.cs: Implementations for WriteTo() and WriteContentTo().
2788         
2789         * XmlNode.cs: Implementations for InnerXml Get and OuterXml.
2790         
2791         * XmlProcessingInstruction.cs: Implementations for WriteTo() and
2792         WriteContentTo().
2793         
2794         * XmlTextWriter.cs: Implementations for WriteEndElement,
2795         WriteProcessingInstruction, WriteStartElement, and WriteString.
2796         
2797         * XmlWriter.cs: Implemented WriteStartElement() methods.
2798
2799 2002-03-15  Duncan Mak  <duncan@ximian.com>
2800
2801         * XmlEntity.cs: Added to CVS. Need to implement BaseURI and
2802         InnerText once I know what they do.
2803
2804         * XmlDocumentType.cs (XmlDocumentType): Fix the constructor now
2805         that we can properly chain constructors.
2806         (CloneNode): implemented.
2807         (WriteContentTo): Removed MonoTODO attribute as this method has no
2808         effect in this class.
2809
2810         * XmlProcessingInstruction.cs (Value): Added the missing Set
2811         block.
2812         (InnerText): Added in, but not implemented.
2813
2814 2002-03-14  Kral Ferch  <kral_ferch@hotmail.com>
2815
2816         * XmlTextWriter.cs: implemented constructors and 
2817         WriteCData and WriteComment.
2818
2819 2002-03-14  Duncan Mak  <duncan@ximian.com>
2820
2821         * XmlDocument.cs: Moved the NodeChanged EventHandler to its own
2822         file, and updated the callbacks to reflect the change.
2823         (XmlDocument): Added the NameTable constructor.
2824         (NameTable): Also the NameTable property.
2825
2826         * XmlNodeChangedEventHandler.cs: Added, replacing the version that
2827         was in XmlDocument.cs. It has two arguments now (object,
2828         EventArgs) , instead of one (object).
2829
2830 2002-03-14  Kral Ferch  <kral_ferch@hotmail.com>
2831
2832         * XmlWriter.cs: Formatting.
2833         
2834         * XmlTextWriter.cs: Initial checkin.
2835         
2836 2002-03-14  Duncan Mak  <duncan@ximian.com>
2837
2838         * Validation.cs: Removed, replaced by ValidationType.cs.
2839
2840         * ValidationType.cs: Added.
2841
2842 2002-03-13  Duncan Mak  <duncan@ximian.com>
2843
2844         * XmlException.cs: Made it [Serializable], implemented good ol'
2845         GetObjectData, and the serialization constructor.
2846
2847         * XmlNamedNodeMap.cs (SetNamedItem): Check for the Name property.
2848         (SetNamedItem): Reverted (added back in) the patch with the
2849         ReadOnly checks. "Don't doubt yourself, my son... you were right!"
2850
2851         * XmlNamedNodeMap.cs (GetEnumerator): piggyback on the ArrayList implementation.
2852         (GetNamedItem (string, string)): implemented.
2853         (RemoveNamedItem): implemented.
2854         (SetNamedItem): implemented.
2855
2856 2002-03-12  Kral Ferch  <kral_ferch@hotmail.com>
2857
2858         * XmlAttribute.cs: Moved a method from amongst properties down to
2859         it's alphabetical position in the methods section.
2860         
2861         * XmlNode.cs: Passes in 'this' to XmlNodeList constructor instead of
2862         last linked child.  Set XmlNode base class to return false for IsReadOnly().
2863         Implemented GetEnumerator() and RemoveChild().
2864         
2865         * XmlNodeListChildren.cs: Now stores the parent instead of the last child.
2866         This is to support the behavior that the Enumerator doesn't become invalid
2867         when changes to the children occur.  Flushed out rest of implementation for
2868         MoveNext, Current, and Reset.
2869
2870 2002-03-12  Duncan Mak  <duncan@ximian.com>
2871
2872         * XmlCharacterData.cs: Reformatted the properties for better readability.
2873
2874         * XmlLinkedNode.cs: Removed the awful boxy comments.
2875
2876         * XmlNamedNodeMap.cs (Count):
2877         (Item): Implemented. Tests will be coming.
2878
2879         * XmlEntityReference.cs: 
2880         * XmlSignificantWhitespace.cs: Implemented these classes except for
2881         the Clone, WriteContentTo and WriteTo methods. Will have to
2882         investigate into these later.
2883
2884 2002-03-11  Duncan Mak  <duncan@ximian.com>
2885
2886         * IHasXmlNode.cs: Added to CVS.
2887
2888 2002-03-08  Jason Diamond <jason@injektilo.org>
2889
2890         * XmlParserContext.cs: Added missing constructors and missing Encoding 
2891         property.
2892
2893         * XmlTextReader.cs: Start using the XmlParserContext class.
2894
2895 2002-03-08  Jason Diamond <jason@injektilo.org>
2896
2897         * XmlTextReader.cs: Implemented MoveToElement and MoveToFirstAttribute.
2898
2899 2002-03-08  Mike Kestner  <mkestner@speakeasy.net>
2900
2901         * XmlNode.cs (Item): Implemented both indexers.
2902
2903 2002-03-08  Jason Diamond  <jason@injektilo.org>
2904
2905         * DomEncodingType.cs, TreePosition.cs, XPathNodeType.cs, XmlDataType.cs,
2906         XmlExceptionCode.cs, XmlSortOrder.cs, XmlUtil.cs: Removed files.
2907
2908 2002-03-08  Jason Diamond  <jason@injektilo.org>
2909
2910         * XmlAttribute.cs: Attribute nodes are supposed to store their values
2911         as child nodes so updated to reflect that.
2912
2913         * XmlDocument.cs, XmlElement.cs, XmlNode.cs: Moved code that was
2914         duplicated in XmlDocument and XmlElement into XmlNode so that it
2915         wouldn't have to be duplicated in XmlAttribute, too.
2916
2917 2002-03-08  Kral Ferch <kral_ferch@hotmail.com>
2918
2919         * XmlNodeList.cs, XmlDocument.cs, XmlLinkedNode.cs,
2920         XmlNode.cs: Formatting.
2921         
2922         * XmlNodeListChildren.cs: Implementation of XmlNodeList
2923         for XmlNode.ChildNodes property.
2924         
2925         * XmlNodeListAsArrayList.cs: Removed file.  Using different
2926         data structure (circular list) in XmlNode so this file
2927         is no longer valid.
2928         
2929         * XmlDocument.cs, XmlElement.cs: New ChildNodes tests found
2930         bug in setter property of LastLinkedChild so fixed it.
2931         
2932 2002-03-06  Jason Diamond  <jason@injektilo.org>
2933
2934         * XmlInputSource.cs, XmlNames_1_0.cs, XmlParse.cs: Removed files.
2935         We already have a parser in XmlTextReader.
2936
2937         * XmlException.cs: Removed constructor accepting XmlInputSource.
2938
2939 2002-03-06  Kral Ferch <kral_ferch@hotmail.com>
2940
2941         * XmlNode.cs: Rewrote this class from scratch with
2942         MonoToDo attribs and NotImplementedExceptions.  Now defines an
2943         internal LastLinkedNode property to aid the new implementation.
2944         XmlNodes only have ref to owner doc and parent nodes now.
2945         
2946         * XmlLinkedNode.cs: Added NextLinkedSibling internal property
2947         and ref to next sibling to support walking our circular child
2948         node list.
2949         
2950         * XmlDocument.cs: Added ref to last child node and overrides
2951         XmlNode's internal LastLinkedChild property to support walking
2952         our circular child node list.
2953         
2954 2002-03-02  Kral Ferch <kral_ferch@hotmail.com>
2955
2956         * XmlProcessingInstructions.cs: Class was empty.  Implemented
2957         constructor, properties, and CloneNode() method.  Put in
2958         MonoToDo attrib for remaining methods.
2959
2960         * XmlComment.cs: Reformatted and put in MonoToDo attribs.
2961         Got rid of helper methods and fields since they were no
2962         longer needed.
2963
2964         * XmlLinkedNode.cs: Reformatted and put in MonoToDo attribs.
2965
2966         * XmlDocument.cs: Added code to Load(XmlReader) to create XmlComment,
2967         XmlCDataSection, and XmlProcessingInstruction nodes. Implemented
2968         Createxxx() methods for those three node types.
2969
2970 2002-03-02  Jason Diamond <jason@injektilo.org>
2971
2972         * XmlDocument.cs: Implemented the remaining CreateElement and
2973         CreateAttribute methods.
2974
2975         * XmlAttribute.cs: Re-implemented.
2976
2977         * XmlElement.cs: Set owner element on attributes. Reformatted.
2978
2979 2002-03-02  Jason Diamond <jason@injektilo.org>
2980
2981         * XmlTextReader.cs: Implemented MoveToNextAttribute().
2982
2983         * XmlDocument.cs: Reformatted. Adding missing methods and MonoTODO
2984         attributes. Create attribute nodes while loading. Implemented
2985         Load(string) and CreateTextNode().
2986
2987         * XmlCharacterData.cs, XmlText.cs: Re-implemented.
2988
2989         * XmlCDataSection.cs, XmlComment.cs: Call correct constructor in 
2990         XmlCharacterData.
2991
2992         * XmlNamedNodeMap.cs, XmlAttributeCollection.cs: Stubbed out.
2993
2994 2002-03-02  Mike Kestner <mkestner@speakeasy.net>
2995
2996         * XmlAttribute.cs : Using fix.
2997         * XmlDocument.cs (CreateAttribute(String)): Implement.
2998
2999 2002-03-02  Jason Diamond <jason@injektilo.org>
3000
3001         * XmlNamespaceManager.cs: Atomize prefixes and namespaces strings in 
3002         the name table.
3003
3004 2002-02-28  Jason Diamond <jason@injektilo.org>
3005
3006         * XmlDocument.cs, XmlNode.cs: Initial implementation of LoadXml 
3007         courtesy of Kral Ferch <kral.ferch@hotmail.com>.
3008
3009 2002-02-28  Jason Diamond <jason@injektilo.org>
3010
3011         * XmlException.cs, XmlReader.cs, XmlTextReader.cs: Reformatted, 
3012         added missing members and MonoTODO attributes.
3013         
3014         * XmlTextReader.cs: Throw XmlException instead of System.Exception.
3015
3016 2002-02-27  Jason Diamond <jason@injektilo.org>
3017
3018         * XmlElement.cs: Reformatted, added missing members and MonoTODO 
3019         attributes.
3020
3021 2002-02-26  Duncan Mak  <duncan@ximian.com>
3022
3023         * XmlCDataSection.cs: Initial implementation.
3024
3025         * NameTable.cs: Fixed the whole thing. Wrote a NUnit test to test
3026         it out. This should (hopefully) be correct.
3027
3028 2002-02-26  Jason Diamond <jason@injektilo.org>
3029
3030         * XmlTextReader.cs: Apparently Microsoft's implementation treats
3031         namespace declarations as attributes so we do now, too.
3032
3033         * XmlNamespaceManager.cs: HasNamespace fixed so that it only
3034         checks the current scope.
3035
3036 2002-02-26  Duncan Mak  <duncan@ximian.com>
3037
3038         * XmlDocumentType.cs: Added a few hacks here and there to
3039         temporarily fix the "I broke the build issue".
3040
3041 2002-02-25  Jason Diamond <jason@injektilo.org>
3042
3043         * XmlDocument.cs, XmlElement.cs, XmlNode.xs, XmlNodeList.cs,
3044         XmlNodeListAsArrayList.cs: Multiple fixes necessary to get
3045         simple test to pass. The existing code is really shitty so I'll
3046         probably start writing tests and refactoring before much else 
3047         can get done.
3048
3049 2002-02-25  Duncan Mak  <duncan@ximian.com>
3050
3051         * NameTable.cs: Implemented.
3052
3053         * XmlDeclaration.cs: It should inherit from XmlLinkedNode, not XmlNode.
3054
3055 2002-02-24  Duncan Mak  <duncan@ximian.com>
3056         
3057         * XmlNodeOrder.cs: Added to CVS.
3058
3059         * XmlQualifiedName.cs: Fixed a warning from Equals ().
3060
3061         * XmlTokenizedType.cs: Added to CVS.
3062
3063         * XmlUrlResolver.cs: Added to CVS with one TODO task.
3064
3065 2002-02-23  Duncan Mak  <duncan@ximian.com>
3066
3067         * XmlQualifiedName.cs: Fixed ToString () and added the operators
3068         (== and !=).
3069
3070 2002-02-23  Jason Diamond <jason@injektilo.org>
3071
3072         * XmlTextReader.cs: Added support for qualified attributes.
3073
3074 2002-02-23  Jason Diamond <jason@injektilo.org>
3075
3076         * XmlNamespaceManager.cs: Initial implementation.
3077         
3078         * XmlTextReader.cs: Added support for NamespaceURI property on
3079         elements.
3080
3081 2002-02-23  Nick Drochak <ndrochak@gol.com>
3082
3083         * ChangeLog: Add the change log to this directory
3084
3085         * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has
3086         MonoTODO's