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