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