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