2009-01-22 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml / ChangeLog
1 2009-01-22  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * XmlXapResolver.cs : new in 2.1.
4         * XmlReaderSettings.cs : use above.
5
6 2009-01-20  Atsushi Enomoto  <atsushi@ximian.com>
7
8         * XmlDocumentNavigator.cs : in some corner cases an attribute
9           may have null OwnerElement. Fixed bug #458245.
10
11 2009-01-20  Atsushi Enomoto  <atsushi@ximian.com>
12
13         * XmlReaderBinarySupport.cs : do not hang in the middle of reading
14           byte chunk at some node types. Fixed bug #464229.
15
16 2009-01-14  Sebastien Pouliot  <sebastien@ximian.com>
17
18         * NamespaceHandling.cs: New. Enum for Silverlight 2. Microsoft's 
19         System.Xml.Linq.dll (often bundled in XAP files) needs it (or we 
20         throw a TypeLoadException).
21         * XmlWriterSettings.cs: Add SL2 specific NamespaceHandling property
22
23 2009-01-08  Atsushi Enomoto  <atsushi@ximian.com>
24
25         * XmlReader.cs : ReadContentAsString() does not reject non-elements.
26           ReadElementContentAsString() rejects non-content nodes.
27
28 2008-12-19  Atsushi Enomoto  <atsushi@ximian.com>
29
30         * XmlNamespaceManager.cs : namespace lookup failed for non-atomic
31           string in 1.1 profile. Fixed 1.0 part of #379139.
32
33 2008-12-18  Atsushi Enomoto  <atsushi@ximian.com>
34
35         * DTDValidatingReader.cs : remove unused file.
36
37 2008-11-04  Atsushi Enomoto  <atsushi@ximian.com>
38
39         * XmlTextReader.cs : simply call ClearValueBuffer() on each Read().
40
41 2008-10-02  Atsushi Enomoto  <atsushi@ximian.com>
42
43         * XmlDocumentNavigator.cs : added some overriden methods (to be
44           implemented).
45
46 2008-09-24  Atsushi Enomoto  <atsushi@ximian.com>
47
48         * XmlDocument.cs : it returns non-null Schemas by default (and
49           returns non-empty set after being set null).
50
51 2008-09-17  Atsushi Enomoto  <atsushi@ximian.com>
52
53         * XmlReader.cs : detailed error location in ReadSubtree().
54
55 2008-09-17  Atsushi Enomoto  <atsushi@ximian.com>
56
57         * XmlReader.cs : ReadSubtree() is valid only on an element.
58
59 2008-09-10  Atsushi Enomoto  <atsushi@ximian.com>
60
61         * XmlDocument.cs, XmlDocumentNavigator.cs :
62           reduce navigator fields.
63
64 2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>
65
66         * EnityResolvingXmlReader.cs:
67         * XmlReader.cs:
68         * XmlTextReader.cs:
69         * XmlTextReader2.cs: re-enable ResolveEntity for 2.1
70
71 2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>
72
73         * XmlReaderSettings.cs: adding DtdProcessing and
74         MaxCharactersFromEntities properties for 2.1
75
76 2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>
77
78         * DtdProcessing: adding this enum on the 2.1 build
79
80 2008-08-05  Jb Evain  <jbevain@novell.com>
81
82         * XmlConvert.cs (ToChar): add a specific SL2 version.
83
84 2008-07-28  Atsushi Enomoto  <atsushi@ximian.com>
85
86         * XmlNamespaceManager.cs : check null arg.
87         * XmlTextReader.cs : fixed bug #412657; now we populate nametable
88           and namespace manager in case they are null in parser context, and
89           use them instead of the members in the parser context.
90
91 2008-06-11  Atsushi Enomoto  <atsushi@ximian.com>
92
93         * XmlConvert.cs : fixed bug #397934. Utc mode accepts more formats.
94
95 2008-06-11  Atsushi Enomoto  <atsushi@ximian.com>
96
97         * XmlConvert.cs : no need for TARGET_JVM.
98
99 2008-06-09  Atsushi Enomoto  <atsushi@ximian.com>
100
101         * XmlTextReader.cs : when Normalized is true, '<' after \r which
102           comes after text node was incorrectly consumed as a text content.
103           Fixed bug #398374.
104
105 2008-06-05  Atsushi Enomoto  <atsushi@ximian.com>
106
107         * XmlConvert.cs : now we can use roundtrip format for float/double.
108           Fixed bug #320424.
109
110 2008-06-04  Atsushi Enomoto  <atsushi@ximian.com>
111
112         * XmlTextReader2.cs : added FIXME comment which won't fix, that
113           I have noticed during fixing bug #378239.
114
115 2008-05-22  Atsushi Enomoto  <atsushi@ximian.com>
116
117         * XmlReader.cs : some Create() overloads with baseUri argument did
118           not set baseUri correctly. Fixed bug #392385.
119
120 2008-05-07  Atsushi Enomoto  <atsushi@ximian.com>
121
122         * XmlReader.cs : force CloseInput to every XmlReader that is created
123           from url (I mean, every internal XmlReader instance).
124
125 2008-04-17  Atsushi Enomoto  <atsushi@ximian.com>
126
127         * XmlAttributeCollection.cs : check attribute identity only if the
128           source node is in the document tree. Fixed bug #380720.
129
130 2008-02-19  Atsushi Enomoto  <atsushi@ximian.com>
131
132         * XmlParserContext.cs : .net does not populate XmlNamespaceManager
133           automatically.
134         * XmlDocument.cs : so, always create one here.
135
136 2008-01-25  Atsushi Enomoto  <atsushi@ximian.com>
137
138         * XmlReader.cs : MoveToNextSibling() should check EOF (as Skip() does
139           not). Fixed bug #347768.
140
141 2008-01-15  Atsushi Enomoto  <atsushi@ximian.com>
142
143         * XmlParserContext.cs : do not pass invalid URI to XmlTextReader#ctor
144           even as a dummy. Fixed bug #353654.
145
146 2007-12-17  Atsushi Enomoto  <atsushi@ximian.com>
147
148         * XmlConvert.cs : added NET_3_5 members.
149
150 2007-12-06  Atsushi Enomoto  <atsushi@ximian.com>
151
152         * XmlUrlResolver.cs : in net_2_0, use Uri.IsAbsoluteUri to filter
153           relative URIs out.
154
155 2007-11-09  Atsushi Enomoto  <atsushi@ximian.com>
156
157         * XmlConvert.cs : ToDateTime(XmlDateTimeSerializationMode) should
158           allow more strings than existing one. Fixed bug #339004.
159
160 2007-10-30  Atsushi Enomoto  <atsushi@ximian.com>
161
162         * XmlConvert.cs : ToDateTime(string,string) should use ParseExact(),
163           not Parse(). Use 'K' for roundtrip format.
164
165 2007-10-10  Atsushi Enomoto  <atsushi@ximian.com>
166
167         * XmlTextWriter2.cs : making <del>silly</del>funky MS compatibility
168           change in WriteStartAttribute() to call WriteEndAttribute() if an
169           attribute is open.
170
171 2007-10-10  Atsushi Enomoto  <atsushi@ximian.com>
172
173         * XmlTextWriter2.cs : I could make previous change only in 2.0 mode.
174
175 2007-10-10  Atsushi Enomoto  <atsushi@ximian.com>
176
177         * XmlTextWriter2.cs : When it is at Error state, do not try to close
178           attributes and elements at Close(). They will result in further
179           error and rather hide the actual issue when disposed.
180
181 2007-09-28  Atsushi Enomoto  <atsushi@ximian.com>
182
183         * XmlWriter.cs : it is now documented that WriteNode(XPathNavigator)
184           ignores attributes and namespace decls, so do that.
185         * XQueryConvert.cs : removed extra stuff that are not in use.
186
187 2007-09-27  Atsushi Enomoto  <atsushi@ximian.com>
188
189         * XmlWriter.cs : implemented WriteValue(object) based on
190           MSDN "Writing Typed Data" with some fix.
191           http://msdn2.microsoft.com/en-us/library/bft97s8e(VS.80).aspx
192         * XmlTextWriter.cs : state check is extraneous. It caused unexpected
193           rejection of empty namespace URI.
194
195 2007-08-13  Atsushi Enomoto  <atsushi@ximian.com>
196
197         * XmlTextWriter2.cs : fix extraneous indentation which is put after
198           omitted xmldecl.
199
200 2007-08-09  Jb Evain  <jbevain@novell.com>
201
202         * XmlTextReader.cs: Avoid using 2.0 only feature in 2.1.
203
204 2007-08-09  Jb Evain  <jbevain@novell.com>
205
206         * XmlConvert.cs: use 2.1 available overloads of Parse.
207
208 2007-08-09  Jb Evain  <jbevain@novell.com>
209
210         * XmlInputStream.cs: there's no ASCII encoding in 2.1.
211
212 2007-08-09  Atsushi Enomoto  <atsushi@ximian.com>
213
214         * XmlReader.cs XmlNodeReader2.cs XmlTextReader.cs XmlTextReader2.cs
215           XmlNodeReaderImpl.cs EntityResolvingXmlReader.cs :
216           The previous attempt was wrong. Those internal-virtualized ones
217           could be used in System.Xml.Core classes and outside the assembly
218           any derived XmlReaders would have thrown throw Exception.
219           Now I marked them as nonexistent-in-2.1 or privatized.
220         * XmlWriter.cs : actually only this class is affected (if there
221           were DOM or XSD they would have been affected as well).
222
223 2007-08-09  Atsushi Enomoto  <atsushi@ximian.com>
224
225         * XmlReader.cs : HasValue, ReadAttributeValue() and ResolveEntity()
226           do not exist in 2.1 profile. Hiding abstract stuff seems to cause
227           some issues at run time, so they are ifdef-ed out from 2.1.
228         * XmlNodeReader2.cs DTDValidatingReader2.cs XmlTextReader.cs
229           XmlTextReader2.cs XmlNodeReaderImpl.cs DTDValidatingReader.cs
230           EntityResolvingXmlReader.cs : hence the change above.
231
232 2007-08-04  Jb Evain  <jbevain@novell.com>
233
234         * XmlUrlResolver.cs: remove code duplication in 2.1.
235
236 2007-08-04  Jb Evain  <jbevain@novell.com>
237
238         * XmlTextReader.cs, XmlConvert.cs, XmlReaderBinarySupport.cs:
239         Use the available constructor for the 2.1 profile.
240
241 2007-08-03  Atsushi Enomoto  <atsushi@ximian.com>
242
243         * DTDObjectModel.cs : in 2.0 and especially 2.1 profiles, use
244           our own DictionaryBase-like generic type. It is to reduce
245           dependency on DictionaryBase which does not exist in 2.1 mscorlib.
246           (included in 2.0 as well so that we do not skip NUnit tests so far)
247
248 2007-08-03  Atsushi Enomoto  <atsushi@ximian.com>
249
250         * XmlResolver.cs, XmlUrlResolver.cs, XmlSecureResolver.cs :
251           remove ICredential in NET_2_1 (they have to be explicitly removed
252           outside tuner work as ICredentials does not exist in 2.1 profile).
253           We cannot use WebRequest in 2.1 as well, so remove dependency on
254           it in GetEntity() (and added MonoTODO for non-file URLs).
255
256 2007-07-12  Atsushi Enomoto  <atsushi@ximian.com>
257
258         * XmlWriter.cs : in WriteNode(XPathNavigator,bool), default namespace
259           is broken. Fixed bug #82051.
260
261 2007-07-11  Atsushi Enomoto  <atsushi@ximian.com>
262
263         * XmlReader.cs : looks like I introduced extra Settings check at
264           r69383. Fixed bug #82062.
265
266 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
267
268         * DTDValidatingReader2.cs :
269           we can remove NET_2_1 from this unused code in SL.
270
271 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
272
273         * DTDAutomata.cs DTDObjectModel.cs DTDReader.cs
274           DTDValidatingReader2.cs XmlException.cs XmlReader.cs
275           XmlReaderSettings.cs XmlWriter.cs :
276           Make System.Xml.Core.dll build easier, using NET_2_1.
277
278           DTD support is simply cut at this stage (as it largely depends on
279           sys.xml.schema stuff).
280
281 2007-06-30  Gert Driesen  <drieseng@users.sourceforge.net>
282
283         * XmlTextReader.cs: Expose ProhibitDtd on 1.0 profile too.
284
285 2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
286
287         * XmlNode.cs : InnerText is settable on XmlDocumentFragment (silly,
288           but since XmlDocumentFragment does not override this property
289           it must be handled here).
290
291 2007-06-11  Atsushi Enomoto  <atsushi@ximian.com>
292
293         * XmlTextReader.cs : ReadStartElement() has bogus error message.
294
295 2007-05-31  Atsushi Enomoto  <atsushi@ximian.com>
296
297         * XmlTextWriter2.cs :
298           NewLineOnAttributes indentation fix, for bug #81770.
299
300 2007-05-25  Atsushi Enomoto  <atsushi@ximian.com>
301
302         * XQueryConvert.cs : removed unused methods. They will prevent
303           System.Xml.Core.dll implementation.
304
305 2007-05-15  Konstantin Triger <kostat@mainsoft.com>
306
307         * XmlWriter.cs, XmlTextWriter2.cs: ensure the file
308                 is closed in XmlWriter.Create(filename).
309
310 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
311
312         * XmlConvert.cs : MinValue and MaxValue, same for ToDateTime().
313
314 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
315
316         * XmlConvert.cs : MinValue and MaxValue are unchanged by the
317           serialization mode (unlike DateTime.ToString()).
318
319 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
320
321         * XmlConvert.cs : in 2.0, use F instead of f in dateTime formatting.
322
323 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
324
325         * XmlReader.cs : fixed wrong depth comparison in ReadToNextSibling().
326           Fixed bug #81451, by Eric Mercier.
327
328 2007-04-03  Atsushi Enomoto  <atsushi@ximian.com>
329
330         * XmlTextReader.cs : character ']' inside DTD comment caused parser
331           error. Fixed bug #81294.
332
333 2007-03-05  Atsushi Enomoto  <atsushi@ximian.com>
334
335         * XmlReader.cs : when Create() returns customized XmlTextReader, set
336           EntityHandling.ExpandEntities. Fixed bug #81000.
337
338 2007-02-20  Atsushi Enomoto  <atsushi@ximian.com>
339
340         * XmlTextReader.cs, XmlTextReader2.cs : Reset() should work now.
341           Closing bug #80849.
342
343 2007-02-20  Atsushi Enomoto  <atsushi@ximian.com>
344
345         * DTDValidatingReader2.cs, XmlTextReader.cs, XmlNodeReaderImpl.cs:
346           Read() silently returns false when it is closed. Fixed bug #80848.
347
348 2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
349
350         * XmlReader.cs : ReadElementContentAsString() and all relevant methods
351           didn't consume empty element correctly.
352
353 2006-12-20  Atsushi Enomoto <atsushi@ximian.com>
354
355         * XmlNode.cs : (InsertBefore) when newChild == refChild, do nothing
356           except for node type check. Fixed bug #80331.
357
358 2006-12-19  Atsushi Enomoto <atsushi@ximian.com>
359
360         * XmlTextReader.cs : Fixed ReadChars() to consume child elements,
361           including such cases that it breaks tags in the middle of multiple
362           ReadChars() calls. Fixed bug #80308.
363
364 2006-12-19  Atsushi Enomoto <atsushi@ximian.com>
365
366         * XmlTextReader.cs : ReadChars() does not have to store characters,
367           so avoid extra storing. Patch by Csaba Halasz, fixed bug #80306.
368
369 2006-12-12  Atsushi Enomoto <atsushi@ximian.com>
370
371         * XmlNode.cs : InnerText was returning comment text when there was
372           only a Comment node. Fixed bug #80233.
373
374 2006-12-12  Atsushi Enomoto <atsushi@ximian.com>
375
376         * XmlReader.cs : Create() with string url was not returning validating
377           XmlReader.
378
379 2006-12-12  Atsushi Enomoto <atsushi@ximian.com>
380
381         * DTDValidatingReader2.cs : when an attribute declaration is missing
382           in the corresponding attlist declaration, it caused NRE.
383           Fixed bug #80231.
384
385 2006-12-11  Atsushi Enomoto <atsushi@ximian.com>
386
387         * XmlDocument.cs : call overriden CreateAttribute() when loading from
388           XmlReader.
389
390 2006-12-05  Atsushi Enomoto <atsushi@ximian.com>
391
392         * XmlReader.cs : new 2.0 MoveToAttribute(int) failed to move to the
393           final attribute in an element.
394
395 2006-12-05  Atsushi Enomoto <atsushi@ximian.com>
396
397         * XmlNode.cs : GetPrefixOfNamespace() was not correctly searching
398           ancestors' namespaces.
399
400 2006-11-20  Atsushi Enomoto <atsushi@ximian.com>
401
402         * XmlTextWriter2.cs : fixed some relationship between
403           ConformanceLevel, OmitXmlDeclaration and WriteStartDocument().
404           See new tests more details.
405         * XmlWriter.cs : it could reuse XmlTextWriter.ctor(TextWriter,
406           XmlWriterSettings). It also resulted in dropping several internal
407           members in XmlTextWriter.
408
409 2006-11-14  Atsushi Enomoto <atsushi@ximian.com>
410
411         * XmlReaderSettings.cs : in copy constructor, copy (dispatch)
412           validation event as well. Add OnValidationError() to be invoked
413           by other internal stuff to raise the validation event.
414
415 2006-11-13  Michael Meeks  <michael.meeks@novell.com>
416
417         * XmlReader.cs, XmlTextReader.cs, XmlTextReader2.cs:
418         pass the XmlResolver through to the GetStream impl.
419
420 2006-10-30  Atsushi Enomoto <atsushi@ximian.com>
421
422         * XmlTextReader2.cs : if DTD does not exist, do not try to resolve
423           entity from null DTD (caused NRE). Fixed bug #79620.
424
425 2006-10-27  Atsushi Enomoto <atsushi@ximian.com>
426
427         * DTDReader.cs : some parameter entity expansions were not done.
428           Fixed bug #79683.
429
430 2006-09-27  Atsushi Enomoto <atsushi@ximian.com>
431
432         * XmlTextWriter2.cs : null arg check.
433
434 2006-09-26  Atsushi Enomoto <atsushi@ximian.com>
435
436         * XmlDeclaration.cs :
437           Removed bogus return statement in Value. Fixed bug #79496.
438
439 2006-09-21  Atsushi Enomoto <atsushi@ximian.com>
440
441         * XmlNameEntryCache.cs : It should expand temporary buffer even at
442           initial state. Fixed bug #79468.
443
444 2006-09-19  Atsushi Enomoto <atsushi@ximian.com>
445
446         * XmlElement.cs : for non-atomized names, alter null prefix with "".
447           Fixed bug #79420.
448
449 2006-09-04  Atsushi Enomoto <atsushi@ximian.com>
450
451         * XmlReader.cs : ReadContentAsString() and its family should allow 
452           attribute node. Fixed bug #79268.
453
454 2006-09-01  Atsushi Enomoto <atsushi@ximian.com>
455
456         * XmlTextWriter2.cs : expect atomized names only when it is
457           appropriate. Fixed bug #79047.
458
459 2006-08-26  Atsushi Enomoto <atsushi@ximian.com>
460
461         * XmlDocument.cs : use XmlValidatingReader to load TextReader/Stream
462           so that it could fill default and fixed attributes. This ends up
463           to fix bug #79163 (it fills fixed "xmlns" attribute and thus
464           the node's namespace URI becomes that of glade-2.0).
465
466 2006-08-17  Atsushi Enomoto <atsushi@ximian.com>
467
468         * XmlEntity.cs, XmlEntityReference.cs, XmlNode.cs :
469           create entity content only when its children is being accessed.
470           It results differently when there is no actual reference in the
471           document - an invalid entity value (when it is used to create
472           child nodes) is ignored unless a code tries to access the Value
473           of an XmlEntity. Fixed bug #79091
474         * DTDReader.cs : the fix above uncovered another bug (ibm66n03.xml).
475           Check illegal reference name in literal entity value.
476
477 2006-08-17  Atsushi Enomoto <atsushi@ximian.com>
478
479         * XmlTextReader.cs, XmlTextReader2.cs, DTDReader.cs :
480           (ResolveExternalEntityReplacementText) need to skip text
481           declaration in external entities. To make it possible internalize
482           SkipTextDeclaration() in XmlTextReader(2). Fixed bug #79090.
483
484 2006-08-16  Atsushi Enomoto <atsushi@ximian.com>
485
486         * XmlTextReader2.cs : Check recursive entity reference.
487           Fixed bug #79085. It makes W3C standalone tests on NET_2_0 working.
488
489 2006-08-14  Atsushi Enomoto <atsushi@ximian.com>
490
491         * XmlTextReader.cs : When a whitespace node comes after a text 
492           declaration in XML external entity (i.e. .ctor() with
493           XmlNodeType.Element), it contained extra value character ('<').
494
495 2006-08-10  Atsushi Enomoto <atsushi@ximian.com>
496
497         * XmlTextWriter2.cs : more indentation fixes. Now I believe it is
498           almost MS compat, but it won't help poor Mike.
499
500 2006-08-07  Atsushi Enomoto <atsushi@ximian.com>
501
502         * XmlTextWriter2.cs : WriteBinHex() is allowed at Attribute state.
503           Fixed bug #79019.
504
505 2006-07-28  Atsushi Enomoto <atsushi@ximian.com>
506
507         * XmlTextWriter2.cs : fixed some indentation bugs: comments and PIs
508           should not cause indentation override like text, cdata and
509           whitespaces do.
510           Fixed some error messages on node kind.
511         * XmlTextWriter.cs, XmlTextWriterOpenElement.cs : removed old code.
512           (I don't want to remove old great code but it confused mike today.)
513
514 2006-07-26  Atsushi Enomoto <atsushi@ximian.com>
515
516         * XmlReader.cs :
517           For DTD validator, call to SetSchemas() makes no sense.
518         * XmlValidatingReader.cs : now it internally holds old
519           XmlSchemaCollection instead of new XmlSchemaSet, to make
520           XmlSchemaSet.SchemaCollection unneccessary.
521           Removed SetSchemas() since it is now extraneous because of the
522           XmlReaderChange above.
523
524 2006-07-25  Atsushi Enomoto <atsushi@ximian.com>
525
526         * XmlConvert.cs : TimeSpan conversion for TimeSpan.MinValue was
527           failing.
528
529 2006-07-19  Atsushi Enomoto <atsushi@ximian.com>
530
531         * XmlReader.cs : In Create(), support validation flags for DTD.
532         * DTDValidatingReader2.cs : when NET_2_0 and ProcessIdentityConstraints
533           is false, skip ID validation.
534
535 2006-06-26  Atsushi Enomoto <atsushi@ximian.com>
536
537         * XmlReader.cs : when Create() received string url, it should set 
538           XmlTextReader2.CloseInput always true. Fixed bug #78706.
539
540 2006-06-08  Atsushi Enomoto <atsushi@ximian.com>
541
542         * XmlTextWriter2.cs : if an attribute being written has the same
543           non-empty namespace URI as current default namespace, its prefix
544           should be written. Fixed bug #78598.
545
546 2006-05-09  Atsushi Enomoto <atsushi@ximian.com>
547
548         * XmlAttribute.cs : (WriteTo) when the namespace URI is empty,
549           always use empty string for prefix.
550
551 2006-04-27  Geoff Norton  <gnorton@customerdna.com>
552
553         * XmlDocument.cs: Move back to the element after
554         reading an attribute.  This mimics Microsofts behaviour.
555
556 2006-04-21  Atsushi Enomoto <atsushi@ximian.com>
557
558         * XmlTextWriter.cs : fix for bug #78148. set_Formatting() is not
559           rejected after writing some content. I totally disagree on that
560           it should be allowed, but here is the fix.
561
562 2006-04-14  Atsushi Enomoto <atsushi@ximian.com>
563
564         * XmlReader.cs : ReadElementContentAsObject() incorrectly rejected
565           the argument type System.Object.
566
567 2006-04-10  Atsushi Enomoto <atsushi@ximian.com>
568
569         * XmlWriter.cs : WriteNode(XPathNavigator) : directly write element
570           and root nodes instead of dispatching to ReadSubtree().
571
572 2006-04-06  Atsushi Enomoto <atsushi@ximian.com>
573
574         * XmlReader.cs : ReadElementContentAsXXX() did not consume empty
575           element correctly.
576
577 2006-04-05  Atsushi Enomoto <atsushi@ximian.com>
578
579         * XmlWriter.cs : Create(StringBuilder,XmlWriterSettings) was missing
580           settings argument to pass another .ctor().
581         * XmlWriterSettings.cs : set_NewLineChars() should reject null.
582
583 2006-04-03      Boris Kirzner <borisk@mainsoft.com>
584         * XmlException.cs: fix .net soap serialization compatibility.
585
586 2006-03-28  Atsushi Enomoto <atsushi@ximian.com>
587
588         * XmlNameEntry.cs XmlNameEntryCache.cs :
589           Added atomization support for prefixed names.
590           Inspired by Joshua Tauberer's patch.
591         * XmlElement.cs XmlAttribute.cs : use above.
592
593 2006-03-23  Atsushi Enomoto <atsushi@ximian.com>
594
595         * XmlReader.cs : in XmlReader.Create() ValidationType Auto and XDR
596           are simply ignored (it was found on running NvdlValidatingReader
597           under MS.NET 2.0).
598
599 2006-03-23  Atsushi Enomoto <atsushi@ximian.com>
600
601         * DTDValidatingReader.cs : avoid NullReferenceException. Input
602           XmlReader might not be IHasXmlParserContext.
603
604 2006-03-08  Atsushi Enomoto <atsushi@ximian.com>
605
606         * XmlReader.cs: ReadContentAsXXX() just stops at start element,
607           without rejecting it as an error.
608           ReadElementContentAsXXX() rejects child element nodes.
609
610 2006-02-28  Atsushi Enomoto <atsushi@ximian.com>
611
612         * XmlElement.cs : (WriteTo) use IsEmpty to determine which to use:
613           WriteEndElement() and WriteFullEndElement(). Fixed sys.security
614           regression.
615
616 2006-02-24  Atsushi Enomoto <atsushi@ximian.com>
617
618         * XmlTextWriter2.cs :
619           WriteRaw() has stupid second arg. Fixed bug #77623.
620           WriteString() should raise an error when it is called immediately
621           after WriteStartDocument().
622
623 2006-02-22  Atsushi Enomoto <atsushi@ximian.com>
624
625         * XmlTextWriter2.cs : WriteChars() should allow Attribute state.
626
627 2006-02-22  Atsushi Enomoto <atsushi@ximian.com>
628
629         * XmlChar.cs : (IndexOfInvalidChar) fixed surrogate pairs handling.
630           They were always regarded as invalid.
631         * XmlTextWriter2.cs : seems like MS XmlTextWriter outputs invalid
632           characters as character references. It totally does not make sense
633           but corcompare depended on that behavior.
634
635           This "compatibility" fix causes 10% or more performance loss!!!
636
637 2006-02-21  Atsushi Enomoto <atsushi@ximian.com>
638
639         * XmlTextWriter2.cs : (WriteStartAtribute) more == removal.
640         * XmlNode.cs : (get_InnerText) reduce extra StringBuilder creation.
641
642 2006-02-21  Atsushi Enomoto <atsushi@ximian.com>
643
644         * XmlTextWriter2.cs : (WriteStartAttribute) reduced string == string.
645
646 2006-02-21  Atsushi Enomoto <atsushi@ximian.com>
647
648         * XmlDocument.cs : (ReadNodeCore) not public.
649
650 2006-02-21  Atsushi Enomoto <atsushi@ximian.com>
651
652         * XmlTextWriter2.cs : (CloseStartElement)
653           Avoid ArrayList.Clear() and culture-sensitive Contains().
654
655 2006-02-21  Atsushi Enomoto <atsushi@ximian.com>
656
657         * XmlNamespaceManager.cs : added internal LookupPrefixExclusive()
658           which discards "overriden" namespaces.
659         * XmlTextWriter2.cs : fresh implementation.
660           - The source structure is simplified and cleaner.
661           - When outputting escaped string, output directly to TextWriter.
662           - roughly 20% performance improvement.
663
664           (Also fixed previous perf. evaluation excess in ChangeLog.)
665
666 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
667
668         * XmlElement.cs : (WriteTo) make use of HasAttributes. Remove extra
669           check. 5% speed improvement.
670
671 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
672
673         * DTDValidatingReader2.cs : added Source XmlReader property for
674           XsdValidatingReader use (see XsdValidatingReader change as well).
675
676 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
677
678         * EntityResolvingXmlReader.cs, XmlNodeReader2.cs, XmlTextReader2.cs :
679           in get_NodeType() entity reader existence check is faster.
680         * DTDValidatingReader2.cs : IsDefault could be avoided.
681
682 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
683
684         * XmlNodeReaderImpl.cs : optimized Depth.
685
686 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
687
688         * XmlValidatingReader.cs : reducing layered ReadState invocation
689           results in 10% speed up.
690
691 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
692
693         * XmlNodeReaderImpl.cs : Reimplemented Read(). Points are:
694           - reduced call to NextSibling which is very unlikely to be inlined
695           - reorganized conditioning to avoid extra check
696           - added description on each returning branch.
697           - And then, removed unused code.
698           It is 1.5x faster than before.
699
700 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
701
702         * XmlElement.cs : NextSibling could be effectively computed using
703           LastLinkedChild, beyond previous XmlLinkedNode optimization.
704
705 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
706
707         * XmlLinkedNode.cs : In NextSibling, use LastChild directly.
708           It improves NextSibling performance in bulky document.
709
710 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
711
712         * XmlNodeReaderImpl.cs : do not compute ownerLinkedNode, just store
713           it in Read(). Simply use state field in EOF. They result in 20%
714           perf. boost. Expanding EOF also improved performance by 2-3%
715           (mono --optimize=inline might work in the later stage).
716
717 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
718
719         * DTDValidatingReader2.cs : more refactoring. Split ReadContent()
720           into some methods. Reduced some extra MoveToElement().
721
722 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
723
724         * DTDValidatingReader2.cs : more refactoring. Removed and simplified
725           some error check. String += would be enough for entity-reference-
726           mixed attributes which rarely happen, so simplify the code.
727           Added comments on how the fields are used.
728
729 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
730
731         * DTDValidatingReader2.cs : attribute node simplification. It now
732           stores attribute node slots, including default attributes for
733           further refactoring.
734
735 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
736
737         * DTDValidatingReader2.cs, EntityResolvingXmlReader.cs :
738           new files for refactoring DTD validating reader. As the first stage,
739           it splits entity handling process from DTD validation step.
740
741           (DTDValidatingReader.cs will be removed at some stage).
742
743 2006-02-17  Atsushi Enomoto <atsushi@ximian.com>
744
745         * DTDObjectModel.cs : entity resolution method will be used in
746           the next DTD validating reader in 1.x.
747
748 2006-02-16  Atsushi Enomoto <atsushi@ximian.com>
749
750         * IHasXmlChildNode.cs :
751           New internal interface to hold LastLinkedChild.
752         * XmlNodeListChildren.cs XmlEntity.cs XmlElement.cs XmlAttribute.cs
753           XmlLinkedNode.cs XmlEntityReference.cs XmlNode.cs
754           XmlDocumentFragment.cs XmlDocument.cs : use it. It minimizes memory
755           consumption in XmlText, XmlWhitespace, XmlComment etc.
756
757 2006-02-16  Atsushi Enomoto <atsushi@ximian.com>
758
759         * XmlChar.cs : added IndexOfNonWhitespace() and IndexOfInvalid() (not
760           in use yet).
761         * NewLineHandling.cs : prepared to be used internally in 1.x.
762
763 2006-02-16  Atsushi Enomoto <atsushi@ximian.com>
764
765         * XmlDocument.cs XmlTextReader.cs : in ReadNode(), we can avoid
766           extraneous whitespace node creation for XmlTextReader by setting
767           WhitespaceHandling.Significant when PreserveWhitespace is false.
768
769 2006-02-16  Atsushi Enomoto <atsushi@ximian.com>
770
771         * XmlTextReader.cs : atomize whitespace values. It effectively saves
772           memory consumption when an input XML is indented.
773
774 2006-02-14  Atsushi Enomoto <atsushi@ximian.com>
775
776         * XmlTextReader.cs : When "Significant" is assigned to
777           WhitespaceHandling, it should ignore non-significant whitespaces.
778
779 2006-02-14  Atsushi Enomoto <atsushi@ximian.com>
780
781         * XmlWriter.cs : (WriteElementString and WriteAttributeString)
782           Skip empty string output.
783
784 2006-02-14  Atsushi Enomoto <atsushi@ximian.com>
785
786         * XmlTextWriter.cs : WriteRaw("") is not simply ignored but process
787           state check and closes open tag.
788
789 2006-02-11  Atsushi Enomoto <atsushi@ximian.com>
790
791         * XmlTextReader.cs :
792           Avoid extra AppendValueChar() in ReadWhitespace().
793
794 2006-02-06  Atsushi Enomoto <atsushi@ximian.com>
795
796         * XmlTextReader.cs : ReadTextReader() is now assured to have current
797           node content, except for Text, CDATA and Comment. ReadName() does
798           not use nameBuffer and reuse peekChars.
799
800 2006-02-06  Atsushi Enomoto <atsushi@ximian.com>
801
802         * XmlTextReader.cs : eliminated currentTagBuffer. XmlDeclaration is
803           now once read as PI and then re-parsed from Value. DTD internal
804           subset is now parsed as usual "value".
805
806 2006-02-06  Atsushi Enomoto <atsushi@ximian.com>
807
808         * XmlTextReader.cs : Expect() could be written inline and it could
809           provide better information. ReadEndTag() could use Expect() instead
810           of costy ReadName().
811
812 2006-02-04  Atsushi Enomoto <atsushi@ximian.com>
813
814         * XmlTextReader.cs : on ReadEndTag() we can avoid NameTable.Add().
815           Store name, local name and prefix in the stack instead of just name
816           and reuse them for EndElement.
817
818 2006-02-04  Atsushi Enomoto <atsushi@ximian.com>
819
820         * XmlDocumentNavigator.cs : make use of HasAttributes (avoid possible
821           XmlAttributeCollection creation).
822
823 2006-02-03  Atsushi Enomoto <atsushi@ximian.com>
824
825         * XmlTextReader.cs : no need to call Clear() for each attribute value.
826
827 2006-02-03  Atsushi Enomoto <atsushi@ximian.com>
828
829         * XmlDocument.cs : reverted most of the previous changes. It somehow
830           broke System.Data tests.
831
832 2006-01-30  Atsushi Enomoto <atsushi@ximian.com>
833
834         * XmlDocument.cs, XmlAttribute.cs, XmlElement.cs : Avoid unnecessary
835           name checks in CreateElement() and CreateAttribute().
836           get_DocumentType() could be stopped when the iterated child node
837           is the document element.
838         * XmlNode.cs : removed commented lines.
839         * XmlNameEntry.cs : hash code for a name entry is mostly identical by
840           its local name, so avoid extraneous GetHashCode() especially on
841           namespaces.
842
843 2006-01-30  Atsushi Enomoto <atsushi@ximian.com>
844
845         * XmlReader.cs : ReadOuterXml() returns meaingful value only for
846           element and attribute. ReadInnerXml() does not have to create
847           XmlTextWriter for empty elements.
848
849 2006-01-30  Atsushi Enomoto <atsushi@ximian.com>
850
851         * XmlNodeReader2.cs XmlException.cs XmlReader.cs XmlTextReader.cs
852           XmlWriter.cs XmlTextWriter.cs XmlValidatingReader.cs
853           XmlNodeReaderImpl.cs DTDValidatingReader.cs XmlSecureResolver.cs:
854           cleaning up obsolete NET_1_0 code.
855
856 2006-01-28  Atsushi Enomoto <atsushi@ximian.com>
857
858         * XmlTextWriter.cs : avoid case-insensitive String.Compare().
859           Use array for openElements rather than ArrayList.
860
861 2006-01-28  Atsushi Enomoto <atsushi@ximian.com>
862
863         * XmlElement.cs, XmlAttribute.cs :
864           Avoid ChildNodes.Count and use FirstChild/NextSibling.
865
866 2006-01-28  Atsushi Enomoto <atsushi@ximian.com>
867
868         * XmlNode.cs, XmlIteratorNodeList.cs :
869           Now we can enable XmlIteratorNodeList again (mcs, incorrectly
870           removing nodes in the node list, was fixed).
871
872 2006-01-28  Atsushi Enomoto <atsushi@ximian.com>
873
874         * XmlDocument.cs : in ReadNode() to consume element node, switched
875           to MoveToAttribute(int) since MoveToNextAttribute() was somehow
876           not working fine. It is needed to avoid Sys.Data test breakage
877           and anything else should be fixed indeed.
878
879 Fri Jan 27 20:39:48 CET 2006 Paolo Molaro <lupus@ximian.com>
880
881         * XmlTextReader.cs, XmlChar.cs: more tweaks and speedups.
882
883 2006-01-27  Atsushi Enomoto <atsushi@ximian.com>
884
885         * XmlTextReader.cs : optimization patch by Paolo.
886           Fast path optimization in PeekChar().
887           Avoid double-evaluation of PeekChar() and ReadChar() by new
888           Advance() method.
889
890 2006-01-27  Atsushi Enomoto <atsushi@ximian.com>
891
892         * XmlNode.cs : disabled XmlIteratorNodeList optimization. It caused
893           some kind of regression under mcs/tests/xml-025.cs.
894
895 2006-01-27  Atsushi Enomoto <atsushi@ximian.com>
896
897         * XmlAttributeCollection.cs :
898           Replaced all Nodes.Count with Count (it could avoid extraneous
899           ArrayList creation in XmlNamedNodeMap). ID attribute adjustment
900           was extraneously done against all attribute nodes and thus there
901           was a plenty of call to Value.
902         * XmlNamedNodeMap.cs : added comment on SetNamedItem() W3C spec
903           violation.
904
905 2006-01-27  Atsushi Enomoto <atsushi@ximian.com>
906
907         * XmlNode.cs,
908           XmlDocument.cs,
909           XmlAttribute.cs,
910           XmlElement.cs :
911           Added internal AppendChild() override that omites node type
912           checking, and used it in many places.
913
914 2006-01-27  Atsushi Enomoto <atsushi@ximian.com>
915
916         * XmlDocument.cs : optimized ReadAttributeNode() to not call
917           MoveToAttribute() unneccesarily (call it only when ReadNode() is
918           called on an attribute node).
919
920 2006-01-27  Atsushi Enomoto <atsushi@ximian.com>
921
922         * XmlNode.cs :
923           in get_InnerText(), avoid extraneous StringBuilder creation.
924
925 2006-01-27  Atsushi Enomoto <atsushi@ximian.com>
926
927         * XmlIteratorNodeList.cs : new file for XmlNodeList implementation.
928           It does not iterate all nodes in advance.
929         * XmlNode.cs : use XmlIteratorNodeList in SelectNodes().
930
931 2006-01-26  Atsushi Enomoto <atsushi@ximian.com>
932
933         * XmlWriter.cs : Dispose() is protected.
934
935 2006-01-25  Atsushi Enomoto <atsushi@ximian.com>
936
937         * XmlNamedNodeMap.cs : lazily create internal ArrayList. Thanks to
938           Joshua Tauberer for the hint.
939
940 2006-01-25  Atsushi Enomoto <atsushi@ximian.com>
941
942         * XmlConvert.cs : ToString(TimeSpan) should return valid duration
943           for TimeSpan.Zero, rather than "P". Fixed bug #77350
944
945 2006-01-24  Atsushi Enomoto <atsushi@ximian.com>
946
947         * XmlNameEntryCache.cs XmlNameEntry.cs :
948           Made name entry fields as not read-only. Added Update() to reset
949           members. Its semantics of Equals() is changed.
950           Now entry cache is based on Hashtable rather than ArrayList.
951           It saves heavy iteration in ArrayList.
952
953 2006-01-24  Atsushi Enomoto <atsushi@ximian.com>
954
955         * XmlNameEntryCache.cs XmlNameEntry.cs XmlDocument.cs :
956           Add Hash field to find name entry quickly.
957           In XmlNameEntryCache make use of name table (it is totally
958           unused there though).
959
960 2006-01-16  Atsushi Enomoto <atsushi@ximian.com>
961
962         * XmlConvert.cs : handle Ticks. Fixed bug #77252.
963
964 2006-01-13  Atsushi Enomoto <atsushi@ximian.com>
965
966         * XmlTextWriter.cs : Fixed bug #77082.
967           When the state was Start, after WriteProcessingInstruction() and
968           WriteWhitespace() change it to Prolog.
969           After WriteDocType() set state to WriteState.Element.
970
971 2006-01-12  Atsushi Enomoto <atsushi@ximian.com>
972
973         * XmlTextWriter.cs : Do not local duplicate of automatically-created
974           prefixes (i.e. check local autocreated prefixes other than
975           namespaces from ancestors). Fixed bug #77086 and #77087.
976
977 2006-01-12  Atsushi Enomoto <atsushi@ximian.com>
978
979         * XmlWriter.cs : use XmlChar.IsNmToken() to check argument and throw
980           ArgumentException in WriteNmTokenInternal().
981
982 2006-01-12  Atsushi Enomoto <atsushi@ximian.com>
983
984         * XmlTextWriter.cs : Fixed bug #77094. Only XmlTextWriter checks
985           such invalid "xml" prefix which is being mapped to different
986           namespace URI than the predefined one.
987           Removed comment that does not make sense.
988         * XmlNamespaceManager.cs : IsValidDeclaration() could be private.
989           Added some comments.
990
991 2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
992
993         * DTDObjectModel.cs : dtd2xsd fix; set use="optional" when an
994           attribute is #IMPLIED.
995
996 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
997
998         * XmlWriter.cs : In WriteNode(XPathNavigator, bool), Avoid
999           ReadSubtree() for non-element content since they are not allowed
1000           in ReadSubtree() (but allowed here).
1001
1002 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
1003
1004         * XmlValidatingReader.cs : In ReadTypedValue(), treat Whitespace
1005           nodes as target string nodes as well as other text nodes.
1006
1007 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
1008
1009         * XmlValidatingReader.cs : ReadTypedValue() was not working with
1010           non-XmlSchemaDatatype types.
1011
1012 2006-01-05  Gert Driesen <drieseng@users.sourceforge.net>
1013
1014         * XmlTextWriter.cs: Modified WriteWhitespace to throw ArgumentException
1015         if value is null or zero-length string. Modified WriteNmToken to throw
1016         ArgumentException if name is null or zero-length string. Cosmetic
1017         change to WriteStringInternal.
1018         * XmlElement.cs: In 2.0 profile, do not throw ArgumentNullException
1019         if new value for Prefix is null.
1020
1021 2005-12-26  Atsushi Enomoto <atsushi@ximian.com>
1022
1023         * XmlTextWriter.cs : when namespaceURI is String.Empty, Prefix
1024           should be just ignored (it is likely to happen that DOM nodes
1025           with empty namespace URI are specified non-empty prefix by
1026           users, which had better be just ignored). Fixed bug #77095.
1027
1028 2005-12-26  Atsushi Enomoto <atsushi@ximian.com>
1029
1030         * XmlElement.cs : patch for Prefix property by Vorobiev Maksim.
1031           - null should cause ArgumentNullException.
1032           - "" should not raise an error.
1033           - throws ArgumentException when it is readonly.
1034
1035 2005-12-23  Atsushi Enomoto <atsushi@ximian.com>
1036
1037         * XmlTextWriter.cs : When xml:space or xml:lang attribute was
1038           directly written without an element, it caused ArgumentOutOfRange.
1039           Fixed bug #77084.
1040
1041 2005-12-23  Atsushi Enomoto <atsushi@ximian.com>
1042
1043         * XmlTextWriter.cs : (WriteStartAttribute) set prefix as "xmlns" when
1044           namespaceURI is that of xmlns attributes. Fixed bug #77083.
1045
1046 2005-12-15  Atsushi Enomoto <atsushi@ximian.com>
1047
1048         * DTDObjectModel.cs : (CreateXsdParticle) element particle was
1049           missing occurence indicators.
1050
1051 2005-12-15  Atsushi Enomoto <atsushi@ximian.com>
1052
1053         * DTDObjectModel.cs : some fixes on GetXmlSchema()
1054           - make generated schema cleaner.
1055           - enumeration was missing for attribute type.
1056         * XmlTextReader.cs, XmlTextReader2.cs : added tiny notes for dtd2xsd.
1057
1058 2005-12-15  Konstantin Triger <kostat@mainsoft.com>
1059
1060         * XmlTextWriter.cs: allow null string in WriteCData.
1061
1062 2005-12-14  Atsushi Enomoto <atsushi@ximian.com>
1063
1064         * XmlNode.cs : (GetNamespaceOfPrefix) return const xml/xmlns URIs
1065           only under 2.0.
1066
1067 2005-12-14  Atsushi Enomoto <atsushi@ximian.com>
1068
1069         * XmlDocumentNavigator.cs : added UnderlyingObject as to behave as
1070           documented in MSDN.
1071
1072 2005-12-14  Atsushi Enomoto <atsushi@ximian.com>
1073
1074         * XmlNode.cs : under 2.0 xml/xmlns are treated as special cases in
1075           GetNamespaceOfPrefix()/GetPrefixOfNamespace() (but it still does not
1076           implement IXmlNamespaceResolver, bummer).
1077
1078 2005-12-14  Atsushi Enomoto <atsushi@ximian.com>
1079
1080         * XmlDocument.cs : changed some exception types.
1081         * XmlDocumentNavigator.cs : added 2.0 SchemaInfo.
1082
1083 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
1084
1085         * XmlTextReader.cs : 1.x build fix.
1086
1087 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
1088
1089         * XmlTextReader.cs : when XmlReader.Create() creates this instance,
1090           don't expect strict text declaration. Check SkipTextDeclaration()
1091           on Read().
1092
1093 2005-12-12  Atsushi Enomoto <atsushi@ximian.com>
1094
1095         * XmlReader.cs : fixed several misconception in MoveToNextSibling().
1096           It should check its ReadState to avoid infinite loop.
1097
1098 2005-12-12  Atsushi Enomoto <atsushi@ximian.com>
1099
1100         * XmlException.cs : added another .ctor() overload that takes both
1101           IXmlLineInfo and innerException.
1102         * XmlQualifiedName.cs : added Parse() overload that takes XmlReader
1103           (since XmlReader is not IXmlNamespaceResolver anymore).
1104         * XmlReader.cs : made several fixes on 2.0 ReadContentAs(),
1105           ReadElementContentAs() and all of its variants.
1106
1107 2005-12-09  Atsushi Enomoto <atsushi@ximian.com>
1108
1109         * XmlInputStream.cs :
1110           Added Encoding property on NonBlockingStreamReader
1111         * XmlTextReader.cs :
1112           set Encoding property when it proceeds to xml declaration.
1113
1114 2005-12-09  Atsushi Enomoto <atsushi@ximian.com>
1115
1116         * XmlReader.cs : ReadToDescendant() should work when its ReadState is
1117           Initial.
1118
1119 2005-12-09  Atsushi Enomoto <atsushi@ximian.com>
1120
1121         * XmlChar.cs : removed incorrect comment.
1122         * XmlReader.cs : Create() clones XmlReaderSettings (if supplied).
1123           For wrapped XmlReader, check ConformanceLevel to be consistent.
1124         * XmlTextReader.cs, XmlTextReader2.cs : added get_Conformance for
1125           internal use. Removed unused fields.
1126         * XmlInputStream.cs : updated NonBlockingStreamReader to the latest
1127           StreamReader (it is almost a copy).
1128
1129 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
1130
1131         * XmlTextReader.cs : avoid Char.IsSurrogate() and do it inside
1132           PeekChar(), which improves notable performance.
1133
1134 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
1135
1136         * XmlReaderSettings.cs : Schemas will be created only when it is
1137           required.
1138
1139 2005-12-08  Andrew Skiba  <andrews@mainsoft.com>
1140
1141         * IXmlNamespaceResolver.cs: delete TARGET_JVM,
1142         no need to mangle the name
1143
1144 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
1145
1146         * Driver.cs, Profiler.cs, XmlQualifiedNameTable.cs :
1147           removed old code.
1148
1149 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
1150
1151         * XmlReaderSettings.cs : thanks to idiotic MS design,
1152           AllowXmlAttributes is turned on by default.
1153
1154 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
1155
1156         * XmlReaderSettings.cs :
1157           set_Schemas() is fixed in 2.0 RTM (it just works).
1158         * XmlResolver.cs : throw ArgumentNullException instead of
1159           ArgumentException when both base and relative urls are null.
1160
1161 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
1162
1163         * XmlReaderSettings.cs : ProhibitDtd is set as default.
1164         * XmlWriterSettings.cs : no set_OutputMethod.
1165
1166 2005-11-30  Konstantin Triger  <kostat@mainsoft.com>
1167
1168         * IXmlNamespaceResolver.cs: TARGET_JVM namespace change.
1169
1170 2005-11-17  Vladimir Krasnov <vladimirk@mainsoft.com>
1171
1172         * XmlInputStream.cs: fixed Initialize method to be able 
1173         to read unicode file without BOM. TARGET_JVM only.
1174
1175 2005-11-14  Atsushi Enomoto <atsushi@ximian.com>
1176
1177         * XmlNodeReader.cs : removed historical one.
1178
1179 2005-11-10  Atsushi Enomoto <atsushi@ximian.com>
1180
1181         * XmlReader.cs, XmlNode.cs :
1182           [DebuggerDisplay] are not worthy of existing.
1183
1184 2005-11-09  Atsushi Enomoto <atsushi@ximian.com>
1185
1186         * XmlTokenizedType.cs, XmlNodeOrder.cs : so those enums happen to
1187           have [Serializable] in .NET 1.x, and removed in 2.0 (enums are
1188           anyways serializable, so those attributes do not make sense).
1189
1190 2005-11-09  Atsushi Enomoto <atsushi@ximian.com>
1191
1192         * XmlValidatingReader.cs : added CanReadBinaryContent.
1193         * XmlTextReader.cs, XmlTextReader2.cs : GetNamespacesInScope() are
1194           now both public and private (i.e. hush IsVirtual).
1195         * XmlWriterSettings.cs, XmlWriter.cs, XmlTextWriter.cs :
1196           NormalizeNewLines vanished.
1197
1198 2005-11-09  Atsushi Enomoto <atsushi@ximian.com>
1199
1200         * XmlReader.cs : MoveToAttribute(int) is virtual in NET_2_0.
1201
1202 2005-11-09  Atsushi Enomoto <atsushi@ximian.com>
1203
1204         * XmlConvert.cs : implemented VerifyTOKEN().
1205
1206 2005-11-09  Atsushi Enomoto <atsushi@ximian.com>
1207
1208         * XmlConvert.cs : VerifyNCName() and VerifyName() throws
1209           ArgumentNullException for "".
1210
1211 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
1212
1213         * XmlReader.cs : dependent XmlSchemaValidationFlags fix.
1214           Added ReadElementContentAsObject() and ReadContentAsObject().
1215         * XmlReader.cs, XmlTextReader.cs :
1216           LookupNamespace(string,bool) is now private.
1217         * XmlReader.cs, XmlNode,cs :
1218           [DebuggerDisplay].
1219
1220 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
1221
1222         * XmlElement.cs, XmlCDataSection.cs, XmlText.cs, XmlWhitespace.cs,
1223           XmlSignificantWhitespace.cs : added ParentNode overrides (actually
1224           they don't make sense since it just calls base.)
1225         * XmlNode.cs, XmlDocument.cs : changed .NET 2.0 CreateNavigator() impl
1226           to match signature and skip OwnerDocument check in XmlNode (since
1227           it is overriden). Maybe MS does not have ownerDocument as a field and
1228           costs too much on OwnerDocument property.
1229           Added missing bits in XmlDocument.
1230
1231 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
1232
1233         * XmlAttribute.cs : added new overrides in 2.0 RTM (this scarcely
1234           makes sense without real optimization though).
1235         * XmlDocument.cs, XmlElement.cs, XmlNode.cs : avoid ChildNodes and
1236           save extra XmlNodeList creation cost.
1237
1238 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
1239
1240         * XmlNamespaceManager.cs : NameTable is virtual in 2.0 RTM.
1241         * XmlReader.cs : IsEmptyElement is reverted to be abstract in 2.0 RTM.
1242           ReadTypedValue() is removed.
1243         * XmlValidatingReader.cs : ReadTypedValue() is not virtual now.
1244         * XmlWriter.cs : Settings is virtual.
1245
1246 2005-10-23  Atsushi Enomoto <atsushi@ximian.com>
1247
1248         * XmlDocumentNavigator.cs : now MoveToFirst() invokes internal
1249           MoveToFirstImpl().
1250
1251 2005-10-23  Atsushi Enomoto <atsushi@ximian.com>
1252
1253         * XmlTextWriter.cs : oops, so WriteState.Error is NET_2_0 only.
1254
1255 2005-10-23  Atsushi Enomoto <atsushi@ximian.com>
1256
1257         * XmlTextWriter.cs : (Error state check) actually I need to set Error.
1258
1259 2005-10-23  Atsushi Enomoto <atsushi@ximian.com>
1260
1261         * XmlTextWriter.cs : throw InvalidOperationException if any of
1262           WriteBlah() methods were invoked at error state.
1263
1264 2005-10-23  Atsushi Enomoto <atsushi@ximian.com>
1265
1266         * XmlTextReader.cs, DTDValidatingReader.cs : LookupNamespace("") for
1267           default namespace was returning "" instead of null. It didn't check
1268           empty namespace URI for non-empty prefixes.
1269
1270 2005-10-07  Joshua Tauberer <tauberer@for.net>
1271
1272         * XmlTextReader.cs: SkipTextDeclaration would not accept processing
1273         instructions that began with the string 'xml', e.g. rejecting
1274         'xml-stylesheet'.
1275
1276 2005-10-08  Gert Driesen <drieseng@users.sourceforge.net>
1277
1278         * XmlAttribute.cs: InnerText and InnerXml do not override getters in
1279         NET_2_0. Removed extra CLSCompliant attribute on SchemaInfo.
1280         * XmlReaderSettings.cs: Marked sealed.
1281
1282 2005-10-04  Atsushi Enomoto <atsushi@ximian.com>
1283
1284         * XmlConvert.cs : ToTimeSpan() resulted in an infinite loop when the
1285           digits for "second" were not exactly 3. Fixed bug #76328.
1286
1287 2005-10-04  Atsushi Enomoto <atsushi@ximian.com>
1288
1289         * XmlReader.cs : Name is virtual in NET_2_0.
1290
1291 2005-10-03  Atsushi Enomoto <atsushi@ximian.com>
1292
1293         * XmlWriter.cs, XmlWriterSettings.cs, XmlTextWriter.cs :
1294           added supprot for NormalizeNewLines.
1295           NewLineOnAttributes is considered only when Indent is true.
1296
1297 2005-10-01  Atsushi Enomoto <atsushi@ximian.com>
1298
1299         * XmlAttribute.cs, XmlDocument.cs : check id table updates when
1300           XmlAttribute.set_Value() was invoked. Fixed bug #76311.
1301
1302 2005-10-01  Atsushi Enomoto <atsushi@ximian.com>
1303
1304         * XmlReader.cs, XmlTextReader.cs, XmlTextReader2.cs :
1305          XmlReader.Create() with string url argument are not working because
1306          of incorrect choice of the .ctor().
1307
1308 2005-09-28  Atsushi Enomoto <atsushi@ximian.com>
1309
1310         * XmlNodeReaderImpl.cs : when the source node was not a document and
1311           it is an empty element, Read() was incorrectly moving to the parent
1312           of the source node. Patch by Csaba Halasz. Fixed bug #76260.
1313
1314 2005-09-27  Atsushi Enomoto <atsushi@ximian.com>
1315
1316         * XmlTextReader.cs : surrogate computation is incorrect. Fixed bug
1317           #76247. Patch by Brion Vibber.
1318
1319 2005-09-26  Atsushi Enomoto <atsushi@ximian.com>
1320
1321         * DTDValidatingReader.cs : Namespace manager was not handled correctly.
1322           Now it does the same as XmlTextReader does. Fixed bug #76234.
1323
1324 2005-09-26  Gert Driesen <drieseng@users.sourceforge.net>
1325
1326         * XmlNodeChangedEventArgs.cs: Only make ctor publicly available
1327         in NET_2_0. Fixed API compatiblity with .NET 1.1.
1328         * XmlOutputMethod.cs: Fixed values of enum fields to match MS.NET.
1329         Only available in .NET 2.0.
1330
1331 2005-09-25  Atsushi Enomoto <atsushi@ximian.com>
1332
1333         * XmlReader.cs, XmlReaderSettings.cs, XmlDocument.cs:
1334           XmlSchemaValidationFlags updates.
1335
1336 2005-09-21  Atsushi Enomoto <atsushi@ximian.com>
1337
1338         * XmlWriterSettings.cs : true NET_2_0 updates.
1339
1340 2005-09-21  Atsushi Enomoto <atsushi@ximian.com>
1341
1342         * XmlOutputMethod.cs : new file.
1343         * XmlWriter.cs, XmlValidatingReader.cs, XmlReaderSettings.cs,
1344           XmlUrlResolver.cs, XmlWriterSettings.cs :
1345           more NET_2_0 updates.
1346
1347 2005-09-21  Atsushi Enomoto <atsushi@ximian.com>
1348
1349         * XmlNodeReader2.cs, XmlReader.cs,
1350           XmlTextReader.cs, XmlTextReader2.cs,
1351           XmlNodeChangedEventArgs.cs, XmlElement.cs,
1352           XmlNode.cs, XmlDocument.cs :
1353           updated NET_2_0 API.
1354
1355 2005-09-14  Atsushi Enomoto <atsushi@ximian.com>
1356
1357         * XmlTextReader.cs : when there is a heading half of surrogate at the
1358           end of read buffer, it didn't treat it as a surrogate.
1359           Fixed bug #76102.
1360
1361 2005-09-14  Atsushi Enomoto <atsushi@ximian.com>
1362
1363         * XmlTextWriter.cs : for surrogate pair, output character reference
1364           as a single character instead of two reference pairs. Fixed bug #76095.
1365           Patch by Brion Vibber.
1366
1367 2005-08-31  Sebastien Pouliot  <sebastien@ximian.com>
1368
1369         * XmlDocument.cs: Added an InheritanceDemand for Unrestricted on 
1370         CreateDocumentType and ReadNode methods.
1371         * XmlException.cs: Added a Demand for SerializationFormatter on 
1372         GetObjectData method.
1373         * XmlResolver.cs: Added an InheritanceDemand for Unrestricted on 
1374         ResolveUri method.
1375         * XmlSecureResolver.cs: Fixed exception when creating evidences with 
1376         an empty URL in CreateEvidenceForUrl method. Only call ResolvePolicy 
1377         and PermitOnly if the security manager is enabled.
1378         * XmlTextReader.cs: Added an InheritanceDemand for Unrestricted on the
1379         class.
1380         * XmlTextReader2.cs: Added an InheritanceDemand for Unrestricted on 
1381         the class.
1382         * XmlValidatingReader.cs: Added an InheritanceDemand for Unrestricted 
1383         on the class.
1384
1385 2005-08-16  Atsushi Enomoto <atsushi@ximian.com>
1386
1387         * DTDReader.cs : no need to skip text declaration for such entity
1388           declaration that has literal entity. It should not expand entities
1389           inside ResolveExternalEntityReplacementText().
1390           Finally fixed bug #51495.
1391
1392 2005-08-16  Atsushi Enomoto <atsushi@ximian.com>
1393
1394         * XmlTextReader.cs, XmlTextReader2.cs : added internal .ctor() to
1395           receive both TextReader, XmlNodeType and BaseURI for entity
1396           resolution (though it would be removed later).
1397         * XmlParserInput.cs : Now to handle nested PE insertion and correct
1398           BaseURI, it internally holds a stack of "input source".
1399         * DTDObjectModel.cs,
1400           DTDReader.cs :
1401           Required fixes for XmlParserInput.
1402           Handle BaseURI as expected. Added ActualUri for resolved actual
1403           source URI (to resolve nested entities). Pass ActualUri to internal
1404           XmlTextReader.ctor() in ResolveExternalEntityReplacementText()
1405           (well, yes I remember, it is problematic.)
1406
1407           Incorrect Base URI handling bug (part of #51495) is fixed.
1408
1409 2005-08-16  Atsushi Enomoto <atsushi@ximian.com>
1410
1411         * DTDReader.cs, XmlParserInput.cs :
1412           let's fix #51495. First of all, refactoring.
1413
1414 2005-08-04  Atsushi Enomoto <atsushi@ximian.com>
1415
1416         * XmlAttribute.cs : When there was only one child in attribute
1417           and it was an entity reference, set_Value() tried to set text value
1418           and thus failed.
1419
1420 2005-08-03  Gert Driesen  <drieseng@users.sourceforge.net>
1421
1422         * XmlConvert.cs: Renamed RoundTripKind to RoundtripKind.
1423         * XmlDateTimeSerializationMode.cs: Renamed RoundTripKind to
1424         RoundtripKind to match .NET 2.0 Beta 2.
1425         * XmlNodeReader2.cs: GetNamespacesInScope returns generic IDictionary
1426         in .NET 2.0 Beta 2, and is explicit interface implementation.
1427         * XmlTextReader.cs: GetNamespacesInScope returns generic IDictionary
1428         in .NET 2.0 Beta 2.
1429         * XmlTextReader2.cs: GetNamespacesInScope returns generic IDictionary
1430         in .NET 2.0 Beta 2.
1431         * XmlValidatingReader.cs: GetNamespacesInScope returns generic 
1432         IDictionary in .NET 2.0 Beta 2.
1433         * IXmlNamespaceResolver.cs: GetNamespacesInScope returns generic
1434         IDictionary in .NET 2.0 Beta 2.
1435         * XmlNamespaceManager.cs: GetNamespacesInScope returns generic 
1436         IDictionary in .NET 2.0 Beta 2.
1437         * XmlNodeReaderImpl.cs: GetNamespacesInScope returns generic 
1438         IDictionary in .NET 2.0 Beta 2.
1439         * DTDValidatingReader.cs: GetNamespacesInScope returns generic
1440         IDictionary in .NET 2.0 Beta 2.
1441
1442 2005-07-14  Atsushi Enomoto <atsushi@ximian.com>
1443
1444         * XmlTextWriter.cs : In WriteQualifiedName(), when there is open
1445           attribute, it calls LookupPrefix() and then if namespace was empty,
1446           it resulted in an exception. Fixed bug #75546.
1447
1448 2005-06-29  Atsushi Enomoto <atsushi@ximian.com>
1449
1450         * XmlConvert.cs : ToTimeSpan() should accept milliseconds (according
1451           to ISO 8601 and XSD datatypes 3.2.6.1).
1452
1453 2005-06-27  Andrew Skiba  <andrews@mainsoft.com>
1454
1455         * DTDReader.cs : don't validate entity values, when the entry is
1456         redefined so it will be never used. Fixes valid-sa-086 test from W3C
1457         xmlconf suite.
1458
1459 2005-06-27  Atsushi Enomoto <atsushi@ximian.com>
1460
1461         * XmlQueryDialect.cs : removed.
1462
1463 2005-06-27  Atsushi Enomoto <atsushi@ximian.com>
1464
1465         * XmlWriter.cs : added Create(XmlWriter).
1466         * XmlValidatingReader.cs : added Read*AsBase64/BinHex().
1467         * XmlReaderSettings.cs : added obsolete annoyances to hush corcompare.
1468
1469 2005-06-22  Atsushi Enomoto <atsushi@ximian.com>
1470
1471         * XmlTextReader.cs : use StringBuilder.ToString(int,int) when it does
1472           not have a large chunk of data, following Ben's idea.
1473
1474 2005-06-22  Atsushi Enomoto <atsushi@ximian.com>
1475
1476         * XmlTextReader.cs : use StringBuilder to store character values; that
1477           saves 40% memory for large chunk of xml. Patch by Gonzalo.
1478
1479 2005-06-22  Andrew Skiba  <andrews@mainsoft.com>
1480
1481         * XmlNode.cs : cosmetic fix - remove unnecessary argument from
1482           AppendChildValues function.
1483           
1484 2005-06-22  Atsushi Enomoto <atsushi@ximian.com>
1485
1486         * XmlTextReader.cs : normalization is not required to check character
1487           validity everywhere except for character reference.
1488
1489 2005-06-17  Atsushi Enomoto <atsushi@ximian.com>
1490
1491         * DTDValidatingReader.cs : removed some extra IsDefault check (with
1492           the latse code default attributes are stored in hashtables anyways.)
1493           Fixup attribute namespaces _after_ xmlns attributse are filled.
1494           The latest change is not good that namespaceURI of a local attribute
1495           was incorrectly globally looked up (it should be always "").
1496
1497 2005-06-17  Atsushi Enomoto <atsushi@ximian.com>
1498
1499         * XmlValidatingReader.cs : LookupNamespace() was trying to access to 
1500           null reference to validatingReader.
1501         * DTDValidatingReader.cs : Fixed default xmlns* attribute handling.
1502           It used to be valid only at the declaring element.
1503
1504 2005-06-14  Atsushi Enomoto <atsushi@ximian.com>
1505
1506         * DTDValidatingReader.cs : further text node fixes.
1507           - Cut out validation code from Text node case.
1508           - Now it does not use error-prone case transition but uses 
1509             DocumentFragment 'vacant room' and fixed incorrect transition from
1510             whitespace to text.
1511           - CDATA should be validated the same as Text is.
1512
1513 2005-06-14  Atsushi Enomoto <atsushi@ximian.com>
1514
1515         * DTDValidatingReader.cs : whitespace nodes were incorrectly rejected
1516           inside non-mixed content model.
1517
1518 2005-06-09  Andrew Skiba  <andrews@mainsoft.com>
1519
1520         * XmlConvert.cs : add TARGET_JVM for roundtrip bug
1521
1522 2005-06-06  Atsushi Enomoto <atsushi@ximian.com>
1523
1524         * XmlEntityReference.cs, XmlNode.cs : protected api fix.
1525
1526 2005-06-02  Atsushi Enomoto <atsushi@ximian.com>
1527
1528         * XmlEntityReference.cs, XmlNode.cs : For entity references, BaseURI 
1529           resolution should be different from that of parent since they might
1530           differ. Patch by Andrew Skiba.
1531
1532 2005-05-31  Atsushi Enomoto <atsushi@ximian.com>
1533
1534         * DTDReader.cs :
1535           make sure to close parser input before parser stack pop.
1536         * DTDValidatingReader.cs : ditto.
1537         * DTDObjectModel.cs : Fixed another incorrect null BaseURI check.
1538
1539 2005-05-31  Atsushi Enomoto <atsushi@ximian.com>
1540
1541         * DTDValidatingReader.cs : Last BaseURI exposed this hidden bug via
1542           sys.security tests.
1543
1544 2005-05-30  Atsushi Enomoto <atsushi@ximian.com>
1545
1546         * DTDObjectModel.cs : in DTDEntityBase.Resolve() don't overwrite
1547           BaseURI which results in incorrect URI resolution.
1548
1549 2005-05-21  Atsushi Enomoto <atsushi@ximian.com>
1550
1551         * DTDObjectModel.cs : For simple type restriction creation it failed
1552           when there is no enumerations (largely failed).
1553
1554 2005-05-21  Atsushi Enomoto <atsushi@ximian.com>
1555
1556         * XmlImplementation.cs : added new NET_2_0 ctor.
1557           Let's check corcompare:-/
1558
1559 2005-05-11  Atsushi Enomoto <atsushi@ximian.com>
1560
1561         * DTDValidatingReader.cs : namespace storing was stupid.
1562
1563 2005-05-10  Atsushi Enomoto <atsushi@ximian.com>
1564
1565         * DTDValidatingReader.cs : since namespace declarations might be
1566           resolved differently due to entity handling, it holds its own set
1567           of declared namespaces. NamespaceURI and LookupNamespace() use it.
1568
1569 2005-05-09  Atsushi Enomoto <atsushi@ximian.com>
1570
1571         * XmlReader.cs : added ReadElementContentAsLong().
1572         * XmlWriter.cs : removed some obsolete WriteValue() overloads.
1573         * XmlResolver.cs,
1574           IXmlNamespaceResolver.cs : removed deprecated 2.0 bits.
1575         * XQueryConvert.cs : obsolete (yeah, now XQuery should be hidden).
1576
1577 2005-05-06  Atsushi Enomoto <atsushi@ximian.com>
1578
1579         * XmlInputStream.cs : Now XmlStreamReader uses non-blocking TextReader
1580           that is mostly copied from StreamReader. It should fix bug #74161.
1581
1582 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
1583
1584         * XmlNodeReader2.cs, XmlTextReader2.cs, XmlValidatingReader.cs,
1585           XmlNamespaceManager.cs, IXmlNamespaceResolver.cs,
1586           DTDValidatingReader.cs : Removed most of "atomizedName" related
1587           stuff that are obsoleted in 2.0 beta2.
1588         * XQueryConvert.cs : XPathAtomicValue -> XmlAtomicValue.
1589
1590 2005-05-04  Andrew Skiba <andrews@mainsoft.com>
1591
1592         * IXmlNamespaceResolver.cs : mangle the interface method names when
1593         compiling for TARGET_JVM
1594         
1595 2005-03-30  Atsushi Enomoto <atsushi@ximian.com>
1596
1597         * XmlUrlResolver.cs : just return connected Stream instead of fully
1598           downloaded memory cache. Fix by Konstantin Triger.
1599
1600 2005-03-24  Atsushi Enomoto <atsushi@ximian.com>
1601
1602         * XmlWriter.cs : WriteQualifiedName() should check namespace validity
1603           (whether it is in scope or not).
1604         * XmlTextWriter.cs : When WriteQualifiedName() is invoked inside
1605           attribute and no matching namespace declaration, create prefix
1606           on demand. Code reused from WriteStartAttribute().
1607
1608 2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
1609
1610         * XmlValidatingReader.cs : create schema set on demand.
1611
1612 2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
1613
1614         * XmlParserInput.cs,
1615           XmlNode.cs,
1616           XmlUrlResolver.cs,
1617           DTDValidatingReader.cs : removed/commented out those warned code.
1618
1619 2005-03-15  Atsushi Enomoto <atsushi@ximian.com>
1620
1621         * XmlDocumentNavigator.cs : overriden IsDescendant (default 
1622           implementation extraneously clones).
1623
1624 2005-03-15  Atsushi Enomoto <atsushi@ximian.com>
1625
1626         * DTDValidatingReader.cs : When expanding entities and there is a
1627           sequence of text nodes, its value was not returned.
1628         * XmlTextReader.cs : better invalid char error report for EOF.
1629
1630 2005-03-09  Andrew Skiba <andrews@mainsoft.com>
1631
1632         * XmlTextReader.cs, XmlParserInput.cs, DTDReader.cs: fix UCM-4
1633           surrogate calculations. This fixes bug 73513.
1634
1635 2005-03-09  Atsushi Enomoto <atsushi@ximian.com>
1636
1637         * XmlParserInput.cs : silly mixed line endings :(
1638
1639 2005-03-08  Atsushi Enomoto <atsushi@ximian.com>
1640
1641         * XmlTextWriter.cs : namespace declaration check for those which starts
1642           with 'x' 'm' 'l' should not be done here (it might be 'declared'
1643           though reserved).
1644         * XmlNamespaceManager.cs : error message for "'xml' prefix for
1645           different namespace" is incorrect.
1646
1647 2005-03-07  Atsushi Enomoto <atsushi@ximian.com>
1648
1649         * XmlDocument.cs : ugh, so I introduced extraneous reader.Read() in
1650           ReadNode() for EntityReference and it resulted in unexpected skip.
1651         * DTDValidatingReader.cs : On EndEntity, LocalName and Name should
1652           return the name of entity. Removed unused entityReaderNameStack.
1653
1654 2005-03-07  Atsushi Enomoto <atsushi@ximian.com>
1655
1656         * DTDValidatingReader.cs : reverted one change in r40985. Entity stack
1657           is nothing to do with ReadAttributeValue().
1658
1659 2005-03-07  Atsushi Enomoto <atsushi@ximian.com>
1660
1661         * DTDValidatingReader.cs : When there was actual attribute in source 
1662           XmlReader, MoveToAttribute(i) did not move source reader as expected.
1663
1664 2005-03-03  Atsushi Enomoto <atsushi@ximian.com>
1665
1666         * XmlDocument.cs : In ReadNode(), on EntityReference node, when 
1667           XmlReader can resolve entity, it expands entity and apppend 
1668           children into the entity reference. Patch by Konstantin Triger.
1669
1670 2005-03-03  Atsushi Enomoto <atsushi@ximian.com>
1671
1672         * XmlTextWriter.cs : For duplicating namespace mapping, it should
1673           create another prefix without throwing an exception.
1674
1675 2005-03-02  Atsushi Enomoto <atsushi@ximian.com>
1676
1677         * XmlTextWriter.cs : LookupPrefix() should not return those prefix
1678           that is overriden by another xmlns declaration.
1679
1680 2005-02-26  Atsushi Enomoto <atsushi@ximian.com>
1681
1682         * XmlEntity.cs : it was not returning SYSTEM ID when there is no
1683           PUBLIC ID.
1684         * XmlDocumentNavigator.cs : On Whitespace followed by DocumentType,
1685           get_NodeType() resulted in loop.
1686
1687 2005-02-25  Atsushi Enomoto <atsushi@ximian.com>
1688
1689         * XmlComment.cs, XmlNode.cs, XmlText.cs, XmlProcessingInstruction.cs,
1690           XmlEntityReference.cs, XmlSignificantWhitespace.cs, XmlAttribute.cs,
1691           XmlElement.cs, XmlEntity.cs, XmlCDataSection.cs :
1692           For those nodes that are created by Clone(), IsReadOnly is false.
1693           Patch by Konstantin Triger.
1694
1695 2005-02-25  Atsushi Enomoto <atsushi@ximian.com>
1696
1697         * XmlDocumentNavigator.cs : iteratedNames array could be fixed and
1698           performance got improved. Patch by Konstantin Triger.
1699
1700 2005-02-25  Atsushi Enomoto <atsushi@ximian.com>
1701
1702         * XmlAttribute.cs : MS does not reject non-NCName prefix. Patch by
1703           Konstantin Triger.
1704
1705 2005-02-24  Atsushi Enomoto <atsushi@ximian.com>
1706
1707         * XmlTextWriter.cs : WriteString() should be valid when 
1708           WriteStartDocument() was not called.
1709
1710 2005-02-23  Atsushi Enomoto <atsushi@ximian.com>
1711
1712         * XmlNamespaceManager.cs : IsValidDeclaration was giving useless error
1713           information.
1714
1715 2005-02-23  Atsushi Enomoto <atsushi@ximian.com>
1716
1717         * XmlDocumentNavigator.cs : it should virtually expand EntityReference,
1718           so refactored to handle both entity references and top level children.
1719
1720 2005-02-22  Atsushi Enomoto <atsushi@ximian.com>
1721
1722         * XmlTextReader.cs : XmlParserContext was not properly popped on
1723           the expected timing and thus had lost BaseURI, XmlSpace and XmlLang.
1724         * XmlInputStream.cs : XmlTextReader does not allow invalid utf-8 
1725           characters.
1726
1727 2005-02-21  Atsushi Enomoto <atsushi@ximian.com>
1728
1729         * DTDValidatingReader.cs : It should not skip whitespace and
1730           significant whitespace nodes unless it is expanding entities.
1731         * XmlDocumentNavigator.cs : Fixed NodeType that was returning
1732           incorrect type when there is a sequence of text/cdata/space nodes.
1733
1734 2005-02-18  Atsushi Enomoto <atsushi@ximian.com>
1735
1736         * XmlNamespaceManager.cs : Prefix "xml" is bound to the fixed
1737           namespace "http://www.w3.org/XML/1998/namespace", but it is not
1738           vice versa (i.e. we can use other prefixes for this namespace URI).
1739
1740 2005-02-17  Atsushi Enomoto <atsushi@ximian.com>
1741
1742         * XmlNode.cs : It does not have to iterate children to find argument
1743           node. Fixed exception type to ArgumentException. Patch by Andrew
1744           Skiba.
1745
1746 2005-02-16  Atsushi Enomoto <atsushi@ximian.com>
1747
1748         * XmlAttribute.cs : just use InnerText for Value. Patch by Andrew
1749           Skiba.
1750         * XmlConvert.cs : Handle null and empty strings for EncodeName(),
1751           EncodeLocalName() and EncodeNmToken(). Patch by Andrew Skiba.
1752         * NameTable.cs : usually tail of namespaces are rather different than
1753           head of them. Patch by Andrew Skiba.
1754         * XmlUrlResolver.cs : missing %20 handling. Patch by Andrew Skiba.
1755
1756 2005-02-15  Atsushi Enomoto <atsushi@ximian.com>
1757
1758         * XmlAttribute.cs : For default attributes, WriteTo() writes nothing
1759           under MS.NET.
1760         * DTDValidatingReader.cs : reduced indentation using Linus trick
1761           (it was too deep in nest).
1762
1763 2005-02-14  Atsushi Enomoto <atsushi@ximian.com>
1764
1765         * DTDValidatingReader.cs : Namespaces and prefixes are not properly
1766           handled (it incorrectly assumed DTD definitions and thus always 
1767           assumed empty namespace/prefixes).
1768
1769 2005-02-14  Atsushi Enomoto <atsushi@ximian.com>
1770
1771         * DTDValidatingReader.cs : element name stack might be empty when the
1772           input XmlReader contains fragments. Patch by Andrew Skiba.
1773
1774 2005-01-25  Martin Baulig  <martin@ximian.com>
1775
1776         * XmlNode.cs (XmlNode.SchemaInfo): Mark this as not CLS-compliant
1777         to avoid a CS3025.
1778
1779         * XmlReaderSettings.cs (XmlReaderSettings.XmlResolver): Mark this
1780         as not CLS-compliant to avoid a CS3025.
1781
1782 2005-01-18  Atsushi Enomoto <atsushi@ximian.com>
1783
1784         * XmlNode.cs,
1785           XmlAttribute.cs,
1786           XmlAttributeCollection.cs :
1787           Now reuse parentNode field for XmlAttribute.OwnerElement and
1788           reduce class allocation size.
1789         * XmlNameEntry.cs :
1790           New class that represents a name triplet.
1791           XmlNameEntryCache.cs :
1792           New type to cache name entries.
1793         * XmlAttribute.cs,
1794           XmlElement.cs :
1795           Replace name strings with name entry and save class allocation size.
1796           XmlDocument.cs :
1797           Add name entry cache field to document and reuse name entries that 
1798           are already allocated.
1799
1800 2005-01-17  Atsushi Enomoto <atsushi@ximian.com>
1801
1802         * XmlNode.cs, XmlAttribute.cs : reverted the previous patch. It broke
1803           several nunit tests.
1804
1805 2005-01-15  Ben Maurer  <bmaurer@ximian.com>
1806
1807         * XmlNode.cs (InnerText, AppendChildValues): Don't allocate a
1808         string in the case where nothing needs to be appended.
1809
1810         * XmlAttribute.cs (BuildChildValue): Start out the string with
1811         `null' not `String.Empty'. String.Concat (null, blah) == blah,
1812         pointerwise. ie, there is no allocation. This makes it so that
1813         getting the value of an attribute is faster for the fast case.
1814
1815 2005-01-13  Atsushi Enomoto <atsushi@ximian.com>
1816
1817         * XmlResolver.cs : throw ArgumentException in ResolveUri().
1818
1819 2005-01-11  Atsushi Enomoto <atsushi@ximian.com>
1820
1821         * XmlTextWriter.cs : WriteComment() was outputting extraneous EOL.
1822
1823 2004-12-26  Atsushi Enomoto <atsushi@ximian.com>
1824
1825         * XmlReader.cs : ReadElementContentAsBinHex() was calling ..AsBase64().
1826         * XmlValidatingReader.cs : In set_EntityHandling(), set that property
1827           of DTDValidatingReader.
1828         * XmlNodeReader2.cs,
1829           XmlNodeReaderImpl.cs : added simplified implementation that splits
1830           entity handling and anything else.
1831         * XQueryConvert.cs : implemented ShouldCheckValueFacets().
1832           Use Convert class instead of simple casts (check range).
1833         * XmlReaderSettings.cs : added SetSchemas() for XPathNavigator.
1834
1835 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
1836
1837         * XmlParserContext.cs : all the string properties must not be set as
1838           null. Thanks to Joshua.
1839         * XmlTextReader.cs,
1840           DTDObjectModel.cs,
1841           DTDReader.cs : XmlResolver.ResolveUri() may return null.
1842
1843 2004-12-17  Atsushi Enomoto <atsushi@ximian.com>
1844
1845         * XmlReaderBinarySupport.cs : added support class for base64/binhex
1846           reading that mostly automates those reader support.
1847         * XmlReader.cs : added CanReadBinaryContent, CanReadValueChunk,
1848           ReadContentAsBase64(), ReadElementContentAsBase64(),
1849           ReadContentAsBinHex(), ReadElementContentAsBinHex() and
1850           ReadValueChunk().
1851         * XmlTextReader.cs : Now ReadBase64() and ReadBinHex() implementations
1852           are moved to XmlReaderBinarySupport. Added CanReadBinaryContent and
1853           CanReadValueChunk overrides. Call Binary.Reset() to enable them.
1854         * XmlTextReader2.cs : added CanReadBinaryContent, CanReadValueChunk.
1855           Added ReadContentAsBase64(), ReadElementContentAsBase64(),
1856           ReadContentAsBinHex(), ReadElementContentAsBinHex() (just because
1857           they are overriden in MS.NET).
1858         * XmlNodeReader.cs : added CanReadBinaryContent and CanReadValueChunk.
1859           Call Binary.Reset() to enable them.
1860
1861 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
1862
1863         * XmlConvert.cs :
1864           Added DateTime related methods with serialization mode.
1865
1866 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
1867
1868         * XmlReader.cs : added MoveToFollowing().
1869         * XmlNode.cs,
1870           XmlElement.cs,
1871           XmlAttribute.cs : added SchemaInfo support.
1872         * XmlDocument.cs : added Schemas and Validate().
1873           ReadNode() now copies xmlReader's SchemaInfo.
1874         * XmlNodeReader.cs : ditto (just reflects node's SchemaInfo).
1875
1876 2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
1877
1878         * XmlReader.cs :
1879           Create() should assure NameTable!=null on creating XmlTextReader.
1880           Now use XmlSchemaValidatingReader for all xsd validation.
1881         * XmlTextReader2.cs :
1882           Don't use input reader's Settings. It is null.
1883         * XmlReaderSettings.cs : added XmlResolver.
1884
1885 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
1886
1887         * XmlReaderSettings.cs : XsdValidate and DtdValidate are now
1888           ValidationType.
1889         * XmlReader.cs : In Create(), use XmlSchemaValidatingReader for xsd
1890           validation.
1891
1892 2004-12-12  Zoltan Varga  <vargaz@freemail.hu>
1893
1894         * XmlTextReader.cs: Work around a compiler bug in csc 2.0 beta 1.
1895
1896 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
1897
1898         * DTDObjectModel.cs : implemented lightweight XmlSchema generator.
1899
1900 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
1901
1902         * XmlValidatingReader.cs : making smarter relationship between
1903           XsdValidatingReader.
1904
1905 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
1906
1907         * XmlException.cs : added SecurityPermissionAttributes.
1908         * XmlReaderSettings.cs,
1909           XmlReader.cs : added ValidationFlags and removed obsolete ones.
1910
1911 2004-12-06  Atsushi Enomoto <atsushi@ximian.com>
1912
1913         * XmlWriter.cs : WriteQualifiedNameInternal() should consider the case
1914           ns is null, and don't lookup prefix for empty namespace.
1915
1916 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1917
1918         * XmlTextReader.cs: don't use \0 as buffer terminator.
1919         * XmlInputStream.cs: s/Array.Copy/Buffer.BlockCopy/.
1920
1921 2004-11-30  Atsushi Enomoto <atsushi@ximian.com>
1922
1923         * DTDReader.cs : Consideration on parameter entity was missing for 
1924           attribute default value. Fixed bug #70008.
1925
1926 2004-11-26  Atsushi Enomoto <atsushi@ximian.com>
1927
1928         * XmlReader.cs : not fixage, just explicitly formatted code a bit.
1929         * XmlTextReader.cs,
1930           XmlEntity.cs,
1931           XmlAttributeCollection.cs,
1932           XmlTextWriter.cs,
1933           XmlElement.cs,
1934           XmlNode.cs,
1935           DTDObjectModel.cs,
1936           XmlParserInput.cs,
1937           DTDReader.cs,
1938           XmlDocument.cs : warning removal.
1939
1940 2004-11-25  Atsushi Enomoto <atsushi@ximian.com>
1941
1942         * XmlQualifiedNameTable.cs : oops, it was not implemented.
1943
1944 2004-11-24  Atsushi Enomoto <atsushi@ximian.com>
1945
1946         * XmlQualifiedName.cs : in 2.0 it is [Serializable].
1947         * XmlTextReader.cs : removed unused local variable.
1948         * XmlTextWriter.cs : Improved some exception messages.
1949           moved some private fields into #if NET_2_0.
1950         * XmlValidatingReader.cs : rename specifiedResolver to
1951           resolverSpecified and use it in internal get_Resolver().
1952           Added [Obsolete] for ReadTypedValue() whose base is obsoleted.
1953
1954 2004-11-22  Atsushi Enomoto <atsushi@ximian.com>
1955
1956         * XmlTextReader.cs : Now attribute normalization is handled on Read(),
1957           not on get_Value. This caused a problem when we use
1958           XmlValidatingReader that value is not always normalized expectedly.
1959
1960 2004-11-22  Atsushi Enomoto <atsushi@ximian.com>
1961
1962         * XmlReader.cs : removed old ReadValueAsXXX() and added new
1963           ReadContentAsXXX() and ReadElementContentAsXXX().
1964         * XmlTextReader.cs : removed old ReadValueAsXXX() (no overrides now).
1965         * XmlTextWriter.cs : added indentation on Comment nodes.
1966         * XmlDateTimeSerializationMode.cs : updated.
1967         * XmlResolver.cs : added 2.0 NameTable field.
1968         * ValidationType.cs : added ObsoleteAttributes on some members.
1969
1970 2004-11-18  Atsushi Enomoto <atsushi@ximian.com>
1971
1972         * XmlParserContext.cs : the fix was not checked in :(
1973
1974 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
1975
1976         * XQueryConvert.cs : moved from System.Xml.Query.
1977
1978 2004-11-14  Atsushi Enomoto <atsushi@ximian.com>
1979
1980         * XmlWriter.cs : after WriteAttributes(), argument XmlReader must
1981           move to element. This fixes bug #69350.
1982
1983 2004-11-10  Atsushi Enomoto <atsushi@ximian.com>
1984
1985         * XmlParserContext.cs : PushScope() was accessing list out of range.
1986
1987 2004-11-09  Atsushi Enomoto <atsushi@ximian.com>
1988
1989         * DTDValidatingReader.cs, XmlTextReader.cs :
1990           needed more changes wrt XmlException.
1991
1992 2004-11-08  Atsushi Enomoto <atsushi@ximian.com>
1993
1994         * DTDObjectModel.cs,
1995           DTDReader.cs,
1996           XmlReader.cs,
1997           XmlTextReader.cs,
1998           XmlException.cs :
1999
2000           Added support for 2.0 XmlException.SourceUri property. Improved
2001           exception handling to contain BaseURI everywhere in the parser.
2002
2003 2004-11-08  Atsushi Enomoto <atsushi@ximian.com>
2004
2005         * XmlTextReader2.cs : added. It is used to serve public API, plus
2006           entity handling support.
2007
2008         * DTDObjectModel.cs,
2009           DTDValidatingReader.cs,
2010           XmlDocumentType.cs,
2011           XmlParserContext.cs,
2012           XmlTextReader.cs :
2013           Implemented XmlTextReader.EntityHandling and ResolveEntity(). To
2014           implement them, XmlTextReader in 2.0 itself is in XmlTextReader2.cs
2015           and XmlTextReader.cs contains Mono.Xml2.XmlTextReader which is the
2016           same as 1.x XmlTextReader. XmlTextReader2 switches entity reader and
2017           source reader, and never handles tokenization. 
2018           The reason for "Mono.Xml2" is to avoid large changes in constructor.f
2019
2020 2004-11-08  Atsushi Enomoto <atsushi@ximian.com>
2021
2022         * XmlAttribute.cs, XmlElement.cs : get_Name should consider name table.
2023         * XmlDocument.cs : use NameTable in Load() and LoadXml().
2024         * XmlReader.cs : In Create(), use NameTable in XmlReaderSettings.
2025
2026 2004-11-05  Atsushi Enomoto <atsushi@ximian.com>
2027
2028         * XmlDocumentNavigator.cs : create rarely-used ArrayList later. This
2029           significantly improves XmlDocument-based XPath performance.
2030
2031 2004-11-04  Atsushi Enomoto <atsushi@ximian.com>
2032
2033         * XmlTextReader.cs : Manually expanded some of AppendValueChar() and
2034           XmlChar.IsWhitespace() which are on critical points on performance
2035           (marked as FIXME, but it depends on JIT).
2036
2037 2004-11-04  Atsushi Enomoto <atsushi@ximian.com>
2038
2039         * XmlTextReader.cs : Search xml:* attributes more efficiently.
2040
2041 2004-11-04  Atsushi Enomoto <atsushi@ximian.com>
2042
2043         * XmlTextReader.cs : Reduced NameTable.Add() for prefixed names. First,
2044           ReadName() now returns atomized LocalName and Prefix. Second, to
2045           avoid extraneous split, SetProperties() now takes prefix and
2046           localName that might be given from ReadName(). Third, removed 
2047           FillNames(). This optimizes "namespace-aware and prefixed document"
2048           parsing 10-20% faster.
2049
2050 2004-11-03  Atsushi Enomoto <atsushi@ximian.com>
2051
2052         * XmlTextReader.cs :
2053           With related to AddNamespace(), there was extra string.StartsWith()
2054           calls. Now AttributeTokenInfo.FillNames() is splitted into
2055           FillPrefixAndXmlns() and FillNamespace(), and AddNamespace() is done
2056           at FillPrefixAndXmlns().
2057
2058 2004-11-03  Atsushi Enomoto <atsushi@ximian.com>
2059
2060         * XmlTextReader.cs :
2061           Reduces LookupNamespace() call in FillNames(). This improves 6-7%
2062           speedup in some scenario.
2063           Code refactory; Removed unused code. AddAttribute() is used only for
2064           DTD, so renamed to AddDtdAttribute(). For PUBLIC and SYSTEM ids,
2065           FillNames() is not required. Two SetProperties() are ambiguous, so
2066           renamed one (that takes TokenInfo) as SetTokenProperties().
2067
2068 2004-11-03  Atsushi Enomoto <atsushi@ximian.com>
2069
2070         * XmlParserContext.cs : rewrote; especially to avoid XmlSpace boxing.
2071
2072 2004-11-03  Atsushi Enomoto <atsushi@ximian.com>
2073
2074         * XmlTextReader.cs : LookupNamespace() don't have to be called in
2075           ReadStartTag() to check prefix, since NamespaceURI is filled in
2076           FillNames(). 10% performance up by avoiding this extra check.
2077
2078 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
2079
2080         * XmlValidatingReader.cs : fixed incorrect recursion between
2081           indexer and GetAttribute().
2082
2083 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
2084
2085         * DTDReader.cs, DTDValidatingReader.cs, XmlTextReader.cs :
2086           When XmlTextReader is created with NodeType Element or Attribute,
2087           skip possible text declaration (that might be used for resolving
2088           entities) that specifies text encoding. With this fix, bug #61274
2089           must be regarded as fixed.
2090
2091 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
2092
2093         * XmlNodeReader.cs : Reimplemented ResolveEntity(). It does not use
2094           XmlTextReader trick anymore. XmlNodeReader itself is used instead.
2095
2096 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
2097
2098         * XmlNodeReader.cs : for NET_1_0 ReadInnerXml(), just use
2099           XmlReader.ReadInnerXmlInternal(). It should work fine.
2100           Ditto for ReadOuterXml().
2101
2102 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
2103
2104         * XmlNodeReader.cs : removed unused/unreachable code. Simplify
2105           namespace lookup.
2106
2107 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
2108
2109         * XmlDocument.cs, XmlNodeReader.cs, XmlTextReader.cs,
2110           XmlValidatingReader.cs : Those readers could just implement internal
2111           interface IHasXmlParserContext.
2112         * XmlTextReader.cs, XmlValidatingReader.cs : this[] disappeared in 2.0.
2113           (XmlReader has them as virtual.)
2114         * XmlReader.cs : ReadAsObject() disappeared.
2115         * XmlWriter.cs : WriteFromObject() disappeared.
2116
2117 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
2118
2119         * XmlDocumentNavigator.cs : GetNode() should consider namespace nodes.
2120         * XmlNode.cs : dustclean.
2121
2122 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
2123
2124         * XmlDocument.cs : use XPathEditableDocument again.
2125         * XmlNode.cs : To be compatible with XPathEditableDocument, it should
2126           not cast XPathNavigator to XmlDocumentNavigator but to IHasXmlNode.
2127
2128 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
2129
2130         * XmlChar.cs, XmlConstructs.cs :
2131           Switched again, for reducing per-process memory consumption.
2132         * XmlInputStream.cs :
2133           Just 64 bytes of buffer would be enough, for example like
2134           <?xml version="1.0" encoding="iso-8859-15" standalone="yes" ?>
2135
2136 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
2137
2138         * IXmlDataEvidence.cs : disappeared.
2139         * XmlConvertDateTimeSerializationMode.cs : incorrect filename. removed.
2140         * XmlDateTimeSerializationMode.cs : added
2141         * NewLineHandling.cs : added
2142         * IXmlNamespaceResolver.cs, XmlNamespaceManager.cs :
2143           now 'atomizedNames' is obsolete.
2144         * XmlReaderSettings.cs, XmlWriterSettings.cs :
2145           Should not be sealed. Should not be ICloneable.
2146
2147 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
2148
2149         * XmlDocument.cs : XPathEditableDocument looks broken. Just reverted
2150           to fix 2.0 corcompare.
2151
2152 2004-10-26  Atsushi Enomoto <atsushi@ximian.com>
2153
2154         * XmlTextReader.cs : Don't create attribute Value string on Read()
2155           (i.e. create string when get_Value() is invoked.) This optimizes
2156           some kind of XmlTextReader usage significantly such as Skip().
2157
2158 2004-10-22  Atsushi Enomoto <atsushi@ximian.com>
2159
2160         * XmlConvertDateTimeSerializationMode.cs : added.
2161         * XmlConvertDateTimeOption.cs : removed.
2162
2163 2004-10-22  Atsushi Enomoto <atsushi@ximian.com>
2164
2165         * XmlDocument.cs :
2166           For net_2_0, CreateNavigator() returns editable XPathNavigator.
2167         * XmlReader.cs, XmlTextReader.cs, XmlValidatingReader.cs :
2168           They do not implement IXmlDataEvidence anymore.
2169
2170 2004-10-18  Atsushi Enomoto  <atsushi@ximian.com>
2171
2172         * XmlTextReader.cs :
2173           Fixed CheckCharacters setter that always set false.
2174           CheckCharacters check is also required for ReadText(). This fixes
2175           bug #68449.
2176
2177 2004-10-15  Atsushi Enomoto  <atsushi@ximian.com>
2178
2179         * XmlTextReader.cs : Inside DTD, '<' character inside XML comment 
2180           is regatded as invalid. This fixes bug #68410. (Error message was
2181           also not correct.)
2182
2183 2004-10-14  Atsushi Enomoto  <atsushi@ximian.com>
2184
2185         * XmlWriter.cs : CreateTextWriter() is private.
2186
2187 2004-10-09  Atsushi Enomoto  <atsushi@ximian.com>
2188
2189         * XmlNodeReader.cs : LookupPrefix() was only after 2.0.
2190
2191 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
2192
2193         * XmlNamespaceManager.cs : GetNamespacesInScope() caused
2194           IndexOutOfRangeException (miscounted indexes).
2195
2196 2004-10-04  Atsushi Enomoto  <atsushi@ximian.com>
2197
2198         * XmlWriter.cs : WriteNode(XPathNavigator,bool) should check null arg.
2199           For attribute nodes, it should not use WriteSubtree() which does not
2200           support attribute nodes.
2201
2202 2004-09-20  Gert Driesen <drieseng@users.sourceforge.net>
2203         
2204         * XmlValidatingReader.cs: Added deprecation message.
2205
2206 2004-09-14  Atsushi Enomoto  <atsushi@ximian.com>
2207
2208         * XmlTextWriter.cs : Close() should not Flush() when the output is
2209           already closed. bug #65918 is fixed.
2210
2211 2004-09-12  Atsushi Enomoto  <atsushi@ximian.com>
2212
2213         * XmlTextWriter.cs : CloseOutput must be true by default.
2214
2215 2004-09-08  Atsushi Enomoto  <atsushi@ximian.com>
2216
2217         * XmlWriter.cs, XmlTextWriter.cs, XmlWriterSettings.cs :
2218           Implemented CheckCharacters and CloseOutput support.
2219
2220 2004-09-08  Atsushi Enomoto  <atsushi@ximian.com>
2221
2222         * XmlReader.cs : evidence is always provided.
2223         * XmlWriter.cs, XmlTextWriter.cs :
2224           added support for ConformanceLevel and OmitXmlDeclaration.
2225
2226 2004-09-08  Atsushi Enomoto  <atsushi@ximian.com>
2227
2228         * XmlTextReader.cs : Console.WriteLine() injected :(
2229         * XmlTextWriter.cs : It it partly supports XmlWriterSettings.
2230         * XmlWriter.cs : implemented Create().
2231         * XmlWriterSettings.cs : removed EncodeXmlBinary (deprecated).
2232
2233 2004-09-07  Atsushi Enomoto  <atsushi@ximian.com>
2234
2235         * XmlFactory.cs : removed (obsolete).
2236
2237 2004-09-07  Atsushi Enomoto  <atsushi@ximian.com>
2238
2239         * XmlNamespaceManager.cs : GetNamespacesInScope() ignored default
2240           namespace when scope is .ExcludeXml or .All.
2241         * XmlReader.cs : Implemented ValueType, SchemaInfo, ReadAsObject().
2242           Fixed ReadTypedValue() to call ReadValueAs().
2243
2244 2004-09-07  Atsushi Enomoto  <atsushi@ximian.com>
2245
2246         * XmlNamespaceManager.cs : Fixed GetNamespacesInScope() that returned
2247           inconsistent namespace pairs.
2248
2249 2004-09-07  Atsushi Enomoto  <atsushi@ximian.com>
2250
2251         * XmlReader.cs, XmlTextReader.cs :
2252           Added NET_2_0 CheckCharacters support.
2253
2254 2004-09-06  Atsushi Enomoto  <atsushi@ximian.com>
2255
2256         * XmlNode.cs : GetEnumerator() does not have to create ChildNodes
2257           every time. Removed unused StringBuilder field.
2258
2259 2004-09-06  Atsushi Enomoto  <atsushi@ximian.com>
2260
2261         * XmlWriter.cs : on reader.NodeType is None, WriteNode() still tries
2262           to read more (and might result in an error).
2263
2264 2004-09-03  Atsushi Enomoto  <atsushi@ximian.com>
2265
2266         * XmlTextReader.cs : When Normalization is true, CRLF and CR should
2267           be converted to single LF. This should fix part of bug #62076.
2268
2269 2004-08-30  Atsushi Enomoto  <atsushi@ximian.com>
2270
2271         * XmlWriter.cs : implemented WriteValue(object) for known types.
2272
2273 2004-08-30  Atsushi Enomoto  <atsushi@ximian.com>
2274
2275         * XmlElement.cs : XmlAttributeCollection doesn't have to be created
2276           every time until the actual use. This sometimes optimizes
2277           attribute-less XML performance siginificantly.
2278
2279 2004-08-27  Atsushi Enomoto  <atsushi@ximian.com>
2280
2281         * XmlAttribute.cs : some property getters threw NullReferenceException
2282           when the attribute is not added to an element.
2283         * XmlNode.cs : When a node is not appended to another node, BaseURI
2284           is empty. Bug #64120 is fixed.
2285
2286 2004-08-26  Atsushi Enomoto  <atsushi@ximian.com>
2287
2288         * XmlTextWriter.cs : In CheckState(), don't create indentation string
2289           at every time. WriteIndent() now handles the indentation without
2290           recomputation.
2291
2292 2004-08-23  Atsushi Enomoto  <atsushi@ximian.com>
2293
2294         * XmlReader.cs, XmlTextReader.cs, XmlWriter.cs :
2295           eliminate MS.Internal.Xml.* classes.
2296
2297 2004-08-21  Atsushi Enomoto  <atsushi@ximian.com>
2298
2299         * XmlElement.cs : set_InnerText was removing children incompletely.
2300           This fixes bug #63574.
2301
2302 2004-08-20  Atsushi Enomoto  <atsushi@ximian.com>
2303
2304         * XmlTextReader.cs : Fixed EOF not to return true when it is just
2305           closed. Element and EndElement location is now adjusted to be the
2306           same as MS.NET does. This fixes bug #63505 and #63507.
2307           ResetState() now throws InvalidOperationException() as MS.NET does.
2308
2309         * WriteState.cs : added missing 2_0 enumeration.
2310         * XmlReader.cs : ReadTypedValue() is virtual.
2311         * XmlValidatingReader.cs : ReadTypedValue() is override under 2_0.
2312
2313 2004-08-10  Atsushi Enomoto  <atsushi@ximian.com>
2314
2315         * XmlValidatingReader.cs : Replaced XmlSchemaCollection with
2316           XmlSchemaSet. Added Settings property override
2317
2318 2004-08-10  Atsushi Enomoto  <atsushi@ximian.com>
2319
2320         * DTDReader.cs : Replacing XmlSchemaDatatype .FromName(string) with
2321           .FromName(string, string) [going to remove former one; it is not
2322           good to support xdt:blah datatypes].
2323
2324 2004-08-03  Atsushi Enomoto  <atsushi@ximian.com>
2325
2326         * DTDValidatingReader.cs,
2327           XmlValidatingReader.cs : implemented IXmlNamespaceResolver.
2328         * XmlNamespaceManager.cs,
2329           XmlNodeReader.cs : implemented GetNamespacesInScope().
2330
2331 2004-08-03  Atsushi Enomoto  <atsushi@ximian.com>
2332
2333         * XmlCharacterData.cs,
2334           XmlDocument.cs,
2335           XmlNodeChangedEventArgs.cs : 
2336           Implemented XmlNodeChangedEventArgs.OldValue and .NewValue.
2337
2338 2004-08-03  Atsushi Enomoto  <atsushi@ximian.com>
2339
2340         * XmlWriter.cs : implemented settings-less Create().
2341         * XmlWriterSettings.cs : added some comments.
2342
2343 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
2344
2345         * XmlWriter.cs : implemented WriteNode(XPathNavigator, bool) 
2346           incompletely, using XPathNavigator.ReadSubtree().
2347
2348 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
2349
2350         * XmlReader.cs : Implemented new 2.0 virtual members that used to be
2351           abstract in 1.x. Implemented ReadSubtree().
2352
2353 2004-07-28  Lluis Sanchez Gual  <lluis@novell.com>
2354
2355         * XmlTextReader.cs: Stop parsing when a null character is found.
2356
2357 2004-07-28  Atsushi Enomoto  <atsushi@ximian.com>
2358
2359         * XmlReader.cs : Implemented missing MoveToNextSibling() and
2360           MoveToDescendant().
2361         * XmlTextReader.cs : Added missing ReadValueAs() override (hmm...
2362           are they really worth overriding?)
2363
2364 2004-07-28  Atsushi Enomoto  <atsushi@ximian.com>
2365
2366         * XmlWriter.cs : Added new WriteStartAttribute(string).
2367
2368 2004-07-28  Atsushi Enomoto  <atsushi@ximian.com>
2369
2370         * XmlConvert.cs : Added 2.0 VerifyNMTOKEN() and internal WriteBinHex().
2371         * XmlQualifiedName.cs : Added internal static Parse().
2372         * XmlReader.cs : use XmlQualifiedName.Parse().
2373         * XmlTextWriter.cs : use new XmlWriter.WriteNameInternal() etc.
2374         * XmlWriter.cs : Added 2.0 Settings and WriteFromObject().
2375           Implemented 2.0 virtual methods that used to be abstract in 1.x.
2376
2377 2004-07-26  Atsushi Enomoto  <atsushi@ximian.com>
2378
2379         * XmlReader.cs : Implemented ReadValueAsXxx() except for
2380           ReadValueAsList().
2381         * XmlTextReader.cs : implemented them as well, just invoking 
2382           base.ReadValueAsXxx ().
2383         * XmlWriter.cs : implemented some WriteValue() methods.
2384
2385 2004-07-21  Atsushi Enomoto  <atsushi@ximian.com>
2386
2387         * XmlConvert.cs : added internal ToBinHexString() (BTW according to
2388           MSDN documentation it should be public).
2389         * XmlReader.cs : fixed one incorrect Create() overload. Added
2390           LookupNamespace (string, bool) (public for 2.0, internal for 1.x).
2391         * XmlTextReader.cs : Mostly implemented IXmlNamespaceResolver
2392           interface. Fixed HasLineInfo() access modifier on 2.0.
2393         * XmlNodeReader.cs : Mostly implemented IXmlNamespaceResolver
2394           interface. Wrote common namespace node lookup method and rewrote
2395           existing LookupNamespace().
2396         * XmlValidatingReader.cs : Fixed 2.0 IXmlLineInfo members' signatures.
2397
2398 2004-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2399
2400         * XmlNode.cs : When the argument node being inserted is the existing
2401           document element, it should not result in an error (since it should
2402           be first removed from document, thus no error should happen).
2403
2404 2004-07-16  Atsushi Enomoto  <atsushi@ximian.com>
2405
2406         * XmlTextReader.cs : Fixed several problems on ReadBase64();
2407           Whitespaces should be ignored, and '=' was not skipped correctly.
2408           It caused "unexpected end of document" error at immediate close tag.
2409
2410 2004-07-13  Atsushi Enomoto  <atsushi@ximian.com>
2411
2412         * Added MonoFIXAttribute.cs
2413
2414 2004-07-13  Atsushi Enomoto  <atsushi@ximian.com>
2415
2416         * XmlWriter.cs : Added Create() stubs.
2417         * XmlWriterSettings.cs : Added missing property setters.
2418         * XmlValidatingReader.cs : added internal schemas setter.
2419         * XmlTextReader.cs : added internal XmlReaderSettings property setter.
2420         * XmlReader.cs :  Halfly implemented Create().
2421         * DTDValidatingReader.cs : author information was missing.
2422
2423 2004-07-11  Atsushi Enomoto  <atsushi@ximian.com>
2424
2425         * XmlConvertDateTimeOption.cs : it is NET_2_0.
2426         * IXmlNamespaceResolver.cs,
2427           XmlNamespaceScope.cs : Compile it in .net 1.1 (as internal).
2428         * XmlNamespaceManager.cs : Implement IXmlNamespaceResolver.
2429
2430 2004-07-09  Atsushi Enomoto  <atsushi@ximian.com>
2431
2432         * XmlConvertDateTimeOption.cs : Forgot to change the content...
2433
2434 2004-07-09  Atsushi Enomoto  <atsushi@ximian.com>
2435
2436         * ConformanceLevel.cs : Fixed integer value.
2437         * Added XmlConvertDateTimeOption.cs.
2438         * Removed XmlItemView.cs and XmlItemViewCollection.cs.
2439
2440 2004-07-09  Atsushi Enomoto  <atsushi@ximian.com>
2441
2442         * IXmlNamespaceResolver.cs :
2443           Fixed return value of GetNamespacesInScope().
2444         * IXmlDataEvidence.cs,
2445           XmlReader.cs,
2446           XmlTextReader.cs,
2447           XmlValidatingReader.cs : fixed Evidence (it is not array anymore).
2448         * XmlReader.cs :
2449           Implemented virtual indexers, QuoteChar, and Dispose() (2.0 stuff).
2450         * XmlNodeReader.cs,
2451           In net_2_0, indexers vanished from XmlNodeReader.
2452           In net_2_0, overriden QuoteChar vanished.
2453         * XmlReaderSettings.cs : set_NameTable is missing.
2454         * XmlTextReader.cs : Implemented ProhibitDtd.
2455
2456 2004-07-09  Atsushi Enomoto  <atsushi@ximian.com>
2457
2458         * XmlAttributeCollection.cs : In .net 2.0, it became sealed class.
2459         * IXmlDataEvidence.cs : not "Evidences" but "Evidence".
2460         * XmlInputStream.cs : new csc rejected implicit int->char cast.
2461         * XmlNamespaceManager.cs : In net_2_0, LookupNamespace(string) and
2462           LookupPrefix(string) does not require argument string as atomized.
2463           Added HasNamespace (string, bool).
2464         * XmlReader.cs : Added Settings and SchemaInfo properties.
2465         * XmlReaderSettings.cs : Added NameTable. Throw XmlException when
2466           attempt to set Schemas.
2467         * XmlTextReader.cs : Fixed "Evidences" to "Evidence". new csc rejected
2468           implicit int->char cast.
2469         * XmlValidatingReader.cs : Fixed "Evidences" to "Evidence".
2470
2471 2004-06-27  Atsushi Enomoto  <atsushi@ximian.com>
2472
2473         * XmlDocument.cs:
2474           Close XmlReader only when it is created. This fixes bug #60809.
2475
2476 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
2477
2478         * DTDObjectModel.cs, DTDReader.cs, XmlConvert.cs, XmlDocument.cs,
2479           XmlException.cs, XmlParserInput.cs, XmlTextReader.cs,
2480           XmlTextWriter.cs : Globalization.
2481         * XmlNode.cs : Fixed error message that confused node type.
2482
2483 2004-06-14  Atsushi Enomoto <atsushi@ximian.com>
2484
2485         * XmlDocumentNavigator.cs : MoveToNext() should skip concatenating
2486           text/cdata/whitespace nodes.
2487
2488 2004-06-14  Atsushi Enomoto <atsushi@ximian.com>
2489
2490         * XmlInputStream.cs : Fixed encoding detection detected in xslt
2491           standalone tests. Removed extraneous code.
2492
2493 2004-06-13  Atsushi Enomoto <atsushi@ximian.com>
2494
2495         * XmlTextReader.cs : Character range check is always done. It is only
2496           character references for which check is not done when Normalization
2497           is false.
2498           A bit more kind error message for multiple document element error.
2499         * XmlTextWriter.cs : Check if character is valid and entitize when
2500           it was invalid.
2501
2502 2004-06-09  Atsushi Enomoto <atsushi@ximian.com>
2503
2504         * XmlNamespaceManager.cs : The error message was improper.
2505           Fix for bug #59880.
2506
2507 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2508
2509         * XmlInputStream.cs: Initialize reads a larger buffer now when trying
2510         to guess the encoding.
2511
2512 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
2513
2514         * NameTable.cs : Fixed incorrect hash computation. Thanks to Ben.
2515         * XmlTextWriter.cs : Fixed remaining LookupNamespace() atom problem
2516           shown in xslt standalone tests.
2517
2518 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
2519
2520         * XmlTextWriter.cs : Improved indenting. For children of a mixed 
2521           content element, it won't be indented.
2522
2523 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
2524
2525         * DTDObjectModel.cs,
2526           XmlDocument.cs : Close stream always.
2527         * XmlNodeReader.cs : don't expect atomized name in LookupNamespace().
2528         * XmlTextReader.cs : Namespace check was not done. Some tests depends
2529           on this failure and to be fixed.
2530
2531 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
2532
2533         * XmlNamespaceManagre.cs : Fixed LookupNamespace() and LookupPrefix().
2534           They require that names are *already* atomized.
2535         * XmlNodeReader.cs,
2536           XmlTextWriter.cs : use safe overload of LookupXXX().
2537
2538 2004-05-30  Atsushi Enomoto <atsushi@ximian.com>
2539
2540         * XmlTextReader.cs : Fixed version mismatch; ProhibitDtd should be
2541           NET_2_0.
2542
2543 2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
2544         
2545         * XmlTextReader.cs: Added ProhibitDtd property for NET 1.1 to match
2546         public API in MS.NET 1.1
2547
2548 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2549
2550         * XmlDocument.cs : Save() should indent only when PreserveWhitespace
2551           is false. Fixed bug #59155.
2552           Modified comment lines a bit.
2553
2554 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2555
2556         * XmlTextWriter.cs : WriteRaw() looks to proceed WriteState to Prolog
2557           (if it is Start). Fixed bug #59154.
2558
2559 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2560
2561         * XmlTextReader.cs : simplified ReadCharsInternal(); use ReadEndTag()
2562           and don't bork against <foo></foo>. Also mofidied this method to skip
2563           <foo/>. Fixed bug #59142.
2564           Modified some comments on the code (FIXME->LAMESPEC et al).
2565
2566 2004-05-24  Atsushi Enomoto <atsushi@ximian.com>
2567
2568         * DTDReader.cs : When sequential PE references exist, the reader only
2569           expands the first one and in some cases the parser complaints the
2570           content (such like expecting name character but found '%').
2571           This fixes bug #58818.
2572
2573 2004-05-23  Atsushi Enomoto <atsushi@ximian.com>
2574
2575         * XmlNode.cs : RemoveChild() should check null argument.
2576           Normalize() was broken in some cases.
2577
2578 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
2579
2580         * ConformanceLevel.cs : added.
2581
2582 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
2583
2584         * XmlNodeChangedEventArgs.cs : the last patch looks true 
2585           ONLY AFTER .NET 2.0.
2586
2587 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
2588
2589         * XmlReaderSettings.cs, XmlWriterSettings.cs : NET_2_0 were missed.
2590
2591 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
2592
2593         * XmlFactory.cs,
2594           XmlItemView.cs,
2595           XmlItemViewCollection.cs,
2596           XmlReaderSettings.cs,
2597           XmlWriterSettings.cs : added new .NET 2.0 classes.
2598
2599         * AsyncXmlTextWriter.cs,
2600           IXPathChangeNavigator.cs,
2601           IXPathEditor.cs,
2602           IXPathNavigator.cs,
2603           XmlChangeFilters.cs,
2604           XmlInfoItemType.cs,
2605           XmlNodeChangeType.cs,
2606           XPathChangeNavigator.cs,
2607           XPathDocument2.cs,
2608           XPathDocument2ChangedEventAction.cs,
2609           XPathDocument2ChangedEventHandler.cs,
2610           XPathEditor.cs,
2611           XPathNavigator2.cs : removed. (They are only in .NET 1.2)
2612
2613         * XmlWriter.cs : added new NET_2_0 WriteElementString().
2614
2615 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
2616
2617         * XmlNodeChangedEventArgs.cs : not properly inherited from EventArgs.
2618
2619 2004-05-17  Atsushi Enomoto <atsushi@ximian.com>
2620
2621         * XmlConvert.cs : Fixed ToString(TimeSpan) that didn't handle Hour 
2622           correctly. This fixes bug #57786.
2623
2624 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
2625
2626         * XmlValidatingReader.cs : explicitly mark as MonoTODO for XDR (not
2627           supported).
2628
2629 2004-05-12  Atsushi Enomoto <atsushi@ximian.com>
2630
2631         * DTDObjectModel.cs,
2632           DTDReader.cs,
2633           XmlDocument.cs,
2634           XmlInputStream.cs,
2635           XmlParserInput.cs,
2636           XmlTextReader.cs,
2637           XmlUrlResolver.cs : removed reference to Mono.Xml.
2638           Made Mono.Xml.* classes internal.
2639         * XmlDocument.cs : output xml declaration for TextWriter output in Save()
2640         * XmlElement.cs : Name character check should be done in .ctor().
2641         * XmlNamespaceManager.cs : Removed dangerous internal .ctor()
2642
2643 2004-05-10  Atsushi Enomoto <atsushi@ximian.com>
2644
2645         * XmlNodeReader.cs : renamed ownerElement to ownerLinkedNode (text
2646           node can be it as well) and added check for Attributes existence
2647           in GetAttribute() and MoveTo*Attribute().
2648
2649 2004-05-10  Atsushi Enomoto <atsushi@ximian.com>
2650
2651         * XmlTextWriter.cs : comment not in the content state is indented.
2652           This fixes bug #58247.
2653
2654 2004-05-07  Lluis Sanchez Gual  <lluis@ximian.com>
2655
2656         * XmlTextWriter.cs: In WriteStartAttribute, when the prefix is xmlns and
2657           the name is empty, convert it to a xmlns attribute.
2658
2659 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
2660
2661         * XmlTextReader.cs : don't use NET_1_0.
2662
2663 2004-04-24  Atsushi Enomoto <atsushi@ximian.com>
2664
2665         * XmlComment.cs. XmlProcessingInstruction.cs : missing commits.
2666
2667 2004-04-24  Atsushi Enomoto <atsushi@ximian.com>
2668
2669         W3C DOM compliant read-only check support (buggy part in MS.NET).
2670         * XmlAttribute.cs,
2671           XmlCDataSection.cs,
2672           XmlCharacterData.cs,
2673           XmlDocument.cs,
2674           XmlElement.cs,
2675           XmlNode.cs,
2676           XmlSignificantWhitespace.cs,
2677           XmlText.cs
2678           : CloneNode() - set read-only when copied node is read-only.
2679             Check IsReadOnly on attempt to modify value.
2680         * XmlEntity.cs,
2681           XmlEntityReference.cs : Set descendant nodes read-only.
2682         * XmlAttributeCollection.cs,
2683           XmlNode.cs
2684           : Fixed incompatible exception type.
2685         * XmlEntityReference.cs : CloneNode() should not pass an empty string
2686           as its name.
2687         * XmlEntityReference.cs,
2688           XmlProcessingInstruction.cs : Check XML name validity.
2689         * XmlText.cs : CloneNode() does not have to check children.
2690
2691 2004-04-24  Atsushi Enomoto <atsushi@ximian.com>
2692
2693         * XmlDeclaration.cs : More strict check on InnerText and Value.
2694
2695 2004-04-24  Atsushi Enomoto <atsushi@ximian.com>
2696
2697         * DTDReader.cs, XmlConvert.cs, XmlDeclaration.cs, XmlImplementation.cs,
2698           XmlNode.cs : Culture independency fix.
2699
2700 2004-04-22  Atsushi Enomoto <atsushi@ximian.com>
2701
2702         * XmlEntityReference.cs : Added XPathNodeType (just for workaround).
2703           This should really fix bug #57248.
2704
2705 2004-04-20  Atsushi Enomoto <atsushi@ximian.com>
2706
2707         * XmlDocumentNavigator.cs : MoveToFirstChild() failed when there is
2708           only an EntityReference (not navigatable) child. Bug #57248 fixed.
2709         * XmlWriter.cs : Modified WriteNode() to use MoveToAttribute(int)
2710           instead of WriteAttributes() only for MS.NET behavior compatibility.
2711           This change makes SgmlReader usable (due to SgmlReader bug).
2712
2713 2004-04-10  Atsushi Enomoto <atsushi@ximian.com>
2714
2715         * XmlParserContext.cs : Fixed .ctor() not to reference null namespace
2716           manager. This fixes bug #56770.
2717
2718 2004-04-06  Atsushi Enomoto <atsushi@ximian.com>
2719
2720         * DTDReader.cs : In ProcessDTDSubset(), 1)error message was 
2721           generated with incorrect stream character, 2)entity nest check 
2722           should not depend on line info which might not be supplied, 3)
2723           empty PE should be skipped.
2724         * XmlParserInput.cs : use index for StringBuilder instead of calling
2725           Remove() many times. This highly optimizes DTD parser.
2726
2727         * XmlAttribute.cs : removed commented code.
2728         * XmlEntity.cs : removed unused field.
2729
2730 2004-04-05  Atsushi Enomoto <atsushi@ximian.com>
2731
2732         * DTDObjectModel.cs : (DTDAttributeDefinition) create ArrayList 
2733           only when they are required.
2734         * DTDReader.cs,
2735           XmlParserInput.cs : raw tag string now don't have to be kept, while
2736           it cost so much. Removed unused code. 20% to 30% memory got saved.
2737         * XmlNotation.cs : removed unused code.
2738         * XmlTextReader.cs : Removed unused code. ReadString() now uses 
2739           XmlReader's internal method. Fixed BaseURI to be conformant with
2740           W3C XML InfoSet and (subsequently) xml:base specification (i.e. 
2741           reflect xml:base attribute correctly).
2742
2743 2004-04-05  Atsushi Enomoto <atsushi@ximian.com>
2744
2745         * XmlAttribute.cs : get_Value should return all children's value.
2746         * XmlCharacterData.cs : DOM's substring does not raise an error when
2747           startIndex + count exceeds the length of Data.
2748         * XmlNamedNodeMap.cs : SetNamedItem() returns the new child when it
2749           does not replace another named item.
2750         * XmlElement.cs : with related to the XmlNamedNodeMap change, 
2751           SetAttributeNode() is required to fix as to return null when it does
2752           not replace existing attribute.
2753
2754 2004-03-31  Atsushi Enomoto <atsushi@ximian.com>
2755
2756         * XmlDocumentNavigator.cs : When this instance is created from xmlns 
2757           attributes, it should be Namespace node.
2758
2759 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
2760
2761         * XmlReader.cs : ReadInnerXml() should progress reader when it is on
2762           an empty element. This fixes bug #56064.
2763
2764 2004-03-27  Atsushi Enomoto <atsushi@ximian.com>
2765
2766         * DTDReader.cs : In some places sequential parameter entity was
2767           incorrectly skipped (and caused invalid result).
2768
2769 2004-03-24  Atsushi Enomoto <atsushi@ximian.com>
2770
2771         * XmlDocumentNavigator.cs : MoveTo*Namespace() should not iterate
2772           namespace nodes which has the same name as already-iterated nodes.
2773           Also xmlns='' should not be selected, and once it appeared, default 
2774           namespace should not be selected anymore.
2775
2776 2004-03-24  Atsushi Enomoto <atsushi@ximian.com>
2777
2778         * XmlCharacterData.cs : ReplaceData() should reject negative integer
2779           value for count argument.
2780         * XmlAttribute.cs, XmlAttributeCollection.cs, XmlNamedNodeMap.cs :
2781           On RemoveNamedItem(), default attribute value should be restored.
2782
2783 2004-03-24  Atsushi Enomoto <atsushi@ximian.com>
2784
2785         * XmlAttributeCollection.cs : Remove() should throw an exception when
2786           target attribute is not included in the collection.
2787         * XmlDocument.cs : ImportNode() should reject null node.
2788         * XmlNode.cs : Fixed type of exception for invalid insertion.
2789           It should throw an exception not only when the owner document of the
2790           reference element is different but its parent element is different.
2791           Some error message improvement.
2792
2793 2004-03-21  Atsushi Enomoto <atsushi@ximian.com>
2794
2795         * XmlReader.cs : ReadInnerXml() incorrectly tried to get output xml.
2796           This fixes bug #55856.
2797
2798 2004-03-20  Atsushi Enomoto <atsushi@ximian.com>
2799
2800         * XmlTextWriter.cs : Fixed indentation on CDATA. This fixes bug #55828.
2801
2802 2004-03-19  Atsushi Enomoto <atsushi@ximian.com>
2803
2804         * XmlImplementation.cs : HasFeature() returns true when strVersion
2805           is null.
2806
2807 2004-03-16  Atsushi Enomoto <atsushi@ximian.com>
2808
2809         * XmlWhitespace.cs : Fixed WriteTo(). Whitespace nodes should be 
2810           written regardless of document's PreserveWhitespace.
2811
2812 2004-03-16  Atsushi Enomoto <atsushi@ximian.com>
2813
2814         * XmlDocumentNavigator.cs : Value should return concatenated string for 
2815           sequential text nodes. Considered detached nodes, the result of 
2816           MoveToParent() should be checked.
2817
2818 2004-03-15  Atsushi Enomoto <atsushi@ximian.com>
2819
2820         * XmlReader.cs : ReadInnerXml()/ReadOuterXml() should not bork when
2821           the reader is on EndElement. Patch by Jean-Marc Andre.
2822
2823 2004-03-14  Atsushi Enomoto <atsushi@ximian.com>
2824
2825         * XmlDocumentNavigator.cs : as for namespace node "xml", MS.NET seems
2826           to return attribute node. It affects on IHasXmlNode.GetNode() and
2827           SelectNodes()/SelectSingleNode().
2828
2829 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
2830
2831         * XmlImplementation.cs : fixity fix (I need NUnit runnable ;)
2832
2833 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
2834
2835         * XmlImplementation.cs : forgot to commit (renaming internal case)
2836
2837 2004-03-04  Atsushi Enomoto <atsushi@ximian.com>
2838
2839         * XmlDocument.cs : Implementation should not return null.
2840
2841 2004-02-25  Atsushi Enomoto <atsushi@ximian.com>
2842
2843         * XmlTextWriterOpenElement.cs : Reset() should reset _all_ fields.
2844           This fixes indentation bug.
2845
2846 2004-02-19  Atsushi Enomoto <atsushi@ximian.com>
2847
2848         * XmlTextWriter.cs : Fixed bugzilla #54554 (incorrent end tag output).
2849
2850 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
2851
2852         * DTDAutomata.cs,
2853           DTDObjectModel.cs,
2854           DTDReader.cs,
2855           DTDValidatingReader.cs : made classes internal.
2856         * XmlDocument.cs : removed extra FIXMEs.
2857         * XmlNamedNodeMap.cs,
2858           XmlResolver.cs,
2859           XmlUrlResolver.cs : 
2860           Fixed incorrect method signature.
2861
2862 2004-02-13  Atsushi Enomoto <atsushi@ximian.com>
2863
2864         * DTDObjectModel.cs, DTDReader.cs, DTDValidatingReader.cs : 
2865           say goodbye to sys.collections.specialized.
2866           (replaced the classes in that namespace with ArrayList or Hashtable)
2867
2868 2004-02-12  Atsushi Enomoto <atsushi@ximian.com>
2869
2870         * XmlReader.cs : For performance reason, XmlTextReader now uses
2871           base ReadInnerXml() and don't store currentTag array unnecessarily.
2872         * XmlTextReader.cs :
2873           - Fixed GetAttribute(int) that might cause index out of range.
2874           - Now it consumes the text reader by reading blocks, as MS.NET does.
2875             Modified GetRemainder(), PeekChar(), ReadChar() and so on.
2876           - Now it doesn't create Value string for linked nodes, unless it 
2877             is actually required.
2878           - some code refactory.
2879
2880 2004-02-11  Atsushi Enomoto <atsushi@ximian.com>
2881
2882         * XmlTextWriter.cs, XmlTextWriterOpenElement.cs :
2883           Reduced creation of openlElement. It also saves much memory.
2884
2885 2004-02-10  Atsushi Enomoto <atsushi@ximian.com>
2886
2887         * XmlNode.cs : ChildNodes should not create XmlNodeListChildren
2888           every time. This fix heavily improved performance.
2889
2890 2004-02-10  Atsushi Enomoto <atsushi@ximian.com>
2891
2892         * XmlAttributeCollection.cs : set owner element as parent on removal
2893           events (though they are not "parent" in infoset or dom context)
2894         * XmlElement.cs : Don't remove attributes twice (raises extraneous
2895           removal events).
2896         * XmlNamespaceManager.cs, XmlNodeChangedEventArgs :
2897           Added NET_2_0 members.
2898
2899 2004-02-08  Atsushi Enomoto <atsushi@ximian.com>
2900
2901         * DTDObjectModel.cs : Limit external entity reference from DTD by 256.
2902           foreach elimination.  DTDParameterEntityDeclaration should set Root.
2903           Compute attribute default value without raising an error.
2904           (for non-error reporting reader)
2905         * DTDReader.cs : Fixes for the above fixes. foreach elimination.
2906         * DTDValidatingReader.cs, NameTable.cs, XmlAttribute.cs,
2907           XmlAttributeCollection.cs, XmlChar.cs, XmlConstruct.cs,
2908           XmlDocumentFragment.cs, XmlDocumentNavigator.cs, XmlElement.cs,
2909           XmlEntityReference.cs, XmlNamedNodeMap.cs, XmlNode.cs,
2910           XmlText.cs : foreach elimination.
2911         * XmlDocument.cs, XmlSignificantWhitespace.cs, XmlWhitespace.cs :
2912           foreach elimination. Removed unnecesary methods.
2913         * XmlTextReader.cs : code format refactory. Optimized some methods.
2914           foreach elimination. Replaced Stack with string array.
2915           Replaced StringBuilder with char array. Removed unnecessary methods.
2916
2917 2004-02-06  Atsushi Enomoto <atsushi@ximian.com>
2918
2919         * DTDValidatingReader.cs : Fixed MoveToElement() that causes incorrect
2920           IsDefault and Depth.
2921         * XmlAttribute.cs : Fixed .ctor(). Omit more namespace check when 
2922           checkNamespace = false.
2923         * XmlNamedNodeMap.cs : Fixed SetNamedItem() to raise events.
2924         * XmlAttributeCollection.cs : Reimplemented InsertAfter to use
2925           InsertBefore() (similar to XmlNode).
2926         * XmlDocument.cs : Added internal .ctor().  Reimplemented ReadNode()
2927           as recursive, to make event order compatible.
2928         * XmlDocumentType.cs : Use SetNamedItem() (to raise events).
2929         * XmlElement.cs : Some refactory.  Fixed SetAttributeNode() with 
2930           string name to block prefixed name.
2931         * XmlEntity.cs : Don't raise events on setting contents.
2932         * XmlNode.cs : Some refactory. Added raiseEvent argument to internal
2933           InsertBefore().
2934         * XmlEntityReference.cs : related fix for XmlNode change.
2935         * XmlTextReader.cs : When the reader is on "attributes" of xmldecl or
2936           doctype, Depth 1 lower than usual attribute. Split large function.
2937
2938 2004-02-05  Atsushi Enomoto <atsushi@ximian.com>
2939
2940         * XmlConvert.cs : ToSingle() and ToDouble() should be culture 
2941           independent. Patch by Rodolfo Campero.
2942
2943 2004-02-04  Atsushi Enomoto <atsushi@ximian.com>
2944
2945         * DTDObjectModel.cs : Never expand entity on ScanEntityValue().
2946         * DTDValidatingReader.cs : XmlDeclaration node requires attributes
2947           to be movable.
2948         * XmlAttribute.cs,
2949           XmlDocument.cs,
2950           XmlDocumentFragment.cs,
2951           XmlElement.cs,
2952           XmlEntity.cs,
2953           XmlLinkedNode.cs,
2954           XmlNode.cs,
2955           XmlNotation.cs : 
2956           Added namespace checking flag (required for such xml readers
2957           that holds Namespaces=false). Now only XmlNode holds LastLinkedNode.
2958         * XmlDocumentType.cs,
2959           XmlEntity.cs,
2960           XmlEntityReference.cs : The children of Entity and EntityReference
2961           became correct. They now holds parsed nodes, but it is only when
2962           they are appended to the document.
2963         * XmlNode.cs : Modified insertBeforeIntern() to InsertBefore() with
2964           boolean checkNodeType argument.  This method also tries to create
2965           Entity's and EntityReference's child nodes.  Also added internal
2966           RemoveChild() with boolean checkNodeType argument.
2967         * XmlNodeReader.cs : Quick hack for ResolveEntity() that became 
2968           broken with these changes. use InnerXml as input to entityReader.
2969         * XmlTextReader.cs : XmlDeclaration's value LocalName should be the
2970           same as Name.  The names of DTD's pseudo attributes should be empty.
2971           Fixed DTD node's Depth (was regarded as attribute value's depth).
2972
2973 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
2974
2975         * XmlTextReader.cs, DTDReader.cs : fixity fix ;)
2976
2977 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
2978
2979         * ChangeLog : Fixed incorrect description that should be written for
2980           DTDValidatingReader.cs but written for DTDReader.cs.
2981         * DTDValidatingReader.cs : Fixes described in the last DTDReader fix.
2982
2983         * XmlChar.cs,
2984           XmlConstructs.cs : Made XmlChar and XmlConstructs equivalent and
2985           replaced XmlChar with XmlConstruts, renaming "XmlChar" to 
2986           "XmlCharCompact" and "XmlConstructs" to "XmlChar". 
2987           (XmlChar will be used for compact framework.)
2988         * DTDReader.cs, XmlParserInput.cs, XmlTextReader.cs : 
2989           XmlChar related changes.  Support for surrogate pair.
2990           It cannot use TextReader's peek anymore (for surrogate pair).
2991           Character range check for PI value, attribute value, text
2992         * XmlTextWriter.cs : Change openElements from Stack to ArrayList.
2993           (It calls ToArray() every time.)
2994
2995 2004-02-03  Alon Gazit <along@mainsoft.com>
2996         * XmlNamedNodeMap - now Item(int index) returns null for nodeList.Count
2997           instead of throwing ArgumentOutOfRangeException.
2998
2999 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
3000
3001         * XmlChar.cs : now GetPredefinedEntity() returns int and -1 for not
3002           predefined entity names.
3003         * DTDObjectModel.cs : DTDxxxCollection now derives from 
3004           - DTDCollectionBase that derives from DictionaryBase.
3005           - "Literal value" and "replacement text" are handled differently.
3006           - Throw XmlException when external entity could not be resolved. 
3007           - Return ReplacementText for EntityValue.
3008         * DTDReader.cs :
3009           - Support IXmlLineInfo.
3010           - Fixed IGNORE section handling to be more strict.
3011           - Compute replacement text on reading entity declarations.
3012           - Don't expand char references before getting literal entity value.
3013           - Check not allowed parameter entity inside internal subset.
3014         * DTDValidatingReader.cs :
3015           - Added ValidateWhitespaceNode() to check whitespace's Validity
3016             Constraints on external elementdecl and standalone document.
3017           - When invalid data against its datatype was found, don't throw
3018             parse error.
3019           - Other code refactory.
3020         * XmlTextReader.cs : 
3021           - Check for invalid Text pattern "]]>" should not depend on line 
3022             info since it might not be supported.
3023           - Check referenced character's validity (WFC).
3024
3025 2004-01-28  Atsushi Enomoto <atsushi@ximian.com>
3026
3027         * DTDReader.cs : Added Normalization.  Parameter Entity declaration
3028           should block invalid characters. (GEDecl should be fixed as well.)
3029         * XmlConstruct.cs : Should allow surrogate chars.
3030         * XmlNotation.cs : When prefix is empty (i.e. almost all cases) 
3031           Name should not add ':'. Patch by Boris Kirzner.
3032         * XmlTextReader.cs : Modified private ReadCharacterReference() to
3033           return the character (or -1 when should not return anything).
3034           Now Text character reference are checked their character range.
3035           Set DTDReader.Normalization as well as the reader itself.
3036
3037 2004-01-28  Atsushi Enomoto <atsushi@ximian.com>
3038
3039         * DTDReader.cs : Make sure that parameter entities are not allowed
3040           inside internal subset unless it appears as a markupdecl.
3041         * DTDValidatingReader.cs : ENTITY or ENTITIES type attributes must have
3042           a value that indicates *unparsed* entity (i.e. NDATA required).
3043
3044 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
3045
3046         * XmlTextWriter.cs : quick performance fix.
3047           Reduced memoty allocation (e.g. 12% when writing XMLSchema.xsd.)
3048
3049 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
3050
3051         * DTDObjectModel.cs :
3052           - DTDNode's BaseURI should not always refer to that of DTD's.
3053           - Use absolute URI's .ToString() instead of AbsolutePath.
3054         * DTDReader.cs : Throw XmlException for illegal character references.
3055         * DTDValidatingReader.cs :
3056           - Share XmlResolver when the actual reader is XmlTextReader.
3057             (MS's XmlValidatingReader and XmlTextReader do this.)
3058           - Added its own EntityHandling property.
3059         * XmlValidatingReader.cs : Share XmlResolver with XmlTextReader.
3060         * XmlReader.cs,
3061           XmlTextReader.cs : Added new NET_2_0 members.
3062         * XmlElement.cs : Removed extra lines (caused by XmlTextWriter bugs).
3063         * XmlEntityReference.cs : Forgot to add, the real fix by Boris.
3064
3065 2004-01-23  Atsushi Enomoto <atsushi@ximian.com>
3066
3067         * XmlWriter.cs, XmlTextWriter.cs :
3068           Several namespace related fixes.
3069           - Current element's NamespaceURI should be immediately available
3070             after the call of WriteStartElement() for LookupPrefix(), so 
3071             AddMissingElementXmlns() only affects on output. This is 
3072             now identified by shouldCheckElementXmlns field.
3073           - Attribute's overraped xmlns should be ignored for LookupPrefix(),
3074             Especially, when the owner element is written with the default
3075             namespace. HOWEVER, the attribute should be *written*. This is
3076             identified by shouldAddSavedNsToManager field.
3077           - In AddMissingElementXmlns(), non-empty prefix namespace was not
3078             checked user-written attributes.
3079           - XmlWriter.WriteAttributeString() never supplies namespace URI for
3080             xmlns attributes for other versions than NET_1_0. Instead, added
3081             ns check logic in WriteStartAttribute() only with NET_1_0.
3082           - WriteEndAttribute() should reject zero-length namespace for 
3083             non-default xmlns declarations.
3084           - LookupPrefix() should reject argument null and empty.
3085
3086         (added 2004-01-24 : forgot to mention more)
3087           - WriteAttributeString() w/o namespace should supply null, not ""
3088           - Added .NET 1.2 members.
3089           - Regard any name with "xml" prefix as in "namespace for XML".
3090
3091 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
3092
3093         * XmlElement.cs : Reverted previous fix since it broke monodoc web 
3094           service.
3095
3096 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
3097
3098         * XmlNode.cs : When adding a node to child list, it should reject its
3099           ancestors. Patch by Boris Kirzner.
3100         * XmlNodeReader.cs : Related fix to the fix above. It should not move
3101           to children of XmlEntityReference nodes.
3102         * XmlTextWriter.cs : FixedWriteStartElement() not to write default
3103           namespace when ns is null (while ns is "", it writes default ns).
3104         * XmlElement.cs : Fixed WriteTo() to call WriteStartElement(localName)
3105           when NamespaceURI is an empty string.
3106
3107 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
3108
3109         * XmlAttribute.cs : when set a value, it is no longer default 
3110           (even if the value is the same as default value).
3111         * XmlAttributeCollection.cs : Remove() should recover default attribute
3112           value to default, not specified value.
3113           Patch by Boris Kirzner (modified a bit)
3114         * XmlDocument.cs : Reference to undeclared entity is not allowed in
3115           Load(), while allowed in ReadNode(). Added such distinguishing logic.
3116
3117 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
3118
3119         * XmlValidatingReader.cs : Throw exception only in case of errors.
3120           Added NET_2_0 Evidences property.
3121
3122 2004-01-12  Atsushi Enomoto  <atsushi@ximian.com>
3123
3124         * XmlElement.cs : Fixed .ctor(). Default attribute was not treated as
3125           Specified = false. Patch by Boris Kirzner.
3126
3127 2004-01-11  Atsushi Enomoto <atsushi@ximian.com>
3128
3129         * XmlException.cs : Fixed incorrect .ctor signature.
3130         * XmlParserInput.cs : Fixed in sync with the above fix.
3131
3132 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
3133
3134         * XmlAttribute.cs, XmlElement.cs : 
3135           Fixed incorrect protected .ctor modification.
3136
3137 2004-01-08  Nick Drochak <ndrochak@ieee.org>
3138
3139         * DTDValidatingReader.cs: Removed unused variable
3140         
3141 2004-01-07  Atsushi Enomoto  <atsushi@ximian.com>
3142
3143         * XmlNamespaceManager.cs : Implemented .NET 1.2 methods that take
3144           atomizedNames argument.
3145         * XmlTextReader.cs : Use new namespace manager methods.
3146           Reduced NameTable.Add().
3147         * DTDObjectModel.cs : fixed incorrectly commented-out line.
3148
3149 2004-01-07  Atsushi Enomoto  <atsushi@ximian.com>
3150
3151         * XmlAttribute.cs, XmlDocument.cs, XmlElement.cs :
3152           set_Prefix should atomize to name table.
3153           Avoided extraneous atomization attempt a bit.
3154
3155 2004-01-07  Atsushi Enomoto  <atsushi@ximian.com>
3156
3157         * DTDObjectModel.cs, DTDReader.cs, XmlSecureResolver.cs :
3158           avoiding obvious exception.
3159         * DTDReader.cs, XmlTextReader.cs : Some optimization. 
3160           Avoided extraneous PeekChar() and reduced name string creation.
3161
3162 2004-01-05  David Sheldon <dave-mono@earth.li>
3163   
3164   * XmlTextReader.cs: Fixed constructors taking string url to not
3165     loose the absolute part of the path.
3166
3167 2004-01-04  Atsushi Enomoto  <atsushi@ximian.com>
3168
3169         * XmlDocument.cs : Fixed Load() to set XmlResolver correctly. Patch
3170           by Benjamin Jemlich.
3171           Assure closing XmlTextReader which are internally used.
3172
3173 2004-01-03  Atsushi Enomoto  <atsushi@ximian.com>
3174
3175         * XmlTextWriter.cs : trivial character-case fix
3176         * XmlUrlResolver.cs : It downloads network stream content at 
3177           GetEntity() call. You can try like below:
3178             for (int i=0;i<100;i++) u.GetEntity(url, null, typeof(Stream));
3179
3180 2003-12-23  Atsushi Enomoto  <atsushi@ximian.com>
3181
3182         * XmlNamedNodeMap.cs : Fixed internal SetNamedItem(node, pos) to set
3183           replacing node correctly. This fixes bug #52453.
3184
3185 2003-12-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3186
3187         * XmlDocument.cs, XmlElement.cs, XmlNode.cs :
3188           GetElementsByTagName() - Fixed bugzilla #52419, refactored, 
3189           and moved private implementation methods to XmlNode class.
3190
3191 2003-12-20  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3192
3193         * XmlTextWriter.cs :
3194           Element's namespace should be escaped as usual attribute.
3195
3196 2003-12-18  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3197
3198         * XmlTextWriter.cs : Indentation between xmldecl and doctype.
3199         * DTDValidatingReader.cs : AttList null reference fix.
3200
3201 2003-12-16  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3202
3203         * DTDValidatingReader.cs : Validity check and entity expansion were
3204           incorrectly mixed.
3205         * DTDObjectModel.cs, DTDReader.cs, XmlInputStream.cs :
3206           Going to remove XmlInputStream. XmlStreamReader might be replacable.
3207
3208 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3209
3210         * XPathDocument2ChangedEventHandler.cs : fixed incorrect argument.
3211         * Moved UpdateEventHandler.cs and XmlUpdateEventArgs.cs to sqlxml.
3212
3213 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3214
3215         * XmlTextReader.cs : BaseURI was broken. This fixes bug #52098.
3216
3217 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3218
3219         * XmlUrlResolver.cs : GetEntity() does not return direct network stream
3220           that may hold up connection. Now it reads up all the content stream.
3221
3222 2003-12-12  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3223
3224         * XmlAttributeCollection.cs,
3225           XmlElement.cs : Fixed bug #51415.
3226           When adding attribute to an element using Attributes, it failed.
3227
3228 2003-12-11  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3229
3230         * XmlDocument.cs : Fixed ReadNode() to call AppendChild() to document
3231           after setting all attribute nodes. Modified ReadNode() to handle
3232           Depth comparison and error handling (!= to <). It allows MS's
3233           SgmlReader bug that returns incorrect Depth.
3234
3235 2003-12-11  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3236
3237         * XmlDocumentNavigator.cs : Fixed MoveToNextAttribute (and 
3238           MoveToNextNamespace) that might result in NullReferenceException.
3239           patch by Sanjay Gupta. This fixed bug #51941 (and possibly #51415)
3240
3241 2003-12-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3242
3243         * XmlUrlResolver.cs : Update with recent System.Uri change. This fixes
3244           bugzilla #51808 (patch by Jeroen Zwartepoorte, a bit modified).
3245
3246 2003-12-04  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3247
3248         * XmlTextWriter.cs : WriteComment() should block "--", not full "-->".
3249         * XmlDocumentNavigator.cs : Added null check in MoveToNextAttribute().
3250           This may fix bug #51415.
3251
3252 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3253
3254         * XmlAttribute.cs : set_Prefix checks value when existing is "xmlns".
3255
3256 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3257
3258         * XmlWriter.cs : patch by Gonzalo (I modified a bit). WriteNode()
3259           shouldn't expect non-empty element content. This will fix bug #48287.
3260
3261 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3262
3263         * XmlTextWriter.cs : When element's namespace should be overwritten by
3264           one of its attribute, if exist as such. This fixes bug #51305.
3265
3266 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3267
3268         * DTDValidatingReader.cs : Fixed ReadContent() which may result in 
3269           invalid additional Text node.
3270
3271 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3272
3273         * XmlTextWriter.cs : 
3274           On WriteProcessingInstruction(), ArgumentException() is expected ;-)
3275
3276 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3277
3278         * XmlTextWriter.cs :
3279           WriteProcessingInstruction() should check name validity.
3280           AddMissingElementXmlns() should allow namespace emission even if it
3281           is identical to existing one.
3282
3283 2003-11-22  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3284
3285         * XmlTextReader.cs : Fixed ReadInnerXml(). This fixes bug #51267.
3286
3287 2003-11-20 Eran Domb <erand@mainsoft.com>
3288
3289         * XmlTextWriter.cs (WriteStartAttribute) : Check if the ket already exists in the newAttributeNamespaces table 
3290           before trying to add it to the table.
3291
3292 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3293
3294         * DTDValidatingReader.cs : Replaced entity should not treat whitespaces
3295           as significant.
3296         * XmlNode.cs : Removed extraneous MonoTODOs.
3297
3298 2003-11-17  Jackson Harper  <jackson@ximian.com>
3299
3300         * XPathEditor.cs: .net 1.2 only
3301         
3302 2003-11-17  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3303
3304         * AsyncXmlTextWriter.cs, IXPathChangeNavigator.cs, IXPathEditor.cs,
3305           IXPathNavigator.cs, IXmlDataEvidence.cs, IXmlNamespaceResolver.cs,
3306           UpdateEventHandler.cs, XPathChangeNavigator.cs, XPathDocument2.cs,
3307           XPathDocument2ChangedEventAction.cs, 
3308           XPathDocument2ChangedEventHandler.cs, XPathEditor.cs,
3309           XPathNavigator2.cs, XmlChangeFilters.cs, XmlInfoItemType.cs,
3310           XmlNamespaceScope.cs, XmlNodeChangeType.cs, XmlQualifiedNameTable,cs,
3311           XmlQueryDialect.cs, XmlUpdateEventArgs.cs
3312           : Added .NET 1.2 classes (for convenience of ObjectSpaces stubbing).
3313
3314 2003-11-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3315
3316         * XmlDocumentNavigator.cs : Fixed MoveToFirstChild() and MoveToNext()
3317           to skip XmlEntityReference.
3318         * XmlTextWriter.cs : Fixed AddMissingElements() and 
3319           WriteStartAttribute() not to emit extraneous xmlns.
3320
3321 2003-11-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3322
3323         * XmlTextWriter.cs : Skip multiple xmlns when element and any of 
3324           attributes have the same xmlns values.
3325           WriteEndElement() allows open attribute (calles WriteEndAttribute()).
3326           Indentation should be inserted between ">" and "</xxx>" .
3327
3328 2003-11-02  Pedro Martínez Juliá  <yoros@wanadoo.es>
3329
3330         * XmlConvert.cs: Only parse INF/-INF/NaN. Other Infinty or NAN
3331         numbers are parsed with the respective ::Parse method.
3332
3333 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
3334
3335         * XmlConvert.cs: Revert my last change. INF and -INF must be
3336         processed here because Double::Parse and Single::Parse doesn't
3337         understand anything of parsing [-]INF.
3338
3339 2003-11-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3340
3341         * XmlDocument.cs : Save(Stream) should not close the stream.
3342
3343 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3344
3345         * DTDReader.cs, DTDValidatingReader.cs, XmlInputStream.cs,
3346           XmlTextReader.cs : More cleanup.
3347         * XmlDocument.cs : Removed CheckName(). Code cleanup.
3348         * XmlElement.cs : .ctor() now adds default attributes (if required).
3349         * XmlAttribute.cs, XmlElement.cs, XmlEntity.cs, XmlEntityReference.cs,
3350           XmlNotation.cs : Now uses OwnerDocument's NameTable.
3351
3352 2003-10-25  Pedro Martínez Juliá  <yoros@wanadoo.es>
3353
3354         * XmlConvert.cs: Support for the sign in double and single. The
3355         processing of the infinites and nan numbers are more complex than
3356         comparing to "INF" so we must let Double::Parse and Single::Parse
3357         doing their job.
3358
3359 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3360
3361         * DTDValidatingReader.cs : Now it handles whitespace entity as
3362           significant.
3363         * XmlConvert.cs : As to NIST testcases, exponential support on single
3364           and double floating point numbers.
3365         * XmlValidatingReader.cs : If it IsDefault, then line number and line
3366           position returns 0.
3367
3368 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3369
3370         * DTDReader.cs,
3371           XmlConstructs.cs,
3372           XmlTextReader.cs,
3373           XmlWriter.cs : Fixed incorrect access modifier.
3374         * XmlTextWriter.cs : Imported state variable from XmlWriter.
3375         * DTDValidatingReader.cs : Removed extraneous MonoTODO.
3376         * XmlConvert.cs : Implemented ToTimeSpan().
3377           Modified ToDateTime() to reuse the same array.
3378
3379 2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3380
3381         * XmlAttributeCollection.cs : Fixed synchronization stuff.
3382         * XmlConvert.cs : Added two FromBinHexString() methods.
3383         * XmlTextReader.cs : Modified to use one of the above method.
3384         * XmlValidatingReader.cs : XsdValidatingReader.XmlResolver will be 
3385           disabled (in the next commit), so resolver won' be set to it.
3386           Attempt to validate against XDR now throws NotSupportedException.
3387
3388 2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3389
3390         * XmlChar.cs : added WhitespaceChars, used in common.
3391         * XmlConvert.cs,
3392           XmlDeclaration.cs,
3393           XmlParserInput.cs,
3394           XmlTextReader.cs,
3395           XmlTextWriter.cs : String.Trim()
3396         * XmlConvert.cs : shifted XmlConstructs to XmlChar.
3397         * XmlTextReader.cs : Implemented Normalization.
3398
3399 2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3400
3401         * XmlNode.cs : GetPrefixOfNamespace() also contained a bug similar to
3402           GetNamespaceOfPrefix() fixed at 2003-10-13.
3403         * XmlTextReader.cs : ReadBase64() should keep incomplete base64 block
3404           which remained by previous call of this method.
3405         * XmlUrlResolver.cs : Added assertion for file Uri path's absoluteness.
3406         * XmlValidatingReader.cs : Notice about intention of XDR won't be
3407           supported (at least in Mono 1.0).
3408
3409 2003-10-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3410
3411         * XmlDocument.cs : CloneNode() does not copy PreserveWhitespace.
3412         * XmlWriter.cs : Calling WriteNode() with XmlReader whose state is
3413           XmlDeclaration now calls WriteProcessingInstruction(). This fixes
3414           testcase XmlWriterTests.WriteNodeFullDocument().
3415         * XmlTextWriter.cs : Added LAMESPEC comments related to above.
3416
3417 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3418
3419         * XmlDocument.cs : Fixed bugzilla #49607. Save() outputs XML 
3420           declaration even though there is no XmlDeclaration child.
3421         * XmlTextReader.cs : Fixed Init() so that ResetState() should work.
3422
3423 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3424
3425         * XmlTextWriter.cs : Implemented WriteSurrogateCharEntity().
3426           Reverted my recent extraneous check in WriteStartAttribute().
3427
3428 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3429
3430         * XmlNode.cs : GetNamespaceOfPrefix() should check Attributes existence.
3431           And it should throw ArgumentNullException.
3432
3433 2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3434
3435         * XmlAttribute.cs : Fixed InnerText that did not removed its content
3436           if there is two or more children.
3437         * XmlNode.cs : XmlNode.cs : Fixed bugzilla #49580 (1)to return "",
3438           (2)not to compare NodeType for detached nodes, (3)optimization to
3439           compare element's prefix.
3440         * XmlSecureResolver.cs : Removed extraneous members.
3441
3442 2003-10-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3443
3444         * Added DTDReader.cs. It is almost importation of XmlTextReader.
3445         * DTDObjectModel.cs :
3446           - More .NET-ism. Properties took place of fields.
3447           - Imported PE set from XmlTextReader. Added location info.
3448           - Added DTDEntityBase common to PE and GE.
3449           - More correct text declaration handling with new XmlTextReader.
3450         * DTDValidatingReader.cs :
3451           - Now uses entity resolving XmlTextReader to validate attributes
3452             correctly. Implemented standalone
3453           - Standalone and default related validity constraints check.
3454         * XmlImplementation.cs: Implemented HasFeature().
3455         * XmlNode.cs : Implemented Supports().
3456         * XmlNodeReader.cs : Modified to use XmlTextReader.SkipTextDeclaration()
3457         * XmlParserInput.cs : Removed extraneous members.
3458         * XmlTextReader.cs :
3459           - All DTD related functionality now goes to DTDReader.cs
3460           - It became old simple TextReader input style.
3461           - Implemented GetRemainder().
3462           - Implemented ReadBase64(), ReadBinHex() and ReadChars(), using 
3463             additional new private method ReadUntilEndTag().
3464           - Removed incomplete MaybeTextDecl and added SkipTextDeclaration().
3465             ReadXmlDeclaration() now became simple.
3466           - More strict entity reference check at SetEntityReferenceProperty()
3467           - Removed extraneous members.
3468         * XmlWriter.cs : WriteNode(XmlNodeType.None) does not raise error.
3469
3470 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3471
3472         * XmlTextReader.cs: when we get an unexpected EOF in ReadContent, set
3473         the state before throwing the exception if depth > 0.
3474
3475 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3476
3477         * XmlAttribute.cs : Removed extraneous MonoTODO.
3478         * XmlTextWriter.cs : Implemented WriteBinHex() and WriteChars().
3479           WriteStartElement() and WriteStartAttribute() should ignore Prefix
3480           if namespace uri is not specified.
3481
3482 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3483
3484         * XmlDocumentFragment.cs,
3485           XmlElement.cs,
3486           XmlEntityReference.cs : Removed extraneous MonoTODO.
3487         * XmlNode.cs : Implemented Normalize().
3488         * XmlNodeReader.cs :
3489           - AttributeCount and HasAttributes should return its owner element's
3490             value, to be consistent with XmlTextReader.
3491           - Fixed Depth to reflect correct attribute/attribute-value iteration.
3492           - simplified ownerElement and HasValue.
3493           - Prefix won't return null.
3494           - MoveToElement() should also work against attribute value nodes.
3495         * XmlTextReader.cs : MoveToElement() should return false if it is
3496           positioned at element itself.
3497
3498 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3499
3500         * XmlTextReader.cs : Improved SignificantWhitespace handling.
3501
3502 2003-10-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3503
3504         * XmlSecureResolver.cs : Implemented basic feature.
3505
3506 2003-10-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3507
3508         * XmlUrlResolver.cs : Should work with null type argument.
3509
3510 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
3511
3512         * XmlTextWriter.cs : An attribute can require a prefix for the default
3513           namespace, so we need to store the prefix as well as the namespace.
3514
3515 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3516
3517         * DTDValidatingReader.cs : Simplified to use 
3518           XmlSchemaUtil.GetParserContext().
3519         * XmlValidatingReader.cs : ValidationType.Auto should always use
3520           XsdValidatingReader because xsi:schemaLocation might be used.
3521
3522 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3523
3524         * XmlTextReader.cs : Attribute value token properties were incorrectly
3525           set by the linked node.
3526
3527 2003-09-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3528
3529         * XmlDocumentNavigator.cs : Fix for bugzilla #48931. MoveToRoot() now
3530           considers such case that target node was not adapted to the document.
3531         * XmlNamespaceManager.cs : GetEnumerator() missed the last pair.
3532         * XmlTextWriter.cs : use 'as'  instead of 'try..catch'.
3533
3534 2003-09-25 Ben Maurer  <bmaurer@users.sourceforge.net>
3535
3536         * XmlNode.cs (XPathNodeType): Give more useful debugging message.
3537         * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as
3538         in MoveToNext.
3539
3540 2003-09-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3541
3542         * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace
3543           recovery was still not enough. Fixed GrowScopes() (incorrect index).
3544
3545 2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3546
3547         * XmlTextReader.cs : 
3548           - Fix for bugzilla #48337 (containing Ben's advice on that).
3549           - Added internal XmlTokenInfo classes. Nodes are now handled as token 
3550             objects (linked node, attributes and attribute values). Most of the
3551             node state properties and iterating methods are changed to refer to
3552             the token classes (except for value builder availability). Removed
3553             fields which are never used. CompileDTDSubset() is changed in
3554             reflection to nodeType field removal.
3555           - Fixed Depth that should vary in moving between attributes and/or
3556             reading attribute values.
3557           - LineNumber and LinePosition now returns more correct location.
3558           - Fixed Value that should still return true if its value is an empty
3559             attribute value string.
3560           - EntityValue is checked WFC constraints even thoug it is not used.
3561           - All .ctor() now initializes ReadState as Initial.
3562           - Read() should be available for attribute value constructor.
3563         * XmlAttribute.cs : set_InnerXml() now calls reader's Read().
3564
3565 2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3566
3567         * XmlNamespaceManager.cs: PopScope() must retain those namespaces which
3568           are added in the scope before PushScope() was called.
3569
3570 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
3571
3572         * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked
3573         lists and removes uses of Hashtable. Results in huge speed gains.
3574
3575 2003-09-19 Ben Maurer  <bmaurer@users.sourceforge.net>
3576
3577         * XmlConvert.cs: NaN.ToString () != INF.
3578
3579 2003-09-14  Lluis Sanchez Gual  <lluis@ximian.com>
3580
3581         * XmlTextWriter.cs: Attributes that have a namespace must be always
3582           prefixed.
3583
3584 2003-09-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3585
3586         * XmlTextWriterOpenElement.cs : Changed to receive prefix and localName
3587           in .ctor().
3588         * XmlTextWriter.cs : Changed to use above XmlTextWriterOpenElement.
3589           Changed xmlns adding scheme. In detail, 1) WriteStartElement does not
3590           add Namespaces immediately, but adds at AddMissingElementXmlns so 
3591           that we don't have to have extra check than namespaceManager's
3592           LookupPrefix(). 2) Removed writtenAttributes for performance reason
3593           since it is no more required.
3594
3595 2003-09-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3596
3597         * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute()
3598           that handled xmlns attributes inproperly.
3599
3600 2003-09-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3601
3602         * XmlNamespaceManager.cs : GetEnumerator() should return all of the
3603           available pairs (of prefix and namespace).
3604         * XmlQualifiedName.cs : Quick fix for NullReferenceException in case
3605           of name (or ns) is null. (The description of the immediate previous 
3606           changes will be inserted below.)
3607         * XmlTextWriter.cs : Fixed WriteDocType(). Removed CheckValidName().
3608         * XmlUrlResolver.cs : Changed not to call WebClient.Dispose() which
3609           will release resources it had allocated.
3610
3611 2003-09-01 Ben Maurer  <bmaurer@users.sourceforge.net>
3612
3613         * XmlDocument.cs (Save): use the encoding of the document, if
3614         available.
3615
3616 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3617
3618         * XmlValidatingReader.cs : Implemented SchemaType. Added support for
3619           ValidationType.Schema. Added support for XmlResolver. Fixed 
3620           ReadTypedValue() not to consume EndElement.
3621
3622 2003-08-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3623
3624         * XmlDocumentNavigator.cs : Fixed MoveToFirstNamespace() that arose
3625           infinite loop.
3626         * XmlNamespaceManager.cs : Renamed AtomStrEq to AtomicStringEquals.
3627           Commented out Console.Error.WriteLine().
3628         * XmlUrlResolver.cs : Fixed ResolveUri() and GetEntity() to support
3629           escape and unescape for relative URI string.
3630
3631 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
3632
3633         * XmlParserContext.cs: Make each context inherit next.
3634
3635 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
3636
3637         * XmlChar.cs (IsWhitespace): Spare enumerator allocation.
3638         * XmlTextWriter.cs (WriteWhitespace): Enumerators are very high in
3639         fat, use low-fat loops instead. Even better, call the function
3640         inside XmlChar for code reuse.
3641         * HighWaterStack.cs (added): New class that acts like a Stack, but
3642         helps with memory allocation.
3643         * XmlNamespaceManager.cs, XmlParserContext.cs: Rewrote to use
3644         HighWaterStack.
3645         * XmlTextReader.cs: Remove orderedAttributesEnumerator variable,
3646         use a variable that stores the position in the ArrayList.
3647         
3648 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
3649
3650         * XmlTextWriter.cs: Begin diet. String.Format has too much
3651         saturated fat, lets replace with the fat-free .Write ()
3652         calls. Effects best seen when Paolo's StreamWriter patch is
3653         applied.
3654
3655 2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3656
3657         * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in
3658           vanishing current node.
3659
3660 2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3661
3662         * DTDValidatingReader.cs : Added SchemaType.
3663           Read() Assures to return to element.
3664         * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI.
3665         * XmlReader.cs : ReadString() should be virtual in NET_1_1.
3666         * XmlTextReader.cs : 1) Depth should consider Attribute and its values.
3667           Introduced insideAttribute field to support them.
3668           2) ReadAttributeValue() should consider empty string.
3669         * XmlValidatingReader.cs :
3670           Fixed several properties which premised as if it was already read.
3671           Encoding and Namespaces now throws NotSupportedException for other
3672           than XmlTextReader.
3673           Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType.
3674
3675 2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3676
3677         * XmlInputStream.cs : Reverted CanSeek as to return false anyway.
3678
3679 2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3680
3681         * DTDObjectModel.cs : added XmlResolver related members. Added
3682           invalid entity recursion logic. Added encodingdecl check on textdecl.
3683         * DTDValidatingReader.cs : It now implements IHasXmlParserContext.
3684         * XmlChar.cs : IsPubidChar() should not allow TAB(&#9;).
3685         * XmlDocumentType.cs : 1) internal CreateDocumentType() was now changed
3686           to receive DTDObjectModel to support other than XmlTextReader. 
3687           2) Most of its public member is now based on DTDObjectModel.
3688         * XmlDocument.cs : 1) Synchronous change with XmlDocumentType.
3689           2) ReadNode() now considers XmlParserContext's DTDObjectModel for
3690           other than XmlTextReader (such as XmlValidatingReader).
3691         * XmlNode.cs : code cleanup only.
3692         * XmlParserInput.cs : added HasPEBuffer, used to check illegal nesting.
3693         * XmlTextReader.cs : 1) Illegal entity reference check logic was moved 
3694           from ReadContent() to SetEntityReferenceProperties(). 2) Indentation
3695           change on ReadEntityReference(). 3) ReadAttribute() now checks
3696           reference to external entity reference. 4) Added textdecl encoding
3697           check. 5) DTDObjectModel fields are now set correctly. 6) added
3698           PERef markup nest check. 7) If PEDecl was not found, it might be WFC
3699           violation, not only be VC violation. 8) ReadEntityDecl() now receives
3700           its declared entity itself, and this method checks IsInternalSubset.
3701         * XmlValidatingReader.cs : 1) Added GetInternalPerserContext().
3702           2) ValidationType.None should be the same as Auto, not DTD (in the
3703           future it should keep xml schema's default values).
3704
3705         Pending Stuff in XmlTextReader which breaks some NUnit tests;
3706           1) SetEntityReferenceProperies() has check for illegal references.
3707           2) ReadAttribute(bool) has similar check for illegal references.
3708
3709 2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3710
3711         * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice,
3712           sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement().
3713
3714 2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3715
3716         * XmlTextReader.cs : Checked and fixed all TryExpandPERef() invokation 
3717           and supplied SkipWhitespace() as they needed. It broke monodoc.
3718           Fixed ReadEntityValueDecl() to get correct value.
3719
3720 2003-08-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3721
3722         * XmlInputStream.cs :
3723           Fixed Initialize() that might result in incorrect buffer.
3724           CanRead and Position should consider buffer (especially when the
3725           stream was EOF).
3726           CanSeek should use stream's CanSeek.
3727
3728         * XmlChar.cs : added GetPredefinedEntity().
3729         * DTDObjectModel.cs :
3730           - Modified ComputeDefaultValue() to use it.
3731           - Fixed NormalizedDefaultValue not to expect parsed value as string.
3732           - ResolveExternalEntity now detects invalid standalone specification.
3733           - DTDParameterEntityDeclaration.Value is now changed to property and
3734             keep its resolved value of literal value of external value using
3735             new Resolve (XmlResolver) method (called only by XmlTextReader).
3736         * DTDValidatingReader.cs :
3737           - It now handles entity-expanded Whitespace and SignificantWhitespace
3738             correctly. Does not raise unexpected text not allowed error.
3739           - Fixed MoveToAttribute()s to move internal reader correctly, and
3740             should be able to move in other cases than on element node.
3741           - On Read()ing document type and ResolveEntity(), it now sets
3742             XmlResolver on text reader.
3743           - On ID constraints check and type verification, it now uses
3744             normalized attribute or its tokenized value(s).
3745           - Fixed ValidateAttributes() to add default values when 
3746             ValidationType is Auto.
3747         * XmlParserContext.cs : added internal Dtd setter.
3748         * XmlParserInput.cs :
3749           InsertParameterEntityBuffer() should add surrounding whitespaces.
3750           Removed unused code block.
3751         * XmlTextReader.cs :
3752           - Modified ReadReference(), ReadAttribute() and Dereference() to use
3753             XmlChar.GetPredefinedEntity().
3754           - When returning entity reference, it checks extity declaration
3755             existence in certain conditions.
3756           - ReadAttribute() now skips general entity replacement on reading
3757             entity value.
3758           - ReadText() now handles whitespace texts as XmlNodeType.Whitespace.
3759           - ReadXmlDeclaration() holds isStandalone, which might be used in
3760             entity reference's well-formedness check.
3761           - internal 'DTD' now uses XmlParserContext.Dtd.
3762           - isInternalSubset was meaningless. Now uses input stack's Count.
3763           - Added some required SkipWhitespace().
3764           - Several parameter entity handling changes.  Added GetPEValue(name).
3765             TryExpandPERef() now uses ImportAsPERef(). ReadParameterEntityDecl()
3766             now uses its Resolve() when it was external PE.  Now it uses value
3767             buffer instead of currentTag, to efficiently read (included) PE.
3768             CompileDeclaration() now uses ImportAsPERef instead of ExpandPERef().
3769             ImportAsPERef() simply inserts the value to currentInput.
3770             ReadEntityDecl() also uses value buffer.   Removed non-used methods.
3771           - Default attributes are now stored in normalized form.
3772           - Dereference() now considers non-expanding predefined entities.
3773         * XmlValidatingReader.cs : now holds Schemas, and ValidationType.Auto
3774           is more correctly supported.
3775
3776         * XmlAttributeCollection.cs :
3777           When removing default attribute, it immediately inserts the attribute.
3778           RemoveAll() should consider default (not-removable) attributes.
3779         * XmlDocument.cs :
3780           Should have its default XmlResolver. Added Internal Resolver.
3781           Some Load() should use its XmlResolver.
3782           ImportNode() should copy its children in node level, not value level.
3783           It also have to consider not to copy default attribute on importing
3784           XmlElement.
3785         * XmlDocumentType.cs : Now uses document's XmlResolver to read DTD.
3786         * XmlAttribute.cs,
3787           XmlDocumentFragment.cs.
3788           XmlElement.cs : use XmlResolver on InnerXml. Removed some MonoTODO.
3789         * XmlNodeReader.cs : GetInternalParserConext() should provide its DTD.
3790           ResolveEntity() uses XmlResolver on entityReader.
3791
3792 2003-08-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3793
3794         * DTDObjectModel.cs :
3795           - Added validation error check (and AddError(), Errors).
3796           - Fixed ComputeDefaultValue() to handle various references correctly.
3797           - DTDEntityDeclaration.EntityValue became property, and added
3798             LiteralEntityValue. The new one holds resolved value.
3799             Added ResolveExternalEntity(). It now required root in .ctor().
3800         * DTDValidatingReader.cs :
3801           - Now it handles namespaced attributes (as input to xsd validator).
3802           - Added XmlResolver property as usual XmlReader.
3803           - Added currentEntityHandling field so that it can stand changing
3804             XmlValidatingReader's EntityHandling dynamically.
3805           - FilterNormalization() now requires name for getting datatypes and
3806             can stand for non-current attribute normalization.
3807           - Splitted ReadContent() from Read() that can be called recursively
3808             when expanding entities.
3809           - Now handles Entity not found error *after* resolution of entities,
3810             as MS.NET does.
3811           - Read()ing DTD checks its Errors and raises validation error events.
3812             In some situations, DTD parsing may detect VC error, not WFC error.
3813             It also strictly checks NData existence.
3814           - Handling of entity-resolved text is a bit changed and Read()ing
3815             element, endElement, cdata now changed to switch collecting text
3816             and collected text.
3817           - content type ANY should allow texts.
3818           - Added enumerated attribute validity check.
3819           - Added Name/Names creation rule check for ID/IDREF/IDREFS.
3820           - Added entity existence check for ENTITY/ENTITIES attributes.
3821           - Added NMTOKEN creation rule check for NMTOKEN/NMTOKENS.
3822           - Fixed to remove extraneous #REQUIRED check.
3823           - Contributing default attribute is now only applied to the case
3824             ValidationType is DTD or None.
3825           - ResolveEntity() now handles external entities.
3826             Added Mono.Xml.IXmlParserContext interface support.
3827         * XmlDocumentType.cs : Fixed to use BaseURI to build DTD model.
3828         * XmlTextReader.cs :
3829           - Fixed ReadAttributeValue() to reset returnEntityReference.
3830           - Added bool MaybeTextDecl only for ResolveEntity().
3831           - Fixed ReadWhitespace(). In fact its value is considered even if it
3832             is in the end of the XML.
3833           - Fixed ReadXmlDeclaration(). Now skips text declaration.
3834           - CompileDTDSubset() now checks IGNORE/INCLUDE section end balances.
3835           - ReadContentSpec() should set OrderType = OR for mixed model.
3836             Fixed to set content element name correctly.
3837           - ImportAsPERef() now skips Text declaration.
3838           - Type of enumerated default attributes shold be string.
3839           - Undeclared PE error is now handled as DTD's VC error, not
3840             XmlTextReader's WFC error.
3841         * XmlValidatingReader.cs : BaseURI should provide that of 
3842           original XmlReader's when read was not started yet.
3843           Fixed XmlResolver to delegate to DTDValidatingReader.
3844
3845         * XmlAttributeCollection.cs : Acquiring attList declaration is
3846           insufficient especially in case of lack of elementdecl.
3847         * XmlChar.cs : (Maybe this is compact than XmlConstructs.)
3848           added IsWhitespace(),IsNCNameChar(),IsName(),IsNCName(),IsNmToken(),
3849           IsPubid(). Copies IsValidIANAEncoding() from XmlConstructs.
3850
3851         * XmlInputStream.cs : Removed "version" declaration check. It should
3852           be done by XmlTextReader.
3853
3854         * XmlNodeReader.cs : added internal GetInternalParserContext() and now
3855           it can be used in XmlValidatingReader.ResolveEntity().
3856           ResolveEntity() sets XmlTextReader.MaybeTextDecl.
3857
3858 2003-08-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3859
3860         * DTDValidatingReader.cs :
3861           Added full ExpandEntities support for text node and entity reference
3862           node (although require many usage tests). Almost all methods and
3863           properties now have currentTextValue != null check, that field means
3864           that there are cached (entity-resolved) text.
3865           Implemented default attribute aware XmlLang and XmlSpace.
3866         * XmlNodeReader.cs : ResolveEntity() should not require DTD.
3867
3868 2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3869
3870         * DTDValidatingReader.cs,
3871           XmlNodeReader.cs,
3872           XmlReader.cs,
3873           XmlTextReader.cs,
3874           XmlValidatingReader.cs : fixed pragma USE_VERSION_1_0 to NET_1_0.
3875
3876 2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3877
3878         * DTDObjectModel.cs : Added BaseURI (but not used yet).
3879           DTDAttListDeclaration.ctro() now requires root dtd object model.
3880         * DTDValidatingReader.cs : Read() now expands EntityReference if
3881           entity handling of validating reader is ExpandEntities.
3882         * XmlReader.cs,
3883           XmlTextReader.cs,
3884           XmlNodeReader.cs,
3885           XmlValidatingReader.cs : Implemented "virtual" ReadInnerXml and
3886             ReadOuterXml which are modified in MS.NET 1.1.
3887         * XmlConstructs.cs : added int version of IsValid, IsInvalid,
3888           IsContent, IsMarkup and IsNCNameStart.
3889           Fixed int version of IsXXX() to check array index range. 
3890           Added IsValidName (string).
3891         * XmlTextReader.cs :
3892           - Read() handles document with non document element as an error.
3893           - ReadText() and ReadCharacterReference() checkes illegal characters.
3894           - ReadEntityReference() checks name validity.
3895           - ReadProcessingInstruction() rejects such name that starts with
3896             "xml" ignoring case, and checks attributes more strictly.
3897           - ReadDeclaration() rejects unrecognized kind of declaration.
3898           - In many places, added "required whitespace" check in DTD markup.
3899           - DTD content model now disallows mixing use of '|' and ','.
3900
3901 2003-08-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3902
3903         * XmlDocumentFragment.cs : I missed to add it in relation to the
3904           previous XmlParserContext patch. Similar to XmlAttribute/XmlElement.
3905         * XmlNodeReader.cs : removed some TODO attributes.
3906         * DTDValidatingReader.cs,
3907           XmlValidatingReader.cs : Implemented ResolveEntity().
3908
3909 2003-07-31  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3910
3911         * XmlParserContext.cs,
3912           XmlAttribute.cs,
3913           XmlElement.cs : Added internal Dtd and new internal XmlParserContext
3914           .ctor() that takes DTDObjectModel. And then rewrote classes which 
3915           uses DTD information. Changed DocTypeName, InternalSubset, PublicId
3916           and SystemId to use DTDObjectModel.
3917         * DTDObjectModel.cs :
3918           Added DTDObjectModel.InternalSubsetHasPEReference.
3919           Added DTDEntityDeclaration.IsInternalSubset.
3920         * XmlTextReader.cs :
3921           Added internal GetInternalParserContext (to build entity reader).
3922           Added private isIntSubset to check if the DTD subset is internal or
3923           external, which might affect well-formedness constraints.
3924           Changed GenerateDTDObjectModel to return the resulting DTD model.
3925
3926         * XmlEntityReference.cs : implemented BaseURI.
3927         * XmlNodeReader.cs :
3928           - Implemented ResolveEntity() and CanResolveEntity(). In fact
3929             it leads too many changes on almost all methods and properties,
3930             since they now must be aware of entityReader.
3931           - fixed ownerElement that might be used to return from attribute 
3932             value to the element through parent attribtues.
3933           - Now changed indexer to call GetAttribute() and moved actual logic
3934             to the matching GetAttribute() methods.
3935
3936 2003-07-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3937
3938         * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml
3939           not to create extraneous xmlns="".
3940
3941 2003-07-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3942
3943         * DTDValidatingReader.cs : (Read,ValidateAttributes,ReadAttributeValue)
3944           attribute declaration should be got independently of elementdecl.
3945         * XmlAttribute.cs :
3946           Added internal SetDefault() to mark as default.
3947           Removed InnerText implementation that is just the same as XmlNode.
3948         * XmlDocument.cs : id shouldn't be removed from table at 'trying' to
3949           get matching elements.  ReadAttributeNode() now sets default mark.
3950         * XmlElement.cs : WriteTo() should ignore default attributes.
3951         * XmlTextWriter.cs : shuold allow valid name char such as digits.
3952
3953 2003-07-27  Piers Haken <piersh@friskit.com>
3954
3955         * XmlQualifiedName.cs : fields should never be null
3956
3957 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3958
3959         * XmlDocumentFragment.cs : added XPathNodeType indicating Root.
3960
3961 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3962
3963         * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted
3964
3965 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3966
3967         * XmlLinkedNode.cs : added internal IsRooted.
3968
3969 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3970
3971         * DTDValidatingReader.cs :
3972           - Added ID support in ValidateAttributes().
3973           - More refined ReadAttributeValue() support for non-expanding entity
3974             situation
3975           - It should handle LocalName, Name, Prefix, NamespaceURI and Value
3976             correctly when the reader is on each of the value nodes of an
3977             attribute. Now XmlDocument.ReadNode() should work well.
3978         * XmlDocument.cs :
3979           - added idTable, AddIdenticalAttribute(), GetIdenticalAttribute() and
3980             RemoveIdenticalAttribute()
3981           - Implemented GetElementById().
3982         * XmlAttributeCollection.cs :
3983           - added private ownerDocument property and replaced
3984             ownerElement.OwnerDocument with it.
3985           - Added AdjustIdenticalAttribute() and it is used in SetNamedItem().
3986             It calls XmlDocument.{Add|Remove}IdenticalAttribute().
3987           - Added RemoveIdenticalAttribute() and it is used in Remove().
3988             (I also added AddIdenticalAttribute() but is not used.)
3989
3990 2003-07-26  Duncan Mak  <duncan@ximian.com>
3991
3992         * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test
3993         for OwnerElement.IsRooted to fix the build..
3994
3995 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3996
3997         * XmlDocumentType.cs :
3998           modified private DTD to dtd and added internal DTD (the same thing).
3999         * XmlElement.cs :
4000           Fixed SetAttributeNode() to check if specified attribute is already
4001           set to the other element. In fact it is W3C DOM's specification but
4002           MS.NET 1.0 failed to catch it.
4003         * XmlTextReader.cs :
4004           ReadAttributeValue() should check if the value of the attribute is
4005           already read when the whole value is entity reference.
4006           Also, Name of text nodes should be "", not "#text"
4007
4008 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4009
4010         * XmlAttribute.cs : .ctor() shouldallow localName "xml" (not prefix)
4011           with http://www.w3.org/XML/1998/namespace.
4012         * XmlEntity.cs : patch by Aleksey Sanin. InnerText is now supported.
4013         * XmlNode.cs : InnerText should handle CDATA and whitespaces.
4014         * XmlTextReader.cs : Should allow " (#PCDATA)* " in ReadContentSpec().
4015         * XmlTextWriter.cs : Quick fix for accepting (and writing) same-named
4016           attributes (as MS.NET does). It isn't good way and I may change it.
4017
4018 2003-07-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4019
4020         * DTDObjectModel.cs : Added DTDEntityDeclarationCollection and
4021           DTDNotationDeclarationCollection and replaced Hashtables with them.
4022           Added NormalizedDefaultValue property for DTDAttributeDefinition.
4023         * DTDValidatingReader.cs :
4024           - It now reads attribute values into value collection. 
4025           - Renamed consumedDefaultAttribute to consumedAttribute, and
4026             inContent to insideContent.
4027           - GetAttribute() should allow reader's other node state than element.
4028           - MoveToNextAttribute() should move when reader is placed other than
4029             the first attribute.
4030           - HandleError() now supports ValidationType.None (i.e. does nothing).
4031           - ValidateAttribute() now collects and resolves attribute value 
4032             entity references. (On the other hand, it doesn't support
4033             EntityHandling.ExpandCharEntity.)
4034           - NodeType shouldn't return Attribute after ReadAttributeValue().
4035             Now only Text is supported, but must also support EntityReference.
4036           - Add FilterNormalization() and partially support Normalization.
4037
4038 2003-07-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4039
4040         * XmlTextReader.cs :
4041           Read() now handles parser context stuff (BaseURI, XmlLang and 
4042           XmlSpace) correctly for an empty element.
4043           Normalization property now doesn't throw an error. Will be used soon.
4044         * XmlValidatingReader.cs : added ValidationType.None support (wait for
4045           the next DTDValidatingReader update for "not firing event handler).
4046         * XmlNodeReader.cs : jun. 30th commit seems wrong. It keeps its state.
4047
4048 2003-07-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4049
4050         * DTDValidatingReader.cs :
4051           changed base class to XmlReader and implemented IXmlLineInfo members.
4052           changed .ctor() argument from event handler to validating reader.
4053           Removed some #if ... #else ... #endif blocks.
4054           Added validation event support for Read() using HandleError().
4055         * XmlValidatingReader.cs : added internal OnValidationEvent().
4056         * XmlDocument.cs : ReadNode() now checks reader's state more strictly.
4057
4058 2003-07-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4059
4060         * XmlUrlResolver.cs : applied BenM's patch for file uri problem
4061           (bug #46610).
4062
4063 2003-07-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4064
4065         * DTDValidatingReader.cs :
4066           added DTDObjectModel support for non-XmlTextReader XmlReader 
4067           e.g. XmlNodeReader (Read() method).
4068         * XmlDocument.cs :
4069           added internal CreateDocumentType(XmlTextReader) and moved
4070           ReadDoctypeNode() to XmlDocumentType.ImportFromDTD().
4071         * XmlDocumentType.cs :
4072           added internal .ctor(XmlTextReader, document) and ImportFromDTD().
4073         * XmlTextReader.cs :
4074           Renamed useSbForVal (valueBuilderAvailable), valSb (valueBuilder)
4075           and currentSubset (DTD).
4076           Added GenerateDTDObjectModel() (for independent doctype parsing).
4077
4078 2003-07-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4079
4080         * XmlAttribute.cs :
4081           .ctor() should reject xml- or xmlns-prefixed node.
4082         * XmlNamespaceManager.cs :
4083           added some xmlns validity check.
4084         * XmlNode.cs :
4085           optimized GetNamespaceOfPrefix() and GetPrefixOfNamespace() by
4086           avoiding XmlNamespaceManager creation.
4087         * XmlNodeReader.cs :
4088           doctype node should return PUBLIC and SYSTEM for its indexer, 
4089           and Value should be internal subset,
4090
4091 2003-07-12  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4092
4093         * DTDObjectModel.cs,
4094           DTDValidatingReader.cs : Completely rewrote attribute handling.
4095
4096 2003-07-12  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4097
4098         * XmlAttribute.cs,
4099           XmlElement.cs : Fixed CloneNode() for bug #46129.
4100         * XmlDocument.cs : Fixed MakeReaderErrorMessage that specified invalid
4101           String.Format arguments, and basically XmlException.ctor(
4102           IXmlLineInfo, message) seems good idea to use.
4103         * XmlTextReader.cs :
4104           - Fixed .ctor(Stream, XmlNodeType, XmlParserContext) which had
4105             required non-null context which don't have to exist.
4106           - Added state check. Introduced 'currentState' and 'maybeTextDecl' 
4107             (for external entity) and removed hasEnteredDocument. Added 
4108             state-check logic to ReadStartTag(), ReadEndTag(), ReadText(),
4109             ReadCData(), ReadDoctypeDecl() and ReadWhitespace().
4110           - Replaced throw ReaderError() with throw new XmlException() and
4111             fixed that some error hadn't thrown, only created.
4112           - ResetState() should re-initialize existing private members other 
4113             than some specified fields.
4114           - Private AddAttribute() should check if the same-named attribute 
4115             already exists.
4116         * DTDObjectModel.cs : Additive declaration for ATTLIST is availabe now.
4117
4118 2003-07-09  Lluis Sanchez Gual <lluis@ximian.com>
4119
4120         * XmlTextReader.cs : Implemented ResetState() method.
4121
4122 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4123
4124         * XmlElement.cs : IsEmpty has removed attributes since it incorrectly
4125           used RemoveAll().
4126
4127 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4128
4129         * XmlDocument.cs : Load(string filename) should close its stream.
4130           Small change for the latest DTDObjectModel change.
4131         * XmlTextReader.cs : Changed for the latest DTDObjectModel change (all
4132           changed methods are only related to DTD stuff).
4133           Now uses XmlSchemaDatatype for attribute type definition.
4134         * XmlValidatingReader : initial (limited) support for DTD validation.
4135           It can handle only XmlTextReader.
4136         * DTDObjectModel.cs : changed radically for initial validation support.
4137         * added DTDAutomata.cs and DTDValidatingReader.cs.
4138
4139 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4140
4141         * XmlElement.cs : Removed extraneous xmlns output support (it should
4142           be done by XmlTextWriter).
4143         * XmlNode.cs : InsertBefore() now checks validity of the newChild (and
4144           most of the changes are in fact indentation changes).
4145         * XmlWriter.cs : WriteAttributes() now can write entity references.
4146           WriteNode() now writes xmldecl attributes correctly.
4147           Removed namespaceManager and xmlns check logic, since it should be 
4148           done by individual XmlTextWriter.
4149         * XmlTextWriter.cs : Patch by Jerome. AddMissingElementXmlns () has
4150           written multiple xmlns declarations.
4151           Moved namespaceManager from abstract XmlWriter.
4152           Write{Start|End}Attribute() and WriteString() now checks xmlns 
4153           attribute value. (MS.NET holds value only with this write method).
4154
4155 2003-07-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4156
4157         * XmlDocument.cs : removed xmlReader.Close() from Load(XmlReader).
4158
4159 2003-06-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4160
4161         * XmlDocumentNavigator.cs : Implemented MoveTo*Namespace() and 
4162           essentially changed most of the property handling (e.g. removed attribute 
4163           enumerator and it now became really cloneable).
4164         * XmlNodeReader.cs : ReadInnerXml() changes its state as error
4165           when the method is called at Initial state.
4166
4167 2003-06-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4168
4169         * XmlDocumentNavigator.cs : Fixed IsEmptyElement. It treats <foo></foo>
4170           as non-empty, and XmlElement's IsEmpty is designed as such.
4171           Fixed MoveToFirst() and MoveToNext() not to move to xmldecl nor 
4172           doctype node. 
4173         * XmlNode.cs : Fixed XPathNodeType. It should throw an exception
4174           instead of returning undefined enum value.
4175           Modified some code comments.
4176         * XmlWriter.cs : Fixed WriteNode () to use WriteFullEndElement() 
4177           when XmlReader's node is not at empty element or at EndElement. 
4178           Fixed XmlDeclaration's standalone check.
4179
4180 2003-06-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4181
4182         * XmlTextReader.cs : removed CRLFs. Fixed private InitializeContext()
4183           to use known Uri way (used in XmlUrlResolver) instead of UriBuilder.
4184
4185 2003-06-20  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4186
4187         * XmlInputStream.cs : quick fix for public ctor() BaseURI bug.
4188
4189 2003-06-20  Ben Maurer <bmaurer@users.sourceforge.net>
4190         
4191         * XmlTextReader.cs: Reduces memory allocation when the reader is
4192         not queried for some values.
4193         * NameTable.cs: Now uses a custom hashtable to implement. As a
4194         result, when Get (char[], int, int) is called, a string is only
4195         allocated if it is actually a new entry.
4196         (StrEqArray) Compares a string and a char[]
4197         (AddEntry) Adds a new entry to the hashtable
4198         (Entry) Represents a hashtable entry.
4199
4200 2003-06-20  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4201
4202         * XmlUrlResolver.cs : several ResolveUri() fix. e.g. for external URIs.
4203
4204 2003-06-16  Ben Maurer <bmaurer@users.sourceforge.net>
4205         * XmlUrlResolver.cs: really fixed #44231
4206
4207 2003-06-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4208
4209         * XmlNodeReader.cs : fixed MoveToNextAttribute(). In some cases 
4210           this method set current node null.
4211         * XmlTextReader.cs : fixed GetAttribute (name, ns), which returned
4212           String.Empty instead of null (expected value).
4213         * XmlTextReader.cs,
4214           XmlUrlResolver.cs,
4215           XmlInputStream.cs : fixed BaseURI problem (bug #44231).
4216
4217 2003-06-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4218
4219         * XmlNodeReader.cs : this [name] and this [name, ns] (and
4220           GetAttribute() methods in turn) returns null instead of String.Empty.
4221         * XmlTextWriter.cs : WriteStartAttribute() should try to use specified
4222           prefix before auto-generating prefixes.
4223           Implemented WriteBase64().
4224
4225 2003-06-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4226
4227         * XmlNodeReader.cs : LookupNamespace () has refered invalid current
4228           node for attributes. Modified to use private "document" property.
4229
4230 2003-06-10  Lluis Sanchez Gual <lluis@ximian.com>
4231
4232         * XmlTextWriter.cs: when adding an attribute with a namespace, a prefix must be automaticaly
4233           generated, and a namespace declaration must be added. 
4234         * XmlWriter.cs: the namespace for the prefix xmlns must be http://www.w3.org/2000/xmlns/
4235
4236 2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
4237
4238         * XmlAttribute.cs: Accept a null prefix or namespaceURI.
4239
4240 2003-06-10  Duncan Mak  <duncan@ximian.com>
4241
4242         * XmlDocumentNavigator.cs (GetNode): Make it implement
4243         IHasXmlNode.
4244
4245 2003-06-05  Lluis Sanchez Gual <lluis@ideary.com>
4246
4247         * XmlTextWriter.cs : Fixed bug. After calling for example WriteStartElement ("pref","ln","ns");
4248           a call to LookupPrefix ("pref") when still writting attributes should 
4249           return "ns", and it didn't.
4250
4251 2003-06-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4252
4253         * XmlDocumentNavigator.cs : quick fix for MoveToFirstChild().
4254         * XmlConvert.cs : fixed VerifyNCName() to check correctly.
4255
4256 2003-06-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4257
4258         * XmlDocumentNavigator.cs : Compute document node one time.
4259           MoveToFirstChild() should move to PIs and comments.
4260
4261 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
4262
4263         * XmlReader.cs (ReadStartElement): Improve error message.  
4264
4265 2003-05-28  Lluis Sanchez Gual <lluis@ideary.com>
4266
4267         * XmlTextReader.cs : MoveToAttribute methods must set the enumerator to the right
4268           position, since MoveToNextAttribute may be called after it. 
4269           SetProperties(): attributes do not "inherit" the namespace.
4270         * XmlDocument.cs: ReadNode(), ReadAttributeNode(): must keep the current reader position.
4271
4272 2003-05-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4273
4274         * NameTable.cs : Add() sets the given name string interned.
4275         * XmlParserContext.cs : added internal PushScope() and PopScope() to
4276           hold stacks of xml:base, xml:lang and xml:space.
4277         * XmlTextReader.cs : implemented XmlLang and XmlSpace (only as a
4278           property for stacked attributes). Renamed Initialize() to Initialize-
4279           Context(). Modified to use XmlParserContext.PushScope()/PopScope().
4280
4281 2003-05-26  Lluis Sanchez Gual <lluis@ximian.com>
4282
4283         * XmlReader.cs: Little fix to WriteAttributeString()
4284
4285 2003-05-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4286
4287         * XmlAttribute.cs, XmlCharacterData.cs, XmlComment.cs, XmlDocument.cs,
4288           XmlDocumentFragment.cs, XmlElement.cs, XmlEntity.cs, XmlLinkedNode.cs,
4289           XmlNode.cs, XmlNotation.cs, XmlProcessingInstruction.cs, XmlReader.cs,
4290           XmlSignificantWhitespace.cs, XmlText.cs, XmlWhitespace.cs:
4291           Reverted the recent accessibility mistake (5/16).
4292         * XmlDocument.cs, XmlNode.cs : moved actual CreateNavigator() logic 
4293           from XmlNode to XmlDocument.
4294
4295 2003-05-18  Lluis Sanchez Gual <lluis@ideary.com>
4296
4297         * XmlQualifiedName.cs : Fixed bug in equality operator.
4298
4299 2003-05-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4300
4301         * XmlTextWriter.cs : patch by Jonathan Hogg. Flush() does not close
4302           any open attributes or elements. WriteWhitespace() checks state and
4303           closes start tag.  Fixed WriteStringInternal() to replace CR/LF chars
4304           when it is called inside attribute value.
4305         * XmlException.cs : added .NET 1.1 .ctor.
4306         * added XmlSecureResolver.cs (only stubbing).
4307         * XmlAttribute.cs : set_InnerXml() should remove children.
4308         * XmlAttribute.cs,
4309           XmlElement.cs,
4310           XmlDocumentFragment.cs,
4311           XmlDocument.cs : removed XmlTextReader reuse (It was buggy stuff).
4312         * XmlNode.cs : RemoveAll() should also remove all attributes.
4313         * XmlTextRader.cs : .ctor() for attribute value reader should add
4314           quotations at initialization, since it requires quote chars.
4315         * XmlWriter.cs : WriteAttributeString() more correct xmlns check.
4316
4317 2003-05-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4318
4319         * changed XPathNodeType modifier to internal *protected* override.
4320         * XmlAttribute.cs : .ctor() now checks name validity e.g. xmlns.
4321         * XmlAttribute.cs, XmlElement.cs : set_Prefix checks NCName validity.
4322         * XmlAttributeCollection.cs : removed some incorrect TODO attributes.
4323         * XmlDocument.cs ; CreateAttribute(name) now auto-completes xmlns NSURI
4324           when the argument is "xmlns".
4325         * XmlElement.cs : more compliant IsEmpty support. See also WriteTo().
4326         * XmlNamespaceManager.cs : added initial "xml" and "xmlns" namespaces.
4327         * XmlNode.cs : ser_InnerXml() throws InvalidOperationException.
4328         * XmlNodeReader.cs : LookupNamespace() refactory. Fixed ReadInnerXml()
4329           not to set error state for non-started XmlNodeReader.
4330         * XmlTextReader.cs : fixed ReadAttributeValue() not to reset state.
4331           BaseURI support. Fixed Initialize() to handle Attribute correctly.
4332           SetProperty for attribute auto-completes xmlns NSURI.
4333           Attribute and whitespace handling became more correct.
4334           Don't parse external DTD if XmlResolver is null.
4335         * XmlTextWriter.cs : implemented WriteEntityRef().
4336           WriteStartAttribute() checks if ns does not equal to that of xmlns.
4337         * XmlWriter.cs : trivial refactoring (WriteNode() xmldecl output).
4338
4339 2003-05-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4340
4341         * XmlConvert.cs : IsInvalid() Now uses XmlConstructs.IsName(Start).
4342           EncodeName() now correctly encodes invalid names.
4343           Result string of ToString(DateTime) contains "fffffff".
4344
4345 2003-04-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4346
4347         * XmlElement.cs : fixed IsEmpty (removed private field isEmpty).
4348         * XmlNodeReader.cs : Fixed AttributeCount, each this[] (indexers),
4349           MoveTo*Attribute(),
4350           Fixed this[] to work correctly against XmlDeclarations.
4351           Fixed ReadInnerXml() and ReadOuterXml() to call Read() correctly.
4352           (which may prevent validations etc.)
4353         * XmlReader.cs,
4354           XmlNodeReader.cs,
4355           XmlTextReader.cs : Fixed ReadString() to be compliant with each
4356           other.
4357         * XmlTextReader.cs : ReadInnerXml() now moves to next node correctly.
4358
4359 2003-04-27  Pedro Martínez Juliá  <yoros@wanadoo.es>
4360
4361         * XmlNode.cs: ensure to get a valid Uri in BaseUri when loading the
4362         source document from a file.
4363
4364 2003-04-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4365
4366         * XmlAttribute.cs : fixed WriteTo() and WriteContentTo() to write
4367           content EntityReference correctly.
4368         * XmlNodeReader.cs : many fix for EndElement handling (AttributeCount,
4369           HasAttributes, indexers, MoveTo*Attribute() and Read() ).
4370           Modified Skip() to call Read () explicitly.
4371         * XmlTextReader.cs :
4372           Fixed ReadInnerXml() which ignored EndElement token in certain cases.
4373           Implemented MoveToAttribute (local, ns), and modified GetAttribute()
4374           in relation to this change.
4375           Attributes for XmlDeclaration are now correctly set.
4376         * XmlTextWriter.cs : WriteRaw() is now different from WriteString().
4377           Simplified WriteAttributes() for XmlDeclaration.
4378
4379 2003-04-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4380
4381         * XmlTextReader.cs : fixed ReadInnerXml(). it was inconsistent with
4382           Depth property fix.
4383
4384 2003-04-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4385
4386         * XmlDocument.cs : fixed Load() to set baseURI correctly.
4387         * XmlReader.cs : patch by Gonzalo. Fixed not to skip XmlDeclaration.
4388         * XmlTextReader.cs :
4389           fixed Depth. When it's on StartElement, Depth was already incremented.
4390           fixed private SaveProperty(), which moved away its saved properties
4391           when MoveToElement was called repeatedly.
4392         * XmlTextWriter.cs : fixed WriteQualifiedName() to close start tag.
4393         * XmlWriter.cs :
4394           WriteAttributes() refactory (for XMLDecl).
4395           WriteNode() don't Read() when the reader is Initial state, let other
4396           invokation to Read(). In case of Element, it should write entire
4397           element. In case of Attribute, it shouldn't Read().
4398           WriteStartDocument() should omit standalone decl. when there is no
4399           explicit value.
4400
4401 2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4402
4403         * XmlReader.cs: reverted last patch. It breaks System.Configuration 
4404         because 1. it considers XmlDeclaration as content and 2. always
4405         returns XmlNodeType.None.
4406         
4407
4408 2003-04-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4409
4410         * Added missing ChangeLog of 4/4/2003.
4411         * XmlTextWriter.cs : patch by Erik. fixed WriteQualifiedName.
4412           (write prefix instead of ns.)
4413         * XmlInputStream.cs : file access mode fix (FileAccess.Read was missing)
4414         * XmlTextReader.cs : modified to call Read() instead of ReadContent().
4415           (It may be required for decorated reader such as XmlValidatingReader.)
4416           Changed Read() error message for mismatch end tag.
4417         * XmlDocument.cs : (ReadNode) friendly message for mismatch EndElement.
4418         * XmlReader.cs : Corrected misinterpreted MoveToContent() method.
4419
4420 2003-04-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4421
4422         * XmlDocument.cs : Load() now closes the given XmlReader.
4423           Don't allow creation of XmlTextReader for Doctype. (workaround.)
4424         * XmlInputStream.cs : It now closes its internal stream explicitly.
4425         * XmlNode.cs : RemoveChild() bugfix for removing LastLinkedChild.
4426         * XmlNodeReader.cs : GetAttribute() bugfix for not-present attribute.
4427         * XmlParserInput.cs : added Close() method.
4428         * XmlReader.cs : MoveToContent() should (1) not Read in case of empty
4429           element, and (2) MoveToElement() in case of attribute.
4430         * XmlTextReader.cs : Close() now actually closes source TextReaders.
4431
4432 2003-03-26  Duncan Mak  <duncan@ximian.com>
4433
4434         * XmlTextWriter.cs (Write): A patch from Atsushi to fix
4435         prematurely ending the write, or something like that. It was
4436         causing us to chop off the end of the document when we're trying
4437         to generate XML Schemas.
4438
4439 2003-03-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4440
4441         * XmlTextReader.cs : implemented ReadString().
4442           fixed ctor(string, XmlNodeType, XmlParserContext) - don't raise
4443           null reference exception when context is null.
4444         * XmlNodeReader.cs : fixed ReadString() - should ignore attributes etc.
4445           fixed Read() - when positioned at EndElement, it didn't progress.
4446           fixed HasAttribute - it didn't return false in all cases.
4447           fixed Name and LocalName - only limited type of nodes return names.
4448           fixed AttributeCount - in some cases it threw null ref exception.
4449
4450 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4451
4452         * XmlTextWriter.cs : WriteStartDocument doesn't set hasRoot=true, then
4453           WriteEndDocument without root element now raises an error correctly.
4454         * XmlDocumentNavigator.cs : (MoveToFirstChild) fixed bugzilla #36672.
4455           implemented BaseURI, NameTable, XmlLang, GetAttributes, GetNamespace,
4456           MoveToAttribute.
4457
4458 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4459
4460         * XmlElement.cs : RemoveAttribute now don't throws when specified
4461           attribute does not exist.
4462
4463 2003-03-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4464
4465         * XmlNode.cs : add descriptions for some node type error.
4466
4467 2003-03-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4468
4469         * XmlNodeArrayList.cs, XmlNodeListChildren.cs : bugzilla #39920 fix.
4470
4471 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4472
4473         * XmlDeclaration.cs : quick fix, not to use regex for set_Value.
4474
4475 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4476
4477         * XmlTextReader.cs : Fixed wrong notationdecl SYSTEM id read.
4478         * XmlInputStream.cs : Should allow versionless input stream entity.
4479
4480 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4481
4482         * added XmlParserInput.cs for multi xml document sources.
4483         * added DTDObjectModel.cs (maybe temporary).
4484         * XmlTextReader.cs :
4485           + fixed ctor to use XmlStreamReader. Allowed null XmlParserContext.
4486           + Some members such as LineNumber, ReadChar now uses XmlParserInput.
4487           + added support for Namespaces (namespace-ignorant parse available).
4488           + added support for XmlResolver.
4489           + replace SetReaderContext()/SetReaderFragment() with Initialize().
4490           + use NameTable in CreateNameString.
4491           + fixed ReadCData(). Now reads "]]]>" correctly.
4492           + support for DTD parse.
4493           + Read() now throws an error when it reached EOF while Depth > 0.
4494         * XmlAttribute.cs,
4495           XmlDocumentFragment.cs,
4496           XmlElement.cs : fix related to the changes of XmlTextReader.Initialize
4497         * XmlDocument.cs : ReadNode() now reads DocumentType.
4498         * XmlDocumentType.cs : implemented Entities, Notations, WriteTo().
4499         * XmlEntity.cs,
4500           XmlNotation.cs : added override LastLinkedChild (for doctype node).
4501         * XmlNamedNodeMap.cs : Remove() raises an error if target is read only.
4502         * XmlElement.cs : bugfix for node removal of set_InnerXml.
4503         * XmlNode.cs : added insertBeforeIntern() derived from InsertBefore().
4504           (to append child XmlEntity into XmlDocumentType correctly.)
4505         * XmlInputStream.cs : fixed to access file with FileAccess.Read.
4506
4507 2003-03-15  Duncan Mak  <duncan@ximian.com>
4508
4509         * XmlElement.cs (Name): Only append prefix + ':' when prefix is
4510         neither String.Empty nor null. Thanks to Simon Guindon for
4511         reporting the bug and Jackson for fixing this bug with me.
4512
4513 2003-03-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4514
4515         * XmlConstructs.cs : fix "int IsXXX()" to reject negative value.
4516         * XmlDocument.cs : simplify Load(string url) to use XmlTextReader.
4517           fixed ReadNode(), it should call reader.Read() only on Initial state.
4518         * XmlInputStream.cs : Changed namespace. Added XmlStreamReader(stream)
4519           and XmlStreamReader (string). Fixed XmlInputStream(url) not to use
4520           System.Net.WebClient directly.
4521         * XmlParserContext.cs : baseURI never be null.
4522         * XmlTextWriter.cs : use WebName for Encoding instead of HeaderName.
4523         * XmlUrlResolver.cs : namespace change for XmlInputStream.
4524
4525 2003-03-12  Elan Feingold <efeingold@mn.rr.com>
4526
4527         * XmlTextReader.cs: When throwing a ReaderException, show what
4528         character was the culprit
4529
4530 2003-03-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4531
4532         * XmlDocumentFragment.cs, XmlElement.cs :
4533           modified InnerXml (fragment type from Element to DocumentFragment).
4534
4535         * XmlElement.cs : fixed WriteTo() ns check.
4536         * XmlNamespaceManager.cs : MS.NET allows Add() used two or more times.
4537         * XmlNode.cs : fixed ConstructNamespaceManager().
4538
4539         * XmlConstructs.cs : added IsSpace, IsName, IsNameStart, IsNCName,
4540           IsPubid with an int arg.
4541         * XmlReader.cs : changed to use XmlChar.cs (its role is as same as
4542           XmlConstructs.cs).
4543         * XmlTextReader.cs :
4544           improved error messages with line info.
4545           / checking matching start and end tags.
4546           / prevents the apperance of multiple root elements. (patch by Erik)
4547           fixed and refactored ReadInnerXml() and ReadOuterXml()
4548           changed to use XmlChar.cs.
4549
4550         * XmlTextWriter.cs : changed to put element's xmlns at CloseStartTag ()
4551           (It will help c14n implementation.)
4552           / blocks multiple attribute output with element node.
4553
4554 2003-02-28  Alan Tam <Tam@SiuLung.com>
4555
4556         * XmlConvert.cs: fixed the most ToXXX(string) and ToString(XXX)
4557         methods to make them compatible with the XML Schema Spec from W3C
4558         ToString(TimeSpan) is still outstanding
4559
4560 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4561
4562         * XmlDocument.cs:
4563         (Load (string)): hack to workaround some issues with Uri.Parse. Once
4564         Parse is fixed, remove the hack.
4565
4566 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4567
4568         * XmlQualifiedName.cs : fixed GetHashCode() to avoid null reference
4569         * XmlTextReader.cs : fixed ReadAttributeValue() to handle 
4570                 entity reference, and some refactory.
4571
4572 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4573
4574         * XmlUrlResolver.cs : WebClient.Credentials was not implemented yet.
4575
4576 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4577
4578         * XmlInputStream.cs : added (also contains internal XmlStreamReader).
4579         * XmlDocument.cs : Load () now can specify URL using XmlUrlResolver,
4580                 and can read non-UTF-8 stream.
4581         * XmlTextReader.cs : related to above stream fix.
4582         * XmlUrlResolver.cs : implemented GetEntity ().
4583
4584 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4585
4586         * XmlTextWriter.cs: implemented WriteRaw (char[], int, int).
4587
4588 2003-02-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4589
4590         * XmlTextReader.cs : implemented QuoteChar.
4591
4592 2003-01-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4593
4594         * XmlNode.cs : implemented ReplaceChild.
4595           removed DocElem checking at InsertBefore.
4596         * XmlNodeReader.cs : fixed ReadString and Read for correct node info.
4597         * XmlText.cs : implemented CloneNode and SplitText.
4598
4599 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4600
4601         * XmlCharacterData.cs: added XPathNodeType property.
4602
4603 2003-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4604
4605         * XmlTextWriter.cs: throw an exception if WriteEndDocument is
4606         called without a prior call to WriteStartDocument.
4607
4608 2003-01-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4609
4610         * XmlNodeReader.cs : several fix to get more compatible with MS.NET.
4611
4612 2003-01-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4613
4614         * XmlNamespaceManager.cs : fundamental change of LookupPrefix to return
4615                 null when no matching uri.
4616         * XmlElement.cs : removed unnecessary xmlns output.
4617         * XmlNode.cs : GetPrefixOfNamespace fix along with the change above.
4618         * XmlTextWriter.cs : LookupPrefix and WriteStartElementInternal fix 
4619                 along with the change above, and moved timing of 'xmlns' output 
4620                 to CloseStartElement.
4621         * XmlWriter.cs: modified WriteStartAttribute, same as yesterday.
4622
4623 2003-01-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4624
4625         * XmlWriter.cs: modified WriteStartElement (see test for detail).
4626         Added WriteNode.
4627
4628 2003-01-13  Ville Palo <vi64pa@koti.soon.fi>
4629
4630         * XmlDocument.cs: Added CheckName () method to check names validity.
4631         
4632 2003-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4633
4634         * XmlTextReader.cs:
4635         (ReadOuterXml): use Depth property which return elementDepth, not depth.
4636
4637 2003-01-11  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4638
4639         * XmlElement.cs : (by ville) XmlElement.set_InnerText event bugfix.
4640         * XmlTextReader.cs : some fix for ReadOuterXml().
4641
4642 2003-01-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4643
4644         * XmlTextReader.cs : bugfix for attributes related to creation of 
4645           XmlAttribute *node*.
4646
4647 2003-01-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4648
4649         * XmlTextReader.cs : bugfix for attribute values which have entity
4650           references.
4651
4652 2002-12-28  Ville Palo <vi64pa@koti.soon.fi>
4653
4654         * XmlDocument.cs: XmlTextWriter.Formatting == Indented when 
4655         calling Save () -methods.
4656         
4657 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4658
4659         * XmlNodeReader.cs : primitive reading implementation.
4660
4661 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4662
4663         * XmlElement.cs : quick fix for the incomplete patch of #35308 below.
4664
4665 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4666
4667         * XmlDocument.cs : removed inconsistent line-feed output.
4668         * XmlElement.cs, XmlTextWriter.cs :
4669                 fixed for bugzilla 35308 (default ns output)
4670         * XmlWhitespace.cs : limited output only when preserving whitespace.
4671
4672 2002-12-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4673
4674         * XmlAttribute.cs, XmlDocument.cs, XmlTextReader.cs:
4675                 Implemented XmlTextReader.ReadAttributeValue().
4676                 Added internal ReadAttributeNodeValue().
4677                 Fixed XmlAttribute.InnerXml to use these methods.
4678         
4679         * XmlDocument.cs, XmlDocumentFragment.cs, XmlElement.cs, XmlNode.cs:
4680                 Implemented XmlDocument.ReadNode() and removed ConstructDOM().
4681                 Other changes are replacing them.
4682
4683 2002-12-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4684
4685         * XmlDocument.cs: patch by Ville (fixed default PreserveWhitespace)
4686
4687 2002-12-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4688
4689         * XmlElement.cs, XmlTextWriter.cs, XmlWriter.cs:
4690                 patch by JD Conley <jconley@winfessor.com>.
4691                 (Fix for xmlns attribute output.)
4692
4693 2002-12-05  Ville Palo <vi64p@koti.soon.fi>
4694
4695         * XmlQualifiedName.cs: Little fix to ToString () -method
4696
4697 2002-12-04  Tim Haynes  <thaynes@openlinksw.com>
4698
4699         * class/System.XML/System.Xml/XmlElement.cs: Made more refined
4700         checks on attributeNode to fix 32262.
4701
4702 2002-12-03  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
4703
4704         * XmlDocument.cs (CreateNavigator(XmlNode)) : reverted
4705         * XmlTextWriter.cs (WriteStartElementInternal):
4706           fixed when default namespace was specified, all descendants
4707           fail to omit the default namespace declarations.
4708         * XmlAttribute.cs,
4709           XmlDocument.cs,
4710           XmlNode.cs (internal XmlLang/XmlSpace) : implemented(defined)
4711         * XmlAttribute.cs,
4712           XmlDocumentFragment.cs,
4713           XmlElement.cs (set_InnerXml): now uses XmlLang/XmlSpace
4714         * XmlElement.cs (set_IsEmpty) : implemented
4715           (WriteTo) : removed my improper indenting (Writer already done)
4716         * XmlNode.cs (BaseURI) : fixed if ParentNode is null, NullPointerEx
4717           (ConstructDOM) : implemented when xmlReader isn't XmlTextReader
4718         ...and renamed XmlDocument.ConventionalParser to ReusableReader ;-)
4719
4720 2002-12-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
4721
4722         * XmlNode.cs (RemoveChild):
4723                 bugfixed when XmlNode is Document OwnerDocument is null
4724         * XmlDeclaration.cs (Value):
4725                 bugfixed regular expression pattern.
4726         * XmlDocument.cs (CreateNavigator): bugfixed access modifier.
4727
4728 2002-11-24  Duncan Mak  <duncan@ximian.com>
4729
4730         * XmlImplementation.cs (HasFeature): Fixed a typo. Thanks for
4731         Fabricio Barros Cabral (fx) on #mono for spotting it. This is his
4732         first patch to Mono! ;-)
4733
4734 2002-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4735
4736         * XmlNode.cs:
4737         (AppendChild): readded refChild != null condition before throwing
4738         "cannot insert this node in this position" exception. There's probably
4739         a better solution. Fixes #34191.
4740         (RemoveAll): changed following Atsushi instructions.
4741         
4742
4743 2002-11-13  Duncan Mak  <duncan@ximian.com>
4744
4745         * XmlElement.cs (IsEmpty): A temporary check-in to keep gtk-sharp
4746         compiling.
4747
4748 2002-11-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4749
4750         * XmlDocument.cs : unified all constructors, added ConventionalParser,
4751                 implemented CloneNode() and CreateEntityReference(),
4752         * XmlEntityReference.cs : set_Value, WriteContentTo, WriteTo
4753                 set BaseURI to MonoTODO
4754         * XmlNode.cs : implemented PrependChild, modified ConstructDOM,
4755                 bugfix InsertAfter (incorrect prepending) and InsertBefore
4756                 (more than one DocumentElements hadn't caused errors)
4757         * XmlTextReader.cs : unified all constructors,
4758                 added internal SetReaderContext(), SetReaderFragment()
4759                 bugfix (syntax check of PUBLIC / getting internal subset)
4760
4761 2002-11-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4762
4763         XmlAttribute.cs : set_InnerText, set_InnerXml, some check for set_Prefix
4764         XmlAttributeCollection.cs : (indexer) this[localName, namespaceURI]
4765         XmlCharacterData.cs : exchanged Data and Value
4766                 (for processing events and inheritance)
4767         XmlDocumentFragment.cs : set_InnerXml
4768         XmlSignificantWhitespace.cs : set_Value
4769         XmlTextReader.cs : ReadAttributeValue
4770
4771 2002-11-04  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
4772
4773         XmlAttribute.cs: fixed missing internal 'OwnerElement''SetOwnerElement'
4774
4775 2002-11-03  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
4776
4777         * XmlAttributeCollection.cs : checks owner element.
4778                 implemented CopyTo, InsertAfter, InsertBefore, Prepend,
4779                 Remove, RemoveAt, SetNamedItem.
4780                 removed some logics that sets 'Parent' (that should be null)
4781         * XmlDocument.cs : set_InnerXml, [PreserveWhitespace(incomplete)]
4782         * XmlDocumentFragment.cs : get_InnerXml, WriteContentTo, WriteTo
4783         * XmlElement.cs : implemented WriteTo, set_InnerText.
4784                 Fixed WriteTo() to add xmlns:* attributes when
4785                 writer.LookupPrefix() returned mismatching.
4786         * XmlNamedNodeMap.cs : compare not only name but localname and nsuri.
4787                 Removing different prefixes for the same uri now runs correct.
4788                 added SetNamedItem(XmlNode node, int position_to_insert).
4789         * XmlNode.cs : ConstructDOM (logically) creates XmlEntityReference,
4790                 XmlWhitespace, and XmlSignificantWhitespace
4791
4792 2002-10-31  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
4793
4794         * XmlDocument.cs : implemented CreateDocumentFragment()
4795         * XmlElement.cs, XmlLinkedNode.cs :
4796                 moved LastLinkedChild from XmlElement to XmlLinkedNode.
4797         * XmlEntityReference.cs : must throw NotImplementedException.
4798         * XmlNode.cs :
4799               + implemented InsertBefore() and then implemented InsertAfter()
4800                 and modified AppendChild() to call it.
4801               + added logic to check ReadOnly, parent document equivalence,
4802                 and inserting any 'content' before/after DocumentElement.
4803               + implemented Clone() [it is equals to CloneNode() by MS doc.]
4804               + added logic in RemoveChild() to check parent of oldChild.
4805               + fixed ConstructNamespaceManager() to internal only.
4806
4807 2002-10-29  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
4808
4809         * XmlAttribute.cs : add internal 'IsDefault' property
4810                             (equals to !Specified)
4811         * XmlImplementation.cs : added 'internalNameTable' property.
4812         * XmlDocument.cs :
4813             + now allows "" for 'standalone' in CreateXmlDeclaration.
4814             + implemented 'Implementation' property and constructor with it.
4815             + added logic for appending name table (but still no use)
4816             + implemented property 'DocumentType'
4817               (but without internalSubset parsing. wait for next update.)
4818         * XmlNode.cs :
4819             + modified AppendChild() and RemoveChild() to support fragment.
4820             + modified AppendChild() to remove newChild from its parent
4821               when newChild is already in the other place.
4822             + modified RemoveChild() to set parentNode null.
4823             + modified ConstructDOM() to create DocumentType,
4824               and fixed access modifier ('internal protected' to 'internal')
4825         * XmlLinkedNode.cs : fixed 'NextSibling' to return null
4826                 when its parent is null.
4827         * XmlDocumentFragment.cs : added internal override 'LastLinkedChild'
4828                 property to enable AppendChild() for this class.
4829         * XmlTextReader.cs : appended private publicId and systemId fields.
4830
4831 2002-10-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4832
4833         * XmlTextReader.cs: make it work when the underlying Stream is not
4834         'seekable'.
4835
4836 2002-10-26  Piers Haken <piersh@friskit.com>
4837
4838         * XmlNode.cs: add virtual property XPathNodeType
4839         * XmlAttribute.cs:
4840         * XmlComment.cs:
4841         * XmlDocument.cs:
4842         * XmlElement.cs::
4843         * XmlProcessingInstruction.cs:
4844         * XmlSignificantWhitespace.cs:
4845         * XmlText.cs:
4846         * XmlWhitespace.cs: implement XPathNodeType property
4847         * XmlDocumentNavigator.cs: use XPathNodeType property instead of switch
4848
4849 2002-10-26  Piers Haken <piersh@friskit.com>
4850
4851         * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
4852
4853 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4854
4855         * XmlTextReader.cs: don't increment depth for entity references.
4856
4857 2002-10-22  Tim Haynes <thaynes@openlinksw.com>
4858
4859         * - Fixed the duplication of xmlns:xx = yy when serializing the
4860         XML for serialization
4861         
4862         Fixed the unnecessary parsing/serializing when adding assemblies
4863         for serialization 
4864
4865         Avoided setting the XmlNode.InnerXml property
4866         (as it's not implemented) 
4867
4868         Fixed the usage/implementation of
4869         XmlElement.GetElementsByTagName()
4870         
4871 2002-10-21  Duncan Mak  <duncan@ximian.com>
4872
4873         * XmlDocument.cs:
4874         * XmlElement.cs:
4875         * XmlNode.cs:
4876         * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
4877         Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
4878
4879 2002-10-18  Duncan Mak  <duncan@ximian.com>
4880
4881         * XmlDocument.cs: Applied a patch by Atsushi Enomoto
4882         <ginga@kit.hi-ho.ne.jp>.
4883
4884 2002-10-12  A.Enomoto <ginga@kit.hi-ho.ne.jp>
4885
4886         * XmlDocument.cs (ImportNode): Implemented
4887
4888 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4889
4890         * XmlDocument.cs: one more Load method implemented.
4891         * XmlTextReader.cs: Depth now works.
4892
4893 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4894
4895         * XmlConvert.cs: IsInvalid is now internal.
4896         * XmlNamespaceManager.cs: implemented RemoveNamespace
4897         * XmlTextReader.cs: return BaseURI and Encoding from the parser.
4898         * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
4899
4900 2002-09-19  Matt Hunter <mahunter@tconl.com>
4901
4902         * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
4903         * XmlAttributeCollection.cs: Implemented Append (XmlAttribute) 
4904           
4905 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4906
4907         * XmlConvert.cs: finished implementation.
4908         * XmlTextReader.cs: fixed #30239.
4909         * XmlTextWriter.cs: fixed #30240.
4910
4911 2002-09-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4912
4913         * XmlTextReader.cs: line and position begin with 1.
4914
4915 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4916
4917         * XmlException.cs: added a new internal constructor for IXmlLineInfo
4918         and output line and position info in Message.
4919
4920         * XmlReader.cs: implemented missing bits.
4921
4922 2002-09-12      Piers Haken <piersh@friksit.com>
4923
4924         * XmlDocumentNavigator.cs: implement MoveToId()
4925
4926 2002-09-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4927
4928         * XmlTextWriter.cs: fixed bug #29886.
4929
4930 2002-08-26  Ravi Pratap  <ravi@ximian.com>
4931
4932
4933         * XmlAttribute.cs (InnerText): Implement getting this property.
4934
4935         * XmlNode.cs (InnerText): Ensure that we append only values of
4936         text nodes.
4937
4938 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4939
4940         * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
4941         that allowed compiling this.
4942         [ FIXME: filed bug #29435. mcs should have failed on this ]
4943
4944 2002-08-25  Tim Coleman <tim@timcoleman.com>
4945         * XmlNode.cs:
4946                 Change CreateNavigator to not be virtual.
4947         * XmlElement.cs:
4948                 Add set_Prefix and InnerText accessors.
4949         * XmlEntityReference.cs:
4950                 Add set_Value accessor.
4951         * XmlTextWriter.cs:
4952                 Make objects which should be private private.
4953         * XmlWriter.cs:
4954                 Remove WriteStartElementInternal abstract definition.
4955         * XmlValidatingReader.cs:
4956                 New stubs added.
4957
4958 2002-08-22  Jason Diamond <jason@injektilo.org>
4959
4960         * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
4961         and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
4962
4963 2002-08-22  Jason Diamond <jason@injektilo.org>
4964
4965         * XmlElement.cs: Correction to previous GetElementsByTagName patch
4966         courtesy of Matt Hunter <xrkune@tconl.com>.
4967
4968 2002-08-22  Jason Diamond <jason@injektilo.org>
4969
4970         * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
4971         qualified GetElementsByTagName courtesy of Matt Hunter 
4972         <xrkune@tconl.com>.
4973
4974 2002-08-19  Jason Diamond <jason@injektilo.org>
4975
4976         * XmlDocument.cs, XmlElement.cs: Added implementation of 
4977         GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
4978
4979 2002-08-16  Jason Diamond <jason@injektilo.org>
4980
4981         * XmlElement.cs: Fixed writing out qualified elements courtesy of
4982         Marcus Bürgel <marcus.buergel@gmx.de>.
4983
4984 2002-08-13  Tim Coleman <tim@timcoleman.com>
4985         * XmlTextWriter.cs:
4986                 Partial implementation of WriteQualifiedName ().
4987
4988 2002-08-07  Kral Ferch <kral_ferch@hotmail.com>
4989         * XmlCharacterData.cs:  Implemented AppendData(), DeleteData(),
4990                 InsertData(), and ReplaceData().  These methods fire the
4991                 NodeChanging and NodeChanged events.
4992                 
4993         * XmlDocument.cs:  Fixed bugs in onNodeChanged() and onNodeChanging().
4994         
4995         * XmlNode.cs:  AppendChild() fires NodeInserting and NodeInserted events.
4996                 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
4997         
4998 2002-08-03  Tim Coleman <tim@timcoleman.com>
4999         * XmlNamespaceManager.cs:
5000                 .Net allows the empty namespace to be redefined
5001                 at a later point, but the current implementation
5002                 did not.  This fixes a hashtable conflict.
5003
5004 2002-07-26  Tim Coleman <tim@timcoleman.com>
5005         * XmlTextWriter.cs:
5006                 When given a textwriter, check to see if it has a
5007                 null encoding. This was being done for other inputs
5008                 than a textwriter.
5009
5010 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
5011
5012         * XmlTextReader.cs: rough line/column support.
5013
5014 2002-07-23  Duncan Mak  <duncan@ximian.com>
5015
5016         * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
5017         (string, string []) is particularly strange.
5018
5019         * XmlException.cs: Remember to call the base serialization
5020         constructor.
5021
5022         * XmlNodeReader.cs: Keep a new variable to store the Depth. 
5023
5024 2002-07-14  Jason Diamond  <jason@injektilo.org>
5025
5026         * XmlAttribute.cs: Removed ownerElement field since we can reuse 
5027         parentNode field.
5028
5029         * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
5030         if the current node is an attribute.
5031
5032         * XmlElement.cs: SetAttributeNode now sets the new attribute's
5033         owner element.
5034
5035 2002-07-12  Jason Diamond  <jason@injektilo.org>
5036
5037         * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
5038         creating an element, use String.Empty instead.
5039
5040 2002-07-12      Piers Haken <piersh@friksit.com>
5041
5042         * XmlAttributeCollection.cs: implement some ItemOf indexers
5043         * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
5044         * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
5045
5046 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
5047
5048
5049 2002-10-26  Piers Haken <piersh@friskit.com>
5050
5051         * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
5052
5053 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5054
5055         * XmlTextReader.cs: don't increment depth for entity references.
5056
5057 2002-10-22  Tim Haynes <thaynes@openlinksw.com>
5058
5059         * - Fixed the duplication of xmlns:xx = yy when serializing the
5060         XML for serialization
5061         
5062         Fixed the unnecessary parsing/serializing when adding assemblies
5063         for serialization 
5064
5065         Avoided setting the XmlNode.InnerXml property
5066         (as it's not implemented) 
5067
5068         Fixed the usage/implementation of
5069         XmlElement.GetElementsByTagName()
5070         
5071 2002-10-21  Duncan Mak  <duncan@ximian.com>
5072
5073         * XmlDocument.cs:
5074         * XmlElement.cs:
5075         * XmlNode.cs:
5076         * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
5077         Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
5078
5079 2002-10-18  Duncan Mak  <duncan@ximian.com>
5080
5081         * XmlDocument.cs: Applied a patch by Atsushi Enomoto
5082         <ginga@kit.hi-ho.ne.jp>.
5083
5084 2002-10-12  A.Enomoto <ginga@kit.hi-ho.ne.jp>
5085
5086         * XmlDocument.cs (ImportNode): Implemented
5087
5088 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5089
5090         * XmlDocument.cs: one more Load method implemented.
5091         * XmlTextReader.cs: Depth now works.
5092
5093 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5094
5095         * XmlConvert.cs: IsInvalid is now internal.
5096         * XmlNamespaceManager.cs: implemented RemoveNamespace
5097         * XmlTextReader.cs: return BaseURI and Encoding from the parser.
5098         * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
5099
5100 2002-09-19  Matt Hunter <mahunter@tconl.com>
5101
5102         * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
5103         * XmlAttributeCollection.cs: Implemented Append (XmlAttribute) 
5104           
5105 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5106
5107         * XmlConvert.cs: finished implementation.
5108         * XmlTextReader.cs: fixed #30239.
5109         * XmlTextWriter.cs: fixed #30240.
5110
5111 2002-09-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5112
5113         * XmlTextReader.cs: line and position begin with 1.
5114
5115 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5116
5117         * XmlException.cs: added a new internal constructor for IXmlLineInfo
5118         and output line and position info in Message.
5119
5120         * XmlReader.cs: implemented missing bits.
5121
5122 2002-09-12      Piers Haken <piersh@friksit.com>
5123
5124         * XmlDocumentNavigator.cs: implement MoveToId()
5125
5126 2002-09-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5127
5128         * XmlTextWriter.cs: fixed bug #29886.
5129
5130 2002-08-26  Ravi Pratap  <ravi@ximian.com>
5131
5132
5133         * XmlAttribute.cs (InnerText): Implement getting this property.
5134
5135         * XmlNode.cs (InnerText): Ensure that we append only values of
5136         text nodes.
5137
5138 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5139
5140         * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
5141         that allowed compiling this.
5142         [ FIXME: filed bug #29435. mcs should have failed on this ]
5143
5144 2002-08-25  Tim Coleman <tim@timcoleman.com>
5145         * XmlNode.cs:
5146                 Change CreateNavigator to not be virtual.
5147         * XmlElement.cs:
5148                 Add set_Prefix and InnerText accessors.
5149         * XmlEntityReference.cs:
5150                 Add set_Value accessor.
5151         * XmlTextWriter.cs:
5152                 Make objects which should be private private.
5153         * XmlWriter.cs:
5154                 Remove WriteStartElementInternal abstract definition.
5155         * XmlValidatingReader.cs:
5156                 New stubs added.
5157
5158 2002-08-22  Jason Diamond <jason@injektilo.org>
5159
5160         * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
5161         and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
5162
5163 2002-08-22  Jason Diamond <jason@injektilo.org>
5164
5165         * XmlElement.cs: Correction to previous GetElementsByTagName patch
5166         courtesy of Matt Hunter <xrkune@tconl.com>.
5167
5168 2002-08-22  Jason Diamond <jason@injektilo.org>
5169
5170         * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
5171         qualified GetElementsByTagName courtesy of Matt Hunter 
5172         <xrkune@tconl.com>.
5173
5174 2002-08-19  Jason Diamond <jason@injektilo.org>
5175
5176         * XmlDocument.cs, XmlElement.cs: Added implementation of 
5177         GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
5178
5179 2002-08-16  Jason Diamond <jason@injektilo.org>
5180
5181         * XmlElement.cs: Fixed writing out qualified elements courtesy of
5182         Marcus Bürgel <marcus.buergel@gmx.de>.
5183
5184 2002-08-13  Tim Coleman <tim@timcoleman.com>
5185         * XmlTextWriter.cs:
5186                 Partial implementation of WriteQualifiedName ().
5187
5188 2002-08-07  Kral Ferch <kral_ferch@hotmail.com>
5189         * XmlCharacterData.cs:  Implemented AppendData(), DeleteData(),
5190                 InsertData(), and ReplaceData().  These methods fire the
5191                 NodeChanging and NodeChanged events.
5192                 
5193         * XmlDocument.cs:  Fixed bugs in onNodeChanged() and onNodeChanging().
5194         
5195         * XmlNode.cs:  AppendChild() fires NodeInserting and NodeInserted events.
5196                 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
5197         
5198 2002-08-03  Tim Coleman <tim@timcoleman.com>
5199         * XmlNamespaceManager.cs:
5200                 .Net allows the empty namespace to be redefined
5201                 at a later point, but the current implementation
5202                 did not.  This fixes a hashtable conflict.
5203
5204 2002-07-26  Tim Coleman <tim@timcoleman.com>
5205         * XmlTextWriter.cs:
5206                 When given a textwriter, check to see if it has a
5207                 null encoding. This was being done for other inputs
5208                 than a textwriter.
5209
5210 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
5211
5212         * XmlTextReader.cs: rough line/column support.
5213
5214 2002-07-23  Duncan Mak  <duncan@ximian.com>
5215
5216         * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
5217         (string, string []) is particularly strange.
5218
5219         * XmlException.cs: Remember to call the base serialization
5220         constructor.
5221
5222         * XmlNodeReader.cs: Keep a new variable to store the Depth. 
5223
5224 2002-07-14  Jason Diamond  <jason@injektilo.org>
5225
5226         * XmlAttribute.cs: Removed ownerElement field since we can reuse 
5227         parentNode field.
5228
5229         * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
5230         if the current node is an attribute.
5231
5232         * XmlElement.cs: SetAttributeNode now sets the new attribute's
5233         owner element.
5234
5235 2002-07-12  Jason Diamond  <jason@injektilo.org>
5236
5237         * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
5238         creating an element, use String.Empty instead.
5239
5240 2002-07-12      Piers Haken <piersh@friksit.com>
5241
5242         * XmlAttributeCollection.cs: implement some ItemOf indexers
5243         * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
5244         * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
5245
5246 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
5247
5248         * XmlTextWriter: Fixed Indentation. IndentationOverridden should
5249                 not be set when inside a attribute.
5250
5251 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
5252
5253         * XmlTextWriter: In WriteStartElement, if namespace is null and 
5254                 prefix is null|empty do not write out xmlns=""
5255         
5256         * XmlWriter: WriteStartElement calls the virtual method with null
5257                 argument instead of empty string.
5258
5259 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5260
5261         * XmlTextReader.cs: implemented .ctor (Stream).
5262
5263 2002-06-26  Duncan Mak  <duncan@ximian.com>
5264
5265         * XmlNodeReader.cs: Implementation of most of the properties, and
5266         some of the related methods. 
5267
5268 2002-06-23  Piers Haken <piersh@friskit.com>
5269         
5270         * XmlDocumentNavigator.cs: implement Clone()
5271         * XmlElement.cs: remove bogus unimplemented override of InnerText
5272         * XmlNode.cs: implment SelectNodes/SelectSingleNode
5273         * XmlNodeArrayList.cs: new support class for SelectNodes
5274
5275 2002-06-21  Ajay kumar Dwivedi <adwiv@yahoo.com>
5276         
5277         * XmlQualifiedName: Name and Namespaces are never null. If null is passed
5278                 to the constructor, set them to empty strings.
5279                 Fixed the Operators.
5280         
5281 2002-06-18  Ajay kumar Dwivedi <adwiv@yahoo.com>
5282         
5283         * XmlTextReader.cs: HasLineInfo returns false instead of throwing an
5284         Exception.
5285
5286 2002-06-14  Duncan Mak  <duncan@ximian.com>
5287
5288         * XmlConvert.cs: Added CLSCompliant attributes to methods.
5289         
5290 2002-06-12  Duncan Mak  <duncan@ximian.com>
5291
5292         * XmlCharacterData.cs (Value): Throw an ArgumentException in the
5293         set block if the node is read-only.
5294
5295 2002-06-10  Ajay kumar Dwivedi <adwiv@yahoo.com>
5296         * XmlConstruct.cs : New Internal class with Helper methods for
5297         Checking XmlConstructs
5298         * XmlConvert.cs: Implemented most of the methods
5299
5300 2002-06-08  Duncan Mak  <duncan@ximian.com>     
5301
5302         * XmlDocument.cs (Load):
5303         Added bits to Load (string) for BaseURI support.
5304
5305         * XmlAttribute.cs (BaseURI): 
5306         * XmlDocument.cs (BaseURI): 
5307         * XmlEntity.cs (BaseURI): Implemented.
5308
5309 2002-05-27  Jason Diamond  <jason@injektilo.org>
5310
5311         * XmlDocumentNavigator.cs: Added file to directory.
5312
5313         * XmlNode.cs (CreateNavigator): Implemented.
5314         (InnerText): Implemented.
5315
5316         * XmlDocument.cs (NamespaceURI, Prefix): Return String.Empty instead of
5317         throwing exception.
5318         (Load(XmlReader)): Allow for namespace qualified attributes.
5319
5320         * XmlElement.cs: Implemented GetAttribute(string, string) and both 
5321         GetAttributeNode overloads.
5322         (SetAttributeNode(XmlAttribute)): Implemented.
5323
5324         * XmlNamedNodeMap.cs: Fixed copy/paste bugs in GetNamedItem(string, string)
5325         and RemoveNamedItem(string, string).
5326
5327         * XmlLinkedNode.cs (PreviousSibling): Implemented.
5328
5329         * XmlTextReader.cs: Added code to maintain the order of attributes as 
5330         they're parsed. XML doesn't require this but Microsoft's parser does it and
5331         matching them makes testing easier so now we have it, too.
5332
5333 2002-05-26  Miguel de Icaza  <miguel@ximian.com>
5334
5335         * XmlDocument.cs: Implement the Save methods.
5336
5337 2002-05-08  Mike Kestner  <mkestner@speakeasy.net>
5338
5339         * XmlNamedNodeMap.cs (SetNamedItem): Fixed a copy/paste bug.
5340
5341 2002-04-28  Duncan Mak  <duncan@ximian.com>
5342
5343         * XmlSignificantWhitespace.cs (Value):
5344         * XmlWhitespace.cs (Value): Added MonoTODO to the 'set'
5345         block. Added new private method, IsValidWhitespaceChar, for
5346         checking.
5347
5348 2002-04-16  Duncan Mak  <duncan@ximian.com>
5349
5350         * XmlParserContext.cs (NameTable): Fixed a typo in the set block.
5351
5352 2002-04-12  Duncan Mak  <duncan@ximian.com>
5353
5354         * XmlAttribute.cs (Prefix): Added preliminary code for set block,
5355         added comment on work that needs to be done here. A new MonoTODO item. 
5356
5357         * XmlDocument.cs (ctor): Corrected constructor signature, changed
5358         parameter from 'NameTable' to 'XmlNameTable'.
5359
5360         * XmlDocumentFragment.cs (InnerXml): Added missing set block.
5361
5362         * XmlCaseOrder.cs: Moved to System.Xml.XPath.
5363
5364 2002-04-10  Duncan Mak  <duncan@ximian.com>
5365
5366         * XmlNodeReader.cs: Initial stubs for the class.
5367
5368 2002-04-08  Kral Ferch  <kral_ferch@hotmail.com>
5369
5370         * XmlAttributes.cs: InnerXml getter, WriteContentTo, and WriteTo
5371         implementations.
5372         
5373         * XmlDeclaration.cs: WriteTo implementation.
5374         
5375         * XmlDocument.cs: InnerXml getter implementation.
5376         
5377         * XmlElement.cs: InnerXml getter implementation.
5378
5379         * XmlNode.cs: Removed MonoTODO attrib on OuterXml.
5380         
5381         * XmlSignificantWhitespace.cs: WriteTo implementation.
5382         
5383         * XmlText.cs: WriteContentTo and WriteTo implementation.
5384         
5385         * XmlTextWriter.cs: WriteRaw implementation.
5386         
5387         * XmlWhitespace.cs: WriteContentTo and WriteTo implementations.
5388
5389 2002-04-05  Kral Ferch  <kral_ferch@hotmail.com>
5390
5391         * XmlAttributes.cs: Added reminder MonoTODO to set NamespaceURI
5392         if prefix in constructor is one of the default ones.
5393         
5394         * XmlCharacterData.cs: Returns String.Empty for Value and Data
5395         even when constructed with null.
5396         
5397         * XmlDeclaration.cs: Value doesn't put encoding or standalone
5398         in if they are empty.
5399         
5400         * XmlDocument.cs: Implemented CreateNode methods and this caused
5401         the changes in the other files in this checkin.
5402         
5403         * XmlProcessingInstruction.cs: Returns String.Empty for Value and Data
5404         even when constructed with null.
5405         
5406         * XmlWhitespace.cs: Changed Value 'get' to return Data.
5407
5408 2002-04-01  Kral Ferch  <kral_ferch@hotmail.com>
5409
5410         * XmlTextWriter.cs: Impls for WriteEndDocument and WriteFullEndElement.
5411         
5412 2002-03-31  Kral Ferch  <kral_ferch@hotmail.com>
5413
5414         * XmlTextWriter.cs: Impls for LookupPrefix, WriteBase64,
5415         and WriteCharEntity.
5416         
5417         * XmlWrite.cs:  Fixed bug where attribute namespace decl
5418         was pushing a scope onto the namespace manager when it shouldn't
5419         have been.
5420         
5421 2002-03-31  Kral Ferch  <kral_ferch@hotmail.com>
5422
5423         * XmlTextWriter.cs: Some tweaks for WriteAttibuteString
5424         in different states (no open start element, in WriteState.Content mode).
5425         
5426 2002-03-29  Kral Ferch  <kral_ferch@hotmail.com>
5427
5428         * XmlTextWriter.cs: XmlLang and XmlSpace properties
5429         and WriteWhitespace.
5430         
5431         * XmlTextWriterOpenElement.cs: scope support for XmlLang
5432         and XmlSpace.
5433
5434 2002-03-29  Kral Ferch  <kral_ferch@hotmail.com>
5435
5436         * XmlTextWriter.cs: Working on Attribute methods.
5437         
5438         * XmlWriter.cs: Working on Attribute methods.
5439
5440 2002-03-28  Duncan Mak  <duncan@ximian.com>
5441
5442         * XmlDocument.cs (CreateWhitespace):
5443         (CreateSignificantWhitespace): Removed extraneous call to the ToCharArray
5444         method.
5445
5446         * XmlSignificantWhitespace.cs (Value): Removed MonoTODO attribute.
5447
5448 2002-03-26  Duncan Mak  <duncan@ximian.com>
5449
5450         * XmlDocument.cs (CreateDocumentType): Implemented.
5451
5452         * XmlNode.cs (Value): Implemented.
5453
5454         * XmlProcessingInstruction.cs (InnerText): Implemented. It works just
5455         like XmlCharacterData.
5456
5457         * XmlDeclaration.cs (CloneNode): 
5458         * XmlDocument.cs (CreateXmlDeclaration): Added missing constructor
5459         arguments.
5460
5461         * XmlCharacterData.cs (InnerText): Implemented. Funny that the
5462         docs say it is the "The concatenated values of the node and all
5463         the children of the node.". I wrote some test programs and
5464         couldn't get any of the derived nodes to AppendChild. For now,
5465         InnerText == Data == Value.
5466         (Substring): Fixed typo.
5467
5468         * XmlDeclaration.cs (XmlDeclaration): Fixed the constructor parameter signature.
5469
5470         * XmlImplementation.cs (CreateDocument): Implemented.
5471
5472 2002-03-25  Duncan Mak  <duncan@ximian.com>
5473
5474         * XmlDeclaration.cs: Rewrote the class, fixed formatting, added
5475         missing properties (InnerText, Value).
5476         
5477         * XmlDocument.cs (CreateXmlDeclaration): Implemented.
5478
5479 2002-03-23  Kral Ferch <kral_ferch@hotmail.com>
5480
5481         * XmlTextWriter.cs: Impls for BaseStream and
5482         Namespaces and WriteState.
5483         
5484         * XmlWriter.cs: WriteState and WriteStartElementInternal.
5485
5486 2002-03-23  Kral Ferch <kral_ferch@hotmail.com>
5487
5488         * XmlNodeListChildren.cs: made class internal
5489         instead of public.  Shouldn't be visible outside
5490         of System.Xml.
5491         
5492         * XmlTextWriter.cs: Implementations for Formatting,
5493         IndentChar, Indenting, QuoteChar, WriteStartDocument(standalone).
5494         Suppresses encoding on xml declaration if null stream passed in.
5495         Formats output including suppressing indentation for elements in
5496         mixed content mode.
5497         
5498         * XmlTextWriterOpenElement.cs: Initial checkin.
5499         XmlTextWriter uses stack of these objects to track
5500         state.
5501         
5502 2002-03-22  Mike Kestner  <mkestner@speakeasy.net>
5503
5504         * XmlElement.cs: impl HasAttribute(string name).
5505
5506 2002-03-22  Duncan Mak  <duncan@ximian.com>
5507
5508         * XmlElement.cs: Reformatted.
5509         (CloneNode) Corrected.
5510
5511         * XmlDocument.cs (CreateWhitespace):
5512         (CreateSignificantWhitespace): Implemented.
5513
5514         * XmlAttribute.cs (CloneNode): Changed the child's CloneNode to
5515         true, because Attributes have ChildNodes.
5516
5517 2002-03-21  Kral Ferch <kral_ferch@hotmail.com>
5518
5519         * XmlTextWriter.cs: WriteStartDocument tracks state, writes out
5520         xml declaration along with encoding.  WriteEndElement throws
5521         exception if no WriteStartElement exists.
5522
5523 2002-03-20  Duncan Mak  <duncan@ximian.com>
5524
5525         * XmlEntityReference.cs (CloneNode): Implemented.
5526
5527         * XmlException.cs (Message): Implemented. We need to cache the
5528         message string because SystemException doesn't expose 'message'
5529         from Exception.
5530
5531         * XmlText.cs (Value): Added in the missing Value property.
5532
5533 2002-03-20  Duncan Mak  <duncan@ximian.com>     
5534
5535         * XmlAttribute.cs (CloneNode): Implemented.
5536
5537         * XmlDocumentFragment.cs (CloneNode): Implemented.
5538
5539         * XmlElement.cs (CloneNode): Implemented.
5540
5541 2002-03-19  Duncan Mak  <duncan@ximian.com>
5542
5543         * XmlNotation.cs: Added to CVS.
5544
5545         * XmlAttribute.cs (CloneNode): First crack at the CloneNode method.
5546
5547         * XmlCDataSection.cs (CloneNode): Implemented.
5548
5549         * XmlDocumentFragment.cs: Reformatted and added the missing properties
5550         (InnerXml, OwnerDocument, ParentNode).
5551         (CloneNode): Implemented.
5552
5553         * XmlSignificantWhitespace.cs (CloneNode): Implemented.
5554         (Value) Implemented the 'get' property.
5555
5556         * XmlWhitespace.cs (Module): implemented.
5557
5558 2002-03-19  Jason Diamond <jason@injektilo.org>
5559
5560         * XmlDocument.cs: Fixed typo in Load that was duplicating the LocalName
5561         in the prefix.
5562
5563 2002-03-18  Jason Diamond <jason@injektilo.org>
5564
5565         * XmlTextReader.cs: Don't restore properties after reading last
5566         attribute on an element.
5567
5568         * XmlDocument.cs: Move back to element after reading attributes
5569         so that IsEmptyElement test succeeds.
5570
5571 2002-03-18  Kral Ferch <kral_ferch@hotmail.com>
5572
5573         * XmlNamespaceManager.cs: Implemented LookupPrefix.
5574         
5575         * XmlTextWriter.cs: Implemented namespace and prefix support.
5576
5577 2002-03-18  Kral Ferch <kral_ferch@hotmail.com>
5578
5579         * XmlTextReader.cs: Restores properties after
5580         reading last attribute on an element.
5581         
5582         * XmlNode.cs: AppendChild sets the parent
5583         on the child.
5584
5585 2002-03-17  Kral Ferch  <kral_ferch@hotmail.com>
5586
5587         * XmlCDataSection.cs: Formatting, Implementation for WriteTo.
5588
5589         * XmlComment.cs: Implementations for WriteTo and WriteContentTo.
5590         
5591         * XmlElement.cs: Fixed bug in WriteTo.
5592         
5593         * XmlProcessingInstruction.cs: Formatting.
5594         
5595         * XmlTextWriter.cs: Implementations for Close, WriteCData, WriteComment,
5596         fixes for WriteEndElement, WriteProcessingInstruction.
5597
5598 2002-03-17  Kral Ferch  <kral_ferch@hotmail.com>
5599
5600         * XmlDocument.cs: Implementations for WriteTo() and WriteContentTo(),
5601         had Load() add PIs to the document, moved onXXX methods to alphabetical
5602         order in the file.
5603         
5604         * XmlElement.cs: Implementations for WriteTo() and WriteContentTo().
5605         
5606         * XmlNode.cs: Implementations for InnerXml Get and OuterXml.
5607         
5608         * XmlProcessingInstruction.cs: Implementations for WriteTo() and
5609         WriteContentTo().
5610         
5611         * XmlTextWriter.cs: Implementations for WriteEndElement,
5612         WriteProcessingInstruction, WriteStartElement, and WriteString.
5613         
5614         * XmlWriter.cs: Implemented WriteStartElement() methods.
5615
5616 2002-03-15  Duncan Mak  <duncan@ximian.com>
5617
5618         * XmlEntity.cs: Added to CVS. Need to implement BaseURI and
5619         InnerText once I know what they do.
5620
5621         * XmlDocumentType.cs (XmlDocumentType): Fix the constructor now
5622         that we can properly chain constructors.
5623         (CloneNode): implemented.
5624         (WriteContentTo): Removed MonoTODO attribute as this method has no
5625         effect in this class.
5626
5627         * XmlProcessingInstruction.cs (Value): Added the missing Set
5628         block.
5629         (InnerText): Added in, but not implemented.
5630
5631 2002-03-14  Kral Ferch  <kral_ferch@hotmail.com>
5632
5633         * XmlTextWriter.cs: implemented constructors and 
5634         WriteCData and WriteComment.
5635
5636 2002-03-14  Duncan Mak  <duncan@ximian.com>
5637
5638         * XmlDocument.cs: Moved the NodeChanged EventHandler to its own
5639         file, and updated the callbacks to reflect the change.
5640         (XmlDocument): Added the NameTable constructor.
5641         (NameTable): Also the NameTable property.
5642
5643         * XmlNodeChangedEventHandler.cs: Added, replacing the version that
5644         was in XmlDocument.cs. It has two arguments now (object,
5645         EventArgs) , instead of one (object).
5646
5647 2002-03-14  Kral Ferch  <kral_ferch@hotmail.com>
5648
5649         * XmlWriter.cs: Formatting.
5650         
5651         * XmlTextWriter.cs: Initial checkin.
5652         
5653 2002-03-14  Duncan Mak  <duncan@ximian.com>
5654
5655         * Validation.cs: Removed, replaced by ValidationType.cs.
5656
5657         * ValidationType.cs: Added.
5658
5659 2002-03-13  Duncan Mak  <duncan@ximian.com>
5660
5661         * XmlException.cs: Made it [Serializable], implemented good ol'
5662         GetObjectData, and the serialization constructor.
5663
5664         * XmlNamedNodeMap.cs (SetNamedItem): Check for the Name property.
5665         (SetNamedItem): Reverted (added back in) the patch with the
5666         ReadOnly checks. "Don't doubt yourself, my son... you were right!"
5667
5668         * XmlNamedNodeMap.cs (GetEnumerator): piggyback on the ArrayList implementation.
5669         (GetNamedItem (string, string)): implemented.
5670         (RemoveNamedItem): implemented.
5671         (SetNamedItem): implemented.
5672
5673 2002-03-12  Kral Ferch  <kral_ferch@hotmail.com>
5674
5675         * XmlAttribute.cs: Moved a method from amongst properties down to
5676         it's alphabetical position in the methods section.
5677         
5678         * XmlNode.cs: Passes in 'this' to XmlNodeList constructor instead of
5679         last linked child.  Set XmlNode base class to return false for IsReadOnly().
5680         Implemented GetEnumerator() and RemoveChild().
5681         
5682         * XmlNodeListChildren.cs: Now stores the parent instead of the last child.
5683         This is to support the behavior that the Enumerator doesn't become invalid
5684         when changes to the children occur.  Flushed out rest of implementation for
5685         MoveNext, Current, and Reset.
5686
5687 2002-03-12  Duncan Mak  <duncan@ximian.com>
5688
5689         * XmlCharacterData.cs: Reformatted the properties for better readability.
5690
5691         * XmlLinkedNode.cs: Removed the awful boxy comments.
5692
5693         * XmlNamedNodeMap.cs (Count):
5694         (Item): Implemented. Tests will be coming.
5695
5696         * XmlEntityReference.cs: 
5697         * XmlSignificantWhitespace.cs: Implemented these classes except for
5698         the Clone, WriteContentTo and WriteTo methods. Will have to
5699         investigate into these later.
5700
5701 2002-03-11  Duncan Mak  <duncan@ximian.com>
5702
5703         * IHasXmlNode.cs: Added to CVS.
5704
5705 2002-03-08  Jason Diamond <jason@injektilo.org>
5706
5707         * XmlParserContext.cs: Added missing constructors and missing Encoding 
5708         property.
5709
5710         * XmlTextReader.cs: Start using the XmlParserContext class.
5711
5712 2002-03-08  Jason Diamond <jason@injektilo.org>
5713
5714         * XmlTextReader.cs: Implemented MoveToElement and MoveToFirstAttribute.
5715
5716 2002-03-08  Mike Kestner  <mkestner@speakeasy.net>
5717
5718         * XmlNode.cs (Item): Implemented both indexers.
5719
5720 2002-03-08  Jason Diamond  <jason@injektilo.org>
5721
5722         * DomEncodingType.cs, TreePosition.cs, XPathNodeType.cs, XmlDataType.cs,
5723         XmlExceptionCode.cs, XmlSortOrder.cs, XmlUtil.cs: Removed files.
5724
5725 2002-03-08  Jason Diamond  <jason@injektilo.org>
5726
5727         * XmlAttribute.cs: Attribute nodes are supposed to store their values
5728         as child nodes so updated to reflect that.
5729
5730         * XmlDocument.cs, XmlElement.cs, XmlNode.cs: Moved code that was
5731         duplicated in XmlDocument and XmlElement into XmlNode so that it
5732         wouldn't have to be duplicated in XmlAttribute, too.
5733
5734 2002-03-08  Kral Ferch <kral_ferch@hotmail.com>
5735
5736         * XmlNodeList.cs, XmlDocument.cs, XmlLinkedNode.cs,
5737         XmlNode.cs: Formatting.
5738         
5739         * XmlNodeListChildren.cs: Implementation of XmlNodeList
5740         for XmlNode.ChildNodes property.
5741         
5742         * XmlNodeListAsArrayList.cs: Removed file.  Using different
5743         data structure (circular list) in XmlNode so this file
5744         is no longer valid.
5745         
5746         * XmlDocument.cs, XmlElement.cs: New ChildNodes tests found
5747         bug in setter property of LastLinkedChild so fixed it.
5748         
5749 2002-03-06  Jason Diamond  <jason@injektilo.org>
5750
5751         * XmlInputSource.cs, XmlNames_1_0.cs, XmlParse.cs: Removed files.
5752         We already have a parser in XmlTextReader.
5753
5754         * XmlException.cs: Removed constructor accepting XmlInputSource.
5755
5756 2002-03-06  Kral Ferch <kral_ferch@hotmail.com>
5757
5758         * XmlNode.cs: Rewrote this class from scratch with
5759         MonoToDo attribs and NotImplementedExceptions.  Now defines an
5760         internal LastLinkedNode property to aid the new implementation.
5761         XmlNodes only have ref to owner doc and parent nodes now.
5762         
5763         * XmlLinkedNode.cs: Added NextLinkedSibling internal property
5764         and ref to next sibling to support walking our circular child
5765         node list.
5766         
5767         * XmlDocument.cs: Added ref to last child node and overrides
5768         XmlNode's internal LastLinkedChild property to support walking
5769         our circular child node list.
5770         
5771 2002-03-02  Kral Ferch <kral_ferch@hotmail.com>
5772
5773         * XmlProcessingInstructions.cs: Class was empty.  Implemented
5774         constructor, properties, and CloneNode() method.  Put in
5775         MonoToDo attrib for remaining methods.
5776
5777         * XmlComment.cs: Reformatted and put in MonoToDo attribs.
5778         Got rid of helper methods and fields since they were no
5779         longer needed.
5780
5781         * XmlLinkedNode.cs: Reformatted and put in MonoToDo attribs.
5782
5783         * XmlDocument.cs: Added code to Load(XmlReader) to create XmlComment,
5784         XmlCDataSection, and XmlProcessingInstruction nodes. Implemented
5785         Createxxx() methods for those three node types.
5786
5787 2002-03-02  Jason Diamond <jason@injektilo.org>
5788
5789         * XmlDocument.cs: Implemented the remaining CreateElement and
5790         CreateAttribute methods.
5791
5792         * XmlAttribute.cs: Re-implemented.
5793
5794         * XmlElement.cs: Set owner element on attributes. Reformatted.
5795
5796 2002-03-02  Jason Diamond <jason@injektilo.org>
5797
5798         * XmlTextReader.cs: Implemented MoveToNextAttribute().
5799
5800         * XmlDocument.cs: Reformatted. Adding missing methods and MonoTODO
5801         attributes. Create attribute nodes while loading. Implemented
5802         Load(string) and CreateTextNode().
5803
5804         * XmlCharacterData.cs, XmlText.cs: Re-implemented.
5805
5806         * XmlCDataSection.cs, XmlComment.cs: Call correct constructor in 
5807         XmlCharacterData.
5808
5809         * XmlNamedNodeMap.cs, XmlAttributeCollection.cs: Stubbed out.
5810
5811 2002-03-02  Mike Kestner <mkestner@speakeasy.net>
5812
5813         * XmlAttribute.cs : Using fix.
5814         * XmlDocument.cs (CreateAttribute(String)): Implement.
5815
5816 2002-03-02  Jason Diamond <jason@injektilo.org>
5817
5818         * XmlNamespaceManager.cs: Atomize prefixes and namespaces strings in 
5819         the name table.
5820
5821 2002-02-28  Jason Diamond <jason@injektilo.org>
5822
5823         * XmlDocument.cs, XmlNode.cs: Initial implementation of LoadXml 
5824         courtesy of Kral Ferch <kral.ferch@hotmail.com>.
5825
5826 2002-02-28  Jason Diamond <jason@injektilo.org>
5827
5828         * XmlException.cs, XmlReader.cs, XmlTextReader.cs: Reformatted, 
5829         added missing members and MonoTODO attributes.
5830         
5831         * XmlTextReader.cs: Throw XmlException instead of System.Exception.
5832
5833 2002-02-27  Jason Diamond <jason@injektilo.org>
5834
5835         * XmlElement.cs: Reformatted, added missing members and MonoTODO 
5836         attributes.
5837
5838 2002-02-26  Duncan Mak  <duncan@ximian.com>
5839
5840         * XmlCDataSection.cs: Initial implementation.
5841
5842         * NameTable.cs: Fixed the whole thing. Wrote a NUnit test to test
5843         it out. This should (hopefully) be correct.
5844
5845 2002-02-26  Jason Diamond <jason@injektilo.org>
5846
5847         * XmlTextReader.cs: Apparently Microsoft's implementation treats
5848         namespace declarations as attributes so we do now, too.
5849
5850         * XmlNamespaceManager.cs: HasNamespace fixed so that it only
5851         checks the current scope.
5852
5853 2002-02-26  Duncan Mak  <duncan@ximian.com>
5854
5855         * XmlDocumentType.cs: Added a few hacks here and there to
5856         temporarily fix the "I broke the build issue".
5857
5858 2002-02-25  Jason Diamond <jason@injektilo.org>
5859
5860         * XmlDocument.cs, XmlElement.cs, XmlNode.xs, XmlNodeList.cs,
5861         XmlNodeListAsArrayList.cs: Multiple fixes necessary to get
5862         simple test to pass. The existing code is really shitty so I'll
5863         probably start writing tests and refactoring before much else 
5864         can get done.
5865
5866 2002-02-25  Duncan Mak  <duncan@ximian.com>
5867
5868         * NameTable.cs: Implemented.
5869
5870         * XmlDeclaration.cs: It should inherit from XmlLinkedNode, not XmlNode.
5871
5872 2002-02-24  Duncan Mak  <duncan@ximian.com>
5873         
5874         * XmlNodeOrder.cs: Added to CVS.
5875
5876         * XmlQualifiedName.cs: Fixed a warning from Equals ().
5877
5878         * XmlTokenizedType.cs: Added to CVS.
5879
5880         * XmlUrlResolver.cs: Added to CVS with one TODO task.
5881
5882 2002-02-23  Duncan Mak  <duncan@ximian.com>
5883
5884         * XmlQualifiedName.cs: Fixed ToString () and added the operators
5885         (== and !=).
5886
5887 2002-02-23  Jason Diamond <jason@injektilo.org>
5888
5889         * XmlTextReader.cs: Added support for qualified attributes.
5890
5891 2002-02-23  Jason Diamond <jason@injektilo.org>
5892
5893         * XmlNamespaceManager.cs: Initial implementation.
5894         
5895         * XmlTextReader.cs: Added support for NamespaceURI property on
5896         elements.
5897
5898 2002-02-23  Nick Drochak <ndrochak@gol.com>
5899
5900         * ChangeLog: Add the change log to this directory
5901
5902         * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has
5903         MonoTODO's