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