svn path=/branches/mono-1-1-9/mcs/; revision=51207
[mono.git] / mcs / class / System.XML / Mono.Xml.Schema / ChangeLog
index 720d364e4ae94d0bdaf40409c6c65f213b9b7e48..9455b93d92d7b14663e12c2fc1ac6a378f6b4a70 100644 (file)
@@ -1,3 +1,368 @@
+2005-08-03  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * XsdValidationReader.cs: GetNamespacesInScope returns generic
+       IDictionary in .NET 2.0 Beta 2.
+       * XmlSchemaValidatingReader.cs: GetNamespacesInScope returns generic
+       IDictionary in .NET 2.0 Beta 2.
+
+2005-07-28  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : when xsi:schemaLocation could not be
+         resolved, it still does not raise error when corresponding schema
+         already exists.
+
+2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs :
+         removed atomicName related 2.0 members (deprecated in beta2).
+
+2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : removed unused method which was warned.
+
+2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : XmlResolver.ResolveUri() may return null.
+
+2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : added ActualSchemaType to context type.
+       * XmlSchemaValidatingReader.cs : added SchemaInfo override.
+
+2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdParticleValidationState.cs :
+         Removed some unused or unnecessary members. Readonlify some members.
+         Added GetExpectedParticles(ArrayList) and overriden in all state
+         types, which is used in XmlSchemaValidator.GetExpectedParticles().
+
+2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
+         XmlSchemaValidator.ValidateElement().
+         Removed some obsolete overrides.
+
+2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs : new file; another XmlReader 
+         implementation that handles XSD validation. It is an reference
+         application for XmlSchemaValidator.
+       * XsdValidatingReader.cs : Use readerLineInfo for IXmlLineInfo.
+
+2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdIdentityState.cs : use validation exception for 2.0.
+         ProcessMatch() does not have to return bool. Use break and continue
+         and reduced indentation.
+       * XsdValidatingReader.cs : use validation exception for 2.0.
+         Added new XsdIDManager class and id handling is delegated to it.
+         XmlQualifiedName -> QName. AssessElementLocallyValidElement() does
+         not need XmlSchemaElement (it is context). Moved some static
+         methods to XmlSchemaUtil.cs. Collected key constraints stuff to a
+         region.
+
+2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdKeyTable.cs : eliminated XmlReader dependency.
+       * XsdValidatingReader.cs :
+         AssertIdentityConstraints() is now splited to selector validation
+         and field validation. Extracted EndKeyrefValidation() to process
+         keyref constraints.
+         Added ReadExternalSchema() and commonized xsi:schemaLocation
+         handling and xsi:noNamespaceSchemaLocation handling.
+       * XsdIdentityState.cs :
+         Eliminated XsdValidatingReader dependency.
+         In XsdKeyEntryField, renamed KeySequence to OwnerSequence.
+         XsdKeyEntryFieldCollection is now based on CollectionBase.
+         In XsdKeyEntry, FieldMatches() is renamed to ProcessMatch() and
+         modified to accept splited XsdValidatingReader members.
+       * XsdIdentityPath.cs : added default .ctor() and IsAttribute property.
+
+2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdIdentityState.cs,
+         XsdIdentityPath.cs,
+         XsdKeyTable.cs : fixed mixed line ending.
+
+2004-12-11  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs,
+         XsdIdentityState.cs : more refactoring.
+         Reduced XmlReader dependency in identity constraint classes.
+         Hide State in XsdValidationContext.
+         Simplify character validation and state resetting.
+         Need more event deligation on ExamineAdditionalSchema().
+         Just cache attribute type directly instead of QName.
+         Use XmlSchemaUtil.ReadTypedValue() common code.
+
+2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdKeyTable.cs :
+         Replaced ArrayList with new XsdKeyEntryCollection type.
+         Workarounded bug #70419.
+       * XsdValidatingReader.cs : propagate validation event handler and
+         XmlResolver. And used them.
+         Renamed local variables a bit (unified to other blocks).
+
+2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs,
+         XsdParticleValidationState.cs : Fixed the previous problem ==
+         inconsistent start assessment and end assessment.
+         More refactory: stateManager is just renamed to state, and its type
+         name is now XsdParticleStateManager.
+         Now Context is included in state.
+         Shortened lengthy xsd related type names with usingdecl.
+
+2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : mhm, something is wrong with call to
+         context.PopScope(). So quick fix and marked as FIXME.
+
+2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdParticleValidationState.cs : removed unused enum.
+       * XsdValidatingReader.cs : more refactoring. Validation process is
+         now strictly done only when not skipping (no side effect).
+         - elementQnameStack is used only in keyref resolution, so just moved
+           Pop() into EndElement block and thus removed popContext.
+         - Renamed currentQName to attrQName (only used for attribute).
+         - Create defaultAttributes array only when required.
+         So now XsdValidationContext has only Element, State and XsiType.
+         - It now just holds Stack for state objects (instead of Hashtable).
+           Child state is set inside StartElementSchemaValidity (it is kind
+           of StartTagCloseDeriv()).
+         - Removed Clear().
+
+2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : more refactoring on XsdValidationContext.
+         context.Load() was unnecessary. SchemaType is not necessary.
+         SiblingState and Element are now not accessed externally.
+
+2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : more refactoring.
+
+2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : making smarter relationship between
+         XmlValidatingReader. Added ValidationEventHandler and ValidationType.
+         nonDefaultAttributeCount was extraneous.
+         Added 'checkIdentity' (i.e. !IgnoreIdentityConstraints).
+         DefaultAttributesCache property did make little sense, so just
+         reverted to ArrayList field.
+
+2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : warning elimination
+
+2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : commented out some fields and depending
+         code that are currently not used.
+         Fixed "one incorrect missing component handling" in the last commit
+         (it was correct).
+       * XsdIdentityState.cs : removed unused fields and local variables.
+
+2004-11-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
+         SchemaSet looks not compiled.
+         Fixed one incorrect missing component handling.
+
+2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : reuse NameTable on loading external schema.
+
+2004-11-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : optimized some ArrayList fields; create them
+         only when required.
+
+2004-08-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
+
+2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : replaced XmlSchemaCollection with
+         XmlSchemaSet. Removed unused code.
+
+2004-08-03  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
+
+2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdIdentityPath.cs : removed unused code.
+       * XsdIdentityState.cs : Globalization.
+
+2004-06-11  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Identity check didn't work fine when
+         reference node appeared in front of the target key node.
+         This fixes bug #59889.
+
+2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
+         might be thrown in ctor() *after* stream open and before try-catch.
+
+2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
+         only atomized names.
+
+2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdIdentityPath.cs,
+         XsdIdentityState.cs,
+         XsdKeyTable.cs,
+         XsdParticleValidationState.cs,
+         XsdValidatingReader.cs,
+         XsdWildcard.cs : made classes internal. Removed extra TODO comments.
+
+2004-02-08  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdIdentityState.cs,
+         XsdKeyTable.cs,
+         XsdParticleValidationState.cs,
+         XsdValidatingReader.cs,
+         XsdWildcard.cs : foreach elimination.
+
+2004-02-04  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
+         AttributeCount counts its values (version, encoding, standalone).
+
+2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
+         of anyURI. Just split names and handle as anyURI.
+
+2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdParticleValidationState.cs :
+         - Now it uses ContentTypeParticle as inputs, so no GroupRef 
+           should occur anymore.
+         - xs:any should use ResolvedProcessContents. It fixes some errors.
+       * XsdValidatingReader.cs :
+         - Attribute wildcard validation should use ResolvedProcessContents.
+         - Use newly added XmlResolver field to resolve external schemas
+           specified by xsi:schemaLocation attributes.
+         - Added warning handler and raise warning events when instance-
+           specified schemas could not be resolved.
+         - xs:anyType should not be treated as a primitive datatype at
+           xsi:type resolution.
+         - Schema type was incorrectly remained when the element is laxly
+           validated.
+
+2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
+         than depth 2.
+       * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
+         xsi:type was specified.  
+         Moved character validation inside AssessEndElementSchemaValidity().
+
+2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdParticleValidationState.cs : Use ValidatedMaxOccurs instead of
+         MaxOccurs. (in the meantime)
+       * XsdValidatingReader.cs : "fixed" should not be treated as default.
+       * XsdWildcard.cs : several Wildcard Subset constraint related fixes.
+
+2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Now use ValidatableParticle instead of
+         ContentTypeParticle.  Use BaseXmlSchemaType.
+
+2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdIdentityState.cs :
+         Now takes xsi:nil value into consideration for comparison.
+         nsname:* was not handled correctly.
+         Reject complexType as key value type (it is dynamic instance error).
+       * XsdKeyTable.cs : remoed unused code.
+       * XsdValidatingReader.cs :
+         ID comparison was not done.
+         {final} value of attribute definition was not used for default value.
+         Get xsi:nil value from non-default value.
+
+2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs :
+         Dependent change with XmlSchemaElement internal property.
+
+2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Throw exception only in case of errors.
+
+2004-01-08  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * XsdValidatingReader.cs: In MoveToAttribute(name), if "name" is a default
+       attribute, search for the attribute ignoring the namespace. This matches
+       MS.NET behavior (and fixes bug #52557).
+
+2004-01-08  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Fixed in reflection to 
+         XmlSchemaObjectTableGetEnumerator.Value change.
+
+2004-01-08  Nick Drochak <ndrochak@ieee.org>
+
+       * XsdParticleValidationState.cs: Remove unreachable code.
+
+2003-12-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XsdValidatingReader.cs : When source Reader has schema context, it
+         should return source's schema type if this class cannot provide it.
+
+2003-12-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet 
+         validation should also be done.
+
+2003-12-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XsdValidatingReader.cs : FindElement() should use argument names
+         (patch by David Sheldon).  Warning elimination.
+
+2003-10-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XsdValidatingReader.cs : xsi:type should be normalized. More cleanup.
+       * XsdParticleValidationState.cs : Reverted default content processing
+         to lax. It is msxsdtest/wildCard/wildG038.xsd which looks incorrect.
+
+2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
+         XmlValidatingreader as a result. Added xsi:nil normalization.
+
+2003-10-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XsdParticleValidationState.cs : Default content processing shoule be
+         lax.
+       * XsdValidatingReader.cs : If there is no trial to get schemas for
+         namespaces, then validation against such namespace should be failed.
+         It now uses XmlSchemaAttribute.ValidatedUse instead of .Use.
+       * XsdWildcard.cs : Fixed incorrect intersection computing.
+
+2003-10-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * XsdKeyTable.cs : Reduced compilation warning.
+       * XsdParticleValidationState.cs : Reduced NotImplementedException.
+       * XsdValidatingReader.cs : Removed XmlResolver. Implemented more simple
+         type validation, such as list, union and facets.
+
+2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
+         and XsdWildcard.cs.
+       * XsdParticleValidationState.cs, XsdValidatingReader.cs:
+         Completely rewrote existing validation engine.
+
 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
 
        * XsdValidatingReader.cs,