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