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