+2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs : use XmlQualifiedName.Parse().
+
+2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs : Added internal XdtNamespace constant. don't fill
+ schemaset compoenents here.
+ * XmlSchemaAttribute.cs : Implemented AttributeSchemaType.
+ * XmlSchemaElement.cs : Implemented ElementSchemaType.
+ * XmlSchemaSimpleType.cs : Added predefined simple types
+ * XmlSchemaType.cs : Implemented GetBuiltInSimpleType().
+ * XmlSchemaDatatype.cs : Allow Xdt namespaces too (not completed;
+ quick fix for GetBuiltInSimpleType()).
+
+2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BUGS-MS.txt : updated including answer excerpts from MS team.
+ * BUGS.txt : it turned out that some bugs I wrote as "MS bugs" are
+ actually my bug. Noted them.
+ * BuiltInDatatype.cs :
+ Commented out extraneous [CLSCompliant].
+ Switch ParseValue() argument as IXmlNamespaceResolver for 2.0, and
+ XmlNamespaceManager for 1.x.
+ Added TypeCode overrides.
+ * XmlSchemaDatatype.cs : Added 2.0 members.
+ Switch IXmlNamespaceResolver and XmlNamespaceManager.
+ * XmlSchemaType.cs : Added some NET_2_0 members. removed old 1.2 stuff.
+
+2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaBuiltInType.cs, XmlSchemaValidity.cs, XmlTypeCode.cs
+ : fixed annoying enum errors.
+ * XmlSchemaCollection.cs : completely delegate to XmlSchemaSet.
+ * XmlSchemaSet.cs : sealed classes. Use ListDictionary (avoid annoying
+ order preservation matter). NameTable null check for .ctor().
+ Fill GlobalAttributes, GlobalElements, GlobalTypes correctly.
+ Add(string, XmlReader) checks namespace conflicts, while
+ Add(XmlSchema) does not. Fixed Schemas() return type.
+
+2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaDatatypeVariety.cs : Fixed class name typo.
+ * XmlValueConverter.cs : fixed return types.
+
+2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * CustomSerializer.cs, XmlSchemaException.cs,
+ XmlSchemaParticle.cs, XmlSchemaSimpleTypeRestriction.cs
+ : Globalization.
+
+2004-06-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaFacet.cs : Fixed internal protected --> internal.
+
+2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs : Make sure to close url-based XmlTextReader.
+
+2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs,
+ XmlSchemaFacet.cs,
+ XmlSchemaSimpleTypeRestriction.cs,
+ XmlSchemaXPath.cs : modified some enum const to static readonly
+ (.NET 1.0 does not allow it). Use safe overload of LookupNamespace().
+
+2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaDatatypeVariety.cs,
+ XmlSchemaValidity.cs : they are NET_2_0 enums.
+
+2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlValueConverter.cs : missed NET_2_0.
+
+2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * IXmlSchemaInfo.cs,
+ IXmlType.cs,
+ XmlSchemaDatatypeVariety.cs,
+ XmlSchemaValidity.cs,
+ XmlTypeCode.cs,
+ XmlValueConverter.cs : added.
+
+ * XmlSchemaInfo.cs : removed (.NET 1.2).
+
+ * XmlSchemaBuiltInType.cs,
+ XmlSchemaSet.cs : updated.
+
+2004-05-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * CustomSerializer.cs : Added custom serializer for XmlSchema, that is
+ generated by SerializationCodeGenerator and edited a bit.
+ * XmlSchema.cs : Use XmlSchemaSerializationWriter.
+
+2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs : Removed FIXME. No PSVI required.
+ * XmlSchemaAll.cs : Removed FIXME. It was not done.
+ * XmlSchemaAttributeGroupRef.cs : Removed FIXME. It can be annotated.
+ * XmlSchemaChoice.cs : not FIXME but LAMESPEC.
+ * XmlSchemaSimpleTypeRestriction.cs : Added check for non
+ XmlSchemaFacet items on Compile(). Thus removed FIXME.
+ * XmlSchemaUtil.cs : Fixed SplitList to handle sequential spaces.
+ Thus removed FIXME.
+ * XmlSchemaObjectTable. cs: modified to use HybridDictionary (mostly
+ for avoiding iterator order difference).
+
+2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaSimpleTypeRestriction.cs : Removed MonoTODO. done.
+
+2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs : made classes/enums internal.
+
+2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs : trivia fix
+
+2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs : added BUGGY_MS_COMPLIANT condition and that
+ handles ms-compatible properties.
+ * XmlSchemaComplexType.cs : ditto for ContentTypeParticle of xs:anyType.
+ Make sure ContentType for xs:anyType is Mixed.
+ * XmlSchemaUtil.cs : ditto for <xs:attribute use="prohibited" ..>
+
+2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs : Write() handles schema namespace for xmlserializer
+ (it does not look to be handled inside xmlserializer).
+
+2004-04-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaComplexType.cs : Set basetype as ur-type for such complex
+ type that has an immediate Particle (W3C specified as restriction
+ of ur-type).
+
+2004-04-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaAttribute.cs : When type was inline simple type, it is not
+ validated correctly.
+ * XmlSchemaSimpleType.cs : When Content was restriction, DataType was
+ not indicating base type's Datatype correctly.
+
+2004-04-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaDatatype.cs : optimized Normalize() not to create
+ extraneous string objects.
+
+2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
+
+ * reverted the latest XmlSchemaUnique.cs change (MS.NET looks fine to
+ reject incorrect schemas ;-)
+
+2004-03-04 Alon Gazit <along@mainsoft.com>
+
+ * XmlSchemaUnique.cs : Changed Read implementation.
+ Currently can read "field" element before "selector" element (like MS).
+
+2004-02-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaCollection.cs : Implemented SyncRoot and IsSynchronized
+ (as always synchronized).
+
+2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs,
+ XmlSchemaAttribute.cs
+ XmlSchemaAttributeGroup.cs,
+ XmlSchemaComplexContent.cs,
+ XmlSchemaComplexType.cs,
+ XmlSchemaContent.cs,
+ XmlSchemaDatatype.cs,
+ XmlSchemaNotation.cs,
+ XmlSchemaObject.cs,
+ XmlSchemaParticle.cs : extra TODO removal. foreach elimination.
+ Moved attribute group recursion check field from XmlSchemaObject
+ to XmlSchemaAttributeGroup.
+ Fixed XmlSchemaParticle.EmptyParticle class access modifier.
+ * XmlSchemaSimpleType.cs,
+ XmlSchemaSimpleTypeContent.cs,
+ XmlSchemaSimpleTypeList.cs,
+ XmlSchemaSimpleTypeRestriction.cs,
+ XmlSchemaSimpleTypeUnion.cs : Removed "actualBaseSchemaType" field
+ and the owner simpleType should hold the corresponding type info.
+ Collect base type info in prior to validation.
+
+2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BUGS-MS.txt : fixed incorrect thought on case 008. Added case 014.
+ * BUGS.txt : FYI.
+
+2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs : Fixed some Parse() for token based datatypes.
+ * XmlSchemaAny.cs : set properties for cloned particle. This will fix
+ bugzilla #53668.
+ * XmlSchemaParticle.cs : copy occurence string after computation of
+ validated min/max occurence. This will fix bug #53667.
+
+2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs : Raise warning event when external schema could not
+ be resolved.
+ * XmlSchemaAll.cs : Fixed incorrect IsEmptiable computation.
+ * XmlSchemaAny.cs : Fixed incorrect occurence computation.
+ * XmlSchemaChoice.cs : compiledItems were incorrectly appended.
+ * XmlSchemaComplexType.cs : Now validatableParticle became extraneous.
+ * XmlSchemaGroupBase.cs : Here we should not get optimized particle
+ because it might cause infinite loop.
+ * XmlSchemaGroupRef.cs : Fixed Validate() to avoid null reference
+ exception (only occur with ValidationEventHandler). Fixed Occurence
+ embedding logic that was useless because of particle optimization.
+
+2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs : On parsing QName, we don't have to spend costs
+ on Add()ing parsed name to name table.
+ * XmlSchemaUtil.cs : Added IsBuiltInDatatypeName().
+ * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs,
+ XmlSchemaElement.cs, XmlSchemaSimpleContentExtension.cs,
+ XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeList.cs :
+ Use the method above instead of Namespace string comparison.
+ (it will be required to validate schema for schemas.)
+ * XmlSchemaComplexType.cs : Type Derivation OK (3.4.6) should also
+ treat null base type as anyType. Derivation Valid Restriction
+ (3.4.6) should allow base type wildcard absense in case of anyType.
+
+2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs : When we have schema A which includes schema B which
+ includes schema C (i.e. A->B->C), C components should be compiled.
+ Here, same URL inclusions are ignored.
+ * XmlSchemaElement.cs : Hack for missing substitution-group fix.
+ * XmlSchemaSimpleTypeContent.cs : make actualBaseSchemaType private
+ and initialize. This fixes bug #53178.
+ * XmlSchemaSimpleTypeUnion.cs : Forgot to commit ;)
+
+2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaSimpleTypeRestriction.cs : regexp improvements. Modify
+ pattern string as "^str$" and convert WXS specific char classes into
+ .NET regexp patterns.
+
+2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs :
+ - Removed extra property Language. Fill substitution-group info
+ before ContentTypeParticle is computed.
+ * XmlSchemaComplexType.cs : ContentType and ContentTypeParticle are
+ now computer before Validate() (to exclude 3.4.2 from 3.4.6
+ component constraint check).
+ * XmlSchemaObject.cs, XmlSchemaParticle.cs :
+ Added CopyInfo() for cloning objects.
+ * XmlSchemaObjectTable.cs :
+ Add() doesn't have to reject same named items.
+ * XmlSchemaParticle.cs :
+ - Renamed internal class XmlSchemaParticleEmpty to EmptyParticle
+ (for ease of post compilation infoset comparison).
+ - GetMinEffectiveTotalRange() should return max occurs for element and
+ any.
+ * XmlSchemaParticle.cs,
+ XmlSchemaAll.cs,
+ XmlSchemaAny.cs,
+ XmlSchemaChoice.cs,
+ XmlSchemaElement.cs,
+ XmlSchemaGroupBase.cs,
+ XmlSchemaGroupRef.cs,
+ XmlSchemaSequence.cs :
+ - Removed ActualParticle property.
+ - Added GetOptimizedParticle() to get ContentTypeParticle.
+ - ContentTypeParticle is now created as different object from
+ user-specified "Particle" property.
+ - Return Empty particle when model groups contains no Items.
+ - When Items contains exactly 1 item, return the item (unless it is
+ top level choice model group - it causes DBR problem).
+ - ValidateDerivationValidRestriction() and related WXS 3.9.6 DBR
+ check methods such as ValidateNSRecurseCheckCardinality() now
+ returns a bool value and avoids exceptions on each failure time.
+ - ValidateRecurse() now doesn't progress base particle incorrectly.
+ (it caused incorrect order-preserving-mapping error.)
+ - 3.9.6 Recurse, RecurseLax, MapAndSum are now treated as different.
+ * XmlSchemaAll.cs : occurence validation shoud be done against values
+ after computation (ValidatedMaxOccurs).
+ * XmlSchemaChoice.cs : When Items is empty, then invoke warning event.
+ * XmlSchemaElement.cs :
+ - Consider referencedElement also for SubstitutionGroupElement.
+ - Removed SubstitutingChoice which is not in use.
+ - when it was targeted as substitution group by other elements, its
+ ContentTypeParticle should be substitution choice (see 3.9.6
+ Particle Valid (Restriction) term 2.1).
+ - Added FillsubstitutionElementInfo() (see XmlSchema.cs above).
+ * XmlSchemaGroup.cs : Removed extra check on model group (because it
+ is impossible to specify non-model-group particle).
+ * XmlSchemaIdentityConstraint.cs,
+ XmlSchemaKey.cs,
+ XmlSchemaKeyRef.cs,
+ XmlSchemaUnique.cs : Removed extraneous MonoTODO.
+ * XmlSchemaSimpleContent.cs : Made actualSchemaType as internal.
+ * XmlSchemaSimpleType.cs : Removed extraneous new Datatype property.
+ * XmlSchemaSimpleTypeRestriction.cs : Renamed actualBaseSchemaType to
+ ActualBaseSchemaType.
+ * XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
+ Removed unused actualBaseSchemaType code.
+ * XmlSchemaType.cs : use recently introduced BaseXmlSchemaType.
+ * XmlSchemaUtil.cs : Removed unused CheckLanguage().
+
+2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaXPath.cs : wildcard with prefix (e.g. @foo:*) was
+ incorrectly treated.
+
+2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SchemaDataValueType.cs : UriValueType.ToString() should return
+ actual URI string (as MS's XmlSchemaUri class does).
+ * XmlSchemaReader.cs : Make it internal.
+
+2004-01-16 David Sheldon <dave-mono@earth.li>
+
+ * BuiltInDatatype.cs: added guard to stop index out of range error for
+ invalid Base64 characters.
+
+2004-01-15 Jackson Harper <jackson@ximian.com>
+
+ * XmlSchemaContent.cs: Make actualBaseSchemaType protected (fixes
+ build).
+
+2004-01-15 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaComplexContentExtension.cs,
+ XmlSchemaSimpleContentExtension.cs,
+ XmlSchemaSimpleContentExtension.cs,
+ XmlSchemaSimpleContentRestriction.cs,
+ XmlSchemaContent.cs : Added IsExtension. GetXXX() became nonvirtual.
+ * XmlSchemaType.cs :
+ - Added NET_2_0 BaseXmlSchemaType (other members are commented out).
+ - Now BaseSchemaType redirects to new property BaseXmlSchemaType.
+ * XmlSchemaComplexType.cs :
+ - Now it fully uses BaseXmlSchemaType above.
+ - Since ValidateXXX() became too huge, I divided them into
+ CollectXXX() [spec 3.4.1] and ValidateXXX() [spec 3.4.3 / 3.4.6].
+ Schema Components are contributed before constraint check.
+ - Now ContentTypeParticle is distinguished from validating particle
+ which is newly introduced as "ValidatableParticle" (only used in
+ XsdValidatingReader).
+ * XmlSchemaSimpleType.cs : Now it uses BaseXmlSchemaType.
+ capitalized internal members a bit.
+
+2004-01-14 David Sheldon <dave-mono@earth.li>
+
+ * XmlSchemaSimpleTypeRestriction: Convert pattern facets to be ORed,
+ as per: http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
+ Fixes bug 52841
+
+2004-01-14 David Sheldon <dave-mono@earth.li>
+
+ * BuiltInDatatype.cs:
+ XsdAnySimpleType - Added Length that returns the string length.
+ XsdBase64Binary - Added Length, and used more direct, less fussy,
+ Base64 decoder.
+ XsdHexBinary - Added Length method
+
+ * XmlSchemaSimpleTypeRestriction: use DataType Length method to
+ determine length to compare against. Stop testing Lenght facets on
+ QName and Notation types (as per errata)
+
+2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaComplexType.cs : forgot to commit ;)
+ * XmlSchemaUtil.cs : Fixed IsSchemaDatatypeEquals() to return false
+ for comparison between ID and IDREF.
+
+2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Added SchemaDataValueType.cs.
+ * BuiltInDatatype.cs, XmlSchemaDatatype.cs : Adde ParseValueType() on
+ all derived datatype classes.
+ * XmlSchemaComplexType.cs : Fixed ContentType value for simple types.
+ Errata-considered simple content derivation check and simple content
+ restriction should check this too.
+
+2004-01-13 Jackson Harper <jackson@ximian.com>
+
+ * XmlSchemaComplexType.cs: Comment out line that was breaking the build.
+
+2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaSimpleTypeUnion.cs : The same reason as the previous patch.
+ * XmlSchemaComplexType.cs : Now it handles ContentTypeParticle and
+ ContentType much more presise than before.
+ * XmlSchemaElement.cs :
+ Simplified property handling for reference element.
+
+2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchema.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs :
+ Invalid attribute should raise an error, not a warning.
+
+2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaObject.cs : Fixed error() not to set severity as Warning.
+ * ValidationHandler.cs,
+ XmlSchemaSet.cs,
+ XmlSchemaCollection.cs : Throw exception only in case of errors.
+ * XmlSchemaCollection.cs : Remove schema from schemaset if exist.
+ (It might not be good to use schemaset, but keep for a while)
+ * XmlSchemaContent.cs,
+ XmlSchemaComplexContentExtension.cs,
+ XmlSchemaComplexContentRestriction.cs,
+ XmlSchemaSimpleContentExtension.cs,
+ XmlSchemaSimpleContentRestriction.cs,
+ : added GetBaseTypeName() and GetParticle() (not used yet).
+
+2004-01-11 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BuiltInDatatype.cs : internal type should not appear in protected
+ members' signature.
+
2004-01-11 David Sheldon <dave-mono@earth.li>
* BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in
validation.
+2004-01-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaSet.cs : implemented some members.
+ * XmlSchemaCollection.cs : modified to use internal schema set (This
+ class provides more precise schema validation feature and will be
+ commonly used for XPathNavigator2).
+ Added .NET 1.1 .ctor() which takes XmlResolver.
+ * XmlSchema.cs : fix related to above changes.
+ Use validation event handler on Read() at all required places.
+ Added .NET 1.1 .ctor() which takes XmlResolver.
+ * XmlSchemaComplexType.cs : content type comparison was incorrect.
+ Renamed confusing method.
+ * XmlSchemaElement.cs : don't use ContentTypeParticle in
+ CheckRecursion(), where that property might not be determined yet.
+ * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
+ no effect)
+ * XmlSchemaGroupBase.cs,
+ XmlSchemaChoice.cs,
+ XmlSchemaAll.cs,
+ XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
+ * XmlSchemaObjectTable.cs : Fixed missing error info.
+ * BUGS-MS.txt : Added info a bit.
+
2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
* BUGS-MS.txt : added list derivation and facet case.