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