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