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