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