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