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