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