sl2b2 update
[mono.git] / mcs / class / System.XML / System.Xml.Schema / ChangeLog
1 2008-08-19  Jb Evain  <jbevain@novell.com>
2
3         * XmlSchema_2_1.cs
4         * XmlSchemaObject_2_1.cs
5         * XmlSchemaSet_2_1.cs: add new specific files for the net_2_1 profile.
6
7 2008-06-13  Atsushi Enomoto  <atsushi@ximian.com>
8
9         * XmlSchema.cs : fixed couple of olive regressions caused by
10           previous ProcessExternal() patches.
11
12 2008-06-06  Atsushi Enomoto  <atsushi@ximian.com>
13
14         * XmlSchema.cs : indent (I slightly modified the previous patch
15           to expose the actual changes).
16
17 2008-06-06  Atsushi Enomoto  <atsushi@ximian.com>
18
19         * XmlSchema.cs : fixed bug #397612, patch by James Fitzsimons.
20           in ProcessExternal(), Make xs:import without schemaLocation work
21           fine as if it were with schemaLocation.
22
23 2008-06-06  James Fitzsimons <james.fitzsimons@gmail.com>
24
25         * XmlSchema.cs : Changed GetResolvedUri to return Uri in correct case
26           to make compatible with the Microsoft.NET framework.
27
28 2008-02-19  Atsushi Enomoto <atsushi@ximian.com>
29
30         * XmlSchema.cs : Do recursively process xs:include inside included
31           schemas. Fixed bug #361818.
32
33 2008-02-19  Atsushi Enomoto <atsushi@ximian.com>
34
35         * XmlSchemaAny.cs : block extra compilation in anyTypeContent.
36
37 2008-02-04  Atsushi Enomoto <atsushi@ximian.com>
38
39         * XmlSchemaValidator.cs : added couple of null argument check.
40           Do not depend on XmlSchemaInfo to retrieve attribute value (it
41           could be null).
42           Do not practically validate attribute when it is not in validating
43           state (i.e. inside xs:any). Fixed bug #358408.
44
45 2008-01-12  Sebastien Pouliot  <sebastien@ximian.com>
46
47         * XmlSchemaInference.cs: Fix infinite recursion in TypeInference
48         property getter. Found by Gendarme.
49
50 2007-11-12  Atsushi Enomoto <atsushi@ximian.com>
51
52         * XmlSchemaValidator.cs : XmlValueGetter actually needs string value
53           to validate against a restricted simple type (beyond ParseValue()). 
54           Fixed bug #339934.
55
56 2007-11-05  Atsushi Enomoto <atsushi@ximian.com>
57
58         * XmlSchemaSimpleTypeRestriction.cs : implemented value-space
59           comparison for enumerations. Actually it is hybrid (it also
60           tries literal-space comparison first). Fixed bug #322457 and
61           #322458.
62
63           When there is a literal-space match, sometimes you cannot try to
64           get TypedValue even if it is valid due to double.Parse() overflow.
65
66 2007-09-27  Atsushi Enomoto <atsushi@ximian.com>
67
68         * XmlAtomicValue.cs :
69           Added ToString(). Public API metadata completion.
70
71 2007-08-02  Atsushi Enomoto <atsushi@ximian.com>
72
73         * XmlSchemaComplexType.cs,
74           XmlSchemaComplexContentRestriction.cs :
75           in Validate(), every descendant item in complexType must be first
76           validated before getting GetOptimizedParticle(), or it could result
77           in wrong content particle. Fixed bug #82010.
78
79 2007-08-02  Atsushi Enomoto <atsushi@ximian.com>
80
81         * XmlSchemaValidator.cs : another extra whitespace rejection.
82           Fixed another issue reported on bug #82183.
83
84 2007-07-25  Atsushi Enomoto <atsushi@ximian.com>
85
86         * XmlSchemaValidator.cs : do not reject whitespaces in elementOnly
87           content model. Fixed bug #82183.
88
89 2007-07-17  Atsushi Enomoto <atsushi@ximian.com>
90
91         * XmlSchemaValidator.cs : dependent changes to 
92           XsdParticleValidationState. Changed ValidateWhitespace() to do
93           the same as we do in XsdValidatingReader.
94
95 2007-04-24  Atsushi Enomoto <atsushi@ximian.com>
96
97         * XmlSchema.cs XmlSchemaGroup.cs XmlSchemaAny.cs XmlSchemaElement.cs
98           XmlSchemaNotation.cs XmlSchemaComplexType.cs
99           XmlSchemaAttributeGroup.cs XmlSchemaSimpleType.cs
100           XmlSchemaIdentityConstraint.cs XmlSchemaAnyAttribute.cs
101           XmlSchemaRedefine.cs XmlSchemaAttribute.cs :
102           avoid incorrect compilation of included schemas, fixed bug #81360.
103           more fix for wrong targetNamespace propagation within current
104           processing model. Replaced ParentIsSchema field with a property.
105
106 2007-04-24  Atsushi Enomoto <atsushi@ximian.com>
107
108         * XmlSchema.cs XmlSchemaSimpleTypeList.cs
109           XmlSchemaComplexContentRestriction.cs XmlSchemaGroup.cs
110           XmlSchemaComplexContentExtension.cs XmlSchemaSequence.cs
111           XmlSchemaSimpleContentRestriction.cs
112           XmlSchemaSimpleContentExtension.cs
113           XmlSchemaElement.cs XmlSchemaAll.cs XmlSchemaComplexType.cs
114           XmlSchemaAttributeGroup.cs XmlSchemaSimpleTypeRestriction.cs
115           XmlSchemaSimpleContent.cs XmlSchemaChoice.cs
116           XmlSchemaSimpleType.cs XmlSchemaIdentityConstraint.cs
117           XmlSchemaSimpleTypeUnion.cs XmlSchemaRedefine.cs
118           XmlSchemaComplexContent.cs XmlSchemaAttribute.cs
119           XmlSchemaObject.cs : set parent component in prior to compilation,
120           bringing Parent to 1.x as internal. Moving toward fixing #81360.
121
122 2006-12-11  Atsushi Enomoto <atsushi@ximian.com>
123
124         * XmlSchemaIdentityConstraint.cs : give conflicting component in
125           the error message.
126         * XmlSchemaElement.cs : When resolving "ref" and "substitutionGroup",
127           It should use XmlSchema.FindElement() instead of XmlSchema.Elements
128           so that it does not miss external components.
129         * XmlSchemaSet.cs, XmlSchema.cs : now in one XmlSchemaSet
130           compilation, make sure to not handle the same schema twice even
131           at the schema level.
132
133 2006-10-27  Atsushi Enomoto <atsushi@ximian.com>
134
135         * XmlSchemaValidator.cs : it must also be fixed for method signature
136           change.
137         * XmlSchemaSimpleTypeRestriction.cs : on .NET 2.0, use 
138           IXmlNamespaceResolver for XmlSchemaValidator.
139
140 2006-10-27  Atsushi Enomoto <atsushi@ximian.com>
141
142         * XmlSchemaSimpleTypeRestriction.cs : for facet validation, it should
143           use namespacemanager. Though the change is not perfect, thus I
144           disable this change for now.
145
146 2006-07-27  Atsushi Enomoto <atsushi@ximian.com>
147
148         * XmlSchema.cs, XmlSchemaSimpleTypeList.cs,
149           XmlSchemaSimpleContentRestriction.cs, XmlSchemaUtil.cs,
150           XmlSchemaSimpleContentExtension.cs, XmlSchemaElement.cs,
151           XmlSchemaComplexType.cs, XmlSchemaSimpleTypeRestriction.cs,
152           XmlSchemaSimpleTypeUnion.cs, XmlSchemaAttribute.cs :
153           Finally fixed bugs around cross-referencing importing schema 
154           components (namely, #77489 and #78220) by resolving referenced
155           components via new internal Find[Element|Attribute|AttributeGroup|
156           SchemaType] methods in XmlSchema.
157
158 2006-07-27  Atsushi Enomoto <atsushi@ximian.com>
159
160         * XmlSchema.cs : set ValidationEventHandler to XmlSchemaSet only
161           when the argument event handler is not null.
162           Validate() is internal to open it to XmlSchemaSet.
163         * XmlSchemaSet.cs : removed extraneous "handler" field and method
164           "OnValidationError". Now ValidationEventHandler just works since
165           we don't have to care about XmlSchemaCollection's event (it just
166           reuses XmlSchemaSet's event now).
167           Split Compile() process to collect components first, and to
168           validate next.
169
170 2006-07-27  Atsushi Enomoto <atsushi@ximian.com>
171
172         * XmlSchema.cs : compiling and validating external components in
173           prior to direct components in a schema does block my refactoring.
174           Removed extraneous call to XmlSchemaSet.Add().
175
176 2006-07-27  Atsushi Enomoto <atsushi@ximian.com>
177
178         * XmlSchema.cs, XmlSchemaSet.cs : some minor refactoring to make
179           Compile() simple two phase (i.e. CompileSubset() and Validate()).
180
181 2006-07-27  Atsushi Enomoto <atsushi@ximian.com>
182
183         * XmlSchemaException.cs : oops, .ctor(string) was only for 2.0.
184
185 2006-07-27  Atsushi Enomoto <atsushi@ximian.com>
186
187         * XmlSchemaCollection.cs :
188           eliminated call to XmlSchema.CompileSubset(). Now XmlSchemaSet is
189           the only starter of the compilation.
190         * XmlSchemaSet.cs : added targetNamespace check.
191
192 2006-07-26  Atsushi Enomoto <atsushi@ximian.com>
193
194         Refactoring compilation to make Compile() portable to
195         XmlSchemaSet.Compile() and fix multi-schema bugs (not done yet)
196
197         * XmlSchema.cs : 
198           Removed "root schema" concept from Compile().
199           Since nested inclusion does not result in an error, the role of
200           schemaLocationStack is identical to handledUris, thus removed it.
201           The handledUris does not have to be a field.
202           Moved NamedIdentities and IDCollections to XmlSchemaSet.
203           Renamed a Compile() which is called from XmlSchemaCollection and
204           XmlSchemaSet as CompileSubset(). Renamed private Compile() as
205           DoCompile().
206           public Compile() now internally creates a new XmlSchemaSet and
207           compiles the set.
208         * XmlSchemaCollection.cs : now it hooks its schemaSet's validation
209           event handler and thus XmlSchemaSet does not need to check this
210           collection's event handler by itself.
211           XmlSchema.Compile() -> XmlSchema.CompileSubset().
212         * XmlSchemaSet.cs :
213           Removed SchemaCollection which became unneccessary.
214           Added NamedIdentities and IDCollection.
215           XmlSchema.Compile() -> XmlSchema.CompileSubset().
216         * XmlSchemaAttributeGroupRef.cs, XmlSchemaXPath.cs
217           XmlSchemaSimpleTypeList.cs, XmlSchemaComplexContentRestriction.cs,
218           XmlSchemaGroup.cs, XmlSchemaComplexContentExtension.cs,
219           XmlSchemaSequence.cs, XmlSchemaSimpleContentRestriction.cs,
220           XmlSchemaSimpleContentExtension.cs, XmlSchemaAny.cs,
221           XmlSchemaElement.cs, XmlSchemaNotation.cs, XmlSchemaAll.cs,
222           XmlSchemaComplexType.cs, XmlSchemaAnnotation.cs,
223           XmlSchemaAttributeGroup.cs, XmlSchemaSimpleTypeRestriction.cs,
224           XmlSchemaSimpleContent.cs, XmlSchemaGroupRef.cs,
225           XmlSchemaChoice.cs, XmlSchemaSimpleType.cs,
226           XmlSchemaIdentityConstraint.cs, XmlSchemaSimpleTypeUnion.cs,
227           XmlSchemaAnyAttribute.cs, XmlSchemaComplexContent.cs,
228           XmlSchemaAttribute.cs, XmlSchemaObject.cs :
229           removed XmlSchemaObject.IsCompiled(). Check compilation state by
230           comparing compilation ID directly.
231
232 2006-07-25  Atsushi Enomoto <atsushi@ximian.com>
233
234         * XmlSchema.cs : mutual schema import was failing because the
235           compiling schema's SourceUri was not enlisted for nest check.
236
237 2006-03-02  Atsushi Enomoto <atsushi@ximian.com>
238
239         * XmlSchema.cs : seems like there is XmlSchemaExternal.Schema property
240           that is filled after Compile(). Fixed bug #77687.
241
242 2006-03-01  Atsushi Enomoto <atsushi@ximian.com>
243
244         * XmlSchemaAppInfo.cs, XmlSchemaDocumentation.cs : seems like MS
245           implementation fills empty node set for empty xs:appinfo and
246           xs:documentation and waste memory. Fixed bug #77685.
247
248 2006-02-28  Gert Driesen  <drieseng@users.sourceforge.net>
249
250         * XmlSchema.cs: Do not define namespace for zero-length TargetNamespace
251         and report XmlSchemaException when compiling XmlSchema with
252         zero-length TargetNamespace.
253
254 2006-02-01  Atsushi Enomoto <atsushi@ximian.com>
255
256         * BuiltInDatatype.cs : anyURI could be such relative path that
257           contains ':' in the middle. It also affects on relaxng validation.
258
259 2006-01-25  Atsushi Enomoto <atsushi@ximian.com>
260
261         * XmlSchemaValidationException.cs : fixed .ctor() signatures.
262
263 2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
264
265         * XmlSchemaAttribute.cs, XmlSchemaElement.cs : AttributeSchemaType
266           and ElementSchemaType were not working fine for anySimpleType.
267         * XmlSchemaValidator.cs : When actual schema type was complex,
268           schema types was not filled correctly. Modified some extra comments.
269         * XmlSchemaSet.cs, XmlSchemaType.cs : removed extra MonoTODOs.
270
271 2006-01-10  Atsushi Enomoto <atsushi@ximian.com>
272
273         * XmlAtomicValue.cs : it won't be implemented since there is no way
274           to test it inside sys.xml. Thus remarked MonoTODO.
275         * XmlSchemaDatatype.cs : implemented IsDerivedFrom(), which is however
276           mostly useless.
277
278 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
279
280         * XmlSchemaSet.cs : Add() rollbacks IsCompiled to false.
281           Global components are not added when Add() is called.
282
283 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
284
285         * XmlSchemaSet.cs : reverted previous fix; it broke inclusions.
286
287 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
288
289         * XmlSchemaSet.cs : Add() needs (consistent) namespace duplicate check.
290
291 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
292
293         * XmlSchemaSimpleTypeRestriction.cs : maxLength and minLength were
294           likely to be ignored in ValidateNonListValueWithFacets().
295         * XmlSchemaValidator.cs : Don't use normalized string value as the
296           input to AssessStringValid().
297
298 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
299
300         * XmlSchemaSet.cs :
301           Turned out that it also has set_CompilationSettings.
302         * XmlSchemaComplexType. : thus CompilationSettings is nullable, we
303           have to check its existence.
304
305 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
306
307         * XmlSchema.cs : Compile() are obsoleted in 2.0.
308
309 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
310
311         * XmlSchemaDatatype.cs : TypeCode is virtual in 2.0 RTM.
312
313 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
314
315         * XmlSchemaValidationException.cs :
316           oops, there is SourceObject other than SourceSchemaObject.
317         * XmlSchemaCompilationSettings.cs : oops, actually XmlSchemaSet is
318           also used in 1.x profile (internally)
319         * XmlSchemaSimpleTypeList.cs : added set_BaseItemType bogus (just to
320           fill API compatibility).
321
322 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
323
324         * XmlSchemaCompilationSettings.cs : new file.
325         * XmlSchemaSet.cs : added CompilationSettings property.
326         * XmlSchemaComplexType.cs : support for EnableUpaCheck.
327
328 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
329
330         * XmlSchemaValidationException.cs : added SetSourceObject() which
331           is just for API compat (it does nothing on MS.NET).
332           Removed #if NET_2_0 inside #if NET_2_0.
333
334 2005-12-01  Atsushi Enomoto <atsushi@ximian.com>
335
336         * XmlSchemaSequence.cs : when a subcomponent is not optional
337           (minOccurs!=0) then it should clean previous components up.
338           Really fixed bug #76865.
339
340 2005-12-01  Atsushi Enomoto <atsushi@ximian.com>
341
342         * XmlSchemaElement.cs : Fixed ambiguity detection logic so that
343           chameleon ##other (xs:any) does not block other "absent"
344           (empty targetNamespace) element. Fixed bug #76865.
345
346 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
347
348         * XmlSchemaValidator.cs : added missing ValidateWhitespace and
349           ValidateText, though the latter I think is LAMESPEC.
350
351 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
352
353         * XmlSchemaValidationFlags.cs : updated to match 2.0 RTM.
354         * XmlSchemaValidator.cs : related fix.
355
356 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
357
358         * XmlValueGetter.cs, XmlSchemaValidator.cs, XmlSchemaException.cs,
359           XmlSchemaAttribute.cs : Updated API to match 2.0 RTM. Most of the
360           changes are related to XmlValueGetter change.
361
362 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
363
364         * XmlSchemaValidator.cs : sealed.
365         * ValidationEventArgs.cs : not sealed in 2.0.
366         * XmlSchemaCollection.cs : added private ICollection.Count (to erase
367           IsVirtual difference).
368
369 2005-10-17  Lluis Sanchez Gual  <lluis@novell.com>
370
371         * XmlSchemaSerializer.cs: Arrays of XmlNode don't
372         need to be all XmlElments. Fix by Atsushi for bug #76288.
373
374 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
375
376         * XmlSchemaUtil.cs: (GetParserContext) if reader is not internal 
377           IHasXmlParserContext, silently return null. This is for NVDL xsd
378           support.
379
380 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
381
382         * XmlSchema.cs : XmlReader position after Read() is the end of the
383           schema element.
384
385 2005-09-25  Atsushi Enomoto <atsushi@ximian.com>
386
387         * XmlSchemaBuiltInType.cs : removed obsolete beta file.
388
389 2005-09-25  Atsushi Enomoto <atsushi@ximian.com>
390
391         * XmlSchemaValidationFlags.cs, XmlSchemaValidator.cs :
392           NET_2_0 API updates.
393
394 2005-08-31  Sebastien Pouliot  <sebastien@ximian.com>
395
396         * XmlSchemaException.cs: Added a Demand for SerializationFormatter
397         on GetObjectData method.
398
399 2005-08-25  Atsushi Enomoto <atsushi@ximian.com>
400
401         * XmlSchemaSimpleTypeRestriction.cs : normalize EOL.
402           Remove non-ASCII letters.
403
404 2005-08-08  Atsushi Enomoto <atsushi@ximian.com>
405
406         * XmlSchemaComplexType.cs : Fixed ValidateTypeDerivationOK (complex)
407           that missed primitive simple types as base types (BaseXmlSchemaType
408           is not working fine; it is the actual culprit to be fixed).
409         * XmlSchemaUtil.cs,
410           XmlSchemaAttributeGroup.cs,
411           XmlSchemaComplexType.cs : 
412           fixed XmlSchemaUtil.ValidateAttributesResolved(). If there is a 
413           corresponding attribute definition in the derived extension type,
414           then it should be allowed.
415
416 2005-08-06  Gert Driesen <drieseng@users.souceforge.net>
417
418         * XmlSchema.cs: XmlElementAttribute, XmlAttributeAttribute and
419         DefaultValueAttribute corrections to match MS.NET.
420         * XmlSchemaAll.cs:
421         * XmlSchemaAnnotated.cs: 
422         * XmlSchemaAnnotation.cs:
423         * XmlSchemaAppInfo.cs:
424         * XmlSchemaAttribute.cs:
425         * XmlSchemaAttributeGroup.cs:
426         * XmlSchemaChoice.cs:
427         * XmlSchemaComplexContent.cs:
428         * XmlSchemaComplexContentExtension.cs:
429         * XmlSchemaComplexContentRestriction.cs:
430         * XmlSchemaComplexType.cs:
431         * XmlSchemaDocumentation.cs:
432         * XmlSchemaElement.cs:
433         * XmlSchemaExternal.cs:
434         * XmlSchemaGroup.cs:
435         * XmlSchemaIdentityConstraint.cs:
436         * XmlSchemaImport.cs:
437         * XmlSchemaInclude.cs:
438         * XmlSchemaRedefine.cs:
439         * XmlSchemaSequence.cs:
440         * XmlSchemaSimpleContent.cs:
441         * XmlSchemaSimpleContentExtension.cs:
442         * XmlSchemaSimpleContentRestriction.cs:
443         * XmlSchemaSimpleType.cs:
444         * XmlSchemaSimpleTypeList.cs:
445         * XmlSchemaSimpleTypeRestriction.cs:
446         * XmlSchemaSimpleTypeUnion.cs:
447         * XmlSchemaXPath.cs:
448
449 2005-08-03  Gert Driesen <drieseng@users.sourceforge.net>
450
451         * XmlSchemaInference.cs: Is sealed in Beta 2.
452         * XmlSchemaInfo.cs: Added ContentType property.
453         * XmlSchemaObjectEnumerator.cs: No longer sealed in Beta 2.
454         * XmlSchemaSet.cs: No longer sealed in Beta 2. XmlResolver property
455         is now CLSCompliant.
456
457 2005-07-04  Atsushi Enomoto <atsushi@ximian.com>
458
459         * XmlSchemaDatatype.cs, XmlSchemaParticle.cs, XmlSchemaContent.cs,
460           XmlSchemaFacet.cs : eliminated internal abstract members.
461
462 2005-06-11  Atsushi Enomoto <atsushi@ximian.com>
463
464         * XmlSchemaCollection.cs, XmlSchemaCollectionEnumerator.cs :
465           GetEnumerator() was not in sync with the internal change to
466           XmlSchemaSet. Fixed bug #75126. Patch by Crestez Leonard.
467
468 2005-06-07  Atsushi Enomoto <atsushi@ximian.com>
469
470         * XmlSchemaValidationFlags.cs : it is NET_2_0.
471
472 2005-05-23  Atsushi Enomoto <atsushi@ximian.com>
473
474         * XmlSchemaInference.cs : For each resulting schema, it has to emit
475           xs:import when it has a reference to external schema components.
476
477 2005-05-22  Atsushi Enomoto <atsushi@ximian.com>
478
479         * XmlSchemaInference.cs : When doing lax inference, set minOccurs="0"
480           of those elements in a sequence. Fixed misspellings.
481
482 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
483
484         * XmlAtomicValue.cs : moved from XPathAtomicValue, removed some stuff.
485
486 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
487
488         * XmlSchemaType.cs, XmlSchemaSimpleType.cs : removed ValueConverter.
489         * XmlSchemaDatatype.cs,
490           XmlSchemaComplexType.cs : removed removed member in .net 2.0 beta2.
491
492 2005-04-12  Lluis Sanchez Gual  <lluis@novell.com>
493
494         * XmlSchemaParticle.cs: Set MaxOccurs to unbounded when set to
495         decimal.MaxValue.
496
497 2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
498
499         * XmlSchemaChoice.cs : commented out warned code.
500         * XmlSchemaCollection.cs : removed warned code (now it all depends on
501           XmlSchemaSet).
502
503 2005-01-25  Martin Baulig  <martin@ximian.com>
504
505         * XmlSchemaSet.cs (XmlSchemaSet.XmlResolver): Mark this as
506         not CLS-compliant to avoid a CS3025.
507
508         * XmlSchemaType.cs (XmlSchemaType.ValueConverter): Mark this as
509         not CLS-compliant to avoid a CS3025.
510
511 2005-01-17  Atsushi Enomoto <atsushi@ximian.com>
512
513         * XmlSchema.cs : XmlSchema.Write() should not write duplicating
514           top-level entry in XmlSerializerNamespaces and XmlNamespaceManager.
515           This fixes some DataSet bugs.
516
517 2005-01-17  Atsushi Enomoto <atsushi@ximian.com>
518
519         * XmlSchemaValidator.cs : in case of open start tag,
520           ValidateEndElement() calls ValidateEndOfAttributes().
521
522 2005-01-17  Atsushi Enomoto <atsushi@ximian.com>
523
524         * xmlschemagen.config,
525           XmlSchemaSerializer.cs : replacement of CustomSerializer.cs which was
526           based on genxs but manually modified.
527         * CustomSerializer.cs : removed.
528
529 2005-01-11  Atsushi Enomoto <atsushi@ximian.com>
530
531         * XmlSchema.cs : Write() should handle carefully output
532           namespace/prefix mapping.
533
534 2004-12-26  Atsushi Enomoto <atsushi@ximian.com>
535
536         * XmlSchemaSet.cs : added Remove(), RemoveRecursive(), Reprocess().
537         * XmlValueConverter.cs : implemented almost all the feature.
538         * XmlSchemaSimpleType.cs : fixed some built-in types.
539         * XmlSchemaType.cs : added ValueConverter property.
540
541 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
542
543         * XmlSchema.cs : XmlResolver.ResolveUri() may return null.
544
545 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
546
547         * XmlSchemaValidator.cs : ValidateElement() was not LAMESPEC. Added
548           some comments on ValidateEndElement().
549
550 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
551
552         * XmlSchemaValidator.cs : fill schemaInfo as long as possible right now.
553
554 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
555
556         * XmlSchemaInfo.cs : added internal copy constructor.
557
558 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
559
560         * XmlSchemaValidator.cs : implemented GetExpectedParticles() and
561           SkipToEndElement ().
562
563 2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
564
565         * XmlSchemaSet.cs : set default resolver. Clear components before
566           recompilation.
567         * XmlSchemaValidator.cs :
568           SourceUri is System.Uri.
569           GetUnspecifiedDefaultAttributes() is allowed only when it is inside
570           start tag.
571           Added AddSchema().
572           Added duplicate attribute check.
573           Added ValidateElement() that takes xsi:* parameters.
574           (http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackId=7fc38ea1-c306-4fb7-8631-0e174b0ff3c6)
575           HandleXsiNil() now just takes string parameter.
576
577 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
578
579         * XmlSchemaValidator.cs : implemented basic validation feature.
580
581 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
582
583         * XmlSchemaUtil.cs : added FindAttributeDeclaration() and
584           AttributeWildcardItemValid().
585
586 2004-12-11  Atsushi Enomoto <atsushi@ximian.com>
587
588         * XmlSchemaUtil.cs : added static ReadTypedValie().
589         * XmlSchemaInference.cs : compile at the end of inference.
590
591 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
592
593         * XmlValueGetter.cs,
594           XmlSchemaValidationFlags.cs,
595           XmlSchemaValidator.cs : added.
596         * XmlSchemaSet.cs : XmlResolver is now internally gettable.
597
598 2004-12-04  Atsushi Enomoto <atsushi@ximian.com>
599
600         * XmlSchemaObject.cs : added Parent.
601         * XmlSchema.cs,
602           XmlSchemaElement.cs,
603           XmlSchemaAttribute.cs,
604           XmlSchemaAttributeGroup.cs,
605           XmlSchemaGroup.cs,
606           XmlSchemaComplexType.cs,
607           XmlSchemaSequence.cs,
608           XmlSchemaChoice.cs,
609           XmlSchemaAll.cs,
610           XmlSchemaIdentityConstraint.cs,
611           XmlSchemaComplexContent.cs,
612           XmlSchemaSimpleContent.cs,
613           XmlSchemaSimpleContentExtension.cs,
614           XmlSchemaSimpleContentRestriction.cs,
615           XmlSchemaComplexContentExtension.cs,
616           XmlSchemaComplexContentRestriction.cs,
617           XmlSchemaSimpleType.cs,
618           XmlSchemaSimpleTypeRestriction.cs,
619           XmlSchemaSimpleTypeList.cs,
620           XmlSchemaSimpleTypeUnion.cs : Fill Parent on Compilation.
621
622         * XmlSchemaException.cs,
623           XmlSchemaInferenceException.cs,
624           XmlSchemaValidationException.cs : added SecurityPermissionAttribute.
625
626 2004-12-04  Atsushi Enomoto <atsushi@ximian.com>
627
628         * XmlSchemaComplexType.cs : simplify Compile().
629
630 2004-11-25  Atsushi Enomoto <atsushi@ximian.com>
631
632         * XmlSchemaElement.cs,
633           XmlSchemaComplexType.cs,
634           XmlSchema.cs,
635           XmlSchemaChoice.cs,
636           XmlSchemaSimpleType.cs,
637           XmlSchemaObjectTable.cs,
638           XmlSchemaObjectCollection.cs,
639           XmlSchemaCollection.cs,
640           : All changes are just for warning removal.
641
642 2004-11-24  Atsushi Enomoto <atsushi@ximian.com>
643
644         * XmlSchemaDatatype.cs : added ParseValue() override.
645         * XmlSchemaSimpleTypeList.cs,
646           XmlSchemaSimpleTypeUnion.cs : #if NET_2_0 some private fields,
647           just for eliminating warnings :(
648         * XmlSchemaSet.cs : commented some fields currently not in use.
649           It is for eliminating warnings.
650         * XmlSchemaSimpleTypeRestriction.cs : removed exception field name
651           to eliminate warning.
652         * XmlSchemaException.cs : hasLineInfo is also runtime serialized now.
653
654 2004-11-22  Atsushi Enomoto <atsushi@ximian.com>
655
656         * XmlSchemaException.cs : Message is only 1.x (not 2.0).
657         * XmlSchemaInference.cs : use more static readonly QName fields.
658           Type merge inference now traverses every base types.
659         * XmlSchemaInfo.cs : added new file.
660
661 2004-11-18  Atsushi Enomoto <atsushi@ximian.com>
662
663         * XmlSchemaException.cs : added .ctor(string).
664         * XmlSchemaInferenceException.cs : use base.ctor(string).
665         * XmlSchemaValidationException.cs : It is 2.0 class. Added some .ctor()
666
667 2004-11-18  Atsushi Enomoto <atsushi@ximian.com>
668
669         * XmlSchemaCollection.cs : obsolete.
670         * XmlSchemaInference.cs :
671           Fixed typo in enum. It is still MonoTODO. Reformatted code a bit.
672
673 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
674
675         * XmlSchemaSet.cs : don't set TargetNamespace = "".
676
677 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
678
679         * XmlSchemaInferenceDesign.txt : added (incomplete though.)
680
681 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
682
683         * XmlSchemaValidationException.cs : added.
684
685 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
686
687         * XmlSchemaInference.cs,
688           XmlSchemaInferenceException.cs : added.
689
690 2004-11-17  Atsushi Enomoto <atsushi@ximian.com>
691
692         * XmlSchemaException.cs : removed get_Message in 2.0 profile (all done
693           in .ctor()).
694
695 2004-11-08  Atsushi Enomoto <atsushi@ximian.com>
696
697         * XmlSchemaSet.cs : use NameTable when creating XmlTextReader.
698
699 2004-11-05  Atsushi Enomoto <atsushi@ximian.com>
700
701         * XmlSchemaSet.cs : reduced extraneous XmlSchemaObjectTable creation.
702
703 2004-11-05  Atsushi Enomoto <atsushi@ximian.com>
704
705         * XmlSchemaSimpleTypeList.cs,
706           XmlSchemaSimpleTypeUnion.cs : XmlIgnore.
707
708 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
709
710         * XmlSchemaAttribute.cs : AttributeSchemaType could be determined on
711           compilation time. AttributeType is obsolete.
712         * XmlSchemaElement.cs : ditto for ElementSchemaType and ElementType.
713
714 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
715
716         * XmlSchemaComplexType.cs : added LocalElements, with the description
717           why it can never be correct implementation.
718         * XmlSchemaUtil.cs : use IHasXmlParserContext.
719
720 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
721
722         * XmlSchemaSimpleTypeUnion.cs : Added 2.0 BaseMemberTypes property 
723           (this property name is also ambiguous and should be changed too.)
724
725 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
726
727         * XmlSchemaSimpleTypeList.cs : Added 2.0 BaseItemType property (BTW
728           this property name is really ambiguous and should be changed.)
729
730 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
731
732         * XmlSchemaAttributeGroup.cs, XmlSchemaGroup.cs :
733           in 2.0, QualifiedName properties are public.
734         * XmlSchemaType.cs : TypeCode is [XmlIgnore] (anyways ignored though).
735
736 2004-10-22  Atsushi Enomoto <atsushi@ximian.com>
737
738         * XmlSchemaType.cs : Implemented GetBuiltInComplexType(XmlTypeCode).
739
740 2004-09-22  Atsushi Enomoto <atsushi@ximian.com>
741
742         * XmlSchemaDatatype.cs : handle xdt:* types in FromName().
743
744 2004-09-16  Atsushi Enomoto <atsushi@ximian.com>
745
746         * BuiltInDatatype.cs, SchemaDataValueType.cs :
747           ParseValue() for xs:AnyURI should return System.Uri. MS.NET returns
748           XmlSchemaUri, but it is derived from System.Uri, while ours was not.
749
750 2004-09-07  Atsushi Enomoto <atsushi@ximian.com>
751
752         * IXmlType.cs : deprecated in .NET 2.0.
753
754 2004-09-03  Atsushi Enomoto <atsushi@ximian.com>
755
756         * XmlSchema.cs : When schema inclusion results in a recursion, just
757           skip recursed schema.
758         * BUGS-MS.txt : added another entry. Reflected response from Microsoft.
759
760 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
761
762         * XmlSchemaType.cs : quick build fix.
763
764 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
765
766         * XmlSchemaDatatype.cs : Removed FromName(localName) that cannot
767           handle xdt:* types.
768         * XmlSchemaType.cs : added internal GetBuiltInType() methods that
769           mix GetBuiltInSimpleType() and GetBuiltInComplexType().
770
771 2004-08-25  Atsushi Enomoto <atsushi@ximian.com>
772
773         * XmlSchemaSimpleType.cs : Fill list types such as xs:IDREFS.
774         * XmlSchemaType.cs :
775           Fixed TypeCode more (broken on predefined list types and xs:anyType).
776
777 2004-08-25  Atsushi Enomoto <atsushi@ximian.com>
778
779         * XmlSchemaType.cs :
780           anyType was anonymous, thus GetBuiltInComplexType() didn't work.
781
782 2004-08-24  Atsushi Enomoto <atsushi@ximian.com>
783
784         * XmlSchemaType.cs : return XmlTypeCode.AnyAtomicType for
785           anySimpleType's TypeCode property.
786
787 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
788
789         * XmlSchema.cs : Replace XmlSchemaCollection with XmlSchemaSet that
790           used to maintain compiled schema state.
791           Simplified code a bit (Include processing).
792           Set IsCompiled = true only when successfully compiled.
793         * XmlSchemaCollection.cs : Now it totally delegates its processing
794           to XmlSchemaSet. Removed unused methods.
795         * XmlSchemaElement.cs : Added post-compiled information initializer
796           method, and call it before (re)Compile().
797         * XmlSchemaSet.cs :
798           - Replaced internal store from Dictionary to List, since schema
799             resources for one target namespace can be more than one (that's why
800           - Schemas(string targetNamespace) returns ICollection).
801           - Now global schemaset members are added per schema addition (it is
802             more MS compatible than before).
803           - Use GetSafeNs() to do targetNamespace comparison correctly.
804
805           XmlSchemaSet looks still unstable, so it will be changed again.
806
807         * XmlSchemaSimpleTypeRestriction.cs,
808           XmlSchemaSimpleTypeUnion.cs,
809         * XmlSchemaUtil.cs : Consider xdt namespace.
810
811 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
812
813         * XmlSchemaCollection.cs : replaced CRLF to LF (they were mixed).
814
815 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
816
817         * XmlSchema.cs : code reformatting. convert CRLF to LF.
818           Use String.Format() instead of +. Removed commented code.
819
820 2004-07-28  Atsushi Enomoto <atsushi@ximian.com>
821
822         * BuiltInDatatype.cs : use XmlQualifiedName.Parse().
823
824 2004-07-23  Atsushi Enomoto <atsushi@ximian.com>
825
826         * XmlSchema.cs : Added internal XdtNamespace constant. don't fill
827           schemaset compoenents here.
828         * XmlSchemaAttribute.cs : Implemented AttributeSchemaType.
829         * XmlSchemaElement.cs : Implemented ElementSchemaType.
830         * XmlSchemaSimpleType.cs : Added predefined simple types
831         * XmlSchemaType.cs : Implemented GetBuiltInSimpleType().
832         * XmlSchemaDatatype.cs : Allow Xdt namespaces too (not completed;
833           quick fix for GetBuiltInSimpleType()).
834
835 2004-07-21  Atsushi Enomoto <atsushi@ximian.com>
836
837         * BUGS-MS.txt : updated including answer excerpts from MS team.
838         * BUGS.txt : it turned out that some bugs I wrote as "MS bugs" are 
839           actually my bug. Noted them.
840         * BuiltInDatatype.cs :
841           Commented out extraneous [CLSCompliant].
842           Switch ParseValue() argument as IXmlNamespaceResolver for 2.0, and
843           XmlNamespaceManager for 1.x.
844           Added TypeCode overrides.
845         * XmlSchemaDatatype.cs : Added 2.0 members.
846           Switch IXmlNamespaceResolver and XmlNamespaceManager.
847         * XmlSchemaType.cs : Added some NET_2_0 members. removed old 1.2 stuff.
848
849 2004-07-13  Atsushi Enomoto <atsushi@ximian.com>
850
851         * XmlSchemaBuiltInType.cs, XmlSchemaValidity.cs, XmlTypeCode.cs
852           : fixed annoying enum errors.
853         * XmlSchemaCollection.cs : completely delegate to XmlSchemaSet.
854         * XmlSchemaSet.cs : sealed classes. Use ListDictionary (avoid annoying
855           order preservation matter). NameTable null check for .ctor().
856           Fill GlobalAttributes, GlobalElements, GlobalTypes correctly.
857           Add(string, XmlReader) checks namespace conflicts, while
858           Add(XmlSchema) does not. Fixed Schemas() return type.
859
860 2004-07-11  Atsushi Enomoto <atsushi@ximian.com>
861
862         * XmlSchemaDatatypeVariety.cs : Fixed class name typo.
863         * XmlValueConverter.cs : fixed return types.
864
865 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
866
867         * CustomSerializer.cs, XmlSchemaException.cs,
868           XmlSchemaParticle.cs, XmlSchemaSimpleTypeRestriction.cs
869           : Globalization.
870
871 2004-06-10  Atsushi Enomoto <atsushi@ximian.com>
872
873         * XmlSchemaFacet.cs : Fixed internal protected --> internal.
874
875 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
876
877         * XmlSchema.cs : Make sure to close url-based XmlTextReader.
878
879 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
880
881         * BuiltInDatatype.cs,
882           XmlSchemaFacet.cs,
883           XmlSchemaSimpleTypeRestriction.cs,
884           XmlSchemaXPath.cs : modified some enum const to static readonly
885           (.NET 1.0 does not allow it). Use safe overload of LookupNamespace().
886
887 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
888
889         * XmlSchemaDatatypeVariety.cs,
890           XmlSchemaValidity.cs : they are NET_2_0 enums.
891
892 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
893
894         * XmlValueConverter.cs : missed NET_2_0.
895
896 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
897
898         * IXmlSchemaInfo.cs,
899           IXmlType.cs,
900           XmlSchemaDatatypeVariety.cs,
901           XmlSchemaValidity.cs,
902           XmlTypeCode.cs,
903           XmlValueConverter.cs : added.
904
905         * XmlSchemaInfo.cs : removed (.NET 1.2).
906
907         * XmlSchemaBuiltInType.cs,
908           XmlSchemaSet.cs : updated.
909
910 2004-05-19  Atsushi Enomoto <atsushi@ximian.com>
911
912         * CustomSerializer.cs : Added custom serializer for XmlSchema, that is
913           generated by SerializationCodeGenerator and edited a bit.
914         * XmlSchema.cs : Use XmlSchemaSerializationWriter.
915
916 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
917
918         * XmlSchema.cs : Removed FIXME. No PSVI required.
919         * XmlSchemaAll.cs : Removed FIXME. It was not done.
920         * XmlSchemaAttributeGroupRef.cs : Removed FIXME. It can be annotated.
921         * XmlSchemaChoice.cs : not FIXME but LAMESPEC.
922         * XmlSchemaSimpleTypeRestriction.cs : Added check for non 
923           XmlSchemaFacet items on Compile(). Thus removed FIXME.
924         * XmlSchemaUtil.cs : Fixed SplitList to handle sequential spaces.
925           Thus removed FIXME.
926         * XmlSchemaObjectTable. cs: modified to use HybridDictionary (mostly
927           for avoiding iterator order difference).
928
929 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
930
931         * XmlSchemaSimpleTypeRestriction.cs : Removed MonoTODO. done.
932
933 2004-05-12  Atsushi Enomoto <atsushi@ximian.com>
934
935         * BuiltInDatatype.cs : made classes/enums internal.
936
937 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
938
939         * BuiltInDatatype.cs : trivia fix
940
941 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
942
943         * BuiltInDatatype.cs : added BUGGY_MS_COMPLIANT condition and that
944           handles ms-compatible properties.
945         * XmlSchemaComplexType.cs : ditto for ContentTypeParticle of xs:anyType.
946           Make sure ContentType for xs:anyType is Mixed.
947         * XmlSchemaUtil.cs : ditto for <xs:attribute use="prohibited" ..>
948
949 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
950
951         * XmlSchema.cs : Write() handles schema namespace for xmlserializer
952           (it does not look to be handled inside xmlserializer).
953
954 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
955
956         * XmlSchemaComplexType.cs : Set basetype as ur-type for such complex
957           type that has an immediate Particle (W3C specified as restriction
958           of ur-type).
959
960 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
961
962         * XmlSchemaAttribute.cs : When type was inline simple type, it is not
963           validated correctly.
964         * XmlSchemaSimpleType.cs : When Content was restriction, DataType was
965           not indicating base type's Datatype correctly.
966
967 2004-04-06  Atsushi Enomoto <atsushi@ximian.com>
968
969         * XmlSchemaDatatype.cs : optimized Normalize() not to create
970           extraneous string objects.
971
972 2004-03-15  Atsushi Enomoto <atsushi@ximian.com>
973
974         * reverted the latest XmlSchemaUnique.cs change (MS.NET looks fine to
975           reject incorrect schemas ;-)
976
977 2004-03-04  Alon Gazit <along@mainsoft.com>
978
979         * XmlSchemaUnique.cs : Changed Read implementation.
980         Currently can read "field" element before "selector" element (like MS).  
981
982 2004-02-26  Atsushi Enomoto <atsushi@ximian.com>
983
984         * XmlSchemaCollection.cs : Implemented SyncRoot and IsSynchronized
985           (as always synchronized).
986
987 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
988
989         * XmlSchema.cs,
990           XmlSchemaAttribute.cs
991           XmlSchemaAttributeGroup.cs,
992           XmlSchemaComplexContent.cs,
993           XmlSchemaComplexType.cs,
994           XmlSchemaContent.cs,
995           XmlSchemaDatatype.cs,
996           XmlSchemaNotation.cs,
997           XmlSchemaObject.cs,
998           XmlSchemaParticle.cs : extra TODO removal. foreach elimination.
999             Moved attribute group recursion check field from XmlSchemaObject 
1000             to XmlSchemaAttributeGroup.
1001             Fixed XmlSchemaParticle.EmptyParticle class access modifier.
1002         * XmlSchemaSimpleType.cs,
1003           XmlSchemaSimpleTypeContent.cs,
1004           XmlSchemaSimpleTypeList.cs,
1005           XmlSchemaSimpleTypeRestriction.cs,
1006           XmlSchemaSimpleTypeUnion.cs : Removed "actualBaseSchemaType" field
1007             and the owner simpleType should hold the corresponding type info.
1008             Collect base type info in prior to validation.
1009
1010 2004-02-05  Atsushi Enomoto <atsushi@ximian.com>
1011
1012         * BUGS-MS.txt : fixed incorrect thought on case 008. Added case 014.
1013         * BUGS.txt : FYI.
1014
1015 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
1016
1017         * BuiltInDatatype.cs : Fixed some Parse() for token based datatypes.
1018         * XmlSchemaAny.cs : set properties for cloned particle. This will fix
1019           bugzilla #53668.
1020         * XmlSchemaParticle.cs : copy occurence string after computation of
1021           validated min/max occurence. This will fix bug #53667.
1022
1023 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
1024
1025         * XmlSchema.cs : Raise warning event when external schema could not 
1026           be resolved.
1027         * XmlSchemaAll.cs : Fixed incorrect IsEmptiable computation.
1028         * XmlSchemaAny.cs : Fixed incorrect occurence computation.
1029         * XmlSchemaChoice.cs : compiledItems were incorrectly appended.
1030         * XmlSchemaComplexType.cs : Now validatableParticle became extraneous.
1031         * XmlSchemaGroupBase.cs : Here we should not get optimized particle
1032           because it might cause infinite loop.
1033         * XmlSchemaGroupRef.cs : Fixed Validate() to avoid null reference 
1034           exception (only occur with ValidationEventHandler).  Fixed Occurence
1035           embedding logic that was useless because of particle optimization.
1036
1037 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
1038
1039         * BuiltInDatatype.cs : On parsing QName, we don't have to spend costs
1040           on Add()ing parsed name to name table.
1041         * XmlSchemaUtil.cs : Added IsBuiltInDatatypeName().
1042         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, 
1043           XmlSchemaElement.cs, XmlSchemaSimpleContentExtension.cs,
1044           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeList.cs :
1045           Use the method above instead of Namespace string comparison.
1046           (it will be required to validate schema for schemas.)
1047         * XmlSchemaComplexType.cs : Type Derivation OK (3.4.6) should also
1048           treat null base type as anyType.  Derivation Valid Restriction 
1049           (3.4.6) should allow base type wildcard absense in case of anyType.
1050
1051 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
1052
1053         * XmlSchema.cs : When we have schema A which includes schema B which
1054           includes schema C (i.e. A->B->C), C components should be compiled.
1055           Here, same URL inclusions are ignored.
1056         * XmlSchemaElement.cs : Hack for missing substitution-group fix.
1057         * XmlSchemaSimpleTypeContent.cs : make actualBaseSchemaType private
1058           and initialize. This fixes bug #53178.
1059         * XmlSchemaSimpleTypeUnion.cs : Forgot to commit ;)
1060
1061 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
1062
1063         * XmlSchemaSimpleTypeRestriction.cs : regexp improvements. Modify
1064           pattern string as "^str$" and convert WXS specific char classes into
1065           .NET regexp patterns.
1066
1067 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
1068
1069         * XmlSchema.cs :
1070           - Removed extra property Language.  Fill substitution-group info
1071             before ContentTypeParticle is computed.
1072         * XmlSchemaComplexType.cs : ContentType and ContentTypeParticle are 
1073           now computer before Validate() (to exclude 3.4.2 from 3.4.6
1074           component constraint check).
1075         * XmlSchemaObject.cs, XmlSchemaParticle.cs :
1076           Added CopyInfo() for cloning objects.
1077         * XmlSchemaObjectTable.cs :
1078           Add() doesn't have to reject same named items.
1079         * XmlSchemaParticle.cs :
1080           - Renamed internal class XmlSchemaParticleEmpty to EmptyParticle 
1081             (for ease of post compilation infoset comparison).
1082           - GetMinEffectiveTotalRange() should return max occurs for element and
1083             any.
1084         * XmlSchemaParticle.cs,
1085           XmlSchemaAll.cs,
1086           XmlSchemaAny.cs,
1087           XmlSchemaChoice.cs,
1088           XmlSchemaElement.cs,
1089           XmlSchemaGroupBase.cs,
1090           XmlSchemaGroupRef.cs,
1091           XmlSchemaSequence.cs :
1092           - Removed ActualParticle property.
1093           - Added GetOptimizedParticle() to get ContentTypeParticle.
1094           - ContentTypeParticle is now created as different object from 
1095             user-specified "Particle" property.
1096           - Return Empty particle when model groups contains no Items.
1097           - When Items contains exactly 1 item, return the item (unless it is
1098             top level choice model group - it causes DBR problem).
1099           - ValidateDerivationValidRestriction() and related WXS 3.9.6 DBR
1100             check methods such as ValidateNSRecurseCheckCardinality() now
1101             returns a bool value and avoids exceptions on each failure time.
1102           - ValidateRecurse() now doesn't progress base particle incorrectly.
1103             (it caused incorrect order-preserving-mapping error.)
1104           - 3.9.6 Recurse, RecurseLax, MapAndSum are now treated as different.
1105         * XmlSchemaAll.cs : occurence validation shoud be done against values
1106           after computation (ValidatedMaxOccurs).
1107         * XmlSchemaChoice.cs : When Items is empty, then invoke warning event.
1108         * XmlSchemaElement.cs :
1109           - Consider referencedElement also for SubstitutionGroupElement.  
1110           - Removed SubstitutingChoice which is not in use.
1111           - when it was targeted as substitution group by other elements, its 
1112             ContentTypeParticle should be substitution choice (see 3.9.6 
1113             Particle Valid (Restriction) term 2.1).
1114           - Added FillsubstitutionElementInfo() (see XmlSchema.cs above).
1115         * XmlSchemaGroup.cs : Removed extra check on model group (because it
1116           is impossible to specify non-model-group particle).
1117         * XmlSchemaIdentityConstraint.cs,
1118           XmlSchemaKey.cs,
1119           XmlSchemaKeyRef.cs,
1120           XmlSchemaUnique.cs : Removed extraneous MonoTODO.
1121         * XmlSchemaSimpleContent.cs : Made actualSchemaType as internal.
1122         * XmlSchemaSimpleType.cs : Removed extraneous new Datatype property.
1123         * XmlSchemaSimpleTypeRestriction.cs : Renamed actualBaseSchemaType to
1124           ActualBaseSchemaType.
1125         * XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
1126           Removed unused actualBaseSchemaType code.
1127         * XmlSchemaType.cs : use recently introduced BaseXmlSchemaType.
1128         * XmlSchemaUtil.cs : Removed unused CheckLanguage().
1129
1130 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
1131
1132         * XmlSchemaXPath.cs : wildcard with prefix (e.g. @foo:*) was
1133           incorrectly treated.
1134
1135 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
1136
1137         * SchemaDataValueType.cs : UriValueType.ToString() should return 
1138           actual URI string (as MS's XmlSchemaUri class does).
1139         * XmlSchemaReader.cs : Make it internal.
1140
1141 2004-01-16  David Sheldon <dave-mono@earth.li>
1142
1143        * BuiltInDatatype.cs: added guard to stop index out of range error for
1144          invalid Base64 characters.
1145
1146 2004-01-15  Jackson Harper <jackson@ximian.com>
1147
1148         * XmlSchemaContent.cs: Make actualBaseSchemaType protected (fixes
1149         build).
1150         
1151 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
1152
1153         * XmlSchemaComplexContentExtension.cs,
1154           XmlSchemaSimpleContentExtension.cs,
1155           XmlSchemaSimpleContentExtension.cs,
1156           XmlSchemaSimpleContentRestriction.cs,
1157           XmlSchemaContent.cs : Added IsExtension. GetXXX() became nonvirtual.
1158         * XmlSchemaType.cs : 
1159           - Added NET_2_0 BaseXmlSchemaType (other members are commented out).
1160           - Now BaseSchemaType redirects to new property BaseXmlSchemaType.
1161         * XmlSchemaComplexType.cs :
1162           - Now it fully uses BaseXmlSchemaType above.
1163           - Since ValidateXXX() became too huge, I divided them into 
1164             CollectXXX() [spec 3.4.1] and ValidateXXX() [spec 3.4.3 / 3.4.6].
1165             Schema Components are contributed before constraint check.
1166           - Now ContentTypeParticle is distinguished from validating particle
1167             which is newly introduced as "ValidatableParticle" (only used in 
1168             XsdValidatingReader).
1169         * XmlSchemaSimpleType.cs : Now it uses BaseXmlSchemaType.
1170           capitalized internal members a bit.
1171
1172 2004-01-14  David Sheldon <dave-mono@earth.li>
1173
1174         * XmlSchemaSimpleTypeRestriction: Convert pattern facets to be ORed, 
1175           as per: http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
1176           Fixes bug 52841
1177
1178 2004-01-14  David Sheldon <dave-mono@earth.li>
1179
1180         * BuiltInDatatype.cs:
1181            XsdAnySimpleType - Added Length that returns the string length. 
1182            XsdBase64Binary - Added Length, and used more direct, less fussy, 
1183                Base64 decoder. 
1184            XsdHexBinary - Added Length method
1185
1186         * XmlSchemaSimpleTypeRestriction: use DataType Length method to
1187           determine length to compare against. Stop testing Lenght facets on 
1188           QName and Notation types (as per errata)
1189
1190 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
1191
1192         * XmlSchemaComplexType.cs : forgot to commit ;)
1193         * XmlSchemaUtil.cs : Fixed IsSchemaDatatypeEquals() to return false
1194           for comparison between ID and IDREF.
1195
1196 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
1197
1198         * Added SchemaDataValueType.cs.
1199         * BuiltInDatatype.cs, XmlSchemaDatatype.cs : Adde ParseValueType() on
1200           all derived datatype classes.
1201         * XmlSchemaComplexType.cs : Fixed ContentType value for simple types.
1202           Errata-considered simple content derivation check and simple content
1203           restriction should check this too.
1204
1205 2004-01-13  Jackson Harper <jackson@ximian.com>
1206
1207         * XmlSchemaComplexType.cs: Comment out line that was breaking the build.
1208         
1209 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
1210
1211         * XmlSchemaSimpleTypeUnion.cs : The same reason as the previous patch.
1212         * XmlSchemaComplexType.cs : Now it handles ContentTypeParticle and 
1213           ContentType much more presise than before.
1214         * XmlSchemaElement.cs :
1215           Simplified property handling for reference element.
1216
1217 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
1218
1219         * XmlSchema.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs :
1220           Invalid attribute should raise an error, not a warning.
1221
1222 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
1223
1224         * XmlSchemaObject.cs : Fixed error() not to set severity as Warning.
1225         * ValidationHandler.cs,
1226           XmlSchemaSet.cs,
1227           XmlSchemaCollection.cs : Throw exception only in case of errors.
1228         * XmlSchemaCollection.cs : Remove schema from schemaset if exist.
1229           (It might not be good to use schemaset, but keep for a while)
1230         * XmlSchemaContent.cs,
1231           XmlSchemaComplexContentExtension.cs,
1232           XmlSchemaComplexContentRestriction.cs,
1233           XmlSchemaSimpleContentExtension.cs,
1234           XmlSchemaSimpleContentRestriction.cs,
1235           : added GetBaseTypeName() and GetParticle() (not used yet).
1236
1237 2004-01-11  Atsushi Enomoto  <atsushi@ximian.com>
1238
1239         * BuiltInDatatype.cs : internal type should not appear in protected
1240           members' signature.
1241
1242 2004-01-11  David Sheldon <dave-mono@earth.li>
1243
1244   * BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
1245    to the data-types. Changed AllowedFacets to be a bitfield.
1246   
1247   * XmlSchemaFacet.cs : Added Facet enumeration to represent bitfield.
1248
1249   * XmlSchemaEnumerationFacet.cs,
1250     XmlSchemaFractionDigitsFacet.cs,
1251     XmlSchemaLengthFacet.cs,
1252     XmlSchemaMaxExclusiveFacet.cs,
1253     XmlSchemaMaxInclusiveFacet.cs,
1254     XmlSchemaMaxLengthFacet.cs,
1255     XmlSchemaMinExclusiveFacet.cs,
1256     XmlSchemaMinInclusiveFacet.cs,
1257     XmlSchemaMinLengthFacet.cs,
1258     XmlSchemaNumericFacet.cs,
1259     XmlSchemaPatternFacet.cs,
1260     XmlSchemaTotalDigitsFacet.cs,
1261     XmlSchemaWhiteSpaceFacet.cs : Added ThisFacet Property to return facet type
1262
1263
1264   * XmlSchemaSimpleTypeRestriction.cs: Inherited facets from base types,
1265     checked which which were allowed on different types. Validated fixed
1266     facets, duplicated facets and derivation by restriction. Added checking 
1267     for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in 
1268     validation.
1269
1270 2004-01-09  Atsushi Enomoto  <atsushi@ximian.com>
1271
1272         * XmlSchemaSet.cs : implemented some members.
1273         * XmlSchemaCollection.cs : modified to use internal schema set (This
1274           class provides more precise schema validation feature and will be
1275           commonly used for XPathNavigator2).
1276           Added .NET 1.1 .ctor() which takes XmlResolver.
1277         * XmlSchema.cs : fix related to above changes.
1278           Use validation event handler on Read() at all required places.
1279           Added .NET 1.1 .ctor() which takes XmlResolver.
1280         * XmlSchemaComplexType.cs : content type comparison was incorrect.
1281           Renamed confusing method.
1282         * XmlSchemaElement.cs : don't use ContentTypeParticle in 
1283           CheckRecursion(), where that property might not be determined yet.
1284         * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
1285           no effect)
1286         * XmlSchemaGroupBase.cs,
1287           XmlSchemaChoice.cs,
1288           XmlSchemaAll.cs,
1289           XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
1290         * XmlSchemaObjectTable.cs : Fixed missing error info.
1291         * BUGS-MS.txt : Added info a bit.
1292
1293 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
1294
1295         * BUGS-MS.txt : added list derivation and facet case.
1296         * XmlSchemaComplexType.cs :
1297           Added some description.  Avoided null reference exception in 
1298           some places.  
1299           Fixed incorrect 3.4.6 Derivation Valid (Extension) 1.4.1.2.2 and
1300           3.9.6 Particle Valid (Extension) 2.
1301         * XmlSchemaGroupBase.cs : Fixed ParticleEquals() which didn't work
1302           properly against sequence and all.
1303
1304 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
1305
1306         * XmlSchemaObjectTable.cs : Modified enumerator's Current to return
1307           DictionaryEntry.
1308         * XmlSchemaComplexType.cs, XmlSchemaUtil.cs :
1309           In reflection to object table enumerator change.
1310
1311 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
1312
1313         * XmlSchemaElement.cs : Fixed incorrect unique particle attribution
1314           check on ##other and target namespace element.
1315
1316 2004-01-08  Nick Drochak <ndrochak@ieee.org>
1317
1318         * XmlSchemaSimpleType.cs: Needed a 'new' on the property
1319         * XmlSchemaXPath.cs: Removed unreachable code.
1320         
1321 2004-01-03  Atsushi Enomoto  <atsushi@ximian.com>
1322
1323         * XmlSchemaDatatype.cs : trivial allocation fix.
1324
1325 2003-12-17  David Sheldon  <dave-mono@earth.li>
1326
1327   * BuiltInDatatype.cs : Added whitespace=collapse to data types 
1328     such as date, dateTime, .... gDay. I think I have them all now.
1329
1330 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1331
1332         * BuiltInDatatype.cs : anySimpleType should allow facets.
1333
1334 2003-12-14  David Sheldon <dave-mono@earth.li>
1335   
1336   * BuiltInDatatype.cs : Added code to tell which facets were valid on
1337     types derived from each basetype.
1338
1339   * XmlSchemaSimpleTypeRestriction.cs : Complain if an invalid facet
1340     has been added to a restriction.
1341
1342
1343 2003-12-14  David Sheldon <dave-mono@earth.li>
1344
1345   * XmlSchemaSimpleTypeRestriction.cs : Check that min/max/lengths 
1346     specified are integers. Also made some error messages more useful.
1347
1348 2003-12-08  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1349
1350         * XmlSchemaSimpleTypeRestriction.cs : patch by David Sheldon. Check
1351           if max/min length range is valid.
1352
1353 2003-12-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1354
1355         * BuiltInDatatype.cs : XsdDecimal and XsdInteger defaults whitespace
1356           facet as collapse (patch by David Sheldon).
1357         * XmlSchemaAnnotations.cs, XmlSchemaAny.cs : No more MonoTODOs ;-)
1358         * XmlSchemaSequence.cs : MapAndSum implementation.
1359
1360 2003-11-17  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1361
1362         * XmlSchemaSet.cs, XmlSchemaBuiltInType.cs : Added .NET 1.2 classes
1363           (for convenience of ObjectSpaces stubbing).
1364
1365 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1366
1367         * BuiltInDatatype.cs : XsdByte was incorrectly typed as byte, while
1368           the correct binding is sbyte.
1369         * XmlSchemaAll.cs,
1370           XmlSchemaChoice.cs,
1371           XmlSchemaSequence.cs,
1372           XmlSchemaGroupBase.cs : ActualParticle now considers pointlessness
1373           described in WXS structures 3.9.6.
1374           Added ValidateRecurse() to support 'Recurse' validation.
1375         * XmlSchemaComplexType.cs : Removed incorrect content type conformity
1376           check.
1377         * XmlSchemaElement.cs : Implemented 'RecurseAsIfGroup' validation
1378           described in WXS structures 3.9.6.  Fixed type derivation check to
1379           do only if the base type is not anyType.
1380         * XmlSchemaSimpleTypeRestriction.cs : Should catch Regex() 
1381           construction exception. ValidateList... and ValidateNonList... was
1382           in reverse.
1383         * XmlSchemaUtil.cs : Removed extra MonoTODO. Removed CheckToken().
1384
1385 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1386
1387         * BuiltInDatatype.cs : Fixed incorrect inheritance of date and time.
1388           Fixed most of date-time related types' ParseValue().
1389           Applied Normalize() before parsing values in some ParseValue().
1390
1391 2003-10-23  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1392
1393         * XmlSchemaAll.cs,
1394           XmlSchemaChoice.cs,
1395           XmlSchemaGroupBase.cs,
1396           XmlSchemaSequence.cs : Now CompiledItems went to XmlSchemaGroupBase.
1397         * XmlSchemaAny.cs,
1398           XmlSchemaElement.cs,
1399           XmlSchemaGroupBase.cs,
1400           XmlSchemaGroupRef.cs,
1401           XmlSchemaParticle.cs,
1402           XmlSchemaSequence.cs : Added ParticleEquals() method to compare 
1403           whether the particles are equal in the context of WXS part 1 - 3.9.6.
1404         * XmlSchemaAny.cs : Implemented ValidateDerivationByRestriction().
1405         * XmlSchemaAnyAttribute.cs : Removed extraneous lines and added my
1406           responsibility on this class.
1407           Added ValidateWildcardAllowsNamespaceName().
1408         * XmlSchemaAttribute.cs : Added ValidatedUse which holds post-
1409           compilation value of "Use".
1410         * XmlSchemaAttributeGroup.cs,
1411           XmlSchemaAttributeGroupRef.cs : Removed MonoTODO (same as some other
1412           classes) since there is no more errors on attribute stuff ;-)
1413         * XmlSchemaComplexType.cs : complex content extension must block 
1414           derivation from any built-in primitive types.
1415           Fixed wildcard derivation by restriction.
1416           ValidateDerivationByRestriction() now checks attribute related
1417           validity of DBR (derivation by restriction).
1418           Now uses ParticleEquals() for particle DBR check.
1419         * XmlSchemaSequence.cs : Fixed to use CompiledItems instead of Items.
1420
1421 2003-10-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1422
1423         * XmlSchema.cs,
1424           XmlSchemaUtil.cs : Reduced warning message.
1425         * XmlSchemaAttribute.cs : NotImplementedException should no more exist.
1426           (All things are going to be implemented.)
1427         * BuiltInDatatype.cs : XsdInteger should not allow non-integer decimal.
1428         * XmlSchemaSimpleType.cs : Added internal Datatype property. Implemented
1429           list type derivation validation. Added Normalize().
1430         * XmlSchemaSimpleTypeContent.cs : Added Normalize(). Replaced anyType
1431           with anySimpleType.
1432         * XmlSchemaSimpleTypeRestriction.cs : Implemented some facet validation,
1433           such as pattern, enumeration, and length etc.
1434
1435 2003-10-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1436
1437         * BuiltInDatatype.cs : Implemented XsdHexBinary.Parse().
1438         * XmlSchemaCollection.cs : Implemented CopyTo().
1439         * XmlSchemaDatatype.cs : Added Normalize() with whitespace handling.
1440           Added support for anySimpleType.
1441         * XmlSchemaSimpleType.cs : Type specification named as anyType should
1442           be mapped to anySimpleType.
1443         * BUGS-MS.txt : Added more case note.
1444
1445 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
1446
1447         * XmlSchema.cs: If the schema element is an empty element, skip it after
1448           reading the attributes.
1449
1450 2003-10-09  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1451
1452         * BuiltInDatatype.cs : Added CLSCompliant attributes to some classes.
1453
1454 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
1455
1456         * XmlSchemaUtil.cs: arrayType attribute needs special handling.
1457
1458 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1459
1460         * XmlSchema.cs : Forgot to update with previous files.
1461
1462 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1463
1464         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs,
1465           XmlSchemaGroupRef.cs, XmlSchemaSimpleContentExtension.cs,
1466           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeContent.cs,
1467           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
1468           Fixed missing sub components check. It should fix soap stuff.
1469         * XmlSchemaAny.cs, XmlSchemaAttribute.cs,
1470           XmlSchemaAttributeGroupRef.cs, XmlSchemaContent.cs :
1471           Added my responsibility on them ;-)
1472
1473 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1474
1475         * XmlSchema.cs : Read() should keep current position of XmlReader if
1476           it was already positioned to 'schema' element.
1477
1478 2003-09-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1479
1480         * Forgot to append 8/24/2003 ChangeLog.
1481         * BUGS.txt, BUGS-MS.txt : Appended additional bug info.
1482         * BuiltInDatatype.cs, ValidationHandler.cs, XmlSchema.cs, 
1483           XmlSchemaAll.cs, XmlSchemaAnnotation.cs. XmlSchemaAny.cs,
1484           XmlSchemaAnyAttribute.cs, XmlSchemaAttribute.cs,
1485           XmlSchemaAttributeGroup.cs, XmlSchemaAttributeGroupRef.cs,
1486           XmlSchemaChoice.cs, XmlSchemaCollection.cs,
1487           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
1488           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
1489           XmlSchemaContent.cs, XmlSchemaDatatype.cs, XmlSchemaElement.cs,
1490           XmlSchemaException.cs, XmlSchemaGroup.cs, XmlSchemaGroupBase.cs,
1491           XmlSchemaGroupRef.cs, XmlSchemaIdentityConstraint.cs,
1492           XmlSchemaKey.cs, XmlSchemaKeyref.cs, XmlSchemaNotation.cs,
1493           XmlSchemaObject.cs, XmlSchemaObjectTable.cs, XmlSchemaParticle.cs,
1494           XmlSchemaReader.cs, XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
1495           XmlSchemaSimpleContentExtension.cs,
1496           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
1497           XmlSchemaSimpleTypeContent.cs, XmlSchemaSimpleTypeList.cs,
1498           XmlSchemaSimpleTypeRestriction.cs, XmlSchemaSimpleTypeUnion.cs,
1499           XmlSchemaType.cs, XmlSchemaUnique.cs, XmlSchemaUtil.cs,
1500           XmlSchemaXPath.cs :
1501
1502           - Almost all classes are changed to implement schema component
1503             constraints, and schema validation using XsdValidatingReader.
1504           - better exception messages.
1505           - More datatype support.
1506           and so on.
1507
1508 2003-09-14  Lluis Sanchez Gual <lluis@ximian.com>
1509
1510         * XmlSchema.cs: Do not add schema namespace declaration if it is already
1511           declared.
1512
1513 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
1514
1515         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added double type.
1516
1517 2003-08-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1518
1519         * BuiltInDatatype.cs : XsdDecimal.TokenizedType should be None.
1520         * XmlSchemaCollection.cs : Add(uri) should not reject chameleon schema.
1521           Add() should compile specified schema.
1522
1523 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
1524
1525         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added XsdAnyURI,
1526           XsdDateTime, XsdDate, XsdTime.
1527
1528 2003-08-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1529
1530         * BuiltInDatatypes.cs : Fixed whitespace facet in XsdToken.
1531           Tokenized type of nmtokens and entities is string [].
1532         * XmlSchema.cs : Changed IsCompile implementation a bit.
1533           Compile() should reset compiled contents.
1534         * XmlSchemaDatatype.cs : Fixed collapsing Normalize().
1535         * XmlSchemaObject.cs : added CompilationId initialization.
1536
1537 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
1538
1539         * XmlSchema.cs: Set IsCompiled to true after compiling.
1540           In Compile(): ignore included schemas that do not have a value
1541           in SchemaLocation. It means that FindElement can return null
1542           if the referred schema was ignored. Added check for that case.
1543           Compile schema after reading it.
1544         * XmlSchemaCollection.cs: The targetNamespace of a schema may
1545           be null. Make XmlSchemaCollection work for this case.
1546         * BuiltInDataType.cs, XmlSchemaDataType.cs: added new primitive
1547           types: float, base64Binary, boolean.
1548
1549 2003-08-02  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1550
1551         * XmlSchema.cs :
1552           - Changed missingElementTypeRefs from Hashtable to ArrayList.
1553           - Added internal XmlSchemas for keeping imported schemas.
1554           - Added private Compile() that takes the original rootSchema and
1555             schema location stack for nested inclusion check.
1556           - Added basic xs:import and xs:include support.
1557           - Compile() is now aware of included XmlSchemaObject items.
1558           - Changed Compile() to fill missing elements' types and that of
1559             referencing elements.
1560           - Read() now adds SourceUri property (although only to itself).
1561         * XmlSchemaCollection.cs : Implemented Add().
1562         * XmlSchemaCollectionEnumerator.cs :
1563           Changed .ctor() to use schema collection as its argument.
1564           Fixed Current to return hashtable's Value, instead of Current 
1565           (which returns DictionaryEntry).
1566         * XmlSchemaComplexType.cs :
1567           Added internal static AnyType.
1568           Compile() is now searches for its base type into other schemas.
1569         * XmlSchemaElement.cs : anyType is supported.
1570           It now searches for type information after Compile().
1571           SetReferedElementInfo() is now changed to SetSchemaType().
1572         * XmlSchemaObjectTable.cs :
1573           It had problems similar to schema collection. Now it uses internal
1574           class XmlSchemaObjectTableEnumerator to support GetEnumerator().
1575         * XmlSchemaParticle.cs : added internal class XmlSchemaParticleEmpty
1576           and internal static Empty.
1577
1578 2003-07-26  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1579
1580         * BuiltInDatatype.cs : XsdIDRefs.ParseValue () should be implemented.
1581         * XmlSchemaDatatype.cs : public Whitespace and protected Normalize()
1582           should be internal.
1583
1584 2003-07-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1585
1586         * XmlSchema.cs : Read() now uses XmlSerializer.Deserialize().
1587
1588 2003-07-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1589
1590         * XmlSchema.cs, XmlSchemaElement.cs :
1591           added internal MissingElementTypeRefs and support for refering 
1592           element's elementType.
1593
1594 2003-07-20  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1595
1596         * XmlSchema.cs : added support for collecting missing type references
1597           at compilation-time.
1598         * XmlSchemaType.cs, XmlSchemaComplexType.cs, XmlSchemaSimpleType.cs:
1599           - Renamed qName to QNameInternal.
1600           - Added BaseSchemaType and ContentTypeParticle support.
1601
1602 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1603
1604         * XmlSchema.cs, XmlSchemaAll.cs, XmlSchemaAnnotated.cs,
1605           XmlSchemaAnnotation.cs, XmlSchemaAny.cs, XmlSchemaAnyAttribute.cs,
1606           XmlSchemaAttribute.cs, XmlSchemaAttributeGroup.cs,
1607           XmlSchemaAttributeGroupRef.cs, XmlSchemaChoice.cs,
1608           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
1609           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
1610           XmlSchemaElement.cs, XmlSchemaGroup.cs, XmlSchemaGroupRef.cs,
1611           XmlSchemaIdentityConstraint.cs, XmlSchemaImport.cs,
1612           XmlSchemaInclude.cs, XmlSchemaKey.cs, XmlSchemaKeyref.cs,
1613           XmlSchemaNotation.cs, XmlSchemaObject.cs, XmlSchemaRedefine.cs,
1614           XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
1615           XmlSchemaSimpleContentExtension.cs,
1616           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
1617           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeRestriction.cs,
1618           XmlSchemaSimpleTypeUnion.cs, XmlSchemaUnique.cs,
1619           XmlSchemaXPath.cs, 
1620           As to Compile() and Validate(),
1621           - Added CompilationId and check it while compiling schema components.
1622           - Code refactory. Replaced literal xmlns with XmlSchema.Namespace
1623           - Replaced XmlSchemaInfo with compiling XmlSchema itself (XmlSchema
1624             also has PSVI components inside it, so passing itself seems enough).
1625           - Related to above change, IDCollection was moved to XmlSchema, and
1626             blockDefault/finalDefault/blockResolved/finalResolved resolution
1627             was changed to reference only to schema.BlockDefault/FinalDefault.
1628           - The similar change has done against XmlSchemaForm related stuff.
1629           - Changed compilation order of schema type definitions (it is
1630             workaround). First it compiles types, and then it compiles others.
1631         * XmlSchemaElement.cs : added ElementType PSVI contribution support.
1632
1633 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1634
1635         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs :
1636           Added decimal and its derived datatypes.
1637           Added abstract XsdAnySimpleType.
1638
1639 2003-07-15  Lluis Sanchez Gual <lluis@ximian.com>
1640
1641         * BuiltInDatatype.cs,
1642           XmlSchemaDatatype.cs : added unsignedByte type support.
1643
1644 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
1645
1646         * XmlSchemaDatatype.cs: Fixed compiler warning.
1647
1648 2003-07-12  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1649
1650         * BuiltInDatatype.cs,
1651           XmlSchemaDatatype.cs : added NOTATION type support.
1652
1653 2003-07-06  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1654
1655         * added BuiltInDatatype.cs.
1656         * XmlSchemaDatatype.cs : [GetType()] added support for some 
1657           built-in datatypes.
1658
1659 2003-05-05  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1660
1661         * XmlSchemaAnnotation.cs : It depended on incorrect ReadNode().
1662
1663 2003-02-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1664
1665         * XmlSchemaAnnotation.cs : expect the correct closing tag on <appinfo>
1666                 and <documentation> elements. (patch by Peter Pentchev)
1667         * XmlSchemaObjectEnumerator.cs : cast properly to XmlSchemaObject 
1668                 instead of XmlSchema. (patch by Peter Pentchev)
1669
1670 2002-07-23  Duncan Mak  <duncan@ximian.com>
1671
1672         * XmlSchemaException.cs: Partiall implement the ISerializable
1673         methods. It's not clear now SourceSchemaObject should be deserialized.
1674
1675 2002-07-22  Tim Coleman  <tim@timcoleman.com>
1676         * XmlSchema.cs: Removed isCompiled which is defined as internal
1677                 in XmlSchemaObject.
1678
1679 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1680         
1681         * XmlSchema: Started work on Validate methods
1682
1683 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1684         * XmlSchema: The Read and Write methods are no more [MonoTODO] :)
1685         
1686         * XmlSchemaAppInfo: Xml Markup is now being read.
1687         
1688         * XmlSchemaDocumentation: Xml Markup is now being read.
1689
1690         * All: Unhandled attributes are being handled properly.
1691                
1692         * All: Reordered the properties in all cs files to match with MS
1693                Implementation. This was required since the order is importatnt
1694                for the XmlSerializer.
1695         
1696 2002-06-14  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1697         * General: Fixed a few more Bugs
1698
1699 2002-06-10  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1700         * XmlSchemaReader: A Wrapper class around XmlReader with customized
1701           methods to suit reading a schema.
1702         * General: Implemented Read() method for the schema. There are only
1703           a few minor bugs remaining.
1704
1705 2002-05-25  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1706         * BUGS.txt: New file to keep track of bugs
1707
1708         * ALL: All classes are initialized exactly as in .NET except
1709                1. inclusion of language attribute in schema
1710                2. ComplexContent's Particle is initialized to null whereas .NET 
1711                   to some internal implementation. IMO Null is more appropriate
1712
1713         * ALL: Changed the Compile methods to return the count of errors.
1714
1715         * ALL: Complile methods are almost complete. Pass 1453 of 3061 tests.
1716                This number should shoot up if we write a parser to read the
1717                Schema instead of using reflection (which is slower too)
1718
1719 2002-05-04  Dwivedi, Ajay kumar <adwiv@yahoo.com>
1720         * XmlSchemaUtil.cs: New file added. 
1721         
1722         * Parser.cs: New file Added. Unused at the moment.
1723
1724         * XmlSchemaObjectCollection: Fixed GetEnumerator
1725         
1726         * General: Preprocessing for Attributes and SimpleTypes completed.
1727
1728 2002-04-26  Duncan Mak  <duncan@ximian.com>
1729
1730         * ValidationHandler.cs: New file.
1731
1732         * XmlSchemaInfo.cs: New file.
1733
1734         * *.cs: More updates from Ajay.
1735
1736 2002-03-27  Duncan Mak  <duncan@ximian.com>
1737
1738         * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.