merge -r96115:96041
[mono.git] / mcs / class / System.XML / Mono.Xml.Schema / ChangeLog
index eee9c255be489f08308b2d9077b75b3565f995a1..331a22d42dccb5a6c48d87d48e4945c1f35b6033 100644 (file)
@@ -1,3 +1,321 @@
+2008-02-19  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdWildcard.cs : block extra compilation and made compilation reset.
+         This somehow fixed bug #360541.
+
+2007-10-31  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : r68046 didn't really fix the issue.
+         Enabled the actual fix. and fixed bug #336625.
+
+2007-07-25  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : reject more whitespaces in empty model
+         element.
+
+2007-07-17  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Process empty and element-only contents
+         differently along with the spec 3.4.4 Element Locally Valid (Complex 
+         Type) 2.3 (and 2.1 respectively). Itchy specification indeed.
+         This demanded not a few internal changes. Fixed bug #82099.
+
+2007-04-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs : nsResolver field must be initialized.
+         Fixed bug #81460.
+
+2006-11-17  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : when ValidationType is None, it does not
+         load external schemas. Fixed bug #79924.
+
+2006-11-14  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs : dispatch validation events from
+         XmlReaderSettings. Turned out that outside System.Xml.dll
+         XmlReaderSettings.ValidationEventHandler is useless.
+
+2006-10-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Fixed bug #79650. Enumeration facet was
+         not validated for attributes. Also, simple type restriction should
+         require namespace manager to resolve QNames.
+
+2006-08-04  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdIdentityState.cs : Fixed bug #78985. If there are two identical
+         field path "@key" in two different keys where one is in scope
+         within another, it incorrectly matched the attribute whose name
+         is same but in different element hierarchy (depth).
+
+2006-04-12  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs : don't reject such XmlReader that
+         does not implement IXmlNamespaceResolver.
+
+2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : when DTD did not appear in 
+         DTDValidatingReader, it almost makes no sense to use it, so just
+         use its internal EntityResolvingXmlReader (it is required to
+         detect "undeclared entity in use" well-formedness violation).
+         It could double processing speed (or more).
+
+2006-01-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : whitespace nodes should be allowed inside
+         empty or element-only content types. Fixed bug #77241.
+
+2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs : removed unused constructors.
+         Now it implements IXmlSchemaInfo. Use XmlSchemaType instead of
+         Object to represent schema types.
+
+2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs :
+         Don't use normalized string as input to AssessStringValid(). It 
+         incorrectly invalidates strings against simple types with length-
+         related facets.
+         Now that we don't ignore whitespaces, we need to explicitly allow
+         pure whitespace texts in ElementOnly/Empty model.
+
+2005-12-26  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : Fixed the bug that only the last schema
+         URL in a schemaLocation was processed. Patch by Vorobiev Maksim.
+
+2005-12-12  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : it is not IXmlNamespaceResolver anymore.
+
+2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs : XmlSchemaValidationFlags is updated.
+
+2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs, XmlSchemaValidatingReader.cs,
+         XsdIdentityState.cs :
+         Dependent changes caused by XmlValueGetter changes.
+
+2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs : XmlReader.ReadTypedValue() does not exist 
+         anymore, so it is not override.
+
+2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs: make ParserContext and its NamespaceManager
+         optional. This is for NVDL xsd support.
+
+2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdValidatingReader.cs: allow validation for such XmlReader whose
+         ReadState is Interactive (hold different "is started" flag). This
+         is a fix for nvdl support.
+
+2005-09-25  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlSchemaValidatingReader.cs: XmlSchemaValidationFlags updates.
+
+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.