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