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