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