2005-12-12 Atsushi Enomoto * XsdValidatingReader.cs : it is not IXmlNamespaceResolver anymore. 2005-11-07 Atsushi Enomoto * XmlSchemaValidatingReader.cs : XmlSchemaValidationFlags is updated. 2005-11-07 Atsushi Enomoto * XsdValidatingReader.cs, XmlSchemaValidatingReader.cs, XsdIdentityState.cs : Dependent changes caused by XmlValueGetter changes. 2005-11-07 Atsushi Enomoto * XsdValidatingReader.cs : XmlReader.ReadTypedValue() does not exist anymore, so it is not override. 2005-09-30 Atsushi Enomoto * XsdValidatingReader.cs: make ParserContext and its NamespaceManager optional. This is for NVDL xsd support. 2005-09-30 Atsushi Enomoto * 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 * XmlSchemaValidatingReader.cs: XmlSchemaValidationFlags updates. 2005-08-03 Gert Driesen * 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 * 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 * XsdValidatingReader.cs : removed atomicName related 2.0 members (deprecated in beta2). 2005-03-22 Atsushi Enomoto * XsdValidatingReader.cs : removed unused method which was warned. 2004-12-22 Atsushi Enomoto * XsdValidatingReader.cs : XmlResolver.ResolveUri() may return null. 2004-12-16 Atsushi Enomoto * XsdValidatingReader.cs : added ActualSchemaType to context type. * XmlSchemaValidatingReader.cs : added SchemaInfo override. 2004-12-16 Atsushi Enomoto * 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 * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via XmlSchemaValidator.ValidateElement(). Removed some obsolete overrides. 2004-12-14 Atsushi Enomoto * 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 * 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 * 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 * XsdIdentityState.cs, XsdIdentityPath.cs, XsdKeyTable.cs : fixed mixed line ending. 2004-12-11 Atsushi Enomoto * 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 * 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 * 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 * XsdValidatingReader.cs : mhm, something is wrong with call to context.PopScope(). So quick fix and marked as FIXME. 2004-12-09 Atsushi Enomoto * 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 * 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 * XsdValidatingReader.cs : more refactoring. 2004-12-08 Atsushi Enomoto * 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 * XsdValidatingReader.cs : warning elimination 2004-11-24 Atsushi Enomoto * 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 * 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 * XsdValidatingReader.cs : reuse NameTable on loading external schema. 2004-11-07 Atsushi Enomoto * XsdValidatingReader.cs : optimized some ArrayList fields; create them only when required. 2004-08-20 Atsushi Enomoto * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0. 2004-08-10 Atsushi Enomoto * XsdValidatingReader.cs : replaced XmlSchemaCollection with XmlSchemaSet. Removed unused code. 2004-08-03 Atsushi Enomoto * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver. 2004-06-18 Atsushi Enomoto * XsdIdentityPath.cs : removed unused code. * XsdIdentityState.cs : Globalization. 2004-06-11 Atsushi Enomoto * 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 * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception might be thrown in ctor() *after* stream open and before try-catch. 2004-06-03 Atsushi Enomoto * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows only atomized names. 2004-02-16 Atsushi Enomoto * XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs, XsdParticleValidationState.cs, XsdValidatingReader.cs, XsdWildcard.cs : made classes internal. Removed extra TODO comments. 2004-02-08 Atsushi Enomoto * XsdIdentityState.cs, XsdKeyTable.cs, XsdParticleValidationState.cs, XsdValidatingReader.cs, XsdWildcard.cs : foreach elimination. 2004-02-04 Atsushi Enomoto * XsdValidatingReader.cs : When the reader points at XmlDeclaration, AttributeCount counts its values (version, encoding, standalone). 2004-02-03 Atsushi Enomoto * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list of anyURI. Just split names and handle as anyURI. 2004-01-26 Atsushi Enomoto * 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 * 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 * 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 * XsdValidatingReader.cs : Now use ValidatableParticle instead of ContentTypeParticle. Use BaseXmlSchemaType. 2004-01-14 Atsushi Enomoto * 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 * XsdValidatingReader.cs : Dependent change with XmlSchemaElement internal property. 2004-01-13 Atsushi Enomoto * XsdValidatingReader.cs : Throw exception only in case of errors. 2004-01-08 Lluis Sanchez Gual * 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 * XsdValidatingReader.cs : Fixed in reflection to XmlSchemaObjectTableGetEnumerator.Value change. 2004-01-08 Nick Drochak * XsdParticleValidationState.cs: Remove unreachable code. 2003-12-18 Atsushi Enomoto * 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 * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet validation should also be done. 2003-12-07 Atsushi Enomoto * XsdValidatingReader.cs : FindElement() should use argument names (patch by David Sheldon). Warning elimination. 2003-10-26 Atsushi Enomoto * 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 * XsdValidatingReader.cs : Removed MonoTODO which was implemented in XmlValidatingreader as a result. Added xsi:nil normalization. 2003-10-23 Atsushi Enomoto * 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 * 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 * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs and XsdWildcard.cs. * XsdParticleValidationState.cs, XsdValidatingReader.cs: Completely rewrote existing validation engine. 2003-08-24 Atsushi Enomoto * XsdValidatingReader.cs, XsdParticleValidationState.cs : Initial checkin.