1 2004-03-24 Atsushi Enomoto <atsushi@ximian.com>
3 * XmlAttributeCollection.cs : Remove() should throw an exception when
4 target attribute is not included in the collection.
5 * XmlDocument.cs : ImportNode() should reject null node.
6 * XmlNode.cs : Fixed type of exception for invalid insertion.
7 It should throw an exception not only when the owner document of the
8 reference element is different but its parent element is different.
9 Some error message improvement.
11 2004-03-21 Atsushi Enomoto <atsushi@ximian.com>
13 * XmlReader.cs : ReadInnerXml() incorrectly tried to get output xml.
14 This fixes bug #55856.
16 2004-03-20 Atsushi Enomoto <atsushi@ximian.com>
18 * XmlTextWriter.cs : Fixed indentation on CDATA. This fixes bug #55828.
20 2004-03-19 Atsushi Enomoto <atsushi@ximian.com>
22 * XmlImplementation.cs : HasFeature() returns true when strVersion
25 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
27 * XmlWhitespace.cs : Fixed WriteTo(). Whitespace nodes should be
28 written regardless of document's PreserveWhitespace.
30 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
32 * XmlDocumentNavigator.cs : Value should return concatenated string for
33 sequential text nodes. Considered detached nodes, the result of
34 MoveToParent() should be checked.
36 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
38 * XmlReader.cs : ReadInnerXml()/ReadOuterXml() should not bork when
39 the reader is on EndElement. Patch by Jean-Marc Andre.
41 2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
43 * XmlDocumentNavigator.cs : as for namespace node "xml", MS.NET seems
44 to return attribute node. It affects on IHasXmlNode.GetNode() and
45 SelectNodes()/SelectSingleNode().
47 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
49 * XmlImplementation.cs : fixity fix (I need NUnit runnable ;)
51 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
53 * XmlImplementation.cs : forgot to commit (renaming internal case)
55 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
57 * XmlDocument.cs : Implementation should not return null.
59 2004-02-25 Atsushi Enomoto <atsushi@ximian.com>
61 * XmlTextWriterOpenElement.cs : Reset() should reset _all_ fields.
62 This fixes indentation bug.
64 2004-02-19 Atsushi Enomoto <atsushi@ximian.com>
66 * XmlTextWriter.cs : Fixed bugzilla #54554 (incorrent end tag output).
68 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
73 DTDValidatingReader.cs : made classes internal.
74 * XmlDocument.cs : removed extra FIXMEs.
78 Fixed incorrect method signature.
80 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
82 * DTDObjectModel.cs, DTDReader.cs, DTDValidatingReader.cs :
83 say goodbye to sys.collections.specialized.
84 (replaced the classes in that namespace with ArrayList or Hashtable)
86 2004-02-12 Atsushi Enomoto <atsushi@ximian.com>
88 * XmlReader.cs : For performance reason, XmlTextReader now uses
89 base ReadInnerXml() and don't store currentTag array unnecessarily.
91 - Fixed GetAttribute(int) that might cause index out of range.
92 - Now it consumes the text reader by reading blocks, as MS.NET does.
93 Modified GetRemainder(), PeekChar(), ReadChar() and so on.
94 - Now it doesn't create Value string for linked nodes, unless it
96 - some code refactory.
98 2004-02-11 Atsushi Enomoto <atsushi@ximian.com>
100 * XmlTextWriter.cs, XmlTextWriterOpenElement.cs :
101 Reduced creation of openlElement. It also saves much memory.
103 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
105 * XmlNode.cs : ChildNodes should not create XmlNodeListChildren
106 every time. This fix heavily improved performance.
108 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
110 * XmlAttributeCollection.cs : set owner element as parent on removal
111 events (though they are not "parent" in infoset or dom context)
112 * XmlElement.cs : Don't remove attributes twice (raises extraneous
114 * XmlNamespaceManager.cs, XmlNodeChangedEventArgs :
115 Added NET_1_2 members.
117 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
119 * DTDObjectModel.cs : Limit external entity reference from DTD by 256.
120 foreach elimination. DTDParameterEntityDeclaration should set Root.
121 Compute attribute default value without raising an error.
122 (for non-error reporting reader)
123 * DTDReader.cs : Fixes for the above fixes. foreach elimination.
124 * DTDValidatingReader.cs, NameTable.cs, XmlAttribute.cs,
125 XmlAttributeCollection.cs, XmlChar.cs, XmlConstruct.cs,
126 XmlDocumentFragment.cs, XmlDocumentNavigator.cs, XmlElement.cs,
127 XmlEntityReference.cs, XmlNamedNodeMap.cs, XmlNode.cs,
128 XmlText.cs : foreach elimination.
129 * XmlDocument.cs, XmlSignificantWhitespace.cs, XmlWhitespace.cs :
130 foreach elimination. Removed unnecesary methods.
131 * XmlTextReader.cs : code format refactory. Optimized some methods.
132 foreach elimination. Replaced Stack with string array.
133 Replaced StringBuilder with char array. Removed unnecessary methods.
135 2004-02-06 Atsushi Enomoto <atsushi@ximian.com>
137 * DTDValidatingReader.cs : Fixed MoveToElement() that causes incorrect
139 * XmlAttribute.cs : Fixed .ctor(). Omit more namespace check when
140 checkNamespace = false.
141 * XmlNamedNodeMap.cs : Fixed SetNamedItem() to raise events.
142 * XmlAttributeCollection.cs : Reimplemented InsertAfter to use
143 InsertBefore() (similar to XmlNode).
144 * XmlDocument.cs : Added internal .ctor(). Reimplemented ReadNode()
145 as recursive, to make event order compatible.
146 * XmlDocumentType.cs : Use SetNamedItem() (to raise events).
147 * XmlElement.cs : Some refactory. Fixed SetAttributeNode() with
148 string name to block prefixed name.
149 * XmlEntity.cs : Don't raise events on setting contents.
150 * XmlNode.cs : Some refactory. Added raiseEvent argument to internal
152 * XmlEntityReference.cs : related fix for XmlNode change.
153 * XmlTextReader.cs : When the reader is on "attributes" of xmldecl or
154 doctype, Depth 1 lower than usual attribute. Split large function.
156 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
158 * XmlConvert.cs : ToSingle() and ToDouble() should be culture
159 independent. Patch by Rodolfo Campero.
161 2004-02-04 Atsushi Enomoto <atsushi@ximian.com>
163 * DTDObjectModel.cs : Never expand entity on ScanEntityValue().
164 * DTDValidatingReader.cs : XmlDeclaration node requires attributes
168 XmlDocumentFragment.cs,
174 Added namespace checking flag (required for such xml readers
175 that holds Namespaces=false). Now only XmlNode holds LastLinkedNode.
176 * XmlDocumentType.cs,
178 XmlEntityReference.cs : The children of Entity and EntityReference
179 became correct. They now holds parsed nodes, but it is only when
180 they are appended to the document.
181 * XmlNode.cs : Modified insertBeforeIntern() to InsertBefore() with
182 boolean checkNodeType argument. This method also tries to create
183 Entity's and EntityReference's child nodes. Also added internal
184 RemoveChild() with boolean checkNodeType argument.
185 * XmlNodeReader.cs : Quick hack for ResolveEntity() that became
186 broken with these changes. use InnerXml as input to entityReader.
187 * XmlTextReader.cs : XmlDeclaration's value LocalName should be the
188 same as Name. The names of DTD's pseudo attributes should be empty.
189 Fixed DTD node's Depth (was regarded as attribute value's depth).
191 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
193 * XmlTextReader.cs, DTDReader.cs : fixity fix ;)
195 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
197 * ChangeLog : Fixed incorrect description that should be written for
198 DTDValidatingReader.cs but written for DTDReader.cs.
199 * DTDValidatingReader.cs : Fixes described in the last DTDReader fix.
202 XmlConstructs.cs : Made XmlChar and XmlConstructs equivalent and
203 replaced XmlChar with XmlConstruts, renaming "XmlChar" to
204 "XmlCharCompact" and "XmlConstructs" to "XmlChar".
205 (XmlChar will be used for compact framework.)
206 * DTDReader.cs, XmlParserInput.cs, XmlTextReader.cs :
207 XmlChar related changes. Support for surrogate pair.
208 It cannot use TextReader's peek anymore (for surrogate pair).
209 Character range check for PI value, attribute value, text
210 * XmlTextWriter.cs : Change openElements from Stack to ArrayList.
211 (It calls ToArray() every time.)
213 2004-02-03 Alon Gazit <along@mainsoft.com>
214 * XmlNamedNodeMap - now Item(int index) returns null for nodeList.Count
215 instead of throwing ArgumentOutOfRangeException.
217 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
219 * XmlChar.cs : now GetPredefinedEntity() returns int and -1 for not
220 predefined entity names.
221 * DTDObjectModel.cs : DTDxxxCollection now derives from
222 - DTDCollectionBase that derives from DictionaryBase.
223 - "Literal value" and "replacement text" are handled differently.
224 - Throw XmlException when external entity could not be resolved.
225 - Return ReplacementText for EntityValue.
227 - Support IXmlLineInfo.
228 - Fixed IGNORE section handling to be more strict.
229 - Compute replacement text on reading entity declarations.
230 - Don't expand char references before getting literal entity value.
231 - Check not allowed parameter entity inside internal subset.
232 * DTDValidatingReader.cs :
233 - Added ValidateWhitespaceNode() to check whitespace's Validity
234 Constraints on external elementdecl and standalone document.
235 - When invalid data against its datatype was found, don't throw
237 - Other code refactory.
239 - Check for invalid Text pattern "]]>" should not depend on line
240 info since it might not be supported.
241 - Check referenced character's validity (WFC).
243 2004-01-28 Atsushi Enomoto <atsushi@ximian.com>
245 * DTDReader.cs : Added Normalization. Parameter Entity declaration
246 should block invalid characters. (GEDecl should be fixed as well.)
247 * XmlConstruct.cs : Should allow surrogate chars.
248 * XmlNotation.cs : When prefix is empty (i.e. almost all cases)
249 Name should not add ':'. Patch by Boris Kirzner.
250 * XmlTextReader.cs : Modified private ReadCharacterReference() to
251 return the character (or -1 when should not return anything).
252 Now Text character reference are checked their character range.
253 Set DTDReader.Normalization as well as the reader itself.
255 2004-01-28 Atsushi Enomoto <atsushi@ximian.com>
257 * DTDReader.cs : Make sure that parameter entities are not allowed
258 inside internal subset unless it appears as a markupdecl.
259 * DTDValidatingReader.cs : ENTITY or ENTITIES type attributes must have
260 a value that indicates *unparsed* entity (i.e. NDATA required).
262 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
264 * XmlTextWriter.cs : quick performance fix.
265 Reduced memoty allocation (e.g. 12% when writing XMLSchema.xsd.)
267 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
269 * DTDObjectModel.cs :
270 - DTDNode's BaseURI should not always refer to that of DTD's.
271 - Use absolute URI's .ToString() instead of AbsolutePath.
272 * DTDReader.cs : Throw XmlException for illegal character references.
273 * DTDValidatingReader.cs :
274 - Share XmlResolver when the actual reader is XmlTextReader.
275 (MS's XmlValidatingReader and XmlTextReader do this.)
276 - Added its own EntityHandling property.
277 * XmlValidatingReader.cs : Share XmlResolver with XmlTextReader.
279 XmlTextReader.cs : Added new NET_1_2 members.
280 * XmlElement.cs : Removed extra lines (caused by XmlTextWriter bugs).
281 * XmlEntityReference.cs : Forgot to add, the real fix by Boris.
283 2004-01-23 Atsushi Enomoto <atsushi@ximian.com>
285 * XmlWriter.cs, XmlTextWriter.cs :
286 Several namespace related fixes.
287 - Current element's NamespaceURI should be immediately available
288 after the call of WriteStartElement() for LookupPrefix(), so
289 AddMissingElementXmlns() only affects on output. This is
290 now identified by shouldCheckElementXmlns field.
291 - Attribute's overraped xmlns should be ignored for LookupPrefix(),
292 Especially, when the owner element is written with the default
293 namespace. HOWEVER, the attribute should be *written*. This is
294 identified by shouldAddSavedNsToManager field.
295 - In AddMissingElementXmlns(), non-empty prefix namespace was not
296 checked user-written attributes.
297 - XmlWriter.WriteAttributeString() never supplies namespace URI for
298 xmlns attributes for other versions than NET_1_0. Instead, added
299 ns check logic in WriteStartAttribute() only with NET_1_0.
300 - WriteEndAttribute() should reject zero-length namespace for
301 non-default xmlns declarations.
302 - LookupPrefix() should reject argument null and empty.
304 (added 2004-01-24 : forgot to mention more)
305 - WriteAttributeString() w/o namespace should supply null, not ""
306 - Added .NET 1.2 members.
307 - Regard any name with "xml" prefix as in "namespace for XML".
309 2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
311 * XmlElement.cs : Reverted previous fix since it broke monodoc web
314 2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
316 * XmlNode.cs : When adding a node to child list, it should reject its
317 ancestors. Patch by Boris Kirzner.
318 * XmlNodeReader.cs : Related fix to the fix above. It should not move
319 to children of XmlEntityReference nodes.
320 * XmlTextWriter.cs : FixedWriteStartElement() not to write default
321 namespace when ns is null (while ns is "", it writes default ns).
322 * XmlElement.cs : Fixed WriteTo() to call WriteStartElement(localName)
323 when NamespaceURI is an empty string.
325 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
327 * XmlAttribute.cs : when set a value, it is no longer default
328 (even if the value is the same as default value).
329 * XmlAttributeCollection.cs : Remove() should recover default attribute
330 value to default, not specified value.
331 Patch by Boris Kirzner (modified a bit)
332 * XmlDocument.cs : Reference to undeclared entity is not allowed in
333 Load(), while allowed in ReadNode(). Added such distinguishing logic.
335 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
337 * XmlValidatingReader.cs : Throw exception only in case of errors.
338 Added NET_1_2 Evidences property.
340 2004-01-12 Atsushi Enomoto <atsushi@ximian.com>
342 * XmlElement.cs : Fixed .ctor(). Default attribute was not treated as
343 Specified = false. Patch by Boris Kirzner.
345 2004-01-11 Atsushi Enomoto <atsushi@ximian.com>
347 * XmlException.cs : Fixed incorrect .ctor signature.
348 * XmlParserInput.cs : Fixed in sync with the above fix.
350 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
352 * XmlAttribute.cs, XmlElement.cs :
353 Fixed incorrect protected .ctor modification.
355 2004-01-08 Nick Drochak <ndrochak@ieee.org>
357 * DTDValidatingReader.cs: Removed unused variable
359 2004-01-07 Atsushi Enomoto <atsushi@ximian.com>
361 * XmlNamespaceManager.cs : Implemented .NET 1.2 methods that take
362 atomizedNames argument.
363 * XmlTextReader.cs : Use new namespace manager methods.
364 Reduced NameTable.Add().
365 * DTDObjectModel.cs : fixed incorrectly commented-out line.
367 2004-01-07 Atsushi Enomoto <atsushi@ximian.com>
369 * XmlAttribute.cs, XmlDocument.cs, XmlElement.cs :
370 set_Prefix should atomize to name table.
371 Avoided extraneous atomization attempt a bit.
373 2004-01-07 Atsushi Enomoto <atsushi@ximian.com>
375 * DTDObjectModel.cs, DTDReader.cs, XmlSecureResolver.cs :
376 avoiding obvious exception.
377 * DTDReader.cs, XmlTextReader.cs : Some optimization.
378 Avoided extraneous PeekChar() and reduced name string creation.
380 2004-01-05 David Sheldon <dave-mono@earth.li>
382 * XmlTextReader.cs: Fixed constructors taking string url to not
383 loose the absolute part of the path.
385 2004-01-04 Atsushi Enomoto <atsushi@ximian.com>
387 * XmlDocument.cs : Fixed Load() to set XmlResolver correctly. Patch
389 Assure closing XmlTextReader which are internally used.
391 2004-01-03 Atsushi Enomoto <atsushi@ximian.com>
393 * XmlTextWriter.cs : trivial character-case fix
394 * XmlUrlResolver.cs : It downloads network stream content at
395 GetEntity() call. You can try like below:
396 for (int i=0;i<100;i++) u.GetEntity(url, null, typeof(Stream));
398 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
400 * XmlNamedNodeMap.cs : Fixed internal SetNamedItem(node, pos) to set
401 replacing node correctly. This fixes bug #52453.
403 2003-12-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
405 * XmlDocument.cs, XmlElement.cs, XmlNode.cs :
406 GetElementsByTagName() - Fixed bugzilla #52419, refactored,
407 and moved private implementation methods to XmlNode class.
409 2003-12-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
412 Element's namespace should be escaped as usual attribute.
414 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
416 * XmlTextWriter.cs : Indentation between xmldecl and doctype.
417 * DTDValidatingReader.cs : AttList null reference fix.
419 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
421 * DTDValidatingReader.cs : Validity check and entity expansion were
423 * DTDObjectModel.cs, DTDReader.cs, XmlInputStream.cs :
424 Going to remove XmlInputStream. XmlStreamReader might be replacable.
426 2003-12-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
428 * XPathDocument2ChangedEventHandler.cs : fixed incorrect argument.
429 * Moved UpdateEventHandler.cs and XmlUpdateEventArgs.cs to sqlxml.
431 2003-12-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
433 * XmlTextReader.cs : BaseURI was broken. This fixes bug #52098.
435 2003-12-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
437 * XmlUrlResolver.cs : GetEntity() does not return direct network stream
438 that may hold up connection. Now it reads up all the content stream.
440 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
442 * XmlAttributeCollection.cs,
443 XmlElement.cs : Fixed bug #51415.
444 When adding attribute to an element using Attributes, it failed.
446 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
448 * XmlDocument.cs : Fixed ReadNode() to call AppendChild() to document
449 after setting all attribute nodes. Modified ReadNode() to handle
450 Depth comparison and error handling (!= to <). It allows MS's
451 SgmlReader bug that returns incorrect Depth.
453 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
455 * XmlDocumentNavigator.cs : Fixed MoveToNextAttribute (and
456 MoveToNextNamespace) that might result in NullReferenceException.
457 patch by Sanjay Gupta. This fixed bug #51941 (and possibly #51415)
459 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
461 * XmlUrlResolver.cs : Update with recent System.Uri change. This fixes
462 bugzilla #51808 (patch by Jeroen Zwartepoorte, a bit modified).
464 2003-12-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
466 * XmlTextWriter.cs : WriteComment() should block "--", not full "-->".
467 * XmlDocumentNavigator.cs : Added null check in MoveToNextAttribute().
468 This may fix bug #51415.
470 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
472 * XmlAttribute.cs : set_Prefix checks value when existing is "xmlns".
474 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
476 * XmlWriter.cs : patch by Gonzalo (I modified a bit). WriteNode()
477 shouldn't expect non-empty element content. This will fix bug #48287.
479 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
481 * XmlTextWriter.cs : When element's namespace should be overwritten by
482 one of its attribute, if exist as such. This fixes bug #51305.
484 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
486 * DTDValidatingReader.cs : Fixed ReadContent() which may result in
487 invalid additional Text node.
489 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
492 On WriteProcessingInstruction(), ArgumentException() is expected ;-)
494 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
497 WriteProcessingInstruction() should check name validity.
498 AddMissingElementXmlns() should allow namespace emission even if it
499 is identical to existing one.
501 2003-11-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
503 * XmlTextReader.cs : Fixed ReadInnerXml(). This fixes bug #51267.
505 2003-11-20 Eran Domb <erand@mainsoft.com>
507 * XmlTextWriter.cs (WriteStartAttribute) : Check if the ket already exists in the newAttributeNamespaces table
508 before trying to add it to the table.
510 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
512 * DTDValidatingReader.cs : Replaced entity should not treat whitespaces
514 * XmlNode.cs : Removed extraneous MonoTODOs.
516 2003-11-17 Jackson Harper <jackson@ximian.com>
518 * XPathEditor.cs: .net 1.2 only
520 2003-11-17 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
522 * AsyncXmlTextWriter.cs, IXPathChangeNavigator.cs, IXPathEditor.cs,
523 IXPathNavigator.cs, IXmlDataEvidence.cs, IXmlNamespaceResolver.cs,
524 UpdateEventHandler.cs, XPathChangeNavigator.cs, XPathDocument2.cs,
525 XPathDocument2ChangedEventAction.cs,
526 XPathDocument2ChangedEventHandler.cs, XPathEditor.cs,
527 XPathNavigator2.cs, XmlChangeFilters.cs, XmlInfoItemType.cs,
528 XmlNamespaceScope.cs, XmlNodeChangeType.cs, XmlQualifiedNameTable,cs,
529 XmlQueryDialect.cs, XmlUpdateEventArgs.cs
530 : Added .NET 1.2 classes (for convenience of ObjectSpaces stubbing).
532 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
534 * XmlDocumentNavigator.cs : Fixed MoveToFirstChild() and MoveToNext()
535 to skip XmlEntityReference.
536 * XmlTextWriter.cs : Fixed AddMissingElements() and
537 WriteStartAttribute() not to emit extraneous xmlns.
539 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
541 * XmlTextWriter.cs : Skip multiple xmlns when element and any of
542 attributes have the same xmlns values.
543 WriteEndElement() allows open attribute (calles WriteEndAttribute()).
544 Indentation should be inserted between ">" and "</xxx>" .
546 2003-11-02 Pedro MartÃnez Juliá <yoros@wanadoo.es>
548 * XmlConvert.cs: Only parse INF/-INF/NaN. Other Infinty or NAN
549 numbers are parsed with the respective ::Parse method.
551 2003-11-01 Pedro MartÃnez Juliá <yoros@wanadoo.es>
553 * XmlConvert.cs: Revert my last change. INF and -INF must be
554 processed here because Double::Parse and Single::Parse doesn't
555 understand anything of parsing [-]INF.
557 2003-11-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
559 * XmlDocument.cs : Save(Stream) should not close the stream.
561 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
563 * DTDReader.cs, DTDValidatingReader.cs, XmlInputStream.cs,
564 XmlTextReader.cs : More cleanup.
565 * XmlDocument.cs : Removed CheckName(). Code cleanup.
566 * XmlElement.cs : .ctor() now adds default attributes (if required).
567 * XmlAttribute.cs, XmlElement.cs, XmlEntity.cs, XmlEntityReference.cs,
568 XmlNotation.cs : Now uses OwnerDocument's NameTable.
570 2003-10-25 Pedro MartÃnez Juliá <yoros@wanadoo.es>
572 * XmlConvert.cs: Support for the sign in double and single. The
573 processing of the infinites and nan numbers are more complex than
574 comparing to "INF" so we must let Double::Parse and Single::Parse
577 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
579 * DTDValidatingReader.cs : Now it handles whitespace entity as
581 * XmlConvert.cs : As to NIST testcases, exponential support on single
582 and double floating point numbers.
583 * XmlValidatingReader.cs : If it IsDefault, then line number and line
586 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
591 XmlWriter.cs : Fixed incorrect access modifier.
592 * XmlTextWriter.cs : Imported state variable from XmlWriter.
593 * DTDValidatingReader.cs : Removed extraneous MonoTODO.
594 * XmlConvert.cs : Implemented ToTimeSpan().
595 Modified ToDateTime() to reuse the same array.
597 2003-10-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
599 * XmlAttributeCollection.cs : Fixed synchronization stuff.
600 * XmlConvert.cs : Added two FromBinHexString() methods.
601 * XmlTextReader.cs : Modified to use one of the above method.
602 * XmlValidatingReader.cs : XsdValidatingReader.XmlResolver will be
603 disabled (in the next commit), so resolver won' be set to it.
604 Attempt to validate against XDR now throws NotSupportedException.
606 2003-10-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
608 * XmlChar.cs : added WhitespaceChars, used in common.
613 XmlTextWriter.cs : String.Trim()
614 * XmlConvert.cs : shifted XmlConstructs to XmlChar.
615 * XmlTextReader.cs : Implemented Normalization.
617 2003-10-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
619 * XmlNode.cs : GetPrefixOfNamespace() also contained a bug similar to
620 GetNamespaceOfPrefix() fixed at 2003-10-13.
621 * XmlTextReader.cs : ReadBase64() should keep incomplete base64 block
622 which remained by previous call of this method.
623 * XmlUrlResolver.cs : Added assertion for file Uri path's absoluteness.
624 * XmlValidatingReader.cs : Notice about intention of XDR won't be
625 supported (at least in Mono 1.0).
627 2003-10-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
629 * XmlDocument.cs : CloneNode() does not copy PreserveWhitespace.
630 * XmlWriter.cs : Calling WriteNode() with XmlReader whose state is
631 XmlDeclaration now calls WriteProcessingInstruction(). This fixes
632 testcase XmlWriterTests.WriteNodeFullDocument().
633 * XmlTextWriter.cs : Added LAMESPEC comments related to above.
635 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
637 * XmlDocument.cs : Fixed bugzilla #49607. Save() outputs XML
638 declaration even though there is no XmlDeclaration child.
639 * XmlTextReader.cs : Fixed Init() so that ResetState() should work.
641 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
643 * XmlTextWriter.cs : Implemented WriteSurrogateCharEntity().
644 Reverted my recent extraneous check in WriteStartAttribute().
646 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
648 * XmlNode.cs : GetNamespaceOfPrefix() should check Attributes existence.
649 And it should throw ArgumentNullException.
651 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
653 * XmlAttribute.cs : Fixed InnerText that did not removed its content
654 if there is two or more children.
655 * XmlNode.cs : XmlNode.cs : Fixed bugzilla #49580 (1)to return "",
656 (2)not to compare NodeType for detached nodes, (3)optimization to
657 compare element's prefix.
658 * XmlSecureResolver.cs : Removed extraneous members.
660 2003-10-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
662 * Added DTDReader.cs. It is almost importation of XmlTextReader.
663 * DTDObjectModel.cs :
664 - More .NET-ism. Properties took place of fields.
665 - Imported PE set from XmlTextReader. Added location info.
666 - Added DTDEntityBase common to PE and GE.
667 - More correct text declaration handling with new XmlTextReader.
668 * DTDValidatingReader.cs :
669 - Now uses entity resolving XmlTextReader to validate attributes
670 correctly. Implemented standalone
671 - Standalone and default related validity constraints check.
672 * XmlImplementation.cs: Implemented HasFeature().
673 * XmlNode.cs : Implemented Supports().
674 * XmlNodeReader.cs : Modified to use XmlTextReader.SkipTextDeclaration()
675 * XmlParserInput.cs : Removed extraneous members.
677 - All DTD related functionality now goes to DTDReader.cs
678 - It became old simple TextReader input style.
679 - Implemented GetRemainder().
680 - Implemented ReadBase64(), ReadBinHex() and ReadChars(), using
681 additional new private method ReadUntilEndTag().
682 - Removed incomplete MaybeTextDecl and added SkipTextDeclaration().
683 ReadXmlDeclaration() now became simple.
684 - More strict entity reference check at SetEntityReferenceProperty()
685 - Removed extraneous members.
686 * XmlWriter.cs : WriteNode(XmlNodeType.None) does not raise error.
688 2003-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
690 * XmlTextReader.cs: when we get an unexpected EOF in ReadContent, set
691 the state before throwing the exception if depth > 0.
693 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
695 * XmlAttribute.cs : Removed extraneous MonoTODO.
696 * XmlTextWriter.cs : Implemented WriteBinHex() and WriteChars().
697 WriteStartElement() and WriteStartAttribute() should ignore Prefix
698 if namespace uri is not specified.
700 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
702 * XmlDocumentFragment.cs,
704 XmlEntityReference.cs : Removed extraneous MonoTODO.
705 * XmlNode.cs : Implemented Normalize().
707 - AttributeCount and HasAttributes should return its owner element's
708 value, to be consistent with XmlTextReader.
709 - Fixed Depth to reflect correct attribute/attribute-value iteration.
710 - simplified ownerElement and HasValue.
711 - Prefix won't return null.
712 - MoveToElement() should also work against attribute value nodes.
713 * XmlTextReader.cs : MoveToElement() should return false if it is
714 positioned at element itself.
716 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
718 * XmlTextReader.cs : Improved SignificantWhitespace handling.
720 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
722 * XmlSecureResolver.cs : Implemented basic feature.
724 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
726 * XmlUrlResolver.cs : Should work with null type argument.
728 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
730 * XmlTextWriter.cs : An attribute can require a prefix for the default
731 namespace, so we need to store the prefix as well as the namespace.
733 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
735 * DTDValidatingReader.cs : Simplified to use
736 XmlSchemaUtil.GetParserContext().
737 * XmlValidatingReader.cs : ValidationType.Auto should always use
738 XsdValidatingReader because xsi:schemaLocation might be used.
740 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
742 * XmlTextReader.cs : Attribute value token properties were incorrectly
743 set by the linked node.
745 2003-09-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
747 * XmlDocumentNavigator.cs : Fix for bugzilla #48931. MoveToRoot() now
748 considers such case that target node was not adapted to the document.
749 * XmlNamespaceManager.cs : GetEnumerator() missed the last pair.
750 * XmlTextWriter.cs : use 'as' instead of 'try..catch'.
752 2003-09-25 Ben Maurer <bmaurer@users.sourceforge.net>
754 * XmlNode.cs (XPathNodeType): Give more useful debugging message.
755 * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as
758 2003-09-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
760 * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace
761 recovery was still not enough. Fixed GrowScopes() (incorrect index).
763 2003-09-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
766 - Fix for bugzilla #48337 (containing Ben's advice on that).
767 - Added internal XmlTokenInfo classes. Nodes are now handled as token
768 objects (linked node, attributes and attribute values). Most of the
769 node state properties and iterating methods are changed to refer to
770 the token classes (except for value builder availability). Removed
771 fields which are never used. CompileDTDSubset() is changed in
772 reflection to nodeType field removal.
773 - Fixed Depth that should vary in moving between attributes and/or
774 reading attribute values.
775 - LineNumber and LinePosition now returns more correct location.
776 - Fixed Value that should still return true if its value is an empty
777 attribute value string.
778 - EntityValue is checked WFC constraints even thoug it is not used.
779 - All .ctor() now initializes ReadState as Initial.
780 - Read() should be available for attribute value constructor.
781 * XmlAttribute.cs : set_InnerXml() now calls reader's Read().
783 2003-09-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
785 * XmlNamespaceManager.cs: PopScope() must retain those namespaces which
786 are added in the scope before PushScope() was called.
788 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
790 * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked
791 lists and removes uses of Hashtable. Results in huge speed gains.
793 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
795 * XmlConvert.cs: NaN.ToString () != INF.
797 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
799 * XmlTextWriter.cs: Attributes that have a namespace must be always
802 2003-09-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
804 * XmlTextWriterOpenElement.cs : Changed to receive prefix and localName
806 * XmlTextWriter.cs : Changed to use above XmlTextWriterOpenElement.
807 Changed xmlns adding scheme. In detail, 1) WriteStartElement does not
808 add Namespaces immediately, but adds at AddMissingElementXmlns so
809 that we don't have to have extra check than namespaceManager's
810 LookupPrefix(). 2) Removed writtenAttributes for performance reason
811 since it is no more required.
813 2003-09-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
815 * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute()
816 that handled xmlns attributes inproperly.
818 2003-09-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
820 * XmlNamespaceManager.cs : GetEnumerator() should return all of the
821 available pairs (of prefix and namespace).
822 * XmlQualifiedName.cs : Quick fix for NullReferenceException in case
823 of name (or ns) is null. (The description of the immediate previous
824 changes will be inserted below.)
825 * XmlTextWriter.cs : Fixed WriteDocType(). Removed CheckValidName().
826 * XmlUrlResolver.cs : Changed not to call WebClient.Dispose() which
827 will release resources it had allocated.
829 2003-09-01 Ben Maurer <bmaurer@users.sourceforge.net>
831 * XmlDocument.cs (Save): use the encoding of the document, if
834 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
836 * XmlValidatingReader.cs : Implemented SchemaType. Added support for
837 ValidationType.Schema. Added support for XmlResolver. Fixed
838 ReadTypedValue() not to consume EndElement.
840 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
842 * XmlDocumentNavigator.cs : Fixed MoveToFirstNamespace() that arose
844 * XmlNamespaceManager.cs : Renamed AtomStrEq to AtomicStringEquals.
845 Commented out Console.Error.WriteLine().
846 * XmlUrlResolver.cs : Fixed ResolveUri() and GetEntity() to support
847 escape and unescape for relative URI string.
849 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
851 * XmlParserContext.cs: Make each context inherit next.
853 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
855 * XmlChar.cs (IsWhitespace): Spare enumerator allocation.
856 * XmlTextWriter.cs (WriteWhitespace): Enumerators are very high in
857 fat, use low-fat loops instead. Even better, call the function
858 inside XmlChar for code reuse.
859 * HighWaterStack.cs (added): New class that acts like a Stack, but
860 helps with memory allocation.
861 * XmlNamespaceManager.cs, XmlParserContext.cs: Rewrote to use
863 * XmlTextReader.cs: Remove orderedAttributesEnumerator variable,
864 use a variable that stores the position in the ArrayList.
866 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
868 * XmlTextWriter.cs: Begin diet. String.Format has too much
869 saturated fat, lets replace with the fat-free .Write ()
870 calls. Effects best seen when Paolo's StreamWriter patch is
873 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
875 * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in
876 vanishing current node.
878 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
880 * DTDValidatingReader.cs : Added SchemaType.
881 Read() Assures to return to element.
882 * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI.
883 * XmlReader.cs : ReadString() should be virtual in NET_1_1.
884 * XmlTextReader.cs : 1) Depth should consider Attribute and its values.
885 Introduced insideAttribute field to support them.
886 2) ReadAttributeValue() should consider empty string.
887 * XmlValidatingReader.cs :
888 Fixed several properties which premised as if it was already read.
889 Encoding and Namespaces now throws NotSupportedException for other
891 Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType.
893 2003-08-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
895 * XmlInputStream.cs : Reverted CanSeek as to return false anyway.
897 2003-08-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
899 * DTDObjectModel.cs : added XmlResolver related members. Added
900 invalid entity recursion logic. Added encodingdecl check on textdecl.
901 * DTDValidatingReader.cs : It now implements IHasXmlParserContext.
902 * XmlChar.cs : IsPubidChar() should not allow TAB(	).
903 * XmlDocumentType.cs : 1) internal CreateDocumentType() was now changed
904 to receive DTDObjectModel to support other than XmlTextReader.
905 2) Most of its public member is now based on DTDObjectModel.
906 * XmlDocument.cs : 1) Synchronous change with XmlDocumentType.
907 2) ReadNode() now considers XmlParserContext's DTDObjectModel for
908 other than XmlTextReader (such as XmlValidatingReader).
909 * XmlNode.cs : code cleanup only.
910 * XmlParserInput.cs : added HasPEBuffer, used to check illegal nesting.
911 * XmlTextReader.cs : 1) Illegal entity reference check logic was moved
912 from ReadContent() to SetEntityReferenceProperties(). 2) Indentation
913 change on ReadEntityReference(). 3) ReadAttribute() now checks
914 reference to external entity reference. 4) Added textdecl encoding
915 check. 5) DTDObjectModel fields are now set correctly. 6) added
916 PERef markup nest check. 7) If PEDecl was not found, it might be WFC
917 violation, not only be VC violation. 8) ReadEntityDecl() now receives
918 its declared entity itself, and this method checks IsInternalSubset.
919 * XmlValidatingReader.cs : 1) Added GetInternalPerserContext().
920 2) ValidationType.None should be the same as Auto, not DTD (in the
921 future it should keep xml schema's default values).
923 Pending Stuff in XmlTextReader which breaks some NUnit tests;
924 1) SetEntityReferenceProperies() has check for illegal references.
925 2) ReadAttribute(bool) has similar check for illegal references.
927 2003-08-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
929 * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice,
930 sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement().
932 2003-08-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
934 * XmlTextReader.cs : Checked and fixed all TryExpandPERef() invokation
935 and supplied SkipWhitespace() as they needed. It broke monodoc.
936 Fixed ReadEntityValueDecl() to get correct value.
938 2003-08-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
940 * XmlInputStream.cs :
941 Fixed Initialize() that might result in incorrect buffer.
942 CanRead and Position should consider buffer (especially when the
944 CanSeek should use stream's CanSeek.
946 * XmlChar.cs : added GetPredefinedEntity().
947 * DTDObjectModel.cs :
948 - Modified ComputeDefaultValue() to use it.
949 - Fixed NormalizedDefaultValue not to expect parsed value as string.
950 - ResolveExternalEntity now detects invalid standalone specification.
951 - DTDParameterEntityDeclaration.Value is now changed to property and
952 keep its resolved value of literal value of external value using
953 new Resolve (XmlResolver) method (called only by XmlTextReader).
954 * DTDValidatingReader.cs :
955 - It now handles entity-expanded Whitespace and SignificantWhitespace
956 correctly. Does not raise unexpected text not allowed error.
957 - Fixed MoveToAttribute()s to move internal reader correctly, and
958 should be able to move in other cases than on element node.
959 - On Read()ing document type and ResolveEntity(), it now sets
960 XmlResolver on text reader.
961 - On ID constraints check and type verification, it now uses
962 normalized attribute or its tokenized value(s).
963 - Fixed ValidateAttributes() to add default values when
964 ValidationType is Auto.
965 * XmlParserContext.cs : added internal Dtd setter.
966 * XmlParserInput.cs :
967 InsertParameterEntityBuffer() should add surrounding whitespaces.
968 Removed unused code block.
970 - Modified ReadReference(), ReadAttribute() and Dereference() to use
971 XmlChar.GetPredefinedEntity().
972 - When returning entity reference, it checks extity declaration
973 existence in certain conditions.
974 - ReadAttribute() now skips general entity replacement on reading
976 - ReadText() now handles whitespace texts as XmlNodeType.Whitespace.
977 - ReadXmlDeclaration() holds isStandalone, which might be used in
978 entity reference's well-formedness check.
979 - internal 'DTD' now uses XmlParserContext.Dtd.
980 - isInternalSubset was meaningless. Now uses input stack's Count.
981 - Added some required SkipWhitespace().
982 - Several parameter entity handling changes. Added GetPEValue(name).
983 TryExpandPERef() now uses ImportAsPERef(). ReadParameterEntityDecl()
984 now uses its Resolve() when it was external PE. Now it uses value
985 buffer instead of currentTag, to efficiently read (included) PE.
986 CompileDeclaration() now uses ImportAsPERef instead of ExpandPERef().
987 ImportAsPERef() simply inserts the value to currentInput.
988 ReadEntityDecl() also uses value buffer. Removed non-used methods.
989 - Default attributes are now stored in normalized form.
990 - Dereference() now considers non-expanding predefined entities.
991 * XmlValidatingReader.cs : now holds Schemas, and ValidationType.Auto
992 is more correctly supported.
994 * XmlAttributeCollection.cs :
995 When removing default attribute, it immediately inserts the attribute.
996 RemoveAll() should consider default (not-removable) attributes.
998 Should have its default XmlResolver. Added Internal Resolver.
999 Some Load() should use its XmlResolver.
1000 ImportNode() should copy its children in node level, not value level.
1001 It also have to consider not to copy default attribute on importing
1003 * XmlDocumentType.cs : Now uses document's XmlResolver to read DTD.
1005 XmlDocumentFragment.cs.
1006 XmlElement.cs : use XmlResolver on InnerXml. Removed some MonoTODO.
1007 * XmlNodeReader.cs : GetInternalParserConext() should provide its DTD.
1008 ResolveEntity() uses XmlResolver on entityReader.
1010 2003-08-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1012 * DTDObjectModel.cs :
1013 - Added validation error check (and AddError(), Errors).
1014 - Fixed ComputeDefaultValue() to handle various references correctly.
1015 - DTDEntityDeclaration.EntityValue became property, and added
1016 LiteralEntityValue. The new one holds resolved value.
1017 Added ResolveExternalEntity(). It now required root in .ctor().
1018 * DTDValidatingReader.cs :
1019 - Now it handles namespaced attributes (as input to xsd validator).
1020 - Added XmlResolver property as usual XmlReader.
1021 - Added currentEntityHandling field so that it can stand changing
1022 XmlValidatingReader's EntityHandling dynamically.
1023 - FilterNormalization() now requires name for getting datatypes and
1024 can stand for non-current attribute normalization.
1025 - Splitted ReadContent() from Read() that can be called recursively
1026 when expanding entities.
1027 - Now handles Entity not found error *after* resolution of entities,
1029 - Read()ing DTD checks its Errors and raises validation error events.
1030 In some situations, DTD parsing may detect VC error, not WFC error.
1031 It also strictly checks NData existence.
1032 - Handling of entity-resolved text is a bit changed and Read()ing
1033 element, endElement, cdata now changed to switch collecting text
1035 - content type ANY should allow texts.
1036 - Added enumerated attribute validity check.
1037 - Added Name/Names creation rule check for ID/IDREF/IDREFS.
1038 - Added entity existence check for ENTITY/ENTITIES attributes.
1039 - Added NMTOKEN creation rule check for NMTOKEN/NMTOKENS.
1040 - Fixed to remove extraneous #REQUIRED check.
1041 - Contributing default attribute is now only applied to the case
1042 ValidationType is DTD or None.
1043 - ResolveEntity() now handles external entities.
1044 Added Mono.Xml.IXmlParserContext interface support.
1045 * XmlDocumentType.cs : Fixed to use BaseURI to build DTD model.
1046 * XmlTextReader.cs :
1047 - Fixed ReadAttributeValue() to reset returnEntityReference.
1048 - Added bool MaybeTextDecl only for ResolveEntity().
1049 - Fixed ReadWhitespace(). In fact its value is considered even if it
1050 is in the end of the XML.
1051 - Fixed ReadXmlDeclaration(). Now skips text declaration.
1052 - CompileDTDSubset() now checks IGNORE/INCLUDE section end balances.
1053 - ReadContentSpec() should set OrderType = OR for mixed model.
1054 Fixed to set content element name correctly.
1055 - ImportAsPERef() now skips Text declaration.
1056 - Type of enumerated default attributes shold be string.
1057 - Undeclared PE error is now handled as DTD's VC error, not
1058 XmlTextReader's WFC error.
1059 * XmlValidatingReader.cs : BaseURI should provide that of
1060 original XmlReader's when read was not started yet.
1061 Fixed XmlResolver to delegate to DTDValidatingReader.
1063 * XmlAttributeCollection.cs : Acquiring attList declaration is
1064 insufficient especially in case of lack of elementdecl.
1065 * XmlChar.cs : (Maybe this is compact than XmlConstructs.)
1066 added IsWhitespace(),IsNCNameChar(),IsName(),IsNCName(),IsNmToken(),
1067 IsPubid(). Copies IsValidIANAEncoding() from XmlConstructs.
1069 * XmlInputStream.cs : Removed "version" declaration check. It should
1070 be done by XmlTextReader.
1072 * XmlNodeReader.cs : added internal GetInternalParserContext() and now
1073 it can be used in XmlValidatingReader.ResolveEntity().
1074 ResolveEntity() sets XmlTextReader.MaybeTextDecl.
1076 2003-08-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1078 * DTDValidatingReader.cs :
1079 Added full ExpandEntities support for text node and entity reference
1080 node (although require many usage tests). Almost all methods and
1081 properties now have currentTextValue != null check, that field means
1082 that there are cached (entity-resolved) text.
1083 Implemented default attribute aware XmlLang and XmlSpace.
1084 * XmlNodeReader.cs : ResolveEntity() should not require DTD.
1086 2003-08-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1088 * DTDValidatingReader.cs,
1092 XmlValidatingReader.cs : fixed pragma USE_VERSION_1_0 to NET_1_0.
1094 2003-08-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1096 * DTDObjectModel.cs : Added BaseURI (but not used yet).
1097 DTDAttListDeclaration.ctro() now requires root dtd object model.
1098 * DTDValidatingReader.cs : Read() now expands EntityReference if
1099 entity handling of validating reader is ExpandEntities.
1103 XmlValidatingReader.cs : Implemented "virtual" ReadInnerXml and
1104 ReadOuterXml which are modified in MS.NET 1.1.
1105 * XmlConstructs.cs : added int version of IsValid, IsInvalid,
1106 IsContent, IsMarkup and IsNCNameStart.
1107 Fixed int version of IsXXX() to check array index range.
1108 Added IsValidName (string).
1109 * XmlTextReader.cs :
1110 - Read() handles document with non document element as an error.
1111 - ReadText() and ReadCharacterReference() checkes illegal characters.
1112 - ReadEntityReference() checks name validity.
1113 - ReadProcessingInstruction() rejects such name that starts with
1114 "xml" ignoring case, and checks attributes more strictly.
1115 - ReadDeclaration() rejects unrecognized kind of declaration.
1116 - In many places, added "required whitespace" check in DTD markup.
1117 - DTD content model now disallows mixing use of '|' and ','.
1119 2003-08-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1121 * XmlDocumentFragment.cs : I missed to add it in relation to the
1122 previous XmlParserContext patch. Similar to XmlAttribute/XmlElement.
1123 * XmlNodeReader.cs : removed some TODO attributes.
1124 * DTDValidatingReader.cs,
1125 XmlValidatingReader.cs : Implemented ResolveEntity().
1127 2003-07-31 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1129 * XmlParserContext.cs,
1131 XmlElement.cs : Added internal Dtd and new internal XmlParserContext
1132 .ctor() that takes DTDObjectModel. And then rewrote classes which
1133 uses DTD information. Changed DocTypeName, InternalSubset, PublicId
1134 and SystemId to use DTDObjectModel.
1135 * DTDObjectModel.cs :
1136 Added DTDObjectModel.InternalSubsetHasPEReference.
1137 Added DTDEntityDeclaration.IsInternalSubset.
1138 * XmlTextReader.cs :
1139 Added internal GetInternalParserContext (to build entity reader).
1140 Added private isIntSubset to check if the DTD subset is internal or
1141 external, which might affect well-formedness constraints.
1142 Changed GenerateDTDObjectModel to return the resulting DTD model.
1144 * XmlEntityReference.cs : implemented BaseURI.
1145 * XmlNodeReader.cs :
1146 - Implemented ResolveEntity() and CanResolveEntity(). In fact
1147 it leads too many changes on almost all methods and properties,
1148 since they now must be aware of entityReader.
1149 - fixed ownerElement that might be used to return from attribute
1150 value to the element through parent attribtues.
1151 - Now changed indexer to call GetAttribute() and moved actual logic
1152 to the matching GetAttribute() methods.
1154 2003-07-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1156 * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml
1157 not to create extraneous xmlns="".
1159 2003-07-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1161 * DTDValidatingReader.cs : (Read,ValidateAttributes,ReadAttributeValue)
1162 attribute declaration should be got independently of elementdecl.
1164 Added internal SetDefault() to mark as default.
1165 Removed InnerText implementation that is just the same as XmlNode.
1166 * XmlDocument.cs : id shouldn't be removed from table at 'trying' to
1167 get matching elements. ReadAttributeNode() now sets default mark.
1168 * XmlElement.cs : WriteTo() should ignore default attributes.
1169 * XmlTextWriter.cs : shuold allow valid name char such as digits.
1171 2003-07-27 Piers Haken <piersh@friskit.com>
1173 * XmlQualifiedName.cs : fields should never be null
1175 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1177 * XmlDocumentFragment.cs : added XPathNodeType indicating Root.
1179 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1181 * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted
1183 2003-07-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1185 * XmlLinkedNode.cs : added internal IsRooted.
1187 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1189 * DTDValidatingReader.cs :
1190 - Added ID support in ValidateAttributes().
1191 - More refined ReadAttributeValue() support for non-expanding entity
1193 - It should handle LocalName, Name, Prefix, NamespaceURI and Value
1194 correctly when the reader is on each of the value nodes of an
1195 attribute. Now XmlDocument.ReadNode() should work well.
1197 - added idTable, AddIdenticalAttribute(), GetIdenticalAttribute() and
1198 RemoveIdenticalAttribute()
1199 - Implemented GetElementById().
1200 * XmlAttributeCollection.cs :
1201 - added private ownerDocument property and replaced
1202 ownerElement.OwnerDocument with it.
1203 - Added AdjustIdenticalAttribute() and it is used in SetNamedItem().
1204 It calls XmlDocument.{Add|Remove}IdenticalAttribute().
1205 - Added RemoveIdenticalAttribute() and it is used in Remove().
1206 (I also added AddIdenticalAttribute() but is not used.)
1208 2003-07-26 Duncan Mak <duncan@ximian.com>
1210 * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test
1211 for OwnerElement.IsRooted to fix the build..
1213 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1215 * XmlDocumentType.cs :
1216 modified private DTD to dtd and added internal DTD (the same thing).
1218 Fixed SetAttributeNode() to check if specified attribute is already
1219 set to the other element. In fact it is W3C DOM's specification but
1220 MS.NET 1.0 failed to catch it.
1221 * XmlTextReader.cs :
1222 ReadAttributeValue() should check if the value of the attribute is
1223 already read when the whole value is entity reference.
1224 Also, Name of text nodes should be "", not "#text"
1226 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1228 * XmlAttribute.cs : .ctor() shouldallow localName "xml" (not prefix)
1229 with http://www.w3.org/XML/1998/namespace.
1230 * XmlEntity.cs : patch by Aleksey Sanin. InnerText is now supported.
1231 * XmlNode.cs : InnerText should handle CDATA and whitespaces.
1232 * XmlTextReader.cs : Should allow " (#PCDATA)* " in ReadContentSpec().
1233 * XmlTextWriter.cs : Quick fix for accepting (and writing) same-named
1234 attributes (as MS.NET does). It isn't good way and I may change it.
1236 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1238 * DTDObjectModel.cs : Added DTDEntityDeclarationCollection and
1239 DTDNotationDeclarationCollection and replaced Hashtables with them.
1240 Added NormalizedDefaultValue property for DTDAttributeDefinition.
1241 * DTDValidatingReader.cs :
1242 - It now reads attribute values into value collection.
1243 - Renamed consumedDefaultAttribute to consumedAttribute, and
1244 inContent to insideContent.
1245 - GetAttribute() should allow reader's other node state than element.
1246 - MoveToNextAttribute() should move when reader is placed other than
1247 the first attribute.
1248 - HandleError() now supports ValidationType.None (i.e. does nothing).
1249 - ValidateAttribute() now collects and resolves attribute value
1250 entity references. (On the other hand, it doesn't support
1251 EntityHandling.ExpandCharEntity.)
1252 - NodeType shouldn't return Attribute after ReadAttributeValue().
1253 Now only Text is supported, but must also support EntityReference.
1254 - Add FilterNormalization() and partially support Normalization.
1256 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1258 * XmlTextReader.cs :
1259 Read() now handles parser context stuff (BaseURI, XmlLang and
1260 XmlSpace) correctly for an empty element.
1261 Normalization property now doesn't throw an error. Will be used soon.
1262 * XmlValidatingReader.cs : added ValidationType.None support (wait for
1263 the next DTDValidatingReader update for "not firing event handler).
1264 * XmlNodeReader.cs : jun. 30th commit seems wrong. It keeps its state.
1266 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1268 * DTDValidatingReader.cs :
1269 changed base class to XmlReader and implemented IXmlLineInfo members.
1270 changed .ctor() argument from event handler to validating reader.
1271 Removed some #if ... #else ... #endif blocks.
1272 Added validation event support for Read() using HandleError().
1273 * XmlValidatingReader.cs : added internal OnValidationEvent().
1274 * XmlDocument.cs : ReadNode() now checks reader's state more strictly.
1276 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1278 * XmlUrlResolver.cs : applied BenM's patch for file uri problem
1281 2003-07-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1283 * DTDValidatingReader.cs :
1284 added DTDObjectModel support for non-XmlTextReader XmlReader
1285 e.g. XmlNodeReader (Read() method).
1287 added internal CreateDocumentType(XmlTextReader) and moved
1288 ReadDoctypeNode() to XmlDocumentType.ImportFromDTD().
1289 * XmlDocumentType.cs :
1290 added internal .ctor(XmlTextReader, document) and ImportFromDTD().
1291 * XmlTextReader.cs :
1292 Renamed useSbForVal (valueBuilderAvailable), valSb (valueBuilder)
1293 and currentSubset (DTD).
1294 Added GenerateDTDObjectModel() (for independent doctype parsing).
1296 2003-07-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1299 .ctor() should reject xml- or xmlns-prefixed node.
1300 * XmlNamespaceManager.cs :
1301 added some xmlns validity check.
1303 optimized GetNamespaceOfPrefix() and GetPrefixOfNamespace() by
1304 avoiding XmlNamespaceManager creation.
1305 * XmlNodeReader.cs :
1306 doctype node should return PUBLIC and SYSTEM for its indexer,
1307 and Value should be internal subset,
1309 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1311 * DTDObjectModel.cs,
1312 DTDValidatingReader.cs : Completely rewrote attribute handling.
1314 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1317 XmlElement.cs : Fixed CloneNode() for bug #46129.
1318 * XmlDocument.cs : Fixed MakeReaderErrorMessage that specified invalid
1319 String.Format arguments, and basically XmlException.ctor(
1320 IXmlLineInfo, message) seems good idea to use.
1321 * XmlTextReader.cs :
1322 - Fixed .ctor(Stream, XmlNodeType, XmlParserContext) which had
1323 required non-null context which don't have to exist.
1324 - Added state check. Introduced 'currentState' and 'maybeTextDecl'
1325 (for external entity) and removed hasEnteredDocument. Added
1326 state-check logic to ReadStartTag(), ReadEndTag(), ReadText(),
1327 ReadCData(), ReadDoctypeDecl() and ReadWhitespace().
1328 - Replaced throw ReaderError() with throw new XmlException() and
1329 fixed that some error hadn't thrown, only created.
1330 - ResetState() should re-initialize existing private members other
1331 than some specified fields.
1332 - Private AddAttribute() should check if the same-named attribute
1334 * DTDObjectModel.cs : Additive declaration for ATTLIST is availabe now.
1336 2003-07-09 Lluis Sanchez Gual <lluis@ximian.com>
1338 * XmlTextReader.cs : Implemented ResetState() method.
1340 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1342 * XmlElement.cs : IsEmpty has removed attributes since it incorrectly
1345 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1347 * XmlDocument.cs : Load(string filename) should close its stream.
1348 Small change for the latest DTDObjectModel change.
1349 * XmlTextReader.cs : Changed for the latest DTDObjectModel change (all
1350 changed methods are only related to DTD stuff).
1351 Now uses XmlSchemaDatatype for attribute type definition.
1352 * XmlValidatingReader : initial (limited) support for DTD validation.
1353 It can handle only XmlTextReader.
1354 * DTDObjectModel.cs : changed radically for initial validation support.
1355 * added DTDAutomata.cs and DTDValidatingReader.cs.
1357 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1359 * XmlElement.cs : Removed extraneous xmlns output support (it should
1360 be done by XmlTextWriter).
1361 * XmlNode.cs : InsertBefore() now checks validity of the newChild (and
1362 most of the changes are in fact indentation changes).
1363 * XmlWriter.cs : WriteAttributes() now can write entity references.
1364 WriteNode() now writes xmldecl attributes correctly.
1365 Removed namespaceManager and xmlns check logic, since it should be
1366 done by individual XmlTextWriter.
1367 * XmlTextWriter.cs : Patch by Jerome. AddMissingElementXmlns () has
1368 written multiple xmlns declarations.
1369 Moved namespaceManager from abstract XmlWriter.
1370 Write{Start|End}Attribute() and WriteString() now checks xmlns
1371 attribute value. (MS.NET holds value only with this write method).
1373 2003-07-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1375 * XmlDocument.cs : removed xmlReader.Close() from Load(XmlReader).
1377 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1379 * XmlDocumentNavigator.cs : Implemented MoveTo*Namespace() and
1380 essentially changed most of the property handling (e.g. removed attribute
1381 enumerator and it now became really cloneable).
1382 * XmlNodeReader.cs : ReadInnerXml() changes its state as error
1383 when the method is called at Initial state.
1385 2003-06-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1387 * XmlDocumentNavigator.cs : Fixed IsEmptyElement. It treats <foo></foo>
1388 as non-empty, and XmlElement's IsEmpty is designed as such.
1389 Fixed MoveToFirst() and MoveToNext() not to move to xmldecl nor
1391 * XmlNode.cs : Fixed XPathNodeType. It should throw an exception
1392 instead of returning undefined enum value.
1393 Modified some code comments.
1394 * XmlWriter.cs : Fixed WriteNode () to use WriteFullEndElement()
1395 when XmlReader's node is not at empty element or at EndElement.
1396 Fixed XmlDeclaration's standalone check.
1398 2003-06-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1400 * XmlTextReader.cs : removed CRLFs. Fixed private InitializeContext()
1401 to use known Uri way (used in XmlUrlResolver) instead of UriBuilder.
1403 2003-06-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1405 * XmlInputStream.cs : quick fix for public ctor() BaseURI bug.
1407 2003-06-20 Ben Maurer <bmaurer@users.sourceforge.net>
1409 * XmlTextReader.cs: Reduces memory allocation when the reader is
1410 not queried for some values.
1411 * NameTable.cs: Now uses a custom hashtable to implement. As a
1412 result, when Get (char[], int, int) is called, a string is only
1413 allocated if it is actually a new entry.
1414 (StrEqArray) Compares a string and a char[]
1415 (AddEntry) Adds a new entry to the hashtable
1416 (Entry) Represents a hashtable entry.
1418 2003-06-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1420 * XmlUrlResolver.cs : several ResolveUri() fix. e.g. for external URIs.
1422 2003-06-16 Ben Maurer <bmaurer@users.sourceforge.net>
1423 * XmlUrlResolver.cs: really fixed #44231
1425 2003-06-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1427 * XmlNodeReader.cs : fixed MoveToNextAttribute(). In some cases
1428 this method set current node null.
1429 * XmlTextReader.cs : fixed GetAttribute (name, ns), which returned
1430 String.Empty instead of null (expected value).
1433 XmlInputStream.cs : fixed BaseURI problem (bug #44231).
1435 2003-06-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1437 * XmlNodeReader.cs : this [name] and this [name, ns] (and
1438 GetAttribute() methods in turn) returns null instead of String.Empty.
1439 * XmlTextWriter.cs : WriteStartAttribute() should try to use specified
1440 prefix before auto-generating prefixes.
1441 Implemented WriteBase64().
1443 2003-06-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1445 * XmlNodeReader.cs : LookupNamespace () has refered invalid current
1446 node for attributes. Modified to use private "document" property.
1448 2003-06-10 Lluis Sanchez Gual <lluis@ximian.com>
1450 * XmlTextWriter.cs: when adding an attribute with a namespace, a prefix must be automaticaly
1451 generated, and a namespace declaration must be added.
1452 * XmlWriter.cs: the namespace for the prefix xmlns must be http://www.w3.org/2000/xmlns/
1454 2003-06-10 Zoltan Varga <vargaz@freemail.hu>
1456 * XmlAttribute.cs: Accept a null prefix or namespaceURI.
1458 2003-06-10 Duncan Mak <duncan@ximian.com>
1460 * XmlDocumentNavigator.cs (GetNode): Make it implement
1463 2003-06-05 Lluis Sanchez Gual <lluis@ideary.com>
1465 * XmlTextWriter.cs : Fixed bug. After calling for example WriteStartElement ("pref","ln","ns");
1466 a call to LookupPrefix ("pref") when still writting attributes should
1467 return "ns", and it didn't.
1469 2003-06-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1471 * XmlDocumentNavigator.cs : quick fix for MoveToFirstChild().
1472 * XmlConvert.cs : fixed VerifyNCName() to check correctly.
1474 2003-06-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1476 * XmlDocumentNavigator.cs : Compute document node one time.
1477 MoveToFirstChild() should move to PIs and comments.
1479 2003-05-30 Miguel de Icaza <miguel@ximian.com>
1481 * XmlReader.cs (ReadStartElement): Improve error message.
1483 2003-05-28 Lluis Sanchez Gual <lluis@ideary.com>
1485 * XmlTextReader.cs : MoveToAttribute methods must set the enumerator to the right
1486 position, since MoveToNextAttribute may be called after it.
1487 SetProperties(): attributes do not "inherit" the namespace.
1488 * XmlDocument.cs: ReadNode(), ReadAttributeNode(): must keep the current reader position.
1490 2003-05-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1492 * NameTable.cs : Add() sets the given name string interned.
1493 * XmlParserContext.cs : added internal PushScope() and PopScope() to
1494 hold stacks of xml:base, xml:lang and xml:space.
1495 * XmlTextReader.cs : implemented XmlLang and XmlSpace (only as a
1496 property for stacked attributes). Renamed Initialize() to Initialize-
1497 Context(). Modified to use XmlParserContext.PushScope()/PopScope().
1499 2003-05-26 Lluis Sanchez Gual <lluis@ximian.com>
1501 * XmlReader.cs: Little fix to WriteAttributeString()
1503 2003-05-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1505 * XmlAttribute.cs, XmlCharacterData.cs, XmlComment.cs, XmlDocument.cs,
1506 XmlDocumentFragment.cs, XmlElement.cs, XmlEntity.cs, XmlLinkedNode.cs,
1507 XmlNode.cs, XmlNotation.cs, XmlProcessingInstruction.cs, XmlReader.cs,
1508 XmlSignificantWhitespace.cs, XmlText.cs, XmlWhitespace.cs:
1509 Reverted the recent accessibility mistake (5/16).
1510 * XmlDocument.cs, XmlNode.cs : moved actual CreateNavigator() logic
1511 from XmlNode to XmlDocument.
1513 2003-05-18 Lluis Sanchez Gual <lluis@ideary.com>
1515 * XmlQualifiedName.cs : Fixed bug in equality operator.
1517 2003-05-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1519 * XmlTextWriter.cs : patch by Jonathan Hogg. Flush() does not close
1520 any open attributes or elements. WriteWhitespace() checks state and
1521 closes start tag. Fixed WriteStringInternal() to replace CR/LF chars
1522 when it is called inside attribute value.
1523 * XmlException.cs : added .NET 1.1 .ctor.
1524 * added XmlSecureResolver.cs (only stubbing).
1525 * XmlAttribute.cs : set_InnerXml() should remove children.
1528 XmlDocumentFragment.cs,
1529 XmlDocument.cs : removed XmlTextReader reuse (It was buggy stuff).
1530 * XmlNode.cs : RemoveAll() should also remove all attributes.
1531 * XmlTextRader.cs : .ctor() for attribute value reader should add
1532 quotations at initialization, since it requires quote chars.
1533 * XmlWriter.cs : WriteAttributeString() more correct xmlns check.
1535 2003-05-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1537 * changed XPathNodeType modifier to internal *protected* override.
1538 * XmlAttribute.cs : .ctor() now checks name validity e.g. xmlns.
1539 * XmlAttribute.cs, XmlElement.cs : set_Prefix checks NCName validity.
1540 * XmlAttributeCollection.cs : removed some incorrect TODO attributes.
1541 * XmlDocument.cs ; CreateAttribute(name) now auto-completes xmlns NSURI
1542 when the argument is "xmlns".
1543 * XmlElement.cs : more compliant IsEmpty support. See also WriteTo().
1544 * XmlNamespaceManager.cs : added initial "xml" and "xmlns" namespaces.
1545 * XmlNode.cs : ser_InnerXml() throws InvalidOperationException.
1546 * XmlNodeReader.cs : LookupNamespace() refactory. Fixed ReadInnerXml()
1547 not to set error state for non-started XmlNodeReader.
1548 * XmlTextReader.cs : fixed ReadAttributeValue() not to reset state.
1549 BaseURI support. Fixed Initialize() to handle Attribute correctly.
1550 SetProperty for attribute auto-completes xmlns NSURI.
1551 Attribute and whitespace handling became more correct.
1552 Don't parse external DTD if XmlResolver is null.
1553 * XmlTextWriter.cs : implemented WriteEntityRef().
1554 WriteStartAttribute() checks if ns does not equal to that of xmlns.
1555 * XmlWriter.cs : trivial refactoring (WriteNode() xmldecl output).
1557 2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1559 * XmlConvert.cs : IsInvalid() Now uses XmlConstructs.IsName(Start).
1560 EncodeName() now correctly encodes invalid names.
1561 Result string of ToString(DateTime) contains "fffffff".
1563 2003-04-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1565 * XmlElement.cs : fixed IsEmpty (removed private field isEmpty).
1566 * XmlNodeReader.cs : Fixed AttributeCount, each this[] (indexers),
1568 Fixed this[] to work correctly against XmlDeclarations.
1569 Fixed ReadInnerXml() and ReadOuterXml() to call Read() correctly.
1570 (which may prevent validations etc.)
1573 XmlTextReader.cs : Fixed ReadString() to be compliant with each
1575 * XmlTextReader.cs : ReadInnerXml() now moves to next node correctly.
1577 2003-04-27 Pedro MartÃnez Juliá <yoros@wanadoo.es>
1579 * XmlNode.cs: ensure to get a valid Uri in BaseUri when loading the
1580 source document from a file.
1582 2003-04-27 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1584 * XmlAttribute.cs : fixed WriteTo() and WriteContentTo() to write
1585 content EntityReference correctly.
1586 * XmlNodeReader.cs : many fix for EndElement handling (AttributeCount,
1587 HasAttributes, indexers, MoveTo*Attribute() and Read() ).
1588 Modified Skip() to call Read () explicitly.
1589 * XmlTextReader.cs :
1590 Fixed ReadInnerXml() which ignored EndElement token in certain cases.
1591 Implemented MoveToAttribute (local, ns), and modified GetAttribute()
1592 in relation to this change.
1593 Attributes for XmlDeclaration are now correctly set.
1594 * XmlTextWriter.cs : WriteRaw() is now different from WriteString().
1595 Simplified WriteAttributes() for XmlDeclaration.
1597 2003-04-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1599 * XmlTextReader.cs : fixed ReadInnerXml(). it was inconsistent with
1602 2003-04-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1604 * XmlDocument.cs : fixed Load() to set baseURI correctly.
1605 * XmlReader.cs : patch by Gonzalo. Fixed not to skip XmlDeclaration.
1606 * XmlTextReader.cs :
1607 fixed Depth. When it's on StartElement, Depth was already incremented.
1608 fixed private SaveProperty(), which moved away its saved properties
1609 when MoveToElement was called repeatedly.
1610 * XmlTextWriter.cs : fixed WriteQualifiedName() to close start tag.
1612 WriteAttributes() refactory (for XMLDecl).
1613 WriteNode() don't Read() when the reader is Initial state, let other
1614 invokation to Read(). In case of Element, it should write entire
1615 element. In case of Attribute, it shouldn't Read().
1616 WriteStartDocument() should omit standalone decl. when there is no
1619 2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1621 * XmlReader.cs: reverted last patch. It breaks System.Configuration
1622 because 1. it considers XmlDeclaration as content and 2. always
1623 returns XmlNodeType.None.
1626 2003-04-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1628 * Added missing ChangeLog of 4/4/2003.
1629 * XmlTextWriter.cs : patch by Erik. fixed WriteQualifiedName.
1630 (write prefix instead of ns.)
1631 * XmlInputStream.cs : file access mode fix (FileAccess.Read was missing)
1632 * XmlTextReader.cs : modified to call Read() instead of ReadContent().
1633 (It may be required for decorated reader such as XmlValidatingReader.)
1634 Changed Read() error message for mismatch end tag.
1635 * XmlDocument.cs : (ReadNode) friendly message for mismatch EndElement.
1636 * XmlReader.cs : Corrected misinterpreted MoveToContent() method.
1638 2003-04-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1640 * XmlDocument.cs : Load() now closes the given XmlReader.
1641 Don't allow creation of XmlTextReader for Doctype. (workaround.)
1642 * XmlInputStream.cs : It now closes its internal stream explicitly.
1643 * XmlNode.cs : RemoveChild() bugfix for removing LastLinkedChild.
1644 * XmlNodeReader.cs : GetAttribute() bugfix for not-present attribute.
1645 * XmlParserInput.cs : added Close() method.
1646 * XmlReader.cs : MoveToContent() should (1) not Read in case of empty
1647 element, and (2) MoveToElement() in case of attribute.
1648 * XmlTextReader.cs : Close() now actually closes source TextReaders.
1650 2003-03-26 Duncan Mak <duncan@ximian.com>
1652 * XmlTextWriter.cs (Write): A patch from Atsushi to fix
1653 prematurely ending the write, or something like that. It was
1654 causing us to chop off the end of the document when we're trying
1655 to generate XML Schemas.
1657 2003-03-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1659 * XmlTextReader.cs : implemented ReadString().
1660 fixed ctor(string, XmlNodeType, XmlParserContext) - don't raise
1661 null reference exception when context is null.
1662 * XmlNodeReader.cs : fixed ReadString() - should ignore attributes etc.
1663 fixed Read() - when positioned at EndElement, it didn't progress.
1664 fixed HasAttribute - it didn't return false in all cases.
1665 fixed Name and LocalName - only limited type of nodes return names.
1666 fixed AttributeCount - in some cases it threw null ref exception.
1668 2003-03-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1670 * XmlTextWriter.cs : WriteStartDocument doesn't set hasRoot=true, then
1671 WriteEndDocument without root element now raises an error correctly.
1672 * XmlDocumentNavigator.cs : (MoveToFirstChild) fixed bugzilla #36672.
1673 implemented BaseURI, NameTable, XmlLang, GetAttributes, GetNamespace,
1676 2003-03-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1678 * XmlElement.cs : RemoveAttribute now don't throws when specified
1679 attribute does not exist.
1681 2003-03-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1683 * XmlNode.cs : add descriptions for some node type error.
1685 2003-03-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1687 * XmlNodeArrayList.cs, XmlNodeListChildren.cs : bugzilla #39920 fix.
1689 2003-03-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1691 * XmlDeclaration.cs : quick fix, not to use regex for set_Value.
1693 2003-03-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1695 * XmlTextReader.cs : Fixed wrong notationdecl SYSTEM id read.
1696 * XmlInputStream.cs : Should allow versionless input stream entity.
1698 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1700 * added XmlParserInput.cs for multi xml document sources.
1701 * added DTDObjectModel.cs (maybe temporary).
1702 * XmlTextReader.cs :
1703 + fixed ctor to use XmlStreamReader. Allowed null XmlParserContext.
1704 + Some members such as LineNumber, ReadChar now uses XmlParserInput.
1705 + added support for Namespaces (namespace-ignorant parse available).
1706 + added support for XmlResolver.
1707 + replace SetReaderContext()/SetReaderFragment() with Initialize().
1708 + use NameTable in CreateNameString.
1709 + fixed ReadCData(). Now reads "]]]>" correctly.
1710 + support for DTD parse.
1711 + Read() now throws an error when it reached EOF while Depth > 0.
1713 XmlDocumentFragment.cs,
1714 XmlElement.cs : fix related to the changes of XmlTextReader.Initialize
1715 * XmlDocument.cs : ReadNode() now reads DocumentType.
1716 * XmlDocumentType.cs : implemented Entities, Notations, WriteTo().
1718 XmlNotation.cs : added override LastLinkedChild (for doctype node).
1719 * XmlNamedNodeMap.cs : Remove() raises an error if target is read only.
1720 * XmlElement.cs : bugfix for node removal of set_InnerXml.
1721 * XmlNode.cs : added insertBeforeIntern() derived from InsertBefore().
1722 (to append child XmlEntity into XmlDocumentType correctly.)
1723 * XmlInputStream.cs : fixed to access file with FileAccess.Read.
1725 2003-03-15 Duncan Mak <duncan@ximian.com>
1727 * XmlElement.cs (Name): Only append prefix + ':' when prefix is
1728 neither String.Empty nor null. Thanks to Simon Guindon for
1729 reporting the bug and Jackson for fixing this bug with me.
1731 2003-03-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1733 * XmlConstructs.cs : fix "int IsXXX()" to reject negative value.
1734 * XmlDocument.cs : simplify Load(string url) to use XmlTextReader.
1735 fixed ReadNode(), it should call reader.Read() only on Initial state.
1736 * XmlInputStream.cs : Changed namespace. Added XmlStreamReader(stream)
1737 and XmlStreamReader (string). Fixed XmlInputStream(url) not to use
1738 System.Net.WebClient directly.
1739 * XmlParserContext.cs : baseURI never be null.
1740 * XmlTextWriter.cs : use WebName for Encoding instead of HeaderName.
1741 * XmlUrlResolver.cs : namespace change for XmlInputStream.
1743 2003-03-12 Elan Feingold <efeingold@mn.rr.com>
1745 * XmlTextReader.cs: When throwing a ReaderException, show what
1746 character was the culprit
1748 2003-03-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1750 * XmlDocumentFragment.cs, XmlElement.cs :
1751 modified InnerXml (fragment type from Element to DocumentFragment).
1753 * XmlElement.cs : fixed WriteTo() ns check.
1754 * XmlNamespaceManager.cs : MS.NET allows Add() used two or more times.
1755 * XmlNode.cs : fixed ConstructNamespaceManager().
1757 * XmlConstructs.cs : added IsSpace, IsName, IsNameStart, IsNCName,
1758 IsPubid with an int arg.
1759 * XmlReader.cs : changed to use XmlChar.cs (its role is as same as
1761 * XmlTextReader.cs :
1762 improved error messages with line info.
1763 / checking matching start and end tags.
1764 / prevents the apperance of multiple root elements. (patch by Erik)
1765 fixed and refactored ReadInnerXml() and ReadOuterXml()
1766 changed to use XmlChar.cs.
1768 * XmlTextWriter.cs : changed to put element's xmlns at CloseStartTag ()
1769 (It will help c14n implementation.)
1770 / blocks multiple attribute output with element node.
1772 2003-02-28 Alan Tam <Tam@SiuLung.com>
1774 * XmlConvert.cs: fixed the most ToXXX(string) and ToString(XXX)
1775 methods to make them compatible with the XML Schema Spec from W3C
1776 ToString(TimeSpan) is still outstanding
1778 2003-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1781 (Load (string)): hack to workaround some issues with Uri.Parse. Once
1782 Parse is fixed, remove the hack.
1784 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1786 * XmlQualifiedName.cs : fixed GetHashCode() to avoid null reference
1787 * XmlTextReader.cs : fixed ReadAttributeValue() to handle
1788 entity reference, and some refactory.
1790 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1792 * XmlUrlResolver.cs : WebClient.Credentials was not implemented yet.
1794 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1796 * XmlInputStream.cs : added (also contains internal XmlStreamReader).
1797 * XmlDocument.cs : Load () now can specify URL using XmlUrlResolver,
1798 and can read non-UTF-8 stream.
1799 * XmlTextReader.cs : related to above stream fix.
1800 * XmlUrlResolver.cs : implemented GetEntity ().
1802 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1804 * XmlTextWriter.cs: implemented WriteRaw (char[], int, int).
1806 2003-02-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1808 * XmlTextReader.cs : implemented QuoteChar.
1810 2003-01-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1812 * XmlNode.cs : implemented ReplaceChild.
1813 removed DocElem checking at InsertBefore.
1814 * XmlNodeReader.cs : fixed ReadString and Read for correct node info.
1815 * XmlText.cs : implemented CloneNode and SplitText.
1817 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1819 * XmlCharacterData.cs: added XPathNodeType property.
1821 2003-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1823 * XmlTextWriter.cs: throw an exception if WriteEndDocument is
1824 called without a prior call to WriteStartDocument.
1826 2003-01-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1828 * XmlNodeReader.cs : several fix to get more compatible with MS.NET.
1830 2003-01-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1832 * XmlNamespaceManager.cs : fundamental change of LookupPrefix to return
1833 null when no matching uri.
1834 * XmlElement.cs : removed unnecessary xmlns output.
1835 * XmlNode.cs : GetPrefixOfNamespace fix along with the change above.
1836 * XmlTextWriter.cs : LookupPrefix and WriteStartElementInternal fix
1837 along with the change above, and moved timing of 'xmlns' output
1838 to CloseStartElement.
1839 * XmlWriter.cs: modified WriteStartAttribute, same as yesterday.
1841 2003-01-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1843 * XmlWriter.cs: modified WriteStartElement (see test for detail).
1846 2003-01-13 Ville Palo <vi64pa@koti.soon.fi>
1848 * XmlDocument.cs: Added CheckName () method to check names validity.
1850 2003-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1853 (ReadOuterXml): use Depth property which return elementDepth, not depth.
1855 2003-01-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1857 * XmlElement.cs : (by ville) XmlElement.set_InnerText event bugfix.
1858 * XmlTextReader.cs : some fix for ReadOuterXml().
1860 2003-01-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1862 * XmlTextReader.cs : bugfix for attributes related to creation of
1863 XmlAttribute *node*.
1865 2003-01-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1867 * XmlTextReader.cs : bugfix for attribute values which have entity
1870 2002-12-28 Ville Palo <vi64pa@koti.soon.fi>
1872 * XmlDocument.cs: XmlTextWriter.Formatting == Indented when
1873 calling Save () -methods.
1875 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1877 * XmlNodeReader.cs : primitive reading implementation.
1879 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1881 * XmlElement.cs : quick fix for the incomplete patch of #35308 below.
1883 2002-12-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1885 * XmlDocument.cs : removed inconsistent line-feed output.
1886 * XmlElement.cs, XmlTextWriter.cs :
1887 fixed for bugzilla 35308 (default ns output)
1888 * XmlWhitespace.cs : limited output only when preserving whitespace.
1890 2002-12-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1892 * XmlAttribute.cs, XmlDocument.cs, XmlTextReader.cs:
1893 Implemented XmlTextReader.ReadAttributeValue().
1894 Added internal ReadAttributeNodeValue().
1895 Fixed XmlAttribute.InnerXml to use these methods.
1897 * XmlDocument.cs, XmlDocumentFragment.cs, XmlElement.cs, XmlNode.cs:
1898 Implemented XmlDocument.ReadNode() and removed ConstructDOM().
1899 Other changes are replacing them.
1901 2002-12-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1903 * XmlDocument.cs: patch by Ville (fixed default PreserveWhitespace)
1905 2002-12-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1907 * XmlElement.cs, XmlTextWriter.cs, XmlWriter.cs:
1908 patch by JD Conley <jconley@winfessor.com>.
1909 (Fix for xmlns attribute output.)
1911 2002-12-05 Ville Palo <vi64p@koti.soon.fi>
1913 * XmlQualifiedName.cs: Little fix to ToString () -method
1915 2002-12-04 Tim Haynes <thaynes@openlinksw.com>
1917 * class/System.XML/System.Xml/XmlElement.cs: Made more refined
1918 checks on attributeNode to fix 32262.
1920 2002-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1922 * XmlDocument.cs (CreateNavigator(XmlNode)) : reverted
1923 * XmlTextWriter.cs (WriteStartElementInternal):
1924 fixed when default namespace was specified, all descendants
1925 fail to omit the default namespace declarations.
1928 XmlNode.cs (internal XmlLang/XmlSpace) : implemented(defined)
1930 XmlDocumentFragment.cs,
1931 XmlElement.cs (set_InnerXml): now uses XmlLang/XmlSpace
1932 * XmlElement.cs (set_IsEmpty) : implemented
1933 (WriteTo) : removed my improper indenting (Writer already done)
1934 * XmlNode.cs (BaseURI) : fixed if ParentNode is null, NullPointerEx
1935 (ConstructDOM) : implemented when xmlReader isn't XmlTextReader
1936 ...and renamed XmlDocument.ConventionalParser to ReusableReader ;-)
1938 2002-12-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1940 * XmlNode.cs (RemoveChild):
1941 bugfixed when XmlNode is Document OwnerDocument is null
1942 * XmlDeclaration.cs (Value):
1943 bugfixed regular expression pattern.
1944 * XmlDocument.cs (CreateNavigator): bugfixed access modifier.
1946 2002-11-24 Duncan Mak <duncan@ximian.com>
1948 * XmlImplementation.cs (HasFeature): Fixed a typo. Thanks for
1949 Fabricio Barros Cabral (fx) on #mono for spotting it. This is his
1950 first patch to Mono! ;-)
1952 2002-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1955 (AppendChild): readded refChild != null condition before throwing
1956 "cannot insert this node in this position" exception. There's probably
1957 a better solution. Fixes #34191.
1958 (RemoveAll): changed following Atsushi instructions.
1961 2002-11-13 Duncan Mak <duncan@ximian.com>
1963 * XmlElement.cs (IsEmpty): A temporary check-in to keep gtk-sharp
1966 2002-11-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1968 * XmlDocument.cs : unified all constructors, added ConventionalParser,
1969 implemented CloneNode() and CreateEntityReference(),
1970 * XmlEntityReference.cs : set_Value, WriteContentTo, WriteTo
1971 set BaseURI to MonoTODO
1972 * XmlNode.cs : implemented PrependChild, modified ConstructDOM,
1973 bugfix InsertAfter (incorrect prepending) and InsertBefore
1974 (more than one DocumentElements hadn't caused errors)
1975 * XmlTextReader.cs : unified all constructors,
1976 added internal SetReaderContext(), SetReaderFragment()
1977 bugfix (syntax check of PUBLIC / getting internal subset)
1979 2002-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1981 XmlAttribute.cs : set_InnerText, set_InnerXml, some check for set_Prefix
1982 XmlAttributeCollection.cs : (indexer) this[localName, namespaceURI]
1983 XmlCharacterData.cs : exchanged Data and Value
1984 (for processing events and inheritance)
1985 XmlDocumentFragment.cs : set_InnerXml
1986 XmlSignificantWhitespace.cs : set_Value
1987 XmlTextReader.cs : ReadAttributeValue
1989 2002-11-04 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1991 XmlAttribute.cs: fixed missing internal 'OwnerElement''SetOwnerElement'
1993 2002-11-03 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
1995 * XmlAttributeCollection.cs : checks owner element.
1996 implemented CopyTo, InsertAfter, InsertBefore, Prepend,
1997 Remove, RemoveAt, SetNamedItem.
1998 removed some logics that sets 'Parent' (that should be null)
1999 * XmlDocument.cs : set_InnerXml, [PreserveWhitespace(incomplete)]
2000 * XmlDocumentFragment.cs : get_InnerXml, WriteContentTo, WriteTo
2001 * XmlElement.cs : implemented WriteTo, set_InnerText.
2002 Fixed WriteTo() to add xmlns:* attributes when
2003 writer.LookupPrefix() returned mismatching.
2004 * XmlNamedNodeMap.cs : compare not only name but localname and nsuri.
2005 Removing different prefixes for the same uri now runs correct.
2006 added SetNamedItem(XmlNode node, int position_to_insert).
2007 * XmlNode.cs : ConstructDOM (logically) creates XmlEntityReference,
2008 XmlWhitespace, and XmlSignificantWhitespace
2010 2002-10-31 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
2012 * XmlDocument.cs : implemented CreateDocumentFragment()
2013 * XmlElement.cs, XmlLinkedNode.cs :
2014 moved LastLinkedChild from XmlElement to XmlLinkedNode.
2015 * XmlEntityReference.cs : must throw NotImplementedException.
2017 + implemented InsertBefore() and then implemented InsertAfter()
2018 and modified AppendChild() to call it.
2019 + added logic to check ReadOnly, parent document equivalence,
2020 and inserting any 'content' before/after DocumentElement.
2021 + implemented Clone() [it is equals to CloneNode() by MS doc.]
2022 + added logic in RemoveChild() to check parent of oldChild.
2023 + fixed ConstructNamespaceManager() to internal only.
2025 2002-10-29 Atsushi Enomoto <gigna@kit.hi-ho.ne.jp>
2027 * XmlAttribute.cs : add internal 'IsDefault' property
2028 (equals to !Specified)
2029 * XmlImplementation.cs : added 'internalNameTable' property.
2031 + now allows "" for 'standalone' in CreateXmlDeclaration.
2032 + implemented 'Implementation' property and constructor with it.
2033 + added logic for appending name table (but still no use)
2034 + implemented property 'DocumentType'
2035 (but without internalSubset parsing. wait for next update.)
2037 + modified AppendChild() and RemoveChild() to support fragment.
2038 + modified AppendChild() to remove newChild from its parent
2039 when newChild is already in the other place.
2040 + modified RemoveChild() to set parentNode null.
2041 + modified ConstructDOM() to create DocumentType,
2042 and fixed access modifier ('internal protected' to 'internal')
2043 * XmlLinkedNode.cs : fixed 'NextSibling' to return null
2044 when its parent is null.
2045 * XmlDocumentFragment.cs : added internal override 'LastLinkedChild'
2046 property to enable AppendChild() for this class.
2047 * XmlTextReader.cs : appended private publicId and systemId fields.
2049 2002-10-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2051 * XmlTextReader.cs: make it work when the underlying Stream is not
2054 2002-10-26 Piers Haken <piersh@friskit.com>
2056 * XmlNode.cs: add virtual property XPathNodeType
2061 * XmlProcessingInstruction.cs:
2062 * XmlSignificantWhitespace.cs:
2064 * XmlWhitespace.cs: implement XPathNodeType property
2065 * XmlDocumentNavigator.cs: use XPathNodeType property instead of switch
2067 2002-10-26 Piers Haken <piersh@friskit.com>
2069 * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
2071 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2073 * XmlTextReader.cs: don't increment depth for entity references.
2075 2002-10-22 Tim Haynes <thaynes@openlinksw.com>
2077 * - Fixed the duplication of xmlns:xx = yy when serializing the
2078 XML for serialization
2080 Fixed the unnecessary parsing/serializing when adding assemblies
2083 Avoided setting the XmlNode.InnerXml property
2084 (as it's not implemented)
2086 Fixed the usage/implementation of
2087 XmlElement.GetElementsByTagName()
2089 2002-10-21 Duncan Mak <duncan@ximian.com>
2094 * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
2095 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
2097 2002-10-18 Duncan Mak <duncan@ximian.com>
2099 * XmlDocument.cs: Applied a patch by Atsushi Enomoto
2100 <ginga@kit.hi-ho.ne.jp>.
2102 2002-10-12 A.Enomoto <ginga@kit.hi-ho.ne.jp>
2104 * XmlDocument.cs (ImportNode): Implemented
2106 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2108 * XmlDocument.cs: one more Load method implemented.
2109 * XmlTextReader.cs: Depth now works.
2111 2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2113 * XmlConvert.cs: IsInvalid is now internal.
2114 * XmlNamespaceManager.cs: implemented RemoveNamespace
2115 * XmlTextReader.cs: return BaseURI and Encoding from the parser.
2116 * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
2118 2002-09-19 Matt Hunter <mahunter@tconl.com>
2120 * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
2121 * XmlAttributeCollection.cs: Implemented Append (XmlAttribute)
2123 2002-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2125 * XmlConvert.cs: finished implementation.
2126 * XmlTextReader.cs: fixed #30239.
2127 * XmlTextWriter.cs: fixed #30240.
2129 2002-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2131 * XmlTextReader.cs: line and position begin with 1.
2133 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2135 * XmlException.cs: added a new internal constructor for IXmlLineInfo
2136 and output line and position info in Message.
2138 * XmlReader.cs: implemented missing bits.
2140 2002-09-12 Piers Haken <piersh@friksit.com>
2142 * XmlDocumentNavigator.cs: implement MoveToId()
2144 2002-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2146 * XmlTextWriter.cs: fixed bug #29886.
2148 2002-08-26 Ravi Pratap <ravi@ximian.com>
2151 * XmlAttribute.cs (InnerText): Implement getting this property.
2153 * XmlNode.cs (InnerText): Ensure that we append only values of
2156 2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2158 * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
2159 that allowed compiling this.
2160 [ FIXME: filed bug #29435. mcs should have failed on this ]
2162 2002-08-25 Tim Coleman <tim@timcoleman.com>
2164 Change CreateNavigator to not be virtual.
2166 Add set_Prefix and InnerText accessors.
2167 * XmlEntityReference.cs:
2168 Add set_Value accessor.
2170 Make objects which should be private private.
2172 Remove WriteStartElementInternal abstract definition.
2173 * XmlValidatingReader.cs:
2176 2002-08-22 Jason Diamond <jason@injektilo.org>
2178 * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
2179 and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
2181 2002-08-22 Jason Diamond <jason@injektilo.org>
2183 * XmlElement.cs: Correction to previous GetElementsByTagName patch
2184 courtesy of Matt Hunter <xrkune@tconl.com>.
2186 2002-08-22 Jason Diamond <jason@injektilo.org>
2188 * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
2189 qualified GetElementsByTagName courtesy of Matt Hunter
2192 2002-08-19 Jason Diamond <jason@injektilo.org>
2194 * XmlDocument.cs, XmlElement.cs: Added implementation of
2195 GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
2197 2002-08-16 Jason Diamond <jason@injektilo.org>
2199 * XmlElement.cs: Fixed writing out qualified elements courtesy of
2200 Marcus Bürgel <marcus.buergel@gmx.de>.
2202 2002-08-13 Tim Coleman <tim@timcoleman.com>
2204 Partial implementation of WriteQualifiedName ().
2206 2002-08-07 Kral Ferch <kral_ferch@hotmail.com>
2207 * XmlCharacterData.cs: Implemented AppendData(), DeleteData(),
2208 InsertData(), and ReplaceData(). These methods fire the
2209 NodeChanging and NodeChanged events.
2211 * XmlDocument.cs: Fixed bugs in onNodeChanged() and onNodeChanging().
2213 * XmlNode.cs: AppendChild() fires NodeInserting and NodeInserted events.
2214 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
2216 2002-08-03 Tim Coleman <tim@timcoleman.com>
2217 * XmlNamespaceManager.cs:
2218 .Net allows the empty namespace to be redefined
2219 at a later point, but the current implementation
2220 did not. This fixes a hashtable conflict.
2222 2002-07-26 Tim Coleman <tim@timcoleman.com>
2224 When given a textwriter, check to see if it has a
2225 null encoding. This was being done for other inputs
2228 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
2230 * XmlTextReader.cs: rough line/column support.
2232 2002-07-23 Duncan Mak <duncan@ximian.com>
2234 * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
2235 (string, string []) is particularly strange.
2237 * XmlException.cs: Remember to call the base serialization
2240 * XmlNodeReader.cs: Keep a new variable to store the Depth.
2242 2002-07-14 Jason Diamond <jason@injektilo.org>
2244 * XmlAttribute.cs: Removed ownerElement field since we can reuse
2247 * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
2248 if the current node is an attribute.
2250 * XmlElement.cs: SetAttributeNode now sets the new attribute's
2253 2002-07-12 Jason Diamond <jason@injektilo.org>
2255 * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
2256 creating an element, use String.Empty instead.
2258 2002-07-12 Piers Haken <piersh@friksit.com>
2260 * XmlAttributeCollection.cs: implement some ItemOf indexers
2261 * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
2262 * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
2264 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
2267 2002-10-26 Piers Haken <piersh@friskit.com>
2269 * XmlDocumentNavigator.cs: return invalid XPathNodeType (-1) for unknown node types.
2271 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2273 * XmlTextReader.cs: don't increment depth for entity references.
2275 2002-10-22 Tim Haynes <thaynes@openlinksw.com>
2277 * - Fixed the duplication of xmlns:xx = yy when serializing the
2278 XML for serialization
2280 Fixed the unnecessary parsing/serializing when adding assemblies
2283 Avoided setting the XmlNode.InnerXml property
2284 (as it's not implemented)
2286 Fixed the usage/implementation of
2287 XmlElement.GetElementsByTagName()
2289 2002-10-21 Duncan Mak <duncan@ximian.com>
2294 * XmlTextReader.cs: Implementation for XmlNode.InnerXml from
2295 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>.
2297 2002-10-18 Duncan Mak <duncan@ximian.com>
2299 * XmlDocument.cs: Applied a patch by Atsushi Enomoto
2300 <ginga@kit.hi-ho.ne.jp>.
2302 2002-10-12 A.Enomoto <ginga@kit.hi-ho.ne.jp>
2304 * XmlDocument.cs (ImportNode): Implemented
2306 2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2308 * XmlDocument.cs: one more Load method implemented.
2309 * XmlTextReader.cs: Depth now works.
2311 2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2313 * XmlConvert.cs: IsInvalid is now internal.
2314 * XmlNamespaceManager.cs: implemented RemoveNamespace
2315 * XmlTextReader.cs: return BaseURI and Encoding from the parser.
2316 * XmlTextWriter.cs: implemented WriteName and WriteNmToken.
2318 2002-09-19 Matt Hunter <mahunter@tconl.com>
2320 * XmlElement.cs: Implementing SetAttributeNode(localName,namespaceURI)
2321 * XmlAttributeCollection.cs: Implemented Append (XmlAttribute)
2323 2002-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2325 * XmlConvert.cs: finished implementation.
2326 * XmlTextReader.cs: fixed #30239.
2327 * XmlTextWriter.cs: fixed #30240.
2329 2002-09-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2331 * XmlTextReader.cs: line and position begin with 1.
2333 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2335 * XmlException.cs: added a new internal constructor for IXmlLineInfo
2336 and output line and position info in Message.
2338 * XmlReader.cs: implemented missing bits.
2340 2002-09-12 Piers Haken <piersh@friksit.com>
2342 * XmlDocumentNavigator.cs: implement MoveToId()
2344 2002-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2346 * XmlTextWriter.cs: fixed bug #29886.
2348 2002-08-26 Ravi Pratap <ravi@ximian.com>
2351 * XmlAttribute.cs (InnerText): Implement getting this property.
2353 * XmlNode.cs (InnerText): Ensure that we append only values of
2356 2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2358 * XmlWriter.cs: made ws and namespaceManager protected. mcs has a bug
2359 that allowed compiling this.
2360 [ FIXME: filed bug #29435. mcs should have failed on this ]
2362 2002-08-25 Tim Coleman <tim@timcoleman.com>
2364 Change CreateNavigator to not be virtual.
2366 Add set_Prefix and InnerText accessors.
2367 * XmlEntityReference.cs:
2368 Add set_Value accessor.
2370 Make objects which should be private private.
2372 Remove WriteStartElementInternal abstract definition.
2373 * XmlValidatingReader.cs:
2376 2002-08-22 Jason Diamond <jason@injektilo.org>
2378 * XmlAttributeCollection.cs, XmlElement.cs: Implementation of RemoveAll
2379 and RemoveAllAttributes courtesy of Matt Hunter <xrkune@tconl.com>.
2381 2002-08-22 Jason Diamond <jason@injektilo.org>
2383 * XmlElement.cs: Correction to previous GetElementsByTagName patch
2384 courtesy of Matt Hunter <xrkune@tconl.com>.
2386 2002-08-22 Jason Diamond <jason@injektilo.org>
2388 * XmlDocument.cs, XmlElement.cs: Added implementation of namepsace
2389 qualified GetElementsByTagName courtesy of Matt Hunter
2392 2002-08-19 Jason Diamond <jason@injektilo.org>
2394 * XmlDocument.cs, XmlElement.cs: Added implementation of
2395 GetElementsByTagName courtesy of Matt Hunter <xrkune@tconl.com>.
2397 2002-08-16 Jason Diamond <jason@injektilo.org>
2399 * XmlElement.cs: Fixed writing out qualified elements courtesy of
2400 Marcus Bürgel <marcus.buergel@gmx.de>.
2402 2002-08-13 Tim Coleman <tim@timcoleman.com>
2404 Partial implementation of WriteQualifiedName ().
2406 2002-08-07 Kral Ferch <kral_ferch@hotmail.com>
2407 * XmlCharacterData.cs: Implemented AppendData(), DeleteData(),
2408 InsertData(), and ReplaceData(). These methods fire the
2409 NodeChanging and NodeChanged events.
2411 * XmlDocument.cs: Fixed bugs in onNodeChanged() and onNodeChanging().
2413 * XmlNode.cs: AppendChild() fires NodeInserting and NodeInserted events.
2414 RemoveAll() and RemoveChild() fire NodeRemoving and NodeRemoved events.
2416 2002-08-03 Tim Coleman <tim@timcoleman.com>
2417 * XmlNamespaceManager.cs:
2418 .Net allows the empty namespace to be redefined
2419 at a later point, but the current implementation
2420 did not. This fixes a hashtable conflict.
2422 2002-07-26 Tim Coleman <tim@timcoleman.com>
2424 When given a textwriter, check to see if it has a
2425 null encoding. This was being done for other inputs
2428 Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
2430 * XmlTextReader.cs: rough line/column support.
2432 2002-07-23 Duncan Mak <duncan@ximian.com>
2434 * XmlConvert.cs: Implement the ToDateTime method. ToDateTime
2435 (string, string []) is particularly strange.
2437 * XmlException.cs: Remember to call the base serialization
2440 * XmlNodeReader.cs: Keep a new variable to store the Depth.
2442 2002-07-14 Jason Diamond <jason@injektilo.org>
2444 * XmlAttribute.cs: Removed ownerElement field since we can reuse
2447 * XmlDocumentNavigator.cs: MoveToParent now moves to the OwnerElement
2448 if the current node is an attribute.
2450 * XmlElement.cs: SetAttributeNode now sets the new attribute's
2453 2002-07-12 Jason Diamond <jason@injektilo.org>
2455 * XmlDocument.cs: If null was passed in for prefix or namespaceURI when
2456 creating an element, use String.Empty instead.
2458 2002-07-12 Piers Haken <piersh@friksit.com>
2460 * XmlAttributeCollection.cs: implement some ItemOf indexers
2461 * XmlNamedNodeMap.cs: add internal 'Nodes' accessor for the nodeList field
2462 * XmlNode.cs: SelectNodes: return empty XmlNodeList, not null
2464 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
2466 * XmlTextWriter: Fixed Indentation. IndentationOverridden should
2467 not be set when inside a attribute.
2469 2002-07-06 Ajay kumar Dwivedi <adwiv@yahoo.com>
2471 * XmlTextWriter: In WriteStartElement, if namespace is null and
2472 prefix is null|empty do not write out xmlns=""
2474 * XmlWriter: WriteStartElement calls the virtual method with null
2475 argument instead of empty string.
2477 2002-07-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2479 * XmlTextReader.cs: implemented .ctor (Stream).
2481 2002-06-26 Duncan Mak <duncan@ximian.com>
2483 * XmlNodeReader.cs: Implementation of most of the properties, and
2484 some of the related methods.
2486 2002-06-23 Piers Haken <piersh@friskit.com>
2488 * XmlDocumentNavigator.cs: implement Clone()
2489 * XmlElement.cs: remove bogus unimplemented override of InnerText
2490 * XmlNode.cs: implment SelectNodes/SelectSingleNode
2491 * XmlNodeArrayList.cs: new support class for SelectNodes
2493 2002-06-21 Ajay kumar Dwivedi <adwiv@yahoo.com>
2495 * XmlQualifiedName: Name and Namespaces are never null. If null is passed
2496 to the constructor, set them to empty strings.
2497 Fixed the Operators.
2499 2002-06-18 Ajay kumar Dwivedi <adwiv@yahoo.com>
2501 * XmlTextReader.cs: HasLineInfo returns false instead of throwing an
2504 2002-06-14 Duncan Mak <duncan@ximian.com>
2506 * XmlConvert.cs: Added CLSCompliant attributes to methods.
2508 2002-06-12 Duncan Mak <duncan@ximian.com>
2510 * XmlCharacterData.cs (Value): Throw an ArgumentException in the
2511 set block if the node is read-only.
2513 2002-06-10 Ajay kumar Dwivedi <adwiv@yahoo.com>
2514 * XmlConstruct.cs : New Internal class with Helper methods for
2515 Checking XmlConstructs
2516 * XmlConvert.cs: Implemented most of the methods
2518 2002-06-08 Duncan Mak <duncan@ximian.com>
2520 * XmlDocument.cs (Load):
2521 Added bits to Load (string) for BaseURI support.
2523 * XmlAttribute.cs (BaseURI):
2524 * XmlDocument.cs (BaseURI):
2525 * XmlEntity.cs (BaseURI): Implemented.
2527 2002-05-27 Jason Diamond <jason@injektilo.org>
2529 * XmlDocumentNavigator.cs: Added file to directory.
2531 * XmlNode.cs (CreateNavigator): Implemented.
2532 (InnerText): Implemented.
2534 * XmlDocument.cs (NamespaceURI, Prefix): Return String.Empty instead of
2536 (Load(XmlReader)): Allow for namespace qualified attributes.
2538 * XmlElement.cs: Implemented GetAttribute(string, string) and both
2539 GetAttributeNode overloads.
2540 (SetAttributeNode(XmlAttribute)): Implemented.
2542 * XmlNamedNodeMap.cs: Fixed copy/paste bugs in GetNamedItem(string, string)
2543 and RemoveNamedItem(string, string).
2545 * XmlLinkedNode.cs (PreviousSibling): Implemented.
2547 * XmlTextReader.cs: Added code to maintain the order of attributes as
2548 they're parsed. XML doesn't require this but Microsoft's parser does it and
2549 matching them makes testing easier so now we have it, too.
2551 2002-05-26 Miguel de Icaza <miguel@ximian.com>
2553 * XmlDocument.cs: Implement the Save methods.
2555 2002-05-08 Mike Kestner <mkestner@speakeasy.net>
2557 * XmlNamedNodeMap.cs (SetNamedItem): Fixed a copy/paste bug.
2559 2002-04-28 Duncan Mak <duncan@ximian.com>
2561 * XmlSignificantWhitespace.cs (Value):
2562 * XmlWhitespace.cs (Value): Added MonoTODO to the 'set'
2563 block. Added new private method, IsValidWhitespaceChar, for
2566 2002-04-16 Duncan Mak <duncan@ximian.com>
2568 * XmlParserContext.cs (NameTable): Fixed a typo in the set block.
2570 2002-04-12 Duncan Mak <duncan@ximian.com>
2572 * XmlAttribute.cs (Prefix): Added preliminary code for set block,
2573 added comment on work that needs to be done here. A new MonoTODO item.
2575 * XmlDocument.cs (ctor): Corrected constructor signature, changed
2576 parameter from 'NameTable' to 'XmlNameTable'.
2578 * XmlDocumentFragment.cs (InnerXml): Added missing set block.
2580 * XmlCaseOrder.cs: Moved to System.Xml.XPath.
2582 2002-04-10 Duncan Mak <duncan@ximian.com>
2584 * XmlNodeReader.cs: Initial stubs for the class.
2586 2002-04-08 Kral Ferch <kral_ferch@hotmail.com>
2588 * XmlAttributes.cs: InnerXml getter, WriteContentTo, and WriteTo
2591 * XmlDeclaration.cs: WriteTo implementation.
2593 * XmlDocument.cs: InnerXml getter implementation.
2595 * XmlElement.cs: InnerXml getter implementation.
2597 * XmlNode.cs: Removed MonoTODO attrib on OuterXml.
2599 * XmlSignificantWhitespace.cs: WriteTo implementation.
2601 * XmlText.cs: WriteContentTo and WriteTo implementation.
2603 * XmlTextWriter.cs: WriteRaw implementation.
2605 * XmlWhitespace.cs: WriteContentTo and WriteTo implementations.
2607 2002-04-05 Kral Ferch <kral_ferch@hotmail.com>
2609 * XmlAttributes.cs: Added reminder MonoTODO to set NamespaceURI
2610 if prefix in constructor is one of the default ones.
2612 * XmlCharacterData.cs: Returns String.Empty for Value and Data
2613 even when constructed with null.
2615 * XmlDeclaration.cs: Value doesn't put encoding or standalone
2616 in if they are empty.
2618 * XmlDocument.cs: Implemented CreateNode methods and this caused
2619 the changes in the other files in this checkin.
2621 * XmlProcessingInstruction.cs: Returns String.Empty for Value and Data
2622 even when constructed with null.
2624 * XmlWhitespace.cs: Changed Value 'get' to return Data.
2626 2002-04-01 Kral Ferch <kral_ferch@hotmail.com>
2628 * XmlTextWriter.cs: Impls for WriteEndDocument and WriteFullEndElement.
2630 2002-03-31 Kral Ferch <kral_ferch@hotmail.com>
2632 * XmlTextWriter.cs: Impls for LookupPrefix, WriteBase64,
2633 and WriteCharEntity.
2635 * XmlWrite.cs: Fixed bug where attribute namespace decl
2636 was pushing a scope onto the namespace manager when it shouldn't
2639 2002-03-31 Kral Ferch <kral_ferch@hotmail.com>
2641 * XmlTextWriter.cs: Some tweaks for WriteAttibuteString
2642 in different states (no open start element, in WriteState.Content mode).
2644 2002-03-29 Kral Ferch <kral_ferch@hotmail.com>
2646 * XmlTextWriter.cs: XmlLang and XmlSpace properties
2647 and WriteWhitespace.
2649 * XmlTextWriterOpenElement.cs: scope support for XmlLang
2652 2002-03-29 Kral Ferch <kral_ferch@hotmail.com>
2654 * XmlTextWriter.cs: Working on Attribute methods.
2656 * XmlWriter.cs: Working on Attribute methods.
2658 2002-03-28 Duncan Mak <duncan@ximian.com>
2660 * XmlDocument.cs (CreateWhitespace):
2661 (CreateSignificantWhitespace): Removed extraneous call to the ToCharArray
2664 * XmlSignificantWhitespace.cs (Value): Removed MonoTODO attribute.
2666 2002-03-26 Duncan Mak <duncan@ximian.com>
2668 * XmlDocument.cs (CreateDocumentType): Implemented.
2670 * XmlNode.cs (Value): Implemented.
2672 * XmlProcessingInstruction.cs (InnerText): Implemented. It works just
2673 like XmlCharacterData.
2675 * XmlDeclaration.cs (CloneNode):
2676 * XmlDocument.cs (CreateXmlDeclaration): Added missing constructor
2679 * XmlCharacterData.cs (InnerText): Implemented. Funny that the
2680 docs say it is the "The concatenated values of the node and all
2681 the children of the node.". I wrote some test programs and
2682 couldn't get any of the derived nodes to AppendChild. For now,
2683 InnerText == Data == Value.
2684 (Substring): Fixed typo.
2686 * XmlDeclaration.cs (XmlDeclaration): Fixed the constructor parameter signature.
2688 * XmlImplementation.cs (CreateDocument): Implemented.
2690 2002-03-25 Duncan Mak <duncan@ximian.com>
2692 * XmlDeclaration.cs: Rewrote the class, fixed formatting, added
2693 missing properties (InnerText, Value).
2695 * XmlDocument.cs (CreateXmlDeclaration): Implemented.
2697 2002-03-23 Kral Ferch <kral_ferch@hotmail.com>
2699 * XmlTextWriter.cs: Impls for BaseStream and
2700 Namespaces and WriteState.
2702 * XmlWriter.cs: WriteState and WriteStartElementInternal.
2704 2002-03-23 Kral Ferch <kral_ferch@hotmail.com>
2706 * XmlNodeListChildren.cs: made class internal
2707 instead of public. Shouldn't be visible outside
2710 * XmlTextWriter.cs: Implementations for Formatting,
2711 IndentChar, Indenting, QuoteChar, WriteStartDocument(standalone).
2712 Suppresses encoding on xml declaration if null stream passed in.
2713 Formats output including suppressing indentation for elements in
2716 * XmlTextWriterOpenElement.cs: Initial checkin.
2717 XmlTextWriter uses stack of these objects to track
2720 2002-03-22 Mike Kestner <mkestner@speakeasy.net>
2722 * XmlElement.cs: impl HasAttribute(string name).
2724 2002-03-22 Duncan Mak <duncan@ximian.com>
2726 * XmlElement.cs: Reformatted.
2727 (CloneNode) Corrected.
2729 * XmlDocument.cs (CreateWhitespace):
2730 (CreateSignificantWhitespace): Implemented.
2732 * XmlAttribute.cs (CloneNode): Changed the child's CloneNode to
2733 true, because Attributes have ChildNodes.
2735 2002-03-21 Kral Ferch <kral_ferch@hotmail.com>
2737 * XmlTextWriter.cs: WriteStartDocument tracks state, writes out
2738 xml declaration along with encoding. WriteEndElement throws
2739 exception if no WriteStartElement exists.
2741 2002-03-20 Duncan Mak <duncan@ximian.com>
2743 * XmlEntityReference.cs (CloneNode): Implemented.
2745 * XmlException.cs (Message): Implemented. We need to cache the
2746 message string because SystemException doesn't expose 'message'
2749 * XmlText.cs (Value): Added in the missing Value property.
2751 2002-03-20 Duncan Mak <duncan@ximian.com>
2753 * XmlAttribute.cs (CloneNode): Implemented.
2755 * XmlDocumentFragment.cs (CloneNode): Implemented.
2757 * XmlElement.cs (CloneNode): Implemented.
2759 2002-03-19 Duncan Mak <duncan@ximian.com>
2761 * XmlNotation.cs: Added to CVS.
2763 * XmlAttribute.cs (CloneNode): First crack at the CloneNode method.
2765 * XmlCDataSection.cs (CloneNode): Implemented.
2767 * XmlDocumentFragment.cs: Reformatted and added the missing properties
2768 (InnerXml, OwnerDocument, ParentNode).
2769 (CloneNode): Implemented.
2771 * XmlSignificantWhitespace.cs (CloneNode): Implemented.
2772 (Value) Implemented the 'get' property.
2774 * XmlWhitespace.cs (Module): implemented.
2776 2002-03-19 Jason Diamond <jason@injektilo.org>
2778 * XmlDocument.cs: Fixed typo in Load that was duplicating the LocalName
2781 2002-03-18 Jason Diamond <jason@injektilo.org>
2783 * XmlTextReader.cs: Don't restore properties after reading last
2784 attribute on an element.
2786 * XmlDocument.cs: Move back to element after reading attributes
2787 so that IsEmptyElement test succeeds.
2789 2002-03-18 Kral Ferch <kral_ferch@hotmail.com>
2791 * XmlNamespaceManager.cs: Implemented LookupPrefix.
2793 * XmlTextWriter.cs: Implemented namespace and prefix support.
2795 2002-03-18 Kral Ferch <kral_ferch@hotmail.com>
2797 * XmlTextReader.cs: Restores properties after
2798 reading last attribute on an element.
2800 * XmlNode.cs: AppendChild sets the parent
2803 2002-03-17 Kral Ferch <kral_ferch@hotmail.com>
2805 * XmlCDataSection.cs: Formatting, Implementation for WriteTo.
2807 * XmlComment.cs: Implementations for WriteTo and WriteContentTo.
2809 * XmlElement.cs: Fixed bug in WriteTo.
2811 * XmlProcessingInstruction.cs: Formatting.
2813 * XmlTextWriter.cs: Implementations for Close, WriteCData, WriteComment,
2814 fixes for WriteEndElement, WriteProcessingInstruction.
2816 2002-03-17 Kral Ferch <kral_ferch@hotmail.com>
2818 * XmlDocument.cs: Implementations for WriteTo() and WriteContentTo(),
2819 had Load() add PIs to the document, moved onXXX methods to alphabetical
2822 * XmlElement.cs: Implementations for WriteTo() and WriteContentTo().
2824 * XmlNode.cs: Implementations for InnerXml Get and OuterXml.
2826 * XmlProcessingInstruction.cs: Implementations for WriteTo() and
2829 * XmlTextWriter.cs: Implementations for WriteEndElement,
2830 WriteProcessingInstruction, WriteStartElement, and WriteString.
2832 * XmlWriter.cs: Implemented WriteStartElement() methods.
2834 2002-03-15 Duncan Mak <duncan@ximian.com>
2836 * XmlEntity.cs: Added to CVS. Need to implement BaseURI and
2837 InnerText once I know what they do.
2839 * XmlDocumentType.cs (XmlDocumentType): Fix the constructor now
2840 that we can properly chain constructors.
2841 (CloneNode): implemented.
2842 (WriteContentTo): Removed MonoTODO attribute as this method has no
2843 effect in this class.
2845 * XmlProcessingInstruction.cs (Value): Added the missing Set
2847 (InnerText): Added in, but not implemented.
2849 2002-03-14 Kral Ferch <kral_ferch@hotmail.com>
2851 * XmlTextWriter.cs: implemented constructors and
2852 WriteCData and WriteComment.
2854 2002-03-14 Duncan Mak <duncan@ximian.com>
2856 * XmlDocument.cs: Moved the NodeChanged EventHandler to its own
2857 file, and updated the callbacks to reflect the change.
2858 (XmlDocument): Added the NameTable constructor.
2859 (NameTable): Also the NameTable property.
2861 * XmlNodeChangedEventHandler.cs: Added, replacing the version that
2862 was in XmlDocument.cs. It has two arguments now (object,
2863 EventArgs) , instead of one (object).
2865 2002-03-14 Kral Ferch <kral_ferch@hotmail.com>
2867 * XmlWriter.cs: Formatting.
2869 * XmlTextWriter.cs: Initial checkin.
2871 2002-03-14 Duncan Mak <duncan@ximian.com>
2873 * Validation.cs: Removed, replaced by ValidationType.cs.
2875 * ValidationType.cs: Added.
2877 2002-03-13 Duncan Mak <duncan@ximian.com>
2879 * XmlException.cs: Made it [Serializable], implemented good ol'
2880 GetObjectData, and the serialization constructor.
2882 * XmlNamedNodeMap.cs (SetNamedItem): Check for the Name property.
2883 (SetNamedItem): Reverted (added back in) the patch with the
2884 ReadOnly checks. "Don't doubt yourself, my son... you were right!"
2886 * XmlNamedNodeMap.cs (GetEnumerator): piggyback on the ArrayList implementation.
2887 (GetNamedItem (string, string)): implemented.
2888 (RemoveNamedItem): implemented.
2889 (SetNamedItem): implemented.
2891 2002-03-12 Kral Ferch <kral_ferch@hotmail.com>
2893 * XmlAttribute.cs: Moved a method from amongst properties down to
2894 it's alphabetical position in the methods section.
2896 * XmlNode.cs: Passes in 'this' to XmlNodeList constructor instead of
2897 last linked child. Set XmlNode base class to return false for IsReadOnly().
2898 Implemented GetEnumerator() and RemoveChild().
2900 * XmlNodeListChildren.cs: Now stores the parent instead of the last child.
2901 This is to support the behavior that the Enumerator doesn't become invalid
2902 when changes to the children occur. Flushed out rest of implementation for
2903 MoveNext, Current, and Reset.
2905 2002-03-12 Duncan Mak <duncan@ximian.com>
2907 * XmlCharacterData.cs: Reformatted the properties for better readability.
2909 * XmlLinkedNode.cs: Removed the awful boxy comments.
2911 * XmlNamedNodeMap.cs (Count):
2912 (Item): Implemented. Tests will be coming.
2914 * XmlEntityReference.cs:
2915 * XmlSignificantWhitespace.cs: Implemented these classes except for
2916 the Clone, WriteContentTo and WriteTo methods. Will have to
2917 investigate into these later.
2919 2002-03-11 Duncan Mak <duncan@ximian.com>
2921 * IHasXmlNode.cs: Added to CVS.
2923 2002-03-08 Jason Diamond <jason@injektilo.org>
2925 * XmlParserContext.cs: Added missing constructors and missing Encoding
2928 * XmlTextReader.cs: Start using the XmlParserContext class.
2930 2002-03-08 Jason Diamond <jason@injektilo.org>
2932 * XmlTextReader.cs: Implemented MoveToElement and MoveToFirstAttribute.
2934 2002-03-08 Mike Kestner <mkestner@speakeasy.net>
2936 * XmlNode.cs (Item): Implemented both indexers.
2938 2002-03-08 Jason Diamond <jason@injektilo.org>
2940 * DomEncodingType.cs, TreePosition.cs, XPathNodeType.cs, XmlDataType.cs,
2941 XmlExceptionCode.cs, XmlSortOrder.cs, XmlUtil.cs: Removed files.
2943 2002-03-08 Jason Diamond <jason@injektilo.org>
2945 * XmlAttribute.cs: Attribute nodes are supposed to store their values
2946 as child nodes so updated to reflect that.
2948 * XmlDocument.cs, XmlElement.cs, XmlNode.cs: Moved code that was
2949 duplicated in XmlDocument and XmlElement into XmlNode so that it
2950 wouldn't have to be duplicated in XmlAttribute, too.
2952 2002-03-08 Kral Ferch <kral_ferch@hotmail.com>
2954 * XmlNodeList.cs, XmlDocument.cs, XmlLinkedNode.cs,
2955 XmlNode.cs: Formatting.
2957 * XmlNodeListChildren.cs: Implementation of XmlNodeList
2958 for XmlNode.ChildNodes property.
2960 * XmlNodeListAsArrayList.cs: Removed file. Using different
2961 data structure (circular list) in XmlNode so this file
2964 * XmlDocument.cs, XmlElement.cs: New ChildNodes tests found
2965 bug in setter property of LastLinkedChild so fixed it.
2967 2002-03-06 Jason Diamond <jason@injektilo.org>
2969 * XmlInputSource.cs, XmlNames_1_0.cs, XmlParse.cs: Removed files.
2970 We already have a parser in XmlTextReader.
2972 * XmlException.cs: Removed constructor accepting XmlInputSource.
2974 2002-03-06 Kral Ferch <kral_ferch@hotmail.com>
2976 * XmlNode.cs: Rewrote this class from scratch with
2977 MonoToDo attribs and NotImplementedExceptions. Now defines an
2978 internal LastLinkedNode property to aid the new implementation.
2979 XmlNodes only have ref to owner doc and parent nodes now.
2981 * XmlLinkedNode.cs: Added NextLinkedSibling internal property
2982 and ref to next sibling to support walking our circular child
2985 * XmlDocument.cs: Added ref to last child node and overrides
2986 XmlNode's internal LastLinkedChild property to support walking
2987 our circular child node list.
2989 2002-03-02 Kral Ferch <kral_ferch@hotmail.com>
2991 * XmlProcessingInstructions.cs: Class was empty. Implemented
2992 constructor, properties, and CloneNode() method. Put in
2993 MonoToDo attrib for remaining methods.
2995 * XmlComment.cs: Reformatted and put in MonoToDo attribs.
2996 Got rid of helper methods and fields since they were no
2999 * XmlLinkedNode.cs: Reformatted and put in MonoToDo attribs.
3001 * XmlDocument.cs: Added code to Load(XmlReader) to create XmlComment,
3002 XmlCDataSection, and XmlProcessingInstruction nodes. Implemented
3003 Createxxx() methods for those three node types.
3005 2002-03-02 Jason Diamond <jason@injektilo.org>
3007 * XmlDocument.cs: Implemented the remaining CreateElement and
3008 CreateAttribute methods.
3010 * XmlAttribute.cs: Re-implemented.
3012 * XmlElement.cs: Set owner element on attributes. Reformatted.
3014 2002-03-02 Jason Diamond <jason@injektilo.org>
3016 * XmlTextReader.cs: Implemented MoveToNextAttribute().
3018 * XmlDocument.cs: Reformatted. Adding missing methods and MonoTODO
3019 attributes. Create attribute nodes while loading. Implemented
3020 Load(string) and CreateTextNode().
3022 * XmlCharacterData.cs, XmlText.cs: Re-implemented.
3024 * XmlCDataSection.cs, XmlComment.cs: Call correct constructor in
3027 * XmlNamedNodeMap.cs, XmlAttributeCollection.cs: Stubbed out.
3029 2002-03-02 Mike Kestner <mkestner@speakeasy.net>
3031 * XmlAttribute.cs : Using fix.
3032 * XmlDocument.cs (CreateAttribute(String)): Implement.
3034 2002-03-02 Jason Diamond <jason@injektilo.org>
3036 * XmlNamespaceManager.cs: Atomize prefixes and namespaces strings in
3039 2002-02-28 Jason Diamond <jason@injektilo.org>
3041 * XmlDocument.cs, XmlNode.cs: Initial implementation of LoadXml
3042 courtesy of Kral Ferch <kral.ferch@hotmail.com>.
3044 2002-02-28 Jason Diamond <jason@injektilo.org>
3046 * XmlException.cs, XmlReader.cs, XmlTextReader.cs: Reformatted,
3047 added missing members and MonoTODO attributes.
3049 * XmlTextReader.cs: Throw XmlException instead of System.Exception.
3051 2002-02-27 Jason Diamond <jason@injektilo.org>
3053 * XmlElement.cs: Reformatted, added missing members and MonoTODO
3056 2002-02-26 Duncan Mak <duncan@ximian.com>
3058 * XmlCDataSection.cs: Initial implementation.
3060 * NameTable.cs: Fixed the whole thing. Wrote a NUnit test to test
3061 it out. This should (hopefully) be correct.
3063 2002-02-26 Jason Diamond <jason@injektilo.org>
3065 * XmlTextReader.cs: Apparently Microsoft's implementation treats
3066 namespace declarations as attributes so we do now, too.
3068 * XmlNamespaceManager.cs: HasNamespace fixed so that it only
3069 checks the current scope.
3071 2002-02-26 Duncan Mak <duncan@ximian.com>
3073 * XmlDocumentType.cs: Added a few hacks here and there to
3074 temporarily fix the "I broke the build issue".
3076 2002-02-25 Jason Diamond <jason@injektilo.org>
3078 * XmlDocument.cs, XmlElement.cs, XmlNode.xs, XmlNodeList.cs,
3079 XmlNodeListAsArrayList.cs: Multiple fixes necessary to get
3080 simple test to pass. The existing code is really shitty so I'll
3081 probably start writing tests and refactoring before much else
3084 2002-02-25 Duncan Mak <duncan@ximian.com>
3086 * NameTable.cs: Implemented.
3088 * XmlDeclaration.cs: It should inherit from XmlLinkedNode, not XmlNode.
3090 2002-02-24 Duncan Mak <duncan@ximian.com>
3092 * XmlNodeOrder.cs: Added to CVS.
3094 * XmlQualifiedName.cs: Fixed a warning from Equals ().
3096 * XmlTokenizedType.cs: Added to CVS.
3098 * XmlUrlResolver.cs: Added to CVS with one TODO task.
3100 2002-02-23 Duncan Mak <duncan@ximian.com>
3102 * XmlQualifiedName.cs: Fixed ToString () and added the operators
3105 2002-02-23 Jason Diamond <jason@injektilo.org>
3107 * XmlTextReader.cs: Added support for qualified attributes.
3109 2002-02-23 Jason Diamond <jason@injektilo.org>
3111 * XmlNamespaceManager.cs: Initial implementation.
3113 * XmlTextReader.cs: Added support for NamespaceURI property on
3116 2002-02-23 Nick Drochak <ndrochak@gol.com>
3118 * ChangeLog: Add the change log to this directory
3120 * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has