+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.
+ * 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