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