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