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