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