2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.Schema / ChangeLog
1 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
2
3         * BuiltInDatatype.cs,
4           XmlSchemaFacet.cs,
5           XmlSchemaSimpleTypeRestriction.cs,
6           XmlSchemaXPath.cs : modified some enum const to static readonly
7           (.NET 1.0 does not allow it). Use safe overload of LookupNamespace().
8
9 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
10
11         * XmlSchemaDatatypeVariety.cs,
12           XmlSchemaValidity.cs : they are NET_2_0 enums.
13
14 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
15
16         * XmlValueConverter.cs : missed NET_2_0.
17
18 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
19
20         * IXmlSchemaInfo.cs,
21           IXmlType.cs,
22           XmlSchemaDatatypeVariety.cs,
23           XmlSchemaValidity.cs,
24           XmlTypeCode.cs,
25           XmlValueConverter.cs : added.
26
27         * XmlSchemaInfo.cs : removed (.NET 1.2).
28
29         * XmlSchemaBuiltInType.cs,
30           XmlSchemaSet.cs : updated.
31
32 2004-05-19  Atsushi Enomoto <atsushi@ximian.com>
33
34         * CustomSerializer.cs : Added custom serializer for XmlSchema, that is
35           generated by SerializationCodeGenerator and edited a bit.
36         * XmlSchema.cs : Use XmlSchemaSerializationWriter.
37
38 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
39
40         * XmlSchema.cs : Removed FIXME. No PSVI required.
41         * XmlSchemaAll.cs : Removed FIXME. It was not done.
42         * XmlSchemaAttributeGroupRef.cs : Removed FIXME. It can be annotated.
43         * XmlSchemaChoice.cs : not FIXME but LAMESPEC.
44         * XmlSchemaSimpleTypeRestriction.cs : Added check for non 
45           XmlSchemaFacet items on Compile(). Thus removed FIXME.
46         * XmlSchemaUtil.cs : Fixed SplitList to handle sequential spaces.
47           Thus removed FIXME.
48         * XmlSchemaObjectTable. cs: modified to use HybridDictionary (mostly
49           for avoiding iterator order difference).
50
51 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
52
53         * XmlSchemaSimpleTypeRestriction.cs : Removed MonoTODO. done.
54
55 2004-05-12  Atsushi Enomoto <atsushi@ximian.com>
56
57         * BuiltInDatatype.cs : made classes/enums internal.
58
59 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
60
61         * BuiltInDatatype.cs : trivia fix
62
63 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
64
65         * BuiltInDatatype.cs : added BUGGY_MS_COMPLIANT condition and that
66           handles ms-compatible properties.
67         * XmlSchemaComplexType.cs : ditto for ContentTypeParticle of xs:anyType.
68           Make sure ContentType for xs:anyType is Mixed.
69         * XmlSchemaUtil.cs : ditto for <xs:attribute use="prohibited" ..>
70
71 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
72
73         * XmlSchema.cs : Write() handles schema namespace for xmlserializer
74           (it does not look to be handled inside xmlserializer).
75
76 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
77
78         * XmlSchemaComplexType.cs : Set basetype as ur-type for such complex
79           type that has an immediate Particle (W3C specified as restriction
80           of ur-type).
81
82 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
83
84         * XmlSchemaAttribute.cs : When type was inline simple type, it is not
85           validated correctly.
86         * XmlSchemaSimpleType.cs : When Content was restriction, DataType was
87           not indicating base type's Datatype correctly.
88
89 2004-04-06  Atsushi Enomoto <atsushi@ximian.com>
90
91         * XmlSchemaDatatype.cs : optimized Normalize() not to create
92           extraneous string objects.
93
94 2004-03-15  Atsushi Enomoto <atsushi@ximian.com>
95
96         * reverted the latest XmlSchemaUnique.cs change (MS.NET looks fine to
97           reject incorrect schemas ;-)
98
99 2004-03-04  Alon Gazit <along@mainsoft.com>
100
101         * XmlSchemaUnique.cs : Changed Read implementation.
102         Currently can read "field" element before "selector" element (like MS).  
103
104 2004-02-26  Atsushi Enomoto <atsushi@ximian.com>
105
106         * XmlSchemaCollection.cs : Implemented SyncRoot and IsSynchronized
107           (as always synchronized).
108
109 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
110
111         * XmlSchema.cs,
112           XmlSchemaAttribute.cs
113           XmlSchemaAttributeGroup.cs,
114           XmlSchemaComplexContent.cs,
115           XmlSchemaComplexType.cs,
116           XmlSchemaContent.cs,
117           XmlSchemaDatatype.cs,
118           XmlSchemaNotation.cs,
119           XmlSchemaObject.cs,
120           XmlSchemaParticle.cs : extra TODO removal. foreach elimination.
121             Moved attribute group recursion check field from XmlSchemaObject 
122             to XmlSchemaAttributeGroup.
123             Fixed XmlSchemaParticle.EmptyParticle class access modifier.
124         * XmlSchemaSimpleType.cs,
125           XmlSchemaSimpleTypeContent.cs,
126           XmlSchemaSimpleTypeList.cs,
127           XmlSchemaSimpleTypeRestriction.cs,
128           XmlSchemaSimpleTypeUnion.cs : Removed "actualBaseSchemaType" field
129             and the owner simpleType should hold the corresponding type info.
130             Collect base type info in prior to validation.
131
132 2004-02-05  Atsushi Enomoto <atsushi@ximian.com>
133
134         * BUGS-MS.txt : fixed incorrect thought on case 008. Added case 014.
135         * BUGS.txt : FYI.
136
137 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
138
139         * BuiltInDatatype.cs : Fixed some Parse() for token based datatypes.
140         * XmlSchemaAny.cs : set properties for cloned particle. This will fix
141           bugzilla #53668.
142         * XmlSchemaParticle.cs : copy occurence string after computation of
143           validated min/max occurence. This will fix bug #53667.
144
145 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
146
147         * XmlSchema.cs : Raise warning event when external schema could not 
148           be resolved.
149         * XmlSchemaAll.cs : Fixed incorrect IsEmptiable computation.
150         * XmlSchemaAny.cs : Fixed incorrect occurence computation.
151         * XmlSchemaChoice.cs : compiledItems were incorrectly appended.
152         * XmlSchemaComplexType.cs : Now validatableParticle became extraneous.
153         * XmlSchemaGroupBase.cs : Here we should not get optimized particle
154           because it might cause infinite loop.
155         * XmlSchemaGroupRef.cs : Fixed Validate() to avoid null reference 
156           exception (only occur with ValidationEventHandler).  Fixed Occurence
157           embedding logic that was useless because of particle optimization.
158
159 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
160
161         * BuiltInDatatype.cs : On parsing QName, we don't have to spend costs
162           on Add()ing parsed name to name table.
163         * XmlSchemaUtil.cs : Added IsBuiltInDatatypeName().
164         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, 
165           XmlSchemaElement.cs, XmlSchemaSimpleContentExtension.cs,
166           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeList.cs :
167           Use the method above instead of Namespace string comparison.
168           (it will be required to validate schema for schemas.)
169         * XmlSchemaComplexType.cs : Type Derivation OK (3.4.6) should also
170           treat null base type as anyType.  Derivation Valid Restriction 
171           (3.4.6) should allow base type wildcard absense in case of anyType.
172
173 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
174
175         * XmlSchema.cs : When we have schema A which includes schema B which
176           includes schema C (i.e. A->B->C), C components should be compiled.
177           Here, same URL inclusions are ignored.
178         * XmlSchemaElement.cs : Hack for missing substitution-group fix.
179         * XmlSchemaSimpleTypeContent.cs : make actualBaseSchemaType private
180           and initialize. This fixes bug #53178.
181         * XmlSchemaSimpleTypeUnion.cs : Forgot to commit ;)
182
183 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
184
185         * XmlSchemaSimpleTypeRestriction.cs : regexp improvements. Modify
186           pattern string as "^str$" and convert WXS specific char classes into
187           .NET regexp patterns.
188
189 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
190
191         * XmlSchema.cs :
192           - Removed extra property Language.  Fill substitution-group info
193             before ContentTypeParticle is computed.
194         * XmlSchemaComplexType.cs : ContentType and ContentTypeParticle are 
195           now computer before Validate() (to exclude 3.4.2 from 3.4.6
196           component constraint check).
197         * XmlSchemaObject.cs, XmlSchemaParticle.cs :
198           Added CopyInfo() for cloning objects.
199         * XmlSchemaObjectTable.cs :
200           Add() doesn't have to reject same named items.
201         * XmlSchemaParticle.cs :
202           - Renamed internal class XmlSchemaParticleEmpty to EmptyParticle 
203             (for ease of post compilation infoset comparison).
204           - GetMinEffectiveTotalRange() should return max occurs for element and
205             any.
206         * XmlSchemaParticle.cs,
207           XmlSchemaAll.cs,
208           XmlSchemaAny.cs,
209           XmlSchemaChoice.cs,
210           XmlSchemaElement.cs,
211           XmlSchemaGroupBase.cs,
212           XmlSchemaGroupRef.cs,
213           XmlSchemaSequence.cs :
214           - Removed ActualParticle property.
215           - Added GetOptimizedParticle() to get ContentTypeParticle.
216           - ContentTypeParticle is now created as different object from 
217             user-specified "Particle" property.
218           - Return Empty particle when model groups contains no Items.
219           - When Items contains exactly 1 item, return the item (unless it is
220             top level choice model group - it causes DBR problem).
221           - ValidateDerivationValidRestriction() and related WXS 3.9.6 DBR
222             check methods such as ValidateNSRecurseCheckCardinality() now
223             returns a bool value and avoids exceptions on each failure time.
224           - ValidateRecurse() now doesn't progress base particle incorrectly.
225             (it caused incorrect order-preserving-mapping error.)
226           - 3.9.6 Recurse, RecurseLax, MapAndSum are now treated as different.
227         * XmlSchemaAll.cs : occurence validation shoud be done against values
228           after computation (ValidatedMaxOccurs).
229         * XmlSchemaChoice.cs : When Items is empty, then invoke warning event.
230         * XmlSchemaElement.cs :
231           - Consider referencedElement also for SubstitutionGroupElement.  
232           - Removed SubstitutingChoice which is not in use.
233           - when it was targeted as substitution group by other elements, its 
234             ContentTypeParticle should be substitution choice (see 3.9.6 
235             Particle Valid (Restriction) term 2.1).
236           - Added FillsubstitutionElementInfo() (see XmlSchema.cs above).
237         * XmlSchemaGroup.cs : Removed extra check on model group (because it
238           is impossible to specify non-model-group particle).
239         * XmlSchemaIdentityConstraint.cs,
240           XmlSchemaKey.cs,
241           XmlSchemaKeyRef.cs,
242           XmlSchemaUnique.cs : Removed extraneous MonoTODO.
243         * XmlSchemaSimpleContent.cs : Made actualSchemaType as internal.
244         * XmlSchemaSimpleType.cs : Removed extraneous new Datatype property.
245         * XmlSchemaSimpleTypeRestriction.cs : Renamed actualBaseSchemaType to
246           ActualBaseSchemaType.
247         * XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
248           Removed unused actualBaseSchemaType code.
249         * XmlSchemaType.cs : use recently introduced BaseXmlSchemaType.
250         * XmlSchemaUtil.cs : Removed unused CheckLanguage().
251
252 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
253
254         * XmlSchemaXPath.cs : wildcard with prefix (e.g. @foo:*) was
255           incorrectly treated.
256
257 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
258
259         * SchemaDataValueType.cs : UriValueType.ToString() should return 
260           actual URI string (as MS's XmlSchemaUri class does).
261         * XmlSchemaReader.cs : Make it internal.
262
263 2004-01-16  David Sheldon <dave-mono@earth.li>
264
265        * BuiltInDatatype.cs: added guard to stop index out of range error for
266          invalid Base64 characters.
267
268 2004-01-15  Jackson Harper <jackson@ximian.com>
269
270         * XmlSchemaContent.cs: Make actualBaseSchemaType protected (fixes
271         build).
272         
273 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
274
275         * XmlSchemaComplexContentExtension.cs,
276           XmlSchemaSimpleContentExtension.cs,
277           XmlSchemaSimpleContentExtension.cs,
278           XmlSchemaSimpleContentRestriction.cs,
279           XmlSchemaContent.cs : Added IsExtension. GetXXX() became nonvirtual.
280         * XmlSchemaType.cs : 
281           - Added NET_2_0 BaseXmlSchemaType (other members are commented out).
282           - Now BaseSchemaType redirects to new property BaseXmlSchemaType.
283         * XmlSchemaComplexType.cs :
284           - Now it fully uses BaseXmlSchemaType above.
285           - Since ValidateXXX() became too huge, I divided them into 
286             CollectXXX() [spec 3.4.1] and ValidateXXX() [spec 3.4.3 / 3.4.6].
287             Schema Components are contributed before constraint check.
288           - Now ContentTypeParticle is distinguished from validating particle
289             which is newly introduced as "ValidatableParticle" (only used in 
290             XsdValidatingReader).
291         * XmlSchemaSimpleType.cs : Now it uses BaseXmlSchemaType.
292           capitalized internal members a bit.
293
294 2004-01-14  David Sheldon <dave-mono@earth.li>
295
296         * XmlSchemaSimpleTypeRestriction: Convert pattern facets to be ORed, 
297           as per: http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
298           Fixes bug 52841
299
300 2004-01-14  David Sheldon <dave-mono@earth.li>
301
302         * BuiltInDatatype.cs:
303            XsdAnySimpleType - Added Length that returns the string length. 
304            XsdBase64Binary - Added Length, and used more direct, less fussy, 
305                Base64 decoder. 
306            XsdHexBinary - Added Length method
307
308         * XmlSchemaSimpleTypeRestriction: use DataType Length method to
309           determine length to compare against. Stop testing Lenght facets on 
310           QName and Notation types (as per errata)
311
312 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
313
314         * XmlSchemaComplexType.cs : forgot to commit ;)
315         * XmlSchemaUtil.cs : Fixed IsSchemaDatatypeEquals() to return false
316           for comparison between ID and IDREF.
317
318 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
319
320         * Added SchemaDataValueType.cs.
321         * BuiltInDatatype.cs, XmlSchemaDatatype.cs : Adde ParseValueType() on
322           all derived datatype classes.
323         * XmlSchemaComplexType.cs : Fixed ContentType value for simple types.
324           Errata-considered simple content derivation check and simple content
325           restriction should check this too.
326
327 2004-01-13  Jackson Harper <jackson@ximian.com>
328
329         * XmlSchemaComplexType.cs: Comment out line that was breaking the build.
330         
331 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
332
333         * XmlSchemaSimpleTypeUnion.cs : The same reason as the previous patch.
334         * XmlSchemaComplexType.cs : Now it handles ContentTypeParticle and 
335           ContentType much more presise than before.
336         * XmlSchemaElement.cs :
337           Simplified property handling for reference element.
338
339 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
340
341         * XmlSchema.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs :
342           Invalid attribute should raise an error, not a warning.
343
344 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
345
346         * XmlSchemaObject.cs : Fixed error() not to set severity as Warning.
347         * ValidationHandler.cs,
348           XmlSchemaSet.cs,
349           XmlSchemaCollection.cs : Throw exception only in case of errors.
350         * XmlSchemaCollection.cs : Remove schema from schemaset if exist.
351           (It might not be good to use schemaset, but keep for a while)
352         * XmlSchemaContent.cs,
353           XmlSchemaComplexContentExtension.cs,
354           XmlSchemaComplexContentRestriction.cs,
355           XmlSchemaSimpleContentExtension.cs,
356           XmlSchemaSimpleContentRestriction.cs,
357           : added GetBaseTypeName() and GetParticle() (not used yet).
358
359 2004-01-11  Atsushi Enomoto  <atsushi@ximian.com>
360
361         * BuiltInDatatype.cs : internal type should not appear in protected
362           members' signature.
363
364 2004-01-11  David Sheldon <dave-mono@earth.li>
365
366   * BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
367    to the data-types. Changed AllowedFacets to be a bitfield.
368   
369   * XmlSchemaFacet.cs : Added Facet enumeration to represent bitfield.
370
371   * XmlSchemaEnumerationFacet.cs,
372     XmlSchemaFractionDigitsFacet.cs,
373     XmlSchemaLengthFacet.cs,
374     XmlSchemaMaxExclusiveFacet.cs,
375     XmlSchemaMaxInclusiveFacet.cs,
376     XmlSchemaMaxLengthFacet.cs,
377     XmlSchemaMinExclusiveFacet.cs,
378     XmlSchemaMinInclusiveFacet.cs,
379     XmlSchemaMinLengthFacet.cs,
380     XmlSchemaNumericFacet.cs,
381     XmlSchemaPatternFacet.cs,
382     XmlSchemaTotalDigitsFacet.cs,
383     XmlSchemaWhiteSpaceFacet.cs : Added ThisFacet Property to return facet type
384
385
386   * XmlSchemaSimpleTypeRestriction.cs: Inherited facets from base types,
387     checked which which were allowed on different types. Validated fixed
388     facets, duplicated facets and derivation by restriction. Added checking 
389     for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in 
390     validation.
391
392 2004-01-09  Atsushi Enomoto  <atsushi@ximian.com>
393
394         * XmlSchemaSet.cs : implemented some members.
395         * XmlSchemaCollection.cs : modified to use internal schema set (This
396           class provides more precise schema validation feature and will be
397           commonly used for XPathNavigator2).
398           Added .NET 1.1 .ctor() which takes XmlResolver.
399         * XmlSchema.cs : fix related to above changes.
400           Use validation event handler on Read() at all required places.
401           Added .NET 1.1 .ctor() which takes XmlResolver.
402         * XmlSchemaComplexType.cs : content type comparison was incorrect.
403           Renamed confusing method.
404         * XmlSchemaElement.cs : don't use ContentTypeParticle in 
405           CheckRecursion(), where that property might not be determined yet.
406         * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
407           no effect)
408         * XmlSchemaGroupBase.cs,
409           XmlSchemaChoice.cs,
410           XmlSchemaAll.cs,
411           XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
412         * XmlSchemaObjectTable.cs : Fixed missing error info.
413         * BUGS-MS.txt : Added info a bit.
414
415 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
416
417         * BUGS-MS.txt : added list derivation and facet case.
418         * XmlSchemaComplexType.cs :
419           Added some description.  Avoided null reference exception in 
420           some places.  
421           Fixed incorrect 3.4.6 Derivation Valid (Extension) 1.4.1.2.2 and
422           3.9.6 Particle Valid (Extension) 2.
423         * XmlSchemaGroupBase.cs : Fixed ParticleEquals() which didn't work
424           properly against sequence and all.
425
426 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
427
428         * XmlSchemaObjectTable.cs : Modified enumerator's Current to return
429           DictionaryEntry.
430         * XmlSchemaComplexType.cs, XmlSchemaUtil.cs :
431           In reflection to object table enumerator change.
432
433 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
434
435         * XmlSchemaElement.cs : Fixed incorrect unique particle attribution
436           check on ##other and target namespace element.
437
438 2004-01-08  Nick Drochak <ndrochak@ieee.org>
439
440         * XmlSchemaSimpleType.cs: Needed a 'new' on the property
441         * XmlSchemaXPath.cs: Removed unreachable code.
442         
443 2004-01-03  Atsushi Enomoto  <atsushi@ximian.com>
444
445         * XmlSchemaDatatype.cs : trivial allocation fix.
446
447 2003-12-17  David Sheldon  <dave-mono@earth.li>
448
449   * BuiltInDatatype.cs : Added whitespace=collapse to data types 
450     such as date, dateTime, .... gDay. I think I have them all now.
451
452 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
453
454         * BuiltInDatatype.cs : anySimpleType should allow facets.
455
456 2003-12-14  David Sheldon <dave-mono@earth.li>
457   
458   * BuiltInDatatype.cs : Added code to tell which facets were valid on
459     types derived from each basetype.
460
461   * XmlSchemaSimpleTypeRestriction.cs : Complain if an invalid facet
462     has been added to a restriction.
463
464
465 2003-12-14  David Sheldon <dave-mono@earth.li>
466
467   * XmlSchemaSimpleTypeRestriction.cs : Check that min/max/lengths 
468     specified are integers. Also made some error messages more useful.
469
470 2003-12-08  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
471
472         * XmlSchemaSimpleTypeRestriction.cs : patch by David Sheldon. Check
473           if max/min length range is valid.
474
475 2003-12-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
476
477         * BuiltInDatatype.cs : XsdDecimal and XsdInteger defaults whitespace
478           facet as collapse (patch by David Sheldon).
479         * XmlSchemaAnnotations.cs, XmlSchemaAny.cs : No more MonoTODOs ;-)
480         * XmlSchemaSequence.cs : MapAndSum implementation.
481
482 2003-11-17  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
483
484         * XmlSchemaSet.cs, XmlSchemaBuiltInType.cs : Added .NET 1.2 classes
485           (for convenience of ObjectSpaces stubbing).
486
487 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
488
489         * BuiltInDatatype.cs : XsdByte was incorrectly typed as byte, while
490           the correct binding is sbyte.
491         * XmlSchemaAll.cs,
492           XmlSchemaChoice.cs,
493           XmlSchemaSequence.cs,
494           XmlSchemaGroupBase.cs : ActualParticle now considers pointlessness
495           described in WXS structures 3.9.6.
496           Added ValidateRecurse() to support 'Recurse' validation.
497         * XmlSchemaComplexType.cs : Removed incorrect content type conformity
498           check.
499         * XmlSchemaElement.cs : Implemented 'RecurseAsIfGroup' validation
500           described in WXS structures 3.9.6.  Fixed type derivation check to
501           do only if the base type is not anyType.
502         * XmlSchemaSimpleTypeRestriction.cs : Should catch Regex() 
503           construction exception. ValidateList... and ValidateNonList... was
504           in reverse.
505         * XmlSchemaUtil.cs : Removed extra MonoTODO. Removed CheckToken().
506
507 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
508
509         * BuiltInDatatype.cs : Fixed incorrect inheritance of date and time.
510           Fixed most of date-time related types' ParseValue().
511           Applied Normalize() before parsing values in some ParseValue().
512
513 2003-10-23  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
514
515         * XmlSchemaAll.cs,
516           XmlSchemaChoice.cs,
517           XmlSchemaGroupBase.cs,
518           XmlSchemaSequence.cs : Now CompiledItems went to XmlSchemaGroupBase.
519         * XmlSchemaAny.cs,
520           XmlSchemaElement.cs,
521           XmlSchemaGroupBase.cs,
522           XmlSchemaGroupRef.cs,
523           XmlSchemaParticle.cs,
524           XmlSchemaSequence.cs : Added ParticleEquals() method to compare 
525           whether the particles are equal in the context of WXS part 1 - 3.9.6.
526         * XmlSchemaAny.cs : Implemented ValidateDerivationByRestriction().
527         * XmlSchemaAnyAttribute.cs : Removed extraneous lines and added my
528           responsibility on this class.
529           Added ValidateWildcardAllowsNamespaceName().
530         * XmlSchemaAttribute.cs : Added ValidatedUse which holds post-
531           compilation value of "Use".
532         * XmlSchemaAttributeGroup.cs,
533           XmlSchemaAttributeGroupRef.cs : Removed MonoTODO (same as some other
534           classes) since there is no more errors on attribute stuff ;-)
535         * XmlSchemaComplexType.cs : complex content extension must block 
536           derivation from any built-in primitive types.
537           Fixed wildcard derivation by restriction.
538           ValidateDerivationByRestriction() now checks attribute related
539           validity of DBR (derivation by restriction).
540           Now uses ParticleEquals() for particle DBR check.
541         * XmlSchemaSequence.cs : Fixed to use CompiledItems instead of Items.
542
543 2003-10-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
544
545         * XmlSchema.cs,
546           XmlSchemaUtil.cs : Reduced warning message.
547         * XmlSchemaAttribute.cs : NotImplementedException should no more exist.
548           (All things are going to be implemented.)
549         * BuiltInDatatype.cs : XsdInteger should not allow non-integer decimal.
550         * XmlSchemaSimpleType.cs : Added internal Datatype property. Implemented
551           list type derivation validation. Added Normalize().
552         * XmlSchemaSimpleTypeContent.cs : Added Normalize(). Replaced anyType
553           with anySimpleType.
554         * XmlSchemaSimpleTypeRestriction.cs : Implemented some facet validation,
555           such as pattern, enumeration, and length etc.
556
557 2003-10-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
558
559         * BuiltInDatatype.cs : Implemented XsdHexBinary.Parse().
560         * XmlSchemaCollection.cs : Implemented CopyTo().
561         * XmlSchemaDatatype.cs : Added Normalize() with whitespace handling.
562           Added support for anySimpleType.
563         * XmlSchemaSimpleType.cs : Type specification named as anyType should
564           be mapped to anySimpleType.
565         * BUGS-MS.txt : Added more case note.
566
567 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
568
569         * XmlSchema.cs: If the schema element is an empty element, skip it after
570           reading the attributes.
571
572 2003-10-09  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
573
574         * BuiltInDatatype.cs : Added CLSCompliant attributes to some classes.
575
576 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
577
578         * XmlSchemaUtil.cs: arrayType attribute needs special handling.
579
580 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
581
582         * XmlSchema.cs : Forgot to update with previous files.
583
584 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
585
586         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs,
587           XmlSchemaGroupRef.cs, XmlSchemaSimpleContentExtension.cs,
588           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeContent.cs,
589           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
590           Fixed missing sub components check. It should fix soap stuff.
591         * XmlSchemaAny.cs, XmlSchemaAttribute.cs,
592           XmlSchemaAttributeGroupRef.cs, XmlSchemaContent.cs :
593           Added my responsibility on them ;-)
594
595 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
596
597         * XmlSchema.cs : Read() should keep current position of XmlReader if
598           it was already positioned to 'schema' element.
599
600 2003-09-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
601
602         * Forgot to append 8/24/2003 ChangeLog.
603         * BUGS.txt, BUGS-MS.txt : Appended additional bug info.
604         * BuiltInDatatype.cs, ValidationHandler.cs, XmlSchema.cs, 
605           XmlSchemaAll.cs, XmlSchemaAnnotation.cs. XmlSchemaAny.cs,
606           XmlSchemaAnyAttribute.cs, XmlSchemaAttribute.cs,
607           XmlSchemaAttributeGroup.cs, XmlSchemaAttributeGroupRef.cs,
608           XmlSchemaChoice.cs, XmlSchemaCollection.cs,
609           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
610           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
611           XmlSchemaContent.cs, XmlSchemaDatatype.cs, XmlSchemaElement.cs,
612           XmlSchemaException.cs, XmlSchemaGroup.cs, XmlSchemaGroupBase.cs,
613           XmlSchemaGroupRef.cs, XmlSchemaIdentityConstraint.cs,
614           XmlSchemaKey.cs, XmlSchemaKeyref.cs, XmlSchemaNotation.cs,
615           XmlSchemaObject.cs, XmlSchemaObjectTable.cs, XmlSchemaParticle.cs,
616           XmlSchemaReader.cs, XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
617           XmlSchemaSimpleContentExtension.cs,
618           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
619           XmlSchemaSimpleTypeContent.cs, XmlSchemaSimpleTypeList.cs,
620           XmlSchemaSimpleTypeRestriction.cs, XmlSchemaSimpleTypeUnion.cs,
621           XmlSchemaType.cs, XmlSchemaUnique.cs, XmlSchemaUtil.cs,
622           XmlSchemaXPath.cs :
623
624           - Almost all classes are changed to implement schema component
625             constraints, and schema validation using XsdValidatingReader.
626           - better exception messages.
627           - More datatype support.
628           and so on.
629
630 2003-09-14  Lluis Sanchez Gual <lluis@ximian.com>
631
632         * XmlSchema.cs: Do not add schema namespace declaration if it is already
633           declared.
634
635 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
636
637         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added double type.
638
639 2003-08-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
640
641         * BuiltInDatatype.cs : XsdDecimal.TokenizedType should be None.
642         * XmlSchemaCollection.cs : Add(uri) should not reject chameleon schema.
643           Add() should compile specified schema.
644
645 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
646
647         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added XsdAnyURI,
648           XsdDateTime, XsdDate, XsdTime.
649
650 2003-08-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
651
652         * BuiltInDatatypes.cs : Fixed whitespace facet in XsdToken.
653           Tokenized type of nmtokens and entities is string [].
654         * XmlSchema.cs : Changed IsCompile implementation a bit.
655           Compile() should reset compiled contents.
656         * XmlSchemaDatatype.cs : Fixed collapsing Normalize().
657         * XmlSchemaObject.cs : added CompilationId initialization.
658
659 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
660
661         * XmlSchema.cs: Set IsCompiled to true after compiling.
662           In Compile(): ignore included schemas that do not have a value
663           in SchemaLocation. It means that FindElement can return null
664           if the referred schema was ignored. Added check for that case.
665           Compile schema after reading it.
666         * XmlSchemaCollection.cs: The targetNamespace of a schema may
667           be null. Make XmlSchemaCollection work for this case.
668         * BuiltInDataType.cs, XmlSchemaDataType.cs: added new primitive
669           types: float, base64Binary, boolean.
670
671 2003-08-02  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
672
673         * XmlSchema.cs :
674           - Changed missingElementTypeRefs from Hashtable to ArrayList.
675           - Added internal XmlSchemas for keeping imported schemas.
676           - Added private Compile() that takes the original rootSchema and
677             schema location stack for nested inclusion check.
678           - Added basic xs:import and xs:include support.
679           - Compile() is now aware of included XmlSchemaObject items.
680           - Changed Compile() to fill missing elements' types and that of
681             referencing elements.
682           - Read() now adds SourceUri property (although only to itself).
683         * XmlSchemaCollection.cs : Implemented Add().
684         * XmlSchemaCollectionEnumerator.cs :
685           Changed .ctor() to use schema collection as its argument.
686           Fixed Current to return hashtable's Value, instead of Current 
687           (which returns DictionaryEntry).
688         * XmlSchemaComplexType.cs :
689           Added internal static AnyType.
690           Compile() is now searches for its base type into other schemas.
691         * XmlSchemaElement.cs : anyType is supported.
692           It now searches for type information after Compile().
693           SetReferedElementInfo() is now changed to SetSchemaType().
694         * XmlSchemaObjectTable.cs :
695           It had problems similar to schema collection. Now it uses internal
696           class XmlSchemaObjectTableEnumerator to support GetEnumerator().
697         * XmlSchemaParticle.cs : added internal class XmlSchemaParticleEmpty
698           and internal static Empty.
699
700 2003-07-26  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
701
702         * BuiltInDatatype.cs : XsdIDRefs.ParseValue () should be implemented.
703         * XmlSchemaDatatype.cs : public Whitespace and protected Normalize()
704           should be internal.
705
706 2003-07-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
707
708         * XmlSchema.cs : Read() now uses XmlSerializer.Deserialize().
709
710 2003-07-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
711
712         * XmlSchema.cs, XmlSchemaElement.cs :
713           added internal MissingElementTypeRefs and support for refering 
714           element's elementType.
715
716 2003-07-20  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
717
718         * XmlSchema.cs : added support for collecting missing type references
719           at compilation-time.
720         * XmlSchemaType.cs, XmlSchemaComplexType.cs, XmlSchemaSimpleType.cs:
721           - Renamed qName to QNameInternal.
722           - Added BaseSchemaType and ContentTypeParticle support.
723
724 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
725
726         * XmlSchema.cs, XmlSchemaAll.cs, XmlSchemaAnnotated.cs,
727           XmlSchemaAnnotation.cs, XmlSchemaAny.cs, XmlSchemaAnyAttribute.cs,
728           XmlSchemaAttribute.cs, XmlSchemaAttributeGroup.cs,
729           XmlSchemaAttributeGroupRef.cs, XmlSchemaChoice.cs,
730           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
731           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
732           XmlSchemaElement.cs, XmlSchemaGroup.cs, XmlSchemaGroupRef.cs,
733           XmlSchemaIdentityConstraint.cs, XmlSchemaImport.cs,
734           XmlSchemaInclude.cs, XmlSchemaKey.cs, XmlSchemaKeyref.cs,
735           XmlSchemaNotation.cs, XmlSchemaObject.cs, XmlSchemaRedefine.cs,
736           XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
737           XmlSchemaSimpleContentExtension.cs,
738           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
739           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeRestriction.cs,
740           XmlSchemaSimpleTypeUnion.cs, XmlSchemaUnique.cs,
741           XmlSchemaXPath.cs, 
742           As to Compile() and Validate(),
743           - Added CompilationId and check it while compiling schema components.
744           - Code refactory. Replaced literal xmlns with XmlSchema.Namespace
745           - Replaced XmlSchemaInfo with compiling XmlSchema itself (XmlSchema
746             also has PSVI components inside it, so passing itself seems enough).
747           - Related to above change, IDCollection was moved to XmlSchema, and
748             blockDefault/finalDefault/blockResolved/finalResolved resolution
749             was changed to reference only to schema.BlockDefault/FinalDefault.
750           - The similar change has done against XmlSchemaForm related stuff.
751           - Changed compilation order of schema type definitions (it is
752             workaround). First it compiles types, and then it compiles others.
753         * XmlSchemaElement.cs : added ElementType PSVI contribution support.
754
755 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
756
757         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs :
758           Added decimal and its derived datatypes.
759           Added abstract XsdAnySimpleType.
760
761 2003-07-15  Lluis Sanchez Gual <lluis@ximian.com>
762
763         * BuiltInDatatype.cs,
764           XmlSchemaDatatype.cs : added unsignedByte type support.
765
766 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
767
768         * XmlSchemaDatatype.cs: Fixed compiler warning.
769
770 2003-07-12  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
771
772         * BuiltInDatatype.cs,
773           XmlSchemaDatatype.cs : added NOTATION type support.
774
775 2003-07-06  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
776
777         * added BuiltInDatatype.cs.
778         * XmlSchemaDatatype.cs : [GetType()] added support for some 
779           built-in datatypes.
780
781 2003-05-05  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
782
783         * XmlSchemaAnnotation.cs : It depended on incorrect ReadNode().
784
785 2003-02-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
786
787         * XmlSchemaAnnotation.cs : expect the correct closing tag on <appinfo>
788                 and <documentation> elements. (patch by Peter Pentchev)
789         * XmlSchemaObjectEnumerator.cs : cast properly to XmlSchemaObject 
790                 instead of XmlSchema. (patch by Peter Pentchev)
791
792 2002-07-23  Duncan Mak  <duncan@ximian.com>
793
794         * XmlSchemaException.cs: Partiall implement the ISerializable
795         methods. It's not clear now SourceSchemaObject should be deserialized.
796
797 2002-07-22  Tim Coleman  <tim@timcoleman.com>
798         * XmlSchema.cs: Removed isCompiled which is defined as internal
799                 in XmlSchemaObject.
800
801 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
802         
803         * XmlSchema: Started work on Validate methods
804
805 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
806         * XmlSchema: The Read and Write methods are no more [MonoTODO] :)
807         
808         * XmlSchemaAppInfo: Xml Markup is now being read.
809         
810         * XmlSchemaDocumentation: Xml Markup is now being read.
811
812         * All: Unhandled attributes are being handled properly.
813                
814         * All: Reordered the properties in all cs files to match with MS
815                Implementation. This was required since the order is importatnt
816                for the XmlSerializer.
817         
818 2002-06-14  Dwivedi, Ajay kumar <adwiv@yahoo.com>
819         * General: Fixed a few more Bugs
820
821 2002-06-10  Dwivedi, Ajay kumar <adwiv@yahoo.com>
822         * XmlSchemaReader: A Wrapper class around XmlReader with customized
823           methods to suit reading a schema.
824         * General: Implemented Read() method for the schema. There are only
825           a few minor bugs remaining.
826
827 2002-05-25  Dwivedi, Ajay kumar <adwiv@yahoo.com>
828         * BUGS.txt: New file to keep track of bugs
829
830         * ALL: All classes are initialized exactly as in .NET except
831                1. inclusion of language attribute in schema
832                2. ComplexContent's Particle is initialized to null whereas .NET 
833                   to some internal implementation. IMO Null is more appropriate
834
835         * ALL: Changed the Compile methods to return the count of errors.
836
837         * ALL: Complile methods are almost complete. Pass 1453 of 3061 tests.
838                This number should shoot up if we write a parser to read the
839                Schema instead of using reflection (which is slower too)
840
841 2002-05-04  Dwivedi, Ajay kumar <adwiv@yahoo.com>
842         * XmlSchemaUtil.cs: New file added. 
843         
844         * Parser.cs: New file Added. Unused at the moment.
845
846         * XmlSchemaObjectCollection: Fixed GetEnumerator
847         
848         * General: Preprocessing for Attributes and SimpleTypes completed.
849
850 2002-04-26  Duncan Mak  <duncan@ximian.com>
851
852         * ValidationHandler.cs: New file.
853
854         * XmlSchemaInfo.cs: New file.
855
856         * *.cs: More updates from Ajay.
857
858 2002-03-27  Duncan Mak  <duncan@ximian.com>
859
860         * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.