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