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