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