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