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