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