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