1 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
3 * XmlSchemaSet.cs : use NameTable when creating XmlTextReader.
5 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
7 * XmlSchemaSet.cs : reduced extraneous XmlSchemaObjectTable creation.
9 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
11 * XmlSchemaSimpleTypeList.cs,
12 XmlSchemaSimpleTypeUnion.cs : XmlIgnore.
14 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
16 * XmlSchemaAttribute.cs : AttributeSchemaType could be determined on
17 compilation time. AttributeType is obsolete.
18 * XmlSchemaElement.cs : ditto for ElementSchemaType and ElementType.
20 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
22 * XmlSchemaComplexType.cs : added LocalElements, with the description
23 why it can never be correct implementation.
24 * XmlSchemaUtil.cs : use IHasXmlParserContext.
26 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
28 * XmlSchemaSimpleTypeUnion.cs : Added 2.0 BaseMemberTypes property
29 (this property name is also ambiguous and should be changed too.)
31 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
33 * XmlSchemaSimpleTypeList.cs : Added 2.0 BaseItemType property (BTW
34 this property name is really ambiguous and should be changed.)
36 2004-10-28 Atsushi Enomoto <atsushi@ximian.com>
38 * XmlSchemaAttributeGroup.cs, XmlSchemaGroup.cs :
39 in 2.0, QualifiedName properties are public.
40 * XmlSchemaType.cs : TypeCode is [XmlIgnore] (anyways ignored though).
42 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
44 * XmlSchemaType.cs : Implemented GetBuiltInComplexType(XmlTypeCode).
46 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
48 * XmlSchemaDatatype.cs : handle xdt:* types in FromName().
50 2004-09-16 Atsushi Enomoto <atsushi@ximian.com>
52 * BuiltInDatatype.cs, SchemaDataValueType.cs :
53 ParseValue() for xs:AnyURI should return System.Uri. MS.NET returns
54 XmlSchemaUri, but it is derived from System.Uri, while ours was not.
56 2004-09-07 Atsushi Enomoto <atsushi@ximian.com>
58 * IXmlType.cs : deprecated in .NET 2.0.
60 2004-09-03 Atsushi Enomoto <atsushi@ximian.com>
62 * XmlSchema.cs : When schema inclusion results in a recursion, just
64 * BUGS-MS.txt : added another entry. Reflected response from Microsoft.
66 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
68 * XmlSchemaType.cs : quick build fix.
70 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
72 * XmlSchemaDatatype.cs : Removed FromName(localName) that cannot
74 * XmlSchemaType.cs : added internal GetBuiltInType() methods that
75 mix GetBuiltInSimpleType() and GetBuiltInComplexType().
77 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
79 * XmlSchemaSimpleType.cs : Fill list types such as xs:IDREFS.
81 Fixed TypeCode more (broken on predefined list types and xs:anyType).
83 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
86 anyType was anonymous, thus GetBuiltInComplexType() didn't work.
88 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
90 * XmlSchemaType.cs : return XmlTypeCode.AnyAtomicType for
91 anySimpleType's TypeCode property.
93 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
95 * XmlSchema.cs : Replace XmlSchemaCollection with XmlSchemaSet that
96 used to maintain compiled schema state.
97 Simplified code a bit (Include processing).
98 Set IsCompiled = true only when successfully compiled.
99 * XmlSchemaCollection.cs : Now it totally delegates its processing
100 to XmlSchemaSet. Removed unused methods.
101 * XmlSchemaElement.cs : Added post-compiled information initializer
102 method, and call it before (re)Compile().
104 - Replaced internal store from Dictionary to List, since schema
105 resources for one target namespace can be more than one (that's why
106 - Schemas(string targetNamespace) returns ICollection).
107 - Now global schemaset members are added per schema addition (it is
108 more MS compatible than before).
109 - Use GetSafeNs() to do targetNamespace comparison correctly.
111 XmlSchemaSet looks still unstable, so it will be changed again.
113 * XmlSchemaSimpleTypeRestriction.cs,
114 XmlSchemaSimpleTypeUnion.cs,
115 * XmlSchemaUtil.cs : Consider xdt namespace.
117 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
119 * XmlSchemaCollection.cs : replaced CRLF to LF (they were mixed).
121 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
123 * XmlSchema.cs : code reformatting. convert CRLF to LF.
124 Use String.Format() instead of +. Removed commented code.
126 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
128 * BuiltInDatatype.cs : use XmlQualifiedName.Parse().
130 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
132 * XmlSchema.cs : Added internal XdtNamespace constant. don't fill
133 schemaset compoenents here.
134 * XmlSchemaAttribute.cs : Implemented AttributeSchemaType.
135 * XmlSchemaElement.cs : Implemented ElementSchemaType.
136 * XmlSchemaSimpleType.cs : Added predefined simple types
137 * XmlSchemaType.cs : Implemented GetBuiltInSimpleType().
138 * XmlSchemaDatatype.cs : Allow Xdt namespaces too (not completed;
139 quick fix for GetBuiltInSimpleType()).
141 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
143 * BUGS-MS.txt : updated including answer excerpts from MS team.
144 * BUGS.txt : it turned out that some bugs I wrote as "MS bugs" are
145 actually my bug. Noted them.
146 * BuiltInDatatype.cs :
147 Commented out extraneous [CLSCompliant].
148 Switch ParseValue() argument as IXmlNamespaceResolver for 2.0, and
149 XmlNamespaceManager for 1.x.
150 Added TypeCode overrides.
151 * XmlSchemaDatatype.cs : Added 2.0 members.
152 Switch IXmlNamespaceResolver and XmlNamespaceManager.
153 * XmlSchemaType.cs : Added some NET_2_0 members. removed old 1.2 stuff.
155 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
157 * XmlSchemaBuiltInType.cs, XmlSchemaValidity.cs, XmlTypeCode.cs
158 : fixed annoying enum errors.
159 * XmlSchemaCollection.cs : completely delegate to XmlSchemaSet.
160 * XmlSchemaSet.cs : sealed classes. Use ListDictionary (avoid annoying
161 order preservation matter). NameTable null check for .ctor().
162 Fill GlobalAttributes, GlobalElements, GlobalTypes correctly.
163 Add(string, XmlReader) checks namespace conflicts, while
164 Add(XmlSchema) does not. Fixed Schemas() return type.
166 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
168 * XmlSchemaDatatypeVariety.cs : Fixed class name typo.
169 * XmlValueConverter.cs : fixed return types.
171 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
173 * CustomSerializer.cs, XmlSchemaException.cs,
174 XmlSchemaParticle.cs, XmlSchemaSimpleTypeRestriction.cs
177 2004-06-10 Atsushi Enomoto <atsushi@ximian.com>
179 * XmlSchemaFacet.cs : Fixed internal protected --> internal.
181 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
183 * XmlSchema.cs : Make sure to close url-based XmlTextReader.
185 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
187 * BuiltInDatatype.cs,
189 XmlSchemaSimpleTypeRestriction.cs,
190 XmlSchemaXPath.cs : modified some enum const to static readonly
191 (.NET 1.0 does not allow it). Use safe overload of LookupNamespace().
193 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
195 * XmlSchemaDatatypeVariety.cs,
196 XmlSchemaValidity.cs : they are NET_2_0 enums.
198 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
200 * XmlValueConverter.cs : missed NET_2_0.
202 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
206 XmlSchemaDatatypeVariety.cs,
207 XmlSchemaValidity.cs,
209 XmlValueConverter.cs : added.
211 * XmlSchemaInfo.cs : removed (.NET 1.2).
213 * XmlSchemaBuiltInType.cs,
214 XmlSchemaSet.cs : updated.
216 2004-05-19 Atsushi Enomoto <atsushi@ximian.com>
218 * CustomSerializer.cs : Added custom serializer for XmlSchema, that is
219 generated by SerializationCodeGenerator and edited a bit.
220 * XmlSchema.cs : Use XmlSchemaSerializationWriter.
222 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
224 * XmlSchema.cs : Removed FIXME. No PSVI required.
225 * XmlSchemaAll.cs : Removed FIXME. It was not done.
226 * XmlSchemaAttributeGroupRef.cs : Removed FIXME. It can be annotated.
227 * XmlSchemaChoice.cs : not FIXME but LAMESPEC.
228 * XmlSchemaSimpleTypeRestriction.cs : Added check for non
229 XmlSchemaFacet items on Compile(). Thus removed FIXME.
230 * XmlSchemaUtil.cs : Fixed SplitList to handle sequential spaces.
232 * XmlSchemaObjectTable. cs: modified to use HybridDictionary (mostly
233 for avoiding iterator order difference).
235 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
237 * XmlSchemaSimpleTypeRestriction.cs : Removed MonoTODO. done.
239 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
241 * BuiltInDatatype.cs : made classes/enums internal.
243 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
245 * BuiltInDatatype.cs : trivia fix
247 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
249 * BuiltInDatatype.cs : added BUGGY_MS_COMPLIANT condition and that
250 handles ms-compatible properties.
251 * XmlSchemaComplexType.cs : ditto for ContentTypeParticle of xs:anyType.
252 Make sure ContentType for xs:anyType is Mixed.
253 * XmlSchemaUtil.cs : ditto for <xs:attribute use="prohibited" ..>
255 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
257 * XmlSchema.cs : Write() handles schema namespace for xmlserializer
258 (it does not look to be handled inside xmlserializer).
260 2004-04-27 Atsushi Enomoto <atsushi@ximian.com>
262 * XmlSchemaComplexType.cs : Set basetype as ur-type for such complex
263 type that has an immediate Particle (W3C specified as restriction
266 2004-04-27 Atsushi Enomoto <atsushi@ximian.com>
268 * XmlSchemaAttribute.cs : When type was inline simple type, it is not
270 * XmlSchemaSimpleType.cs : When Content was restriction, DataType was
271 not indicating base type's Datatype correctly.
273 2004-04-06 Atsushi Enomoto <atsushi@ximian.com>
275 * XmlSchemaDatatype.cs : optimized Normalize() not to create
276 extraneous string objects.
278 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
280 * reverted the latest XmlSchemaUnique.cs change (MS.NET looks fine to
281 reject incorrect schemas ;-)
283 2004-03-04 Alon Gazit <along@mainsoft.com>
285 * XmlSchemaUnique.cs : Changed Read implementation.
286 Currently can read "field" element before "selector" element (like MS).
288 2004-02-26 Atsushi Enomoto <atsushi@ximian.com>
290 * XmlSchemaCollection.cs : Implemented SyncRoot and IsSynchronized
291 (as always synchronized).
293 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
296 XmlSchemaAttribute.cs
297 XmlSchemaAttributeGroup.cs,
298 XmlSchemaComplexContent.cs,
299 XmlSchemaComplexType.cs,
301 XmlSchemaDatatype.cs,
302 XmlSchemaNotation.cs,
304 XmlSchemaParticle.cs : extra TODO removal. foreach elimination.
305 Moved attribute group recursion check field from XmlSchemaObject
306 to XmlSchemaAttributeGroup.
307 Fixed XmlSchemaParticle.EmptyParticle class access modifier.
308 * XmlSchemaSimpleType.cs,
309 XmlSchemaSimpleTypeContent.cs,
310 XmlSchemaSimpleTypeList.cs,
311 XmlSchemaSimpleTypeRestriction.cs,
312 XmlSchemaSimpleTypeUnion.cs : Removed "actualBaseSchemaType" field
313 and the owner simpleType should hold the corresponding type info.
314 Collect base type info in prior to validation.
316 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
318 * BUGS-MS.txt : fixed incorrect thought on case 008. Added case 014.
321 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
323 * BuiltInDatatype.cs : Fixed some Parse() for token based datatypes.
324 * XmlSchemaAny.cs : set properties for cloned particle. This will fix
326 * XmlSchemaParticle.cs : copy occurence string after computation of
327 validated min/max occurence. This will fix bug #53667.
329 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
331 * XmlSchema.cs : Raise warning event when external schema could not
333 * XmlSchemaAll.cs : Fixed incorrect IsEmptiable computation.
334 * XmlSchemaAny.cs : Fixed incorrect occurence computation.
335 * XmlSchemaChoice.cs : compiledItems were incorrectly appended.
336 * XmlSchemaComplexType.cs : Now validatableParticle became extraneous.
337 * XmlSchemaGroupBase.cs : Here we should not get optimized particle
338 because it might cause infinite loop.
339 * XmlSchemaGroupRef.cs : Fixed Validate() to avoid null reference
340 exception (only occur with ValidationEventHandler). Fixed Occurence
341 embedding logic that was useless because of particle optimization.
343 2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
345 * BuiltInDatatype.cs : On parsing QName, we don't have to spend costs
346 on Add()ing parsed name to name table.
347 * XmlSchemaUtil.cs : Added IsBuiltInDatatypeName().
348 * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs,
349 XmlSchemaElement.cs, XmlSchemaSimpleContentExtension.cs,
350 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeList.cs :
351 Use the method above instead of Namespace string comparison.
352 (it will be required to validate schema for schemas.)
353 * XmlSchemaComplexType.cs : Type Derivation OK (3.4.6) should also
354 treat null base type as anyType. Derivation Valid Restriction
355 (3.4.6) should allow base type wildcard absense in case of anyType.
357 2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
359 * XmlSchema.cs : When we have schema A which includes schema B which
360 includes schema C (i.e. A->B->C), C components should be compiled.
361 Here, same URL inclusions are ignored.
362 * XmlSchemaElement.cs : Hack for missing substitution-group fix.
363 * XmlSchemaSimpleTypeContent.cs : make actualBaseSchemaType private
364 and initialize. This fixes bug #53178.
365 * XmlSchemaSimpleTypeUnion.cs : Forgot to commit ;)
367 2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
369 * XmlSchemaSimpleTypeRestriction.cs : regexp improvements. Modify
370 pattern string as "^str$" and convert WXS specific char classes into
371 .NET regexp patterns.
373 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
376 - Removed extra property Language. Fill substitution-group info
377 before ContentTypeParticle is computed.
378 * XmlSchemaComplexType.cs : ContentType and ContentTypeParticle are
379 now computer before Validate() (to exclude 3.4.2 from 3.4.6
380 component constraint check).
381 * XmlSchemaObject.cs, XmlSchemaParticle.cs :
382 Added CopyInfo() for cloning objects.
383 * XmlSchemaObjectTable.cs :
384 Add() doesn't have to reject same named items.
385 * XmlSchemaParticle.cs :
386 - Renamed internal class XmlSchemaParticleEmpty to EmptyParticle
387 (for ease of post compilation infoset comparison).
388 - GetMinEffectiveTotalRange() should return max occurs for element and
390 * XmlSchemaParticle.cs,
395 XmlSchemaGroupBase.cs,
396 XmlSchemaGroupRef.cs,
397 XmlSchemaSequence.cs :
398 - Removed ActualParticle property.
399 - Added GetOptimizedParticle() to get ContentTypeParticle.
400 - ContentTypeParticle is now created as different object from
401 user-specified "Particle" property.
402 - Return Empty particle when model groups contains no Items.
403 - When Items contains exactly 1 item, return the item (unless it is
404 top level choice model group - it causes DBR problem).
405 - ValidateDerivationValidRestriction() and related WXS 3.9.6 DBR
406 check methods such as ValidateNSRecurseCheckCardinality() now
407 returns a bool value and avoids exceptions on each failure time.
408 - ValidateRecurse() now doesn't progress base particle incorrectly.
409 (it caused incorrect order-preserving-mapping error.)
410 - 3.9.6 Recurse, RecurseLax, MapAndSum are now treated as different.
411 * XmlSchemaAll.cs : occurence validation shoud be done against values
412 after computation (ValidatedMaxOccurs).
413 * XmlSchemaChoice.cs : When Items is empty, then invoke warning event.
414 * XmlSchemaElement.cs :
415 - Consider referencedElement also for SubstitutionGroupElement.
416 - Removed SubstitutingChoice which is not in use.
417 - when it was targeted as substitution group by other elements, its
418 ContentTypeParticle should be substitution choice (see 3.9.6
419 Particle Valid (Restriction) term 2.1).
420 - Added FillsubstitutionElementInfo() (see XmlSchema.cs above).
421 * XmlSchemaGroup.cs : Removed extra check on model group (because it
422 is impossible to specify non-model-group particle).
423 * XmlSchemaIdentityConstraint.cs,
426 XmlSchemaUnique.cs : Removed extraneous MonoTODO.
427 * XmlSchemaSimpleContent.cs : Made actualSchemaType as internal.
428 * XmlSchemaSimpleType.cs : Removed extraneous new Datatype property.
429 * XmlSchemaSimpleTypeRestriction.cs : Renamed actualBaseSchemaType to
430 ActualBaseSchemaType.
431 * XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
432 Removed unused actualBaseSchemaType code.
433 * XmlSchemaType.cs : use recently introduced BaseXmlSchemaType.
434 * XmlSchemaUtil.cs : Removed unused CheckLanguage().
436 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
438 * XmlSchemaXPath.cs : wildcard with prefix (e.g. @foo:*) was
441 2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
443 * SchemaDataValueType.cs : UriValueType.ToString() should return
444 actual URI string (as MS's XmlSchemaUri class does).
445 * XmlSchemaReader.cs : Make it internal.
447 2004-01-16 David Sheldon <dave-mono@earth.li>
449 * BuiltInDatatype.cs: added guard to stop index out of range error for
450 invalid Base64 characters.
452 2004-01-15 Jackson Harper <jackson@ximian.com>
454 * XmlSchemaContent.cs: Make actualBaseSchemaType protected (fixes
457 2004-01-15 Atsushi Enomoto <atsushi@ximian.com>
459 * XmlSchemaComplexContentExtension.cs,
460 XmlSchemaSimpleContentExtension.cs,
461 XmlSchemaSimpleContentExtension.cs,
462 XmlSchemaSimpleContentRestriction.cs,
463 XmlSchemaContent.cs : Added IsExtension. GetXXX() became nonvirtual.
465 - Added NET_2_0 BaseXmlSchemaType (other members are commented out).
466 - Now BaseSchemaType redirects to new property BaseXmlSchemaType.
467 * XmlSchemaComplexType.cs :
468 - Now it fully uses BaseXmlSchemaType above.
469 - Since ValidateXXX() became too huge, I divided them into
470 CollectXXX() [spec 3.4.1] and ValidateXXX() [spec 3.4.3 / 3.4.6].
471 Schema Components are contributed before constraint check.
472 - Now ContentTypeParticle is distinguished from validating particle
473 which is newly introduced as "ValidatableParticle" (only used in
474 XsdValidatingReader).
475 * XmlSchemaSimpleType.cs : Now it uses BaseXmlSchemaType.
476 capitalized internal members a bit.
478 2004-01-14 David Sheldon <dave-mono@earth.li>
480 * XmlSchemaSimpleTypeRestriction: Convert pattern facets to be ORed,
481 as per: http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
484 2004-01-14 David Sheldon <dave-mono@earth.li>
486 * BuiltInDatatype.cs:
487 XsdAnySimpleType - Added Length that returns the string length.
488 XsdBase64Binary - Added Length, and used more direct, less fussy,
490 XsdHexBinary - Added Length method
492 * XmlSchemaSimpleTypeRestriction: use DataType Length method to
493 determine length to compare against. Stop testing Lenght facets on
494 QName and Notation types (as per errata)
496 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
498 * XmlSchemaComplexType.cs : forgot to commit ;)
499 * XmlSchemaUtil.cs : Fixed IsSchemaDatatypeEquals() to return false
500 for comparison between ID and IDREF.
502 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
504 * Added SchemaDataValueType.cs.
505 * BuiltInDatatype.cs, XmlSchemaDatatype.cs : Adde ParseValueType() on
506 all derived datatype classes.
507 * XmlSchemaComplexType.cs : Fixed ContentType value for simple types.
508 Errata-considered simple content derivation check and simple content
509 restriction should check this too.
511 2004-01-13 Jackson Harper <jackson@ximian.com>
513 * XmlSchemaComplexType.cs: Comment out line that was breaking the build.
515 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
517 * XmlSchemaSimpleTypeUnion.cs : The same reason as the previous patch.
518 * XmlSchemaComplexType.cs : Now it handles ContentTypeParticle and
519 ContentType much more presise than before.
520 * XmlSchemaElement.cs :
521 Simplified property handling for reference element.
523 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
525 * XmlSchema.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs :
526 Invalid attribute should raise an error, not a warning.
528 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
530 * XmlSchemaObject.cs : Fixed error() not to set severity as Warning.
531 * ValidationHandler.cs,
533 XmlSchemaCollection.cs : Throw exception only in case of errors.
534 * XmlSchemaCollection.cs : Remove schema from schemaset if exist.
535 (It might not be good to use schemaset, but keep for a while)
536 * XmlSchemaContent.cs,
537 XmlSchemaComplexContentExtension.cs,
538 XmlSchemaComplexContentRestriction.cs,
539 XmlSchemaSimpleContentExtension.cs,
540 XmlSchemaSimpleContentRestriction.cs,
541 : added GetBaseTypeName() and GetParticle() (not used yet).
543 2004-01-11 Atsushi Enomoto <atsushi@ximian.com>
545 * BuiltInDatatype.cs : internal type should not appear in protected
548 2004-01-11 David Sheldon <dave-mono@earth.li>
550 * BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
551 to the data-types. Changed AllowedFacets to be a bitfield.
553 * XmlSchemaFacet.cs : Added Facet enumeration to represent bitfield.
555 * XmlSchemaEnumerationFacet.cs,
556 XmlSchemaFractionDigitsFacet.cs,
557 XmlSchemaLengthFacet.cs,
558 XmlSchemaMaxExclusiveFacet.cs,
559 XmlSchemaMaxInclusiveFacet.cs,
560 XmlSchemaMaxLengthFacet.cs,
561 XmlSchemaMinExclusiveFacet.cs,
562 XmlSchemaMinInclusiveFacet.cs,
563 XmlSchemaMinLengthFacet.cs,
564 XmlSchemaNumericFacet.cs,
565 XmlSchemaPatternFacet.cs,
566 XmlSchemaTotalDigitsFacet.cs,
567 XmlSchemaWhiteSpaceFacet.cs : Added ThisFacet Property to return facet type
570 * XmlSchemaSimpleTypeRestriction.cs: Inherited facets from base types,
571 checked which which were allowed on different types. Validated fixed
572 facets, duplicated facets and derivation by restriction. Added checking
573 for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in
576 2004-01-09 Atsushi Enomoto <atsushi@ximian.com>
578 * XmlSchemaSet.cs : implemented some members.
579 * XmlSchemaCollection.cs : modified to use internal schema set (This
580 class provides more precise schema validation feature and will be
581 commonly used for XPathNavigator2).
582 Added .NET 1.1 .ctor() which takes XmlResolver.
583 * XmlSchema.cs : fix related to above changes.
584 Use validation event handler on Read() at all required places.
585 Added .NET 1.1 .ctor() which takes XmlResolver.
586 * XmlSchemaComplexType.cs : content type comparison was incorrect.
587 Renamed confusing method.
588 * XmlSchemaElement.cs : don't use ContentTypeParticle in
589 CheckRecursion(), where that property might not be determined yet.
590 * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
592 * XmlSchemaGroupBase.cs,
595 XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
596 * XmlSchemaObjectTable.cs : Fixed missing error info.
597 * BUGS-MS.txt : Added info a bit.
599 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
601 * BUGS-MS.txt : added list derivation and facet case.
602 * XmlSchemaComplexType.cs :
603 Added some description. Avoided null reference exception in
605 Fixed incorrect 3.4.6 Derivation Valid (Extension) 1.4.1.2.2 and
606 3.9.6 Particle Valid (Extension) 2.
607 * XmlSchemaGroupBase.cs : Fixed ParticleEquals() which didn't work
608 properly against sequence and all.
610 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
612 * XmlSchemaObjectTable.cs : Modified enumerator's Current to return
614 * XmlSchemaComplexType.cs, XmlSchemaUtil.cs :
615 In reflection to object table enumerator change.
617 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
619 * XmlSchemaElement.cs : Fixed incorrect unique particle attribution
620 check on ##other and target namespace element.
622 2004-01-08 Nick Drochak <ndrochak@ieee.org>
624 * XmlSchemaSimpleType.cs: Needed a 'new' on the property
625 * XmlSchemaXPath.cs: Removed unreachable code.
627 2004-01-03 Atsushi Enomoto <atsushi@ximian.com>
629 * XmlSchemaDatatype.cs : trivial allocation fix.
631 2003-12-17 David Sheldon <dave-mono@earth.li>
633 * BuiltInDatatype.cs : Added whitespace=collapse to data types
634 such as date, dateTime, .... gDay. I think I have them all now.
636 2003-12-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
638 * BuiltInDatatype.cs : anySimpleType should allow facets.
640 2003-12-14 David Sheldon <dave-mono@earth.li>
642 * BuiltInDatatype.cs : Added code to tell which facets were valid on
643 types derived from each basetype.
645 * XmlSchemaSimpleTypeRestriction.cs : Complain if an invalid facet
646 has been added to a restriction.
649 2003-12-14 David Sheldon <dave-mono@earth.li>
651 * XmlSchemaSimpleTypeRestriction.cs : Check that min/max/lengths
652 specified are integers. Also made some error messages more useful.
654 2003-12-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
656 * XmlSchemaSimpleTypeRestriction.cs : patch by David Sheldon. Check
657 if max/min length range is valid.
659 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
661 * BuiltInDatatype.cs : XsdDecimal and XsdInteger defaults whitespace
662 facet as collapse (patch by David Sheldon).
663 * XmlSchemaAnnotations.cs, XmlSchemaAny.cs : No more MonoTODOs ;-)
664 * XmlSchemaSequence.cs : MapAndSum implementation.
666 2003-11-17 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
668 * XmlSchemaSet.cs, XmlSchemaBuiltInType.cs : Added .NET 1.2 classes
669 (for convenience of ObjectSpaces stubbing).
671 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
673 * BuiltInDatatype.cs : XsdByte was incorrectly typed as byte, while
674 the correct binding is sbyte.
677 XmlSchemaSequence.cs,
678 XmlSchemaGroupBase.cs : ActualParticle now considers pointlessness
679 described in WXS structures 3.9.6.
680 Added ValidateRecurse() to support 'Recurse' validation.
681 * XmlSchemaComplexType.cs : Removed incorrect content type conformity
683 * XmlSchemaElement.cs : Implemented 'RecurseAsIfGroup' validation
684 described in WXS structures 3.9.6. Fixed type derivation check to
685 do only if the base type is not anyType.
686 * XmlSchemaSimpleTypeRestriction.cs : Should catch Regex()
687 construction exception. ValidateList... and ValidateNonList... was
689 * XmlSchemaUtil.cs : Removed extra MonoTODO. Removed CheckToken().
691 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
693 * BuiltInDatatype.cs : Fixed incorrect inheritance of date and time.
694 Fixed most of date-time related types' ParseValue().
695 Applied Normalize() before parsing values in some ParseValue().
697 2003-10-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
701 XmlSchemaGroupBase.cs,
702 XmlSchemaSequence.cs : Now CompiledItems went to XmlSchemaGroupBase.
705 XmlSchemaGroupBase.cs,
706 XmlSchemaGroupRef.cs,
707 XmlSchemaParticle.cs,
708 XmlSchemaSequence.cs : Added ParticleEquals() method to compare
709 whether the particles are equal in the context of WXS part 1 - 3.9.6.
710 * XmlSchemaAny.cs : Implemented ValidateDerivationByRestriction().
711 * XmlSchemaAnyAttribute.cs : Removed extraneous lines and added my
712 responsibility on this class.
713 Added ValidateWildcardAllowsNamespaceName().
714 * XmlSchemaAttribute.cs : Added ValidatedUse which holds post-
715 compilation value of "Use".
716 * XmlSchemaAttributeGroup.cs,
717 XmlSchemaAttributeGroupRef.cs : Removed MonoTODO (same as some other
718 classes) since there is no more errors on attribute stuff ;-)
719 * XmlSchemaComplexType.cs : complex content extension must block
720 derivation from any built-in primitive types.
721 Fixed wildcard derivation by restriction.
722 ValidateDerivationByRestriction() now checks attribute related
723 validity of DBR (derivation by restriction).
724 Now uses ParticleEquals() for particle DBR check.
725 * XmlSchemaSequence.cs : Fixed to use CompiledItems instead of Items.
727 2003-10-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
730 XmlSchemaUtil.cs : Reduced warning message.
731 * XmlSchemaAttribute.cs : NotImplementedException should no more exist.
732 (All things are going to be implemented.)
733 * BuiltInDatatype.cs : XsdInteger should not allow non-integer decimal.
734 * XmlSchemaSimpleType.cs : Added internal Datatype property. Implemented
735 list type derivation validation. Added Normalize().
736 * XmlSchemaSimpleTypeContent.cs : Added Normalize(). Replaced anyType
738 * XmlSchemaSimpleTypeRestriction.cs : Implemented some facet validation,
739 such as pattern, enumeration, and length etc.
741 2003-10-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
743 * BuiltInDatatype.cs : Implemented XsdHexBinary.Parse().
744 * XmlSchemaCollection.cs : Implemented CopyTo().
745 * XmlSchemaDatatype.cs : Added Normalize() with whitespace handling.
746 Added support for anySimpleType.
747 * XmlSchemaSimpleType.cs : Type specification named as anyType should
748 be mapped to anySimpleType.
749 * BUGS-MS.txt : Added more case note.
751 2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
753 * XmlSchema.cs: If the schema element is an empty element, skip it after
754 reading the attributes.
756 2003-10-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
758 * BuiltInDatatype.cs : Added CLSCompliant attributes to some classes.
760 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
762 * XmlSchemaUtil.cs: arrayType attribute needs special handling.
764 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
766 * XmlSchema.cs : Forgot to update with previous files.
768 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
770 * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs,
771 XmlSchemaGroupRef.cs, XmlSchemaSimpleContentExtension.cs,
772 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeContent.cs,
773 XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
774 Fixed missing sub components check. It should fix soap stuff.
775 * XmlSchemaAny.cs, XmlSchemaAttribute.cs,
776 XmlSchemaAttributeGroupRef.cs, XmlSchemaContent.cs :
777 Added my responsibility on them ;-)
779 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
781 * XmlSchema.cs : Read() should keep current position of XmlReader if
782 it was already positioned to 'schema' element.
784 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
786 * Forgot to append 8/24/2003 ChangeLog.
787 * BUGS.txt, BUGS-MS.txt : Appended additional bug info.
788 * BuiltInDatatype.cs, ValidationHandler.cs, XmlSchema.cs,
789 XmlSchemaAll.cs, XmlSchemaAnnotation.cs. XmlSchemaAny.cs,
790 XmlSchemaAnyAttribute.cs, XmlSchemaAttribute.cs,
791 XmlSchemaAttributeGroup.cs, XmlSchemaAttributeGroupRef.cs,
792 XmlSchemaChoice.cs, XmlSchemaCollection.cs,
793 XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
794 XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
795 XmlSchemaContent.cs, XmlSchemaDatatype.cs, XmlSchemaElement.cs,
796 XmlSchemaException.cs, XmlSchemaGroup.cs, XmlSchemaGroupBase.cs,
797 XmlSchemaGroupRef.cs, XmlSchemaIdentityConstraint.cs,
798 XmlSchemaKey.cs, XmlSchemaKeyref.cs, XmlSchemaNotation.cs,
799 XmlSchemaObject.cs, XmlSchemaObjectTable.cs, XmlSchemaParticle.cs,
800 XmlSchemaReader.cs, XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
801 XmlSchemaSimpleContentExtension.cs,
802 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
803 XmlSchemaSimpleTypeContent.cs, XmlSchemaSimpleTypeList.cs,
804 XmlSchemaSimpleTypeRestriction.cs, XmlSchemaSimpleTypeUnion.cs,
805 XmlSchemaType.cs, XmlSchemaUnique.cs, XmlSchemaUtil.cs,
808 - Almost all classes are changed to implement schema component
809 constraints, and schema validation using XsdValidatingReader.
810 - better exception messages.
811 - More datatype support.
814 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
816 * XmlSchema.cs: Do not add schema namespace declaration if it is already
819 2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
821 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added double type.
823 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
825 * BuiltInDatatype.cs : XsdDecimal.TokenizedType should be None.
826 * XmlSchemaCollection.cs : Add(uri) should not reject chameleon schema.
827 Add() should compile specified schema.
829 2003-08-08 Lluis Sanchez Gual <lluis@ximian.com>
831 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added XsdAnyURI,
832 XsdDateTime, XsdDate, XsdTime.
834 2003-08-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
836 * BuiltInDatatypes.cs : Fixed whitespace facet in XsdToken.
837 Tokenized type of nmtokens and entities is string [].
838 * XmlSchema.cs : Changed IsCompile implementation a bit.
839 Compile() should reset compiled contents.
840 * XmlSchemaDatatype.cs : Fixed collapsing Normalize().
841 * XmlSchemaObject.cs : added CompilationId initialization.
843 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
845 * XmlSchema.cs: Set IsCompiled to true after compiling.
846 In Compile(): ignore included schemas that do not have a value
847 in SchemaLocation. It means that FindElement can return null
848 if the referred schema was ignored. Added check for that case.
849 Compile schema after reading it.
850 * XmlSchemaCollection.cs: The targetNamespace of a schema may
851 be null. Make XmlSchemaCollection work for this case.
852 * BuiltInDataType.cs, XmlSchemaDataType.cs: added new primitive
853 types: float, base64Binary, boolean.
855 2003-08-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
858 - Changed missingElementTypeRefs from Hashtable to ArrayList.
859 - Added internal XmlSchemas for keeping imported schemas.
860 - Added private Compile() that takes the original rootSchema and
861 schema location stack for nested inclusion check.
862 - Added basic xs:import and xs:include support.
863 - Compile() is now aware of included XmlSchemaObject items.
864 - Changed Compile() to fill missing elements' types and that of
865 referencing elements.
866 - Read() now adds SourceUri property (although only to itself).
867 * XmlSchemaCollection.cs : Implemented Add().
868 * XmlSchemaCollectionEnumerator.cs :
869 Changed .ctor() to use schema collection as its argument.
870 Fixed Current to return hashtable's Value, instead of Current
871 (which returns DictionaryEntry).
872 * XmlSchemaComplexType.cs :
873 Added internal static AnyType.
874 Compile() is now searches for its base type into other schemas.
875 * XmlSchemaElement.cs : anyType is supported.
876 It now searches for type information after Compile().
877 SetReferedElementInfo() is now changed to SetSchemaType().
878 * XmlSchemaObjectTable.cs :
879 It had problems similar to schema collection. Now it uses internal
880 class XmlSchemaObjectTableEnumerator to support GetEnumerator().
881 * XmlSchemaParticle.cs : added internal class XmlSchemaParticleEmpty
882 and internal static Empty.
884 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
886 * BuiltInDatatype.cs : XsdIDRefs.ParseValue () should be implemented.
887 * XmlSchemaDatatype.cs : public Whitespace and protected Normalize()
890 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
892 * XmlSchema.cs : Read() now uses XmlSerializer.Deserialize().
894 2003-07-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
896 * XmlSchema.cs, XmlSchemaElement.cs :
897 added internal MissingElementTypeRefs and support for refering
898 element's elementType.
900 2003-07-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
902 * XmlSchema.cs : added support for collecting missing type references
904 * XmlSchemaType.cs, XmlSchemaComplexType.cs, XmlSchemaSimpleType.cs:
905 - Renamed qName to QNameInternal.
906 - Added BaseSchemaType and ContentTypeParticle support.
908 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
910 * XmlSchema.cs, XmlSchemaAll.cs, XmlSchemaAnnotated.cs,
911 XmlSchemaAnnotation.cs, XmlSchemaAny.cs, XmlSchemaAnyAttribute.cs,
912 XmlSchemaAttribute.cs, XmlSchemaAttributeGroup.cs,
913 XmlSchemaAttributeGroupRef.cs, XmlSchemaChoice.cs,
914 XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
915 XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
916 XmlSchemaElement.cs, XmlSchemaGroup.cs, XmlSchemaGroupRef.cs,
917 XmlSchemaIdentityConstraint.cs, XmlSchemaImport.cs,
918 XmlSchemaInclude.cs, XmlSchemaKey.cs, XmlSchemaKeyref.cs,
919 XmlSchemaNotation.cs, XmlSchemaObject.cs, XmlSchemaRedefine.cs,
920 XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
921 XmlSchemaSimpleContentExtension.cs,
922 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
923 XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeRestriction.cs,
924 XmlSchemaSimpleTypeUnion.cs, XmlSchemaUnique.cs,
926 As to Compile() and Validate(),
927 - Added CompilationId and check it while compiling schema components.
928 - Code refactory. Replaced literal xmlns with XmlSchema.Namespace
929 - Replaced XmlSchemaInfo with compiling XmlSchema itself (XmlSchema
930 also has PSVI components inside it, so passing itself seems enough).
931 - Related to above change, IDCollection was moved to XmlSchema, and
932 blockDefault/finalDefault/blockResolved/finalResolved resolution
933 was changed to reference only to schema.BlockDefault/FinalDefault.
934 - The similar change has done against XmlSchemaForm related stuff.
935 - Changed compilation order of schema type definitions (it is
936 workaround). First it compiles types, and then it compiles others.
937 * XmlSchemaElement.cs : added ElementType PSVI contribution support.
939 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
941 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs :
942 Added decimal and its derived datatypes.
943 Added abstract XsdAnySimpleType.
945 2003-07-15 Lluis Sanchez Gual <lluis@ximian.com>
947 * BuiltInDatatype.cs,
948 XmlSchemaDatatype.cs : added unsignedByte type support.
950 2003-07-14 Lluis Sanchez Gual <lluis@ximian.com>
952 * XmlSchemaDatatype.cs: Fixed compiler warning.
954 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
956 * BuiltInDatatype.cs,
957 XmlSchemaDatatype.cs : added NOTATION type support.
959 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
961 * added BuiltInDatatype.cs.
962 * XmlSchemaDatatype.cs : [GetType()] added support for some
965 2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
967 * XmlSchemaAnnotation.cs : It depended on incorrect ReadNode().
969 2003-02-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
971 * XmlSchemaAnnotation.cs : expect the correct closing tag on <appinfo>
972 and <documentation> elements. (patch by Peter Pentchev)
973 * XmlSchemaObjectEnumerator.cs : cast properly to XmlSchemaObject
974 instead of XmlSchema. (patch by Peter Pentchev)
976 2002-07-23 Duncan Mak <duncan@ximian.com>
978 * XmlSchemaException.cs: Partiall implement the ISerializable
979 methods. It's not clear now SourceSchemaObject should be deserialized.
981 2002-07-22 Tim Coleman <tim@timcoleman.com>
982 * XmlSchema.cs: Removed isCompiled which is defined as internal
985 2002-06-18 Dwivedi, Ajay kumar <adwiv@yahoo.com>
987 * XmlSchema: Started work on Validate methods
989 2002-06-18 Dwivedi, Ajay kumar <adwiv@yahoo.com>
990 * XmlSchema: The Read and Write methods are no more [MonoTODO] :)
992 * XmlSchemaAppInfo: Xml Markup is now being read.
994 * XmlSchemaDocumentation: Xml Markup is now being read.
996 * All: Unhandled attributes are being handled properly.
998 * All: Reordered the properties in all cs files to match with MS
999 Implementation. This was required since the order is importatnt
1000 for the XmlSerializer.
1002 2002-06-14 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1003 * General: Fixed a few more Bugs
1005 2002-06-10 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1006 * XmlSchemaReader: A Wrapper class around XmlReader with customized
1007 methods to suit reading a schema.
1008 * General: Implemented Read() method for the schema. There are only
1009 a few minor bugs remaining.
1011 2002-05-25 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1012 * BUGS.txt: New file to keep track of bugs
1014 * ALL: All classes are initialized exactly as in .NET except
1015 1. inclusion of language attribute in schema
1016 2. ComplexContent's Particle is initialized to null whereas .NET
1017 to some internal implementation. IMO Null is more appropriate
1019 * ALL: Changed the Compile methods to return the count of errors.
1021 * ALL: Complile methods are almost complete. Pass 1453 of 3061 tests.
1022 This number should shoot up if we write a parser to read the
1023 Schema instead of using reflection (which is slower too)
1025 2002-05-04 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1026 * XmlSchemaUtil.cs: New file added.
1028 * Parser.cs: New file Added. Unused at the moment.
1030 * XmlSchemaObjectCollection: Fixed GetEnumerator
1032 * General: Preprocessing for Attributes and SimpleTypes completed.
1034 2002-04-26 Duncan Mak <duncan@ximian.com>
1036 * ValidationHandler.cs: New file.
1038 * XmlSchemaInfo.cs: New file.
1040 * *.cs: More updates from Ajay.
1042 2002-03-27 Duncan Mak <duncan@ximian.com>
1044 * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.