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