2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.Schema / ChangeLog
1 2005-06-07  Atsushi Enomoto <atsushi@ximian.com>
2
3         * XmlSchemaValidationFlags.cs : it is NET_2_0.
4
5 2005-05-23  Atsushi Enomoto <atsushi@ximian.com>
6
7         * XmlSchemaInference.cs : For each resulting schema, it has to emit
8           xs:import when it has a reference to external schema components.
9
10 2005-05-22  Atsushi Enomoto <atsushi@ximian.com>
11
12         * XmlSchemaInference.cs : When doing lax inference, set minOccurs="0"
13           of those elements in a sequence. Fixed misspellings.
14
15 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
16
17         * XmlAtomicValue.cs : moved from XPathAtomicValue, removed some stuff.
18
19 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
20
21         * XmlSchemaType.cs, XmlSchemaSimpleType.cs : removed ValueConverter.
22         * XmlSchemaDatatype.cs,
23           XmlSchemaComplexType.cs : removed removed member in .net 2.0 beta2.
24
25 2005-04-12  Lluis Sanchez Gual  <lluis@novell.com>
26
27         * XmlSchemaParticle.cs: Set MaxOccurs to unbounded when set to
28         decimal.MaxValue.
29
30 2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
31
32         * XmlSchemaChoice.cs : commented out warned code.
33         * XmlSchemaCollection.cs : removed warned code (now it all depends on
34           XmlSchemaSet).
35
36 2005-01-25  Martin Baulig  <martin@ximian.com>
37
38         * XmlSchemaSet.cs (XmlSchemaSet.XmlResolver): Mark this as
39         not CLS-compliant to avoid a CS3025.
40
41         * XmlSchemaType.cs (XmlSchemaType.ValueConverter): Mark this as
42         not CLS-compliant to avoid a CS3025.
43
44 2005-01-17  Atsushi Enomoto <atsushi@ximian.com>
45
46         * XmlSchema.cs : XmlSchema.Write() should not write duplicating
47           top-level entry in XmlSerializerNamespaces and XmlNamespaceManager.
48           This fixes some DataSet bugs.
49
50 2005-01-17  Atsushi Enomoto <atsushi@ximian.com>
51
52         * XmlSchemaValidator.cs : in case of open start tag,
53           ValidateEndElement() calls ValidateEndOfAttributes().
54
55 2005-01-17  Atsushi Enomoto <atsushi@ximian.com>
56
57         * xmlschemagen.config,
58           XmlSchemaSerializer.cs : replacement of CustomSerializer.cs which was
59           based on genxs but manually modified.
60         * CustomSerializer.cs : removed.
61
62 2005-01-11  Atsushi Enomoto <atsushi@ximian.com>
63
64         * XmlSchema.cs : Write() should handle carefully output
65           namespace/prefix mapping.
66
67 2004-12-26  Atsushi Enomoto <atsushi@ximian.com>
68
69         * XmlSchemaSet.cs : added Remove(), RemoveRecursive(), Reprocess().
70         * XmlValueConverter.cs : implemented almost all the feature.
71         * XmlSchemaSimpleType.cs : fixed some built-in types.
72         * XmlSchemaType.cs : added ValueConverter property.
73
74 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
75
76         * XmlSchema.cs : XmlResolver.ResolveUri() may return null.
77
78 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
79
80         * XmlSchemaValidator.cs : ValidateElement() was not LAMESPEC. Added
81           some comments on ValidateEndElement().
82
83 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
84
85         * XmlSchemaValidator.cs : fill schemaInfo as long as possible right now.
86
87 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
88
89         * XmlSchemaInfo.cs : added internal copy constructor.
90
91 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
92
93         * XmlSchemaValidator.cs : implemented GetExpectedParticles() and
94           SkipToEndElement ().
95
96 2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
97
98         * XmlSchemaSet.cs : set default resolver. Clear components before
99           recompilation.
100         * XmlSchemaValidator.cs :
101           SourceUri is System.Uri.
102           GetUnspecifiedDefaultAttributes() is allowed only when it is inside
103           start tag.
104           Added AddSchema().
105           Added duplicate attribute check.
106           Added ValidateElement() that takes xsi:* parameters.
107           (http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackId=7fc38ea1-c306-4fb7-8631-0e174b0ff3c6)
108           HandleXsiNil() now just takes string parameter.
109
110 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
111
112         * XmlSchemaValidator.cs : implemented basic validation feature.
113
114 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
115
116         * XmlSchemaUtil.cs : added FindAttributeDeclaration() and
117           AttributeWildcardItemValid().
118
119 2004-12-11  Atsushi Enomoto <atsushi@ximian.com>
120
121         * XmlSchemaUtil.cs : added static ReadTypedValie().
122         * XmlSchemaInference.cs : compile at the end of inference.
123
124 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
125
126         * XmlValueGetter.cs,
127           XmlSchemaValidationFlags.cs,
128           XmlSchemaValidator.cs : added.
129         * XmlSchemaSet.cs : XmlResolver is now internally gettable.
130
131 2004-12-04  Atsushi Enomoto <atsushi@ximian.com>
132
133         * XmlSchemaObject.cs : added Parent.
134         * XmlSchema.cs,
135           XmlSchemaElement.cs,
136           XmlSchemaAttribute.cs,
137           XmlSchemaAttributeGroup.cs,
138           XmlSchemaGroup.cs,
139           XmlSchemaComplexType.cs,
140           XmlSchemaSequence.cs,
141           XmlSchemaChoice.cs,
142           XmlSchemaAll.cs,
143           XmlSchemaIdentityConstraint.cs,
144           XmlSchemaComplexContent.cs,
145           XmlSchemaSimpleContent.cs,
146           XmlSchemaSimpleContentExtension.cs,
147           XmlSchemaSimpleContentRestriction.cs,
148           XmlSchemaComplexContentExtension.cs,
149           XmlSchemaComplexContentRestriction.cs,
150           XmlSchemaSimpleType.cs,
151           XmlSchemaSimpleTypeRestriction.cs,
152           XmlSchemaSimpleTypeList.cs,
153           XmlSchemaSimpleTypeUnion.cs : Fill Parent on Compilation.
154
155         * XmlSchemaException.cs,
156           XmlSchemaInferenceException.cs,
157           XmlSchemaValidationException.cs : added SecurityPermissionAttribute.
158
159 2004-12-04  Atsushi Enomoto <atsushi@ximian.com>
160
161         * XmlSchemaComplexType.cs : simplify Compile().
162
163 2004-11-25  Atsushi Enomoto <atsushi@ximian.com>
164
165         * XmlSchemaElement.cs,
166           XmlSchemaComplexType.cs,
167           XmlSchema.cs,
168           XmlSchemaChoice.cs,
169           XmlSchemaSimpleType.cs,
170           XmlSchemaObjectTable.cs,
171           XmlSchemaObjectCollection.cs,
172           XmlSchemaCollection.cs,
173           : All changes are just for warning removal.
174
175 2004-11-24  Atsushi Enomoto <atsushi@ximian.com>
176
177         * XmlSchemaDatatype.cs : added ParseValue() override.
178         * XmlSchemaSimpleTypeList.cs,
179           XmlSchemaSimpleTypeUnion.cs : #if NET_2_0 some private fields,
180           just for eliminating warnings :(
181         * XmlSchemaSet.cs : commented some fields currently not in use.
182           It is for eliminating warnings.
183         * XmlSchemaSimpleTypeRestriction.cs : removed exception field name
184           to eliminate warning.
185         * XmlSchemaException.cs : hasLineInfo is also runtime serialized now.
186
187 2004-11-22  Atsushi Enomoto <atsushi@ximian.com>
188
189         * XmlSchemaException.cs : Message is only 1.x (not 2.0).
190         * XmlSchemaInference.cs : use more static readonly QName fields.
191           Type merge inference now traverses every base types.
192         * XmlSchemaInfo.cs : added new file.
193
194 2004-11-18  Atsushi Enomoto <atsushi@ximian.com>
195
196         * XmlSchemaException.cs : added .ctor(string).
197         * XmlSchemaInferenceException.cs : use base.ctor(string).
198         * XmlSchemaValidationException.cs : It is 2.0 class. Added some .ctor()
199
200 2004-11-18  Atsushi Enomoto <atsushi@ximian.com>
201
202         * XmlSchemaCollection.cs : obsolete.
203         * XmlSchemaInference.cs :
204           Fixed typo in enum. It is still MonoTODO. Reformatted code a bit.
205
206 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
207
208         * XmlSchemaSet.cs : don't set TargetNamespace = "".
209
210 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
211
212         * XmlSchemaInferenceDesign.txt : added (incomplete though.)
213
214 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
215
216         * XmlSchemaValidationException.cs : added.
217
218 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
219
220         * XmlSchemaInference.cs,
221           XmlSchemaInferenceException.cs : added.
222
223 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
224
225         * XmlSchemaException.cs : removed get_Message in 2.0 profile (all done
226           in .ctor()).
227
228 2004-11-08  Atsushi Enomoto <atsushi@ximian.com>
229
230         * XmlSchemaSet.cs : use NameTable when creating XmlTextReader.
231
232 2004-11-05  Atsushi Enomoto <atsushi@ximian.com>
233
234         * XmlSchemaSet.cs : reduced extraneous XmlSchemaObjectTable creation.
235
236 2004-11-05  Atsushi Enomoto <atsushi@ximian.com>
237
238         * XmlSchemaSimpleTypeList.cs,
239           XmlSchemaSimpleTypeUnion.cs : XmlIgnore.
240
241 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
242
243         * XmlSchemaAttribute.cs : AttributeSchemaType could be determined on
244           compilation time. AttributeType is obsolete.
245         * XmlSchemaElement.cs : ditto for ElementSchemaType and ElementType.
246
247 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
248
249         * XmlSchemaComplexType.cs : added LocalElements, with the description
250           why it can never be correct implementation.
251         * XmlSchemaUtil.cs : use IHasXmlParserContext.
252
253 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
254
255         * XmlSchemaSimpleTypeUnion.cs : Added 2.0 BaseMemberTypes property 
256           (this property name is also ambiguous and should be changed too.)
257
258 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
259
260         * XmlSchemaSimpleTypeList.cs : Added 2.0 BaseItemType property (BTW
261           this property name is really ambiguous and should be changed.)
262
263 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
264
265         * XmlSchemaAttributeGroup.cs, XmlSchemaGroup.cs :
266           in 2.0, QualifiedName properties are public.
267         * XmlSchemaType.cs : TypeCode is [XmlIgnore] (anyways ignored though).
268
269 2004-10-22  Atsushi Enomoto <atsushi@ximian.com>
270
271         * XmlSchemaType.cs : Implemented GetBuiltInComplexType(XmlTypeCode).
272
273 2004-09-22  Atsushi Enomoto <atsushi@ximian.com>
274
275         * XmlSchemaDatatype.cs : handle xdt:* types in FromName().
276
277 2004-09-16  Atsushi Enomoto <atsushi@ximian.com>
278
279         * BuiltInDatatype.cs, SchemaDataValueType.cs :
280           ParseValue() for xs:AnyURI should return System.Uri. MS.NET returns
281           XmlSchemaUri, but it is derived from System.Uri, while ours was not.
282
283 2004-09-07  Atsushi Enomoto <atsushi@ximian.com>
284
285         * IXmlType.cs : deprecated in .NET 2.0.
286
287 2004-09-03  Atsushi Enomoto <atsushi@ximian.com>
288
289         * XmlSchema.cs : When schema inclusion results in a recursion, just
290           skip recursed schema.
291         * BUGS-MS.txt : added another entry. Reflected response from Microsoft.
292
293 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
294
295         * XmlSchemaType.cs : quick build fix.
296
297 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
298
299         * XmlSchemaDatatype.cs : Removed FromName(localName) that cannot
300           handle xdt:* types.
301         * XmlSchemaType.cs : added internal GetBuiltInType() methods that
302           mix GetBuiltInSimpleType() and GetBuiltInComplexType().
303
304 2004-08-25  Atsushi Enomoto <atsushi@ximian.com>
305
306         * XmlSchemaSimpleType.cs : Fill list types such as xs:IDREFS.
307         * XmlSchemaType.cs :
308           Fixed TypeCode more (broken on predefined list types and xs:anyType).
309
310 2004-08-25  Atsushi Enomoto <atsushi@ximian.com>
311
312         * XmlSchemaType.cs :
313           anyType was anonymous, thus GetBuiltInComplexType() didn't work.
314
315 2004-08-24  Atsushi Enomoto <atsushi@ximian.com>
316
317         * XmlSchemaType.cs : return XmlTypeCode.AnyAtomicType for
318           anySimpleType's TypeCode property.
319
320 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
321
322         * XmlSchema.cs : Replace XmlSchemaCollection with XmlSchemaSet that
323           used to maintain compiled schema state.
324           Simplified code a bit (Include processing).
325           Set IsCompiled = true only when successfully compiled.
326         * XmlSchemaCollection.cs : Now it totally delegates its processing
327           to XmlSchemaSet. Removed unused methods.
328         * XmlSchemaElement.cs : Added post-compiled information initializer
329           method, and call it before (re)Compile().
330         * XmlSchemaSet.cs :
331           - Replaced internal store from Dictionary to List, since schema
332             resources for one target namespace can be more than one (that's why
333           - Schemas(string targetNamespace) returns ICollection).
334           - Now global schemaset members are added per schema addition (it is
335             more MS compatible than before).
336           - Use GetSafeNs() to do targetNamespace comparison correctly.
337
338           XmlSchemaSet looks still unstable, so it will be changed again.
339
340         * XmlSchemaSimpleTypeRestriction.cs,
341           XmlSchemaSimpleTypeUnion.cs,
342         * XmlSchemaUtil.cs : Consider xdt namespace.
343
344 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
345
346         * XmlSchemaCollection.cs : replaced CRLF to LF (they were mixed).
347
348 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
349
350         * XmlSchema.cs : code reformatting. convert CRLF to LF.
351           Use String.Format() instead of +. Removed commented code.
352
353 2004-07-28  Atsushi Enomoto <atsushi@ximian.com>
354
355         * BuiltInDatatype.cs : use XmlQualifiedName.Parse().
356
357 2004-07-23  Atsushi Enomoto <atsushi@ximian.com>
358
359         * XmlSchema.cs : Added internal XdtNamespace constant. don't fill
360           schemaset compoenents here.
361         * XmlSchemaAttribute.cs : Implemented AttributeSchemaType.
362         * XmlSchemaElement.cs : Implemented ElementSchemaType.
363         * XmlSchemaSimpleType.cs : Added predefined simple types
364         * XmlSchemaType.cs : Implemented GetBuiltInSimpleType().
365         * XmlSchemaDatatype.cs : Allow Xdt namespaces too (not completed;
366           quick fix for GetBuiltInSimpleType()).
367
368 2004-07-21  Atsushi Enomoto <atsushi@ximian.com>
369
370         * BUGS-MS.txt : updated including answer excerpts from MS team.
371         * BUGS.txt : it turned out that some bugs I wrote as "MS bugs" are 
372           actually my bug. Noted them.
373         * BuiltInDatatype.cs :
374           Commented out extraneous [CLSCompliant].
375           Switch ParseValue() argument as IXmlNamespaceResolver for 2.0, and
376           XmlNamespaceManager for 1.x.
377           Added TypeCode overrides.
378         * XmlSchemaDatatype.cs : Added 2.0 members.
379           Switch IXmlNamespaceResolver and XmlNamespaceManager.
380         * XmlSchemaType.cs : Added some NET_2_0 members. removed old 1.2 stuff.
381
382 2004-07-13  Atsushi Enomoto <atsushi@ximian.com>
383
384         * XmlSchemaBuiltInType.cs, XmlSchemaValidity.cs, XmlTypeCode.cs
385           : fixed annoying enum errors.
386         * XmlSchemaCollection.cs : completely delegate to XmlSchemaSet.
387         * XmlSchemaSet.cs : sealed classes. Use ListDictionary (avoid annoying
388           order preservation matter). NameTable null check for .ctor().
389           Fill GlobalAttributes, GlobalElements, GlobalTypes correctly.
390           Add(string, XmlReader) checks namespace conflicts, while
391           Add(XmlSchema) does not. Fixed Schemas() return type.
392
393 2004-07-11  Atsushi Enomoto <atsushi@ximian.com>
394
395         * XmlSchemaDatatypeVariety.cs : Fixed class name typo.
396         * XmlValueConverter.cs : fixed return types.
397
398 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
399
400         * CustomSerializer.cs, XmlSchemaException.cs,
401           XmlSchemaParticle.cs, XmlSchemaSimpleTypeRestriction.cs
402           : Globalization.
403
404 2004-06-10  Atsushi Enomoto <atsushi@ximian.com>
405
406         * XmlSchemaFacet.cs : Fixed internal protected --> internal.
407
408 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
409
410         * XmlSchema.cs : Make sure to close url-based XmlTextReader.
411
412 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
413
414         * BuiltInDatatype.cs,
415           XmlSchemaFacet.cs,
416           XmlSchemaSimpleTypeRestriction.cs,
417           XmlSchemaXPath.cs : modified some enum const to static readonly
418           (.NET 1.0 does not allow it). Use safe overload of LookupNamespace().
419
420 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
421
422         * XmlSchemaDatatypeVariety.cs,
423           XmlSchemaValidity.cs : they are NET_2_0 enums.
424
425 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
426
427         * XmlValueConverter.cs : missed NET_2_0.
428
429 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
430
431         * IXmlSchemaInfo.cs,
432           IXmlType.cs,
433           XmlSchemaDatatypeVariety.cs,
434           XmlSchemaValidity.cs,
435           XmlTypeCode.cs,
436           XmlValueConverter.cs : added.
437
438         * XmlSchemaInfo.cs : removed (.NET 1.2).
439
440         * XmlSchemaBuiltInType.cs,
441           XmlSchemaSet.cs : updated.
442
443 2004-05-19  Atsushi Enomoto <atsushi@ximian.com>
444
445         * CustomSerializer.cs : Added custom serializer for XmlSchema, that is
446           generated by SerializationCodeGenerator and edited a bit.
447         * XmlSchema.cs : Use XmlSchemaSerializationWriter.
448
449 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
450
451         * XmlSchema.cs : Removed FIXME. No PSVI required.
452         * XmlSchemaAll.cs : Removed FIXME. It was not done.
453         * XmlSchemaAttributeGroupRef.cs : Removed FIXME. It can be annotated.
454         * XmlSchemaChoice.cs : not FIXME but LAMESPEC.
455         * XmlSchemaSimpleTypeRestriction.cs : Added check for non 
456           XmlSchemaFacet items on Compile(). Thus removed FIXME.
457         * XmlSchemaUtil.cs : Fixed SplitList to handle sequential spaces.
458           Thus removed FIXME.
459         * XmlSchemaObjectTable. cs: modified to use HybridDictionary (mostly
460           for avoiding iterator order difference).
461
462 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
463
464         * XmlSchemaSimpleTypeRestriction.cs : Removed MonoTODO. done.
465
466 2004-05-12  Atsushi Enomoto <atsushi@ximian.com>
467
468         * BuiltInDatatype.cs : made classes/enums internal.
469
470 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
471
472         * BuiltInDatatype.cs : trivia fix
473
474 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
475
476         * BuiltInDatatype.cs : added BUGGY_MS_COMPLIANT condition and that
477           handles ms-compatible properties.
478         * XmlSchemaComplexType.cs : ditto for ContentTypeParticle of xs:anyType.
479           Make sure ContentType for xs:anyType is Mixed.
480         * XmlSchemaUtil.cs : ditto for <xs:attribute use="prohibited" ..>
481
482 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
483
484         * XmlSchema.cs : Write() handles schema namespace for xmlserializer
485           (it does not look to be handled inside xmlserializer).
486
487 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
488
489         * XmlSchemaComplexType.cs : Set basetype as ur-type for such complex
490           type that has an immediate Particle (W3C specified as restriction
491           of ur-type).
492
493 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
494
495         * XmlSchemaAttribute.cs : When type was inline simple type, it is not
496           validated correctly.
497         * XmlSchemaSimpleType.cs : When Content was restriction, DataType was
498           not indicating base type's Datatype correctly.
499
500 2004-04-06  Atsushi Enomoto <atsushi@ximian.com>
501
502         * XmlSchemaDatatype.cs : optimized Normalize() not to create
503           extraneous string objects.
504
505 2004-03-15  Atsushi Enomoto <atsushi@ximian.com>
506
507         * reverted the latest XmlSchemaUnique.cs change (MS.NET looks fine to
508           reject incorrect schemas ;-)
509
510 2004-03-04  Alon Gazit <along@mainsoft.com>
511
512         * XmlSchemaUnique.cs : Changed Read implementation.
513         Currently can read "field" element before "selector" element (like MS).  
514
515 2004-02-26  Atsushi Enomoto <atsushi@ximian.com>
516
517         * XmlSchemaCollection.cs : Implemented SyncRoot and IsSynchronized
518           (as always synchronized).
519
520 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
521
522         * XmlSchema.cs,
523           XmlSchemaAttribute.cs
524           XmlSchemaAttributeGroup.cs,
525           XmlSchemaComplexContent.cs,
526           XmlSchemaComplexType.cs,
527           XmlSchemaContent.cs,
528           XmlSchemaDatatype.cs,
529           XmlSchemaNotation.cs,
530           XmlSchemaObject.cs,
531           XmlSchemaParticle.cs : extra TODO removal. foreach elimination.
532             Moved attribute group recursion check field from XmlSchemaObject 
533             to XmlSchemaAttributeGroup.
534             Fixed XmlSchemaParticle.EmptyParticle class access modifier.
535         * XmlSchemaSimpleType.cs,
536           XmlSchemaSimpleTypeContent.cs,
537           XmlSchemaSimpleTypeList.cs,
538           XmlSchemaSimpleTypeRestriction.cs,
539           XmlSchemaSimpleTypeUnion.cs : Removed "actualBaseSchemaType" field
540             and the owner simpleType should hold the corresponding type info.
541             Collect base type info in prior to validation.
542
543 2004-02-05  Atsushi Enomoto <atsushi@ximian.com>
544
545         * BUGS-MS.txt : fixed incorrect thought on case 008. Added case 014.
546         * BUGS.txt : FYI.
547
548 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
549
550         * BuiltInDatatype.cs : Fixed some Parse() for token based datatypes.
551         * XmlSchemaAny.cs : set properties for cloned particle. This will fix
552           bugzilla #53668.
553         * XmlSchemaParticle.cs : copy occurence string after computation of
554           validated min/max occurence. This will fix bug #53667.
555
556 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
557
558         * XmlSchema.cs : Raise warning event when external schema could not 
559           be resolved.
560         * XmlSchemaAll.cs : Fixed incorrect IsEmptiable computation.
561         * XmlSchemaAny.cs : Fixed incorrect occurence computation.
562         * XmlSchemaChoice.cs : compiledItems were incorrectly appended.
563         * XmlSchemaComplexType.cs : Now validatableParticle became extraneous.
564         * XmlSchemaGroupBase.cs : Here we should not get optimized particle
565           because it might cause infinite loop.
566         * XmlSchemaGroupRef.cs : Fixed Validate() to avoid null reference 
567           exception (only occur with ValidationEventHandler).  Fixed Occurence
568           embedding logic that was useless because of particle optimization.
569
570 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
571
572         * BuiltInDatatype.cs : On parsing QName, we don't have to spend costs
573           on Add()ing parsed name to name table.
574         * XmlSchemaUtil.cs : Added IsBuiltInDatatypeName().
575         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, 
576           XmlSchemaElement.cs, XmlSchemaSimpleContentExtension.cs,
577           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeList.cs :
578           Use the method above instead of Namespace string comparison.
579           (it will be required to validate schema for schemas.)
580         * XmlSchemaComplexType.cs : Type Derivation OK (3.4.6) should also
581           treat null base type as anyType.  Derivation Valid Restriction 
582           (3.4.6) should allow base type wildcard absense in case of anyType.
583
584 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
585
586         * XmlSchema.cs : When we have schema A which includes schema B which
587           includes schema C (i.e. A->B->C), C components should be compiled.
588           Here, same URL inclusions are ignored.
589         * XmlSchemaElement.cs : Hack for missing substitution-group fix.
590         * XmlSchemaSimpleTypeContent.cs : make actualBaseSchemaType private
591           and initialize. This fixes bug #53178.
592         * XmlSchemaSimpleTypeUnion.cs : Forgot to commit ;)
593
594 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
595
596         * XmlSchemaSimpleTypeRestriction.cs : regexp improvements. Modify
597           pattern string as "^str$" and convert WXS specific char classes into
598           .NET regexp patterns.
599
600 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
601
602         * XmlSchema.cs :
603           - Removed extra property Language.  Fill substitution-group info
604             before ContentTypeParticle is computed.
605         * XmlSchemaComplexType.cs : ContentType and ContentTypeParticle are 
606           now computer before Validate() (to exclude 3.4.2 from 3.4.6
607           component constraint check).
608         * XmlSchemaObject.cs, XmlSchemaParticle.cs :
609           Added CopyInfo() for cloning objects.
610         * XmlSchemaObjectTable.cs :
611           Add() doesn't have to reject same named items.
612         * XmlSchemaParticle.cs :
613           - Renamed internal class XmlSchemaParticleEmpty to EmptyParticle 
614             (for ease of post compilation infoset comparison).
615           - GetMinEffectiveTotalRange() should return max occurs for element and
616             any.
617         * XmlSchemaParticle.cs,
618           XmlSchemaAll.cs,
619           XmlSchemaAny.cs,
620           XmlSchemaChoice.cs,
621           XmlSchemaElement.cs,
622           XmlSchemaGroupBase.cs,
623           XmlSchemaGroupRef.cs,
624           XmlSchemaSequence.cs :
625           - Removed ActualParticle property.
626           - Added GetOptimizedParticle() to get ContentTypeParticle.
627           - ContentTypeParticle is now created as different object from 
628             user-specified "Particle" property.
629           - Return Empty particle when model groups contains no Items.
630           - When Items contains exactly 1 item, return the item (unless it is
631             top level choice model group - it causes DBR problem).
632           - ValidateDerivationValidRestriction() and related WXS 3.9.6 DBR
633             check methods such as ValidateNSRecurseCheckCardinality() now
634             returns a bool value and avoids exceptions on each failure time.
635           - ValidateRecurse() now doesn't progress base particle incorrectly.
636             (it caused incorrect order-preserving-mapping error.)
637           - 3.9.6 Recurse, RecurseLax, MapAndSum are now treated as different.
638         * XmlSchemaAll.cs : occurence validation shoud be done against values
639           after computation (ValidatedMaxOccurs).
640         * XmlSchemaChoice.cs : When Items is empty, then invoke warning event.
641         * XmlSchemaElement.cs :
642           - Consider referencedElement also for SubstitutionGroupElement.  
643           - Removed SubstitutingChoice which is not in use.
644           - when it was targeted as substitution group by other elements, its 
645             ContentTypeParticle should be substitution choice (see 3.9.6 
646             Particle Valid (Restriction) term 2.1).
647           - Added FillsubstitutionElementInfo() (see XmlSchema.cs above).
648         * XmlSchemaGroup.cs : Removed extra check on model group (because it
649           is impossible to specify non-model-group particle).
650         * XmlSchemaIdentityConstraint.cs,
651           XmlSchemaKey.cs,
652           XmlSchemaKeyRef.cs,
653           XmlSchemaUnique.cs : Removed extraneous MonoTODO.
654         * XmlSchemaSimpleContent.cs : Made actualSchemaType as internal.
655         * XmlSchemaSimpleType.cs : Removed extraneous new Datatype property.
656         * XmlSchemaSimpleTypeRestriction.cs : Renamed actualBaseSchemaType to
657           ActualBaseSchemaType.
658         * XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
659           Removed unused actualBaseSchemaType code.
660         * XmlSchemaType.cs : use recently introduced BaseXmlSchemaType.
661         * XmlSchemaUtil.cs : Removed unused CheckLanguage().
662
663 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
664
665         * XmlSchemaXPath.cs : wildcard with prefix (e.g. @foo:*) was
666           incorrectly treated.
667
668 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
669
670         * SchemaDataValueType.cs : UriValueType.ToString() should return 
671           actual URI string (as MS's XmlSchemaUri class does).
672         * XmlSchemaReader.cs : Make it internal.
673
674 2004-01-16  David Sheldon <dave-mono@earth.li>
675
676        * BuiltInDatatype.cs: added guard to stop index out of range error for
677          invalid Base64 characters.
678
679 2004-01-15  Jackson Harper <jackson@ximian.com>
680
681         * XmlSchemaContent.cs: Make actualBaseSchemaType protected (fixes
682         build).
683         
684 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
685
686         * XmlSchemaComplexContentExtension.cs,
687           XmlSchemaSimpleContentExtension.cs,
688           XmlSchemaSimpleContentExtension.cs,
689           XmlSchemaSimpleContentRestriction.cs,
690           XmlSchemaContent.cs : Added IsExtension. GetXXX() became nonvirtual.
691         * XmlSchemaType.cs : 
692           - Added NET_2_0 BaseXmlSchemaType (other members are commented out).
693           - Now BaseSchemaType redirects to new property BaseXmlSchemaType.
694         * XmlSchemaComplexType.cs :
695           - Now it fully uses BaseXmlSchemaType above.
696           - Since ValidateXXX() became too huge, I divided them into 
697             CollectXXX() [spec 3.4.1] and ValidateXXX() [spec 3.4.3 / 3.4.6].
698             Schema Components are contributed before constraint check.
699           - Now ContentTypeParticle is distinguished from validating particle
700             which is newly introduced as "ValidatableParticle" (only used in 
701             XsdValidatingReader).
702         * XmlSchemaSimpleType.cs : Now it uses BaseXmlSchemaType.
703           capitalized internal members a bit.
704
705 2004-01-14  David Sheldon <dave-mono@earth.li>
706
707         * XmlSchemaSimpleTypeRestriction: Convert pattern facets to be ORed, 
708           as per: http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
709           Fixes bug 52841
710
711 2004-01-14  David Sheldon <dave-mono@earth.li>
712
713         * BuiltInDatatype.cs:
714            XsdAnySimpleType - Added Length that returns the string length. 
715            XsdBase64Binary - Added Length, and used more direct, less fussy, 
716                Base64 decoder. 
717            XsdHexBinary - Added Length method
718
719         * XmlSchemaSimpleTypeRestriction: use DataType Length method to
720           determine length to compare against. Stop testing Lenght facets on 
721           QName and Notation types (as per errata)
722
723 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
724
725         * XmlSchemaComplexType.cs : forgot to commit ;)
726         * XmlSchemaUtil.cs : Fixed IsSchemaDatatypeEquals() to return false
727           for comparison between ID and IDREF.
728
729 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
730
731         * Added SchemaDataValueType.cs.
732         * BuiltInDatatype.cs, XmlSchemaDatatype.cs : Adde ParseValueType() on
733           all derived datatype classes.
734         * XmlSchemaComplexType.cs : Fixed ContentType value for simple types.
735           Errata-considered simple content derivation check and simple content
736           restriction should check this too.
737
738 2004-01-13  Jackson Harper <jackson@ximian.com>
739
740         * XmlSchemaComplexType.cs: Comment out line that was breaking the build.
741         
742 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
743
744         * XmlSchemaSimpleTypeUnion.cs : The same reason as the previous patch.
745         * XmlSchemaComplexType.cs : Now it handles ContentTypeParticle and 
746           ContentType much more presise than before.
747         * XmlSchemaElement.cs :
748           Simplified property handling for reference element.
749
750 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
751
752         * XmlSchema.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs :
753           Invalid attribute should raise an error, not a warning.
754
755 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
756
757         * XmlSchemaObject.cs : Fixed error() not to set severity as Warning.
758         * ValidationHandler.cs,
759           XmlSchemaSet.cs,
760           XmlSchemaCollection.cs : Throw exception only in case of errors.
761         * XmlSchemaCollection.cs : Remove schema from schemaset if exist.
762           (It might not be good to use schemaset, but keep for a while)
763         * XmlSchemaContent.cs,
764           XmlSchemaComplexContentExtension.cs,
765           XmlSchemaComplexContentRestriction.cs,
766           XmlSchemaSimpleContentExtension.cs,
767           XmlSchemaSimpleContentRestriction.cs,
768           : added GetBaseTypeName() and GetParticle() (not used yet).
769
770 2004-01-11  Atsushi Enomoto  <atsushi@ximian.com>
771
772         * BuiltInDatatype.cs : internal type should not appear in protected
773           members' signature.
774
775 2004-01-11  David Sheldon <dave-mono@earth.li>
776
777   * BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
778    to the data-types. Changed AllowedFacets to be a bitfield.
779   
780   * XmlSchemaFacet.cs : Added Facet enumeration to represent bitfield.
781
782   * XmlSchemaEnumerationFacet.cs,
783     XmlSchemaFractionDigitsFacet.cs,
784     XmlSchemaLengthFacet.cs,
785     XmlSchemaMaxExclusiveFacet.cs,
786     XmlSchemaMaxInclusiveFacet.cs,
787     XmlSchemaMaxLengthFacet.cs,
788     XmlSchemaMinExclusiveFacet.cs,
789     XmlSchemaMinInclusiveFacet.cs,
790     XmlSchemaMinLengthFacet.cs,
791     XmlSchemaNumericFacet.cs,
792     XmlSchemaPatternFacet.cs,
793     XmlSchemaTotalDigitsFacet.cs,
794     XmlSchemaWhiteSpaceFacet.cs : Added ThisFacet Property to return facet type
795
796
797   * XmlSchemaSimpleTypeRestriction.cs: Inherited facets from base types,
798     checked which which were allowed on different types. Validated fixed
799     facets, duplicated facets and derivation by restriction. Added checking 
800     for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in 
801     validation.
802
803 2004-01-09  Atsushi Enomoto  <atsushi@ximian.com>
804
805         * XmlSchemaSet.cs : implemented some members.
806         * XmlSchemaCollection.cs : modified to use internal schema set (This
807           class provides more precise schema validation feature and will be
808           commonly used for XPathNavigator2).
809           Added .NET 1.1 .ctor() which takes XmlResolver.
810         * XmlSchema.cs : fix related to above changes.
811           Use validation event handler on Read() at all required places.
812           Added .NET 1.1 .ctor() which takes XmlResolver.
813         * XmlSchemaComplexType.cs : content type comparison was incorrect.
814           Renamed confusing method.
815         * XmlSchemaElement.cs : don't use ContentTypeParticle in 
816           CheckRecursion(), where that property might not be determined yet.
817         * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
818           no effect)
819         * XmlSchemaGroupBase.cs,
820           XmlSchemaChoice.cs,
821           XmlSchemaAll.cs,
822           XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
823         * XmlSchemaObjectTable.cs : Fixed missing error info.
824         * BUGS-MS.txt : Added info a bit.
825
826 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
827
828         * BUGS-MS.txt : added list derivation and facet case.
829         * XmlSchemaComplexType.cs :
830           Added some description.  Avoided null reference exception in 
831           some places.  
832           Fixed incorrect 3.4.6 Derivation Valid (Extension) 1.4.1.2.2 and
833           3.9.6 Particle Valid (Extension) 2.
834         * XmlSchemaGroupBase.cs : Fixed ParticleEquals() which didn't work
835           properly against sequence and all.
836
837 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
838
839         * XmlSchemaObjectTable.cs : Modified enumerator's Current to return
840           DictionaryEntry.
841         * XmlSchemaComplexType.cs, XmlSchemaUtil.cs :
842           In reflection to object table enumerator change.
843
844 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
845
846         * XmlSchemaElement.cs : Fixed incorrect unique particle attribution
847           check on ##other and target namespace element.
848
849 2004-01-08  Nick Drochak <ndrochak@ieee.org>
850
851         * XmlSchemaSimpleType.cs: Needed a 'new' on the property
852         * XmlSchemaXPath.cs: Removed unreachable code.
853         
854 2004-01-03  Atsushi Enomoto  <atsushi@ximian.com>
855
856         * XmlSchemaDatatype.cs : trivial allocation fix.
857
858 2003-12-17  David Sheldon  <dave-mono@earth.li>
859
860   * BuiltInDatatype.cs : Added whitespace=collapse to data types 
861     such as date, dateTime, .... gDay. I think I have them all now.
862
863 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
864
865         * BuiltInDatatype.cs : anySimpleType should allow facets.
866
867 2003-12-14  David Sheldon <dave-mono@earth.li>
868   
869   * BuiltInDatatype.cs : Added code to tell which facets were valid on
870     types derived from each basetype.
871
872   * XmlSchemaSimpleTypeRestriction.cs : Complain if an invalid facet
873     has been added to a restriction.
874
875
876 2003-12-14  David Sheldon <dave-mono@earth.li>
877
878   * XmlSchemaSimpleTypeRestriction.cs : Check that min/max/lengths 
879     specified are integers. Also made some error messages more useful.
880
881 2003-12-08  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
882
883         * XmlSchemaSimpleTypeRestriction.cs : patch by David Sheldon. Check
884           if max/min length range is valid.
885
886 2003-12-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
887
888         * BuiltInDatatype.cs : XsdDecimal and XsdInteger defaults whitespace
889           facet as collapse (patch by David Sheldon).
890         * XmlSchemaAnnotations.cs, XmlSchemaAny.cs : No more MonoTODOs ;-)
891         * XmlSchemaSequence.cs : MapAndSum implementation.
892
893 2003-11-17  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
894
895         * XmlSchemaSet.cs, XmlSchemaBuiltInType.cs : Added .NET 1.2 classes
896           (for convenience of ObjectSpaces stubbing).
897
898 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
899
900         * BuiltInDatatype.cs : XsdByte was incorrectly typed as byte, while
901           the correct binding is sbyte.
902         * XmlSchemaAll.cs,
903           XmlSchemaChoice.cs,
904           XmlSchemaSequence.cs,
905           XmlSchemaGroupBase.cs : ActualParticle now considers pointlessness
906           described in WXS structures 3.9.6.
907           Added ValidateRecurse() to support 'Recurse' validation.
908         * XmlSchemaComplexType.cs : Removed incorrect content type conformity
909           check.
910         * XmlSchemaElement.cs : Implemented 'RecurseAsIfGroup' validation
911           described in WXS structures 3.9.6.  Fixed type derivation check to
912           do only if the base type is not anyType.
913         * XmlSchemaSimpleTypeRestriction.cs : Should catch Regex() 
914           construction exception. ValidateList... and ValidateNonList... was
915           in reverse.
916         * XmlSchemaUtil.cs : Removed extra MonoTODO. Removed CheckToken().
917
918 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
919
920         * BuiltInDatatype.cs : Fixed incorrect inheritance of date and time.
921           Fixed most of date-time related types' ParseValue().
922           Applied Normalize() before parsing values in some ParseValue().
923
924 2003-10-23  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
925
926         * XmlSchemaAll.cs,
927           XmlSchemaChoice.cs,
928           XmlSchemaGroupBase.cs,
929           XmlSchemaSequence.cs : Now CompiledItems went to XmlSchemaGroupBase.
930         * XmlSchemaAny.cs,
931           XmlSchemaElement.cs,
932           XmlSchemaGroupBase.cs,
933           XmlSchemaGroupRef.cs,
934           XmlSchemaParticle.cs,
935           XmlSchemaSequence.cs : Added ParticleEquals() method to compare 
936           whether the particles are equal in the context of WXS part 1 - 3.9.6.
937         * XmlSchemaAny.cs : Implemented ValidateDerivationByRestriction().
938         * XmlSchemaAnyAttribute.cs : Removed extraneous lines and added my
939           responsibility on this class.
940           Added ValidateWildcardAllowsNamespaceName().
941         * XmlSchemaAttribute.cs : Added ValidatedUse which holds post-
942           compilation value of "Use".
943         * XmlSchemaAttributeGroup.cs,
944           XmlSchemaAttributeGroupRef.cs : Removed MonoTODO (same as some other
945           classes) since there is no more errors on attribute stuff ;-)
946         * XmlSchemaComplexType.cs : complex content extension must block 
947           derivation from any built-in primitive types.
948           Fixed wildcard derivation by restriction.
949           ValidateDerivationByRestriction() now checks attribute related
950           validity of DBR (derivation by restriction).
951           Now uses ParticleEquals() for particle DBR check.
952         * XmlSchemaSequence.cs : Fixed to use CompiledItems instead of Items.
953
954 2003-10-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
955
956         * XmlSchema.cs,
957           XmlSchemaUtil.cs : Reduced warning message.
958         * XmlSchemaAttribute.cs : NotImplementedException should no more exist.
959           (All things are going to be implemented.)
960         * BuiltInDatatype.cs : XsdInteger should not allow non-integer decimal.
961         * XmlSchemaSimpleType.cs : Added internal Datatype property. Implemented
962           list type derivation validation. Added Normalize().
963         * XmlSchemaSimpleTypeContent.cs : Added Normalize(). Replaced anyType
964           with anySimpleType.
965         * XmlSchemaSimpleTypeRestriction.cs : Implemented some facet validation,
966           such as pattern, enumeration, and length etc.
967
968 2003-10-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
969
970         * BuiltInDatatype.cs : Implemented XsdHexBinary.Parse().
971         * XmlSchemaCollection.cs : Implemented CopyTo().
972         * XmlSchemaDatatype.cs : Added Normalize() with whitespace handling.
973           Added support for anySimpleType.
974         * XmlSchemaSimpleType.cs : Type specification named as anyType should
975           be mapped to anySimpleType.
976         * BUGS-MS.txt : Added more case note.
977
978 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
979
980         * XmlSchema.cs: If the schema element is an empty element, skip it after
981           reading the attributes.
982
983 2003-10-09  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
984
985         * BuiltInDatatype.cs : Added CLSCompliant attributes to some classes.
986
987 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
988
989         * XmlSchemaUtil.cs: arrayType attribute needs special handling.
990
991 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
992
993         * XmlSchema.cs : Forgot to update with previous files.
994
995 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
996
997         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs,
998           XmlSchemaGroupRef.cs, XmlSchemaSimpleContentExtension.cs,
999           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeContent.cs,
1000           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
1001           Fixed missing sub components check. It should fix soap stuff.
1002         * XmlSchemaAny.cs, XmlSchemaAttribute.cs,
1003           XmlSchemaAttributeGroupRef.cs, XmlSchemaContent.cs :
1004           Added my responsibility on them ;-)
1005
1006 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1007
1008         * XmlSchema.cs : Read() should keep current position of XmlReader if
1009           it was already positioned to 'schema' element.
1010
1011 2003-09-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1012
1013         * Forgot to append 8/24/2003 ChangeLog.
1014         * BUGS.txt, BUGS-MS.txt : Appended additional bug info.
1015         * BuiltInDatatype.cs, ValidationHandler.cs, XmlSchema.cs, 
1016           XmlSchemaAll.cs, XmlSchemaAnnotation.cs. XmlSchemaAny.cs,
1017           XmlSchemaAnyAttribute.cs, XmlSchemaAttribute.cs,
1018           XmlSchemaAttributeGroup.cs, XmlSchemaAttributeGroupRef.cs,
1019           XmlSchemaChoice.cs, XmlSchemaCollection.cs,
1020           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
1021           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
1022           XmlSchemaContent.cs, XmlSchemaDatatype.cs, XmlSchemaElement.cs,
1023           XmlSchemaException.cs, XmlSchemaGroup.cs, XmlSchemaGroupBase.cs,
1024           XmlSchemaGroupRef.cs, XmlSchemaIdentityConstraint.cs,
1025           XmlSchemaKey.cs, XmlSchemaKeyref.cs, XmlSchemaNotation.cs,
1026           XmlSchemaObject.cs, XmlSchemaObjectTable.cs, XmlSchemaParticle.cs,
1027           XmlSchemaReader.cs, XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
1028           XmlSchemaSimpleContentExtension.cs,
1029           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
1030           XmlSchemaSimpleTypeContent.cs, XmlSchemaSimpleTypeList.cs,
1031           XmlSchemaSimpleTypeRestriction.cs, XmlSchemaSimpleTypeUnion.cs,
1032           XmlSchemaType.cs, XmlSchemaUnique.cs, XmlSchemaUtil.cs,
1033           XmlSchemaXPath.cs :
1034
1035           - Almost all classes are changed to implement schema component
1036             constraints, and schema validation using XsdValidatingReader.
1037           - better exception messages.
1038           - More datatype support.
1039           and so on.
1040
1041 2003-09-14  Lluis Sanchez Gual <lluis@ximian.com>
1042
1043         * XmlSchema.cs: Do not add schema namespace declaration if it is already
1044           declared.
1045
1046 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
1047
1048         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added double type.
1049
1050 2003-08-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1051
1052         * BuiltInDatatype.cs : XsdDecimal.TokenizedType should be None.
1053         * XmlSchemaCollection.cs : Add(uri) should not reject chameleon schema.
1054           Add() should compile specified schema.
1055
1056 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
1057
1058         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added XsdAnyURI,
1059           XsdDateTime, XsdDate, XsdTime.
1060
1061 2003-08-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1062
1063         * BuiltInDatatypes.cs : Fixed whitespace facet in XsdToken.
1064           Tokenized type of nmtokens and entities is string [].
1065         * XmlSchema.cs : Changed IsCompile implementation a bit.
1066           Compile() should reset compiled contents.
1067         * XmlSchemaDatatype.cs : Fixed collapsing Normalize().
1068         * XmlSchemaObject.cs : added CompilationId initialization.
1069
1070 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
1071
1072         * XmlSchema.cs: Set IsCompiled to true after compiling.
1073           In Compile(): ignore included schemas that do not have a value
1074           in SchemaLocation. It means that FindElement can return null
1075           if the referred schema was ignored. Added check for that case.
1076           Compile schema after reading it.
1077         * XmlSchemaCollection.cs: The targetNamespace of a schema may
1078           be null. Make XmlSchemaCollection work for this case.
1079         * BuiltInDataType.cs, XmlSchemaDataType.cs: added new primitive
1080           types: float, base64Binary, boolean.
1081
1082 2003-08-02  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1083
1084         * XmlSchema.cs :
1085           - Changed missingElementTypeRefs from Hashtable to ArrayList.
1086           - Added internal XmlSchemas for keeping imported schemas.
1087           - Added private Compile() that takes the original rootSchema and
1088             schema location stack for nested inclusion check.
1089           - Added basic xs:import and xs:include support.
1090           - Compile() is now aware of included XmlSchemaObject items.
1091           - Changed Compile() to fill missing elements' types and that of
1092             referencing elements.
1093           - Read() now adds SourceUri property (although only to itself).
1094         * XmlSchemaCollection.cs : Implemented Add().
1095         * XmlSchemaCollectionEnumerator.cs :
1096           Changed .ctor() to use schema collection as its argument.
1097           Fixed Current to return hashtable's Value, instead of Current 
1098           (which returns DictionaryEntry).
1099         * XmlSchemaComplexType.cs :
1100           Added internal static AnyType.
1101           Compile() is now searches for its base type into other schemas.
1102         * XmlSchemaElement.cs : anyType is supported.
1103           It now searches for type information after Compile().
1104           SetReferedElementInfo() is now changed to SetSchemaType().
1105         * XmlSchemaObjectTable.cs :
1106           It had problems similar to schema collection. Now it uses internal
1107           class XmlSchemaObjectTableEnumerator to support GetEnumerator().
1108         * XmlSchemaParticle.cs : added internal class XmlSchemaParticleEmpty
1109           and internal static Empty.
1110
1111 2003-07-26  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1112
1113         * BuiltInDatatype.cs : XsdIDRefs.ParseValue () should be implemented.
1114         * XmlSchemaDatatype.cs : public Whitespace and protected Normalize()
1115           should be internal.
1116
1117 2003-07-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1118
1119         * XmlSchema.cs : Read() now uses XmlSerializer.Deserialize().
1120
1121 2003-07-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1122
1123         * XmlSchema.cs, XmlSchemaElement.cs :
1124           added internal MissingElementTypeRefs and support for refering 
1125           element's elementType.
1126
1127 2003-07-20  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1128
1129         * XmlSchema.cs : added support for collecting missing type references
1130           at compilation-time.
1131         * XmlSchemaType.cs, XmlSchemaComplexType.cs, XmlSchemaSimpleType.cs:
1132           - Renamed qName to QNameInternal.
1133           - Added BaseSchemaType and ContentTypeParticle support.
1134
1135 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1136
1137         * XmlSchema.cs, XmlSchemaAll.cs, XmlSchemaAnnotated.cs,
1138           XmlSchemaAnnotation.cs, XmlSchemaAny.cs, XmlSchemaAnyAttribute.cs,
1139           XmlSchemaAttribute.cs, XmlSchemaAttributeGroup.cs,
1140           XmlSchemaAttributeGroupRef.cs, XmlSchemaChoice.cs,
1141           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
1142           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
1143           XmlSchemaElement.cs, XmlSchemaGroup.cs, XmlSchemaGroupRef.cs,
1144           XmlSchemaIdentityConstraint.cs, XmlSchemaImport.cs,
1145           XmlSchemaInclude.cs, XmlSchemaKey.cs, XmlSchemaKeyref.cs,
1146           XmlSchemaNotation.cs, XmlSchemaObject.cs, XmlSchemaRedefine.cs,
1147           XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
1148           XmlSchemaSimpleContentExtension.cs,
1149           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
1150           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeRestriction.cs,
1151           XmlSchemaSimpleTypeUnion.cs, XmlSchemaUnique.cs,
1152           XmlSchemaXPath.cs, 
1153           As to Compile() and Validate(),
1154           - Added CompilationId and check it while compiling schema components.
1155           - Code refactory. Replaced literal xmlns with XmlSchema.Namespace
1156           - Replaced XmlSchemaInfo with compiling XmlSchema itself (XmlSchema
1157             also has PSVI components inside it, so passing itself seems enough).
1158           - Related to above change, IDCollection was moved to XmlSchema, and
1159             blockDefault/finalDefault/blockResolved/finalResolved resolution
1160             was changed to reference only to schema.BlockDefault/FinalDefault.
1161           - The similar change has done against XmlSchemaForm related stuff.
1162           - Changed compilation order of schema type definitions (it is
1163             workaround). First it compiles types, and then it compiles others.
1164         * XmlSchemaElement.cs : added ElementType PSVI contribution support.
1165
1166 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1167
1168         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs :
1169           Added decimal and its derived datatypes.
1170           Added abstract XsdAnySimpleType.
1171
1172 2003-07-15  Lluis Sanchez Gual <lluis@ximian.com>
1173
1174         * BuiltInDatatype.cs,
1175           XmlSchemaDatatype.cs : added unsignedByte type support.
1176
1177 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
1178
1179         * XmlSchemaDatatype.cs: Fixed compiler warning.
1180
1181 2003-07-12  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1182
1183         * BuiltInDatatype.cs,
1184           XmlSchemaDatatype.cs : added NOTATION type support.
1185
1186 2003-07-06  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1187
1188         * added BuiltInDatatype.cs.
1189         * XmlSchemaDatatype.cs : [GetType()] added support for some 
1190           built-in datatypes.
1191
1192 2003-05-05  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1193
1194         * XmlSchemaAnnotation.cs : It depended on incorrect ReadNode().
1195
1196 2003-02-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1197
1198         * XmlSchemaAnnotation.cs : expect the correct closing tag on <appinfo>
1199                 and <documentation> elements. (patch by Peter Pentchev)
1200         * XmlSchemaObjectEnumerator.cs : cast properly to XmlSchemaObject 
1201                 instead of XmlSchema. (patch by Peter Pentchev)
1202
1203 2002-07-23  Duncan Mak  <duncan@ximian.com>
1204
1205         * XmlSchemaException.cs: Partiall implement the ISerializable
1206         methods. It's not clear now SourceSchemaObject should be deserialized.
1207
1208 2002-07-22  Tim Coleman  <tim@timcoleman.com>
1209         * XmlSchema.cs: Removed isCompiled which is defined as internal
1210                 in XmlSchemaObject.
1211
1212 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1213         
1214         * XmlSchema: Started work on Validate methods
1215
1216 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1217         * XmlSchema: The Read and Write methods are no more [MonoTODO] :)
1218         
1219         * XmlSchemaAppInfo: Xml Markup is now being read.
1220         
1221         * XmlSchemaDocumentation: Xml Markup is now being read.
1222
1223         * All: Unhandled attributes are being handled properly.
1224                
1225         * All: Reordered the properties in all cs files to match with MS
1226                Implementation. This was required since the order is importatnt
1227                for the XmlSerializer.
1228         
1229 2002-06-14  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1230         * General: Fixed a few more Bugs
1231
1232 2002-06-10  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1233         * XmlSchemaReader: A Wrapper class around XmlReader with customized
1234           methods to suit reading a schema.
1235         * General: Implemented Read() method for the schema. There are only
1236           a few minor bugs remaining.
1237
1238 2002-05-25  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1239         * BUGS.txt: New file to keep track of bugs
1240
1241         * ALL: All classes are initialized exactly as in .NET except
1242                1. inclusion of language attribute in schema
1243                2. ComplexContent's Particle is initialized to null whereas .NET 
1244                   to some internal implementation. IMO Null is more appropriate
1245
1246         * ALL: Changed the Compile methods to return the count of errors.
1247
1248         * ALL: Complile methods are almost complete. Pass 1453 of 3061 tests.
1249                This number should shoot up if we write a parser to read the
1250                Schema instead of using reflection (which is slower too)
1251
1252 2002-05-04  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1253         * XmlSchemaUtil.cs: New file added. 
1254         
1255         * Parser.cs: New file Added. Unused at the moment.
1256
1257         * XmlSchemaObjectCollection: Fixed GetEnumerator
1258         
1259         * General: Preprocessing for Attributes and SimpleTypes completed.
1260
1261 2002-04-26  Duncan Mak  <duncan@ximian.com>
1262
1263         * ValidationHandler.cs: New file.
1264
1265         * XmlSchemaInfo.cs: New file.
1266
1267         * *.cs: More updates from Ajay.
1268
1269 2002-03-27  Duncan Mak  <duncan@ximian.com>
1270
1271         * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.