2003-11-02 Pedro Mart�nez Juli� <yoros@wanadoo.es>
[mono.git] / mcs / class / System.XML / System.Xml / ChangeLog
index 52c7c03bf2d394027500464b43c680768d7fb3b7..458f672cef658014e62e3a5f87d03e55d4f7fdc2 100644 (file)
@@ -1,3 +1,665 @@
+2003-11-02  Pedro Martínez Juliá  <yoros@wanadoo.es>
+
+       * XmlConvert.cs: Only parse INF/-INF/NaN. Other Infinty or NAN
+       numbers are parsed with the respective ::Parse method.
+
+2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
+
+       * XmlConvert.cs: Revert my last change. INF and -INF must be
+       processed here because Double::Parse and Single::Parse doesn't
+       understand anything of parsing [-]INF.
+
+2003-11-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocument.cs : Save(Stream) should not close the stream.
+
+2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDReader.cs, DTDValidatingReader.cs, XmlInputStream.cs,
+         XmlTextReader.cs : More cleanup.
+       * XmlDocument.cs : Removed CheckName(). Code cleanup.
+       * XmlElement.cs : .ctor() now adds default attributes (if required).
+       * XmlAttribute.cs, XmlElement.cs, XmlEntity.cs, XmlEntityReference.cs,
+         XmlNotation.cs : Now uses OwnerDocument's NameTable.
+
+2003-10-25  Pedro Martínez Juliá  <yoros@wanadoo.es>
+
+       * XmlConvert.cs: Support for the sign in double and single. The
+       processing of the infinites and nan numbers are more complex than
+       comparing to "INF" so we must let Double::Parse and Single::Parse
+       doing their job.
+
+2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDValidatingReader.cs : Now it handles whitespace entity as
+         significant.
+       * XmlConvert.cs : As to NIST testcases, exponential support on single
+         and double floating point numbers.
+       * XmlValidatingReader.cs : If it IsDefault, then line number and line
+         position returns 0.
+
+2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDReader.cs,
+         XmlConstructs.cs,
+         XmlTextReader.cs,
+         XmlWriter.cs : Fixed incorrect access modifier.
+       * XmlTextWriter.cs : Imported state variable from XmlWriter.
+       * DTDValidatingReader.cs : Removed extraneous MonoTODO.
+       * XmlConvert.cs : Implemented ToTimeSpan().
+         Modified ToDateTime() to reuse the same array.
+
+2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlAttributeCollection.cs : Fixed synchronization stuff.
+       * XmlConvert.cs : Added two FromBinHexString() methods.
+       * XmlTextReader.cs : Modified to use one of the above method.
+       * XmlValidatingReader.cs : XsdValidatingReader.XmlResolver will be 
+         disabled (in the next commit), so resolver won' be set to it.
+         Attempt to validate against XDR now throws NotSupportedException.
+
+2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlChar.cs : added WhitespaceChars, used in common.
+       * XmlConvert.cs,
+         XmlDeclaration.cs,
+         XmlParserInput.cs,
+         XmlTextReader.cs,
+         XmlTextWriter.cs : String.Trim()
+       * XmlConvert.cs : shifted XmlConstructs to XmlChar.
+       * XmlTextReader.cs : Implemented Normalization.
+
+2003-10-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlNode.cs : GetPrefixOfNamespace() also contained a bug similar to
+         GetNamespaceOfPrefix() fixed at 2003-10-13.
+       * XmlTextReader.cs : ReadBase64() should keep incomplete base64 block
+         which remained by previous call of this method.
+       * XmlUrlResolver.cs : Added assertion for file Uri path's absoluteness.
+       * XmlValidatingReader.cs : Notice about intention of XDR won't be
+         supported (at least in Mono 1.0).
+
+2003-10-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocument.cs : CloneNode() does not copy PreserveWhitespace.
+       * XmlWriter.cs : Calling WriteNode() with XmlReader whose state is
+         XmlDeclaration now calls WriteProcessingInstruction(). This fixes
+         testcase XmlWriterTests.WriteNodeFullDocument().
+       * XmlTextWriter.cs : Added LAMESPEC comments related to above.
+
+2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocument.cs : Fixed bugzilla #49607. Save() outputs XML 
+         declaration even though there is no XmlDeclaration child.
+       * XmlTextReader.cs : Fixed Init() so that ResetState() should work.
+
+2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlTextWriter.cs : Implemented WriteSurrogateCharEntity().
+         Reverted my recent extraneous check in WriteStartAttribute().
+
+2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlNode.cs : GetNamespaceOfPrefix() should check Attributes existence.
+         And it should throw ArgumentNullException.
+
+2003-10-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlAttribute.cs : Fixed InnerText that did not removed its content
+         if there is two or more children.
+       * XmlNode.cs : XmlNode.cs : Fixed bugzilla #49580 (1)to return "",
+         (2)not to compare NodeType for detached nodes, (3)optimization to
+         compare element's prefix.
+       * XmlSecureResolver.cs : Removed extraneous members.
+
+2003-10-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * Added DTDReader.cs. It is almost importation of XmlTextReader.
+       * DTDObjectModel.cs :
+         - More .NET-ism. Properties took place of fields.
+         - Imported PE set from XmlTextReader. Added location info.
+         - Added DTDEntityBase common to PE and GE.
+         - More correct text declaration handling with new XmlTextReader.
+       * DTDValidatingReader.cs :
+         - Now uses entity resolving XmlTextReader to validate attributes
+           correctly. Implemented standalone
+         - Standalone and default related validity constraints check.
+       * XmlImplementation.cs: Implemented HasFeature().
+       * XmlNode.cs : Implemented Supports().
+       * XmlNodeReader.cs : Modified to use XmlTextReader.SkipTextDeclaration()
+       * XmlParserInput.cs : Removed extraneous members.
+       * XmlTextReader.cs :
+         - All DTD related functionality now goes to DTDReader.cs
+         - It became old simple TextReader input style.
+         - Implemented GetRemainder().
+         - Implemented ReadBase64(), ReadBinHex() and ReadChars(), using 
+           additional new private method ReadUntilEndTag().
+         - Removed incomplete MaybeTextDecl and added SkipTextDeclaration().
+           ReadXmlDeclaration() now became simple.
+         - More strict entity reference check at SetEntityReferenceProperty()
+         - Removed extraneous members.
+       * XmlWriter.cs : WriteNode(XmlNodeType.None) does not raise error.
+
+2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * XmlTextReader.cs: when we get an unexpected EOF in ReadContent, set
+       the state before throwing the exception if depth > 0.
+
+2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlAttribute.cs : Removed extraneous MonoTODO.
+       * XmlTextWriter.cs : Implemented WriteBinHex() and WriteChars().
+         WriteStartElement() and WriteStartAttribute() should ignore Prefix
+         if namespace uri is not specified.
+
+2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocumentFragment.cs,
+         XmlElement.cs,
+         XmlEntityReference.cs : Removed extraneous MonoTODO.
+       * XmlNode.cs : Implemented Normalize().
+       * XmlNodeReader.cs :
+         - AttributeCount and HasAttributes should return its owner element's
+           value, to be consistent with XmlTextReader.
+         - Fixed Depth to reflect correct attribute/attribute-value iteration.
+         - simplified ownerElement and HasValue.
+         - Prefix won't return null.
+         - MoveToElement() should also work against attribute value nodes.
+       * XmlTextReader.cs : MoveToElement() should return false if it is
+         positioned at element itself.
+
+2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlTextReader.cs : Improved SignificantWhitespace handling.
+
+2003-10-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlSecureResolver.cs : Implemented basic feature.
+
+2003-10-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlUrlResolver.cs : Should work with null type argument.
+
+2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * XmlTextWriter.cs : An attribute can require a prefix for the default
+         namespace, so we need to store the prefix as well as the namespace.
+
+2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDValidatingReader.cs : Simplified to use 
+         XmlSchemaUtil.GetParserContext().
+       * XmlValidatingReader.cs : ValidationType.Auto should always use
+         XsdValidatingReader because xsi:schemaLocation might be used.
+
+2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlTextReader.cs : Attribute value token properties were incorrectly
+         set by the linked node.
+
+2003-09-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocumentNavigator.cs : Fix for bugzilla #48931. MoveToRoot() now
+         considers such case that target node was not adapted to the document.
+       * XmlNamespaceManager.cs : GetEnumerator() missed the last pair.
+       * XmlTextWriter.cs : use 'as'  instead of 'try..catch'.
+
+2003-09-25 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * XmlNode.cs (XPathNodeType): Give more useful debugging message.
+       * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as
+       in MoveToNext.
+
+2003-09-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace
+         recovery was still not enough. Fixed GrowScopes() (incorrect index).
+
+2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlTextReader.cs : 
+         - Fix for bugzilla #48337 (containing Ben's advice on that).
+         - Added internal XmlTokenInfo classes. Nodes are now handled as token 
+           objects (linked node, attributes and attribute values). Most of the
+           node state properties and iterating methods are changed to refer to
+           the token classes (except for value builder availability). Removed
+           fields which are never used. CompileDTDSubset() is changed in
+           reflection to nodeType field removal.
+         - Fixed Depth that should vary in moving between attributes and/or
+           reading attribute values.
+         - LineNumber and LinePosition now returns more correct location.
+         - Fixed Value that should still return true if its value is an empty
+           attribute value string.
+         - EntityValue is checked WFC constraints even thoug it is not used.
+         - All .ctor() now initializes ReadState as Initial.
+         - Read() should be available for attribute value constructor.
+       * XmlAttribute.cs : set_InnerXml() now calls reader's Read().
+
+2003-09-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlNamespaceManager.cs: PopScope() must retain those namespaces which
+         are added in the scope before PushScope() was called.
+
+2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked
+       lists and removes uses of Hashtable. Results in huge speed gains.
+
+2003-09-19 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * XmlConvert.cs: NaN.ToString () != INF.
+
+2003-09-14  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * XmlTextWriter.cs: Attributes that have a namespace must be always
+         prefixed.
+
+2003-09-13  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlTextWriterOpenElement.cs : Changed to receive prefix and localName
+         in .ctor().
+       * XmlTextWriter.cs : Changed to use above XmlTextWriterOpenElement.
+         Changed xmlns adding scheme. In detail, 1) WriteStartElement does not
+         add Namespaces immediately, but adds at AddMissingElementXmlns so 
+         that we don't have to have extra check than namespaceManager's
+         LookupPrefix(). 2) Removed writtenAttributes for performance reason
+         since it is no more required.
+
+2003-09-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute()
+         that handled xmlns attributes inproperly.
+
+2003-09-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlNamespaceManager.cs : GetEnumerator() should return all of the
+         available pairs (of prefix and namespace).
+       * XmlQualifiedName.cs : Quick fix for NullReferenceException in case
+         of name (or ns) is null. (The description of the immediate previous 
+         changes will be inserted below.)
+       * XmlTextWriter.cs : Fixed WriteDocType(). Removed CheckValidName().
+       * XmlUrlResolver.cs : Changed not to call WebClient.Dispose() which
+         will release resources it had allocated.
+
+2003-09-01 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * XmlDocument.cs (Save): use the encoding of the document, if
+       available.
+
+2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlValidatingReader.cs : Implemented SchemaType. Added support for
+         ValidationType.Schema. Added support for XmlResolver. Fixed 
+         ReadTypedValue() not to consume EndElement.
+
+2003-08-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocumentNavigator.cs : Fixed MoveToFirstNamespace() that arose
+         infinite loop.
+       * XmlNamespaceManager.cs : Renamed AtomStrEq to AtomicStringEquals.
+         Commented out Console.Error.WriteLine().
+       * XmlUrlResolver.cs : Fixed ResolveUri() and GetEntity() to support
+         escape and unescape for relative URI string.
+
+2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * XmlParserContext.cs: Make each context inherit next.
+
+2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * XmlChar.cs (IsWhitespace): Spare enumerator allocation.
+       * XmlTextWriter.cs (WriteWhitespace): Enumerators are very high in
+       fat, use low-fat loops instead. Even better, call the function
+       inside XmlChar for code reuse.
+       * HighWaterStack.cs (added): New class that acts like a Stack, but
+       helps with memory allocation.
+       * XmlNamespaceManager.cs, XmlParserContext.cs: Rewrote to use
+       HighWaterStack.
+       * XmlTextReader.cs: Remove orderedAttributesEnumerator variable,
+       use a variable that stores the position in the ArrayList.
+       
+2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * XmlTextWriter.cs: Begin diet. String.Format has too much
+       saturated fat, lets replace with the fat-free .Write ()
+       calls. Effects best seen when Paolo's StreamWriter patch is
+       applied.
+
+2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in
+         vanishing current node.
+
+2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDValidatingReader.cs : Added SchemaType.
+         Read() Assures to return to element.
+       * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI.
+       * XmlReader.cs : ReadString() should be virtual in NET_1_1.
+       * XmlTextReader.cs : 1) Depth should consider Attribute and its values.
+         Introduced insideAttribute field to support them.
+         2) ReadAttributeValue() should consider empty string.
+       * XmlValidatingReader.cs :
+         Fixed several properties which premised as if it was already read.
+         Encoding and Namespaces now throws NotSupportedException for other
+         than XmlTextReader.
+         Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType.
+
+2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlInputStream.cs : Reverted CanSeek as to return false anyway.
+
+2003-08-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDObjectModel.cs : added XmlResolver related members. Added
+         invalid entity recursion logic. Added encodingdecl check on textdecl.
+       * DTDValidatingReader.cs : It now implements IHasXmlParserContext.
+       * XmlChar.cs : IsPubidChar() should not allow TAB(&#9;).
+       * XmlDocumentType.cs : 1) internal CreateDocumentType() was now changed
+         to receive DTDObjectModel to support other than XmlTextReader. 
+         2) Most of its public member is now based on DTDObjectModel.
+       * XmlDocument.cs : 1) Synchronous change with XmlDocumentType.
+         2) ReadNode() now considers XmlParserContext's DTDObjectModel for
+         other than XmlTextReader (such as XmlValidatingReader).
+       * XmlNode.cs : code cleanup only.
+       * XmlParserInput.cs : added HasPEBuffer, used to check illegal nesting.
+       * XmlTextReader.cs : 1) Illegal entity reference check logic was moved 
+         from ReadContent() to SetEntityReferenceProperties(). 2) Indentation
+         change on ReadEntityReference(). 3) ReadAttribute() now checks
+         reference to external entity reference. 4) Added textdecl encoding
+         check. 5) DTDObjectModel fields are now set correctly. 6) added
+         PERef markup nest check. 7) If PEDecl was not found, it might be WFC
+         violation, not only be VC violation. 8) ReadEntityDecl() now receives
+         its declared entity itself, and this method checks IsInternalSubset.
+       * XmlValidatingReader.cs : 1) Added GetInternalPerserContext().
+         2) ValidationType.None should be the same as Auto, not DTD (in the
+         future it should keep xml schema's default values).
+
+       Pending Stuff in XmlTextReader which breaks some NUnit tests;
+         1) SetEntityReferenceProperies() has check for illegal references.
+         2) ReadAttribute(bool) has similar check for illegal references.
+
+2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice,
+         sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement().
+
+2003-08-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlTextReader.cs : Checked and fixed all TryExpandPERef() invokation 
+         and supplied SkipWhitespace() as they needed. It broke monodoc.
+         Fixed ReadEntityValueDecl() to get correct value.
+
+2003-08-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlInputStream.cs :
+         Fixed Initialize() that might result in incorrect buffer.
+         CanRead and Position should consider buffer (especially when the
+         stream was EOF).
+         CanSeek should use stream's CanSeek.
+
+       * XmlChar.cs : added GetPredefinedEntity().
+       * DTDObjectModel.cs :
+         - Modified ComputeDefaultValue() to use it.
+         - Fixed NormalizedDefaultValue not to expect parsed value as string.
+         - ResolveExternalEntity now detects invalid standalone specification.
+         - DTDParameterEntityDeclaration.Value is now changed to property and
+           keep its resolved value of literal value of external value using
+           new Resolve (XmlResolver) method (called only by XmlTextReader).
+       * DTDValidatingReader.cs :
+         - It now handles entity-expanded Whitespace and SignificantWhitespace
+           correctly. Does not raise unexpected text not allowed error.
+         - Fixed MoveToAttribute()s to move internal reader correctly, and
+           should be able to move in other cases than on element node.
+         - On Read()ing document type and ResolveEntity(), it now sets
+           XmlResolver on text reader.
+         - On ID constraints check and type verification, it now uses
+           normalized attribute or its tokenized value(s).
+         - Fixed ValidateAttributes() to add default values when 
+           ValidationType is Auto.
+       * XmlParserContext.cs : added internal Dtd setter.
+       * XmlParserInput.cs :
+         InsertParameterEntityBuffer() should add surrounding whitespaces.
+         Removed unused code block.
+       * XmlTextReader.cs :
+         - Modified ReadReference(), ReadAttribute() and Dereference() to use
+           XmlChar.GetPredefinedEntity().
+         - When returning entity reference, it checks extity declaration
+           existence in certain conditions.
+         - ReadAttribute() now skips general entity replacement on reading
+           entity value.
+         - ReadText() now handles whitespace texts as XmlNodeType.Whitespace.
+         - ReadXmlDeclaration() holds isStandalone, which might be used in
+           entity reference's well-formedness check.
+         - internal 'DTD' now uses XmlParserContext.Dtd.
+         - isInternalSubset was meaningless. Now uses input stack's Count.
+         - Added some required SkipWhitespace().
+         - Several parameter entity handling changes.  Added GetPEValue(name).
+           TryExpandPERef() now uses ImportAsPERef(). ReadParameterEntityDecl()
+           now uses its Resolve() when it was external PE.  Now it uses value
+           buffer instead of currentTag, to efficiently read (included) PE.
+           CompileDeclaration() now uses ImportAsPERef instead of ExpandPERef().
+           ImportAsPERef() simply inserts the value to currentInput.
+           ReadEntityDecl() also uses value buffer.   Removed non-used methods.
+         - Default attributes are now stored in normalized form.
+         - Dereference() now considers non-expanding predefined entities.
+       * XmlValidatingReader.cs : now holds Schemas, and ValidationType.Auto
+         is more correctly supported.
+
+       * XmlAttributeCollection.cs :
+         When removing default attribute, it immediately inserts the attribute.
+         RemoveAll() should consider default (not-removable) attributes.
+       * XmlDocument.cs :
+         Should have its default XmlResolver. Added Internal Resolver.
+         Some Load() should use its XmlResolver.
+         ImportNode() should copy its children in node level, not value level.
+         It also have to consider not to copy default attribute on importing
+         XmlElement.
+       * XmlDocumentType.cs : Now uses document's XmlResolver to read DTD.
+       * XmlAttribute.cs,
+         XmlDocumentFragment.cs.
+         XmlElement.cs : use XmlResolver on InnerXml. Removed some MonoTODO.
+       * XmlNodeReader.cs : GetInternalParserConext() should provide its DTD.
+         ResolveEntity() uses XmlResolver on entityReader.
+
+2003-08-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDObjectModel.cs :
+         - Added validation error check (and AddError(), Errors).
+         - Fixed ComputeDefaultValue() to handle various references correctly.
+         - DTDEntityDeclaration.EntityValue became property, and added
+           LiteralEntityValue. The new one holds resolved value.
+           Added ResolveExternalEntity(). It now required root in .ctor().
+       * DTDValidatingReader.cs :
+         - Now it handles namespaced attributes (as input to xsd validator).
+         - Added XmlResolver property as usual XmlReader.
+         - Added currentEntityHandling field so that it can stand changing
+           XmlValidatingReader's EntityHandling dynamically.
+         - FilterNormalization() now requires name for getting datatypes and
+           can stand for non-current attribute normalization.
+         - Splitted ReadContent() from Read() that can be called recursively
+           when expanding entities.
+         - Now handles Entity not found error *after* resolution of entities,
+           as MS.NET does.
+         - Read()ing DTD checks its Errors and raises validation error events.
+           In some situations, DTD parsing may detect VC error, not WFC error.
+           It also strictly checks NData existence.
+         - Handling of entity-resolved text is a bit changed and Read()ing
+           element, endElement, cdata now changed to switch collecting text
+           and collected text.
+         - content type ANY should allow texts.
+         - Added enumerated attribute validity check.
+         - Added Name/Names creation rule check for ID/IDREF/IDREFS.
+         - Added entity existence check for ENTITY/ENTITIES attributes.
+         - Added NMTOKEN creation rule check for NMTOKEN/NMTOKENS.
+         - Fixed to remove extraneous #REQUIRED check.
+         - Contributing default attribute is now only applied to the case
+           ValidationType is DTD or None.
+         - ResolveEntity() now handles external entities.
+           Added Mono.Xml.IXmlParserContext interface support.
+       * XmlDocumentType.cs : Fixed to use BaseURI to build DTD model.
+       * XmlTextReader.cs :
+         - Fixed ReadAttributeValue() to reset returnEntityReference.
+         - Added bool MaybeTextDecl only for ResolveEntity().
+         - Fixed ReadWhitespace(). In fact its value is considered even if it
+           is in the end of the XML.
+         - Fixed ReadXmlDeclaration(). Now skips text declaration.
+         - CompileDTDSubset() now checks IGNORE/INCLUDE section end balances.
+         - ReadContentSpec() should set OrderType = OR for mixed model.
+           Fixed to set content element name correctly.
+         - ImportAsPERef() now skips Text declaration.
+         - Type of enumerated default attributes shold be string.
+         - Undeclared PE error is now handled as DTD's VC error, not
+           XmlTextReader's WFC error.
+       * XmlValidatingReader.cs : BaseURI should provide that of 
+         original XmlReader's when read was not started yet.
+         Fixed XmlResolver to delegate to DTDValidatingReader.
+
+       * XmlAttributeCollection.cs : Acquiring attList declaration is
+         insufficient especially in case of lack of elementdecl.
+       * XmlChar.cs : (Maybe this is compact than XmlConstructs.)
+         added IsWhitespace(),IsNCNameChar(),IsName(),IsNCName(),IsNmToken(),
+         IsPubid(). Copies IsValidIANAEncoding() from XmlConstructs.
+
+       * XmlInputStream.cs : Removed "version" declaration check. It should
+         be done by XmlTextReader.
+
+       * XmlNodeReader.cs : added internal GetInternalParserContext() and now
+         it can be used in XmlValidatingReader.ResolveEntity().
+         ResolveEntity() sets XmlTextReader.MaybeTextDecl.
+
+2003-08-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDValidatingReader.cs :
+         Added full ExpandEntities support for text node and entity reference
+         node (although require many usage tests). Almost all methods and
+         properties now have currentTextValue != null check, that field means
+         that there are cached (entity-resolved) text.
+         Implemented default attribute aware XmlLang and XmlSpace.
+       * XmlNodeReader.cs : ResolveEntity() should not require DTD.
+
+2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDValidatingReader.cs,
+         XmlNodeReader.cs,
+         XmlReader.cs,
+         XmlTextReader.cs,
+         XmlValidatingReader.cs : fixed pragma USE_VERSION_1_0 to NET_1_0.
+
+2003-08-03  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDObjectModel.cs : Added BaseURI (but not used yet).
+         DTDAttListDeclaration.ctro() now requires root dtd object model.
+       * DTDValidatingReader.cs : Read() now expands EntityReference if
+         entity handling of validating reader is ExpandEntities.
+       * XmlReader.cs,
+         XmlTextReader.cs,
+         XmlNodeReader.cs,
+         XmlValidatingReader.cs : Implemented "virtual" ReadInnerXml and
+           ReadOuterXml which are modified in MS.NET 1.1.
+       * XmlConstructs.cs : added int version of IsValid, IsInvalid,
+         IsContent, IsMarkup and IsNCNameStart.
+         Fixed int version of IsXXX() to check array index range. 
+         Added IsValidName (string).
+       * XmlTextReader.cs :
+         - Read() handles document with non document element as an error.
+         - ReadText() and ReadCharacterReference() checkes illegal characters.
+         - ReadEntityReference() checks name validity.
+         - ReadProcessingInstruction() rejects such name that starts with
+           "xml" ignoring case, and checks attributes more strictly.
+         - ReadDeclaration() rejects unrecognized kind of declaration.
+         - In many places, added "required whitespace" check in DTD markup.
+         - DTD content model now disallows mixing use of '|' and ','.
+
+2003-08-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocumentFragment.cs : I missed to add it in relation to the
+         previous XmlParserContext patch. Similar to XmlAttribute/XmlElement.
+       * XmlNodeReader.cs : removed some TODO attributes.
+       * DTDValidatingReader.cs,
+         XmlValidatingReader.cs : Implemented ResolveEntity().
+
+2003-07-31  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlParserContext.cs,
+         XmlAttribute.cs,
+         XmlElement.cs : Added internal Dtd and new internal XmlParserContext
+         .ctor() that takes DTDObjectModel. And then rewrote classes which 
+         uses DTD information. Changed DocTypeName, InternalSubset, PublicId
+         and SystemId to use DTDObjectModel.
+       * DTDObjectModel.cs :
+         Added DTDObjectModel.InternalSubsetHasPEReference.
+         Added DTDEntityDeclaration.IsInternalSubset.
+       * XmlTextReader.cs :
+         Added internal GetInternalParserContext (to build entity reader).
+         Added private isIntSubset to check if the DTD subset is internal or
+         external, which might affect well-formedness constraints.
+         Changed GenerateDTDObjectModel to return the resulting DTD model.
+
+       * XmlEntityReference.cs : implemented BaseURI.
+       * XmlNodeReader.cs :
+         - Implemented ResolveEntity() and CanResolveEntity(). In fact
+           it leads too many changes on almost all methods and properties,
+           since they now must be aware of entityReader.
+         - fixed ownerElement that might be used to return from attribute 
+           value to the element through parent attribtues.
+         - Now changed indexer to call GetAttribute() and moved actual logic
+           to the matching GetAttribute() methods.
+
+2003-07-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml
+         not to create extraneous xmlns="".
+
+2003-07-28  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDValidatingReader.cs : (Read,ValidateAttributes,ReadAttributeValue)
+         attribute declaration should be got independently of elementdecl.
+       * XmlAttribute.cs :
+         Added internal SetDefault() to mark as default.
+         Removed InnerText implementation that is just the same as XmlNode.
+       * XmlDocument.cs : id shouldn't be removed from table at 'trying' to
+         get matching elements.  ReadAttributeNode() now sets default mark.
+       * XmlElement.cs : WriteTo() should ignore default attributes.
+       * XmlTextWriter.cs : shuold allow valid name char such as digits.
+
+2003-07-27  Piers Haken        <piersh@friskit.com>
+
+       * XmlQualifiedName.cs : fields should never be null
+
+2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocumentFragment.cs : added XPathNodeType indicating Root.
+
+2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted
+
+2003-07-27  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XmlLinkedNode.cs : added internal IsRooted.
+
+2003-07-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTDValidatingReader.cs :
+         - Added ID support in ValidateAttributes().
+         - More refined ReadAttributeValue() support for non-expanding entity
+           situation
+         - It should handle LocalName, Name, Prefix, NamespaceURI and Value
+           correctly when the reader is on each of the value nodes of an
+           attribute. Now XmlDocument.ReadNode() should work well.
+       * XmlDocument.cs :
+         - added idTable, AddIdenticalAttribute(), GetIdenticalAttribute() and
+           RemoveIdenticalAttribute()
+         - Implemented GetElementById().
+       * XmlAttributeCollection.cs :
+         - added private ownerDocument property and replaced
+           ownerElement.OwnerDocument with it.
+         - Added AdjustIdenticalAttribute() and it is used in SetNamedItem().
+           It calls XmlDocument.{Add|Remove}IdenticalAttribute().
+         - Added RemoveIdenticalAttribute() and it is used in Remove().
+           (I also added AddIdenticalAttribute() but is not used.)
+
 2003-07-26  Duncan Mak  <duncan@ximian.com>
 
        * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test
@@ -1912,4 +2574,3 @@ Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
 
        * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has
        MonoTODO's
-