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