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