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