2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
[mono.git] / mcs / class / System.XML / System.Xml / ChangeLog
1 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2
3         * DTDValidatingReader.cs : Simplified to use 
4           XmlSchemaUtil.GetParserContext().
5         * XmlValidatingReader.cs : ValidationType.Auto should always use
6           XsdValidatingReader because xsi:schemaLocation might be used.
7
8 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
9
10         * XmlTextReader.cs : Attribute value token properties were incorrectly
11           set by the linked node.
12
13 2003-09-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
14
15         * XmlDocumentNavigator.cs : Fix for bugzilla #48931. MoveToRoot() now
16           considers such case that target node was not adapted to the document.
17         * XmlNamespaceManager.cs : GetEnumerator() missed the last pair.
18         * XmlTextWriter.cs : use 'as'  instead of 'try..catch'.
19
20 2003-09-25 Ben Maurer  <bmaurer@users.sourceforge.net>
21
22         * XmlNode.cs (XPathNodeType): Give more useful debugging message.
23         * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as
24         in MoveToNext.
25
26 2003-09-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
27
28         * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace
29           recovery was still not enough. Fixed GrowScopes() (incorrect index).
30
31 2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
32
33         * XmlTextReader.cs : 
34           - Fix for bugzilla #48337 (containing Ben's advice on that).
35           - Added internal XmlTokenInfo classes. Nodes are now handled as token 
36             objects (linked node, attributes and attribute values). Most of the
37             node state properties and iterating methods are changed to refer to
38             the token classes (except for value builder availability). Removed
39             fields which are never used. CompileDTDSubset() is changed in
40             reflection to nodeType field removal.
41           - Fixed Depth that should vary in moving between attributes and/or
42             reading attribute values.
43           - LineNumber and LinePosition now returns more correct location.
44           - Fixed Value that should still return true if its value is an empty
45             attribute value string.
46           - EntityValue is checked WFC constraints even thoug it is not used.
47           - All .ctor() now initializes ReadState as Initial.
48           - Read() should be available for attribute value constructor.
49         * XmlAttribute.cs : set_InnerXml() now calls reader's Read().
50
51 2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
52
53         * XmlNamespaceManager.cs: PopScope() must retain those namespaces which
54           are added in the scope before PushScope() was called.
55
56 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
57
58         * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked
59         lists and removes uses of Hashtable. Results in huge speed gains.
60
61 2003-09-19 Ben Maurer  <bmaurer@users.sourceforge.net>
62
63         * XmlConvert.cs: NaN.ToString () != INF.
64
65 2003-09-14  Lluis Sanchez Gual  <lluis@ximian.com>
66
67         * XmlTextWriter.cs: Attributes that have a namespace must be always
68           prefixed.
69
70 2003-09-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
71
72         * XmlTextWriterOpenElement.cs : Changed to receive prefix and localName
73           in .ctor().
74         * XmlTextWriter.cs : Changed to use above XmlTextWriterOpenElement.
75           Changed xmlns adding scheme. In detail, 1) WriteStartElement does not
76           add Namespaces immediately, but adds at AddMissingElementXmlns so 
77           that we don't have to have extra check than namespaceManager's
78           LookupPrefix(). 2) Removed writtenAttributes for performance reason
79           since it is no more required.
80
81 2003-09-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
82
83         * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute()
84           that handled xmlns attributes inproperly.
85
86 2003-09-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
87
88         * XmlNamespaceManager.cs : GetEnumerator() should return all of the
89           available pairs (of prefix and namespace).
90         * XmlQualifiedName.cs : Quick fix for NullReferenceException in case
91           of name (or ns) is null. (The description of the immediate previous 
92           changes will be inserted below.)
93         * XmlTextWriter.cs : Fixed WriteDocType(). Removed CheckValidName().
94         * XmlUrlResolver.cs : Changed not to call WebClient.Dispose() which
95           will release resources it had allocated.
96
97 2003-09-01 Ben Maurer  <bmaurer@users.sourceforge.net>
98
99         * XmlDocument.cs (Save): use the encoding of the document, if
100         available.
101
102 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
103
104         * XmlValidatingReader.cs : Implemented SchemaType. Added support for
105           ValidationType.Schema. Added support for XmlResolver. Fixed 
106           ReadTypedValue() not to consume EndElement.
107
108 2003-08-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
109
110         * XmlDocumentNavigator.cs : Fixed MoveToFirstNamespace() that arose
111           infinite loop.
112         * XmlNamespaceManager.cs : Renamed AtomStrEq to AtomicStringEquals.
113           Commented out Console.Error.WriteLine().
114         * XmlUrlResolver.cs : Fixed ResolveUri() and GetEntity() to support
115           escape and unescape for relative URI string.
116
117 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
118
119         * XmlParserContext.cs: Make each context inherit next.
120
121 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
122
123         * XmlChar.cs (IsWhitespace): Spare enumerator allocation.
124         * XmlTextWriter.cs (WriteWhitespace): Enumerators are very high in
125         fat, use low-fat loops instead. Even better, call the function
126         inside XmlChar for code reuse.
127         * HighWaterStack.cs (added): New class that acts like a Stack, but
128         helps with memory allocation.
129         * XmlNamespaceManager.cs, XmlParserContext.cs: Rewrote to use
130         HighWaterStack.
131         * XmlTextReader.cs: Remove orderedAttributesEnumerator variable,
132         use a variable that stores the position in the ArrayList.
133         
134 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
135
136         * XmlTextWriter.cs: Begin diet. String.Format has too much
137         saturated fat, lets replace with the fat-free .Write ()
138         calls. Effects best seen when Paolo's StreamWriter patch is
139         applied.
140
141 2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
142
143         * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in
144           vanishing current node.
145
146 2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
147
148         * DTDValidatingReader.cs : Added SchemaType.
149           Read() Assures to return to element.
150         * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI.
151         * XmlReader.cs : ReadString() should be virtual in NET_1_1.
152         * XmlTextReader.cs : 1) Depth should consider Attribute and its values.
153           Introduced insideAttribute field to support them.
154           2) ReadAttributeValue() should consider empty string.
155         * XmlValidatingReader.cs :
156           Fixed several properties which premised as if it was already read.
157           Encoding and Namespaces now throws NotSupportedException for other
158           than XmlTextReader.
159           Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType.
160
161 2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
162
163         * XmlInputStream.cs : Reverted CanSeek as to return false anyway.
164
165 2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
166
167         * DTDObjectModel.cs : added XmlResolver related members. Added
168           invalid entity recursion logic. Added encodingdecl check on textdecl.
169         * DTDValidatingReader.cs : It now implements IHasXmlParserContext.
170         * XmlChar.cs : IsPubidChar() should not allow TAB(&#9;).
171         * XmlDocumentType.cs : 1) internal CreateDocumentType() was now changed
172           to receive DTDObjectModel to support other than XmlTextReader. 
173           2) Most of its public member is now based on DTDObjectModel.
174         * XmlDocument.cs : 1) Synchronous change with XmlDocumentType.
175           2) ReadNode() now considers XmlParserContext's DTDObjectModel for
176           other than XmlTextReader (such as XmlValidatingReader).
177         * XmlNode.cs : code cleanup only.
178         * XmlParserInput.cs : added HasPEBuffer, used to check illegal nesting.
179         * XmlTextReader.cs : 1) Illegal entity reference check logic was moved 
180           from ReadContent() to SetEntityReferenceProperties(). 2) Indentation
181           change on ReadEntityReference(). 3) ReadAttribute() now checks
182           reference to external entity reference. 4) Added textdecl encoding
183           check. 5) DTDObjectModel fields are now set correctly. 6) added
184           PERef markup nest check. 7) If PEDecl was not found, it might be WFC
185           violation, not only be VC violation. 8) ReadEntityDecl() now receives
186           its declared entity itself, and this method checks IsInternalSubset.
187         * XmlValidatingReader.cs : 1) Added GetInternalPerserContext().
188           2) ValidationType.None should be the same as Auto, not DTD (in the
189           future it should keep xml schema's default values).
190
191         Pending Stuff in XmlTextReader which breaks some NUnit tests;
192           1) SetEntityReferenceProperies() has check for illegal references.
193           2) ReadAttribute(bool) has similar check for illegal references.
194
195 2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
196
197         * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice,
198           sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement().
199
200 2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
201
202         * XmlTextReader.cs : Checked and fixed all TryExpandPERef() invokation 
203           and supplied SkipWhitespace() as they needed. It broke monodoc.
204           Fixed ReadEntityValueDecl() to get correct value.
205
206 2003-08-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
207
208         * XmlInputStream.cs :
209           Fixed Initialize() that might result in incorrect buffer.
210           CanRead and Position should consider buffer (especially when the
211           stream was EOF).
212           CanSeek should use stream's CanSeek.
213
214         * XmlChar.cs : added GetPredefinedEntity().
215         * DTDObjectModel.cs :
216           - Modified ComputeDefaultValue() to use it.
217           - Fixed NormalizedDefaultValue not to expect parsed value as string.
218           - ResolveExternalEntity now detects invalid standalone specification.
219           - DTDParameterEntityDeclaration.Value is now changed to property and
220             keep its resolved value of literal value of external value using
221             new Resolve (XmlResolver) method (called only by XmlTextReader).
222         * DTDValidatingReader.cs :
223           - It now handles entity-expanded Whitespace and SignificantWhitespace
224             correctly. Does not raise unexpected text not allowed error.
225           - Fixed MoveToAttribute()s to move internal reader correctly, and
226             should be able to move in other cases than on element node.
227           - On Read()ing document type and ResolveEntity(), it now sets
228             XmlResolver on text reader.
229           - On ID constraints check and type verification, it now uses
230             normalized attribute or its tokenized value(s).
231           - Fixed ValidateAttributes() to add default values when 
232             ValidationType is Auto.
233         * XmlParserContext.cs : added internal Dtd setter.
234         * XmlParserInput.cs :
235           InsertParameterEntityBuffer() should add surrounding whitespaces.
236           Removed unused code block.
237         * XmlTextReader.cs :
238           - Modified ReadReference(), ReadAttribute() and Dereference() to use
239             XmlChar.GetPredefinedEntity().
240           - When returning entity reference, it checks extity declaration
241             existence in certain conditions.
242           - ReadAttribute() now skips general entity replacement on reading
243             entity value.
244           - ReadText() now handles whitespace texts as XmlNodeType.Whitespace.
245           - ReadXmlDeclaration() holds isStandalone, which might be used in
246             entity reference's well-formedness check.
247           - internal 'DTD' now uses XmlParserContext.Dtd.
248           - isInternalSubset was meaningless. Now uses input stack's Count.
249           - Added some required SkipWhitespace().
250           - Several parameter entity handling changes.  Added GetPEValue(name).
251             TryExpandPERef() now uses ImportAsPERef(). ReadParameterEntityDecl()
252             now uses its Resolve() when it was external PE.  Now it uses value
253             buffer instead of currentTag, to efficiently read (included) PE.
254             CompileDeclaration() now uses ImportAsPERef instead of ExpandPERef().
255             ImportAsPERef() simply inserts the value to currentInput.
256             ReadEntityDecl() also uses value buffer.   Removed non-used methods.
257           - Default attributes are now stored in normalized form.
258           - Dereference() now considers non-expanding predefined entities.
259         * XmlValidatingReader.cs : now holds Schemas, and ValidationType.Auto
260           is more correctly supported.
261
262         * XmlAttributeCollection.cs :
263           When removing default attribute, it immediately inserts the attribute.
264           RemoveAll() should consider default (not-removable) attributes.
265         * XmlDocument.cs :
266           Should have its default XmlResolver. Added Internal Resolver.
267           Some Load() should use its XmlResolver.
268           ImportNode() should copy its children in node level, not value level.
269           It also have to consider not to copy default attribute on importing
270           XmlElement.
271         * XmlDocumentType.cs : Now uses document's XmlResolver to read DTD.
272         * XmlAttribute.cs,
273           XmlDocumentFragment.cs.
274           XmlElement.cs : use XmlResolver on InnerXml. Removed some MonoTODO.
275         * XmlNodeReader.cs : GetInternalParserConext() should provide its DTD.
276           ResolveEntity() uses XmlResolver on entityReader.
277
278 2003-08-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
279
280         * DTDObjectModel.cs :
281           - Added validation error check (and AddError(), Errors).
282           - Fixed ComputeDefaultValue() to handle various references correctly.
283           - DTDEntityDeclaration.EntityValue became property, and added
284             LiteralEntityValue. The new one holds resolved value.
285             Added ResolveExternalEntity(). It now required root in .ctor().
286         * DTDValidatingReader.cs :
287           - Now it handles namespaced attributes (as input to xsd validator).
288           - Added XmlResolver property as usual XmlReader.
289           - Added currentEntityHandling field so that it can stand changing
290             XmlValidatingReader's EntityHandling dynamically.
291           - FilterNormalization() now requires name for getting datatypes and
292             can stand for non-current attribute normalization.
293           - Splitted ReadContent() from Read() that can be called recursively
294             when expanding entities.
295           - Now handles Entity not found error *after* resolution of entities,
296             as MS.NET does.
297           - Read()ing DTD checks its Errors and raises validation error events.
298             In some situations, DTD parsing may detect VC error, not WFC error.
299             It also strictly checks NData existence.
300           - Handling of entity-resolved text is a bit changed and Read()ing
301             element, endElement, cdata now changed to switch collecting text
302             and collected text.
303           - content type ANY should allow texts.
304           - Added enumerated attribute validity check.
305           - Added Name/Names creation rule check for ID/IDREF/IDREFS.
306           - Added entity existence check for ENTITY/ENTITIES attributes.
307           - Added NMTOKEN creation rule check for NMTOKEN/NMTOKENS.
308           - Fixed to remove extraneous #REQUIRED check.
309           - Contributing default attribute is now only applied to the case
310             ValidationType is DTD or None.
311           - ResolveEntity() now handles external entities.
312             Added Mono.Xml.IXmlParserContext interface support.
313         * XmlDocumentType.cs : Fixed to use BaseURI to build DTD model.
314         * XmlTextReader.cs :
315           - Fixed ReadAttributeValue() to reset returnEntityReference.
316           - Added bool MaybeTextDecl only for ResolveEntity().
317           - Fixed ReadWhitespace(). In fact its value is considered even if it
318             is in the end of the XML.
319           - Fixed ReadXmlDeclaration(). Now skips text declaration.
320           - CompileDTDSubset() now checks IGNORE/INCLUDE section end balances.
321           - ReadContentSpec() should set OrderType = OR for mixed model.
322             Fixed to set content element name correctly.
323           - ImportAsPERef() now skips Text declaration.
324           - Type of enumerated default attributes shold be string.
325           - Undeclared PE error is now handled as DTD's VC error, not
326             XmlTextReader's WFC error.
327         * XmlValidatingReader.cs : BaseURI should provide that of 
328           original XmlReader's when read was not started yet.
329           Fixed XmlResolver to delegate to DTDValidatingReader.
330
331         * XmlAttributeCollection.cs : Acquiring attList declaration is
332           insufficient especially in case of lack of elementdecl.
333         * XmlChar.cs : (Maybe this is compact than XmlConstructs.)
334           added IsWhitespace(),IsNCNameChar(),IsName(),IsNCName(),IsNmToken(),
335           IsPubid(). Copies IsValidIANAEncoding() from XmlConstructs.
336
337         * XmlInputStream.cs : Removed "version" declaration check. It should
338           be done by XmlTextReader.
339
340         * XmlNodeReader.cs : added internal GetInternalParserContext() and now
341           it can be used in XmlValidatingReader.ResolveEntity().
342           ResolveEntity() sets XmlTextReader.MaybeTextDecl.
343
344 2003-08-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
345
346         * DTDValidatingReader.cs :
347           Added full ExpandEntities support for text node and entity reference
348           node (although require many usage tests). Almost all methods and
349           properties now have currentTextValue != null check, that field means
350           that there are cached (entity-resolved) text.
351           Implemented default attribute aware XmlLang and XmlSpace.
352         * XmlNodeReader.cs : ResolveEntity() should not require DTD.
353
354 2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
355
356         * DTDValidatingReader.cs,
357           XmlNodeReader.cs,
358           XmlReader.cs,
359           XmlTextReader.cs,
360           XmlValidatingReader.cs : fixed pragma USE_VERSION_1_0 to NET_1_0.
361
362 2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
363
364         * DTDObjectModel.cs : Added BaseURI (but not used yet).
365           DTDAttListDeclaration.ctro() now requires root dtd object model.
366         * DTDValidatingReader.cs : Read() now expands EntityReference if
367           entity handling of validating reader is ExpandEntities.
368         * XmlReader.cs,
369           XmlTextReader.cs,
370           XmlNodeReader.cs,
371           XmlValidatingReader.cs : Implemented "virtual" ReadInnerXml and
372             ReadOuterXml which are modified in MS.NET 1.1.
373         * XmlConstructs.cs : added int version of IsValid, IsInvalid,
374           IsContent, IsMarkup and IsNCNameStart.
375           Fixed int version of IsXXX() to check array index range. 
376           Added IsValidName (string).
377         * XmlTextReader.cs :
378           - Read() handles document with non document element as an error.
379           - ReadText() and ReadCharacterReference() checkes illegal characters.
380           - ReadEntityReference() checks name validity.
381           - ReadProcessingInstruction() rejects such name that starts with
382             "xml" ignoring case, and checks attributes more strictly.
383           - ReadDeclaration() rejects unrecognized kind of declaration.
384           - In many places, added "required whitespace" check in DTD markup.
385           - DTD content model now disallows mixing use of '|' and ','.
386
387 2003-08-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
388
389         * XmlDocumentFragment.cs : I missed to add it in relation to the
390           previous XmlParserContext patch. Similar to XmlAttribute/XmlElement.
391         * XmlNodeReader.cs : removed some TODO attributes.
392         * DTDValidatingReader.cs,
393           XmlValidatingReader.cs : Implemented ResolveEntity().
394
395 2003-07-31  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
396
397         * XmlParserContext.cs,
398           XmlAttribute.cs,
399           XmlElement.cs : Added internal Dtd and new internal XmlParserContext
400           .ctor() that takes DTDObjectModel. And then rewrote classes which 
401           uses DTD information. Changed DocTypeName, InternalSubset, PublicId
402           and SystemId to use DTDObjectModel.
403         * DTDObjectModel.cs :
404           Added DTDObjectModel.InternalSubsetHasPEReference.
405           Added DTDEntityDeclaration.IsInternalSubset.
406         * XmlTextReader.cs :
407           Added internal GetInternalParserContext (to build entity reader).
408           Added private isIntSubset to check if the DTD subset is internal or
409           external, which might affect well-formedness constraints.
410           Changed GenerateDTDObjectModel to return the resulting DTD model.
411
412         * XmlEntityReference.cs : implemented BaseURI.
413         * XmlNodeReader.cs :
414           - Implemented ResolveEntity() and CanResolveEntity(). In fact
415             it leads too many changes on almost all methods and properties,
416             since they now must be aware of entityReader.
417           - fixed ownerElement that might be used to return from attribute 
418             value to the element through parent attribtues.
419           - Now changed indexer to call GetAttribute() and moved actual logic
420             to the matching GetAttribute() methods.
421
422 2003-07-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
423
424         * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml
425           not to create extraneous xmlns="".
426
427 2003-07-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
428
429         * DTDValidatingReader.cs : (Read,ValidateAttributes,ReadAttributeValue)
430           attribute declaration should be got independently of elementdecl.
431         * XmlAttribute.cs :
432           Added internal SetDefault() to mark as default.
433           Removed InnerText implementation that is just the same as XmlNode.
434         * XmlDocument.cs : id shouldn't be removed from table at 'trying' to
435           get matching elements.  ReadAttributeNode() now sets default mark.
436         * XmlElement.cs : WriteTo() should ignore default attributes.
437         * XmlTextWriter.cs : shuold allow valid name char such as digits.
438
439 2003-07-27  Piers Haken <piersh@friskit.com>
440
441         * XmlQualifiedName.cs : fields should never be null
442
443 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
444
445         * XmlDocumentFragment.cs : added XPathNodeType indicating Root.
446
447 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
448
449         * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted
450
451 2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
452
453         * XmlLinkedNode.cs : added internal IsRooted.
454
455 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
456
457         * DTDValidatingReader.cs :
458           - Added ID support in ValidateAttributes().
459           - More refined ReadAttributeValue() support for non-expanding entity
460             situation
461           - It should handle LocalName, Name, Prefix, NamespaceURI and Value
462             correctly when the reader is on each of the value nodes of an
463             attribute. Now XmlDocument.ReadNode() should work well.
464         * XmlDocument.cs :
465           - added idTable, AddIdenticalAttribute(), GetIdenticalAttribute() and
466             RemoveIdenticalAttribute()
467           - Implemented GetElementById().
468         * XmlAttributeCollection.cs :
469           - added private ownerDocument property and replaced
470             ownerElement.OwnerDocument with it.
471           - Added AdjustIdenticalAttribute() and it is used in SetNamedItem().
472             It calls XmlDocument.{Add|Remove}IdenticalAttribute().
473           - Added RemoveIdenticalAttribute() and it is used in Remove().
474             (I also added AddIdenticalAttribute() but is not used.)
475
476 2003-07-26  Duncan Mak  <duncan@ximian.com>
477
478         * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test
479         for OwnerElement.IsRooted to fix the build..
480
481 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
482
483         * XmlDocumentType.cs :
484           modified private DTD to dtd and added internal DTD (the same thing).
485         * XmlElement.cs :
486           Fixed SetAttributeNode() to check if specified attribute is already
487           set to the other element. In fact it is W3C DOM's specification but
488           MS.NET 1.0 failed to catch it.
489         * XmlTextReader.cs :
490           ReadAttributeValue() should check if the value of the attribute is
491           already read when the whole value is entity reference.
492           Also, Name of text nodes should be "", not "#text"
493
494 2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
495
496         * XmlAttribute.cs : .ctor() shouldallow localName "xml" (not prefix)
497           with http://www.w3.org/XML/1998/namespace.
498         * XmlEntity.cs : patch by Aleksey Sanin. InnerText is now supported.
499         * XmlNode.cs : InnerText should handle CDATA and whitespaces.
500         * XmlTextReader.cs : Should allow " (#PCDATA)* " in ReadContentSpec().
501         * XmlTextWriter.cs : Quick fix for accepting (and writing) same-named
502           attributes (as MS.NET does). It isn't good way and I may change it.
503
504 2003-07-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
505
506         * DTDObjectModel.cs : Added DTDEntityDeclarationCollection and
507           DTDNotationDeclarationCollection and replaced Hashtables with them.
508           Added NormalizedDefaultValue property for DTDAttributeDefinition.
509         * DTDValidatingReader.cs :
510           - It now reads attribute values into value collection. 
511           - Renamed consumedDefaultAttribute to consumedAttribute, and
512             inContent to insideContent.
513           - GetAttribute() should allow reader's other node state than element.
514           - MoveToNextAttribute() should move when reader is placed other than
515             the first attribute.
516           - HandleError() now supports ValidationType.None (i.e. does nothing).
517           - ValidateAttribute() now collects and resolves attribute value 
518             entity references. (On the other hand, it doesn't support
519             EntityHandling.ExpandCharEntity.)
520           - NodeType shouldn't return Attribute after ReadAttributeValue().
521             Now only Text is supported, but must also support EntityReference.
522           - Add FilterNormalization() and partially support Normalization.
523
524 2003-07-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
525
526         * XmlTextReader.cs :
527           Read() now handles parser context stuff (BaseURI, XmlLang and 
528           XmlSpace) correctly for an empty element.
529           Normalization property now doesn't throw an error. Will be used soon.
530         * XmlValidatingReader.cs : added ValidationType.None support (wait for
531           the next DTDValidatingReader update for "not firing event handler).
532         * XmlNodeReader.cs : jun. 30th commit seems wrong. It keeps its state.
533
534 2003-07-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
535
536         * DTDValidatingReader.cs :
537           changed base class to XmlReader and implemented IXmlLineInfo members.
538           changed .ctor() argument from event handler to validating reader.
539           Removed some #if ... #else ... #endif blocks.
540           Added validation event support for Read() using HandleError().
541         * XmlValidatingReader.cs : added internal OnValidationEvent().
542         * XmlDocument.cs : ReadNode() now checks reader's state more strictly.
543
544 2003-07-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
545
546         * XmlUrlResolver.cs : applied BenM's patch for file uri problem
547           (bug #46610).
548
549 2003-07-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
550
551         * DTDValidatingReader.cs :
552           added DTDObjectModel support for non-XmlTextReader XmlReader 
553           e.g. XmlNodeReader (Read() method).
554         * XmlDocument.cs :
555           added internal CreateDocumentType(XmlTextReader) and moved
556           ReadDoctypeNode() to XmlDocumentType.ImportFromDTD().
557         * XmlDocumentType.cs :
558           added internal .ctor(XmlTextReader, document) and ImportFromDTD().
559         * XmlTextReader.cs :
560           Renamed useSbForVal (valueBuilderAvailable), valSb (valueBuilder)
561           and currentSubset (DTD).
562           Added GenerateDTDObjectModel() (for independent doctype parsing).
563
564 2003-07-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
565
566         * XmlAttribute.cs :
567           .ctor() should reject xml- or xmlns-prefixed node.
568         * XmlNamespaceManager.cs :
569           added some xmlns validity check.
570         * XmlNode.cs :
571           optimized GetNamespaceOfPrefix() and GetPrefixOfNamespace() by
572           avoiding XmlNamespaceManager creation.
573         * XmlNodeReader.cs :
574           doctype node should return PUBLIC and SYSTEM for its indexer, 
575           and Value should be internal subset,
576
577 2003-07-12  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
578
579         * DTDObjectModel.cs,
580           DTDValidatingReader.cs : Completely rewrote attribute handling.
581
582 2003-07-12  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
583
584         * XmlAttribute.cs,
585           XmlElement.cs : Fixed CloneNode() for bug #46129.
586         * XmlDocument.cs : Fixed MakeReaderErrorMessage that specified invalid
587           String.Format arguments, and basically XmlException.ctor(
588           IXmlLineInfo, message) seems good idea to use.
589         * XmlTextReader.cs :
590           - Fixed .ctor(Stream, XmlNodeType, XmlParserContext) which had
591             required non-null context which don't have to exist.
592           - Added state check. Introduced 'currentState' and 'maybeTextDecl' 
593             (for external entity) and removed hasEnteredDocument. Added 
594             state-check logic to ReadStartTag(), ReadEndTag(), ReadText(),
595             ReadCData(), ReadDoctypeDecl() and ReadWhitespace().
596           - Replaced throw ReaderError() with throw new XmlException() and
597             fixed that some error hadn't thrown, only created.
598           - ResetState() should re-initialize existing private members other 
599             than some specified fields.
600           - Private AddAttribute() should check if the same-named attribute 
601             already exists.
602         * DTDObjectModel.cs : Additive declaration for ATTLIST is availabe now.
603
604 2003-07-09  Lluis Sanchez Gual <lluis@ximian.com>
605
606         * XmlTextReader.cs : Implemented ResetState() method.
607
608 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
609
610         * XmlElement.cs : IsEmpty has removed attributes since it incorrectly
611           used RemoveAll().
612
613 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
614
615         * XmlDocument.cs : Load(string filename) should close its stream.
616           Small change for the latest DTDObjectModel change.
617         * XmlTextReader.cs : Changed for the latest DTDObjectModel change (all
618           changed methods are only related to DTD stuff).
619           Now uses XmlSchemaDatatype for attribute type definition.
620         * XmlValidatingReader : initial (limited) support for DTD validation.
621           It can handle only XmlTextReader.
622         * DTDObjectModel.cs : changed radically for initial validation support.
623         * added DTDAutomata.cs and DTDValidatingReader.cs.
624
625 2003-07-06  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
626
627         * XmlElement.cs : Removed extraneous xmlns output support (it should
628           be done by XmlTextWriter).
629         * XmlNode.cs : InsertBefore() now checks validity of the newChild (and
630           most of the changes are in fact indentation changes).
631         * XmlWriter.cs : WriteAttributes() now can write entity references.
632           WriteNode() now writes xmldecl attributes correctly.
633           Removed namespaceManager and xmlns check logic, since it should be 
634           done by individual XmlTextWriter.
635         * XmlTextWriter.cs : Patch by Jerome. AddMissingElementXmlns () has
636           written multiple xmlns declarations.
637           Moved namespaceManager from abstract XmlWriter.
638           Write{Start|End}Attribute() and WriteString() now checks xmlns 
639           attribute value. (MS.NET holds value only with this write method).
640
641 2003-07-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
642
643         * XmlDocument.cs : removed xmlReader.Close() from Load(XmlReader).
644
645 2003-06-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
646
647         * XmlDocumentNavigator.cs : Implemented MoveTo*Namespace() and 
648           essentially changed most of the property handling (e.g. removed attribute 
649           enumerator and it now became really cloneable).
650         * XmlNodeReader.cs : ReadInnerXml() changes its state as error
651           when the method is called at Initial state.
652
653 2003-06-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
654
655         * XmlDocumentNavigator.cs : Fixed IsEmptyElement. It treats <foo></foo>
656           as non-empty, and XmlElement's IsEmpty is designed as such.
657           Fixed MoveToFirst() and MoveToNext() not to move to xmldecl nor 
658           doctype node. 
659         * XmlNode.cs : Fixed XPathNodeType. It should throw an exception
660           instead of returning undefined enum value.
661           Modified some code comments.
662         * XmlWriter.cs : Fixed WriteNode () to use WriteFullEndElement() 
663           when XmlReader's node is not at empty element or at EndElement. 
664           Fixed XmlDeclaration's standalone check.
665
666 2003-06-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
667
668         * XmlTextReader.cs : removed CRLFs. Fixed private InitializeContext()
669           to use known Uri way (used in XmlUrlResolver) instead of UriBuilder.
670
671 2003-06-20  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
672
673         * XmlInputStream.cs : quick fix for public ctor() BaseURI bug.
674
675 2003-06-20  Ben Maurer <bmaurer@users.sourceforge.net>
676         
677         * XmlTextReader.cs: Reduces memory allocation when the reader is
678         not queried for some values.
679         * NameTable.cs: Now uses a custom hashtable to implement. As a
680         result, when Get (char[], int, int) is called, a string is only
681         allocated if it is actually a new entry.
682         (StrEqArray) Compares a string and a char[]
683         (AddEntry) Adds a new entry to the hashtable
684         (Entry) Represents a hashtable entry.
685
686 2003-06-20  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
687
688         * XmlUrlResolver.cs : several ResolveUri() fix. e.g. for external URIs.
689
690 2003-06-16  Ben Maurer <bmaurer@users.sourceforge.net>
691         * XmlUrlResolver.cs: really fixed #44231
692
693 2003-06-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
694
695         * XmlNodeReader.cs : fixed MoveToNextAttribute(). In some cases 
696           this method set current node null.
697         * XmlTextReader.cs : fixed GetAttribute (name, ns), which returned
698           String.Empty instead of null (expected value).
699         * XmlTextReader.cs,
700           XmlUrlResolver.cs,
701           XmlInputStream.cs : fixed BaseURI problem (bug #44231).
702
703 2003-06-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
704
705         * XmlNodeReader.cs : this [name] and this [name, ns] (and
706           GetAttribute() methods in turn) returns null instead of String.Empty.
707         * XmlTextWriter.cs : WriteStartAttribute() should try to use specified
708           prefix before auto-generating prefixes.
709           Implemented WriteBase64().
710
711 2003-06-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
712
713         * XmlNodeReader.cs : LookupNamespace () has refered invalid current
714           node for attributes. Modified to use private "document" property.
715
716 2003-06-10  Lluis Sanchez Gual <lluis@ximian.com>
717
718         * XmlTextWriter.cs: when adding an attribute with a namespace, a prefix must be automaticaly
719           generated, and a namespace declaration must be added. 
720         * XmlWriter.cs: the namespace for the prefix xmlns must be http://www.w3.org/2000/xmlns/
721
722 2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
723
724         * XmlAttribute.cs: Accept a null prefix or namespaceURI.
725
726 2003-06-10  Duncan Mak  <duncan@ximian.com>
727
728         * XmlDocumentNavigator.cs (GetNode): Make it implement
729         IHasXmlNode.
730
731 2003-06-05  Lluis Sanchez Gual <lluis@ideary.com>
732
733         * XmlTextWriter.cs : Fixed bug. After calling for example WriteStartElement ("pref","ln","ns");
734           a call to LookupPrefix ("pref") when still writting attributes should 
735           return "ns", and it didn't.
736
737 2003-06-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
738
739         * XmlDocumentNavigator.cs : quick fix for MoveToFirstChild().
740         * XmlConvert.cs : fixed VerifyNCName() to check correctly.
741
742 2003-06-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
743
744         * XmlDocumentNavigator.cs : Compute document node one time.
745           MoveToFirstChild() should move to PIs and comments.
746
747 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
748
749         * XmlReader.cs (ReadStartElement): Improve error message.  
750
751 2003-05-28  Lluis Sanchez Gual <lluis@ideary.com>
752
753         * XmlTextReader.cs : MoveToAttribute methods must set the enumerator to the right
754           position, since MoveToNextAttribute may be called after it. 
755           SetProperties(): attributes do not "inherit" the namespace.
756         * XmlDocument.cs: ReadNode(), ReadAttributeNode(): must keep the current reader position.
757
758 2003-05-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
759
760         * NameTable.cs : Add() sets the given name string interned.
761         * XmlParserContext.cs : added internal PushScope() and PopScope() to
762           hold stacks of xml:base, xml:lang and xml:space.
763         * XmlTextReader.cs : implemented XmlLang and XmlSpace (only as a
764           property for stacked attributes). Renamed Initialize() to Initialize-
765           Context(). Modified to use XmlParserContext.PushScope()/PopScope().
766
767 2003-05-26  Lluis Sanchez Gual <lluis@ximian.com>
768
769         * XmlReader.cs: Little fix to WriteAttributeString()
770
771 2003-05-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
772
773         * XmlAttribute.cs, XmlCharacterData.cs, XmlComment.cs, XmlDocument.cs,
774           XmlDocumentFragment.cs, XmlElement.cs, XmlEntity.cs, XmlLinkedNode.cs,
775           XmlNode.cs, XmlNotation.cs, XmlProcessingInstruction.cs, XmlReader.cs,
776           XmlSignificantWhitespace.cs, XmlText.cs, XmlWhitespace.cs:
777           Reverted the recent accessibility mistake (5/16).
778         * XmlDocument.cs, XmlNode.cs : moved actual CreateNavigator() logic 
779           from XmlNode to XmlDocument.
780
781 2003-05-18  Lluis Sanchez Gual <lluis@ideary.com>
782
783         * XmlQualifiedName.cs : Fixed bug in equality operator.
784
785 2003-05-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
786
787         * XmlTextWriter.cs : patch by Jonathan Hogg. Flush() does not close
788           any open attributes or elements. WriteWhitespace() checks state and
789           closes start tag.  Fixed WriteStringInternal() to replace CR/LF chars
790           when it is called inside attribute value.
791         * XmlException.cs : added .NET 1.1 .ctor.
792         * added XmlSecureResolver.cs (only stubbing).
793         * XmlAttribute.cs : set_InnerXml() should remove children.
794         * XmlAttribute.cs,
795           XmlElement.cs,
796           XmlDocumentFragment.cs,
797           XmlDocument.cs : removed XmlTextReader reuse (It was buggy stuff).
798         * XmlNode.cs : RemoveAll() should also remove all attributes.
799         * XmlTextRader.cs : .ctor() for attribute value reader should add
800           quotations at initialization, since it requires quote chars.
801         * XmlWriter.cs : WriteAttributeString() more correct xmlns check.
802
803 2003-05-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
804
805         * changed XPathNodeType modifier to internal *protected* override.
806         * XmlAttribute.cs : .ctor() now checks name validity e.g. xmlns.
807         * XmlAttribute.cs, XmlElement.cs : set_Prefix checks NCName validity.
808         * XmlAttributeCollection.cs : removed some incorrect TODO attributes.
809         * XmlDocument.cs ; CreateAttribute(name) now auto-completes xmlns NSURI
810           when the argument is "xmlns".
811         * XmlElement.cs : more compliant IsEmpty support. See also WriteTo().
812         * XmlNamespaceManager.cs : added initial "xml" and "xmlns" namespaces.
813         * XmlNode.cs : ser_InnerXml() throws InvalidOperationException.
814         * XmlNodeReader.cs : LookupNamespace() refactory. Fixed ReadInnerXml()
815           not to set error state for non-started XmlNodeReader.
816         * XmlTextReader.cs : fixed ReadAttributeValue() not to reset state.
817           BaseURI support. Fixed Initialize() to handle Attribute correctly.
818           SetProperty for attribute auto-completes xmlns NSURI.
819           Attribute and whitespace handling became more correct.
820           Don't parse external DTD if XmlResolver is null.
821         * XmlTextWriter.cs : implemented WriteEntityRef().
822           WriteStartAttribute() checks if ns does not equal to that of xmlns.
823         * XmlWriter.cs : trivial refactoring (WriteNode() xmldecl output).
824
825 2003-05-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
826
827         * XmlConvert.cs : IsInvalid() Now uses XmlConstructs.IsName(Start).
828           EncodeName() now correctly encodes invalid names.
829           Result string of ToString(DateTime) contains "fffffff".
830
831 2003-04-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
832
833         * XmlElement.cs : fixed IsEmpty (removed private field isEmpty).
834         * XmlNodeReader.cs : Fixed AttributeCount, each this[] (indexers),
835           MoveTo*Attribute(),
836           Fixed this[] to work correctly against XmlDeclarations.
837           Fixed ReadInnerXml() and ReadOuterXml() to call Read() correctly.
838           (which may prevent validations etc.)
839         * XmlReader.cs,
840           XmlNodeReader.cs,
841           XmlTextReader.cs : Fixed ReadString() to be compliant with each
842           other.
843         * XmlTextReader.cs : ReadInnerXml() now moves to next node correctly.
844
845 2003-04-27  Pedro Martínez Juliá  <yoros@wanadoo.es>
846
847         * XmlNode.cs: ensure to get a valid Uri in BaseUri when loading the
848         source document from a file.
849
850 2003-04-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
851
852         * XmlAttribute.cs : fixed WriteTo() and WriteContentTo() to write
853           content EntityReference correctly.
854         * XmlNodeReader.cs : many fix for EndElement handling (AttributeCount,
855           HasAttributes, indexers, MoveTo*Attribute() and Read() ).
856           Modified Skip() to call Read () explicitly.
857         * XmlTextReader.cs :
858           Fixed ReadInnerXml() which ignored EndElement token in certain cases.
859           Implemented MoveToAttribute (local, ns), and modified GetAttribute()
860           in relation to this change.
861           Attributes for XmlDeclaration are now correctly set.
862         * XmlTextWriter.cs : WriteRaw() is now different from WriteString().
863           Simplified WriteAttributes() for XmlDeclaration.
864
865 2003-04-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
866
867         * XmlTextReader.cs : fixed ReadInnerXml(). it was inconsistent with
868           Depth property fix.
869
870 2003-04-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
871
872         * XmlDocument.cs : fixed Load() to set baseURI correctly.
873         * XmlReader.cs : patch by Gonzalo. Fixed not to skip XmlDeclaration.
874         * XmlTextReader.cs :
875           fixed Depth. When it's on StartElement, Depth was already incremented.
876           fixed private SaveProperty(), which moved away its saved properties
877           when MoveToElement was called repeatedly.
878         * XmlTextWriter.cs : fixed WriteQualifiedName() to close start tag.
879         * XmlWriter.cs :
880           WriteAttributes() refactory (for XMLDecl).
881           WriteNode() don't Read() when the reader is Initial state, let other
882           invokation to Read(). In case of Element, it should write entire
883           element. In case of Attribute, it shouldn't Read().
884           WriteStartDocument() should omit standalone decl. when there is no
885           explicit value.
886
887 2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
888
889         * XmlReader.cs: reverted last patch. It breaks System.Configuration 
890         because 1. it considers XmlDeclaration as content and 2. always
891         returns XmlNodeType.None.
892         
893
894 2003-04-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
895
896         * Added missing ChangeLog of 4/4/2003.
897         * XmlTextWriter.cs : patch by Erik. fixed WriteQualifiedName.
898           (write prefix instead of ns.)
899         * XmlInputStream.cs : file access mode fix (FileAccess.Read was missing)
900         * XmlTextReader.cs : modified to call Read() instead of ReadContent().
901           (It may be required for decorated reader such as XmlValidatingReader.)
902           Changed Read() error message for mismatch end tag.
903         * XmlDocument.cs : (ReadNode) friendly message for mismatch EndElement.
904         * XmlReader.cs : Corrected misinterpreted MoveToContent() method.
905
906 2003-04-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
907
908         * XmlDocument.cs : Load() now closes the given XmlReader.
909           Don't allow creation of XmlTextReader for Doctype. (workaround.)
910         * XmlInputStream.cs : It now closes its internal stream explicitly.
911         * XmlNode.cs : RemoveChild() bugfix for removing LastLinkedChild.
912         * XmlNodeReader.cs : GetAttribute() bugfix for not-present attribute.
913         * XmlParserInput.cs : added Close() method.
914         * XmlReader.cs : MoveToContent() should (1) not Read in case of empty
915           element, and (2) MoveToElement() in case of attribute.
916         * XmlTextReader.cs : Close() now actually closes source TextReaders.
917
918 2003-03-26  Duncan Mak  <duncan@ximian.com>
919
920         * XmlTextWriter.cs (Write): A patch from Atsushi to fix
921         prematurely ending the write, or something like that. It was
922         causing us to chop off the end of the document when we're trying
923         to generate XML Schemas.
924
925 2003-03-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
926
927         * XmlTextReader.cs : implemented ReadString().
928           fixed ctor(string, XmlNodeType, XmlParserContext) - don't raise
929           null reference exception when context is null.
930         * XmlNodeReader.cs : fixed ReadString() - should ignore attributes etc.
931           fixed Read() - when positioned at EndElement, it didn't progress.
932           fixed HasAttribute - it didn't return false in all cases.
933           fixed Name and LocalName - only limited type of nodes return names.
934           fixed AttributeCount - in some cases it threw null ref exception.
935
936 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
937
938         * XmlTextWriter.cs : WriteStartDocument doesn't set hasRoot=true, then
939           WriteEndDocument without root element now raises an error correctly.
940         * XmlDocumentNavigator.cs : (MoveToFirstChild) fixed bugzilla #36672.
941           implemented BaseURI, NameTable, XmlLang, GetAttributes, GetNamespace,
942           MoveToAttribute.
943
944 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
945
946         * XmlElement.cs : RemoveAttribute now don't throws when specified
947           attribute does not exist.
948
949 2003-03-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
950
951         * XmlNode.cs : add descriptions for some node type error.
952
953 2003-03-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
954
955         * XmlNodeArrayList.cs, XmlNodeListChildren.cs : bugzilla #39920 fix.
956
957 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
958
959         * XmlDeclaration.cs : quick fix, not to use regex for set_Value.
960
961 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
962
963         * XmlTextReader.cs : Fixed wrong notationdecl SYSTEM id read.
964         * XmlInputStream.cs : Should allow versionless input stream entity.
965
966 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
967
968         * added XmlParserInput.cs for multi xml document sources.
969         * added DTDObjectModel.cs (maybe temporary).
970         * XmlTextReader.cs :
971           + fixed ctor to use XmlStreamReader. Allowed null XmlParserContext.
972           + Some members such as LineNumber, ReadChar now uses XmlParserInput.
973           + added support for Namespaces (namespace-ignorant parse available).
974           + added support for XmlResolver.
975           + replace SetReaderContext()/SetReaderFragment() with Initialize().
976           + use NameTable in CreateNameString.
977           + fixed ReadCData(). Now reads "]]]>" correctly.
978           + support for DTD parse.
979           + Read() now throws an error when it reached EOF while Depth > 0.
980         * XmlAttribute.cs,
981           XmlDocumentFragment.cs,
982           XmlElement.cs : fix related to the changes of XmlTextReader.Initialize
983         * XmlDocument.cs : ReadNode() now reads DocumentType.
984         * XmlDocumentType.cs : implemented Entities, Notations, WriteTo().
985         * XmlEntity.cs,
986           XmlNotation.cs : added override LastLinkedChild (for doctype node).
987         * XmlNamedNodeMap.cs : Remove() raises an error if target is read only.
988         * XmlElement.cs : bugfix for node removal of set_InnerXml.
989         * XmlNode.cs : added insertBeforeIntern() derived from InsertBefore().
990           (to append child XmlEntity into XmlDocumentType correctly.)
991         * XmlInputStream.cs : fixed to access file with FileAccess.Read.
992
993 2003-03-15  Duncan Mak  <duncan@ximian.com>
994
995         * XmlElement.cs (Name): Only append prefix + ':' when prefix is
996         neither String.Empty nor null. Thanks to Simon Guindon for
997         reporting the bug and Jackson for fixing this bug with me.
998
999 2003-03-15  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1000
1001         * XmlConstructs.cs : fix "int IsXXX()" to reject negative value.
1002         * XmlDocument.cs : simplify Load(string url) to use XmlTextReader.
1003           fixed ReadNode(), it should call reader.Read() only on Initial state.
1004         * XmlInputStream.cs : Changed namespace. Added XmlStreamReader(stream)
1005           and XmlStreamReader (string). Fixed XmlInputStream(url) not to use
1006           System.Net.WebClient directly.
1007         * XmlParserContext.cs : baseURI never be null.
1008         * XmlTextWriter.cs : use WebName for Encoding instead of HeaderName.
1009         * XmlUrlResolver.cs : namespace change for XmlInputStream.
1010
1011 2003-03-12  Elan Feingold <efeingold@mn.rr.com>
1012
1013         * XmlTextReader.cs: When throwing a ReaderException, show what
1014         character was the culprit
1015
1016 2003-03-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1017
1018         * XmlDocumentFragment.cs, XmlElement.cs :
1019           modified InnerXml (fragment type from Element to DocumentFragment).
1020
1021         * XmlElement.cs : fixed WriteTo() ns check.
1022         * XmlNamespaceManager.cs : MS.NET allows Add() used two or more times.
1023         * XmlNode.cs : fixed ConstructNamespaceManager().
1024
1025         * XmlConstructs.cs : added IsSpace, IsName, IsNameStart, IsNCName,
1026           IsPubid with an int arg.
1027         * XmlReader.cs : changed to use XmlChar.cs (its role is as same as
1028           XmlConstructs.cs).
1029         * XmlTextReader.cs :
1030           improved error messages with line info.
1031           / checking matching start and end tags.
1032           / prevents the apperance of multiple root elements. (patch by Erik)
1033           fixed and refactored ReadInnerXml() and ReadOuterXml()
1034           changed to use XmlChar.cs.
1035
1036         * XmlTextWriter.cs : changed to put element's xmlns at CloseStartTag ()
1037           (It will help c14n implementation.)
1038           / blocks multiple attribute output with element node.
1039
1040 2003-02-28  Alan Tam <Tam@SiuLung.com>
1041
1042         * XmlConvert.cs: fixed the most ToXXX(string) and ToString(XXX)
1043         methods to make them compatible with the XML Schema Spec from W3C
1044         ToString(TimeSpan) is still outstanding
1045
1046 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1047
1048         * XmlDocument.cs:
1049         (Load (string)): hack to workaround some issues with Uri.Parse. Once
1050         Parse is fixed, remove the hack.
1051
1052 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1053
1054         * XmlQualifiedName.cs : fixed GetHashCode() to avoid null reference
1055         * XmlTextReader.cs : fixed ReadAttributeValue() to handle 
1056                 entity reference, and some refactory.
1057
1058 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1059
1060         * XmlUrlResolver.cs : WebClient.Credentials was not implemented yet.
1061
1062 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1063
1064         * XmlInputStream.cs : added (also contains internal XmlStreamReader).
1065         * XmlDocument.cs : Load () now can specify URL using XmlUrlResolver,
1066                 and can read non-UTF-8 stream.
1067         * XmlTextReader.cs : related to above stream fix.
1068         * XmlUrlResolver.cs : implemented GetEntity ().
1069
1070 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1071
1072         * XmlTextWriter.cs: implemented WriteRaw (char[], int, int).
1073
1074 2003-02-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1075
1076         * XmlTextReader.cs : implemented QuoteChar.
1077
1078 2003-01-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1079
1080         * XmlNode.cs : implemented ReplaceChild.
1081           removed DocElem checking at InsertBefore.
1082         * XmlNodeReader.cs : fixed ReadString and Read for correct node info.
1083         * XmlText.cs : implemented CloneNode and SplitText.
1084
1085 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1086
1087         * XmlCharacterData.cs: added XPathNodeType property.
1088
1089 2003-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1090
1091         * XmlTextWriter.cs: throw an exception if WriteEndDocument is
1092         called without a prior call to WriteStartDocument.
1093
1094 2003-01-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1095
1096         * XmlNodeReader.cs : several fix to get more compatible with MS.NET.
1097
1098 2003-01-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1099
1100         * XmlNamespaceManager.cs : fundamental change of LookupPrefix to return
1101                 null when no matching uri.
1102         * XmlElement.cs : removed unnecessary xmlns output.
1103         * XmlNode.cs : GetPrefixOfNamespace fix along with the change above.
1104         * XmlTextWriter.cs : LookupPrefix and WriteStartElementInternal fix 
1105                 along with the change above, and moved timing of 'xmlns' output 
1106                 to CloseStartElement.
1107         * XmlWriter.cs: modified WriteStartAttribute, same as yesterday.
1108
1109 2003-01-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1110
1111         * XmlWriter.cs: modified WriteStartElement (see test for detail).
1112         Added WriteNode.
1113
1114 2003-01-13  Ville Palo <vi64pa@koti.soon.fi>
1115
1116         * XmlDocument.cs: Added CheckName () method to check names validity.
1117         
1118 2003-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1119
1120         * XmlTextReader.cs:
1121         (ReadOuterXml): use Depth property which return elementDepth, not depth.
1122
1123 2003-01-11  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1124
1125         * XmlElement.cs : (by ville) XmlElement.set_InnerText event bugfix.
1126         * XmlTextReader.cs : some fix for ReadOuterXml().
1127
1128 2003-01-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1129
1130         * XmlTextReader.cs : bugfix for attributes related to creation of 
1131           XmlAttribute *node*.
1132
1133 2003-01-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1134
1135         * XmlTextReader.cs : bugfix for attribute values which have entity
1136           references.
1137
1138 2002-12-28  Ville Palo <vi64pa@koti.soon.fi>
1139
1140         * XmlDocument.cs: XmlTextWriter.Formatting == Indented when 
1141         calling Save () -methods.
1142         
1143 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1144
1145         * XmlNodeReader.cs : primitive reading implementation.
1146
1147 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1148
1149         * XmlElement.cs : quick fix for the incomplete patch of #35308 below.
1150
1151 2002-12-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1152
1153         * XmlDocument.cs : removed inconsistent line-feed output.
1154         * XmlElement.cs, XmlTextWriter.cs :
1155                 fixed for bugzilla 35308 (default ns output)
1156         * XmlWhitespace.cs : limited output only when preserving whitespace.
1157
1158 2002-12-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1159
1160         * XmlAttribute.cs, XmlDocument.cs, XmlTextReader.cs:
1161                 Implemented XmlTextReader.ReadAttributeValue().
1162                 Added internal ReadAttributeNodeValue().
1163                 Fixed XmlAttribute.InnerXml to use these methods.
1164         
1165         * XmlDocument.cs, XmlDocumentFragment.cs, XmlElement.cs, XmlNode.cs:
1166                 Implemented XmlDocument.ReadNode() and removed ConstructDOM().
1167                 Other changes are replacing them.
1168
1169 2002-12-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1170
1171         * XmlDocument.cs: patch by Ville (fixed default PreserveWhitespace)
1172
1173 2002-12-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1174
1175         * XmlElement.cs, XmlTextWriter.cs, XmlWriter.cs:
1176                 patch by JD Conley <jconley@winfessor.com>.
1177                 (Fix for xmlns attribute output.)
1178
1179 2002-12-05  Ville Palo <vi64p@koti.soon.fi>
1180
1181         * XmlQualifiedName.cs: Little fix to ToString () -method
1182
1183 2002-12-04  Tim Haynes  <thaynes@openlinksw.com>
1184
1185         * class/System.XML/System.Xml/XmlElement.cs: Made more refined
1186         checks on attributeNode to fix 32262.
1187
1188 2002-12-03  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1189
1190         * XmlDocument.cs (CreateNavigator(XmlNode)) : reverted
1191         * XmlTextWriter.cs (WriteStartElementInternal):
1192           fixed when default namespace was specified, all descendants
1193           fail to omit the default namespace declarations.
1194         * XmlAttribute.cs,
1195           XmlDocument.cs,
1196           XmlNode.cs (internal XmlLang/XmlSpace) : implemented(defined)
1197         * XmlAttribute.cs,
1198           XmlDocumentFragment.cs,
1199           XmlElement.cs (set_InnerXml): now uses XmlLang/XmlSpace
1200         * XmlElement.cs (set_IsEmpty) : implemented
1201           (WriteTo) : removed my improper indenting (Writer already done)
1202         * XmlNode.cs (BaseURI) : fixed if ParentNode is null, NullPointerEx
1203           (ConstructDOM) : implemented when xmlReader isn't XmlTextReader
1204         ...and renamed XmlDocument.ConventionalParser to ReusableReader ;-)
1205
1206 2002-12-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1207
1208         * XmlNode.cs (RemoveChild):
1209                 bugfixed when XmlNode is Document OwnerDocument is null
1210         * XmlDeclaration.cs (Value):
1211                 bugfixed regular expression pattern.
1212         * XmlDocument.cs (CreateNavigator): bugfixed access modifier.
1213
1214 2002-11-24  Duncan Mak  <duncan@ximian.com>
1215
1216         * XmlImplementation.cs (HasFeature): Fixed a typo. Thanks for
1217         Fabricio Barros Cabral (fx) on #mono for spotting it. This is his
1218         first patch to Mono! ;-)
1219
1220 2002-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1221
1222         * XmlNode.cs:
1223         (AppendChild): readded refChild != null condition before throwing
1224         "cannot insert this node in this position" exception. There's probably
1225         a better solution. Fixes #34191.
1226         (RemoveAll): changed following Atsushi instructions.
1227         
1228
1229 2002-11-13  Duncan Mak  <duncan@ximian.com>
1230
1231         * XmlElement.cs (IsEmpty): A temporary check-in to keep gtk-sharp
1232         compiling.
1233
1234 2002-11-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1235
1236         * XmlDocument.cs : unified all constructors, added ConventionalParser,
1237                 implemented CloneNode() and CreateEntityReference(),
1238         * XmlEntityReference.cs : set_Value, WriteContentTo, WriteTo
1239                 set BaseURI to MonoTODO
1240         * XmlNode.cs : implemented PrependChild, modified ConstructDOM,
1241                 bugfix InsertAfter (incorrect prepending) and InsertBefore
1242                 (more than one DocumentElements hadn't caused errors)
1243         * XmlTextReader.cs : unified all constructors,
1244                 added internal SetReaderContext(), SetReaderFragment()
1245                 bugfix (syntax check of PUBLIC / getting internal subset)
1246
1247 2002-11-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1248
1249         XmlAttribute.cs : set_InnerText, set_InnerXml, some check for set_Prefix
1250         XmlAttributeCollection.cs : (indexer) this[localName, namespaceURI]
1251         XmlCharacterData.cs : exchanged Data and Value
1252                 (for processing events and inheritance)
1253         XmlDocumentFragment.cs : set_InnerXml
1254         XmlSignificantWhitespace.cs : set_Value
1255         XmlTextReader.cs : ReadAttributeValue
1256
1257 2002-11-04  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1258
1259         XmlAttribute.cs: fixed missing internal 'OwnerElement''SetOwnerElement'
1260
1261 2002-11-03  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1262
1263         * XmlAttributeCollection.cs : checks owner element.
1264                 implemented CopyTo, InsertAfter, InsertBefore, Prepend,
1265                 Remove, RemoveAt, SetNamedItem.
1266                 removed some logics that sets 'Parent' (that should be null)
1267         * XmlDocument.cs : set_InnerXml, [PreserveWhitespace(incomplete)]
1268         * XmlDocumentFragment.cs : get_InnerXml, WriteContentTo, WriteTo
1269         * XmlElement.cs : implemented WriteTo, set_InnerText.
1270                 Fixed WriteTo() to add xmlns:* attributes when
1271                 writer.LookupPrefix() returned mismatching.
1272         * XmlNamedNodeMap.cs : compare not only name but localname and nsuri.
1273                 Removing different prefixes for the same uri now runs correct.
1274                 added SetNamedItem(XmlNode node, int position_to_insert).
1275         * XmlNode.cs : ConstructDOM (logically) creates XmlEntityReference,
1276                 XmlWhitespace, and XmlSignificantWhitespace
1277
1278 2002-10-31  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1279
1280         * XmlDocument.cs : implemented CreateDocumentFragment()
1281         * XmlElement.cs, XmlLinkedNode.cs :
1282                 moved LastLinkedChild from XmlElement to XmlLinkedNode.
1283         * XmlEntityReference.cs : must throw NotImplementedException.
1284         * XmlNode.cs :
1285               + implemented InsertBefore() and then implemented InsertAfter()
1286                 and modified AppendChild() to call it.
1287               + added logic to check ReadOnly, parent document equivalence,
1288                 and inserting any 'content' before/after DocumentElement.
1289               + implemented Clone() [it is equals to CloneNode() by MS doc.]
1290               + added logic in RemoveChild() to check parent of oldChild.
1291               + fixed ConstructNamespaceManager() to internal only.
1292
1293 2002-10-29  Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1294
1295         * XmlAttribute.cs : add internal 'IsDefault' property
1296                             (equals to !Specified)
1297         * XmlImplementation.cs : added 'internalNameTable' property.
1298         * XmlDocument.cs :
1299             + now allows "" for 'standalone' in CreateXmlDeclaration.
1300             + implemented 'Implementation' property and constructor with it.
1301             + added logic for appending name table (but still no use)
1302             + implemented property 'DocumentType'
1303               (but without internalSubset parsing. wait for next update.)
1304         * XmlNode.cs :
1305             + modified AppendChild() and RemoveChild() to support fragment.
1306             + modified AppendChild() to remove newChild from its parent
1307               when newChild is already in the other place.
1308             + modified RemoveChild() to set parentNode null.
1309             + modified ConstructDOM() to create DocumentType,
1310               and fixed access modifier ('internal protected' to 'internal')
1311         * XmlLinkedNode.cs : fixed 'NextSibling' to return null
1312                 when its parent is null.
1313         * XmlDocumentFragment.cs : added internal override 'LastLinkedChild'
1314                 property to enable AppendChild() for this class.
1315         * XmlTextReader.cs : appended private publicId and systemId fields.
1316
1317 2002-10-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1318
1319         * XmlTextReader.cs: make it work when the underlying Stream is not
1320         'seekable'.
1321
1322 2002-10-26  Piers Haken <piersh@friskit.com>
1323
1324         * XmlNode.cs: add virtual property XPathNodeType
1325         * XmlAttribute.cs:
1326         * XmlComment.cs:
1327         * XmlDocument.cs:
1328         * XmlElement.cs::
1329         * XmlProcessingInstruction.cs:
1330         * XmlSignificantWhitespace.cs:
1331         * XmlText.cs:
1332         * XmlWhitespace.cs: implement XPathNodeType property
1333         * XmlDocumentNavigator.cs: use XPathNodeType property instead of switch
1334
1335 2002-10-26  Piers Haken <piersh@friskit.com>
1336
1337         * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
1338
1339 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1340
1341         * XmlTextReader.cs: don't increment depth for entity references.
1342
1343 2002-10-22  Tim Haynes <thaynes@openlinksw.com>
1344
1345         * - Fixed the duplication of xmlns:xx = yy when serializing the
1346         XML for serialization
1347         
1348         Fixed the unnecessary parsing/serializing when adding assemblies
1349         for serialization 
1350
1351         Avoided setting the XmlNode.InnerXml property
1352         (as it's not implemented) 
1353
1354         Fixed the usage/implementation of
1355         XmlElement.GetElementsByTagName()
1356         
1357 2002-10-21  Duncan Mak  <duncan@ximian.com>
1358
1359         * XmlDocument.cs:
1360         * XmlElement.cs:
1361         * XmlNode.cs:
1362         * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
1363         Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
1364
1365 2002-10-18  Duncan Mak  <duncan@ximian.com>
1366
1367         * XmlDocument.cs: Applied a patch by Atsushi Enomoto
1368         <ginga@kit.hi-ho.ne.jp>.
1369
1370 2002-10-12  A.Enomoto <ginga@kit.hi-ho.ne.jp>
1371
1372         * XmlDocument.cs (ImportNode): Implemented
1373
1374 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1375
1376         * XmlDocument.cs: one more Load method implemented.
1377         * XmlTextReader.cs: Depth now works.
1378
1379 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1380
1381         * XmlConvert.cs: IsInvalid is now internal.
1382         * XmlNamespaceManager.cs: implemented RemoveNamespace
1383         * XmlTextReader.cs: return BaseURI and Encoding from the parser.
1384         * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
1385
1386 2002-09-19  Matt Hunter <mahunter@tconl.com>
1387
1388         * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
1389         * XmlAttributeCollection.cs: Implemented Append (XmlAttribute) 
1390           
1391 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1392
1393         * XmlConvert.cs: finished implementation.
1394         * XmlTextReader.cs: fixed #30239.
1395         * XmlTextWriter.cs: fixed #30240.
1396
1397 2002-09-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1398
1399         * XmlTextReader.cs: line and position begin with 1.
1400
1401 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1402
1403         * XmlException.cs: added a new internal constructor for IXmlLineInfo
1404         and output line and position info in Message.
1405
1406         * XmlReader.cs: implemented missing bits.
1407
1408 2002-09-12      Piers Haken <piersh@friksit.com>
1409
1410         * XmlDocumentNavigator.cs: implement MoveToId()
1411
1412 2002-09-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1413
1414         * XmlTextWriter.cs: fixed bug #29886.
1415
1416 2002-08-26  Ravi Pratap  <ravi@ximian.com>
1417
1418
1419         * XmlAttribute.cs (InnerText): Implement getting this property.
1420
1421         * XmlNode.cs (InnerText): Ensure that we append only values of
1422         text nodes.
1423
1424 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1425
1426         * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
1427         that allowed compiling this.
1428         [ FIXME: filed bug #29435. mcs should have failed on this ]
1429
1430 2002-08-25  Tim Coleman <tim@timcoleman.com>
1431         * XmlNode.cs:
1432                 Change CreateNavigator to not be virtual.
1433         * XmlElement.cs:
1434                 Add set_Prefix and InnerText accessors.
1435         * XmlEntityReference.cs:
1436                 Add set_Value accessor.
1437         * XmlTextWriter.cs:
1438                 Make objects which should be private private.
1439         * XmlWriter.cs:
1440                 Remove WriteStartElementInternal abstract definition.
1441         * XmlValidatingReader.cs:
1442                 New stubs added.
1443
1444 2002-08-22  Jason Diamond <jason@injektilo.org>
1445
1446         * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
1447         and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
1448
1449 2002-08-22  Jason Diamond <jason@injektilo.org>
1450
1451         * XmlElement.cs: Correction to previous GetElementsByTagName patch
1452         courtesy of Matt Hunter <xrkune@tconl.com>.
1453
1454 2002-08-22  Jason Diamond <jason@injektilo.org>
1455
1456         * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
1457         qualified GetElementsByTagName courtesy of Matt Hunter 
1458         <xrkune@tconl.com>.
1459
1460 2002-08-19  Jason Diamond <jason@injektilo.org>
1461
1462         * XmlDocument.cs, XmlElement.cs: Added implementation of 
1463         GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
1464
1465 2002-08-16  Jason Diamond <jason@injektilo.org>
1466
1467         * XmlElement.cs: Fixed writing out qualified elements courtesy of
1468         Marcus Bürgel <marcus.buergel@gmx.de>.
1469
1470 2002-08-13  Tim Coleman <tim@timcoleman.com>
1471         * XmlTextWriter.cs:
1472                 Partial implementation of WriteQualifiedName ().
1473
1474 2002-08-07  Kral Ferch <kral_ferch@hotmail.com>
1475         * XmlCharacterData.cs:  Implemented AppendData(), DeleteData(),
1476                 InsertData(), and ReplaceData().  These methods fire the
1477                 NodeChanging and NodeChanged events.
1478                 
1479         * XmlDocument.cs:  Fixed bugs in onNodeChanged() and onNodeChanging().
1480         
1481         * XmlNode.cs:  AppendChild() fires NodeInserting and NodeInserted events.
1482                 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
1483         
1484 2002-08-03  Tim Coleman <tim@timcoleman.com>
1485         * XmlNamespaceManager.cs:
1486                 .Net allows the empty namespace to be redefined
1487                 at a later point, but the current implementation
1488                 did not.  This fixes a hashtable conflict.
1489
1490 2002-07-26  Tim Coleman <tim@timcoleman.com>
1491         * XmlTextWriter.cs:
1492                 When given a textwriter, check to see if it has a
1493                 null encoding. This was being done for other inputs
1494                 than a textwriter.
1495
1496 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1497
1498         * XmlTextReader.cs: rough line/column support.
1499
1500 2002-07-23  Duncan Mak  <duncan@ximian.com>
1501
1502         * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
1503         (string, string []) is particularly strange.
1504
1505         * XmlException.cs: Remember to call the base serialization
1506         constructor.
1507
1508         * XmlNodeReader.cs: Keep a new variable to store the Depth. 
1509
1510 2002-07-14  Jason Diamond  <jason@injektilo.org>
1511
1512         * XmlAttribute.cs: Removed ownerElement field since we can reuse 
1513         parentNode field.
1514
1515         * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
1516         if the current node is an attribute.
1517
1518         * XmlElement.cs: SetAttributeNode now sets the new attribute's
1519         owner element.
1520
1521 2002-07-12  Jason Diamond  <jason@injektilo.org>
1522
1523         * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
1524         creating an element, use String.Empty instead.
1525
1526 2002-07-12      Piers Haken <piersh@friksit.com>
1527
1528         * XmlAttributeCollection.cs: implement some ItemOf indexers
1529         * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
1530         * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
1531
1532 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
1533
1534
1535 2002-10-26  Piers Haken <piersh@friskit.com>
1536
1537         * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
1538
1539 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1540
1541         * XmlTextReader.cs: don't increment depth for entity references.
1542
1543 2002-10-22  Tim Haynes <thaynes@openlinksw.com>
1544
1545         * - Fixed the duplication of xmlns:xx = yy when serializing the
1546         XML for serialization
1547         
1548         Fixed the unnecessary parsing/serializing when adding assemblies
1549         for serialization 
1550
1551         Avoided setting the XmlNode.InnerXml property
1552         (as it's not implemented) 
1553
1554         Fixed the usage/implementation of
1555         XmlElement.GetElementsByTagName()
1556         
1557 2002-10-21  Duncan Mak  <duncan@ximian.com>
1558
1559         * XmlDocument.cs:
1560         * XmlElement.cs:
1561         * XmlNode.cs:
1562         * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
1563         Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
1564
1565 2002-10-18  Duncan Mak  <duncan@ximian.com>
1566
1567         * XmlDocument.cs: Applied a patch by Atsushi Enomoto
1568         <ginga@kit.hi-ho.ne.jp>.
1569
1570 2002-10-12  A.Enomoto <ginga@kit.hi-ho.ne.jp>
1571
1572         * XmlDocument.cs (ImportNode): Implemented
1573
1574 2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1575
1576         * XmlDocument.cs: one more Load method implemented.
1577         * XmlTextReader.cs: Depth now works.
1578
1579 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1580
1581         * XmlConvert.cs: IsInvalid is now internal.
1582         * XmlNamespaceManager.cs: implemented RemoveNamespace
1583         * XmlTextReader.cs: return BaseURI and Encoding from the parser.
1584         * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
1585
1586 2002-09-19  Matt Hunter <mahunter@tconl.com>
1587
1588         * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
1589         * XmlAttributeCollection.cs: Implemented Append (XmlAttribute) 
1590           
1591 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1592
1593         * XmlConvert.cs: finished implementation.
1594         * XmlTextReader.cs: fixed #30239.
1595         * XmlTextWriter.cs: fixed #30240.
1596
1597 2002-09-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1598
1599         * XmlTextReader.cs: line and position begin with 1.
1600
1601 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1602
1603         * XmlException.cs: added a new internal constructor for IXmlLineInfo
1604         and output line and position info in Message.
1605
1606         * XmlReader.cs: implemented missing bits.
1607
1608 2002-09-12      Piers Haken <piersh@friksit.com>
1609
1610         * XmlDocumentNavigator.cs: implement MoveToId()
1611
1612 2002-09-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1613
1614         * XmlTextWriter.cs: fixed bug #29886.
1615
1616 2002-08-26  Ravi Pratap  <ravi@ximian.com>
1617
1618
1619         * XmlAttribute.cs (InnerText): Implement getting this property.
1620
1621         * XmlNode.cs (InnerText): Ensure that we append only values of
1622         text nodes.
1623
1624 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1625
1626         * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
1627         that allowed compiling this.
1628         [ FIXME: filed bug #29435. mcs should have failed on this ]
1629
1630 2002-08-25  Tim Coleman <tim@timcoleman.com>
1631         * XmlNode.cs:
1632                 Change CreateNavigator to not be virtual.
1633         * XmlElement.cs:
1634                 Add set_Prefix and InnerText accessors.
1635         * XmlEntityReference.cs:
1636                 Add set_Value accessor.
1637         * XmlTextWriter.cs:
1638                 Make objects which should be private private.
1639         * XmlWriter.cs:
1640                 Remove WriteStartElementInternal abstract definition.
1641         * XmlValidatingReader.cs:
1642                 New stubs added.
1643
1644 2002-08-22  Jason Diamond <jason@injektilo.org>
1645
1646         * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
1647         and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
1648
1649 2002-08-22  Jason Diamond <jason@injektilo.org>
1650
1651         * XmlElement.cs: Correction to previous GetElementsByTagName patch
1652         courtesy of Matt Hunter <xrkune@tconl.com>.
1653
1654 2002-08-22  Jason Diamond <jason@injektilo.org>
1655
1656         * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
1657         qualified GetElementsByTagName courtesy of Matt Hunter 
1658         <xrkune@tconl.com>.
1659
1660 2002-08-19  Jason Diamond <jason@injektilo.org>
1661
1662         * XmlDocument.cs, XmlElement.cs: Added implementation of 
1663         GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
1664
1665 2002-08-16  Jason Diamond <jason@injektilo.org>
1666
1667         * XmlElement.cs: Fixed writing out qualified elements courtesy of
1668         Marcus Bürgel <marcus.buergel@gmx.de>.
1669
1670 2002-08-13  Tim Coleman <tim@timcoleman.com>
1671         * XmlTextWriter.cs:
1672                 Partial implementation of WriteQualifiedName ().
1673
1674 2002-08-07  Kral Ferch <kral_ferch@hotmail.com>
1675         * XmlCharacterData.cs:  Implemented AppendData(), DeleteData(),
1676                 InsertData(), and ReplaceData().  These methods fire the
1677                 NodeChanging and NodeChanged events.
1678                 
1679         * XmlDocument.cs:  Fixed bugs in onNodeChanged() and onNodeChanging().
1680         
1681         * XmlNode.cs:  AppendChild() fires NodeInserting and NodeInserted events.
1682                 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
1683         
1684 2002-08-03  Tim Coleman <tim@timcoleman.com>
1685         * XmlNamespaceManager.cs:
1686                 .Net allows the empty namespace to be redefined
1687                 at a later point, but the current implementation
1688                 did not.  This fixes a hashtable conflict.
1689
1690 2002-07-26  Tim Coleman <tim@timcoleman.com>
1691         * XmlTextWriter.cs:
1692                 When given a textwriter, check to see if it has a
1693                 null encoding. This was being done for other inputs
1694                 than a textwriter.
1695
1696 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1697
1698         * XmlTextReader.cs: rough line/column support.
1699
1700 2002-07-23  Duncan Mak  <duncan@ximian.com>
1701
1702         * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
1703         (string, string []) is particularly strange.
1704
1705         * XmlException.cs: Remember to call the base serialization
1706         constructor.
1707
1708         * XmlNodeReader.cs: Keep a new variable to store the Depth. 
1709
1710 2002-07-14  Jason Diamond  <jason@injektilo.org>
1711
1712         * XmlAttribute.cs: Removed ownerElement field since we can reuse 
1713         parentNode field.
1714
1715         * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
1716         if the current node is an attribute.
1717
1718         * XmlElement.cs: SetAttributeNode now sets the new attribute's
1719         owner element.
1720
1721 2002-07-12  Jason Diamond  <jason@injektilo.org>
1722
1723         * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
1724         creating an element, use String.Empty instead.
1725
1726 2002-07-12      Piers Haken <piersh@friksit.com>
1727
1728         * XmlAttributeCollection.cs: implement some ItemOf indexers
1729         * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
1730         * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
1731
1732 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
1733
1734         * XmlTextWriter: Fixed Indentation. IndentationOverridden should
1735                 not be set when inside a attribute.
1736
1737 2002-07-06  Ajay kumar Dwivedi <adwiv@yahoo.com>
1738
1739         * XmlTextWriter: In WriteStartElement, if namespace is null and 
1740                 prefix is null|empty do not write out xmlns=""
1741         
1742         * XmlWriter: WriteStartElement calls the virtual method with null
1743                 argument instead of empty string.
1744
1745 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1746
1747         * XmlTextReader.cs: implemented .ctor (Stream).
1748
1749 2002-06-26  Duncan Mak  <duncan@ximian.com>
1750
1751         * XmlNodeReader.cs: Implementation of most of the properties, and
1752         some of the related methods. 
1753
1754 2002-06-23  Piers Haken <piersh@friskit.com>
1755         
1756         * XmlDocumentNavigator.cs: implement Clone()
1757         * XmlElement.cs: remove bogus unimplemented override of InnerText
1758         * XmlNode.cs: implment SelectNodes/SelectSingleNode
1759         * XmlNodeArrayList.cs: new support class for SelectNodes
1760
1761 2002-06-21  Ajay kumar Dwivedi <adwiv@yahoo.com>
1762         
1763         * XmlQualifiedName: Name and Namespaces are never null. If null is passed
1764                 to the constructor, set them to empty strings.
1765                 Fixed the Operators.
1766         
1767 2002-06-18  Ajay kumar Dwivedi <adwiv@yahoo.com>
1768         
1769         * XmlTextReader.cs: HasLineInfo returns false instead of throwing an
1770         Exception.
1771
1772 2002-06-14  Duncan Mak  <duncan@ximian.com>
1773
1774         * XmlConvert.cs: Added CLSCompliant attributes to methods.
1775         
1776 2002-06-12  Duncan Mak  <duncan@ximian.com>
1777
1778         * XmlCharacterData.cs (Value): Throw an ArgumentException in the
1779         set block if the node is read-only.
1780
1781 2002-06-10  Ajay kumar Dwivedi <adwiv@yahoo.com>
1782         * XmlConstruct.cs : New Internal class with Helper methods for
1783         Checking XmlConstructs
1784         * XmlConvert.cs: Implemented most of the methods
1785
1786 2002-06-08  Duncan Mak  <duncan@ximian.com>     
1787
1788         * XmlDocument.cs (Load):
1789         Added bits to Load (string) for BaseURI support.
1790
1791         * XmlAttribute.cs (BaseURI): 
1792         * XmlDocument.cs (BaseURI): 
1793         * XmlEntity.cs (BaseURI): Implemented.
1794
1795 2002-05-27  Jason Diamond  <jason@injektilo.org>
1796
1797         * XmlDocumentNavigator.cs: Added file to directory.
1798
1799         * XmlNode.cs (CreateNavigator): Implemented.
1800         (InnerText): Implemented.
1801
1802         * XmlDocument.cs (NamespaceURI, Prefix): Return String.Empty instead of
1803         throwing exception.
1804         (Load(XmlReader)): Allow for namespace qualified attributes.
1805
1806         * XmlElement.cs: Implemented GetAttribute(string, string) and both 
1807         GetAttributeNode overloads.
1808         (SetAttributeNode(XmlAttribute)): Implemented.
1809
1810         * XmlNamedNodeMap.cs: Fixed copy/paste bugs in GetNamedItem(string, string)
1811         and RemoveNamedItem(string, string).
1812
1813         * XmlLinkedNode.cs (PreviousSibling): Implemented.
1814
1815         * XmlTextReader.cs: Added code to maintain the order of attributes as 
1816         they're parsed. XML doesn't require this but Microsoft's parser does it and
1817         matching them makes testing easier so now we have it, too.
1818
1819 2002-05-26  Miguel de Icaza  <miguel@ximian.com>
1820
1821         * XmlDocument.cs: Implement the Save methods.
1822
1823 2002-05-08  Mike Kestner  <mkestner@speakeasy.net>
1824
1825         * XmlNamedNodeMap.cs (SetNamedItem): Fixed a copy/paste bug.
1826
1827 2002-04-28  Duncan Mak  <duncan@ximian.com>
1828
1829         * XmlSignificantWhitespace.cs (Value):
1830         * XmlWhitespace.cs (Value): Added MonoTODO to the 'set'
1831         block. Added new private method, IsValidWhitespaceChar, for
1832         checking.
1833
1834 2002-04-16  Duncan Mak  <duncan@ximian.com>
1835
1836         * XmlParserContext.cs (NameTable): Fixed a typo in the set block.
1837
1838 2002-04-12  Duncan Mak  <duncan@ximian.com>
1839
1840         * XmlAttribute.cs (Prefix): Added preliminary code for set block,
1841         added comment on work that needs to be done here. A new MonoTODO item. 
1842
1843         * XmlDocument.cs (ctor): Corrected constructor signature, changed
1844         parameter from 'NameTable' to 'XmlNameTable'.
1845
1846         * XmlDocumentFragment.cs (InnerXml): Added missing set block.
1847
1848         * XmlCaseOrder.cs: Moved to System.Xml.XPath.
1849
1850 2002-04-10  Duncan Mak  <duncan@ximian.com>
1851
1852         * XmlNodeReader.cs: Initial stubs for the class.
1853
1854 2002-04-08  Kral Ferch  <kral_ferch@hotmail.com>
1855
1856         * XmlAttributes.cs: InnerXml getter, WriteContentTo, and WriteTo
1857         implementations.
1858         
1859         * XmlDeclaration.cs: WriteTo implementation.
1860         
1861         * XmlDocument.cs: InnerXml getter implementation.
1862         
1863         * XmlElement.cs: InnerXml getter implementation.
1864
1865         * XmlNode.cs: Removed MonoTODO attrib on OuterXml.
1866         
1867         * XmlSignificantWhitespace.cs: WriteTo implementation.
1868         
1869         * XmlText.cs: WriteContentTo and WriteTo implementation.
1870         
1871         * XmlTextWriter.cs: WriteRaw implementation.
1872         
1873         * XmlWhitespace.cs: WriteContentTo and WriteTo implementations.
1874
1875 2002-04-05  Kral Ferch  <kral_ferch@hotmail.com>
1876
1877         * XmlAttributes.cs: Added reminder MonoTODO to set NamespaceURI
1878         if prefix in constructor is one of the default ones.
1879         
1880         * XmlCharacterData.cs: Returns String.Empty for Value and Data
1881         even when constructed with null.
1882         
1883         * XmlDeclaration.cs: Value doesn't put encoding or standalone
1884         in if they are empty.
1885         
1886         * XmlDocument.cs: Implemented CreateNode methods and this caused
1887         the changes in the other files in this checkin.
1888         
1889         * XmlProcessingInstruction.cs: Returns String.Empty for Value and Data
1890         even when constructed with null.
1891         
1892         * XmlWhitespace.cs: Changed Value 'get' to return Data.
1893
1894 2002-04-01  Kral Ferch  <kral_ferch@hotmail.com>
1895
1896         * XmlTextWriter.cs: Impls for WriteEndDocument and WriteFullEndElement.
1897         
1898 2002-03-31  Kral Ferch  <kral_ferch@hotmail.com>
1899
1900         * XmlTextWriter.cs: Impls for LookupPrefix, WriteBase64,
1901         and WriteCharEntity.
1902         
1903         * XmlWrite.cs:  Fixed bug where attribute namespace decl
1904         was pushing a scope onto the namespace manager when it shouldn't
1905         have been.
1906         
1907 2002-03-31  Kral Ferch  <kral_ferch@hotmail.com>
1908
1909         * XmlTextWriter.cs: Some tweaks for WriteAttibuteString
1910         in different states (no open start element, in WriteState.Content mode).
1911         
1912 2002-03-29  Kral Ferch  <kral_ferch@hotmail.com>
1913
1914         * XmlTextWriter.cs: XmlLang and XmlSpace properties
1915         and WriteWhitespace.
1916         
1917         * XmlTextWriterOpenElement.cs: scope support for XmlLang
1918         and XmlSpace.
1919
1920 2002-03-29  Kral Ferch  <kral_ferch@hotmail.com>
1921
1922         * XmlTextWriter.cs: Working on Attribute methods.
1923         
1924         * XmlWriter.cs: Working on Attribute methods.
1925
1926 2002-03-28  Duncan Mak  <duncan@ximian.com>
1927
1928         * XmlDocument.cs (CreateWhitespace):
1929         (CreateSignificantWhitespace): Removed extraneous call to the ToCharArray
1930         method.
1931
1932         * XmlSignificantWhitespace.cs (Value): Removed MonoTODO attribute.
1933
1934 2002-03-26  Duncan Mak  <duncan@ximian.com>
1935
1936         * XmlDocument.cs (CreateDocumentType): Implemented.
1937
1938         * XmlNode.cs (Value): Implemented.
1939
1940         * XmlProcessingInstruction.cs (InnerText): Implemented. It works just
1941         like XmlCharacterData.
1942
1943         * XmlDeclaration.cs (CloneNode): 
1944         * XmlDocument.cs (CreateXmlDeclaration): Added missing constructor
1945         arguments.
1946
1947         * XmlCharacterData.cs (InnerText): Implemented. Funny that the
1948         docs say it is the "The concatenated values of the node and all
1949         the children of the node.". I wrote some test programs and
1950         couldn't get any of the derived nodes to AppendChild. For now,
1951         InnerText == Data == Value.
1952         (Substring): Fixed typo.
1953
1954         * XmlDeclaration.cs (XmlDeclaration): Fixed the constructor parameter signature.
1955
1956         * XmlImplementation.cs (CreateDocument): Implemented.
1957
1958 2002-03-25  Duncan Mak  <duncan@ximian.com>
1959
1960         * XmlDeclaration.cs: Rewrote the class, fixed formatting, added
1961         missing properties (InnerText, Value).
1962         
1963         * XmlDocument.cs (CreateXmlDeclaration): Implemented.
1964
1965 2002-03-23  Kral Ferch <kral_ferch@hotmail.com>
1966
1967         * XmlTextWriter.cs: Impls for BaseStream and
1968         Namespaces and WriteState.
1969         
1970         * XmlWriter.cs: WriteState and WriteStartElementInternal.
1971
1972 2002-03-23  Kral Ferch <kral_ferch@hotmail.com>
1973
1974         * XmlNodeListChildren.cs: made class internal
1975         instead of public.  Shouldn't be visible outside
1976         of System.Xml.
1977         
1978         * XmlTextWriter.cs: Implementations for Formatting,
1979         IndentChar, Indenting, QuoteChar, WriteStartDocument(standalone).
1980         Suppresses encoding on xml declaration if null stream passed in.
1981         Formats output including suppressing indentation for elements in
1982         mixed content mode.
1983         
1984         * XmlTextWriterOpenElement.cs: Initial checkin.
1985         XmlTextWriter uses stack of these objects to track
1986         state.
1987         
1988 2002-03-22  Mike Kestner  <mkestner@speakeasy.net>
1989
1990         * XmlElement.cs: impl HasAttribute(string name).
1991
1992 2002-03-22  Duncan Mak  <duncan@ximian.com>
1993
1994         * XmlElement.cs: Reformatted.
1995         (CloneNode) Corrected.
1996
1997         * XmlDocument.cs (CreateWhitespace):
1998         (CreateSignificantWhitespace): Implemented.
1999
2000         * XmlAttribute.cs (CloneNode): Changed the child's CloneNode to
2001         true, because Attributes have ChildNodes.
2002
2003 2002-03-21  Kral Ferch <kral_ferch@hotmail.com>
2004
2005         * XmlTextWriter.cs: WriteStartDocument tracks state, writes out
2006         xml declaration along with encoding.  WriteEndElement throws
2007         exception if no WriteStartElement exists.
2008
2009 2002-03-20  Duncan Mak  <duncan@ximian.com>
2010
2011         * XmlEntityReference.cs (CloneNode): Implemented.
2012
2013         * XmlException.cs (Message): Implemented. We need to cache the
2014         message string because SystemException doesn't expose 'message'
2015         from Exception.
2016
2017         * XmlText.cs (Value): Added in the missing Value property.
2018
2019 2002-03-20  Duncan Mak  <duncan@ximian.com>     
2020
2021         * XmlAttribute.cs (CloneNode): Implemented.
2022
2023         * XmlDocumentFragment.cs (CloneNode): Implemented.
2024
2025         * XmlElement.cs (CloneNode): Implemented.
2026
2027 2002-03-19  Duncan Mak  <duncan@ximian.com>
2028
2029         * XmlNotation.cs: Added to CVS.
2030
2031         * XmlAttribute.cs (CloneNode): First crack at the CloneNode method.
2032
2033         * XmlCDataSection.cs (CloneNode): Implemented.
2034
2035         * XmlDocumentFragment.cs: Reformatted and added the missing properties
2036         (InnerXml, OwnerDocument, ParentNode).
2037         (CloneNode): Implemented.
2038
2039         * XmlSignificantWhitespace.cs (CloneNode): Implemented.
2040         (Value) Implemented the 'get' property.
2041
2042         * XmlWhitespace.cs (Module): implemented.
2043
2044 2002-03-19  Jason Diamond <jason@injektilo.org>
2045
2046         * XmlDocument.cs: Fixed typo in Load that was duplicating the LocalName
2047         in the prefix.
2048
2049 2002-03-18  Jason Diamond <jason@injektilo.org>
2050
2051         * XmlTextReader.cs: Don't restore properties after reading last
2052         attribute on an element.
2053
2054         * XmlDocument.cs: Move back to element after reading attributes
2055         so that IsEmptyElement test succeeds.
2056
2057 2002-03-18  Kral Ferch <kral_ferch@hotmail.com>
2058
2059         * XmlNamespaceManager.cs: Implemented LookupPrefix.
2060         
2061         * XmlTextWriter.cs: Implemented namespace and prefix support.
2062
2063 2002-03-18  Kral Ferch <kral_ferch@hotmail.com>
2064
2065         * XmlTextReader.cs: Restores properties after
2066         reading last attribute on an element.
2067         
2068         * XmlNode.cs: AppendChild sets the parent
2069         on the child.
2070
2071 2002-03-17  Kral Ferch  <kral_ferch@hotmail.com>
2072
2073         * XmlCDataSection.cs: Formatting, Implementation for WriteTo.
2074
2075         * XmlComment.cs: Implementations for WriteTo and WriteContentTo.
2076         
2077         * XmlElement.cs: Fixed bug in WriteTo.
2078         
2079         * XmlProcessingInstruction.cs: Formatting.
2080         
2081         * XmlTextWriter.cs: Implementations for Close, WriteCData, WriteComment,
2082         fixes for WriteEndElement, WriteProcessingInstruction.
2083
2084 2002-03-17  Kral Ferch  <kral_ferch@hotmail.com>
2085
2086         * XmlDocument.cs: Implementations for WriteTo() and WriteContentTo(),
2087         had Load() add PIs to the document, moved onXXX methods to alphabetical
2088         order in the file.
2089         
2090         * XmlElement.cs: Implementations for WriteTo() and WriteContentTo().
2091         
2092         * XmlNode.cs: Implementations for InnerXml Get and OuterXml.
2093         
2094         * XmlProcessingInstruction.cs: Implementations for WriteTo() and
2095         WriteContentTo().
2096         
2097         * XmlTextWriter.cs: Implementations for WriteEndElement,
2098         WriteProcessingInstruction, WriteStartElement, and WriteString.
2099         
2100         * XmlWriter.cs: Implemented WriteStartElement() methods.
2101
2102 2002-03-15  Duncan Mak  <duncan@ximian.com>
2103
2104         * XmlEntity.cs: Added to CVS. Need to implement BaseURI and
2105         InnerText once I know what they do.
2106
2107         * XmlDocumentType.cs (XmlDocumentType): Fix the constructor now
2108         that we can properly chain constructors.
2109         (CloneNode): implemented.
2110         (WriteContentTo): Removed MonoTODO attribute as this method has no
2111         effect in this class.
2112
2113         * XmlProcessingInstruction.cs (Value): Added the missing Set
2114         block.
2115         (InnerText): Added in, but not implemented.
2116
2117 2002-03-14  Kral Ferch  <kral_ferch@hotmail.com>
2118
2119         * XmlTextWriter.cs: implemented constructors and 
2120         WriteCData and WriteComment.
2121
2122 2002-03-14  Duncan Mak  <duncan@ximian.com>
2123
2124         * XmlDocument.cs: Moved the NodeChanged EventHandler to its own
2125         file, and updated the callbacks to reflect the change.
2126         (XmlDocument): Added the NameTable constructor.
2127         (NameTable): Also the NameTable property.
2128
2129         * XmlNodeChangedEventHandler.cs: Added, replacing the version that
2130         was in XmlDocument.cs. It has two arguments now (object,
2131         EventArgs) , instead of one (object).
2132
2133 2002-03-14  Kral Ferch  <kral_ferch@hotmail.com>
2134
2135         * XmlWriter.cs: Formatting.
2136         
2137         * XmlTextWriter.cs: Initial checkin.
2138         
2139 2002-03-14  Duncan Mak  <duncan@ximian.com>
2140
2141         * Validation.cs: Removed, replaced by ValidationType.cs.
2142
2143         * ValidationType.cs: Added.
2144
2145 2002-03-13  Duncan Mak  <duncan@ximian.com>
2146
2147         * XmlException.cs: Made it [Serializable], implemented good ol'
2148         GetObjectData, and the serialization constructor.
2149
2150         * XmlNamedNodeMap.cs (SetNamedItem): Check for the Name property.
2151         (SetNamedItem): Reverted (added back in) the patch with the
2152         ReadOnly checks. "Don't doubt yourself, my son... you were right!"
2153
2154         * XmlNamedNodeMap.cs (GetEnumerator): piggyback on the ArrayList implementation.
2155         (GetNamedItem (string, string)): implemented.
2156         (RemoveNamedItem): implemented.
2157         (SetNamedItem): implemented.
2158
2159 2002-03-12  Kral Ferch  <kral_ferch@hotmail.com>
2160
2161         * XmlAttribute.cs: Moved a method from amongst properties down to
2162         it's alphabetical position in the methods section.
2163         
2164         * XmlNode.cs: Passes in 'this' to XmlNodeList constructor instead of
2165         last linked child.  Set XmlNode base class to return false for IsReadOnly().
2166         Implemented GetEnumerator() and RemoveChild().
2167         
2168         * XmlNodeListChildren.cs: Now stores the parent instead of the last child.
2169         This is to support the behavior that the Enumerator doesn't become invalid
2170         when changes to the children occur.  Flushed out rest of implementation for
2171         MoveNext, Current, and Reset.
2172
2173 2002-03-12  Duncan Mak  <duncan@ximian.com>
2174
2175         * XmlCharacterData.cs: Reformatted the properties for better readability.
2176
2177         * XmlLinkedNode.cs: Removed the awful boxy comments.
2178
2179         * XmlNamedNodeMap.cs (Count):
2180         (Item): Implemented. Tests will be coming.
2181
2182         * XmlEntityReference.cs: 
2183         * XmlSignificantWhitespace.cs: Implemented these classes except for
2184         the Clone, WriteContentTo and WriteTo methods. Will have to
2185         investigate into these later.
2186
2187 2002-03-11  Duncan Mak  <duncan@ximian.com>
2188
2189         * IHasXmlNode.cs: Added to CVS.
2190
2191 2002-03-08  Jason Diamond <jason@injektilo.org>
2192
2193         * XmlParserContext.cs: Added missing constructors and missing Encoding 
2194         property.
2195
2196         * XmlTextReader.cs: Start using the XmlParserContext class.
2197
2198 2002-03-08  Jason Diamond <jason@injektilo.org>
2199
2200         * XmlTextReader.cs: Implemented MoveToElement and MoveToFirstAttribute.
2201
2202 2002-03-08  Mike Kestner  <mkestner@speakeasy.net>
2203
2204         * XmlNode.cs (Item): Implemented both indexers.
2205
2206 2002-03-08  Jason Diamond  <jason@injektilo.org>
2207
2208         * DomEncodingType.cs, TreePosition.cs, XPathNodeType.cs, XmlDataType.cs,
2209         XmlExceptionCode.cs, XmlSortOrder.cs, XmlUtil.cs: Removed files.
2210
2211 2002-03-08  Jason Diamond  <jason@injektilo.org>
2212
2213         * XmlAttribute.cs: Attribute nodes are supposed to store their values
2214         as child nodes so updated to reflect that.
2215
2216         * XmlDocument.cs, XmlElement.cs, XmlNode.cs: Moved code that was
2217         duplicated in XmlDocument and XmlElement into XmlNode so that it
2218         wouldn't have to be duplicated in XmlAttribute, too.
2219
2220 2002-03-08  Kral Ferch <kral_ferch@hotmail.com>
2221
2222         * XmlNodeList.cs, XmlDocument.cs, XmlLinkedNode.cs,
2223         XmlNode.cs: Formatting.
2224         
2225         * XmlNodeListChildren.cs: Implementation of XmlNodeList
2226         for XmlNode.ChildNodes property.
2227         
2228         * XmlNodeListAsArrayList.cs: Removed file.  Using different
2229         data structure (circular list) in XmlNode so this file
2230         is no longer valid.
2231         
2232         * XmlDocument.cs, XmlElement.cs: New ChildNodes tests found
2233         bug in setter property of LastLinkedChild so fixed it.
2234         
2235 2002-03-06  Jason Diamond  <jason@injektilo.org>
2236
2237         * XmlInputSource.cs, XmlNames_1_0.cs, XmlParse.cs: Removed files.
2238         We already have a parser in XmlTextReader.
2239
2240         * XmlException.cs: Removed constructor accepting XmlInputSource.
2241
2242 2002-03-06  Kral Ferch <kral_ferch@hotmail.com>
2243
2244         * XmlNode.cs: Rewrote this class from scratch with
2245         MonoToDo attribs and NotImplementedExceptions.  Now defines an
2246         internal LastLinkedNode property to aid the new implementation.
2247         XmlNodes only have ref to owner doc and parent nodes now.
2248         
2249         * XmlLinkedNode.cs: Added NextLinkedSibling internal property
2250         and ref to next sibling to support walking our circular child
2251         node list.
2252         
2253         * XmlDocument.cs: Added ref to last child node and overrides
2254         XmlNode's internal LastLinkedChild property to support walking
2255         our circular child node list.
2256         
2257 2002-03-02  Kral Ferch <kral_ferch@hotmail.com>
2258
2259         * XmlProcessingInstructions.cs: Class was empty.  Implemented
2260         constructor, properties, and CloneNode() method.  Put in
2261         MonoToDo attrib for remaining methods.
2262
2263         * XmlComment.cs: Reformatted and put in MonoToDo attribs.
2264         Got rid of helper methods and fields since they were no
2265         longer needed.
2266
2267         * XmlLinkedNode.cs: Reformatted and put in MonoToDo attribs.
2268
2269         * XmlDocument.cs: Added code to Load(XmlReader) to create XmlComment,
2270         XmlCDataSection, and XmlProcessingInstruction nodes. Implemented
2271         Createxxx() methods for those three node types.
2272
2273 2002-03-02  Jason Diamond <jason@injektilo.org>
2274
2275         * XmlDocument.cs: Implemented the remaining CreateElement and
2276         CreateAttribute methods.
2277
2278         * XmlAttribute.cs: Re-implemented.
2279
2280         * XmlElement.cs: Set owner element on attributes. Reformatted.
2281
2282 2002-03-02  Jason Diamond <jason@injektilo.org>
2283
2284         * XmlTextReader.cs: Implemented MoveToNextAttribute().
2285
2286         * XmlDocument.cs: Reformatted. Adding missing methods and MonoTODO
2287         attributes. Create attribute nodes while loading. Implemented
2288         Load(string) and CreateTextNode().
2289
2290         * XmlCharacterData.cs, XmlText.cs: Re-implemented.
2291
2292         * XmlCDataSection.cs, XmlComment.cs: Call correct constructor in 
2293         XmlCharacterData.
2294
2295         * XmlNamedNodeMap.cs, XmlAttributeCollection.cs: Stubbed out.
2296
2297 2002-03-02  Mike Kestner <mkestner@speakeasy.net>
2298
2299         * XmlAttribute.cs : Using fix.
2300         * XmlDocument.cs (CreateAttribute(String)): Implement.
2301
2302 2002-03-02  Jason Diamond <jason@injektilo.org>
2303
2304         * XmlNamespaceManager.cs: Atomize prefixes and namespaces strings in 
2305         the name table.
2306
2307 2002-02-28  Jason Diamond <jason@injektilo.org>
2308
2309         * XmlDocument.cs, XmlNode.cs: Initial implementation of LoadXml 
2310         courtesy of Kral Ferch <kral.ferch@hotmail.com>.
2311
2312 2002-02-28  Jason Diamond <jason@injektilo.org>
2313
2314         * XmlException.cs, XmlReader.cs, XmlTextReader.cs: Reformatted, 
2315         added missing members and MonoTODO attributes.
2316         
2317         * XmlTextReader.cs: Throw XmlException instead of System.Exception.
2318
2319 2002-02-27  Jason Diamond <jason@injektilo.org>
2320
2321         * XmlElement.cs: Reformatted, added missing members and MonoTODO 
2322         attributes.
2323
2324 2002-02-26  Duncan Mak  <duncan@ximian.com>
2325
2326         * XmlCDataSection.cs: Initial implementation.
2327
2328         * NameTable.cs: Fixed the whole thing. Wrote a NUnit test to test
2329         it out. This should (hopefully) be correct.
2330
2331 2002-02-26  Jason Diamond <jason@injektilo.org>
2332
2333         * XmlTextReader.cs: Apparently Microsoft's implementation treats
2334         namespace declarations as attributes so we do now, too.
2335
2336         * XmlNamespaceManager.cs: HasNamespace fixed so that it only
2337         checks the current scope.
2338
2339 2002-02-26  Duncan Mak  <duncan@ximian.com>
2340
2341         * XmlDocumentType.cs: Added a few hacks here and there to
2342         temporarily fix the "I broke the build issue".
2343
2344 2002-02-25  Jason Diamond <jason@injektilo.org>
2345
2346         * XmlDocument.cs, XmlElement.cs, XmlNode.xs, XmlNodeList.cs,
2347         XmlNodeListAsArrayList.cs: Multiple fixes necessary to get
2348         simple test to pass. The existing code is really shitty so I'll
2349         probably start writing tests and refactoring before much else 
2350         can get done.
2351
2352 2002-02-25  Duncan Mak  <duncan@ximian.com>
2353
2354         * NameTable.cs: Implemented.
2355
2356         * XmlDeclaration.cs: It should inherit from XmlLinkedNode, not XmlNode.
2357
2358 2002-02-24  Duncan Mak  <duncan@ximian.com>
2359         
2360         * XmlNodeOrder.cs: Added to CVS.
2361
2362         * XmlQualifiedName.cs: Fixed a warning from Equals ().
2363
2364         * XmlTokenizedType.cs: Added to CVS.
2365
2366         * XmlUrlResolver.cs: Added to CVS with one TODO task.
2367
2368 2002-02-23  Duncan Mak  <duncan@ximian.com>
2369
2370         * XmlQualifiedName.cs: Fixed ToString () and added the operators
2371         (== and !=).
2372
2373 2002-02-23  Jason Diamond <jason@injektilo.org>
2374
2375         * XmlTextReader.cs: Added support for qualified attributes.
2376
2377 2002-02-23  Jason Diamond <jason@injektilo.org>
2378
2379         * XmlNamespaceManager.cs: Initial implementation.
2380         
2381         * XmlTextReader.cs: Added support for NamespaceURI property on
2382         elements.
2383
2384 2002-02-23  Nick Drochak <ndrochak@gol.com>
2385
2386         * ChangeLog: Add the change log to this directory
2387
2388         * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has
2389         MonoTODO's