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