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