1 2003-10-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3 * Added DTDReader.cs. It is almost importation of XmlTextReader.
5 - More .NET-ism. Properties took place of fields.
6 - Imported PE set from XmlTextReader. Added location info.
7 - Added DTDEntityBase common to PE and GE.
8 - More correct text declaration handling with new XmlTextReader.
9 * DTDValidatingReader.cs :
10 - Now uses entity resolving XmlTextReader to validate attributes
11 correctly. Implemented standalone
12 - Standalone and default related validity constraints check.
13 * XmlImplementation.cs: Implemented HasFeature().
14 * XmlNode.cs : Implemented Supports().
15 * XmlNodeReader.cs : Modified to use XmlTextReader.SkipTextDeclaration()
16 * XmlParserInput.cs : Removed extraneous members.
18 - All DTD related functionality now goes to DTDReader.cs
19 - It became old simple TextReader input style.
20 - Implemented GetRemainder().
21 - Implemented ReadBase64(), ReadBinHex() and ReadChars(), using
22 additional new private method ReadUntilEndTag().
23 - Removed incomplete MaybeTextDecl and added SkipTextDeclaration().
24 ReadXmlDeclaration() now became simple.
25 - More strict entity reference check at SetEntityReferenceProperty()
26 - Removed extraneous members.
27 * XmlWriter.cs : WriteNode(XmlNodeType.None) does not raise error.
29 2003-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
31 * XmlTextReader.cs: when we get an unexpected EOF in ReadContent, set
32 the state before throwing the exception if depth > 0.
34 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
36 * XmlAttribute.cs : Removed extraneous MonoTODO.
37 * XmlTextWriter.cs : Implemented WriteBinHex() and WriteChars().
38 WriteStartElement() and WriteStartAttribute() should ignore Prefix
39 if namespace uri is not specified.
41 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
43 * XmlDocumentFragment.cs,
45 XmlEntityReference.cs : Removed extraneous MonoTODO.
46 * XmlNode.cs : Implemented Normalize().
48 - AttributeCount and HasAttributes should return its owner element's
49 value, to be consistent with XmlTextReader.
50 - Fixed Depth to reflect correct attribute/attribute-value iteration.
51 - simplified ownerElement and HasValue.
52 - Prefix won't return null.
53 - MoveToElement() should also work against attribute value nodes.
54 * XmlTextReader.cs : MoveToElement() should return false if it is
55 positioned at element itself.
57 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
59 * XmlTextReader.cs : Improved SignificantWhitespace handling.
61 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
63 * XmlSecureResolver.cs : Implemented basic feature.
65 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
67 * XmlUrlResolver.cs : Should work with null type argument.
69 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
71 * XmlTextWriter.cs : An attribute can require a prefix for the default
72 namespace, so we need to store the prefix as well as the namespace.
74 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
76 * DTDValidatingReader.cs : Simplified to use
77 XmlSchemaUtil.GetParserContext().
78 * XmlValidatingReader.cs : ValidationType.Auto should always use
79 XsdValidatingReader because xsi:schemaLocation might be used.
81 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
83 * XmlTextReader.cs : Attribute value token properties were incorrectly
84 set by the linked node.
86 2003-09-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
88 * XmlDocumentNavigator.cs : Fix for bugzilla #48931. MoveToRoot() now
89 considers such case that target node was not adapted to the document.
90 * XmlNamespaceManager.cs : GetEnumerator() missed the last pair.
91 * XmlTextWriter.cs : use 'as' instead of 'try..catch'.
93 2003-09-25 Ben Maurer <bmaurer@users.sourceforge.net>
95 * XmlNode.cs (XPathNodeType): Give more useful debugging message.
96 * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as
99 2003-09-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
101 * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace
102 recovery was still not enough. Fixed GrowScopes() (incorrect index).
104 2003-09-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
107 - Fix for bugzilla #48337 (containing Ben's advice on that).
108 - Added internal XmlTokenInfo classes. Nodes are now handled as token
109 objects (linked node, attributes and attribute values). Most of the
110 node state properties and iterating methods are changed to refer to
111 the token classes (except for value builder availability). Removed
112 fields which are never used. CompileDTDSubset() is changed in
113 reflection to nodeType field removal.
114 - Fixed Depth that should vary in moving between attributes and/or
115 reading attribute values.
116 - LineNumber and LinePosition now returns more correct location.
117 - Fixed Value that should still return true if its value is an empty
118 attribute value string.
119 - EntityValue is checked WFC constraints even thoug it is not used.
120 - All .ctor() now initializes ReadState as Initial.
121 - Read() should be available for attribute value constructor.
122 * XmlAttribute.cs : set_InnerXml() now calls reader's Read().
124 2003-09-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
126 * XmlNamespaceManager.cs: PopScope() must retain those namespaces which
127 are added in the scope before PushScope() was called.
129 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
131 * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked
132 lists and removes uses of Hashtable. Results in huge speed gains.
134 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
136 * XmlConvert.cs: NaN.ToString () != INF.
138 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
140 * XmlTextWriter.cs: Attributes that have a namespace must be always
143 2003-09-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
145 * XmlTextWriterOpenElement.cs : Changed to receive prefix and localName
147 * XmlTextWriter.cs : Changed to use above XmlTextWriterOpenElement.
148 Changed xmlns adding scheme. In detail, 1) WriteStartElement does not
149 add Namespaces immediately, but adds at AddMissingElementXmlns so
150 that we don't have to have extra check than namespaceManager's
151 LookupPrefix(). 2) Removed writtenAttributes for performance reason
152 since it is no more required.
154 2003-09-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
156 * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute()
157 that handled xmlns attributes inproperly.
159 2003-09-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
161 * XmlNamespaceManager.cs : GetEnumerator() should return all of the
162 available pairs (of prefix and namespace).
163 * XmlQualifiedName.cs : Quick fix for NullReferenceException in case
164 of name (or ns) is null. (The description of the immediate previous
165 changes will be inserted below.)
166 * XmlTextWriter.cs : Fixed WriteDocType(). Removed CheckValidName().
167 * XmlUrlResolver.cs : Changed not to call WebClient.Dispose() which
168 will release resources it had allocated.
170 2003-09-01 Ben Maurer <bmaurer@users.sourceforge.net>
172 * XmlDocument.cs (Save): use the encoding of the document, if
175 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
177 * XmlValidatingReader.cs : Implemented SchemaType. Added support for
178 ValidationType.Schema. Added support for XmlResolver. Fixed
179 ReadTypedValue() not to consume EndElement.
181 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
183 * XmlDocumentNavigator.cs : Fixed MoveToFirstNamespace() that arose
185 * XmlNamespaceManager.cs : Renamed AtomStrEq to AtomicStringEquals.
186 Commented out Console.Error.WriteLine().
187 * XmlUrlResolver.cs : Fixed ResolveUri() and GetEntity() to support
188 escape and unescape for relative URI string.
190 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
192 * XmlParserContext.cs: Make each context inherit next.
194 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
196 * XmlChar.cs (IsWhitespace): Spare enumerator allocation.
197 * XmlTextWriter.cs (WriteWhitespace): Enumerators are very high in
198 fat, use low-fat loops instead. Even better, call the function
199 inside XmlChar for code reuse.
200 * HighWaterStack.cs (added): New class that acts like a Stack, but
201 helps with memory allocation.
202 * XmlNamespaceManager.cs, XmlParserContext.cs: Rewrote to use
204 * XmlTextReader.cs: Remove orderedAttributesEnumerator variable,
205 use a variable that stores the position in the ArrayList.
207 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
209 * XmlTextWriter.cs: Begin diet. String.Format has too much
210 saturated fat, lets replace with the fat-free .Write ()
211 calls. Effects best seen when Paolo's StreamWriter patch is
214 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
216 * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in
217 vanishing current node.
219 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
221 * DTDValidatingReader.cs : Added SchemaType.
222 Read() Assures to return to element.
223 * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI.
224 * XmlReader.cs : ReadString() should be virtual in NET_1_1.
225 * XmlTextReader.cs : 1) Depth should consider Attribute and its values.
226 Introduced insideAttribute field to support them.
227 2) ReadAttributeValue() should consider empty string.
228 * XmlValidatingReader.cs :
229 Fixed several properties which premised as if it was already read.
230 Encoding and Namespaces now throws NotSupportedException for other
232 Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType.
234 2003-08-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
236 * XmlInputStream.cs : Reverted CanSeek as to return false anyway.
238 2003-08-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
240 * DTDObjectModel.cs : added XmlResolver related members. Added
241 invalid entity recursion logic. Added encodingdecl check on textdecl.
242 * DTDValidatingReader.cs : It now implements IHasXmlParserContext.
243 * XmlChar.cs : IsPubidChar() should not allow TAB(	).
244 * XmlDocumentType.cs : 1) internal CreateDocumentType() was now changed
245 to receive DTDObjectModel to support other than XmlTextReader.
246 2) Most of its public member is now based on DTDObjectModel.
247 * XmlDocument.cs : 1) Synchronous change with XmlDocumentType.
248 2) ReadNode() now considers XmlParserContext's DTDObjectModel for
249 other than XmlTextReader (such as XmlValidatingReader).
250 * XmlNode.cs : code cleanup only.
251 * XmlParserInput.cs : added HasPEBuffer, used to check illegal nesting.
252 * XmlTextReader.cs : 1) Illegal entity reference check logic was moved
253 from ReadContent() to SetEntityReferenceProperties(). 2) Indentation
254 change on ReadEntityReference(). 3) ReadAttribute() now checks
255 reference to external entity reference. 4) Added textdecl encoding
256 check. 5) DTDObjectModel fields are now set correctly. 6) added
257 PERef markup nest check. 7) If PEDecl was not found, it might be WFC
258 violation, not only be VC violation. 8) ReadEntityDecl() now receives
259 its declared entity itself, and this method checks IsInternalSubset.
260 * XmlValidatingReader.cs : 1) Added GetInternalPerserContext().
261 2) ValidationType.None should be the same as Auto, not DTD (in the
262 future it should keep xml schema's default values).
264 Pending Stuff in XmlTextReader which breaks some NUnit tests;
265 1) SetEntityReferenceProperies() has check for illegal references.
266 2) ReadAttribute(bool) has similar check for illegal references.
268 2003-08-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
270 * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice,
271 sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement().
273 2003-08-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
275 * XmlTextReader.cs : Checked and fixed all TryExpandPERef() invokation
276 and supplied SkipWhitespace() as they needed. It broke monodoc.
277 Fixed ReadEntityValueDecl() to get correct value.
279 2003-08-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
281 * XmlInputStream.cs :
282 Fixed Initialize() that might result in incorrect buffer.
283 CanRead and Position should consider buffer (especially when the
285 CanSeek should use stream's CanSeek.
287 * XmlChar.cs : added GetPredefinedEntity().
288 * DTDObjectModel.cs :
289 - Modified ComputeDefaultValue() to use it.
290 - Fixed NormalizedDefaultValue not to expect parsed value as string.
291 - ResolveExternalEntity now detects invalid standalone specification.
292 - DTDParameterEntityDeclaration.Value is now changed to property and
293 keep its resolved value of literal value of external value using
294 new Resolve (XmlResolver) method (called only by XmlTextReader).
295 * DTDValidatingReader.cs :
296 - It now handles entity-expanded Whitespace and SignificantWhitespace
297 correctly. Does not raise unexpected text not allowed error.
298 - Fixed MoveToAttribute()s to move internal reader correctly, and
299 should be able to move in other cases than on element node.
300 - On Read()ing document type and ResolveEntity(), it now sets
301 XmlResolver on text reader.
302 - On ID constraints check and type verification, it now uses
303 normalized attribute or its tokenized value(s).
304 - Fixed ValidateAttributes() to add default values when
305 ValidationType is Auto.
306 * XmlParserContext.cs : added internal Dtd setter.
307 * XmlParserInput.cs :
308 InsertParameterEntityBuffer() should add surrounding whitespaces.
309 Removed unused code block.
311 - Modified ReadReference(), ReadAttribute() and Dereference() to use
312 XmlChar.GetPredefinedEntity().
313 - When returning entity reference, it checks extity declaration
314 existence in certain conditions.
315 - ReadAttribute() now skips general entity replacement on reading
317 - ReadText() now handles whitespace texts as XmlNodeType.Whitespace.
318 - ReadXmlDeclaration() holds isStandalone, which might be used in
319 entity reference's well-formedness check.
320 - internal 'DTD' now uses XmlParserContext.Dtd.
321 - isInternalSubset was meaningless. Now uses input stack's Count.
322 - Added some required SkipWhitespace().
323 - Several parameter entity handling changes. Added GetPEValue(name).
324 TryExpandPERef() now uses ImportAsPERef(). ReadParameterEntityDecl()
325 now uses its Resolve() when it was external PE. Now it uses value
326 buffer instead of currentTag, to efficiently read (included) PE.
327 CompileDeclaration() now uses ImportAsPERef instead of ExpandPERef().
328 ImportAsPERef() simply inserts the value to currentInput.
329 ReadEntityDecl() also uses value buffer. Removed non-used methods.
330 - Default attributes are now stored in normalized form.
331 - Dereference() now considers non-expanding predefined entities.
332 * XmlValidatingReader.cs : now holds Schemas, and ValidationType.Auto
333 is more correctly supported.
335 * XmlAttributeCollection.cs :
336 When removing default attribute, it immediately inserts the attribute.
337 RemoveAll() should consider default (not-removable) attributes.
339 Should have its default XmlResolver. Added Internal Resolver.
340 Some Load() should use its XmlResolver.
341 ImportNode() should copy its children in node level, not value level.
342 It also have to consider not to copy default attribute on importing
344 * XmlDocumentType.cs : Now uses document's XmlResolver to read DTD.
346 XmlDocumentFragment.cs.
347 XmlElement.cs : use XmlResolver on InnerXml. Removed some MonoTODO.
348 * XmlNodeReader.cs : GetInternalParserConext() should provide its DTD.
349 ResolveEntity() uses XmlResolver on entityReader.
351 2003-08-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
353 * DTDObjectModel.cs :
354 - Added validation error check (and AddError(), Errors).
355 - Fixed ComputeDefaultValue() to handle various references correctly.
356 - DTDEntityDeclaration.EntityValue became property, and added
357 LiteralEntityValue. The new one holds resolved value.
358 Added ResolveExternalEntity(). It now required root in .ctor().
359 * DTDValidatingReader.cs :
360 - Now it handles namespaced attributes (as input to xsd validator).
361 - Added XmlResolver property as usual XmlReader.
362 - Added currentEntityHandling field so that it can stand changing
363 XmlValidatingReader's EntityHandling dynamically.
364 - FilterNormalization() now requires name for getting datatypes and
365 can stand for non-current attribute normalization.
366 - Splitted ReadContent() from Read() that can be called recursively
367 when expanding entities.
368 - Now handles Entity not found error *after* resolution of entities,
370 - Read()ing DTD checks its Errors and raises validation error events.
371 In some situations, DTD parsing may detect VC error, not WFC error.
372 It also strictly checks NData existence.
373 - Handling of entity-resolved text is a bit changed and Read()ing
374 element, endElement, cdata now changed to switch collecting text
376 - content type ANY should allow texts.
377 - Added enumerated attribute validity check.
378 - Added Name/Names creation rule check for ID/IDREF/IDREFS.
379 - Added entity existence check for ENTITY/ENTITIES attributes.
380 - Added NMTOKEN creation rule check for NMTOKEN/NMTOKENS.
381 - Fixed to remove extraneous #REQUIRED check.
382 - Contributing default attribute is now only applied to the case
383 ValidationType is DTD or None.
384 - ResolveEntity() now handles external entities.
385 Added Mono.Xml.IXmlParserContext interface support.
386 * XmlDocumentType.cs : Fixed to use BaseURI to build DTD model.
388 - Fixed ReadAttributeValue() to reset returnEntityReference.
389 - Added bool MaybeTextDecl only for ResolveEntity().
390 - Fixed ReadWhitespace(). In fact its value is considered even if it
391 is in the end of the XML.
392 - Fixed ReadXmlDeclaration(). Now skips text declaration.
393 - CompileDTDSubset() now checks IGNORE/INCLUDE section end balances.
394 - ReadContentSpec() should set OrderType = OR for mixed model.
395 Fixed to set content element name correctly.
396 - ImportAsPERef() now skips Text declaration.
397 - Type of enumerated default attributes shold be string.
398 - Undeclared PE error is now handled as DTD's VC error, not
399 XmlTextReader's WFC error.
400 * XmlValidatingReader.cs : BaseURI should provide that of
401 original XmlReader's when read was not started yet.
402 Fixed XmlResolver to delegate to DTDValidatingReader.
404 * XmlAttributeCollection.cs : Acquiring attList declaration is
405 insufficient especially in case of lack of elementdecl.
406 * XmlChar.cs : (Maybe this is compact than XmlConstructs.)
407 added IsWhitespace(),IsNCNameChar(),IsName(),IsNCName(),IsNmToken(),
408 IsPubid(). Copies IsValidIANAEncoding() from XmlConstructs.
410 * XmlInputStream.cs : Removed "version" declaration check. It should
411 be done by XmlTextReader.
413 * XmlNodeReader.cs : added internal GetInternalParserContext() and now
414 it can be used in XmlValidatingReader.ResolveEntity().
415 ResolveEntity() sets XmlTextReader.MaybeTextDecl.
417 2003-08-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
419 * DTDValidatingReader.cs :
420 Added full ExpandEntities support for text node and entity reference
421 node (although require many usage tests). Almost all methods and
422 properties now have currentTextValue != null check, that field means
423 that there are cached (entity-resolved) text.
424 Implemented default attribute aware XmlLang and XmlSpace.
425 * XmlNodeReader.cs : ResolveEntity() should not require DTD.
427 2003-08-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
429 * DTDValidatingReader.cs,
433 XmlValidatingReader.cs : fixed pragma USE_VERSION_1_0 to NET_1_0.
435 2003-08-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
437 * DTDObjectModel.cs : Added BaseURI (but not used yet).
438 DTDAttListDeclaration.ctro() now requires root dtd object model.
439 * DTDValidatingReader.cs : Read() now expands EntityReference if
440 entity handling of validating reader is ExpandEntities.
444 XmlValidatingReader.cs : Implemented "virtual" ReadInnerXml and
445 ReadOuterXml which are modified in MS.NET 1.1.
446 * XmlConstructs.cs : added int version of IsValid, IsInvalid,
447 IsContent, IsMarkup and IsNCNameStart.
448 Fixed int version of IsXXX() to check array index range.
449 Added IsValidName (string).
451 - Read() handles document with non document element as an error.
452 - ReadText() and ReadCharacterReference() checkes illegal characters.
453 - ReadEntityReference() checks name validity.
454 - ReadProcessingInstruction() rejects such name that starts with
455 "xml" ignoring case, and checks attributes more strictly.
456 - ReadDeclaration() rejects unrecognized kind of declaration.
457 - In many places, added "required whitespace" check in DTD markup.
458 - DTD content model now disallows mixing use of '|' and ','.
460 2003-08-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
462 * XmlDocumentFragment.cs : I missed to add it in relation to the
463 previous XmlParserContext patch. Similar to XmlAttribute/XmlElement.
464 * XmlNodeReader.cs : removed some TODO attributes.
465 * DTDValidatingReader.cs,
466 XmlValidatingReader.cs : Implemented ResolveEntity().
468 2003-07-31 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
470 * XmlParserContext.cs,
472 XmlElement.cs : Added internal Dtd and new internal XmlParserContext
473 .ctor() that takes DTDObjectModel. And then rewrote classes which
474 uses DTD information. Changed DocTypeName, InternalSubset, PublicId
475 and SystemId to use DTDObjectModel.
476 * DTDObjectModel.cs :
477 Added DTDObjectModel.InternalSubsetHasPEReference.
478 Added DTDEntityDeclaration.IsInternalSubset.
480 Added internal GetInternalParserContext (to build entity reader).
481 Added private isIntSubset to check if the DTD subset is internal or
482 external, which might affect well-formedness constraints.
483 Changed GenerateDTDObjectModel to return the resulting DTD model.
485 * XmlEntityReference.cs : implemented BaseURI.
487 - Implemented ResolveEntity() and CanResolveEntity(). In fact
488 it leads too many changes on almost all methods and properties,
489 since they now must be aware of entityReader.
490 - fixed ownerElement that might be used to return from attribute
491 value to the element through parent attribtues.
492 - Now changed indexer to call GetAttribute() and moved actual logic
493 to the matching GetAttribute() methods.
495 2003-07-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
497 * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml
498 not to create extraneous xmlns="".
500 2003-07-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
502 * DTDValidatingReader.cs : (Read,ValidateAttributes,ReadAttributeValue)
503 attribute declaration should be got independently of elementdecl.
505 Added internal SetDefault() to mark as default.
506 Removed InnerText implementation that is just the same as XmlNode.
507 * XmlDocument.cs : id shouldn't be removed from table at 'trying' to
508 get matching elements. ReadAttributeNode() now sets default mark.
509 * XmlElement.cs : WriteTo() should ignore default attributes.
510 * XmlTextWriter.cs : shuold allow valid name char such as digits.
512 2003-07-27 Piers Haken <piersh@friskit.com>
514 * XmlQualifiedName.cs : fields should never be null
516 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
518 * XmlDocumentFragment.cs : added XPathNodeType indicating Root.
520 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
522 * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted
524 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
526 * XmlLinkedNode.cs : added internal IsRooted.
528 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
530 * DTDValidatingReader.cs :
531 - Added ID support in ValidateAttributes().
532 - More refined ReadAttributeValue() support for non-expanding entity
534 - It should handle LocalName, Name, Prefix, NamespaceURI and Value
535 correctly when the reader is on each of the value nodes of an
536 attribute. Now XmlDocument.ReadNode() should work well.
538 - added idTable, AddIdenticalAttribute(), GetIdenticalAttribute() and
539 RemoveIdenticalAttribute()
540 - Implemented GetElementById().
541 * XmlAttributeCollection.cs :
542 - added private ownerDocument property and replaced
543 ownerElement.OwnerDocument with it.
544 - Added AdjustIdenticalAttribute() and it is used in SetNamedItem().
545 It calls XmlDocument.{Add|Remove}IdenticalAttribute().
546 - Added RemoveIdenticalAttribute() and it is used in Remove().
547 (I also added AddIdenticalAttribute() but is not used.)
549 2003-07-26 Duncan Mak <duncan@ximian.com>
551 * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test
552 for OwnerElement.IsRooted to fix the build..
554 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
556 * XmlDocumentType.cs :
557 modified private DTD to dtd and added internal DTD (the same thing).
559 Fixed SetAttributeNode() to check if specified attribute is already
560 set to the other element. In fact it is W3C DOM's specification but
561 MS.NET 1.0 failed to catch it.
563 ReadAttributeValue() should check if the value of the attribute is
564 already read when the whole value is entity reference.
565 Also, Name of text nodes should be "", not "#text"
567 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
569 * XmlAttribute.cs : .ctor() shouldallow localName "xml" (not prefix)
570 with http://www.w3.org/XML/1998/namespace.
571 * XmlEntity.cs : patch by Aleksey Sanin. InnerText is now supported.
572 * XmlNode.cs : InnerText should handle CDATA and whitespaces.
573 * XmlTextReader.cs : Should allow " (#PCDATA)* " in ReadContentSpec().
574 * XmlTextWriter.cs : Quick fix for accepting (and writing) same-named
575 attributes (as MS.NET does). It isn't good way and I may change it.
577 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
579 * DTDObjectModel.cs : Added DTDEntityDeclarationCollection and
580 DTDNotationDeclarationCollection and replaced Hashtables with them.
581 Added NormalizedDefaultValue property for DTDAttributeDefinition.
582 * DTDValidatingReader.cs :
583 - It now reads attribute values into value collection.
584 - Renamed consumedDefaultAttribute to consumedAttribute, and
585 inContent to insideContent.
586 - GetAttribute() should allow reader's other node state than element.
587 - MoveToNextAttribute() should move when reader is placed other than
589 - HandleError() now supports ValidationType.None (i.e. does nothing).
590 - ValidateAttribute() now collects and resolves attribute value
591 entity references. (On the other hand, it doesn't support
592 EntityHandling.ExpandCharEntity.)
593 - NodeType shouldn't return Attribute after ReadAttributeValue().
594 Now only Text is supported, but must also support EntityReference.
595 - Add FilterNormalization() and partially support Normalization.
597 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
600 Read() now handles parser context stuff (BaseURI, XmlLang and
601 XmlSpace) correctly for an empty element.
602 Normalization property now doesn't throw an error. Will be used soon.
603 * XmlValidatingReader.cs : added ValidationType.None support (wait for
604 the next DTDValidatingReader update for "not firing event handler).
605 * XmlNodeReader.cs : jun. 30th commit seems wrong. It keeps its state.
607 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
609 * DTDValidatingReader.cs :
610 changed base class to XmlReader and implemented IXmlLineInfo members.
611 changed .ctor() argument from event handler to validating reader.
612 Removed some #if ... #else ... #endif blocks.
613 Added validation event support for Read() using HandleError().
614 * XmlValidatingReader.cs : added internal OnValidationEvent().
615 * XmlDocument.cs : ReadNode() now checks reader's state more strictly.
617 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
619 * XmlUrlResolver.cs : applied BenM's patch for file uri problem
622 2003-07-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
624 * DTDValidatingReader.cs :
625 added DTDObjectModel support for non-XmlTextReader XmlReader
626 e.g. XmlNodeReader (Read() method).
628 added internal CreateDocumentType(XmlTextReader) and moved
629 ReadDoctypeNode() to XmlDocumentType.ImportFromDTD().
630 * XmlDocumentType.cs :
631 added internal .ctor(XmlTextReader, document) and ImportFromDTD().
633 Renamed useSbForVal (valueBuilderAvailable), valSb (valueBuilder)
634 and currentSubset (DTD).
635 Added GenerateDTDObjectModel() (for independent doctype parsing).
637 2003-07-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
640 .ctor() should reject xml- or xmlns-prefixed node.
641 * XmlNamespaceManager.cs :
642 added some xmlns validity check.
644 optimized GetNamespaceOfPrefix() and GetPrefixOfNamespace() by
645 avoiding XmlNamespaceManager creation.
647 doctype node should return PUBLIC and SYSTEM for its indexer,
648 and Value should be internal subset,
650 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
653 DTDValidatingReader.cs : Completely rewrote attribute handling.
655 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
658 XmlElement.cs : Fixed CloneNode() for bug #46129.
659 * XmlDocument.cs : Fixed MakeReaderErrorMessage that specified invalid
660 String.Format arguments, and basically XmlException.ctor(
661 IXmlLineInfo, message) seems good idea to use.
663 - Fixed .ctor(Stream, XmlNodeType, XmlParserContext) which had
664 required non-null context which don't have to exist.
665 - Added state check. Introduced 'currentState' and 'maybeTextDecl'
666 (for external entity) and removed hasEnteredDocument. Added
667 state-check logic to ReadStartTag(), ReadEndTag(), ReadText(),
668 ReadCData(), ReadDoctypeDecl() and ReadWhitespace().
669 - Replaced throw ReaderError() with throw new XmlException() and
670 fixed that some error hadn't thrown, only created.
671 - ResetState() should re-initialize existing private members other
672 than some specified fields.
673 - Private AddAttribute() should check if the same-named attribute
675 * DTDObjectModel.cs : Additive declaration for ATTLIST is availabe now.
677 2003-07-09 Lluis Sanchez Gual <lluis@ximian.com>
679 * XmlTextReader.cs : Implemented ResetState() method.
681 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
683 * XmlElement.cs : IsEmpty has removed attributes since it incorrectly
686 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
688 * XmlDocument.cs : Load(string filename) should close its stream.
689 Small change for the latest DTDObjectModel change.
690 * XmlTextReader.cs : Changed for the latest DTDObjectModel change (all
691 changed methods are only related to DTD stuff).
692 Now uses XmlSchemaDatatype for attribute type definition.
693 * XmlValidatingReader : initial (limited) support for DTD validation.
694 It can handle only XmlTextReader.
695 * DTDObjectModel.cs : changed radically for initial validation support.
696 * added DTDAutomata.cs and DTDValidatingReader.cs.
698 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
700 * XmlElement.cs : Removed extraneous xmlns output support (it should
701 be done by XmlTextWriter).
702 * XmlNode.cs : InsertBefore() now checks validity of the newChild (and
703 most of the changes are in fact indentation changes).
704 * XmlWriter.cs : WriteAttributes() now can write entity references.
705 WriteNode() now writes xmldecl attributes correctly.
706 Removed namespaceManager and xmlns check logic, since it should be
707 done by individual XmlTextWriter.
708 * XmlTextWriter.cs : Patch by Jerome. AddMissingElementXmlns () has
709 written multiple xmlns declarations.
710 Moved namespaceManager from abstract XmlWriter.
711 Write{Start|End}Attribute() and WriteString() now checks xmlns
712 attribute value. (MS.NET holds value only with this write method).
714 2003-07-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
716 * XmlDocument.cs : removed xmlReader.Close() from Load(XmlReader).
718 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
720 * XmlDocumentNavigator.cs : Implemented MoveTo*Namespace() and
721 essentially changed most of the property handling (e.g. removed attribute
722 enumerator and it now became really cloneable).
723 * XmlNodeReader.cs : ReadInnerXml() changes its state as error
724 when the method is called at Initial state.
726 2003-06-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
728 * XmlDocumentNavigator.cs : Fixed IsEmptyElement. It treats <foo></foo>
729 as non-empty, and XmlElement's IsEmpty is designed as such.
730 Fixed MoveToFirst() and MoveToNext() not to move to xmldecl nor
732 * XmlNode.cs : Fixed XPathNodeType. It should throw an exception
733 instead of returning undefined enum value.
734 Modified some code comments.
735 * XmlWriter.cs : Fixed WriteNode () to use WriteFullEndElement()
736 when XmlReader's node is not at empty element or at EndElement.
737 Fixed XmlDeclaration's standalone check.
739 2003-06-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
741 * XmlTextReader.cs : removed CRLFs. Fixed private InitializeContext()
742 to use known Uri way (used in XmlUrlResolver) instead of UriBuilder.
744 2003-06-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
746 * XmlInputStream.cs : quick fix for public ctor() BaseURI bug.
748 2003-06-20 Ben Maurer <bmaurer@users.sourceforge.net>
750 * XmlTextReader.cs: Reduces memory allocation when the reader is
751 not queried for some values.
752 * NameTable.cs: Now uses a custom hashtable to implement. As a
753 result, when Get (char[], int, int) is called, a string is only
754 allocated if it is actually a new entry.
755 (StrEqArray) Compares a string and a char[]
756 (AddEntry) Adds a new entry to the hashtable
757 (Entry) Represents a hashtable entry.
759 2003-06-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
761 * XmlUrlResolver.cs : several ResolveUri() fix. e.g. for external URIs.
763 2003-06-16 Ben Maurer <bmaurer@users.sourceforge.net>
764 * XmlUrlResolver.cs: really fixed #44231
766 2003-06-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
768 * XmlNodeReader.cs : fixed MoveToNextAttribute(). In some cases
769 this method set current node null.
770 * XmlTextReader.cs : fixed GetAttribute (name, ns), which returned
771 String.Empty instead of null (expected value).
774 XmlInputStream.cs : fixed BaseURI problem (bug #44231).
776 2003-06-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
778 * XmlNodeReader.cs : this [name] and this [name, ns] (and
779 GetAttribute() methods in turn) returns null instead of String.Empty.
780 * XmlTextWriter.cs : WriteStartAttribute() should try to use specified
781 prefix before auto-generating prefixes.
782 Implemented WriteBase64().
784 2003-06-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
786 * XmlNodeReader.cs : LookupNamespace () has refered invalid current
787 node for attributes. Modified to use private "document" property.
789 2003-06-10 Lluis Sanchez Gual <lluis@ximian.com>
791 * XmlTextWriter.cs: when adding an attribute with a namespace, a prefix must be automaticaly
792 generated, and a namespace declaration must be added.
793 * XmlWriter.cs: the namespace for the prefix xmlns must be http://www.w3.org/2000/xmlns/
795 2003-06-10 Zoltan Varga <vargaz@freemail.hu>
797 * XmlAttribute.cs: Accept a null prefix or namespaceURI.
799 2003-06-10 Duncan Mak <duncan@ximian.com>
801 * XmlDocumentNavigator.cs (GetNode): Make it implement
804 2003-06-05 Lluis Sanchez Gual <lluis@ideary.com>
806 * XmlTextWriter.cs : Fixed bug. After calling for example WriteStartElement ("pref","ln","ns");
807 a call to LookupPrefix ("pref") when still writting attributes should
808 return "ns", and it didn't.
810 2003-06-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
812 * XmlDocumentNavigator.cs : quick fix for MoveToFirstChild().
813 * XmlConvert.cs : fixed VerifyNCName() to check correctly.
815 2003-06-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
817 * XmlDocumentNavigator.cs : Compute document node one time.
818 MoveToFirstChild() should move to PIs and comments.
820 2003-05-30 Miguel de Icaza <miguel@ximian.com>
822 * XmlReader.cs (ReadStartElement): Improve error message.
824 2003-05-28 Lluis Sanchez Gual <lluis@ideary.com>
826 * XmlTextReader.cs : MoveToAttribute methods must set the enumerator to the right
827 position, since MoveToNextAttribute may be called after it.
828 SetProperties(): attributes do not "inherit" the namespace.
829 * XmlDocument.cs: ReadNode(), ReadAttributeNode(): must keep the current reader position.
831 2003-05-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
833 * NameTable.cs : Add() sets the given name string interned.
834 * XmlParserContext.cs : added internal PushScope() and PopScope() to
835 hold stacks of xml:base, xml:lang and xml:space.
836 * XmlTextReader.cs : implemented XmlLang and XmlSpace (only as a
837 property for stacked attributes). Renamed Initialize() to Initialize-
838 Context(). Modified to use XmlParserContext.PushScope()/PopScope().
840 2003-05-26 Lluis Sanchez Gual <lluis@ximian.com>
842 * XmlReader.cs: Little fix to WriteAttributeString()
844 2003-05-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
846 * XmlAttribute.cs, XmlCharacterData.cs, XmlComment.cs, XmlDocument.cs,
847 XmlDocumentFragment.cs, XmlElement.cs, XmlEntity.cs, XmlLinkedNode.cs,
848 XmlNode.cs, XmlNotation.cs, XmlProcessingInstruction.cs, XmlReader.cs,
849 XmlSignificantWhitespace.cs, XmlText.cs, XmlWhitespace.cs:
850 Reverted the recent accessibility mistake (5/16).
851 * XmlDocument.cs, XmlNode.cs : moved actual CreateNavigator() logic
852 from XmlNode to XmlDocument.
854 2003-05-18 Lluis Sanchez Gual <lluis@ideary.com>
856 * XmlQualifiedName.cs : Fixed bug in equality operator.
858 2003-05-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
860 * XmlTextWriter.cs : patch by Jonathan Hogg. Flush() does not close
861 any open attributes or elements. WriteWhitespace() checks state and
862 closes start tag. Fixed WriteStringInternal() to replace CR/LF chars
863 when it is called inside attribute value.
864 * XmlException.cs : added .NET 1.1 .ctor.
865 * added XmlSecureResolver.cs (only stubbing).
866 * XmlAttribute.cs : set_InnerXml() should remove children.
869 XmlDocumentFragment.cs,
870 XmlDocument.cs : removed XmlTextReader reuse (It was buggy stuff).
871 * XmlNode.cs : RemoveAll() should also remove all attributes.
872 * XmlTextRader.cs : .ctor() for attribute value reader should add
873 quotations at initialization, since it requires quote chars.
874 * XmlWriter.cs : WriteAttributeString() more correct xmlns check.
876 2003-05-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
878 * changed XPathNodeType modifier to internal *protected* override.
879 * XmlAttribute.cs : .ctor() now checks name validity e.g. xmlns.
880 * XmlAttribute.cs, XmlElement.cs : set_Prefix checks NCName validity.
881 * XmlAttributeCollection.cs : removed some incorrect TODO attributes.
882 * XmlDocument.cs ; CreateAttribute(name) now auto-completes xmlns NSURI
883 when the argument is "xmlns".
884 * XmlElement.cs : more compliant IsEmpty support. See also WriteTo().
885 * XmlNamespaceManager.cs : added initial "xml" and "xmlns" namespaces.
886 * XmlNode.cs : ser_InnerXml() throws InvalidOperationException.
887 * XmlNodeReader.cs : LookupNamespace() refactory. Fixed ReadInnerXml()
888 not to set error state for non-started XmlNodeReader.
889 * XmlTextReader.cs : fixed ReadAttributeValue() not to reset state.
890 BaseURI support. Fixed Initialize() to handle Attribute correctly.
891 SetProperty for attribute auto-completes xmlns NSURI.
892 Attribute and whitespace handling became more correct.
893 Don't parse external DTD if XmlResolver is null.
894 * XmlTextWriter.cs : implemented WriteEntityRef().
895 WriteStartAttribute() checks if ns does not equal to that of xmlns.
896 * XmlWriter.cs : trivial refactoring (WriteNode() xmldecl output).
898 2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
900 * XmlConvert.cs : IsInvalid() Now uses XmlConstructs.IsName(Start).
901 EncodeName() now correctly encodes invalid names.
902 Result string of ToString(DateTime) contains "fffffff".
904 2003-04-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
906 * XmlElement.cs : fixed IsEmpty (removed private field isEmpty).
907 * XmlNodeReader.cs : Fixed AttributeCount, each this[] (indexers),
909 Fixed this[] to work correctly against XmlDeclarations.
910 Fixed ReadInnerXml() and ReadOuterXml() to call Read() correctly.
911 (which may prevent validations etc.)
914 XmlTextReader.cs : Fixed ReadString() to be compliant with each
916 * XmlTextReader.cs : ReadInnerXml() now moves to next node correctly.
918 2003-04-27 Pedro MartÃnez Juliá <yoros@wanadoo.es>
920 * XmlNode.cs: ensure to get a valid Uri in BaseUri when loading the
921 source document from a file.
923 2003-04-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
925 * XmlAttribute.cs : fixed WriteTo() and WriteContentTo() to write
926 content EntityReference correctly.
927 * XmlNodeReader.cs : many fix for EndElement handling (AttributeCount,
928 HasAttributes, indexers, MoveTo*Attribute() and Read() ).
929 Modified Skip() to call Read () explicitly.
931 Fixed ReadInnerXml() which ignored EndElement token in certain cases.
932 Implemented MoveToAttribute (local, ns), and modified GetAttribute()
933 in relation to this change.
934 Attributes for XmlDeclaration are now correctly set.
935 * XmlTextWriter.cs : WriteRaw() is now different from WriteString().
936 Simplified WriteAttributes() for XmlDeclaration.
938 2003-04-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
940 * XmlTextReader.cs : fixed ReadInnerXml(). it was inconsistent with
943 2003-04-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
945 * XmlDocument.cs : fixed Load() to set baseURI correctly.
946 * XmlReader.cs : patch by Gonzalo. Fixed not to skip XmlDeclaration.
948 fixed Depth. When it's on StartElement, Depth was already incremented.
949 fixed private SaveProperty(), which moved away its saved properties
950 when MoveToElement was called repeatedly.
951 * XmlTextWriter.cs : fixed WriteQualifiedName() to close start tag.
953 WriteAttributes() refactory (for XMLDecl).
954 WriteNode() don't Read() when the reader is Initial state, let other
955 invokation to Read(). In case of Element, it should write entire
956 element. In case of Attribute, it shouldn't Read().
957 WriteStartDocument() should omit standalone decl. when there is no
960 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
962 * XmlReader.cs: reverted last patch. It breaks System.Configuration
963 because 1. it considers XmlDeclaration as content and 2. always
964 returns XmlNodeType.None.
967 2003-04-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
969 * Added missing ChangeLog of 4/4/2003.
970 * XmlTextWriter.cs : patch by Erik. fixed WriteQualifiedName.
971 (write prefix instead of ns.)
972 * XmlInputStream.cs : file access mode fix (FileAccess.Read was missing)
973 * XmlTextReader.cs : modified to call Read() instead of ReadContent().
974 (It may be required for decorated reader such as XmlValidatingReader.)
975 Changed Read() error message for mismatch end tag.
976 * XmlDocument.cs : (ReadNode) friendly message for mismatch EndElement.
977 * XmlReader.cs : Corrected misinterpreted MoveToContent() method.
979 2003-04-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
981 * XmlDocument.cs : Load() now closes the given XmlReader.
982 Don't allow creation of XmlTextReader for Doctype. (workaround.)
983 * XmlInputStream.cs : It now closes its internal stream explicitly.
984 * XmlNode.cs : RemoveChild() bugfix for removing LastLinkedChild.
985 * XmlNodeReader.cs : GetAttribute() bugfix for not-present attribute.
986 * XmlParserInput.cs : added Close() method.
987 * XmlReader.cs : MoveToContent() should (1) not Read in case of empty
988 element, and (2) MoveToElement() in case of attribute.
989 * XmlTextReader.cs : Close() now actually closes source TextReaders.
991 2003-03-26 Duncan Mak <duncan@ximian.com>
993 * XmlTextWriter.cs (Write): A patch from Atsushi to fix
994 prematurely ending the write, or something like that. It was
995 causing us to chop off the end of the document when we're trying
996 to generate XML Schemas.
998 2003-03-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1000 * XmlTextReader.cs : implemented ReadString().
1001 fixed ctor(string, XmlNodeType, XmlParserContext) - don't raise
1002 null reference exception when context is null.
1003 * XmlNodeReader.cs : fixed ReadString() - should ignore attributes etc.
1004 fixed Read() - when positioned at EndElement, it didn't progress.
1005 fixed HasAttribute - it didn't return false in all cases.
1006 fixed Name and LocalName - only limited type of nodes return names.
1007 fixed AttributeCount - in some cases it threw null ref exception.
1009 2003-03-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1011 * XmlTextWriter.cs : WriteStartDocument doesn't set hasRoot=true, then
1012 WriteEndDocument without root element now raises an error correctly.
1013 * XmlDocumentNavigator.cs : (MoveToFirstChild) fixed bugzilla #36672.
1014 implemented BaseURI, NameTable, XmlLang, GetAttributes, GetNamespace,
1017 2003-03-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1019 * XmlElement.cs : RemoveAttribute now don't throws when specified
1020 attribute does not exist.
1022 2003-03-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1024 * XmlNode.cs : add descriptions for some node type error.
1026 2003-03-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1028 * XmlNodeArrayList.cs, XmlNodeListChildren.cs : bugzilla #39920 fix.
1030 2003-03-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1032 * XmlDeclaration.cs : quick fix, not to use regex for set_Value.
1034 2003-03-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1036 * XmlTextReader.cs : Fixed wrong notationdecl SYSTEM id read.
1037 * XmlInputStream.cs : Should allow versionless input stream entity.
1039 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1041 * added XmlParserInput.cs for multi xml document sources.
1042 * added DTDObjectModel.cs (maybe temporary).
1043 * XmlTextReader.cs :
1044 + fixed ctor to use XmlStreamReader. Allowed null XmlParserContext.
1045 + Some members such as LineNumber, ReadChar now uses XmlParserInput.
1046 + added support for Namespaces (namespace-ignorant parse available).
1047 + added support for XmlResolver.
1048 + replace SetReaderContext()/SetReaderFragment() with Initialize().
1049 + use NameTable in CreateNameString.
1050 + fixed ReadCData(). Now reads "]]]>" correctly.
1051 + support for DTD parse.
1052 + Read() now throws an error when it reached EOF while Depth > 0.
1054 XmlDocumentFragment.cs,
1055 XmlElement.cs : fix related to the changes of XmlTextReader.Initialize
1056 * XmlDocument.cs : ReadNode() now reads DocumentType.
1057 * XmlDocumentType.cs : implemented Entities, Notations, WriteTo().
1059 XmlNotation.cs : added override LastLinkedChild (for doctype node).
1060 * XmlNamedNodeMap.cs : Remove() raises an error if target is read only.
1061 * XmlElement.cs : bugfix for node removal of set_InnerXml.
1062 * XmlNode.cs : added insertBeforeIntern() derived from InsertBefore().
1063 (to append child XmlEntity into XmlDocumentType correctly.)
1064 * XmlInputStream.cs : fixed to access file with FileAccess.Read.
1066 2003-03-15 Duncan Mak <duncan@ximian.com>
1068 * XmlElement.cs (Name): Only append prefix + ':' when prefix is
1069 neither String.Empty nor null. Thanks to Simon Guindon for
1070 reporting the bug and Jackson for fixing this bug with me.
1072 2003-03-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1074 * XmlConstructs.cs : fix "int IsXXX()" to reject negative value.
1075 * XmlDocument.cs : simplify Load(string url) to use XmlTextReader.
1076 fixed ReadNode(), it should call reader.Read() only on Initial state.
1077 * XmlInputStream.cs : Changed namespace. Added XmlStreamReader(stream)
1078 and XmlStreamReader (string). Fixed XmlInputStream(url) not to use
1079 System.Net.WebClient directly.
1080 * XmlParserContext.cs : baseURI never be null.
1081 * XmlTextWriter.cs : use WebName for Encoding instead of HeaderName.
1082 * XmlUrlResolver.cs : namespace change for XmlInputStream.
1084 2003-03-12 Elan Feingold <efeingold@mn.rr.com>
1086 * XmlTextReader.cs: When throwing a ReaderException, show what
1087 character was the culprit
1089 2003-03-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1091 * XmlDocumentFragment.cs, XmlElement.cs :
1092 modified InnerXml (fragment type from Element to DocumentFragment).
1094 * XmlElement.cs : fixed WriteTo() ns check.
1095 * XmlNamespaceManager.cs : MS.NET allows Add() used two or more times.
1096 * XmlNode.cs : fixed ConstructNamespaceManager().
1098 * XmlConstructs.cs : added IsSpace, IsName, IsNameStart, IsNCName,
1099 IsPubid with an int arg.
1100 * XmlReader.cs : changed to use XmlChar.cs (its role is as same as
1102 * XmlTextReader.cs :
1103 improved error messages with line info.
1104 / checking matching start and end tags.
1105 / prevents the apperance of multiple root elements. (patch by Erik)
1106 fixed and refactored ReadInnerXml() and ReadOuterXml()
1107 changed to use XmlChar.cs.
1109 * XmlTextWriter.cs : changed to put element's xmlns at CloseStartTag ()
1110 (It will help c14n implementation.)
1111 / blocks multiple attribute output with element node.
1113 2003-02-28 Alan Tam <Tam@SiuLung.com>
1115 * XmlConvert.cs: fixed the most ToXXX(string) and ToString(XXX)
1116 methods to make them compatible with the XML Schema Spec from W3C
1117 ToString(TimeSpan) is still outstanding
1119 2003-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1122 (Load (string)): hack to workaround some issues with Uri.Parse. Once
1123 Parse is fixed, remove the hack.
1125 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1127 * XmlQualifiedName.cs : fixed GetHashCode() to avoid null reference
1128 * XmlTextReader.cs : fixed ReadAttributeValue() to handle
1129 entity reference, and some refactory.
1131 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1133 * XmlUrlResolver.cs : WebClient.Credentials was not implemented yet.
1135 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1137 * XmlInputStream.cs : added (also contains internal XmlStreamReader).
1138 * XmlDocument.cs : Load () now can specify URL using XmlUrlResolver,
1139 and can read non-UTF-8 stream.
1140 * XmlTextReader.cs : related to above stream fix.
1141 * XmlUrlResolver.cs : implemented GetEntity ().
1143 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1145 * XmlTextWriter.cs: implemented WriteRaw (char[], int, int).
1147 2003-02-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1149 * XmlTextReader.cs : implemented QuoteChar.
1151 2003-01-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1153 * XmlNode.cs : implemented ReplaceChild.
1154 removed DocElem checking at InsertBefore.
1155 * XmlNodeReader.cs : fixed ReadString and Read for correct node info.
1156 * XmlText.cs : implemented CloneNode and SplitText.
1158 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1160 * XmlCharacterData.cs: added XPathNodeType property.
1162 2003-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1164 * XmlTextWriter.cs: throw an exception if WriteEndDocument is
1165 called without a prior call to WriteStartDocument.
1167 2003-01-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1169 * XmlNodeReader.cs : several fix to get more compatible with MS.NET.
1171 2003-01-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1173 * XmlNamespaceManager.cs : fundamental change of LookupPrefix to return
1174 null when no matching uri.
1175 * XmlElement.cs : removed unnecessary xmlns output.
1176 * XmlNode.cs : GetPrefixOfNamespace fix along with the change above.
1177 * XmlTextWriter.cs : LookupPrefix and WriteStartElementInternal fix
1178 along with the change above, and moved timing of 'xmlns' output
1179 to CloseStartElement.
1180 * XmlWriter.cs: modified WriteStartAttribute, same as yesterday.
1182 2003-01-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1184 * XmlWriter.cs: modified WriteStartElement (see test for detail).
1187 2003-01-13 Ville Palo <vi64pa@koti.soon.fi>
1189 * XmlDocument.cs: Added CheckName () method to check names validity.
1191 2003-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1194 (ReadOuterXml): use Depth property which return elementDepth, not depth.
1196 2003-01-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1198 * XmlElement.cs : (by ville) XmlElement.set_InnerText event bugfix.
1199 * XmlTextReader.cs : some fix for ReadOuterXml().
1201 2003-01-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1203 * XmlTextReader.cs : bugfix for attributes related to creation of
1204 XmlAttribute *node*.
1206 2003-01-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1208 * XmlTextReader.cs : bugfix for attribute values which have entity
1211 2002-12-28 Ville Palo <vi64pa@koti.soon.fi>
1213 * XmlDocument.cs: XmlTextWriter.Formatting == Indented when
1214 calling Save () -methods.
1216 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1218 * XmlNodeReader.cs : primitive reading implementation.
1220 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1222 * XmlElement.cs : quick fix for the incomplete patch of #35308 below.
1224 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1226 * XmlDocument.cs : removed inconsistent line-feed output.
1227 * XmlElement.cs, XmlTextWriter.cs :
1228 fixed for bugzilla 35308 (default ns output)
1229 * XmlWhitespace.cs : limited output only when preserving whitespace.
1231 2002-12-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1233 * XmlAttribute.cs, XmlDocument.cs, XmlTextReader.cs:
1234 Implemented XmlTextReader.ReadAttributeValue().
1235 Added internal ReadAttributeNodeValue().
1236 Fixed XmlAttribute.InnerXml to use these methods.
1238 * XmlDocument.cs, XmlDocumentFragment.cs, XmlElement.cs, XmlNode.cs:
1239 Implemented XmlDocument.ReadNode() and removed ConstructDOM().
1240 Other changes are replacing them.
1242 2002-12-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1244 * XmlDocument.cs: patch by Ville (fixed default PreserveWhitespace)
1246 2002-12-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1248 * XmlElement.cs, XmlTextWriter.cs, XmlWriter.cs:
1249 patch by JD Conley <jconley@winfessor.com>.
1250 (Fix for xmlns attribute output.)
1252 2002-12-05 Ville Palo <vi64p@koti.soon.fi>
1254 * XmlQualifiedName.cs: Little fix to ToString () -method
1256 2002-12-04 Tim Haynes <thaynes@openlinksw.com>
1258 * class/System.XML/System.Xml/XmlElement.cs: Made more refined
1259 checks on attributeNode to fix 32262.
1261 2002-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1263 * XmlDocument.cs (CreateNavigator(XmlNode)) : reverted
1264 * XmlTextWriter.cs (WriteStartElementInternal):
1265 fixed when default namespace was specified, all descendants
1266 fail to omit the default namespace declarations.
1269 XmlNode.cs (internal XmlLang/XmlSpace) : implemented(defined)
1271 XmlDocumentFragment.cs,
1272 XmlElement.cs (set_InnerXml): now uses XmlLang/XmlSpace
1273 * XmlElement.cs (set_IsEmpty) : implemented
1274 (WriteTo) : removed my improper indenting (Writer already done)
1275 * XmlNode.cs (BaseURI) : fixed if ParentNode is null, NullPointerEx
1276 (ConstructDOM) : implemented when xmlReader isn't XmlTextReader
1277 ...and renamed XmlDocument.ConventionalParser to ReusableReader ;-)
1279 2002-12-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1281 * XmlNode.cs (RemoveChild):
1282 bugfixed when XmlNode is Document OwnerDocument is null
1283 * XmlDeclaration.cs (Value):
1284 bugfixed regular expression pattern.
1285 * XmlDocument.cs (CreateNavigator): bugfixed access modifier.
1287 2002-11-24 Duncan Mak <duncan@ximian.com>
1289 * XmlImplementation.cs (HasFeature): Fixed a typo. Thanks for
1290 Fabricio Barros Cabral (fx) on #mono for spotting it. This is his
1291 first patch to Mono! ;-)
1293 2002-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1296 (AppendChild): readded refChild != null condition before throwing
1297 "cannot insert this node in this position" exception. There's probably
1298 a better solution. Fixes #34191.
1299 (RemoveAll): changed following Atsushi instructions.
1302 2002-11-13 Duncan Mak <duncan@ximian.com>
1304 * XmlElement.cs (IsEmpty): A temporary check-in to keep gtk-sharp
1307 2002-11-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1309 * XmlDocument.cs : unified all constructors, added ConventionalParser,
1310 implemented CloneNode() and CreateEntityReference(),
1311 * XmlEntityReference.cs : set_Value, WriteContentTo, WriteTo
1312 set BaseURI to MonoTODO
1313 * XmlNode.cs : implemented PrependChild, modified ConstructDOM,
1314 bugfix InsertAfter (incorrect prepending) and InsertBefore
1315 (more than one DocumentElements hadn't caused errors)
1316 * XmlTextReader.cs : unified all constructors,
1317 added internal SetReaderContext(), SetReaderFragment()
1318 bugfix (syntax check of PUBLIC / getting internal subset)
1320 2002-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1322 XmlAttribute.cs : set_InnerText, set_InnerXml, some check for set_Prefix
1323 XmlAttributeCollection.cs : (indexer) this[localName, namespaceURI]
1324 XmlCharacterData.cs : exchanged Data and Value
1325 (for processing events and inheritance)
1326 XmlDocumentFragment.cs : set_InnerXml
1327 XmlSignificantWhitespace.cs : set_Value
1328 XmlTextReader.cs : ReadAttributeValue
1330 2002-11-04 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1332 XmlAttribute.cs: fixed missing internal 'OwnerElement''SetOwnerElement'
1334 2002-11-03 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1336 * XmlAttributeCollection.cs : checks owner element.
1337 implemented CopyTo, InsertAfter, InsertBefore, Prepend,
1338 Remove, RemoveAt, SetNamedItem.
1339 removed some logics that sets 'Parent' (that should be null)
1340 * XmlDocument.cs : set_InnerXml, [PreserveWhitespace(incomplete)]
1341 * XmlDocumentFragment.cs : get_InnerXml, WriteContentTo, WriteTo
1342 * XmlElement.cs : implemented WriteTo, set_InnerText.
1343 Fixed WriteTo() to add xmlns:* attributes when
1344 writer.LookupPrefix() returned mismatching.
1345 * XmlNamedNodeMap.cs : compare not only name but localname and nsuri.
1346 Removing different prefixes for the same uri now runs correct.
1347 added SetNamedItem(XmlNode node, int position_to_insert).
1348 * XmlNode.cs : ConstructDOM (logically) creates XmlEntityReference,
1349 XmlWhitespace, and XmlSignificantWhitespace
1351 2002-10-31 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1353 * XmlDocument.cs : implemented CreateDocumentFragment()
1354 * XmlElement.cs, XmlLinkedNode.cs :
1355 moved LastLinkedChild from XmlElement to XmlLinkedNode.
1356 * XmlEntityReference.cs : must throw NotImplementedException.
1358 + implemented InsertBefore() and then implemented InsertAfter()
1359 and modified AppendChild() to call it.
1360 + added logic to check ReadOnly, parent document equivalence,
1361 and inserting any 'content' before/after DocumentElement.
1362 + implemented Clone() [it is equals to CloneNode() by MS doc.]
1363 + added logic in RemoveChild() to check parent of oldChild.
1364 + fixed ConstructNamespaceManager() to internal only.
1366 2002-10-29 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1368 * XmlAttribute.cs : add internal 'IsDefault' property
1369 (equals to !Specified)
1370 * XmlImplementation.cs : added 'internalNameTable' property.
1372 + now allows "" for 'standalone' in CreateXmlDeclaration.
1373 + implemented 'Implementation' property and constructor with it.
1374 + added logic for appending name table (but still no use)
1375 + implemented property 'DocumentType'
1376 (but without internalSubset parsing. wait for next update.)
1378 + modified AppendChild() and RemoveChild() to support fragment.
1379 + modified AppendChild() to remove newChild from its parent
1380 when newChild is already in the other place.
1381 + modified RemoveChild() to set parentNode null.
1382 + modified ConstructDOM() to create DocumentType,
1383 and fixed access modifier ('internal protected' to 'internal')
1384 * XmlLinkedNode.cs : fixed 'NextSibling' to return null
1385 when its parent is null.
1386 * XmlDocumentFragment.cs : added internal override 'LastLinkedChild'
1387 property to enable AppendChild() for this class.
1388 * XmlTextReader.cs : appended private publicId and systemId fields.
1390 2002-10-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1392 * XmlTextReader.cs: make it work when the underlying Stream is not
1395 2002-10-26 Piers Haken <piersh@friskit.com>
1397 * XmlNode.cs: add virtual property XPathNodeType
1402 * XmlProcessingInstruction.cs:
1403 * XmlSignificantWhitespace.cs:
1405 * XmlWhitespace.cs: implement XPathNodeType property
1406 * XmlDocumentNavigator.cs: use XPathNodeType property instead of switch
1408 2002-10-26 Piers Haken <piersh@friskit.com>
1410 * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
1412 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1414 * XmlTextReader.cs: don't increment depth for entity references.
1416 2002-10-22 Tim Haynes <thaynes@openlinksw.com>
1418 * - Fixed the duplication of xmlns:xx = yy when serializing the
1419 XML for serialization
1421 Fixed the unnecessary parsing/serializing when adding assemblies
1424 Avoided setting the XmlNode.InnerXml property
1425 (as it's not implemented)
1427 Fixed the usage/implementation of
1428 XmlElement.GetElementsByTagName()
1430 2002-10-21 Duncan Mak <duncan@ximian.com>
1435 * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
1436 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
1438 2002-10-18 Duncan Mak <duncan@ximian.com>
1440 * XmlDocument.cs: Applied a patch by Atsushi Enomoto
1441 <ginga@kit.hi-ho.ne.jp>.
1443 2002-10-12 A.Enomoto <ginga@kit.hi-ho.ne.jp>
1445 * XmlDocument.cs (ImportNode): Implemented
1447 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1449 * XmlDocument.cs: one more Load method implemented.
1450 * XmlTextReader.cs: Depth now works.
1452 2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1454 * XmlConvert.cs: IsInvalid is now internal.
1455 * XmlNamespaceManager.cs: implemented RemoveNamespace
1456 * XmlTextReader.cs: return BaseURI and Encoding from the parser.
1457 * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
1459 2002-09-19 Matt Hunter <mahunter@tconl.com>
1461 * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
1462 * XmlAttributeCollection.cs: Implemented Append (XmlAttribute)
1464 2002-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1466 * XmlConvert.cs: finished implementation.
1467 * XmlTextReader.cs: fixed #30239.
1468 * XmlTextWriter.cs: fixed #30240.
1470 2002-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1472 * XmlTextReader.cs: line and position begin with 1.
1474 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1476 * XmlException.cs: added a new internal constructor for IXmlLineInfo
1477 and output line and position info in Message.
1479 * XmlReader.cs: implemented missing bits.
1481 2002-09-12 Piers Haken <piersh@friksit.com>
1483 * XmlDocumentNavigator.cs: implement MoveToId()
1485 2002-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1487 * XmlTextWriter.cs: fixed bug #29886.
1489 2002-08-26 Ravi Pratap <ravi@ximian.com>
1492 * XmlAttribute.cs (InnerText): Implement getting this property.
1494 * XmlNode.cs (InnerText): Ensure that we append only values of
1497 2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1499 * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
1500 that allowed compiling this.
1501 [ FIXME: filed bug #29435. mcs should have failed on this ]
1503 2002-08-25 Tim Coleman <tim@timcoleman.com>
1505 Change CreateNavigator to not be virtual.
1507 Add set_Prefix and InnerText accessors.
1508 * XmlEntityReference.cs:
1509 Add set_Value accessor.
1511 Make objects which should be private private.
1513 Remove WriteStartElementInternal abstract definition.
1514 * XmlValidatingReader.cs:
1517 2002-08-22 Jason Diamond <jason@injektilo.org>
1519 * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
1520 and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
1522 2002-08-22 Jason Diamond <jason@injektilo.org>
1524 * XmlElement.cs: Correction to previous GetElementsByTagName patch
1525 courtesy of Matt Hunter <xrkune@tconl.com>.
1527 2002-08-22 Jason Diamond <jason@injektilo.org>
1529 * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
1530 qualified GetElementsByTagName courtesy of Matt Hunter
1533 2002-08-19 Jason Diamond <jason@injektilo.org>
1535 * XmlDocument.cs, XmlElement.cs: Added implementation of
1536 GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
1538 2002-08-16 Jason Diamond <jason@injektilo.org>
1540 * XmlElement.cs: Fixed writing out qualified elements courtesy of
1541 Marcus Bürgel <marcus.buergel@gmx.de>.
1543 2002-08-13 Tim Coleman <tim@timcoleman.com>
1545 Partial implementation of WriteQualifiedName ().
1547 2002-08-07 Kral Ferch <kral_ferch@hotmail.com>
1548 * XmlCharacterData.cs: Implemented AppendData(), DeleteData(),
1549 InsertData(), and ReplaceData(). These methods fire the
1550 NodeChanging and NodeChanged events.
1552 * XmlDocument.cs: Fixed bugs in onNodeChanged() and onNodeChanging().
1554 * XmlNode.cs: AppendChild() fires NodeInserting and NodeInserted events.
1555 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
1557 2002-08-03 Tim Coleman <tim@timcoleman.com>
1558 * XmlNamespaceManager.cs:
1559 .Net allows the empty namespace to be redefined
1560 at a later point, but the current implementation
1561 did not. This fixes a hashtable conflict.
1563 2002-07-26 Tim Coleman <tim@timcoleman.com>
1565 When given a textwriter, check to see if it has a
1566 null encoding. This was being done for other inputs
1569 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1571 * XmlTextReader.cs: rough line/column support.
1573 2002-07-23 Duncan Mak <duncan@ximian.com>
1575 * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
1576 (string, string []) is particularly strange.
1578 * XmlException.cs: Remember to call the base serialization
1581 * XmlNodeReader.cs: Keep a new variable to store the Depth.
1583 2002-07-14 Jason Diamond <jason@injektilo.org>
1585 * XmlAttribute.cs: Removed ownerElement field since we can reuse
1588 * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
1589 if the current node is an attribute.
1591 * XmlElement.cs: SetAttributeNode now sets the new attribute's
1594 2002-07-12 Jason Diamond <jason@injektilo.org>
1596 * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
1597 creating an element, use String.Empty instead.
1599 2002-07-12 Piers Haken <piersh@friksit.com>
1601 * XmlAttributeCollection.cs: implement some ItemOf indexers
1602 * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
1603 * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
1605 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
1608 2002-10-26 Piers Haken <piersh@friskit.com>
1610 * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
1612 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1614 * XmlTextReader.cs: don't increment depth for entity references.
1616 2002-10-22 Tim Haynes <thaynes@openlinksw.com>
1618 * - Fixed the duplication of xmlns:xx = yy when serializing the
1619 XML for serialization
1621 Fixed the unnecessary parsing/serializing when adding assemblies
1624 Avoided setting the XmlNode.InnerXml property
1625 (as it's not implemented)
1627 Fixed the usage/implementation of
1628 XmlElement.GetElementsByTagName()
1630 2002-10-21 Duncan Mak <duncan@ximian.com>
1635 * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
1636 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
1638 2002-10-18 Duncan Mak <duncan@ximian.com>
1640 * XmlDocument.cs: Applied a patch by Atsushi Enomoto
1641 <ginga@kit.hi-ho.ne.jp>.
1643 2002-10-12 A.Enomoto <ginga@kit.hi-ho.ne.jp>
1645 * XmlDocument.cs (ImportNode): Implemented
1647 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1649 * XmlDocument.cs: one more Load method implemented.
1650 * XmlTextReader.cs: Depth now works.
1652 2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1654 * XmlConvert.cs: IsInvalid is now internal.
1655 * XmlNamespaceManager.cs: implemented RemoveNamespace
1656 * XmlTextReader.cs: return BaseURI and Encoding from the parser.
1657 * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
1659 2002-09-19 Matt Hunter <mahunter@tconl.com>
1661 * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
1662 * XmlAttributeCollection.cs: Implemented Append (XmlAttribute)
1664 2002-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1666 * XmlConvert.cs: finished implementation.
1667 * XmlTextReader.cs: fixed #30239.
1668 * XmlTextWriter.cs: fixed #30240.
1670 2002-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1672 * XmlTextReader.cs: line and position begin with 1.
1674 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1676 * XmlException.cs: added a new internal constructor for IXmlLineInfo
1677 and output line and position info in Message.
1679 * XmlReader.cs: implemented missing bits.
1681 2002-09-12 Piers Haken <piersh@friksit.com>
1683 * XmlDocumentNavigator.cs: implement MoveToId()
1685 2002-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1687 * XmlTextWriter.cs: fixed bug #29886.
1689 2002-08-26 Ravi Pratap <ravi@ximian.com>
1692 * XmlAttribute.cs (InnerText): Implement getting this property.
1694 * XmlNode.cs (InnerText): Ensure that we append only values of
1697 2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1699 * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
1700 that allowed compiling this.
1701 [ FIXME: filed bug #29435. mcs should have failed on this ]
1703 2002-08-25 Tim Coleman <tim@timcoleman.com>
1705 Change CreateNavigator to not be virtual.
1707 Add set_Prefix and InnerText accessors.
1708 * XmlEntityReference.cs:
1709 Add set_Value accessor.
1711 Make objects which should be private private.
1713 Remove WriteStartElementInternal abstract definition.
1714 * XmlValidatingReader.cs:
1717 2002-08-22 Jason Diamond <jason@injektilo.org>
1719 * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
1720 and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
1722 2002-08-22 Jason Diamond <jason@injektilo.org>
1724 * XmlElement.cs: Correction to previous GetElementsByTagName patch
1725 courtesy of Matt Hunter <xrkune@tconl.com>.
1727 2002-08-22 Jason Diamond <jason@injektilo.org>
1729 * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
1730 qualified GetElementsByTagName courtesy of Matt Hunter
1733 2002-08-19 Jason Diamond <jason@injektilo.org>
1735 * XmlDocument.cs, XmlElement.cs: Added implementation of
1736 GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
1738 2002-08-16 Jason Diamond <jason@injektilo.org>
1740 * XmlElement.cs: Fixed writing out qualified elements courtesy of
1741 Marcus Bürgel <marcus.buergel@gmx.de>.
1743 2002-08-13 Tim Coleman <tim@timcoleman.com>
1745 Partial implementation of WriteQualifiedName ().
1747 2002-08-07 Kral Ferch <kral_ferch@hotmail.com>
1748 * XmlCharacterData.cs: Implemented AppendData(), DeleteData(),
1749 InsertData(), and ReplaceData(). These methods fire the
1750 NodeChanging and NodeChanged events.
1752 * XmlDocument.cs: Fixed bugs in onNodeChanged() and onNodeChanging().
1754 * XmlNode.cs: AppendChild() fires NodeInserting and NodeInserted events.
1755 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
1757 2002-08-03 Tim Coleman <tim@timcoleman.com>
1758 * XmlNamespaceManager.cs:
1759 .Net allows the empty namespace to be redefined
1760 at a later point, but the current implementation
1761 did not. This fixes a hashtable conflict.
1763 2002-07-26 Tim Coleman <tim@timcoleman.com>
1765 When given a textwriter, check to see if it has a
1766 null encoding. This was being done for other inputs
1769 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1771 * XmlTextReader.cs: rough line/column support.
1773 2002-07-23 Duncan Mak <duncan@ximian.com>
1775 * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
1776 (string, string []) is particularly strange.
1778 * XmlException.cs: Remember to call the base serialization
1781 * XmlNodeReader.cs: Keep a new variable to store the Depth.
1783 2002-07-14 Jason Diamond <jason@injektilo.org>
1785 * XmlAttribute.cs: Removed ownerElement field since we can reuse
1788 * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
1789 if the current node is an attribute.
1791 * XmlElement.cs: SetAttributeNode now sets the new attribute's
1794 2002-07-12 Jason Diamond <jason@injektilo.org>
1796 * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
1797 creating an element, use String.Empty instead.
1799 2002-07-12 Piers Haken <piersh@friksit.com>
1801 * XmlAttributeCollection.cs: implement some ItemOf indexers
1802 * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
1803 * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
1805 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
1807 * XmlTextWriter: Fixed Indentation. IndentationOverridden should
1808 not be set when inside a attribute.
1810 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
1812 * XmlTextWriter: In WriteStartElement, if namespace is null and
1813 prefix is null|empty do not write out xmlns=""
1815 * XmlWriter: WriteStartElement calls the virtual method with null
1816 argument instead of empty string.
1818 2002-07-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1820 * XmlTextReader.cs: implemented .ctor (Stream).
1822 2002-06-26 Duncan Mak <duncan@ximian.com>
1824 * XmlNodeReader.cs: Implementation of most of the properties, and
1825 some of the related methods.
1827 2002-06-23 Piers Haken <piersh@friskit.com>
1829 * XmlDocumentNavigator.cs: implement Clone()
1830 * XmlElement.cs: remove bogus unimplemented override of InnerText
1831 * XmlNode.cs: implment SelectNodes/SelectSingleNode
1832 * XmlNodeArrayList.cs: new support class for SelectNodes
1834 2002-06-21 Ajay kumar Dwivedi <adwiv@yahoo.com>
1836 * XmlQualifiedName: Name and Namespaces are never null. If null is passed
1837 to the constructor, set them to empty strings.
1838 Fixed the Operators.
1840 2002-06-18 Ajay kumar Dwivedi <adwiv@yahoo.com>
1842 * XmlTextReader.cs: HasLineInfo returns false instead of throwing an
1845 2002-06-14 Duncan Mak <duncan@ximian.com>
1847 * XmlConvert.cs: Added CLSCompliant attributes to methods.
1849 2002-06-12 Duncan Mak <duncan@ximian.com>
1851 * XmlCharacterData.cs (Value): Throw an ArgumentException in the
1852 set block if the node is read-only.
1854 2002-06-10 Ajay kumar Dwivedi <adwiv@yahoo.com>
1855 * XmlConstruct.cs : New Internal class with Helper methods for
1856 Checking XmlConstructs
1857 * XmlConvert.cs: Implemented most of the methods
1859 2002-06-08 Duncan Mak <duncan@ximian.com>
1861 * XmlDocument.cs (Load):
1862 Added bits to Load (string) for BaseURI support.
1864 * XmlAttribute.cs (BaseURI):
1865 * XmlDocument.cs (BaseURI):
1866 * XmlEntity.cs (BaseURI): Implemented.
1868 2002-05-27 Jason Diamond <jason@injektilo.org>
1870 * XmlDocumentNavigator.cs: Added file to directory.
1872 * XmlNode.cs (CreateNavigator): Implemented.
1873 (InnerText): Implemented.
1875 * XmlDocument.cs (NamespaceURI, Prefix): Return String.Empty instead of
1877 (Load(XmlReader)): Allow for namespace qualified attributes.
1879 * XmlElement.cs: Implemented GetAttribute(string, string) and both
1880 GetAttributeNode overloads.
1881 (SetAttributeNode(XmlAttribute)): Implemented.
1883 * XmlNamedNodeMap.cs: Fixed copy/paste bugs in GetNamedItem(string, string)
1884 and RemoveNamedItem(string, string).
1886 * XmlLinkedNode.cs (PreviousSibling): Implemented.
1888 * XmlTextReader.cs: Added code to maintain the order of attributes as
1889 they're parsed. XML doesn't require this but Microsoft's parser does it and
1890 matching them makes testing easier so now we have it, too.
1892 2002-05-26 Miguel de Icaza <miguel@ximian.com>
1894 * XmlDocument.cs: Implement the Save methods.
1896 2002-05-08 Mike Kestner <mkestner@speakeasy.net>
1898 * XmlNamedNodeMap.cs (SetNamedItem): Fixed a copy/paste bug.
1900 2002-04-28 Duncan Mak <duncan@ximian.com>
1902 * XmlSignificantWhitespace.cs (Value):
1903 * XmlWhitespace.cs (Value): Added MonoTODO to the 'set'
1904 block. Added new private method, IsValidWhitespaceChar, for
1907 2002-04-16 Duncan Mak <duncan@ximian.com>
1909 * XmlParserContext.cs (NameTable): Fixed a typo in the set block.
1911 2002-04-12 Duncan Mak <duncan@ximian.com>
1913 * XmlAttribute.cs (Prefix): Added preliminary code for set block,
1914 added comment on work that needs to be done here. A new MonoTODO item.
1916 * XmlDocument.cs (ctor): Corrected constructor signature, changed
1917 parameter from 'NameTable' to 'XmlNameTable'.
1919 * XmlDocumentFragment.cs (InnerXml): Added missing set block.
1921 * XmlCaseOrder.cs: Moved to System.Xml.XPath.
1923 2002-04-10 Duncan Mak <duncan@ximian.com>
1925 * XmlNodeReader.cs: Initial stubs for the class.
1927 2002-04-08 Kral Ferch <kral_ferch@hotmail.com>
1929 * XmlAttributes.cs: InnerXml getter, WriteContentTo, and WriteTo
1932 * XmlDeclaration.cs: WriteTo implementation.
1934 * XmlDocument.cs: InnerXml getter implementation.
1936 * XmlElement.cs: InnerXml getter implementation.
1938 * XmlNode.cs: Removed MonoTODO attrib on OuterXml.
1940 * XmlSignificantWhitespace.cs: WriteTo implementation.
1942 * XmlText.cs: WriteContentTo and WriteTo implementation.
1944 * XmlTextWriter.cs: WriteRaw implementation.
1946 * XmlWhitespace.cs: WriteContentTo and WriteTo implementations.
1948 2002-04-05 Kral Ferch <kral_ferch@hotmail.com>
1950 * XmlAttributes.cs: Added reminder MonoTODO to set NamespaceURI
1951 if prefix in constructor is one of the default ones.
1953 * XmlCharacterData.cs: Returns String.Empty for Value and Data
1954 even when constructed with null.
1956 * XmlDeclaration.cs: Value doesn't put encoding or standalone
1957 in if they are empty.
1959 * XmlDocument.cs: Implemented CreateNode methods and this caused
1960 the changes in the other files in this checkin.
1962 * XmlProcessingInstruction.cs: Returns String.Empty for Value and Data
1963 even when constructed with null.
1965 * XmlWhitespace.cs: Changed Value 'get' to return Data.
1967 2002-04-01 Kral Ferch <kral_ferch@hotmail.com>
1969 * XmlTextWriter.cs: Impls for WriteEndDocument and WriteFullEndElement.
1971 2002-03-31 Kral Ferch <kral_ferch@hotmail.com>
1973 * XmlTextWriter.cs: Impls for LookupPrefix, WriteBase64,
1974 and WriteCharEntity.
1976 * XmlWrite.cs: Fixed bug where attribute namespace decl
1977 was pushing a scope onto the namespace manager when it shouldn't
1980 2002-03-31 Kral Ferch <kral_ferch@hotmail.com>
1982 * XmlTextWriter.cs: Some tweaks for WriteAttibuteString
1983 in different states (no open start element, in WriteState.Content mode).
1985 2002-03-29 Kral Ferch <kral_ferch@hotmail.com>
1987 * XmlTextWriter.cs: XmlLang and XmlSpace properties
1988 and WriteWhitespace.
1990 * XmlTextWriterOpenElement.cs: scope support for XmlLang
1993 2002-03-29 Kral Ferch <kral_ferch@hotmail.com>
1995 * XmlTextWriter.cs: Working on Attribute methods.
1997 * XmlWriter.cs: Working on Attribute methods.
1999 2002-03-28 Duncan Mak <duncan@ximian.com>
2001 * XmlDocument.cs (CreateWhitespace):
2002 (CreateSignificantWhitespace): Removed extraneous call to the ToCharArray
2005 * XmlSignificantWhitespace.cs (Value): Removed MonoTODO attribute.
2007 2002-03-26 Duncan Mak <duncan@ximian.com>
2009 * XmlDocument.cs (CreateDocumentType): Implemented.
2011 * XmlNode.cs (Value): Implemented.
2013 * XmlProcessingInstruction.cs (InnerText): Implemented. It works just
2014 like XmlCharacterData.
2016 * XmlDeclaration.cs (CloneNode):
2017 * XmlDocument.cs (CreateXmlDeclaration): Added missing constructor
2020 * XmlCharacterData.cs (InnerText): Implemented. Funny that the
2021 docs say it is the "The concatenated values of the node and all
2022 the children of the node.". I wrote some test programs and
2023 couldn't get any of the derived nodes to AppendChild. For now,
2024 InnerText == Data == Value.
2025 (Substring): Fixed typo.
2027 * XmlDeclaration.cs (XmlDeclaration): Fixed the constructor parameter signature.
2029 * XmlImplementation.cs (CreateDocument): Implemented.
2031 2002-03-25 Duncan Mak <duncan@ximian.com>
2033 * XmlDeclaration.cs: Rewrote the class, fixed formatting, added
2034 missing properties (InnerText, Value).
2036 * XmlDocument.cs (CreateXmlDeclaration): Implemented.
2038 2002-03-23 Kral Ferch <kral_ferch@hotmail.com>
2040 * XmlTextWriter.cs: Impls for BaseStream and
2041 Namespaces and WriteState.
2043 * XmlWriter.cs: WriteState and WriteStartElementInternal.
2045 2002-03-23 Kral Ferch <kral_ferch@hotmail.com>
2047 * XmlNodeListChildren.cs: made class internal
2048 instead of public. Shouldn't be visible outside
2051 * XmlTextWriter.cs: Implementations for Formatting,
2052 IndentChar, Indenting, QuoteChar, WriteStartDocument(standalone).
2053 Suppresses encoding on xml declaration if null stream passed in.
2054 Formats output including suppressing indentation for elements in
2057 * XmlTextWriterOpenElement.cs: Initial checkin.
2058 XmlTextWriter uses stack of these objects to track
2061 2002-03-22 Mike Kestner <mkestner@speakeasy.net>
2063 * XmlElement.cs: impl HasAttribute(string name).
2065 2002-03-22 Duncan Mak <duncan@ximian.com>
2067 * XmlElement.cs: Reformatted.
2068 (CloneNode) Corrected.
2070 * XmlDocument.cs (CreateWhitespace):
2071 (CreateSignificantWhitespace): Implemented.
2073 * XmlAttribute.cs (CloneNode): Changed the child's CloneNode to
2074 true, because Attributes have ChildNodes.
2076 2002-03-21 Kral Ferch <kral_ferch@hotmail.com>
2078 * XmlTextWriter.cs: WriteStartDocument tracks state, writes out
2079 xml declaration along with encoding. WriteEndElement throws
2080 exception if no WriteStartElement exists.
2082 2002-03-20 Duncan Mak <duncan@ximian.com>
2084 * XmlEntityReference.cs (CloneNode): Implemented.
2086 * XmlException.cs (Message): Implemented. We need to cache the
2087 message string because SystemException doesn't expose 'message'
2090 * XmlText.cs (Value): Added in the missing Value property.
2092 2002-03-20 Duncan Mak <duncan@ximian.com>
2094 * XmlAttribute.cs (CloneNode): Implemented.
2096 * XmlDocumentFragment.cs (CloneNode): Implemented.
2098 * XmlElement.cs (CloneNode): Implemented.
2100 2002-03-19 Duncan Mak <duncan@ximian.com>
2102 * XmlNotation.cs: Added to CVS.
2104 * XmlAttribute.cs (CloneNode): First crack at the CloneNode method.
2106 * XmlCDataSection.cs (CloneNode): Implemented.
2108 * XmlDocumentFragment.cs: Reformatted and added the missing properties
2109 (InnerXml, OwnerDocument, ParentNode).
2110 (CloneNode): Implemented.
2112 * XmlSignificantWhitespace.cs (CloneNode): Implemented.
2113 (Value) Implemented the 'get' property.
2115 * XmlWhitespace.cs (Module): implemented.
2117 2002-03-19 Jason Diamond <jason@injektilo.org>
2119 * XmlDocument.cs: Fixed typo in Load that was duplicating the LocalName
2122 2002-03-18 Jason Diamond <jason@injektilo.org>
2124 * XmlTextReader.cs: Don't restore properties after reading last
2125 attribute on an element.
2127 * XmlDocument.cs: Move back to element after reading attributes
2128 so that IsEmptyElement test succeeds.
2130 2002-03-18 Kral Ferch <kral_ferch@hotmail.com>
2132 * XmlNamespaceManager.cs: Implemented LookupPrefix.
2134 * XmlTextWriter.cs: Implemented namespace and prefix support.
2136 2002-03-18 Kral Ferch <kral_ferch@hotmail.com>
2138 * XmlTextReader.cs: Restores properties after
2139 reading last attribute on an element.
2141 * XmlNode.cs: AppendChild sets the parent
2144 2002-03-17 Kral Ferch <kral_ferch@hotmail.com>
2146 * XmlCDataSection.cs: Formatting, Implementation for WriteTo.
2148 * XmlComment.cs: Implementations for WriteTo and WriteContentTo.
2150 * XmlElement.cs: Fixed bug in WriteTo.
2152 * XmlProcessingInstruction.cs: Formatting.
2154 * XmlTextWriter.cs: Implementations for Close, WriteCData, WriteComment,
2155 fixes for WriteEndElement, WriteProcessingInstruction.
2157 2002-03-17 Kral Ferch <kral_ferch@hotmail.com>
2159 * XmlDocument.cs: Implementations for WriteTo() and WriteContentTo(),
2160 had Load() add PIs to the document, moved onXXX methods to alphabetical
2163 * XmlElement.cs: Implementations for WriteTo() and WriteContentTo().
2165 * XmlNode.cs: Implementations for InnerXml Get and OuterXml.
2167 * XmlProcessingInstruction.cs: Implementations for WriteTo() and
2170 * XmlTextWriter.cs: Implementations for WriteEndElement,
2171 WriteProcessingInstruction, WriteStartElement, and WriteString.
2173 * XmlWriter.cs: Implemented WriteStartElement() methods.
2175 2002-03-15 Duncan Mak <duncan@ximian.com>
2177 * XmlEntity.cs: Added to CVS. Need to implement BaseURI and
2178 InnerText once I know what they do.
2180 * XmlDocumentType.cs (XmlDocumentType): Fix the constructor now
2181 that we can properly chain constructors.
2182 (CloneNode): implemented.
2183 (WriteContentTo): Removed MonoTODO attribute as this method has no
2184 effect in this class.
2186 * XmlProcessingInstruction.cs (Value): Added the missing Set
2188 (InnerText): Added in, but not implemented.
2190 2002-03-14 Kral Ferch <kral_ferch@hotmail.com>
2192 * XmlTextWriter.cs: implemented constructors and
2193 WriteCData and WriteComment.
2195 2002-03-14 Duncan Mak <duncan@ximian.com>
2197 * XmlDocument.cs: Moved the NodeChanged EventHandler to its own
2198 file, and updated the callbacks to reflect the change.
2199 (XmlDocument): Added the NameTable constructor.
2200 (NameTable): Also the NameTable property.
2202 * XmlNodeChangedEventHandler.cs: Added, replacing the version that
2203 was in XmlDocument.cs. It has two arguments now (object,
2204 EventArgs) , instead of one (object).
2206 2002-03-14 Kral Ferch <kral_ferch@hotmail.com>
2208 * XmlWriter.cs: Formatting.
2210 * XmlTextWriter.cs: Initial checkin.
2212 2002-03-14 Duncan Mak <duncan@ximian.com>
2214 * Validation.cs: Removed, replaced by ValidationType.cs.
2216 * ValidationType.cs: Added.
2218 2002-03-13 Duncan Mak <duncan@ximian.com>
2220 * XmlException.cs: Made it [Serializable], implemented good ol'
2221 GetObjectData, and the serialization constructor.
2223 * XmlNamedNodeMap.cs (SetNamedItem): Check for the Name property.
2224 (SetNamedItem): Reverted (added back in) the patch with the
2225 ReadOnly checks. "Don't doubt yourself, my son... you were right!"
2227 * XmlNamedNodeMap.cs (GetEnumerator): piggyback on the ArrayList implementation.
2228 (GetNamedItem (string, string)): implemented.
2229 (RemoveNamedItem): implemented.
2230 (SetNamedItem): implemented.
2232 2002-03-12 Kral Ferch <kral_ferch@hotmail.com>
2234 * XmlAttribute.cs: Moved a method from amongst properties down to
2235 it's alphabetical position in the methods section.
2237 * XmlNode.cs: Passes in 'this' to XmlNodeList constructor instead of
2238 last linked child. Set XmlNode base class to return false for IsReadOnly().
2239 Implemented GetEnumerator() and RemoveChild().
2241 * XmlNodeListChildren.cs: Now stores the parent instead of the last child.
2242 This is to support the behavior that the Enumerator doesn't become invalid
2243 when changes to the children occur. Flushed out rest of implementation for
2244 MoveNext, Current, and Reset.
2246 2002-03-12 Duncan Mak <duncan@ximian.com>
2248 * XmlCharacterData.cs: Reformatted the properties for better readability.
2250 * XmlLinkedNode.cs: Removed the awful boxy comments.
2252 * XmlNamedNodeMap.cs (Count):
2253 (Item): Implemented. Tests will be coming.
2255 * XmlEntityReference.cs:
2256 * XmlSignificantWhitespace.cs: Implemented these classes except for
2257 the Clone, WriteContentTo and WriteTo methods. Will have to
2258 investigate into these later.
2260 2002-03-11 Duncan Mak <duncan@ximian.com>
2262 * IHasXmlNode.cs: Added to CVS.
2264 2002-03-08 Jason Diamond <jason@injektilo.org>
2266 * XmlParserContext.cs: Added missing constructors and missing Encoding
2269 * XmlTextReader.cs: Start using the XmlParserContext class.
2271 2002-03-08 Jason Diamond <jason@injektilo.org>
2273 * XmlTextReader.cs: Implemented MoveToElement and MoveToFirstAttribute.
2275 2002-03-08 Mike Kestner <mkestner@speakeasy.net>
2277 * XmlNode.cs (Item): Implemented both indexers.
2279 2002-03-08 Jason Diamond <jason@injektilo.org>
2281 * DomEncodingType.cs, TreePosition.cs, XPathNodeType.cs, XmlDataType.cs,
2282 XmlExceptionCode.cs, XmlSortOrder.cs, XmlUtil.cs: Removed files.
2284 2002-03-08 Jason Diamond <jason@injektilo.org>
2286 * XmlAttribute.cs: Attribute nodes are supposed to store their values
2287 as child nodes so updated to reflect that.
2289 * XmlDocument.cs, XmlElement.cs, XmlNode.cs: Moved code that was
2290 duplicated in XmlDocument and XmlElement into XmlNode so that it
2291 wouldn't have to be duplicated in XmlAttribute, too.
2293 2002-03-08 Kral Ferch <kral_ferch@hotmail.com>
2295 * XmlNodeList.cs, XmlDocument.cs, XmlLinkedNode.cs,
2296 XmlNode.cs: Formatting.
2298 * XmlNodeListChildren.cs: Implementation of XmlNodeList
2299 for XmlNode.ChildNodes property.
2301 * XmlNodeListAsArrayList.cs: Removed file. Using different
2302 data structure (circular list) in XmlNode so this file
2305 * XmlDocument.cs, XmlElement.cs: New ChildNodes tests found
2306 bug in setter property of LastLinkedChild so fixed it.
2308 2002-03-06 Jason Diamond <jason@injektilo.org>
2310 * XmlInputSource.cs, XmlNames_1_0.cs, XmlParse.cs: Removed files.
2311 We already have a parser in XmlTextReader.
2313 * XmlException.cs: Removed constructor accepting XmlInputSource.
2315 2002-03-06 Kral Ferch <kral_ferch@hotmail.com>
2317 * XmlNode.cs: Rewrote this class from scratch with
2318 MonoToDo attribs and NotImplementedExceptions. Now defines an
2319 internal LastLinkedNode property to aid the new implementation.
2320 XmlNodes only have ref to owner doc and parent nodes now.
2322 * XmlLinkedNode.cs: Added NextLinkedSibling internal property
2323 and ref to next sibling to support walking our circular child
2326 * XmlDocument.cs: Added ref to last child node and overrides
2327 XmlNode's internal LastLinkedChild property to support walking
2328 our circular child node list.
2330 2002-03-02 Kral Ferch <kral_ferch@hotmail.com>
2332 * XmlProcessingInstructions.cs: Class was empty. Implemented
2333 constructor, properties, and CloneNode() method. Put in
2334 MonoToDo attrib for remaining methods.
2336 * XmlComment.cs: Reformatted and put in MonoToDo attribs.
2337 Got rid of helper methods and fields since they were no
2340 * XmlLinkedNode.cs: Reformatted and put in MonoToDo attribs.
2342 * XmlDocument.cs: Added code to Load(XmlReader) to create XmlComment,
2343 XmlCDataSection, and XmlProcessingInstruction nodes. Implemented
2344 Createxxx() methods for those three node types.
2346 2002-03-02 Jason Diamond <jason@injektilo.org>
2348 * XmlDocument.cs: Implemented the remaining CreateElement and
2349 CreateAttribute methods.
2351 * XmlAttribute.cs: Re-implemented.
2353 * XmlElement.cs: Set owner element on attributes. Reformatted.
2355 2002-03-02 Jason Diamond <jason@injektilo.org>
2357 * XmlTextReader.cs: Implemented MoveToNextAttribute().
2359 * XmlDocument.cs: Reformatted. Adding missing methods and MonoTODO
2360 attributes. Create attribute nodes while loading. Implemented
2361 Load(string) and CreateTextNode().
2363 * XmlCharacterData.cs, XmlText.cs: Re-implemented.
2365 * XmlCDataSection.cs, XmlComment.cs: Call correct constructor in
2368 * XmlNamedNodeMap.cs, XmlAttributeCollection.cs: Stubbed out.
2370 2002-03-02 Mike Kestner <mkestner@speakeasy.net>
2372 * XmlAttribute.cs : Using fix.
2373 * XmlDocument.cs (CreateAttribute(String)): Implement.
2375 2002-03-02 Jason Diamond <jason@injektilo.org>
2377 * XmlNamespaceManager.cs: Atomize prefixes and namespaces strings in
2380 2002-02-28 Jason Diamond <jason@injektilo.org>
2382 * XmlDocument.cs, XmlNode.cs: Initial implementation of LoadXml
2383 courtesy of Kral Ferch <kral.ferch@hotmail.com>.
2385 2002-02-28 Jason Diamond <jason@injektilo.org>
2387 * XmlException.cs, XmlReader.cs, XmlTextReader.cs: Reformatted,
2388 added missing members and MonoTODO attributes.
2390 * XmlTextReader.cs: Throw XmlException instead of System.Exception.
2392 2002-02-27 Jason Diamond <jason@injektilo.org>
2394 * XmlElement.cs: Reformatted, added missing members and MonoTODO
2397 2002-02-26 Duncan Mak <duncan@ximian.com>
2399 * XmlCDataSection.cs: Initial implementation.
2401 * NameTable.cs: Fixed the whole thing. Wrote a NUnit test to test
2402 it out. This should (hopefully) be correct.
2404 2002-02-26 Jason Diamond <jason@injektilo.org>
2406 * XmlTextReader.cs: Apparently Microsoft's implementation treats
2407 namespace declarations as attributes so we do now, too.
2409 * XmlNamespaceManager.cs: HasNamespace fixed so that it only
2410 checks the current scope.
2412 2002-02-26 Duncan Mak <duncan@ximian.com>
2414 * XmlDocumentType.cs: Added a few hacks here and there to
2415 temporarily fix the "I broke the build issue".
2417 2002-02-25 Jason Diamond <jason@injektilo.org>
2419 * XmlDocument.cs, XmlElement.cs, XmlNode.xs, XmlNodeList.cs,
2420 XmlNodeListAsArrayList.cs: Multiple fixes necessary to get
2421 simple test to pass. The existing code is really shitty so I'll
2422 probably start writing tests and refactoring before much else
2425 2002-02-25 Duncan Mak <duncan@ximian.com>
2427 * NameTable.cs: Implemented.
2429 * XmlDeclaration.cs: It should inherit from XmlLinkedNode, not XmlNode.
2431 2002-02-24 Duncan Mak <duncan@ximian.com>
2433 * XmlNodeOrder.cs: Added to CVS.
2435 * XmlQualifiedName.cs: Fixed a warning from Equals ().
2437 * XmlTokenizedType.cs: Added to CVS.
2439 * XmlUrlResolver.cs: Added to CVS with one TODO task.
2441 2002-02-23 Duncan Mak <duncan@ximian.com>
2443 * XmlQualifiedName.cs: Fixed ToString () and added the operators
2446 2002-02-23 Jason Diamond <jason@injektilo.org>
2448 * XmlTextReader.cs: Added support for qualified attributes.
2450 2002-02-23 Jason Diamond <jason@injektilo.org>
2452 * XmlNamespaceManager.cs: Initial implementation.
2454 * XmlTextReader.cs: Added support for NamespaceURI property on
2457 2002-02-23 Nick Drochak <ndrochak@gol.com>
2459 * ChangeLog: Add the change log to this directory
2461 * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has