X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.XML%2FSystem.Xml%2FChangeLog;h=458f672cef658014e62e3a5f87d03e55d4f7fdc2;hb=37b37cedbc968b0276f852c9f1d3086b23706691;hp=4a319535165fa9eb9525546d82cddbc637a6bd48;hpb=117b91daf91c5558579dd112fea771c50005181f;p=mono.git diff --git a/mcs/class/System.XML/System.Xml/ChangeLog b/mcs/class/System.XML/System.Xml/ChangeLog index 4a319535165..458f672cef6 100644 --- a/mcs/class/System.XML/System.Xml/ChangeLog +++ b/mcs/class/System.XML/System.Xml/ChangeLog @@ -1,3 +1,920 @@ +2003-11-02 Pedro Martínez Juliá + + * 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á + + * 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 + + * XmlDocument.cs : Save(Stream) should not close the stream. + +2003-10-25 Atsushi Enomoto + + * 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á + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * XmlTextWriter.cs : Implemented WriteSurrogateCharEntity(). + Reverted my recent extraneous check in WriteStartAttribute(). + +2003-10-13 Atsushi Enomoto + + * XmlNode.cs : GetNamespaceOfPrefix() should check Attributes existence. + And it should throw ArgumentNullException. + +2003-10-13 Atsushi Enomoto + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * XmlTextReader.cs : Improved SignificantWhitespace handling. + +2003-10-01 Atsushi Enomoto + + * XmlSecureResolver.cs : Implemented basic feature. + +2003-10-01 Atsushi Enomoto + + * XmlUrlResolver.cs : Should work with null type argument. + +2003-10-01 Lluis Sanchez Gual + + * 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 + + * 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 + + * XmlTextReader.cs : Attribute value token properties were incorrectly + set by the linked node. + +2003-09-26 Atsushi Enomoto + + * 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 + + * XmlNode.cs (XPathNodeType): Give more useful debugging message. + * XmlDocumentNavigator.cs (MoveToPrevious): Needs same checks as + in MoveToNext. + +2003-09-23 Atsushi Enomoto + + * XmlNamespaceManager.cs: Rewrote PopScope() because its namespace + recovery was still not enough. Fixed GrowScopes() (incorrect index). + +2003-09-21 Atsushi Enomoto + + * 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 + + * XmlNamespaceManager.cs: PopScope() must retain those namespaces which + are added in the scope before PushScope() was called. + +2003-09-20 Ben Maurer + + * XmlNamespaceManager.cs: Rewrote. Uses arrays, rather than linked + lists and removes uses of Hashtable. Results in huge speed gains. + +2003-09-19 Ben Maurer + + * XmlConvert.cs: NaN.ToString () != INF. + +2003-09-14 Lluis Sanchez Gual + + * XmlTextWriter.cs: Attributes that have a namespace must be always + prefixed. + +2003-09-13 Atsushi Enomoto + + * 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 + + * XmlDocument.cs : patch by Jonathan Hogg. Fixed CreateAttribute() + that handled xmlns attributes inproperly. + +2003-09-08 Atsushi Enomoto + + * 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 + + * XmlDocument.cs (Save): use the encoding of the document, if + available. + +2003-08-24 Atsushi Enomoto + + * XmlValidatingReader.cs : Implemented SchemaType. Added support for + ValidationType.Schema. Added support for XmlResolver. Fixed + ReadTypedValue() not to consume EndElement. + +2003-08-19 Atsushi Enomoto + + * 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 + + * XmlParserContext.cs: Make each context inherit next. + +2003-08-18 Ben Maurer + + * 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 + + * 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 + + * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in + vanishing current node. + +2003-08-14 Atsushi Enomoto + + * 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 + + * XmlInputStream.cs : Reverted CanSeek as to return false anyway. + +2003-08-10 Atsushi Enomoto + + * 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( ). + * 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 + + * DTDAutomata.cs : Fixed (modified or added) TryEndElement() of choice, + sequence and oneOrMore. Fixed DTDChoiceAutomata.TryStartElement(). + +2003-08-09 Atsushi Enomoto + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * XmlNode.cs : fixed internal ConstructNamespaceManager() for InnerXml + not to create extraneous xmlns="". + +2003-07-28 Atsushi Enomoto + + * 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 + + * XmlQualifiedName.cs : fields should never be null + +2003-07-27 Atsushi Enomoto + + * XmlDocumentFragment.cs : added XPathNodeType indicating Root. + +2003-07-27 Atsushi Enomoto + + * XmlDocument.cs (GetIdenticalAttribute): restored OwnerElement.IsRooted + +2003-07-27 Atsushi Enomoto + + * XmlLinkedNode.cs : added internal IsRooted. + +2003-07-26 Atsushi Enomoto + + * 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 + + * XmlDocument.cs (GetIdenticalAttribute): Temporarily remove test + for OwnerElement.IsRooted to fix the build.. + +2003-07-26 Atsushi Enomoto + + * XmlDocumentType.cs : + modified private DTD to dtd and added internal DTD (the same thing). + * XmlElement.cs : + Fixed SetAttributeNode() to check if specified attribute is already + set to the other element. In fact it is W3C DOM's specification but + MS.NET 1.0 failed to catch it. + * XmlTextReader.cs : + ReadAttributeValue() should check if the value of the attribute is + already read when the whole value is entity reference. + Also, Name of text nodes should be "", not "#text" + +2003-07-26 Atsushi Enomoto + + * XmlAttribute.cs : .ctor() shouldallow localName "xml" (not prefix) + with http://www.w3.org/XML/1998/namespace. + * XmlEntity.cs : patch by Aleksey Sanin. InnerText is now supported. + * XmlNode.cs : InnerText should handle CDATA and whitespaces. + * XmlTextReader.cs : Should allow " (#PCDATA)* " in ReadContentSpec(). + * XmlTextWriter.cs : Quick fix for accepting (and writing) same-named + attributes (as MS.NET does). It isn't good way and I may change it. + +2003-07-24 Atsushi Enomoto + + * DTDObjectModel.cs : Added DTDEntityDeclarationCollection and + DTDNotationDeclarationCollection and replaced Hashtables with them. + Added NormalizedDefaultValue property for DTDAttributeDefinition. + * DTDValidatingReader.cs : + - It now reads attribute values into value collection. + - Renamed consumedDefaultAttribute to consumedAttribute, and + inContent to insideContent. + - GetAttribute() should allow reader's other node state than element. + - MoveToNextAttribute() should move when reader is placed other than + the first attribute. + - HandleError() now supports ValidationType.None (i.e. does nothing). + - ValidateAttribute() now collects and resolves attribute value + entity references. (On the other hand, it doesn't support + EntityHandling.ExpandCharEntity.) + - NodeType shouldn't return Attribute after ReadAttributeValue(). + Now only Text is supported, but must also support EntityReference. + - Add FilterNormalization() and partially support Normalization. + +2003-07-24 Atsushi Enomoto + + * XmlTextReader.cs : + Read() now handles parser context stuff (BaseURI, XmlLang and + XmlSpace) correctly for an empty element. + Normalization property now doesn't throw an error. Will be used soon. + * XmlValidatingReader.cs : added ValidationType.None support (wait for + the next DTDValidatingReader update for "not firing event handler). + * XmlNodeReader.cs : jun. 30th commit seems wrong. It keeps its state. + +2003-07-19 Atsushi Enomoto + + * DTDValidatingReader.cs : + changed base class to XmlReader and implemented IXmlLineInfo members. + changed .ctor() argument from event handler to validating reader. + Removed some #if ... #else ... #endif blocks. + Added validation event support for Read() using HandleError(). + * XmlValidatingReader.cs : added internal OnValidationEvent(). + * XmlDocument.cs : ReadNode() now checks reader's state more strictly. + +2003-07-19 Atsushi Enomoto + + * XmlUrlResolver.cs : applied BenM's patch for file uri problem + (bug #46610). + +2003-07-15 Atsushi Enomoto + + * DTDValidatingReader.cs : + added DTDObjectModel support for non-XmlTextReader XmlReader + e.g. XmlNodeReader (Read() method). + * XmlDocument.cs : + added internal CreateDocumentType(XmlTextReader) and moved + ReadDoctypeNode() to XmlDocumentType.ImportFromDTD(). + * XmlDocumentType.cs : + added internal .ctor(XmlTextReader, document) and ImportFromDTD(). + * XmlTextReader.cs : + Renamed useSbForVal (valueBuilderAvailable), valSb (valueBuilder) + and currentSubset (DTD). + Added GenerateDTDObjectModel() (for independent doctype parsing). + +2003-07-15 Atsushi Enomoto + + * XmlAttribute.cs : + .ctor() should reject xml- or xmlns-prefixed node. + * XmlNamespaceManager.cs : + added some xmlns validity check. + * XmlNode.cs : + optimized GetNamespaceOfPrefix() and GetPrefixOfNamespace() by + avoiding XmlNamespaceManager creation. + * XmlNodeReader.cs : + doctype node should return PUBLIC and SYSTEM for its indexer, + and Value should be internal subset, + +2003-07-12 Atsushi Enomoto + + * DTDObjectModel.cs, + DTDValidatingReader.cs : Completely rewrote attribute handling. + +2003-07-12 Atsushi Enomoto + + * XmlAttribute.cs, + XmlElement.cs : Fixed CloneNode() for bug #46129. + * XmlDocument.cs : Fixed MakeReaderErrorMessage that specified invalid + String.Format arguments, and basically XmlException.ctor( + IXmlLineInfo, message) seems good idea to use. + * XmlTextReader.cs : + - Fixed .ctor(Stream, XmlNodeType, XmlParserContext) which had + required non-null context which don't have to exist. + - Added state check. Introduced 'currentState' and 'maybeTextDecl' + (for external entity) and removed hasEnteredDocument. Added + state-check logic to ReadStartTag(), ReadEndTag(), ReadText(), + ReadCData(), ReadDoctypeDecl() and ReadWhitespace(). + - Replaced throw ReaderError() with throw new XmlException() and + fixed that some error hadn't thrown, only created. + - ResetState() should re-initialize existing private members other + than some specified fields. + - Private AddAttribute() should check if the same-named attribute + already exists. + * DTDObjectModel.cs : Additive declaration for ATTLIST is availabe now. + +2003-07-09 Lluis Sanchez Gual + + * XmlTextReader.cs : Implemented ResetState() method. + +2003-07-06 Atsushi Enomoto + + * XmlElement.cs : IsEmpty has removed attributes since it incorrectly + used RemoveAll(). + +2003-07-06 Atsushi Enomoto + + * XmlDocument.cs : Load(string filename) should close its stream. + Small change for the latest DTDObjectModel change. + * XmlTextReader.cs : Changed for the latest DTDObjectModel change (all + changed methods are only related to DTD stuff). + Now uses XmlSchemaDatatype for attribute type definition. + * XmlValidatingReader : initial (limited) support for DTD validation. + It can handle only XmlTextReader. + * DTDObjectModel.cs : changed radically for initial validation support. + * added DTDAutomata.cs and DTDValidatingReader.cs. + +2003-07-06 Atsushi Enomoto + + * XmlElement.cs : Removed extraneous xmlns output support (it should + be done by XmlTextWriter). + * XmlNode.cs : InsertBefore() now checks validity of the newChild (and + most of the changes are in fact indentation changes). + * XmlWriter.cs : WriteAttributes() now can write entity references. + WriteNode() now writes xmldecl attributes correctly. + Removed namespaceManager and xmlns check logic, since it should be + done by individual XmlTextWriter. + * XmlTextWriter.cs : Patch by Jerome. AddMissingElementXmlns () has + written multiple xmlns declarations. + Moved namespaceManager from abstract XmlWriter. + Write{Start|End}Attribute() and WriteString() now checks xmlns + attribute value. (MS.NET holds value only with this write method). + +2003-07-04 Atsushi Enomoto + + * XmlDocument.cs : removed xmlReader.Close() from Load(XmlReader). + +2003-06-30 Atsushi Enomoto + + * XmlDocumentNavigator.cs : Implemented MoveTo*Namespace() and + essentially changed most of the property handling (e.g. removed attribute + enumerator and it now became really cloneable). + * XmlNodeReader.cs : ReadInnerXml() changes its state as error + when the method is called at Initial state. + +2003-06-25 Atsushi Enomoto + + * XmlDocumentNavigator.cs : Fixed IsEmptyElement. It treats + as non-empty, and XmlElement's IsEmpty is designed as such. + Fixed MoveToFirst() and MoveToNext() not to move to xmldecl nor + doctype node. + * XmlNode.cs : Fixed XPathNodeType. It should throw an exception + instead of returning undefined enum value. + Modified some code comments. + * XmlWriter.cs : Fixed WriteNode () to use WriteFullEndElement() + when XmlReader's node is not at empty element or at EndElement. + Fixed XmlDeclaration's standalone check. + +2003-06-21 Atsushi Enomoto + + * XmlTextReader.cs : removed CRLFs. Fixed private InitializeContext() + to use known Uri way (used in XmlUrlResolver) instead of UriBuilder. + +2003-06-20 Atsushi Enomoto + + * XmlInputStream.cs : quick fix for public ctor() BaseURI bug. + +2003-06-20 Ben Maurer + + * XmlTextReader.cs: Reduces memory allocation when the reader is + not queried for some values. + * NameTable.cs: Now uses a custom hashtable to implement. As a + result, when Get (char[], int, int) is called, a string is only + allocated if it is actually a new entry. + (StrEqArray) Compares a string and a char[] + (AddEntry) Adds a new entry to the hashtable + (Entry) Represents a hashtable entry. + +2003-06-20 Atsushi Enomoto + + * XmlUrlResolver.cs : several ResolveUri() fix. e.g. for external URIs. + +2003-06-16 Ben Maurer + * XmlUrlResolver.cs: really fixed #44231 + +2003-06-16 Atsushi Enomoto + + * XmlNodeReader.cs : fixed MoveToNextAttribute(). In some cases + this method set current node null. + * XmlTextReader.cs : fixed GetAttribute (name, ns), which returned + String.Empty instead of null (expected value). + * XmlTextReader.cs, + XmlUrlResolver.cs, + XmlInputStream.cs : fixed BaseURI problem (bug #44231). + +2003-06-15 Atsushi Enomoto + + * XmlNodeReader.cs : this [name] and this [name, ns] (and + GetAttribute() methods in turn) returns null instead of String.Empty. + * XmlTextWriter.cs : WriteStartAttribute() should try to use specified + prefix before auto-generating prefixes. + Implemented WriteBase64(). + +2003-06-13 Atsushi Enomoto + + * XmlNodeReader.cs : LookupNamespace () has refered invalid current + node for attributes. Modified to use private "document" property. + +2003-06-10 Lluis Sanchez Gual + + * XmlTextWriter.cs: when adding an attribute with a namespace, a prefix must be automaticaly + generated, and a namespace declaration must be added. + * XmlWriter.cs: the namespace for the prefix xmlns must be http://www.w3.org/2000/xmlns/ + +2003-06-10 Zoltan Varga + + * XmlAttribute.cs: Accept a null prefix or namespaceURI. + +2003-06-10 Duncan Mak + + * XmlDocumentNavigator.cs (GetNode): Make it implement + IHasXmlNode. + 2003-06-05 Lluis Sanchez Gual * XmlTextWriter.cs : Fixed bug. After calling for example WriteStartElement ("pref","ln","ns"); @@ -1657,4 +2574,3 @@ Wed Jul 24 13:16:19 CEST 2002 Paolo Molaro * XmlQualifiedName.cs: Fixed compile errors so it would build. Still has MonoTODO's -