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