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