1 2003-10-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3 * XmlNode.cs : GetPrefixOfNamespace() also contained a bug similar to
4 GetNamespaceOfPrefix() fixed at 2003-10-13.
5 * XmlTextReader.cs : ReadBase64() should keep incomplete base64 block
6 which remained by previous call of this method.
7 * XmlUrlResolver.cs : Added assertion for file Uri path's absoluteness.
8 * XmlValidatingReader.cs : Notice about intention of XDR won't be
9 supported (at least in Mono 1.0).
11 2003-10-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
13 * XmlDocument.cs : CloneNode() does not copy PreserveWhitespace.
14 * XmlWriter.cs : Calling WriteNode() with XmlReader whose state is
15 XmlDeclaration now calls WriteProcessingInstruction(). This fixes
16 testcase XmlWriterTests.WriteNodeFullDocument().
17 * XmlTextWriter.cs : Added LAMESPEC comments related to above.
19 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
21 * XmlDocument.cs : Fixed bugzilla #49607. Save() outputs XML
22 declaration even though there is no XmlDeclaration child.
23 * XmlTextReader.cs : Fixed Init() so that ResetState() should work.
25 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
27 * XmlTextWriter.cs : Implemented WriteSurrogateCharEntity().
28 Reverted my recent extraneous check in WriteStartAttribute().
30 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
32 * XmlNode.cs : GetNamespaceOfPrefix() should check Attributes existence.
33 And it should throw ArgumentNullException.
35 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
37 * XmlAttribute.cs : Fixed InnerText that did not removed its content
38 if there is two or more children.
39 * XmlNode.cs : XmlNode.cs : Fixed bugzilla #49580 (1)to return "",
40 (2)not to compare NodeType for detached nodes, (3)optimization to
41 compare element's prefix.
42 * XmlSecureResolver.cs : Removed extraneous members.
44 2003-10-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
46 * Added DTDReader.cs. It is almost importation of XmlTextReader.
48 - More .NET-ism. Properties took place of fields.
49 - Imported PE set from XmlTextReader. Added location info.
50 - Added DTDEntityBase common to PE and GE.
51 - More correct text declaration handling with new XmlTextReader.
52 * DTDValidatingReader.cs :
53 - Now uses entity resolving XmlTextReader to validate attributes
54 correctly. Implemented standalone
55 - Standalone and default related validity constraints check.
56 * XmlImplementation.cs: Implemented HasFeature().
57 * XmlNode.cs : Implemented Supports().
58 * XmlNodeReader.cs : Modified to use XmlTextReader.SkipTextDeclaration()
59 * XmlParserInput.cs : Removed extraneous members.
61 - All DTD related functionality now goes to DTDReader.cs
62 - It became old simple TextReader input style.
63 - Implemented GetRemainder().
64 - Implemented ReadBase64(), ReadBinHex() and ReadChars(), using
65 additional new private method ReadUntilEndTag().
66 - Removed incomplete MaybeTextDecl and added SkipTextDeclaration().
67 ReadXmlDeclaration() now became simple.
68 - More strict entity reference check at SetEntityReferenceProperty()
69 - Removed extraneous members.
70 * XmlWriter.cs : WriteNode(XmlNodeType.None) does not raise error.
72 2003-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
74 * XmlTextReader.cs: when we get an unexpected EOF in ReadContent, set
75 the state before throwing the exception if depth > 0.
77 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
79 * XmlAttribute.cs : Removed extraneous MonoTODO.
80 * XmlTextWriter.cs : Implemented WriteBinHex() and WriteChars().
81 WriteStartElement() and WriteStartAttribute() should ignore Prefix
82 if namespace uri is not specified.
84 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
86 * XmlDocumentFragment.cs,
88 XmlEntityReference.cs : Removed extraneous MonoTODO.
89 * XmlNode.cs : Implemented Normalize().
91 - AttributeCount and HasAttributes should return its owner element's
92 value, to be consistent with XmlTextReader.
93 - Fixed Depth to reflect correct attribute/attribute-value iteration.
94 - simplified ownerElement and HasValue.
95 - Prefix won't return null.
96 - MoveToElement() should also work against attribute value nodes.
97 * XmlTextReader.cs : MoveToElement() should return false if it is
98 positioned at element itself.
100 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
102 * XmlTextReader.cs : Improved SignificantWhitespace handling.
104 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
106 * XmlSecureResolver.cs : Implemented basic feature.
108 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
110 * XmlUrlResolver.cs : Should work with null type argument.
112 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
114 * XmlTextWriter.cs : An attribute can require a prefix for the default
115 namespace, so we need to store the prefix as well as the namespace.
117 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
119 * DTDValidatingReader.cs : Simplified to use
120 XmlSchemaUtil.GetParserContext().
121 * XmlValidatingReader.cs : ValidationType.Auto should always use
122 XsdValidatingReader because xsi:schemaLocation might be used.
124 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
126 * XmlTextReader.cs : Attribute value token properties were incorrectly
127 set by the linked node.
129 2003-09-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
131 * XmlDocumentNavigator.cs : Fix for bugzilla #48931. MoveToRoot() now
132 considers such case that target node was not adapted to the document.
133 * XmlNamespaceManager.cs : GetEnumerator() missed the last pair.
134 * XmlTextWriter.cs : use 'as' instead of 'try..catch'.
136 2003-09-25 Ben Maurer <bmaurer@users.sourceforge.net>
138 * XmlNode.cs (XPathNodeType): Give more useful debugging message.
139 * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as
142 2003-09-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
144 * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace
145 recovery was still not enough. Fixed GrowScopes() (incorrect index).
147 2003-09-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
150 - Fix for bugzilla #48337 (containing Ben's advice on that).
151 - Added internal XmlTokenInfo classes. Nodes are now handled as token
152 objects (linked node, attributes and attribute values). Most of the
153 node state properties and iterating methods are changed to refer to
154 the token classes (except for value builder availability). Removed
155 fields which are never used. CompileDTDSubset() is changed in
156 reflection to nodeType field removal.
157 - Fixed Depth that should vary in moving between attributes and/or
158 reading attribute values.
159 - LineNumber and LinePosition now returns more correct location.
160 - Fixed Value that should still return true if its value is an empty
161 attribute value string.
162 - EntityValue is checked WFC constraints even thoug it is not used.
163 - All .ctor() now initializes ReadState as Initial.
164 - Read() should be available for attribute value constructor.
165 * XmlAttribute.cs : set_InnerXml() now calls reader's Read().
167 2003-09-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
169 * XmlNamespaceManager.cs: PopScope() must retain those namespaces which
170 are added in the scope before PushScope() was called.
172 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
174 * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked
175 lists and removes uses of Hashtable. Results in huge speed gains.
177 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
179 * XmlConvert.cs: NaN.ToString () != INF.
181 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
183 * XmlTextWriter.cs: Attributes that have a namespace must be always
186 2003-09-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
188 * XmlTextWriterOpenElement.cs : Changed to receive prefix and localName
190 * XmlTextWriter.cs : Changed to use above XmlTextWriterOpenElement.
191 Changed xmlns adding scheme. In detail, 1) WriteStartElement does not
192 add Namespaces immediately, but adds at AddMissingElementXmlns so
193 that we don't have to have extra check than namespaceManager's
194 LookupPrefix(). 2) Removed writtenAttributes for performance reason
195 since it is no more required.
197 2003-09-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
199 * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute()
200 that handled xmlns attributes inproperly.
202 2003-09-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
204 * XmlNamespaceManager.cs : GetEnumerator() should return all of the
205 available pairs (of prefix and namespace).
206 * XmlQualifiedName.cs : Quick fix for NullReferenceException in case
207 of name (or ns) is null. (The description of the immediate previous
208 changes will be inserted below.)
209 * XmlTextWriter.cs : Fixed WriteDocType(). Removed CheckValidName().
210 * XmlUrlResolver.cs : Changed not to call WebClient.Dispose() which
211 will release resources it had allocated.
213 2003-09-01 Ben Maurer <bmaurer@users.sourceforge.net>
215 * XmlDocument.cs (Save): use the encoding of the document, if
218 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
220 * XmlValidatingReader.cs : Implemented SchemaType. Added support for
221 ValidationType.Schema. Added support for XmlResolver. Fixed
222 ReadTypedValue() not to consume EndElement.
224 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
226 * XmlDocumentNavigator.cs : Fixed MoveToFirstNamespace() that arose
228 * XmlNamespaceManager.cs : Renamed AtomStrEq to AtomicStringEquals.
229 Commented out Console.Error.WriteLine().
230 * XmlUrlResolver.cs : Fixed ResolveUri() and GetEntity() to support
231 escape and unescape for relative URI string.
233 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
235 * XmlParserContext.cs: Make each context inherit next.
237 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
239 * XmlChar.cs (IsWhitespace): Spare enumerator allocation.
240 * XmlTextWriter.cs (WriteWhitespace): Enumerators are very high in
241 fat, use low-fat loops instead. Even better, call the function
242 inside XmlChar for code reuse.
243 * HighWaterStack.cs (added): New class that acts like a Stack, but
244 helps with memory allocation.
245 * XmlNamespaceManager.cs, XmlParserContext.cs: Rewrote to use
247 * XmlTextReader.cs: Remove orderedAttributesEnumerator variable,
248 use a variable that stores the position in the ArrayList.
250 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
252 * XmlTextWriter.cs: Begin diet. String.Format has too much
253 saturated fat, lets replace with the fat-free .Write ()
254 calls. Effects best seen when Paolo's StreamWriter patch is
257 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
259 * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in
260 vanishing current node.
262 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
264 * DTDValidatingReader.cs : Added SchemaType.
265 Read() Assures to return to element.
266 * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI.
267 * XmlReader.cs : ReadString() should be virtual in NET_1_1.
268 * XmlTextReader.cs : 1) Depth should consider Attribute and its values.
269 Introduced insideAttribute field to support them.
270 2) ReadAttributeValue() should consider empty string.
271 * XmlValidatingReader.cs :
272 Fixed several properties which premised as if it was already read.
273 Encoding and Namespaces now throws NotSupportedException for other
275 Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType.
277 2003-08-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
279 * XmlInputStream.cs : Reverted CanSeek as to return false anyway.
281 2003-08-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
283 * DTDObjectModel.cs : added XmlResolver related members. Added
284 invalid entity recursion logic. Added encodingdecl check on textdecl.
285 * DTDValidatingReader.cs : It now implements IHasXmlParserContext.
286 * XmlChar.cs : IsPubidChar() should not allow TAB(	).
287 * XmlDocumentType.cs : 1) internal CreateDocumentType() was now changed
288 to receive DTDObjectModel to support other than XmlTextReader.
289 2) Most of its public member is now based on DTDObjectModel.
290 * XmlDocument.cs : 1) Synchronous change with XmlDocumentType.
291 2) ReadNode() now considers XmlParserContext's DTDObjectModel for
292 other than XmlTextReader (such as XmlValidatingReader).
293 * XmlNode.cs : code cleanup only.
294 * XmlParserInput.cs : added HasPEBuffer, used to check illegal nesting.
295 * XmlTextReader.cs : 1) Illegal entity reference check logic was moved
296 from ReadContent() to SetEntityReferenceProperties(). 2) Indentation
297 change on ReadEntityReference(). 3) ReadAttribute() now checks
298 reference to external entity reference. 4) Added textdecl encoding
299 check. 5) DTDObjectModel fields are now set correctly. 6) added
300 PERef markup nest check. 7) If PEDecl was not found, it might be WFC
301 violation, not only be VC violation. 8) ReadEntityDecl() now receives
302 its declared entity itself, and this method checks IsInternalSubset.
303 * XmlValidatingReader.cs : 1) Added GetInternalPerserContext().
304 2) ValidationType.None should be the same as Auto, not DTD (in the
305 future it should keep xml schema's default values).
307 Pending Stuff in XmlTextReader which breaks some NUnit tests;
308 1) SetEntityReferenceProperies() has check for illegal references.
309 2) ReadAttribute(bool) has similar check for illegal references.
311 2003-08-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
313 * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice,
314 sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement().
316 2003-08-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
318 * XmlTextReader.cs : Checked and fixed all TryExpandPERef() invokation
319 and supplied SkipWhitespace() as they needed. It broke monodoc.
320 Fixed ReadEntityValueDecl() to get correct value.
322 2003-08-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
324 * XmlInputStream.cs :
325 Fixed Initialize() that might result in incorrect buffer.
326 CanRead and Position should consider buffer (especially when the
328 CanSeek should use stream's CanSeek.
330 * XmlChar.cs : added GetPredefinedEntity().
331 * DTDObjectModel.cs :
332 - Modified ComputeDefaultValue() to use it.
333 - Fixed NormalizedDefaultValue not to expect parsed value as string.
334 - ResolveExternalEntity now detects invalid standalone specification.
335 - DTDParameterEntityDeclaration.Value is now changed to property and
336 keep its resolved value of literal value of external value using
337 new Resolve (XmlResolver) method (called only by XmlTextReader).
338 * DTDValidatingReader.cs :
339 - It now handles entity-expanded Whitespace and SignificantWhitespace
340 correctly. Does not raise unexpected text not allowed error.
341 - Fixed MoveToAttribute()s to move internal reader correctly, and
342 should be able to move in other cases than on element node.
343 - On Read()ing document type and ResolveEntity(), it now sets
344 XmlResolver on text reader.
345 - On ID constraints check and type verification, it now uses
346 normalized attribute or its tokenized value(s).
347 - Fixed ValidateAttributes() to add default values when
348 ValidationType is Auto.
349 * XmlParserContext.cs : added internal Dtd setter.
350 * XmlParserInput.cs :
351 InsertParameterEntityBuffer() should add surrounding whitespaces.
352 Removed unused code block.
354 - Modified ReadReference(), ReadAttribute() and Dereference() to use
355 XmlChar.GetPredefinedEntity().
356 - When returning entity reference, it checks extity declaration
357 existence in certain conditions.
358 - ReadAttribute() now skips general entity replacement on reading
360 - ReadText() now handles whitespace texts as XmlNodeType.Whitespace.
361 - ReadXmlDeclaration() holds isStandalone, which might be used in
362 entity reference's well-formedness check.
363 - internal 'DTD' now uses XmlParserContext.Dtd.
364 - isInternalSubset was meaningless. Now uses input stack's Count.
365 - Added some required SkipWhitespace().
366 - Several parameter entity handling changes. Added GetPEValue(name).
367 TryExpandPERef() now uses ImportAsPERef(). ReadParameterEntityDecl()
368 now uses its Resolve() when it was external PE. Now it uses value
369 buffer instead of currentTag, to efficiently read (included) PE.
370 CompileDeclaration() now uses ImportAsPERef instead of ExpandPERef().
371 ImportAsPERef() simply inserts the value to currentInput.
372 ReadEntityDecl() also uses value buffer. Removed non-used methods.
373 - Default attributes are now stored in normalized form.
374 - Dereference() now considers non-expanding predefined entities.
375 * XmlValidatingReader.cs : now holds Schemas, and ValidationType.Auto
376 is more correctly supported.
378 * XmlAttributeCollection.cs :
379 When removing default attribute, it immediately inserts the attribute.
380 RemoveAll() should consider default (not-removable) attributes.
382 Should have its default XmlResolver. Added Internal Resolver.
383 Some Load() should use its XmlResolver.
384 ImportNode() should copy its children in node level, not value level.
385 It also have to consider not to copy default attribute on importing
387 * XmlDocumentType.cs : Now uses document's XmlResolver to read DTD.
389 XmlDocumentFragment.cs.
390 XmlElement.cs : use XmlResolver on InnerXml. Removed some MonoTODO.
391 * XmlNodeReader.cs : GetInternalParserConext() should provide its DTD.
392 ResolveEntity() uses XmlResolver on entityReader.
394 2003-08-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
396 * DTDObjectModel.cs :
397 - Added validation error check (and AddError(), Errors).
398 - Fixed ComputeDefaultValue() to handle various references correctly.
399 - DTDEntityDeclaration.EntityValue became property, and added
400 LiteralEntityValue. The new one holds resolved value.
401 Added ResolveExternalEntity(). It now required root in .ctor().
402 * DTDValidatingReader.cs :
403 - Now it handles namespaced attributes (as input to xsd validator).
404 - Added XmlResolver property as usual XmlReader.
405 - Added currentEntityHandling field so that it can stand changing
406 XmlValidatingReader's EntityHandling dynamically.
407 - FilterNormalization() now requires name for getting datatypes and
408 can stand for non-current attribute normalization.
409 - Splitted ReadContent() from Read() that can be called recursively
410 when expanding entities.
411 - Now handles Entity not found error *after* resolution of entities,
413 - Read()ing DTD checks its Errors and raises validation error events.
414 In some situations, DTD parsing may detect VC error, not WFC error.
415 It also strictly checks NData existence.
416 - Handling of entity-resolved text is a bit changed and Read()ing
417 element, endElement, cdata now changed to switch collecting text
419 - content type ANY should allow texts.
420 - Added enumerated attribute validity check.
421 - Added Name/Names creation rule check for ID/IDREF/IDREFS.
422 - Added entity existence check for ENTITY/ENTITIES attributes.
423 - Added NMTOKEN creation rule check for NMTOKEN/NMTOKENS.
424 - Fixed to remove extraneous #REQUIRED check.
425 - Contributing default attribute is now only applied to the case
426 ValidationType is DTD or None.
427 - ResolveEntity() now handles external entities.
428 Added Mono.Xml.IXmlParserContext interface support.
429 * XmlDocumentType.cs : Fixed to use BaseURI to build DTD model.
431 - Fixed ReadAttributeValue() to reset returnEntityReference.
432 - Added bool MaybeTextDecl only for ResolveEntity().
433 - Fixed ReadWhitespace(). In fact its value is considered even if it
434 is in the end of the XML.
435 - Fixed ReadXmlDeclaration(). Now skips text declaration.
436 - CompileDTDSubset() now checks IGNORE/INCLUDE section end balances.
437 - ReadContentSpec() should set OrderType = OR for mixed model.
438 Fixed to set content element name correctly.
439 - ImportAsPERef() now skips Text declaration.
440 - Type of enumerated default attributes shold be string.
441 - Undeclared PE error is now handled as DTD's VC error, not
442 XmlTextReader's WFC error.
443 * XmlValidatingReader.cs : BaseURI should provide that of
444 original XmlReader's when read was not started yet.
445 Fixed XmlResolver to delegate to DTDValidatingReader.
447 * XmlAttributeCollection.cs : Acquiring attList declaration is
448 insufficient especially in case of lack of elementdecl.
449 * XmlChar.cs : (Maybe this is compact than XmlConstructs.)
450 added IsWhitespace(),IsNCNameChar(),IsName(),IsNCName(),IsNmToken(),
451 IsPubid(). Copies IsValidIANAEncoding() from XmlConstructs.
453 * XmlInputStream.cs : Removed "version" declaration check. It should
454 be done by XmlTextReader.
456 * XmlNodeReader.cs : added internal GetInternalParserContext() and now
457 it can be used in XmlValidatingReader.ResolveEntity().
458 ResolveEntity() sets XmlTextReader.MaybeTextDecl.
460 2003-08-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
462 * DTDValidatingReader.cs :
463 Added full ExpandEntities support for text node and entity reference
464 node (although require many usage tests). Almost all methods and
465 properties now have currentTextValue != null check, that field means
466 that there are cached (entity-resolved) text.
467 Implemented default attribute aware XmlLang and XmlSpace.
468 * XmlNodeReader.cs : ResolveEntity() should not require DTD.
470 2003-08-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
472 * DTDValidatingReader.cs,
476 XmlValidatingReader.cs : fixed pragma USE_VERSION_1_0 to NET_1_0.
478 2003-08-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
480 * DTDObjectModel.cs : Added BaseURI (but not used yet).
481 DTDAttListDeclaration.ctro() now requires root dtd object model.
482 * DTDValidatingReader.cs : Read() now expands EntityReference if
483 entity handling of validating reader is ExpandEntities.
487 XmlValidatingReader.cs : Implemented "virtual" ReadInnerXml and
488 ReadOuterXml which are modified in MS.NET 1.1.
489 * XmlConstructs.cs : added int version of IsValid, IsInvalid,
490 IsContent, IsMarkup and IsNCNameStart.
491 Fixed int version of IsXXX() to check array index range.
492 Added IsValidName (string).
494 - Read() handles document with non document element as an error.
495 - ReadText() and ReadCharacterReference() checkes illegal characters.
496 - ReadEntityReference() checks name validity.
497 - ReadProcessingInstruction() rejects such name that starts with
498 "xml" ignoring case, and checks attributes more strictly.
499 - ReadDeclaration() rejects unrecognized kind of declaration.
500 - In many places, added "required whitespace" check in DTD markup.
501 - DTD content model now disallows mixing use of '|' and ','.
503 2003-08-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
505 * XmlDocumentFragment.cs : I missed to add it in relation to the
506 previous XmlParserContext patch. Similar to XmlAttribute/XmlElement.
507 * XmlNodeReader.cs : removed some TODO attributes.
508 * DTDValidatingReader.cs,
509 XmlValidatingReader.cs : Implemented ResolveEntity().
511 2003-07-31 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
513 * XmlParserContext.cs,
515 XmlElement.cs : Added internal Dtd and new internal XmlParserContext
516 .ctor() that takes DTDObjectModel. And then rewrote classes which
517 uses DTD information. Changed DocTypeName, InternalSubset, PublicId
518 and SystemId to use DTDObjectModel.
519 * DTDObjectModel.cs :
520 Added DTDObjectModel.InternalSubsetHasPEReference.
521 Added DTDEntityDeclaration.IsInternalSubset.
523 Added internal GetInternalParserContext (to build entity reader).
524 Added private isIntSubset to check if the DTD subset is internal or
525 external, which might affect well-formedness constraints.
526 Changed GenerateDTDObjectModel to return the resulting DTD model.
528 * XmlEntityReference.cs : implemented BaseURI.
530 - Implemented ResolveEntity() and CanResolveEntity(). In fact
531 it leads too many changes on almost all methods and properties,
532 since they now must be aware of entityReader.
533 - fixed ownerElement that might be used to return from attribute
534 value to the element through parent attribtues.
535 - Now changed indexer to call GetAttribute() and moved actual logic
536 to the matching GetAttribute() methods.
538 2003-07-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
540 * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml
541 not to create extraneous xmlns="".
543 2003-07-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
545 * DTDValidatingReader.cs : (Read,ValidateAttributes,ReadAttributeValue)
546 attribute declaration should be got independently of elementdecl.
548 Added internal SetDefault() to mark as default.
549 Removed InnerText implementation that is just the same as XmlNode.
550 * XmlDocument.cs : id shouldn't be removed from table at 'trying' to
551 get matching elements. ReadAttributeNode() now sets default mark.
552 * XmlElement.cs : WriteTo() should ignore default attributes.
553 * XmlTextWriter.cs : shuold allow valid name char such as digits.
555 2003-07-27 Piers Haken <piersh@friskit.com>
557 * XmlQualifiedName.cs : fields should never be null
559 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
561 * XmlDocumentFragment.cs : added XPathNodeType indicating Root.
563 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
565 * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted
567 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
569 * XmlLinkedNode.cs : added internal IsRooted.
571 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
573 * DTDValidatingReader.cs :
574 - Added ID support in ValidateAttributes().
575 - More refined ReadAttributeValue() support for non-expanding entity
577 - It should handle LocalName, Name, Prefix, NamespaceURI and Value
578 correctly when the reader is on each of the value nodes of an
579 attribute. Now XmlDocument.ReadNode() should work well.
581 - added idTable, AddIdenticalAttribute(), GetIdenticalAttribute() and
582 RemoveIdenticalAttribute()
583 - Implemented GetElementById().
584 * XmlAttributeCollection.cs :
585 - added private ownerDocument property and replaced
586 ownerElement.OwnerDocument with it.
587 - Added AdjustIdenticalAttribute() and it is used in SetNamedItem().
588 It calls XmlDocument.{Add|Remove}IdenticalAttribute().
589 - Added RemoveIdenticalAttribute() and it is used in Remove().
590 (I also added AddIdenticalAttribute() but is not used.)
592 2003-07-26 Duncan Mak <duncan@ximian.com>
594 * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test
595 for OwnerElement.IsRooted to fix the build..
597 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
599 * XmlDocumentType.cs :
600 modified private DTD to dtd and added internal DTD (the same thing).
602 Fixed SetAttributeNode() to check if specified attribute is already
603 set to the other element. In fact it is W3C DOM's specification but
604 MS.NET 1.0 failed to catch it.
606 ReadAttributeValue() should check if the value of the attribute is
607 already read when the whole value is entity reference.
608 Also, Name of text nodes should be "", not "#text"
610 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
612 * XmlAttribute.cs : .ctor() shouldallow localName "xml" (not prefix)
613 with http://www.w3.org/XML/1998/namespace.
614 * XmlEntity.cs : patch by Aleksey Sanin. InnerText is now supported.
615 * XmlNode.cs : InnerText should handle CDATA and whitespaces.
616 * XmlTextReader.cs : Should allow " (#PCDATA)* " in ReadContentSpec().
617 * XmlTextWriter.cs : Quick fix for accepting (and writing) same-named
618 attributes (as MS.NET does). It isn't good way and I may change it.
620 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
622 * DTDObjectModel.cs : Added DTDEntityDeclarationCollection and
623 DTDNotationDeclarationCollection and replaced Hashtables with them.
624 Added NormalizedDefaultValue property for DTDAttributeDefinition.
625 * DTDValidatingReader.cs :
626 - It now reads attribute values into value collection.
627 - Renamed consumedDefaultAttribute to consumedAttribute, and
628 inContent to insideContent.
629 - GetAttribute() should allow reader's other node state than element.
630 - MoveToNextAttribute() should move when reader is placed other than
632 - HandleError() now supports ValidationType.None (i.e. does nothing).
633 - ValidateAttribute() now collects and resolves attribute value
634 entity references. (On the other hand, it doesn't support
635 EntityHandling.ExpandCharEntity.)
636 - NodeType shouldn't return Attribute after ReadAttributeValue().
637 Now only Text is supported, but must also support EntityReference.
638 - Add FilterNormalization() and partially support Normalization.
640 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
643 Read() now handles parser context stuff (BaseURI, XmlLang and
644 XmlSpace) correctly for an empty element.
645 Normalization property now doesn't throw an error. Will be used soon.
646 * XmlValidatingReader.cs : added ValidationType.None support (wait for
647 the next DTDValidatingReader update for "not firing event handler).
648 * XmlNodeReader.cs : jun. 30th commit seems wrong. It keeps its state.
650 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
652 * DTDValidatingReader.cs :
653 changed base class to XmlReader and implemented IXmlLineInfo members.
654 changed .ctor() argument from event handler to validating reader.
655 Removed some #if ... #else ... #endif blocks.
656 Added validation event support for Read() using HandleError().
657 * XmlValidatingReader.cs : added internal OnValidationEvent().
658 * XmlDocument.cs : ReadNode() now checks reader's state more strictly.
660 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
662 * XmlUrlResolver.cs : applied BenM's patch for file uri problem
665 2003-07-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
667 * DTDValidatingReader.cs :
668 added DTDObjectModel support for non-XmlTextReader XmlReader
669 e.g. XmlNodeReader (Read() method).
671 added internal CreateDocumentType(XmlTextReader) and moved
672 ReadDoctypeNode() to XmlDocumentType.ImportFromDTD().
673 * XmlDocumentType.cs :
674 added internal .ctor(XmlTextReader, document) and ImportFromDTD().
676 Renamed useSbForVal (valueBuilderAvailable), valSb (valueBuilder)
677 and currentSubset (DTD).
678 Added GenerateDTDObjectModel() (for independent doctype parsing).
680 2003-07-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
683 .ctor() should reject xml- or xmlns-prefixed node.
684 * XmlNamespaceManager.cs :
685 added some xmlns validity check.
687 optimized GetNamespaceOfPrefix() and GetPrefixOfNamespace() by
688 avoiding XmlNamespaceManager creation.
690 doctype node should return PUBLIC and SYSTEM for its indexer,
691 and Value should be internal subset,
693 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
696 DTDValidatingReader.cs : Completely rewrote attribute handling.
698 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
701 XmlElement.cs : Fixed CloneNode() for bug #46129.
702 * XmlDocument.cs : Fixed MakeReaderErrorMessage that specified invalid
703 String.Format arguments, and basically XmlException.ctor(
704 IXmlLineInfo, message) seems good idea to use.
706 - Fixed .ctor(Stream, XmlNodeType, XmlParserContext) which had
707 required non-null context which don't have to exist.
708 - Added state check. Introduced 'currentState' and 'maybeTextDecl'
709 (for external entity) and removed hasEnteredDocument. Added
710 state-check logic to ReadStartTag(), ReadEndTag(), ReadText(),
711 ReadCData(), ReadDoctypeDecl() and ReadWhitespace().
712 - Replaced throw ReaderError() with throw new XmlException() and
713 fixed that some error hadn't thrown, only created.
714 - ResetState() should re-initialize existing private members other
715 than some specified fields.
716 - Private AddAttribute() should check if the same-named attribute
718 * DTDObjectModel.cs : Additive declaration for ATTLIST is availabe now.
720 2003-07-09 Lluis Sanchez Gual <lluis@ximian.com>
722 * XmlTextReader.cs : Implemented ResetState() method.
724 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
726 * XmlElement.cs : IsEmpty has removed attributes since it incorrectly
729 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
731 * XmlDocument.cs : Load(string filename) should close its stream.
732 Small change for the latest DTDObjectModel change.
733 * XmlTextReader.cs : Changed for the latest DTDObjectModel change (all
734 changed methods are only related to DTD stuff).
735 Now uses XmlSchemaDatatype for attribute type definition.
736 * XmlValidatingReader : initial (limited) support for DTD validation.
737 It can handle only XmlTextReader.
738 * DTDObjectModel.cs : changed radically for initial validation support.
739 * added DTDAutomata.cs and DTDValidatingReader.cs.
741 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
743 * XmlElement.cs : Removed extraneous xmlns output support (it should
744 be done by XmlTextWriter).
745 * XmlNode.cs : InsertBefore() now checks validity of the newChild (and
746 most of the changes are in fact indentation changes).
747 * XmlWriter.cs : WriteAttributes() now can write entity references.
748 WriteNode() now writes xmldecl attributes correctly.
749 Removed namespaceManager and xmlns check logic, since it should be
750 done by individual XmlTextWriter.
751 * XmlTextWriter.cs : Patch by Jerome. AddMissingElementXmlns () has
752 written multiple xmlns declarations.
753 Moved namespaceManager from abstract XmlWriter.
754 Write{Start|End}Attribute() and WriteString() now checks xmlns
755 attribute value. (MS.NET holds value only with this write method).
757 2003-07-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
759 * XmlDocument.cs : removed xmlReader.Close() from Load(XmlReader).
761 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
763 * XmlDocumentNavigator.cs : Implemented MoveTo*Namespace() and
764 essentially changed most of the property handling (e.g. removed attribute
765 enumerator and it now became really cloneable).
766 * XmlNodeReader.cs : ReadInnerXml() changes its state as error
767 when the method is called at Initial state.
769 2003-06-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
771 * XmlDocumentNavigator.cs : Fixed IsEmptyElement. It treats <foo></foo>
772 as non-empty, and XmlElement's IsEmpty is designed as such.
773 Fixed MoveToFirst() and MoveToNext() not to move to xmldecl nor
775 * XmlNode.cs : Fixed XPathNodeType. It should throw an exception
776 instead of returning undefined enum value.
777 Modified some code comments.
778 * XmlWriter.cs : Fixed WriteNode () to use WriteFullEndElement()
779 when XmlReader's node is not at empty element or at EndElement.
780 Fixed XmlDeclaration's standalone check.
782 2003-06-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
784 * XmlTextReader.cs : removed CRLFs. Fixed private InitializeContext()
785 to use known Uri way (used in XmlUrlResolver) instead of UriBuilder.
787 2003-06-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
789 * XmlInputStream.cs : quick fix for public ctor() BaseURI bug.
791 2003-06-20 Ben Maurer <bmaurer@users.sourceforge.net>
793 * XmlTextReader.cs: Reduces memory allocation when the reader is
794 not queried for some values.
795 * NameTable.cs: Now uses a custom hashtable to implement. As a
796 result, when Get (char[], int, int) is called, a string is only
797 allocated if it is actually a new entry.
798 (StrEqArray) Compares a string and a char[]
799 (AddEntry) Adds a new entry to the hashtable
800 (Entry) Represents a hashtable entry.
802 2003-06-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
804 * XmlUrlResolver.cs : several ResolveUri() fix. e.g. for external URIs.
806 2003-06-16 Ben Maurer <bmaurer@users.sourceforge.net>
807 * XmlUrlResolver.cs: really fixed #44231
809 2003-06-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
811 * XmlNodeReader.cs : fixed MoveToNextAttribute(). In some cases
812 this method set current node null.
813 * XmlTextReader.cs : fixed GetAttribute (name, ns), which returned
814 String.Empty instead of null (expected value).
817 XmlInputStream.cs : fixed BaseURI problem (bug #44231).
819 2003-06-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
821 * XmlNodeReader.cs : this [name] and this [name, ns] (and
822 GetAttribute() methods in turn) returns null instead of String.Empty.
823 * XmlTextWriter.cs : WriteStartAttribute() should try to use specified
824 prefix before auto-generating prefixes.
825 Implemented WriteBase64().
827 2003-06-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
829 * XmlNodeReader.cs : LookupNamespace () has refered invalid current
830 node for attributes. Modified to use private "document" property.
832 2003-06-10 Lluis Sanchez Gual <lluis@ximian.com>
834 * XmlTextWriter.cs: when adding an attribute with a namespace, a prefix must be automaticaly
835 generated, and a namespace declaration must be added.
836 * XmlWriter.cs: the namespace for the prefix xmlns must be http://www.w3.org/2000/xmlns/
838 2003-06-10 Zoltan Varga <vargaz@freemail.hu>
840 * XmlAttribute.cs: Accept a null prefix or namespaceURI.
842 2003-06-10 Duncan Mak <duncan@ximian.com>
844 * XmlDocumentNavigator.cs (GetNode): Make it implement
847 2003-06-05 Lluis Sanchez Gual <lluis@ideary.com>
849 * XmlTextWriter.cs : Fixed bug. After calling for example WriteStartElement ("pref","ln","ns");
850 a call to LookupPrefix ("pref") when still writting attributes should
851 return "ns", and it didn't.
853 2003-06-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
855 * XmlDocumentNavigator.cs : quick fix for MoveToFirstChild().
856 * XmlConvert.cs : fixed VerifyNCName() to check correctly.
858 2003-06-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
860 * XmlDocumentNavigator.cs : Compute document node one time.
861 MoveToFirstChild() should move to PIs and comments.
863 2003-05-30 Miguel de Icaza <miguel@ximian.com>
865 * XmlReader.cs (ReadStartElement): Improve error message.
867 2003-05-28 Lluis Sanchez Gual <lluis@ideary.com>
869 * XmlTextReader.cs : MoveToAttribute methods must set the enumerator to the right
870 position, since MoveToNextAttribute may be called after it.
871 SetProperties(): attributes do not "inherit" the namespace.
872 * XmlDocument.cs: ReadNode(), ReadAttributeNode(): must keep the current reader position.
874 2003-05-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
876 * NameTable.cs : Add() sets the given name string interned.
877 * XmlParserContext.cs : added internal PushScope() and PopScope() to
878 hold stacks of xml:base, xml:lang and xml:space.
879 * XmlTextReader.cs : implemented XmlLang and XmlSpace (only as a
880 property for stacked attributes). Renamed Initialize() to Initialize-
881 Context(). Modified to use XmlParserContext.PushScope()/PopScope().
883 2003-05-26 Lluis Sanchez Gual <lluis@ximian.com>
885 * XmlReader.cs: Little fix to WriteAttributeString()
887 2003-05-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
889 * XmlAttribute.cs, XmlCharacterData.cs, XmlComment.cs, XmlDocument.cs,
890 XmlDocumentFragment.cs, XmlElement.cs, XmlEntity.cs, XmlLinkedNode.cs,
891 XmlNode.cs, XmlNotation.cs, XmlProcessingInstruction.cs, XmlReader.cs,
892 XmlSignificantWhitespace.cs, XmlText.cs, XmlWhitespace.cs:
893 Reverted the recent accessibility mistake (5/16).
894 * XmlDocument.cs, XmlNode.cs : moved actual CreateNavigator() logic
895 from XmlNode to XmlDocument.
897 2003-05-18 Lluis Sanchez Gual <lluis@ideary.com>
899 * XmlQualifiedName.cs : Fixed bug in equality operator.
901 2003-05-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
903 * XmlTextWriter.cs : patch by Jonathan Hogg. Flush() does not close
904 any open attributes or elements. WriteWhitespace() checks state and
905 closes start tag. Fixed WriteStringInternal() to replace CR/LF chars
906 when it is called inside attribute value.
907 * XmlException.cs : added .NET 1.1 .ctor.
908 * added XmlSecureResolver.cs (only stubbing).
909 * XmlAttribute.cs : set_InnerXml() should remove children.
912 XmlDocumentFragment.cs,
913 XmlDocument.cs : removed XmlTextReader reuse (It was buggy stuff).
914 * XmlNode.cs : RemoveAll() should also remove all attributes.
915 * XmlTextRader.cs : .ctor() for attribute value reader should add
916 quotations at initialization, since it requires quote chars.
917 * XmlWriter.cs : WriteAttributeString() more correct xmlns check.
919 2003-05-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
921 * changed XPathNodeType modifier to internal *protected* override.
922 * XmlAttribute.cs : .ctor() now checks name validity e.g. xmlns.
923 * XmlAttribute.cs, XmlElement.cs : set_Prefix checks NCName validity.
924 * XmlAttributeCollection.cs : removed some incorrect TODO attributes.
925 * XmlDocument.cs ; CreateAttribute(name) now auto-completes xmlns NSURI
926 when the argument is "xmlns".
927 * XmlElement.cs : more compliant IsEmpty support. See also WriteTo().
928 * XmlNamespaceManager.cs : added initial "xml" and "xmlns" namespaces.
929 * XmlNode.cs : ser_InnerXml() throws InvalidOperationException.
930 * XmlNodeReader.cs : LookupNamespace() refactory. Fixed ReadInnerXml()
931 not to set error state for non-started XmlNodeReader.
932 * XmlTextReader.cs : fixed ReadAttributeValue() not to reset state.
933 BaseURI support. Fixed Initialize() to handle Attribute correctly.
934 SetProperty for attribute auto-completes xmlns NSURI.
935 Attribute and whitespace handling became more correct.
936 Don't parse external DTD if XmlResolver is null.
937 * XmlTextWriter.cs : implemented WriteEntityRef().
938 WriteStartAttribute() checks if ns does not equal to that of xmlns.
939 * XmlWriter.cs : trivial refactoring (WriteNode() xmldecl output).
941 2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
943 * XmlConvert.cs : IsInvalid() Now uses XmlConstructs.IsName(Start).
944 EncodeName() now correctly encodes invalid names.
945 Result string of ToString(DateTime) contains "fffffff".
947 2003-04-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
949 * XmlElement.cs : fixed IsEmpty (removed private field isEmpty).
950 * XmlNodeReader.cs : Fixed AttributeCount, each this[] (indexers),
952 Fixed this[] to work correctly against XmlDeclarations.
953 Fixed ReadInnerXml() and ReadOuterXml() to call Read() correctly.
954 (which may prevent validations etc.)
957 XmlTextReader.cs : Fixed ReadString() to be compliant with each
959 * XmlTextReader.cs : ReadInnerXml() now moves to next node correctly.
961 2003-04-27 Pedro MartÃnez Juliá <yoros@wanadoo.es>
963 * XmlNode.cs: ensure to get a valid Uri in BaseUri when loading the
964 source document from a file.
966 2003-04-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
968 * XmlAttribute.cs : fixed WriteTo() and WriteContentTo() to write
969 content EntityReference correctly.
970 * XmlNodeReader.cs : many fix for EndElement handling (AttributeCount,
971 HasAttributes, indexers, MoveTo*Attribute() and Read() ).
972 Modified Skip() to call Read () explicitly.
974 Fixed ReadInnerXml() which ignored EndElement token in certain cases.
975 Implemented MoveToAttribute (local, ns), and modified GetAttribute()
976 in relation to this change.
977 Attributes for XmlDeclaration are now correctly set.
978 * XmlTextWriter.cs : WriteRaw() is now different from WriteString().
979 Simplified WriteAttributes() for XmlDeclaration.
981 2003-04-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
983 * XmlTextReader.cs : fixed ReadInnerXml(). it was inconsistent with
986 2003-04-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
988 * XmlDocument.cs : fixed Load() to set baseURI correctly.
989 * XmlReader.cs : patch by Gonzalo. Fixed not to skip XmlDeclaration.
991 fixed Depth. When it's on StartElement, Depth was already incremented.
992 fixed private SaveProperty(), which moved away its saved properties
993 when MoveToElement was called repeatedly.
994 * XmlTextWriter.cs : fixed WriteQualifiedName() to close start tag.
996 WriteAttributes() refactory (for XMLDecl).
997 WriteNode() don't Read() when the reader is Initial state, let other
998 invokation to Read(). In case of Element, it should write entire
999 element. In case of Attribute, it shouldn't Read().
1000 WriteStartDocument() should omit standalone decl. when there is no
1003 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1005 * XmlReader.cs: reverted last patch. It breaks System.Configuration
1006 because 1. it considers XmlDeclaration as content and 2. always
1007 returns XmlNodeType.None.
1010 2003-04-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1012 * Added missing ChangeLog of 4/4/2003.
1013 * XmlTextWriter.cs : patch by Erik. fixed WriteQualifiedName.
1014 (write prefix instead of ns.)
1015 * XmlInputStream.cs : file access mode fix (FileAccess.Read was missing)
1016 * XmlTextReader.cs : modified to call Read() instead of ReadContent().
1017 (It may be required for decorated reader such as XmlValidatingReader.)
1018 Changed Read() error message for mismatch end tag.
1019 * XmlDocument.cs : (ReadNode) friendly message for mismatch EndElement.
1020 * XmlReader.cs : Corrected misinterpreted MoveToContent() method.
1022 2003-04-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1024 * XmlDocument.cs : Load() now closes the given XmlReader.
1025 Don't allow creation of XmlTextReader for Doctype. (workaround.)
1026 * XmlInputStream.cs : It now closes its internal stream explicitly.
1027 * XmlNode.cs : RemoveChild() bugfix for removing LastLinkedChild.
1028 * XmlNodeReader.cs : GetAttribute() bugfix for not-present attribute.
1029 * XmlParserInput.cs : added Close() method.
1030 * XmlReader.cs : MoveToContent() should (1) not Read in case of empty
1031 element, and (2) MoveToElement() in case of attribute.
1032 * XmlTextReader.cs : Close() now actually closes source TextReaders.
1034 2003-03-26 Duncan Mak <duncan@ximian.com>
1036 * XmlTextWriter.cs (Write): A patch from Atsushi to fix
1037 prematurely ending the write, or something like that. It was
1038 causing us to chop off the end of the document when we're trying
1039 to generate XML Schemas.
1041 2003-03-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1043 * XmlTextReader.cs : implemented ReadString().
1044 fixed ctor(string, XmlNodeType, XmlParserContext) - don't raise
1045 null reference exception when context is null.
1046 * XmlNodeReader.cs : fixed ReadString() - should ignore attributes etc.
1047 fixed Read() - when positioned at EndElement, it didn't progress.
1048 fixed HasAttribute - it didn't return false in all cases.
1049 fixed Name and LocalName - only limited type of nodes return names.
1050 fixed AttributeCount - in some cases it threw null ref exception.
1052 2003-03-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1054 * XmlTextWriter.cs : WriteStartDocument doesn't set hasRoot=true, then
1055 WriteEndDocument without root element now raises an error correctly.
1056 * XmlDocumentNavigator.cs : (MoveToFirstChild) fixed bugzilla #36672.
1057 implemented BaseURI, NameTable, XmlLang, GetAttributes, GetNamespace,
1060 2003-03-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1062 * XmlElement.cs : RemoveAttribute now don't throws when specified
1063 attribute does not exist.
1065 2003-03-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1067 * XmlNode.cs : add descriptions for some node type error.
1069 2003-03-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1071 * XmlNodeArrayList.cs, XmlNodeListChildren.cs : bugzilla #39920 fix.
1073 2003-03-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1075 * XmlDeclaration.cs : quick fix, not to use regex for set_Value.
1077 2003-03-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1079 * XmlTextReader.cs : Fixed wrong notationdecl SYSTEM id read.
1080 * XmlInputStream.cs : Should allow versionless input stream entity.
1082 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1084 * added XmlParserInput.cs for multi xml document sources.
1085 * added DTDObjectModel.cs (maybe temporary).
1086 * XmlTextReader.cs :
1087 + fixed ctor to use XmlStreamReader. Allowed null XmlParserContext.
1088 + Some members such as LineNumber, ReadChar now uses XmlParserInput.
1089 + added support for Namespaces (namespace-ignorant parse available).
1090 + added support for XmlResolver.
1091 + replace SetReaderContext()/SetReaderFragment() with Initialize().
1092 + use NameTable in CreateNameString.
1093 + fixed ReadCData(). Now reads "]]]>" correctly.
1094 + support for DTD parse.
1095 + Read() now throws an error when it reached EOF while Depth > 0.
1097 XmlDocumentFragment.cs,
1098 XmlElement.cs : fix related to the changes of XmlTextReader.Initialize
1099 * XmlDocument.cs : ReadNode() now reads DocumentType.
1100 * XmlDocumentType.cs : implemented Entities, Notations, WriteTo().
1102 XmlNotation.cs : added override LastLinkedChild (for doctype node).
1103 * XmlNamedNodeMap.cs : Remove() raises an error if target is read only.
1104 * XmlElement.cs : bugfix for node removal of set_InnerXml.
1105 * XmlNode.cs : added insertBeforeIntern() derived from InsertBefore().
1106 (to append child XmlEntity into XmlDocumentType correctly.)
1107 * XmlInputStream.cs : fixed to access file with FileAccess.Read.
1109 2003-03-15 Duncan Mak <duncan@ximian.com>
1111 * XmlElement.cs (Name): Only append prefix + ':' when prefix is
1112 neither String.Empty nor null. Thanks to Simon Guindon for
1113 reporting the bug and Jackson for fixing this bug with me.
1115 2003-03-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1117 * XmlConstructs.cs : fix "int IsXXX()" to reject negative value.
1118 * XmlDocument.cs : simplify Load(string url) to use XmlTextReader.
1119 fixed ReadNode(), it should call reader.Read() only on Initial state.
1120 * XmlInputStream.cs : Changed namespace. Added XmlStreamReader(stream)
1121 and XmlStreamReader (string). Fixed XmlInputStream(url) not to use
1122 System.Net.WebClient directly.
1123 * XmlParserContext.cs : baseURI never be null.
1124 * XmlTextWriter.cs : use WebName for Encoding instead of HeaderName.
1125 * XmlUrlResolver.cs : namespace change for XmlInputStream.
1127 2003-03-12 Elan Feingold <efeingold@mn.rr.com>
1129 * XmlTextReader.cs: When throwing a ReaderException, show what
1130 character was the culprit
1132 2003-03-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1134 * XmlDocumentFragment.cs, XmlElement.cs :
1135 modified InnerXml (fragment type from Element to DocumentFragment).
1137 * XmlElement.cs : fixed WriteTo() ns check.
1138 * XmlNamespaceManager.cs : MS.NET allows Add() used two or more times.
1139 * XmlNode.cs : fixed ConstructNamespaceManager().
1141 * XmlConstructs.cs : added IsSpace, IsName, IsNameStart, IsNCName,
1142 IsPubid with an int arg.
1143 * XmlReader.cs : changed to use XmlChar.cs (its role is as same as
1145 * XmlTextReader.cs :
1146 improved error messages with line info.
1147 / checking matching start and end tags.
1148 / prevents the apperance of multiple root elements. (patch by Erik)
1149 fixed and refactored ReadInnerXml() and ReadOuterXml()
1150 changed to use XmlChar.cs.
1152 * XmlTextWriter.cs : changed to put element's xmlns at CloseStartTag ()
1153 (It will help c14n implementation.)
1154 / blocks multiple attribute output with element node.
1156 2003-02-28 Alan Tam <Tam@SiuLung.com>
1158 * XmlConvert.cs: fixed the most ToXXX(string) and ToString(XXX)
1159 methods to make them compatible with the XML Schema Spec from W3C
1160 ToString(TimeSpan) is still outstanding
1162 2003-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1165 (Load (string)): hack to workaround some issues with Uri.Parse. Once
1166 Parse is fixed, remove the hack.
1168 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1170 * XmlQualifiedName.cs : fixed GetHashCode() to avoid null reference
1171 * XmlTextReader.cs : fixed ReadAttributeValue() to handle
1172 entity reference, and some refactory.
1174 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1176 * XmlUrlResolver.cs : WebClient.Credentials was not implemented yet.
1178 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1180 * XmlInputStream.cs : added (also contains internal XmlStreamReader).
1181 * XmlDocument.cs : Load () now can specify URL using XmlUrlResolver,
1182 and can read non-UTF-8 stream.
1183 * XmlTextReader.cs : related to above stream fix.
1184 * XmlUrlResolver.cs : implemented GetEntity ().
1186 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1188 * XmlTextWriter.cs: implemented WriteRaw (char[], int, int).
1190 2003-02-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1192 * XmlTextReader.cs : implemented QuoteChar.
1194 2003-01-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1196 * XmlNode.cs : implemented ReplaceChild.
1197 removed DocElem checking at InsertBefore.
1198 * XmlNodeReader.cs : fixed ReadString and Read for correct node info.
1199 * XmlText.cs : implemented CloneNode and SplitText.
1201 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1203 * XmlCharacterData.cs: added XPathNodeType property.
1205 2003-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1207 * XmlTextWriter.cs: throw an exception if WriteEndDocument is
1208 called without a prior call to WriteStartDocument.
1210 2003-01-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1212 * XmlNodeReader.cs : several fix to get more compatible with MS.NET.
1214 2003-01-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1216 * XmlNamespaceManager.cs : fundamental change of LookupPrefix to return
1217 null when no matching uri.
1218 * XmlElement.cs : removed unnecessary xmlns output.
1219 * XmlNode.cs : GetPrefixOfNamespace fix along with the change above.
1220 * XmlTextWriter.cs : LookupPrefix and WriteStartElementInternal fix
1221 along with the change above, and moved timing of 'xmlns' output
1222 to CloseStartElement.
1223 * XmlWriter.cs: modified WriteStartAttribute, same as yesterday.
1225 2003-01-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1227 * XmlWriter.cs: modified WriteStartElement (see test for detail).
1230 2003-01-13 Ville Palo <vi64pa@koti.soon.fi>
1232 * XmlDocument.cs: Added CheckName () method to check names validity.
1234 2003-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1237 (ReadOuterXml): use Depth property which return elementDepth, not depth.
1239 2003-01-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1241 * XmlElement.cs : (by ville) XmlElement.set_InnerText event bugfix.
1242 * XmlTextReader.cs : some fix for ReadOuterXml().
1244 2003-01-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1246 * XmlTextReader.cs : bugfix for attributes related to creation of
1247 XmlAttribute *node*.
1249 2003-01-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1251 * XmlTextReader.cs : bugfix for attribute values which have entity
1254 2002-12-28 Ville Palo <vi64pa@koti.soon.fi>
1256 * XmlDocument.cs: XmlTextWriter.Formatting == Indented when
1257 calling Save () -methods.
1259 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1261 * XmlNodeReader.cs : primitive reading implementation.
1263 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1265 * XmlElement.cs : quick fix for the incomplete patch of #35308 below.
1267 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1269 * XmlDocument.cs : removed inconsistent line-feed output.
1270 * XmlElement.cs, XmlTextWriter.cs :
1271 fixed for bugzilla 35308 (default ns output)
1272 * XmlWhitespace.cs : limited output only when preserving whitespace.
1274 2002-12-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1276 * XmlAttribute.cs, XmlDocument.cs, XmlTextReader.cs:
1277 Implemented XmlTextReader.ReadAttributeValue().
1278 Added internal ReadAttributeNodeValue().
1279 Fixed XmlAttribute.InnerXml to use these methods.
1281 * XmlDocument.cs, XmlDocumentFragment.cs, XmlElement.cs, XmlNode.cs:
1282 Implemented XmlDocument.ReadNode() and removed ConstructDOM().
1283 Other changes are replacing them.
1285 2002-12-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1287 * XmlDocument.cs: patch by Ville (fixed default PreserveWhitespace)
1289 2002-12-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1291 * XmlElement.cs, XmlTextWriter.cs, XmlWriter.cs:
1292 patch by JD Conley <jconley@winfessor.com>.
1293 (Fix for xmlns attribute output.)
1295 2002-12-05 Ville Palo <vi64p@koti.soon.fi>
1297 * XmlQualifiedName.cs: Little fix to ToString () -method
1299 2002-12-04 Tim Haynes <thaynes@openlinksw.com>
1301 * class/System.XML/System.Xml/XmlElement.cs: Made more refined
1302 checks on attributeNode to fix 32262.
1304 2002-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1306 * XmlDocument.cs (CreateNavigator(XmlNode)) : reverted
1307 * XmlTextWriter.cs (WriteStartElementInternal):
1308 fixed when default namespace was specified, all descendants
1309 fail to omit the default namespace declarations.
1312 XmlNode.cs (internal XmlLang/XmlSpace) : implemented(defined)
1314 XmlDocumentFragment.cs,
1315 XmlElement.cs (set_InnerXml): now uses XmlLang/XmlSpace
1316 * XmlElement.cs (set_IsEmpty) : implemented
1317 (WriteTo) : removed my improper indenting (Writer already done)
1318 * XmlNode.cs (BaseURI) : fixed if ParentNode is null, NullPointerEx
1319 (ConstructDOM) : implemented when xmlReader isn't XmlTextReader
1320 ...and renamed XmlDocument.ConventionalParser to ReusableReader ;-)
1322 2002-12-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1324 * XmlNode.cs (RemoveChild):
1325 bugfixed when XmlNode is Document OwnerDocument is null
1326 * XmlDeclaration.cs (Value):
1327 bugfixed regular expression pattern.
1328 * XmlDocument.cs (CreateNavigator): bugfixed access modifier.
1330 2002-11-24 Duncan Mak <duncan@ximian.com>
1332 * XmlImplementation.cs (HasFeature): Fixed a typo. Thanks for
1333 Fabricio Barros Cabral (fx) on #mono for spotting it. This is his
1334 first patch to Mono! ;-)
1336 2002-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1339 (AppendChild): readded refChild != null condition before throwing
1340 "cannot insert this node in this position" exception. There's probably
1341 a better solution. Fixes #34191.
1342 (RemoveAll): changed following Atsushi instructions.
1345 2002-11-13 Duncan Mak <duncan@ximian.com>
1347 * XmlElement.cs (IsEmpty): A temporary check-in to keep gtk-sharp
1350 2002-11-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1352 * XmlDocument.cs : unified all constructors, added ConventionalParser,
1353 implemented CloneNode() and CreateEntityReference(),
1354 * XmlEntityReference.cs : set_Value, WriteContentTo, WriteTo
1355 set BaseURI to MonoTODO
1356 * XmlNode.cs : implemented PrependChild, modified ConstructDOM,
1357 bugfix InsertAfter (incorrect prepending) and InsertBefore
1358 (more than one DocumentElements hadn't caused errors)
1359 * XmlTextReader.cs : unified all constructors,
1360 added internal SetReaderContext(), SetReaderFragment()
1361 bugfix (syntax check of PUBLIC / getting internal subset)
1363 2002-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1365 XmlAttribute.cs : set_InnerText, set_InnerXml, some check for set_Prefix
1366 XmlAttributeCollection.cs : (indexer) this[localName, namespaceURI]
1367 XmlCharacterData.cs : exchanged Data and Value
1368 (for processing events and inheritance)
1369 XmlDocumentFragment.cs : set_InnerXml
1370 XmlSignificantWhitespace.cs : set_Value
1371 XmlTextReader.cs : ReadAttributeValue
1373 2002-11-04 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1375 XmlAttribute.cs: fixed missing internal 'OwnerElement''SetOwnerElement'
1377 2002-11-03 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1379 * XmlAttributeCollection.cs : checks owner element.
1380 implemented CopyTo, InsertAfter, InsertBefore, Prepend,
1381 Remove, RemoveAt, SetNamedItem.
1382 removed some logics that sets 'Parent' (that should be null)
1383 * XmlDocument.cs : set_InnerXml, [PreserveWhitespace(incomplete)]
1384 * XmlDocumentFragment.cs : get_InnerXml, WriteContentTo, WriteTo
1385 * XmlElement.cs : implemented WriteTo, set_InnerText.
1386 Fixed WriteTo() to add xmlns:* attributes when
1387 writer.LookupPrefix() returned mismatching.
1388 * XmlNamedNodeMap.cs : compare not only name but localname and nsuri.
1389 Removing different prefixes for the same uri now runs correct.
1390 added SetNamedItem(XmlNode node, int position_to_insert).
1391 * XmlNode.cs : ConstructDOM (logically) creates XmlEntityReference,
1392 XmlWhitespace, and XmlSignificantWhitespace
1394 2002-10-31 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1396 * XmlDocument.cs : implemented CreateDocumentFragment()
1397 * XmlElement.cs, XmlLinkedNode.cs :
1398 moved LastLinkedChild from XmlElement to XmlLinkedNode.
1399 * XmlEntityReference.cs : must throw NotImplementedException.
1401 + implemented InsertBefore() and then implemented InsertAfter()
1402 and modified AppendChild() to call it.
1403 + added logic to check ReadOnly, parent document equivalence,
1404 and inserting any 'content' before/after DocumentElement.
1405 + implemented Clone() [it is equals to CloneNode() by MS doc.]
1406 + added logic in RemoveChild() to check parent of oldChild.
1407 + fixed ConstructNamespaceManager() to internal only.
1409 2002-10-29 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1411 * XmlAttribute.cs : add internal 'IsDefault' property
1412 (equals to !Specified)
1413 * XmlImplementation.cs : added 'internalNameTable' property.
1415 + now allows "" for 'standalone' in CreateXmlDeclaration.
1416 + implemented 'Implementation' property and constructor with it.
1417 + added logic for appending name table (but still no use)
1418 + implemented property 'DocumentType'
1419 (but without internalSubset parsing. wait for next update.)
1421 + modified AppendChild() and RemoveChild() to support fragment.
1422 + modified AppendChild() to remove newChild from its parent
1423 when newChild is already in the other place.
1424 + modified RemoveChild() to set parentNode null.
1425 + modified ConstructDOM() to create DocumentType,
1426 and fixed access modifier ('internal protected' to 'internal')
1427 * XmlLinkedNode.cs : fixed 'NextSibling' to return null
1428 when its parent is null.
1429 * XmlDocumentFragment.cs : added internal override 'LastLinkedChild'
1430 property to enable AppendChild() for this class.
1431 * XmlTextReader.cs : appended private publicId and systemId fields.
1433 2002-10-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1435 * XmlTextReader.cs: make it work when the underlying Stream is not
1438 2002-10-26 Piers Haken <piersh@friskit.com>
1440 * XmlNode.cs: add virtual property XPathNodeType
1445 * XmlProcessingInstruction.cs:
1446 * XmlSignificantWhitespace.cs:
1448 * XmlWhitespace.cs: implement XPathNodeType property
1449 * XmlDocumentNavigator.cs: use XPathNodeType property instead of switch
1451 2002-10-26 Piers Haken <piersh@friskit.com>
1453 * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
1455 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1457 * XmlTextReader.cs: don't increment depth for entity references.
1459 2002-10-22 Tim Haynes <thaynes@openlinksw.com>
1461 * - Fixed the duplication of xmlns:xx = yy when serializing the
1462 XML for serialization
1464 Fixed the unnecessary parsing/serializing when adding assemblies
1467 Avoided setting the XmlNode.InnerXml property
1468 (as it's not implemented)
1470 Fixed the usage/implementation of
1471 XmlElement.GetElementsByTagName()
1473 2002-10-21 Duncan Mak <duncan@ximian.com>
1478 * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
1479 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
1481 2002-10-18 Duncan Mak <duncan@ximian.com>
1483 * XmlDocument.cs: Applied a patch by Atsushi Enomoto
1484 <ginga@kit.hi-ho.ne.jp>.
1486 2002-10-12 A.Enomoto <ginga@kit.hi-ho.ne.jp>
1488 * XmlDocument.cs (ImportNode): Implemented
1490 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1492 * XmlDocument.cs: one more Load method implemented.
1493 * XmlTextReader.cs: Depth now works.
1495 2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1497 * XmlConvert.cs: IsInvalid is now internal.
1498 * XmlNamespaceManager.cs: implemented RemoveNamespace
1499 * XmlTextReader.cs: return BaseURI and Encoding from the parser.
1500 * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
1502 2002-09-19 Matt Hunter <mahunter@tconl.com>
1504 * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
1505 * XmlAttributeCollection.cs: Implemented Append (XmlAttribute)
1507 2002-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1509 * XmlConvert.cs: finished implementation.
1510 * XmlTextReader.cs: fixed #30239.
1511 * XmlTextWriter.cs: fixed #30240.
1513 2002-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1515 * XmlTextReader.cs: line and position begin with 1.
1517 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1519 * XmlException.cs: added a new internal constructor for IXmlLineInfo
1520 and output line and position info in Message.
1522 * XmlReader.cs: implemented missing bits.
1524 2002-09-12 Piers Haken <piersh@friksit.com>
1526 * XmlDocumentNavigator.cs: implement MoveToId()
1528 2002-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1530 * XmlTextWriter.cs: fixed bug #29886.
1532 2002-08-26 Ravi Pratap <ravi@ximian.com>
1535 * XmlAttribute.cs (InnerText): Implement getting this property.
1537 * XmlNode.cs (InnerText): Ensure that we append only values of
1540 2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1542 * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
1543 that allowed compiling this.
1544 [ FIXME: filed bug #29435. mcs should have failed on this ]
1546 2002-08-25 Tim Coleman <tim@timcoleman.com>
1548 Change CreateNavigator to not be virtual.
1550 Add set_Prefix and InnerText accessors.
1551 * XmlEntityReference.cs:
1552 Add set_Value accessor.
1554 Make objects which should be private private.
1556 Remove WriteStartElementInternal abstract definition.
1557 * XmlValidatingReader.cs:
1560 2002-08-22 Jason Diamond <jason@injektilo.org>
1562 * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
1563 and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
1565 2002-08-22 Jason Diamond <jason@injektilo.org>
1567 * XmlElement.cs: Correction to previous GetElementsByTagName patch
1568 courtesy of Matt Hunter <xrkune@tconl.com>.
1570 2002-08-22 Jason Diamond <jason@injektilo.org>
1572 * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
1573 qualified GetElementsByTagName courtesy of Matt Hunter
1576 2002-08-19 Jason Diamond <jason@injektilo.org>
1578 * XmlDocument.cs, XmlElement.cs: Added implementation of
1579 GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
1581 2002-08-16 Jason Diamond <jason@injektilo.org>
1583 * XmlElement.cs: Fixed writing out qualified elements courtesy of
1584 Marcus Bürgel <marcus.buergel@gmx.de>.
1586 2002-08-13 Tim Coleman <tim@timcoleman.com>
1588 Partial implementation of WriteQualifiedName ().
1590 2002-08-07 Kral Ferch <kral_ferch@hotmail.com>
1591 * XmlCharacterData.cs: Implemented AppendData(), DeleteData(),
1592 InsertData(), and ReplaceData(). These methods fire the
1593 NodeChanging and NodeChanged events.
1595 * XmlDocument.cs: Fixed bugs in onNodeChanged() and onNodeChanging().
1597 * XmlNode.cs: AppendChild() fires NodeInserting and NodeInserted events.
1598 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
1600 2002-08-03 Tim Coleman <tim@timcoleman.com>
1601 * XmlNamespaceManager.cs:
1602 .Net allows the empty namespace to be redefined
1603 at a later point, but the current implementation
1604 did not. This fixes a hashtable conflict.
1606 2002-07-26 Tim Coleman <tim@timcoleman.com>
1608 When given a textwriter, check to see if it has a
1609 null encoding. This was being done for other inputs
1612 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1614 * XmlTextReader.cs: rough line/column support.
1616 2002-07-23 Duncan Mak <duncan@ximian.com>
1618 * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
1619 (string, string []) is particularly strange.
1621 * XmlException.cs: Remember to call the base serialization
1624 * XmlNodeReader.cs: Keep a new variable to store the Depth.
1626 2002-07-14 Jason Diamond <jason@injektilo.org>
1628 * XmlAttribute.cs: Removed ownerElement field since we can reuse
1631 * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
1632 if the current node is an attribute.
1634 * XmlElement.cs: SetAttributeNode now sets the new attribute's
1637 2002-07-12 Jason Diamond <jason@injektilo.org>
1639 * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
1640 creating an element, use String.Empty instead.
1642 2002-07-12 Piers Haken <piersh@friksit.com>
1644 * XmlAttributeCollection.cs: implement some ItemOf indexers
1645 * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
1646 * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
1648 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
1651 2002-10-26 Piers Haken <piersh@friskit.com>
1653 * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
1655 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1657 * XmlTextReader.cs: don't increment depth for entity references.
1659 2002-10-22 Tim Haynes <thaynes@openlinksw.com>
1661 * - Fixed the duplication of xmlns:xx = yy when serializing the
1662 XML for serialization
1664 Fixed the unnecessary parsing/serializing when adding assemblies
1667 Avoided setting the XmlNode.InnerXml property
1668 (as it's not implemented)
1670 Fixed the usage/implementation of
1671 XmlElement.GetElementsByTagName()
1673 2002-10-21 Duncan Mak <duncan@ximian.com>
1678 * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
1679 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
1681 2002-10-18 Duncan Mak <duncan@ximian.com>
1683 * XmlDocument.cs: Applied a patch by Atsushi Enomoto
1684 <ginga@kit.hi-ho.ne.jp>.
1686 2002-10-12 A.Enomoto <ginga@kit.hi-ho.ne.jp>
1688 * XmlDocument.cs (ImportNode): Implemented
1690 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1692 * XmlDocument.cs: one more Load method implemented.
1693 * XmlTextReader.cs: Depth now works.
1695 2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1697 * XmlConvert.cs: IsInvalid is now internal.
1698 * XmlNamespaceManager.cs: implemented RemoveNamespace
1699 * XmlTextReader.cs: return BaseURI and Encoding from the parser.
1700 * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
1702 2002-09-19 Matt Hunter <mahunter@tconl.com>
1704 * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
1705 * XmlAttributeCollection.cs: Implemented Append (XmlAttribute)
1707 2002-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1709 * XmlConvert.cs: finished implementation.
1710 * XmlTextReader.cs: fixed #30239.
1711 * XmlTextWriter.cs: fixed #30240.
1713 2002-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1715 * XmlTextReader.cs: line and position begin with 1.
1717 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1719 * XmlException.cs: added a new internal constructor for IXmlLineInfo
1720 and output line and position info in Message.
1722 * XmlReader.cs: implemented missing bits.
1724 2002-09-12 Piers Haken <piersh@friksit.com>
1726 * XmlDocumentNavigator.cs: implement MoveToId()
1728 2002-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1730 * XmlTextWriter.cs: fixed bug #29886.
1732 2002-08-26 Ravi Pratap <ravi@ximian.com>
1735 * XmlAttribute.cs (InnerText): Implement getting this property.
1737 * XmlNode.cs (InnerText): Ensure that we append only values of
1740 2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1742 * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
1743 that allowed compiling this.
1744 [ FIXME: filed bug #29435. mcs should have failed on this ]
1746 2002-08-25 Tim Coleman <tim@timcoleman.com>
1748 Change CreateNavigator to not be virtual.
1750 Add set_Prefix and InnerText accessors.
1751 * XmlEntityReference.cs:
1752 Add set_Value accessor.
1754 Make objects which should be private private.
1756 Remove WriteStartElementInternal abstract definition.
1757 * XmlValidatingReader.cs:
1760 2002-08-22 Jason Diamond <jason@injektilo.org>
1762 * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
1763 and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
1765 2002-08-22 Jason Diamond <jason@injektilo.org>
1767 * XmlElement.cs: Correction to previous GetElementsByTagName patch
1768 courtesy of Matt Hunter <xrkune@tconl.com>.
1770 2002-08-22 Jason Diamond <jason@injektilo.org>
1772 * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
1773 qualified GetElementsByTagName courtesy of Matt Hunter
1776 2002-08-19 Jason Diamond <jason@injektilo.org>
1778 * XmlDocument.cs, XmlElement.cs: Added implementation of
1779 GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
1781 2002-08-16 Jason Diamond <jason@injektilo.org>
1783 * XmlElement.cs: Fixed writing out qualified elements courtesy of
1784 Marcus Bürgel <marcus.buergel@gmx.de>.
1786 2002-08-13 Tim Coleman <tim@timcoleman.com>
1788 Partial implementation of WriteQualifiedName ().
1790 2002-08-07 Kral Ferch <kral_ferch@hotmail.com>
1791 * XmlCharacterData.cs: Implemented AppendData(), DeleteData(),
1792 InsertData(), and ReplaceData(). These methods fire the
1793 NodeChanging and NodeChanged events.
1795 * XmlDocument.cs: Fixed bugs in onNodeChanged() and onNodeChanging().
1797 * XmlNode.cs: AppendChild() fires NodeInserting and NodeInserted events.
1798 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
1800 2002-08-03 Tim Coleman <tim@timcoleman.com>
1801 * XmlNamespaceManager.cs:
1802 .Net allows the empty namespace to be redefined
1803 at a later point, but the current implementation
1804 did not. This fixes a hashtable conflict.
1806 2002-07-26 Tim Coleman <tim@timcoleman.com>
1808 When given a textwriter, check to see if it has a
1809 null encoding. This was being done for other inputs
1812 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1814 * XmlTextReader.cs: rough line/column support.
1816 2002-07-23 Duncan Mak <duncan@ximian.com>
1818 * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
1819 (string, string []) is particularly strange.
1821 * XmlException.cs: Remember to call the base serialization
1824 * XmlNodeReader.cs: Keep a new variable to store the Depth.
1826 2002-07-14 Jason Diamond <jason@injektilo.org>
1828 * XmlAttribute.cs: Removed ownerElement field since we can reuse
1831 * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
1832 if the current node is an attribute.
1834 * XmlElement.cs: SetAttributeNode now sets the new attribute's
1837 2002-07-12 Jason Diamond <jason@injektilo.org>
1839 * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
1840 creating an element, use String.Empty instead.
1842 2002-07-12 Piers Haken <piersh@friksit.com>
1844 * XmlAttributeCollection.cs: implement some ItemOf indexers
1845 * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
1846 * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
1848 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
1850 * XmlTextWriter: Fixed Indentation. IndentationOverridden should
1851 not be set when inside a attribute.
1853 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
1855 * XmlTextWriter: In WriteStartElement, if namespace is null and
1856 prefix is null|empty do not write out xmlns=""
1858 * XmlWriter: WriteStartElement calls the virtual method with null
1859 argument instead of empty string.
1861 2002-07-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1863 * XmlTextReader.cs: implemented .ctor (Stream).
1865 2002-06-26 Duncan Mak <duncan@ximian.com>
1867 * XmlNodeReader.cs: Implementation of most of the properties, and
1868 some of the related methods.
1870 2002-06-23 Piers Haken <piersh@friskit.com>
1872 * XmlDocumentNavigator.cs: implement Clone()
1873 * XmlElement.cs: remove bogus unimplemented override of InnerText
1874 * XmlNode.cs: implment SelectNodes/SelectSingleNode
1875 * XmlNodeArrayList.cs: new support class for SelectNodes
1877 2002-06-21 Ajay kumar Dwivedi <adwiv@yahoo.com>
1879 * XmlQualifiedName: Name and Namespaces are never null. If null is passed
1880 to the constructor, set them to empty strings.
1881 Fixed the Operators.
1883 2002-06-18 Ajay kumar Dwivedi <adwiv@yahoo.com>
1885 * XmlTextReader.cs: HasLineInfo returns false instead of throwing an
1888 2002-06-14 Duncan Mak <duncan@ximian.com>
1890 * XmlConvert.cs: Added CLSCompliant attributes to methods.
1892 2002-06-12 Duncan Mak <duncan@ximian.com>
1894 * XmlCharacterData.cs (Value): Throw an ArgumentException in the
1895 set block if the node is read-only.
1897 2002-06-10 Ajay kumar Dwivedi <adwiv@yahoo.com>
1898 * XmlConstruct.cs : New Internal class with Helper methods for
1899 Checking XmlConstructs
1900 * XmlConvert.cs: Implemented most of the methods
1902 2002-06-08 Duncan Mak <duncan@ximian.com>
1904 * XmlDocument.cs (Load):
1905 Added bits to Load (string) for BaseURI support.
1907 * XmlAttribute.cs (BaseURI):
1908 * XmlDocument.cs (BaseURI):
1909 * XmlEntity.cs (BaseURI): Implemented.
1911 2002-05-27 Jason Diamond <jason@injektilo.org>
1913 * XmlDocumentNavigator.cs: Added file to directory.
1915 * XmlNode.cs (CreateNavigator): Implemented.
1916 (InnerText): Implemented.
1918 * XmlDocument.cs (NamespaceURI, Prefix): Return String.Empty instead of
1920 (Load(XmlReader)): Allow for namespace qualified attributes.
1922 * XmlElement.cs: Implemented GetAttribute(string, string) and both
1923 GetAttributeNode overloads.
1924 (SetAttributeNode(XmlAttribute)): Implemented.
1926 * XmlNamedNodeMap.cs: Fixed copy/paste bugs in GetNamedItem(string, string)
1927 and RemoveNamedItem(string, string).
1929 * XmlLinkedNode.cs (PreviousSibling): Implemented.
1931 * XmlTextReader.cs: Added code to maintain the order of attributes as
1932 they're parsed. XML doesn't require this but Microsoft's parser does it and
1933 matching them makes testing easier so now we have it, too.
1935 2002-05-26 Miguel de Icaza <miguel@ximian.com>
1937 * XmlDocument.cs: Implement the Save methods.
1939 2002-05-08 Mike Kestner <mkestner@speakeasy.net>
1941 * XmlNamedNodeMap.cs (SetNamedItem): Fixed a copy/paste bug.
1943 2002-04-28 Duncan Mak <duncan@ximian.com>
1945 * XmlSignificantWhitespace.cs (Value):
1946 * XmlWhitespace.cs (Value): Added MonoTODO to the 'set'
1947 block. Added new private method, IsValidWhitespaceChar, for
1950 2002-04-16 Duncan Mak <duncan@ximian.com>
1952 * XmlParserContext.cs (NameTable): Fixed a typo in the set block.
1954 2002-04-12 Duncan Mak <duncan@ximian.com>
1956 * XmlAttribute.cs (Prefix): Added preliminary code for set block,
1957 added comment on work that needs to be done here. A new MonoTODO item.
1959 * XmlDocument.cs (ctor): Corrected constructor signature, changed
1960 parameter from 'NameTable' to 'XmlNameTable'.
1962 * XmlDocumentFragment.cs (InnerXml): Added missing set block.
1964 * XmlCaseOrder.cs: Moved to System.Xml.XPath.
1966 2002-04-10 Duncan Mak <duncan@ximian.com>
1968 * XmlNodeReader.cs: Initial stubs for the class.
1970 2002-04-08 Kral Ferch <kral_ferch@hotmail.com>
1972 * XmlAttributes.cs: InnerXml getter, WriteContentTo, and WriteTo
1975 * XmlDeclaration.cs: WriteTo implementation.
1977 * XmlDocument.cs: InnerXml getter implementation.
1979 * XmlElement.cs: InnerXml getter implementation.
1981 * XmlNode.cs: Removed MonoTODO attrib on OuterXml.
1983 * XmlSignificantWhitespace.cs: WriteTo implementation.
1985 * XmlText.cs: WriteContentTo and WriteTo implementation.
1987 * XmlTextWriter.cs: WriteRaw implementation.
1989 * XmlWhitespace.cs: WriteContentTo and WriteTo implementations.
1991 2002-04-05 Kral Ferch <kral_ferch@hotmail.com>
1993 * XmlAttributes.cs: Added reminder MonoTODO to set NamespaceURI
1994 if prefix in constructor is one of the default ones.
1996 * XmlCharacterData.cs: Returns String.Empty for Value and Data
1997 even when constructed with null.
1999 * XmlDeclaration.cs: Value doesn't put encoding or standalone
2000 in if they are empty.
2002 * XmlDocument.cs: Implemented CreateNode methods and this caused
2003 the changes in the other files in this checkin.
2005 * XmlProcessingInstruction.cs: Returns String.Empty for Value and Data
2006 even when constructed with null.
2008 * XmlWhitespace.cs: Changed Value 'get' to return Data.
2010 2002-04-01 Kral Ferch <kral_ferch@hotmail.com>
2012 * XmlTextWriter.cs: Impls for WriteEndDocument and WriteFullEndElement.
2014 2002-03-31 Kral Ferch <kral_ferch@hotmail.com>
2016 * XmlTextWriter.cs: Impls for LookupPrefix, WriteBase64,
2017 and WriteCharEntity.
2019 * XmlWrite.cs: Fixed bug where attribute namespace decl
2020 was pushing a scope onto the namespace manager when it shouldn't
2023 2002-03-31 Kral Ferch <kral_ferch@hotmail.com>
2025 * XmlTextWriter.cs: Some tweaks for WriteAttibuteString
2026 in different states (no open start element, in WriteState.Content mode).
2028 2002-03-29 Kral Ferch <kral_ferch@hotmail.com>
2030 * XmlTextWriter.cs: XmlLang and XmlSpace properties
2031 and WriteWhitespace.
2033 * XmlTextWriterOpenElement.cs: scope support for XmlLang
2036 2002-03-29 Kral Ferch <kral_ferch@hotmail.com>
2038 * XmlTextWriter.cs: Working on Attribute methods.
2040 * XmlWriter.cs: Working on Attribute methods.
2042 2002-03-28 Duncan Mak <duncan@ximian.com>
2044 * XmlDocument.cs (CreateWhitespace):
2045 (CreateSignificantWhitespace): Removed extraneous call to the ToCharArray
2048 * XmlSignificantWhitespace.cs (Value): Removed MonoTODO attribute.
2050 2002-03-26 Duncan Mak <duncan@ximian.com>
2052 * XmlDocument.cs (CreateDocumentType): Implemented.
2054 * XmlNode.cs (Value): Implemented.
2056 * XmlProcessingInstruction.cs (InnerText): Implemented. It works just
2057 like XmlCharacterData.
2059 * XmlDeclaration.cs (CloneNode):
2060 * XmlDocument.cs (CreateXmlDeclaration): Added missing constructor
2063 * XmlCharacterData.cs (InnerText): Implemented. Funny that the
2064 docs say it is the "The concatenated values of the node and all
2065 the children of the node.". I wrote some test programs and
2066 couldn't get any of the derived nodes to AppendChild. For now,
2067 InnerText == Data == Value.
2068 (Substring): Fixed typo.
2070 * XmlDeclaration.cs (XmlDeclaration): Fixed the constructor parameter signature.
2072 * XmlImplementation.cs (CreateDocument): Implemented.
2074 2002-03-25 Duncan Mak <duncan@ximian.com>
2076 * XmlDeclaration.cs: Rewrote the class, fixed formatting, added
2077 missing properties (InnerText, Value).
2079 * XmlDocument.cs (CreateXmlDeclaration): Implemented.
2081 2002-03-23 Kral Ferch <kral_ferch@hotmail.com>
2083 * XmlTextWriter.cs: Impls for BaseStream and
2084 Namespaces and WriteState.
2086 * XmlWriter.cs: WriteState and WriteStartElementInternal.
2088 2002-03-23 Kral Ferch <kral_ferch@hotmail.com>
2090 * XmlNodeListChildren.cs: made class internal
2091 instead of public. Shouldn't be visible outside
2094 * XmlTextWriter.cs: Implementations for Formatting,
2095 IndentChar, Indenting, QuoteChar, WriteStartDocument(standalone).
2096 Suppresses encoding on xml declaration if null stream passed in.
2097 Formats output including suppressing indentation for elements in
2100 * XmlTextWriterOpenElement.cs: Initial checkin.
2101 XmlTextWriter uses stack of these objects to track
2104 2002-03-22 Mike Kestner <mkestner@speakeasy.net>
2106 * XmlElement.cs: impl HasAttribute(string name).
2108 2002-03-22 Duncan Mak <duncan@ximian.com>
2110 * XmlElement.cs: Reformatted.
2111 (CloneNode) Corrected.
2113 * XmlDocument.cs (CreateWhitespace):
2114 (CreateSignificantWhitespace): Implemented.
2116 * XmlAttribute.cs (CloneNode): Changed the child's CloneNode to
2117 true, because Attributes have ChildNodes.
2119 2002-03-21 Kral Ferch <kral_ferch@hotmail.com>
2121 * XmlTextWriter.cs: WriteStartDocument tracks state, writes out
2122 xml declaration along with encoding. WriteEndElement throws
2123 exception if no WriteStartElement exists.
2125 2002-03-20 Duncan Mak <duncan@ximian.com>
2127 * XmlEntityReference.cs (CloneNode): Implemented.
2129 * XmlException.cs (Message): Implemented. We need to cache the
2130 message string because SystemException doesn't expose 'message'
2133 * XmlText.cs (Value): Added in the missing Value property.
2135 2002-03-20 Duncan Mak <duncan@ximian.com>
2137 * XmlAttribute.cs (CloneNode): Implemented.
2139 * XmlDocumentFragment.cs (CloneNode): Implemented.
2141 * XmlElement.cs (CloneNode): Implemented.
2143 2002-03-19 Duncan Mak <duncan@ximian.com>
2145 * XmlNotation.cs: Added to CVS.
2147 * XmlAttribute.cs (CloneNode): First crack at the CloneNode method.
2149 * XmlCDataSection.cs (CloneNode): Implemented.
2151 * XmlDocumentFragment.cs: Reformatted and added the missing properties
2152 (InnerXml, OwnerDocument, ParentNode).
2153 (CloneNode): Implemented.
2155 * XmlSignificantWhitespace.cs (CloneNode): Implemented.
2156 (Value) Implemented the 'get' property.
2158 * XmlWhitespace.cs (Module): implemented.
2160 2002-03-19 Jason Diamond <jason@injektilo.org>
2162 * XmlDocument.cs: Fixed typo in Load that was duplicating the LocalName
2165 2002-03-18 Jason Diamond <jason@injektilo.org>
2167 * XmlTextReader.cs: Don't restore properties after reading last
2168 attribute on an element.
2170 * XmlDocument.cs: Move back to element after reading attributes
2171 so that IsEmptyElement test succeeds.
2173 2002-03-18 Kral Ferch <kral_ferch@hotmail.com>
2175 * XmlNamespaceManager.cs: Implemented LookupPrefix.
2177 * XmlTextWriter.cs: Implemented namespace and prefix support.
2179 2002-03-18 Kral Ferch <kral_ferch@hotmail.com>
2181 * XmlTextReader.cs: Restores properties after
2182 reading last attribute on an element.
2184 * XmlNode.cs: AppendChild sets the parent
2187 2002-03-17 Kral Ferch <kral_ferch@hotmail.com>
2189 * XmlCDataSection.cs: Formatting, Implementation for WriteTo.
2191 * XmlComment.cs: Implementations for WriteTo and WriteContentTo.
2193 * XmlElement.cs: Fixed bug in WriteTo.
2195 * XmlProcessingInstruction.cs: Formatting.
2197 * XmlTextWriter.cs: Implementations for Close, WriteCData, WriteComment,
2198 fixes for WriteEndElement, WriteProcessingInstruction.
2200 2002-03-17 Kral Ferch <kral_ferch@hotmail.com>
2202 * XmlDocument.cs: Implementations for WriteTo() and WriteContentTo(),
2203 had Load() add PIs to the document, moved onXXX methods to alphabetical
2206 * XmlElement.cs: Implementations for WriteTo() and WriteContentTo().
2208 * XmlNode.cs: Implementations for InnerXml Get and OuterXml.
2210 * XmlProcessingInstruction.cs: Implementations for WriteTo() and
2213 * XmlTextWriter.cs: Implementations for WriteEndElement,
2214 WriteProcessingInstruction, WriteStartElement, and WriteString.
2216 * XmlWriter.cs: Implemented WriteStartElement() methods.
2218 2002-03-15 Duncan Mak <duncan@ximian.com>
2220 * XmlEntity.cs: Added to CVS. Need to implement BaseURI and
2221 InnerText once I know what they do.
2223 * XmlDocumentType.cs (XmlDocumentType): Fix the constructor now
2224 that we can properly chain constructors.
2225 (CloneNode): implemented.
2226 (WriteContentTo): Removed MonoTODO attribute as this method has no
2227 effect in this class.
2229 * XmlProcessingInstruction.cs (Value): Added the missing Set
2231 (InnerText): Added in, but not implemented.
2233 2002-03-14 Kral Ferch <kral_ferch@hotmail.com>
2235 * XmlTextWriter.cs: implemented constructors and
2236 WriteCData and WriteComment.
2238 2002-03-14 Duncan Mak <duncan@ximian.com>
2240 * XmlDocument.cs: Moved the NodeChanged EventHandler to its own
2241 file, and updated the callbacks to reflect the change.
2242 (XmlDocument): Added the NameTable constructor.
2243 (NameTable): Also the NameTable property.
2245 * XmlNodeChangedEventHandler.cs: Added, replacing the version that
2246 was in XmlDocument.cs. It has two arguments now (object,
2247 EventArgs) , instead of one (object).
2249 2002-03-14 Kral Ferch <kral_ferch@hotmail.com>
2251 * XmlWriter.cs: Formatting.
2253 * XmlTextWriter.cs: Initial checkin.
2255 2002-03-14 Duncan Mak <duncan@ximian.com>
2257 * Validation.cs: Removed, replaced by ValidationType.cs.
2259 * ValidationType.cs: Added.
2261 2002-03-13 Duncan Mak <duncan@ximian.com>
2263 * XmlException.cs: Made it [Serializable], implemented good ol'
2264 GetObjectData, and the serialization constructor.
2266 * XmlNamedNodeMap.cs (SetNamedItem): Check for the Name property.
2267 (SetNamedItem): Reverted (added back in) the patch with the
2268 ReadOnly checks. "Don't doubt yourself, my son... you were right!"
2270 * XmlNamedNodeMap.cs (GetEnumerator): piggyback on the ArrayList implementation.
2271 (GetNamedItem (string, string)): implemented.
2272 (RemoveNamedItem): implemented.
2273 (SetNamedItem): implemented.
2275 2002-03-12 Kral Ferch <kral_ferch@hotmail.com>
2277 * XmlAttribute.cs: Moved a method from amongst properties down to
2278 it's alphabetical position in the methods section.
2280 * XmlNode.cs: Passes in 'this' to XmlNodeList constructor instead of
2281 last linked child. Set XmlNode base class to return false for IsReadOnly().
2282 Implemented GetEnumerator() and RemoveChild().
2284 * XmlNodeListChildren.cs: Now stores the parent instead of the last child.
2285 This is to support the behavior that the Enumerator doesn't become invalid
2286 when changes to the children occur. Flushed out rest of implementation for
2287 MoveNext, Current, and Reset.
2289 2002-03-12 Duncan Mak <duncan@ximian.com>
2291 * XmlCharacterData.cs: Reformatted the properties for better readability.
2293 * XmlLinkedNode.cs: Removed the awful boxy comments.
2295 * XmlNamedNodeMap.cs (Count):
2296 (Item): Implemented. Tests will be coming.
2298 * XmlEntityReference.cs:
2299 * XmlSignificantWhitespace.cs: Implemented these classes except for
2300 the Clone, WriteContentTo and WriteTo methods. Will have to
2301 investigate into these later.
2303 2002-03-11 Duncan Mak <duncan@ximian.com>
2305 * IHasXmlNode.cs: Added to CVS.
2307 2002-03-08 Jason Diamond <jason@injektilo.org>
2309 * XmlParserContext.cs: Added missing constructors and missing Encoding
2312 * XmlTextReader.cs: Start using the XmlParserContext class.
2314 2002-03-08 Jason Diamond <jason@injektilo.org>
2316 * XmlTextReader.cs: Implemented MoveToElement and MoveToFirstAttribute.
2318 2002-03-08 Mike Kestner <mkestner@speakeasy.net>
2320 * XmlNode.cs (Item): Implemented both indexers.
2322 2002-03-08 Jason Diamond <jason@injektilo.org>
2324 * DomEncodingType.cs, TreePosition.cs, XPathNodeType.cs, XmlDataType.cs,
2325 XmlExceptionCode.cs, XmlSortOrder.cs, XmlUtil.cs: Removed files.
2327 2002-03-08 Jason Diamond <jason@injektilo.org>
2329 * XmlAttribute.cs: Attribute nodes are supposed to store their values
2330 as child nodes so updated to reflect that.
2332 * XmlDocument.cs, XmlElement.cs, XmlNode.cs: Moved code that was
2333 duplicated in XmlDocument and XmlElement into XmlNode so that it
2334 wouldn't have to be duplicated in XmlAttribute, too.
2336 2002-03-08 Kral Ferch <kral_ferch@hotmail.com>
2338 * XmlNodeList.cs, XmlDocument.cs, XmlLinkedNode.cs,
2339 XmlNode.cs: Formatting.
2341 * XmlNodeListChildren.cs: Implementation of XmlNodeList
2342 for XmlNode.ChildNodes property.
2344 * XmlNodeListAsArrayList.cs: Removed file. Using different
2345 data structure (circular list) in XmlNode so this file
2348 * XmlDocument.cs, XmlElement.cs: New ChildNodes tests found
2349 bug in setter property of LastLinkedChild so fixed it.
2351 2002-03-06 Jason Diamond <jason@injektilo.org>
2353 * XmlInputSource.cs, XmlNames_1_0.cs, XmlParse.cs: Removed files.
2354 We already have a parser in XmlTextReader.
2356 * XmlException.cs: Removed constructor accepting XmlInputSource.
2358 2002-03-06 Kral Ferch <kral_ferch@hotmail.com>
2360 * XmlNode.cs: Rewrote this class from scratch with
2361 MonoToDo attribs and NotImplementedExceptions. Now defines an
2362 internal LastLinkedNode property to aid the new implementation.
2363 XmlNodes only have ref to owner doc and parent nodes now.
2365 * XmlLinkedNode.cs: Added NextLinkedSibling internal property
2366 and ref to next sibling to support walking our circular child
2369 * XmlDocument.cs: Added ref to last child node and overrides
2370 XmlNode's internal LastLinkedChild property to support walking
2371 our circular child node list.
2373 2002-03-02 Kral Ferch <kral_ferch@hotmail.com>
2375 * XmlProcessingInstructions.cs: Class was empty. Implemented
2376 constructor, properties, and CloneNode() method. Put in
2377 MonoToDo attrib for remaining methods.
2379 * XmlComment.cs: Reformatted and put in MonoToDo attribs.
2380 Got rid of helper methods and fields since they were no
2383 * XmlLinkedNode.cs: Reformatted and put in MonoToDo attribs.
2385 * XmlDocument.cs: Added code to Load(XmlReader) to create XmlComment,
2386 XmlCDataSection, and XmlProcessingInstruction nodes. Implemented
2387 Createxxx() methods for those three node types.
2389 2002-03-02 Jason Diamond <jason@injektilo.org>
2391 * XmlDocument.cs: Implemented the remaining CreateElement and
2392 CreateAttribute methods.
2394 * XmlAttribute.cs: Re-implemented.
2396 * XmlElement.cs: Set owner element on attributes. Reformatted.
2398 2002-03-02 Jason Diamond <jason@injektilo.org>
2400 * XmlTextReader.cs: Implemented MoveToNextAttribute().
2402 * XmlDocument.cs: Reformatted. Adding missing methods and MonoTODO
2403 attributes. Create attribute nodes while loading. Implemented
2404 Load(string) and CreateTextNode().
2406 * XmlCharacterData.cs, XmlText.cs: Re-implemented.
2408 * XmlCDataSection.cs, XmlComment.cs: Call correct constructor in
2411 * XmlNamedNodeMap.cs, XmlAttributeCollection.cs: Stubbed out.
2413 2002-03-02 Mike Kestner <mkestner@speakeasy.net>
2415 * XmlAttribute.cs : Using fix.
2416 * XmlDocument.cs (CreateAttribute(String)): Implement.
2418 2002-03-02 Jason Diamond <jason@injektilo.org>
2420 * XmlNamespaceManager.cs: Atomize prefixes and namespaces strings in
2423 2002-02-28 Jason Diamond <jason@injektilo.org>
2425 * XmlDocument.cs, XmlNode.cs: Initial implementation of LoadXml
2426 courtesy of Kral Ferch <kral.ferch@hotmail.com>.
2428 2002-02-28 Jason Diamond <jason@injektilo.org>
2430 * XmlException.cs, XmlReader.cs, XmlTextReader.cs: Reformatted,
2431 added missing members and MonoTODO attributes.
2433 * XmlTextReader.cs: Throw XmlException instead of System.Exception.
2435 2002-02-27 Jason Diamond <jason@injektilo.org>
2437 * XmlElement.cs: Reformatted, added missing members and MonoTODO
2440 2002-02-26 Duncan Mak <duncan@ximian.com>
2442 * XmlCDataSection.cs: Initial implementation.
2444 * NameTable.cs: Fixed the whole thing. Wrote a NUnit test to test
2445 it out. This should (hopefully) be correct.
2447 2002-02-26 Jason Diamond <jason@injektilo.org>
2449 * XmlTextReader.cs: Apparently Microsoft's implementation treats
2450 namespace declarations as attributes so we do now, too.
2452 * XmlNamespaceManager.cs: HasNamespace fixed so that it only
2453 checks the current scope.
2455 2002-02-26 Duncan Mak <duncan@ximian.com>
2457 * XmlDocumentType.cs: Added a few hacks here and there to
2458 temporarily fix the "I broke the build issue".
2460 2002-02-25 Jason Diamond <jason@injektilo.org>
2462 * XmlDocument.cs, XmlElement.cs, XmlNode.xs, XmlNodeList.cs,
2463 XmlNodeListAsArrayList.cs: Multiple fixes necessary to get
2464 simple test to pass. The existing code is really shitty so I'll
2465 probably start writing tests and refactoring before much else
2468 2002-02-25 Duncan Mak <duncan@ximian.com>
2470 * NameTable.cs: Implemented.
2472 * XmlDeclaration.cs: It should inherit from XmlLinkedNode, not XmlNode.
2474 2002-02-24 Duncan Mak <duncan@ximian.com>
2476 * XmlNodeOrder.cs: Added to CVS.
2478 * XmlQualifiedName.cs: Fixed a warning from Equals ().
2480 * XmlTokenizedType.cs: Added to CVS.
2482 * XmlUrlResolver.cs: Added to CVS with one TODO task.
2484 2002-02-23 Duncan Mak <duncan@ximian.com>
2486 * XmlQualifiedName.cs: Fixed ToString () and added the operators
2489 2002-02-23 Jason Diamond <jason@injektilo.org>
2491 * XmlTextReader.cs: Added support for qualified attributes.
2493 2002-02-23 Jason Diamond <jason@injektilo.org>
2495 * XmlNamespaceManager.cs: Initial implementation.
2497 * XmlTextReader.cs: Added support for NamespaceURI property on
2500 2002-02-23 Nick Drochak <ndrochak@gol.com>
2502 * ChangeLog: Add the change log to this directory
2504 * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has