2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.Schema / ChangeLog
1 2004-07-13  Atsushi Enomoto <atsushi@ximian.com>
2
3         * XmlSchemaBuiltInType.cs, XmlSchemaValidity.cs, XmlTypeCode.cs
4           : fixed annoying enum errors.
5         * XmlSchemaCollection.cs : completely delegate to XmlSchemaSet.
6         * XmlSchemaSet.cs : sealed classes. Use ListDictionary (avoid annoying
7           order preservation matter). NameTable null check for .ctor().
8           Fill GlobalAttributes, GlobalElements, GlobalTypes correctly.
9           Add(string, XmlReader) checks namespace conflicts, while
10           Add(XmlSchema) does not. Fixed Schemas() return type.
11
12 2004-07-11  Atsushi Enomoto <atsushi@ximian.com>
13
14         * XmlSchemaDatatypeVariety.cs : Fixed class name typo.
15         * XmlValueConverter.cs : fixed return types.
16
17 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
18
19         * CustomSerializer.cs, XmlSchemaException.cs,
20           XmlSchemaParticle.cs, XmlSchemaSimpleTypeRestriction.cs
21           : Globalization.
22
23 2004-06-10  Atsushi Enomoto <atsushi@ximian.com>
24
25         * XmlSchemaFacet.cs : Fixed internal protected --> internal.
26
27 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
28
29         * XmlSchema.cs : Make sure to close url-based XmlTextReader.
30
31 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
32
33         * BuiltInDatatype.cs,
34           XmlSchemaFacet.cs,
35           XmlSchemaSimpleTypeRestriction.cs,
36           XmlSchemaXPath.cs : modified some enum const to static readonly
37           (.NET 1.0 does not allow it). Use safe overload of LookupNamespace().
38
39 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
40
41         * XmlSchemaDatatypeVariety.cs,
42           XmlSchemaValidity.cs : they are NET_2_0 enums.
43
44 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
45
46         * XmlValueConverter.cs : missed NET_2_0.
47
48 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
49
50         * IXmlSchemaInfo.cs,
51           IXmlType.cs,
52           XmlSchemaDatatypeVariety.cs,
53           XmlSchemaValidity.cs,
54           XmlTypeCode.cs,
55           XmlValueConverter.cs : added.
56
57         * XmlSchemaInfo.cs : removed (.NET 1.2).
58
59         * XmlSchemaBuiltInType.cs,
60           XmlSchemaSet.cs : updated.
61
62 2004-05-19  Atsushi Enomoto <atsushi@ximian.com>
63
64         * CustomSerializer.cs : Added custom serializer for XmlSchema, that is
65           generated by SerializationCodeGenerator and edited a bit.
66         * XmlSchema.cs : Use XmlSchemaSerializationWriter.
67
68 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
69
70         * XmlSchema.cs : Removed FIXME. No PSVI required.
71         * XmlSchemaAll.cs : Removed FIXME. It was not done.
72         * XmlSchemaAttributeGroupRef.cs : Removed FIXME. It can be annotated.
73         * XmlSchemaChoice.cs : not FIXME but LAMESPEC.
74         * XmlSchemaSimpleTypeRestriction.cs : Added check for non 
75           XmlSchemaFacet items on Compile(). Thus removed FIXME.
76         * XmlSchemaUtil.cs : Fixed SplitList to handle sequential spaces.
77           Thus removed FIXME.
78         * XmlSchemaObjectTable. cs: modified to use HybridDictionary (mostly
79           for avoiding iterator order difference).
80
81 2004-05-13  Atsushi Enomoto <atsushi@ximian.com>
82
83         * XmlSchemaSimpleTypeRestriction.cs : Removed MonoTODO. done.
84
85 2004-05-12  Atsushi Enomoto <atsushi@ximian.com>
86
87         * BuiltInDatatype.cs : made classes/enums internal.
88
89 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
90
91         * BuiltInDatatype.cs : trivia fix
92
93 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
94
95         * BuiltInDatatype.cs : added BUGGY_MS_COMPLIANT condition and that
96           handles ms-compatible properties.
97         * XmlSchemaComplexType.cs : ditto for ContentTypeParticle of xs:anyType.
98           Make sure ContentType for xs:anyType is Mixed.
99         * XmlSchemaUtil.cs : ditto for <xs:attribute use="prohibited" ..>
100
101 2004-05-05  Atsushi Enomoto <atsushi@ximian.com>
102
103         * XmlSchema.cs : Write() handles schema namespace for xmlserializer
104           (it does not look to be handled inside xmlserializer).
105
106 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
107
108         * XmlSchemaComplexType.cs : Set basetype as ur-type for such complex
109           type that has an immediate Particle (W3C specified as restriction
110           of ur-type).
111
112 2004-04-27  Atsushi Enomoto <atsushi@ximian.com>
113
114         * XmlSchemaAttribute.cs : When type was inline simple type, it is not
115           validated correctly.
116         * XmlSchemaSimpleType.cs : When Content was restriction, DataType was
117           not indicating base type's Datatype correctly.
118
119 2004-04-06  Atsushi Enomoto <atsushi@ximian.com>
120
121         * XmlSchemaDatatype.cs : optimized Normalize() not to create
122           extraneous string objects.
123
124 2004-03-15  Atsushi Enomoto <atsushi@ximian.com>
125
126         * reverted the latest XmlSchemaUnique.cs change (MS.NET looks fine to
127           reject incorrect schemas ;-)
128
129 2004-03-04  Alon Gazit <along@mainsoft.com>
130
131         * XmlSchemaUnique.cs : Changed Read implementation.
132         Currently can read "field" element before "selector" element (like MS).  
133
134 2004-02-26  Atsushi Enomoto <atsushi@ximian.com>
135
136         * XmlSchemaCollection.cs : Implemented SyncRoot and IsSynchronized
137           (as always synchronized).
138
139 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
140
141         * XmlSchema.cs,
142           XmlSchemaAttribute.cs
143           XmlSchemaAttributeGroup.cs,
144           XmlSchemaComplexContent.cs,
145           XmlSchemaComplexType.cs,
146           XmlSchemaContent.cs,
147           XmlSchemaDatatype.cs,
148           XmlSchemaNotation.cs,
149           XmlSchemaObject.cs,
150           XmlSchemaParticle.cs : extra TODO removal. foreach elimination.
151             Moved attribute group recursion check field from XmlSchemaObject 
152             to XmlSchemaAttributeGroup.
153             Fixed XmlSchemaParticle.EmptyParticle class access modifier.
154         * XmlSchemaSimpleType.cs,
155           XmlSchemaSimpleTypeContent.cs,
156           XmlSchemaSimpleTypeList.cs,
157           XmlSchemaSimpleTypeRestriction.cs,
158           XmlSchemaSimpleTypeUnion.cs : Removed "actualBaseSchemaType" field
159             and the owner simpleType should hold the corresponding type info.
160             Collect base type info in prior to validation.
161
162 2004-02-05  Atsushi Enomoto <atsushi@ximian.com>
163
164         * BUGS-MS.txt : fixed incorrect thought on case 008. Added case 014.
165         * BUGS.txt : FYI.
166
167 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
168
169         * BuiltInDatatype.cs : Fixed some Parse() for token based datatypes.
170         * XmlSchemaAny.cs : set properties for cloned particle. This will fix
171           bugzilla #53668.
172         * XmlSchemaParticle.cs : copy occurence string after computation of
173           validated min/max occurence. This will fix bug #53667.
174
175 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
176
177         * XmlSchema.cs : Raise warning event when external schema could not 
178           be resolved.
179         * XmlSchemaAll.cs : Fixed incorrect IsEmptiable computation.
180         * XmlSchemaAny.cs : Fixed incorrect occurence computation.
181         * XmlSchemaChoice.cs : compiledItems were incorrectly appended.
182         * XmlSchemaComplexType.cs : Now validatableParticle became extraneous.
183         * XmlSchemaGroupBase.cs : Here we should not get optimized particle
184           because it might cause infinite loop.
185         * XmlSchemaGroupRef.cs : Fixed Validate() to avoid null reference 
186           exception (only occur with ValidationEventHandler).  Fixed Occurence
187           embedding logic that was useless because of particle optimization.
188
189 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
190
191         * BuiltInDatatype.cs : On parsing QName, we don't have to spend costs
192           on Add()ing parsed name to name table.
193         * XmlSchemaUtil.cs : Added IsBuiltInDatatypeName().
194         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, 
195           XmlSchemaElement.cs, XmlSchemaSimpleContentExtension.cs,
196           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeList.cs :
197           Use the method above instead of Namespace string comparison.
198           (it will be required to validate schema for schemas.)
199         * XmlSchemaComplexType.cs : Type Derivation OK (3.4.6) should also
200           treat null base type as anyType.  Derivation Valid Restriction 
201           (3.4.6) should allow base type wildcard absense in case of anyType.
202
203 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
204
205         * XmlSchema.cs : When we have schema A which includes schema B which
206           includes schema C (i.e. A->B->C), C components should be compiled.
207           Here, same URL inclusions are ignored.
208         * XmlSchemaElement.cs : Hack for missing substitution-group fix.
209         * XmlSchemaSimpleTypeContent.cs : make actualBaseSchemaType private
210           and initialize. This fixes bug #53178.
211         * XmlSchemaSimpleTypeUnion.cs : Forgot to commit ;)
212
213 2004-01-22  Atsushi Enomoto <atsushi@ximian.com>
214
215         * XmlSchemaSimpleTypeRestriction.cs : regexp improvements. Modify
216           pattern string as "^str$" and convert WXS specific char classes into
217           .NET regexp patterns.
218
219 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
220
221         * XmlSchema.cs :
222           - Removed extra property Language.  Fill substitution-group info
223             before ContentTypeParticle is computed.
224         * XmlSchemaComplexType.cs : ContentType and ContentTypeParticle are 
225           now computer before Validate() (to exclude 3.4.2 from 3.4.6
226           component constraint check).
227         * XmlSchemaObject.cs, XmlSchemaParticle.cs :
228           Added CopyInfo() for cloning objects.
229         * XmlSchemaObjectTable.cs :
230           Add() doesn't have to reject same named items.
231         * XmlSchemaParticle.cs :
232           - Renamed internal class XmlSchemaParticleEmpty to EmptyParticle 
233             (for ease of post compilation infoset comparison).
234           - GetMinEffectiveTotalRange() should return max occurs for element and
235             any.
236         * XmlSchemaParticle.cs,
237           XmlSchemaAll.cs,
238           XmlSchemaAny.cs,
239           XmlSchemaChoice.cs,
240           XmlSchemaElement.cs,
241           XmlSchemaGroupBase.cs,
242           XmlSchemaGroupRef.cs,
243           XmlSchemaSequence.cs :
244           - Removed ActualParticle property.
245           - Added GetOptimizedParticle() to get ContentTypeParticle.
246           - ContentTypeParticle is now created as different object from 
247             user-specified "Particle" property.
248           - Return Empty particle when model groups contains no Items.
249           - When Items contains exactly 1 item, return the item (unless it is
250             top level choice model group - it causes DBR problem).
251           - ValidateDerivationValidRestriction() and related WXS 3.9.6 DBR
252             check methods such as ValidateNSRecurseCheckCardinality() now
253             returns a bool value and avoids exceptions on each failure time.
254           - ValidateRecurse() now doesn't progress base particle incorrectly.
255             (it caused incorrect order-preserving-mapping error.)
256           - 3.9.6 Recurse, RecurseLax, MapAndSum are now treated as different.
257         * XmlSchemaAll.cs : occurence validation shoud be done against values
258           after computation (ValidatedMaxOccurs).
259         * XmlSchemaChoice.cs : When Items is empty, then invoke warning event.
260         * XmlSchemaElement.cs :
261           - Consider referencedElement also for SubstitutionGroupElement.  
262           - Removed SubstitutingChoice which is not in use.
263           - when it was targeted as substitution group by other elements, its 
264             ContentTypeParticle should be substitution choice (see 3.9.6 
265             Particle Valid (Restriction) term 2.1).
266           - Added FillsubstitutionElementInfo() (see XmlSchema.cs above).
267         * XmlSchemaGroup.cs : Removed extra check on model group (because it
268           is impossible to specify non-model-group particle).
269         * XmlSchemaIdentityConstraint.cs,
270           XmlSchemaKey.cs,
271           XmlSchemaKeyRef.cs,
272           XmlSchemaUnique.cs : Removed extraneous MonoTODO.
273         * XmlSchemaSimpleContent.cs : Made actualSchemaType as internal.
274         * XmlSchemaSimpleType.cs : Removed extraneous new Datatype property.
275         * XmlSchemaSimpleTypeRestriction.cs : Renamed actualBaseSchemaType to
276           ActualBaseSchemaType.
277         * XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
278           Removed unused actualBaseSchemaType code.
279         * XmlSchemaType.cs : use recently introduced BaseXmlSchemaType.
280         * XmlSchemaUtil.cs : Removed unused CheckLanguage().
281
282 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
283
284         * XmlSchemaXPath.cs : wildcard with prefix (e.g. @foo:*) was
285           incorrectly treated.
286
287 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
288
289         * SchemaDataValueType.cs : UriValueType.ToString() should return 
290           actual URI string (as MS's XmlSchemaUri class does).
291         * XmlSchemaReader.cs : Make it internal.
292
293 2004-01-16  David Sheldon <dave-mono@earth.li>
294
295        * BuiltInDatatype.cs: added guard to stop index out of range error for
296          invalid Base64 characters.
297
298 2004-01-15  Jackson Harper <jackson@ximian.com>
299
300         * XmlSchemaContent.cs: Make actualBaseSchemaType protected (fixes
301         build).
302         
303 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
304
305         * XmlSchemaComplexContentExtension.cs,
306           XmlSchemaSimpleContentExtension.cs,
307           XmlSchemaSimpleContentExtension.cs,
308           XmlSchemaSimpleContentRestriction.cs,
309           XmlSchemaContent.cs : Added IsExtension. GetXXX() became nonvirtual.
310         * XmlSchemaType.cs : 
311           - Added NET_2_0 BaseXmlSchemaType (other members are commented out).
312           - Now BaseSchemaType redirects to new property BaseXmlSchemaType.
313         * XmlSchemaComplexType.cs :
314           - Now it fully uses BaseXmlSchemaType above.
315           - Since ValidateXXX() became too huge, I divided them into 
316             CollectXXX() [spec 3.4.1] and ValidateXXX() [spec 3.4.3 / 3.4.6].
317             Schema Components are contributed before constraint check.
318           - Now ContentTypeParticle is distinguished from validating particle
319             which is newly introduced as "ValidatableParticle" (only used in 
320             XsdValidatingReader).
321         * XmlSchemaSimpleType.cs : Now it uses BaseXmlSchemaType.
322           capitalized internal members a bit.
323
324 2004-01-14  David Sheldon <dave-mono@earth.li>
325
326         * XmlSchemaSimpleTypeRestriction: Convert pattern facets to be ORed, 
327           as per: http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
328           Fixes bug 52841
329
330 2004-01-14  David Sheldon <dave-mono@earth.li>
331
332         * BuiltInDatatype.cs:
333            XsdAnySimpleType - Added Length that returns the string length. 
334            XsdBase64Binary - Added Length, and used more direct, less fussy, 
335                Base64 decoder. 
336            XsdHexBinary - Added Length method
337
338         * XmlSchemaSimpleTypeRestriction: use DataType Length method to
339           determine length to compare against. Stop testing Lenght facets on 
340           QName and Notation types (as per errata)
341
342 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
343
344         * XmlSchemaComplexType.cs : forgot to commit ;)
345         * XmlSchemaUtil.cs : Fixed IsSchemaDatatypeEquals() to return false
346           for comparison between ID and IDREF.
347
348 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
349
350         * Added SchemaDataValueType.cs.
351         * BuiltInDatatype.cs, XmlSchemaDatatype.cs : Adde ParseValueType() on
352           all derived datatype classes.
353         * XmlSchemaComplexType.cs : Fixed ContentType value for simple types.
354           Errata-considered simple content derivation check and simple content
355           restriction should check this too.
356
357 2004-01-13  Jackson Harper <jackson@ximian.com>
358
359         * XmlSchemaComplexType.cs: Comment out line that was breaking the build.
360         
361 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
362
363         * XmlSchemaSimpleTypeUnion.cs : The same reason as the previous patch.
364         * XmlSchemaComplexType.cs : Now it handles ContentTypeParticle and 
365           ContentType much more presise than before.
366         * XmlSchemaElement.cs :
367           Simplified property handling for reference element.
368
369 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
370
371         * XmlSchema.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs :
372           Invalid attribute should raise an error, not a warning.
373
374 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
375
376         * XmlSchemaObject.cs : Fixed error() not to set severity as Warning.
377         * ValidationHandler.cs,
378           XmlSchemaSet.cs,
379           XmlSchemaCollection.cs : Throw exception only in case of errors.
380         * XmlSchemaCollection.cs : Remove schema from schemaset if exist.
381           (It might not be good to use schemaset, but keep for a while)
382         * XmlSchemaContent.cs,
383           XmlSchemaComplexContentExtension.cs,
384           XmlSchemaComplexContentRestriction.cs,
385           XmlSchemaSimpleContentExtension.cs,
386           XmlSchemaSimpleContentRestriction.cs,
387           : added GetBaseTypeName() and GetParticle() (not used yet).
388
389 2004-01-11  Atsushi Enomoto  <atsushi@ximian.com>
390
391         * BuiltInDatatype.cs : internal type should not appear in protected
392           members' signature.
393
394 2004-01-11  David Sheldon <dave-mono@earth.li>
395
396   * BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
397    to the data-types. Changed AllowedFacets to be a bitfield.
398   
399   * XmlSchemaFacet.cs : Added Facet enumeration to represent bitfield.
400
401   * XmlSchemaEnumerationFacet.cs,
402     XmlSchemaFractionDigitsFacet.cs,
403     XmlSchemaLengthFacet.cs,
404     XmlSchemaMaxExclusiveFacet.cs,
405     XmlSchemaMaxInclusiveFacet.cs,
406     XmlSchemaMaxLengthFacet.cs,
407     XmlSchemaMinExclusiveFacet.cs,
408     XmlSchemaMinInclusiveFacet.cs,
409     XmlSchemaMinLengthFacet.cs,
410     XmlSchemaNumericFacet.cs,
411     XmlSchemaPatternFacet.cs,
412     XmlSchemaTotalDigitsFacet.cs,
413     XmlSchemaWhiteSpaceFacet.cs : Added ThisFacet Property to return facet type
414
415
416   * XmlSchemaSimpleTypeRestriction.cs: Inherited facets from base types,
417     checked which which were allowed on different types. Validated fixed
418     facets, duplicated facets and derivation by restriction. Added checking 
419     for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in 
420     validation.
421
422 2004-01-09  Atsushi Enomoto  <atsushi@ximian.com>
423
424         * XmlSchemaSet.cs : implemented some members.
425         * XmlSchemaCollection.cs : modified to use internal schema set (This
426           class provides more precise schema validation feature and will be
427           commonly used for XPathNavigator2).
428           Added .NET 1.1 .ctor() which takes XmlResolver.
429         * XmlSchema.cs : fix related to above changes.
430           Use validation event handler on Read() at all required places.
431           Added .NET 1.1 .ctor() which takes XmlResolver.
432         * XmlSchemaComplexType.cs : content type comparison was incorrect.
433           Renamed confusing method.
434         * XmlSchemaElement.cs : don't use ContentTypeParticle in 
435           CheckRecursion(), where that property might not be determined yet.
436         * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
437           no effect)
438         * XmlSchemaGroupBase.cs,
439           XmlSchemaChoice.cs,
440           XmlSchemaAll.cs,
441           XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
442         * XmlSchemaObjectTable.cs : Fixed missing error info.
443         * BUGS-MS.txt : Added info a bit.
444
445 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
446
447         * BUGS-MS.txt : added list derivation and facet case.
448         * XmlSchemaComplexType.cs :
449           Added some description.  Avoided null reference exception in 
450           some places.  
451           Fixed incorrect 3.4.6 Derivation Valid (Extension) 1.4.1.2.2 and
452           3.9.6 Particle Valid (Extension) 2.
453         * XmlSchemaGroupBase.cs : Fixed ParticleEquals() which didn't work
454           properly against sequence and all.
455
456 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
457
458         * XmlSchemaObjectTable.cs : Modified enumerator's Current to return
459           DictionaryEntry.
460         * XmlSchemaComplexType.cs, XmlSchemaUtil.cs :
461           In reflection to object table enumerator change.
462
463 2004-01-08  Atsushi Enomoto  <atsushi@ximian.com>
464
465         * XmlSchemaElement.cs : Fixed incorrect unique particle attribution
466           check on ##other and target namespace element.
467
468 2004-01-08  Nick Drochak <ndrochak@ieee.org>
469
470         * XmlSchemaSimpleType.cs: Needed a 'new' on the property
471         * XmlSchemaXPath.cs: Removed unreachable code.
472         
473 2004-01-03  Atsushi Enomoto  <atsushi@ximian.com>
474
475         * XmlSchemaDatatype.cs : trivial allocation fix.
476
477 2003-12-17  David Sheldon  <dave-mono@earth.li>
478
479   * BuiltInDatatype.cs : Added whitespace=collapse to data types 
480     such as date, dateTime, .... gDay. I think I have them all now.
481
482 2003-12-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
483
484         * BuiltInDatatype.cs : anySimpleType should allow facets.
485
486 2003-12-14  David Sheldon <dave-mono@earth.li>
487   
488   * BuiltInDatatype.cs : Added code to tell which facets were valid on
489     types derived from each basetype.
490
491   * XmlSchemaSimpleTypeRestriction.cs : Complain if an invalid facet
492     has been added to a restriction.
493
494
495 2003-12-14  David Sheldon <dave-mono@earth.li>
496
497   * XmlSchemaSimpleTypeRestriction.cs : Check that min/max/lengths 
498     specified are integers. Also made some error messages more useful.
499
500 2003-12-08  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
501
502         * XmlSchemaSimpleTypeRestriction.cs : patch by David Sheldon. Check
503           if max/min length range is valid.
504
505 2003-12-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
506
507         * BuiltInDatatype.cs : XsdDecimal and XsdInteger defaults whitespace
508           facet as collapse (patch by David Sheldon).
509         * XmlSchemaAnnotations.cs, XmlSchemaAny.cs : No more MonoTODOs ;-)
510         * XmlSchemaSequence.cs : MapAndSum implementation.
511
512 2003-11-17  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
513
514         * XmlSchemaSet.cs, XmlSchemaBuiltInType.cs : Added .NET 1.2 classes
515           (for convenience of ObjectSpaces stubbing).
516
517 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
518
519         * BuiltInDatatype.cs : XsdByte was incorrectly typed as byte, while
520           the correct binding is sbyte.
521         * XmlSchemaAll.cs,
522           XmlSchemaChoice.cs,
523           XmlSchemaSequence.cs,
524           XmlSchemaGroupBase.cs : ActualParticle now considers pointlessness
525           described in WXS structures 3.9.6.
526           Added ValidateRecurse() to support 'Recurse' validation.
527         * XmlSchemaComplexType.cs : Removed incorrect content type conformity
528           check.
529         * XmlSchemaElement.cs : Implemented 'RecurseAsIfGroup' validation
530           described in WXS structures 3.9.6.  Fixed type derivation check to
531           do only if the base type is not anyType.
532         * XmlSchemaSimpleTypeRestriction.cs : Should catch Regex() 
533           construction exception. ValidateList... and ValidateNonList... was
534           in reverse.
535         * XmlSchemaUtil.cs : Removed extra MonoTODO. Removed CheckToken().
536
537 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
538
539         * BuiltInDatatype.cs : Fixed incorrect inheritance of date and time.
540           Fixed most of date-time related types' ParseValue().
541           Applied Normalize() before parsing values in some ParseValue().
542
543 2003-10-23  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
544
545         * XmlSchemaAll.cs,
546           XmlSchemaChoice.cs,
547           XmlSchemaGroupBase.cs,
548           XmlSchemaSequence.cs : Now CompiledItems went to XmlSchemaGroupBase.
549         * XmlSchemaAny.cs,
550           XmlSchemaElement.cs,
551           XmlSchemaGroupBase.cs,
552           XmlSchemaGroupRef.cs,
553           XmlSchemaParticle.cs,
554           XmlSchemaSequence.cs : Added ParticleEquals() method to compare 
555           whether the particles are equal in the context of WXS part 1 - 3.9.6.
556         * XmlSchemaAny.cs : Implemented ValidateDerivationByRestriction().
557         * XmlSchemaAnyAttribute.cs : Removed extraneous lines and added my
558           responsibility on this class.
559           Added ValidateWildcardAllowsNamespaceName().
560         * XmlSchemaAttribute.cs : Added ValidatedUse which holds post-
561           compilation value of "Use".
562         * XmlSchemaAttributeGroup.cs,
563           XmlSchemaAttributeGroupRef.cs : Removed MonoTODO (same as some other
564           classes) since there is no more errors on attribute stuff ;-)
565         * XmlSchemaComplexType.cs : complex content extension must block 
566           derivation from any built-in primitive types.
567           Fixed wildcard derivation by restriction.
568           ValidateDerivationByRestriction() now checks attribute related
569           validity of DBR (derivation by restriction).
570           Now uses ParticleEquals() for particle DBR check.
571         * XmlSchemaSequence.cs : Fixed to use CompiledItems instead of Items.
572
573 2003-10-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
574
575         * XmlSchema.cs,
576           XmlSchemaUtil.cs : Reduced warning message.
577         * XmlSchemaAttribute.cs : NotImplementedException should no more exist.
578           (All things are going to be implemented.)
579         * BuiltInDatatype.cs : XsdInteger should not allow non-integer decimal.
580         * XmlSchemaSimpleType.cs : Added internal Datatype property. Implemented
581           list type derivation validation. Added Normalize().
582         * XmlSchemaSimpleTypeContent.cs : Added Normalize(). Replaced anyType
583           with anySimpleType.
584         * XmlSchemaSimpleTypeRestriction.cs : Implemented some facet validation,
585           such as pattern, enumeration, and length etc.
586
587 2003-10-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
588
589         * BuiltInDatatype.cs : Implemented XsdHexBinary.Parse().
590         * XmlSchemaCollection.cs : Implemented CopyTo().
591         * XmlSchemaDatatype.cs : Added Normalize() with whitespace handling.
592           Added support for anySimpleType.
593         * XmlSchemaSimpleType.cs : Type specification named as anyType should
594           be mapped to anySimpleType.
595         * BUGS-MS.txt : Added more case note.
596
597 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
598
599         * XmlSchema.cs: If the schema element is an empty element, skip it after
600           reading the attributes.
601
602 2003-10-09  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
603
604         * BuiltInDatatype.cs : Added CLSCompliant attributes to some classes.
605
606 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
607
608         * XmlSchemaUtil.cs: arrayType attribute needs special handling.
609
610 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
611
612         * XmlSchema.cs : Forgot to update with previous files.
613
614 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
615
616         * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs,
617           XmlSchemaGroupRef.cs, XmlSchemaSimpleContentExtension.cs,
618           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeContent.cs,
619           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
620           Fixed missing sub components check. It should fix soap stuff.
621         * XmlSchemaAny.cs, XmlSchemaAttribute.cs,
622           XmlSchemaAttributeGroupRef.cs, XmlSchemaContent.cs :
623           Added my responsibility on them ;-)
624
625 2003-10-01  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
626
627         * XmlSchema.cs : Read() should keep current position of XmlReader if
628           it was already positioned to 'schema' element.
629
630 2003-09-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
631
632         * Forgot to append 8/24/2003 ChangeLog.
633         * BUGS.txt, BUGS-MS.txt : Appended additional bug info.
634         * BuiltInDatatype.cs, ValidationHandler.cs, XmlSchema.cs, 
635           XmlSchemaAll.cs, XmlSchemaAnnotation.cs. XmlSchemaAny.cs,
636           XmlSchemaAnyAttribute.cs, XmlSchemaAttribute.cs,
637           XmlSchemaAttributeGroup.cs, XmlSchemaAttributeGroupRef.cs,
638           XmlSchemaChoice.cs, XmlSchemaCollection.cs,
639           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
640           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
641           XmlSchemaContent.cs, XmlSchemaDatatype.cs, XmlSchemaElement.cs,
642           XmlSchemaException.cs, XmlSchemaGroup.cs, XmlSchemaGroupBase.cs,
643           XmlSchemaGroupRef.cs, XmlSchemaIdentityConstraint.cs,
644           XmlSchemaKey.cs, XmlSchemaKeyref.cs, XmlSchemaNotation.cs,
645           XmlSchemaObject.cs, XmlSchemaObjectTable.cs, XmlSchemaParticle.cs,
646           XmlSchemaReader.cs, XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
647           XmlSchemaSimpleContentExtension.cs,
648           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
649           XmlSchemaSimpleTypeContent.cs, XmlSchemaSimpleTypeList.cs,
650           XmlSchemaSimpleTypeRestriction.cs, XmlSchemaSimpleTypeUnion.cs,
651           XmlSchemaType.cs, XmlSchemaUnique.cs, XmlSchemaUtil.cs,
652           XmlSchemaXPath.cs :
653
654           - Almost all classes are changed to implement schema component
655             constraints, and schema validation using XsdValidatingReader.
656           - better exception messages.
657           - More datatype support.
658           and so on.
659
660 2003-09-14  Lluis Sanchez Gual <lluis@ximian.com>
661
662         * XmlSchema.cs: Do not add schema namespace declaration if it is already
663           declared.
664
665 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
666
667         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added double type.
668
669 2003-08-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
670
671         * BuiltInDatatype.cs : XsdDecimal.TokenizedType should be None.
672         * XmlSchemaCollection.cs : Add(uri) should not reject chameleon schema.
673           Add() should compile specified schema.
674
675 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
676
677         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added XsdAnyURI,
678           XsdDateTime, XsdDate, XsdTime.
679
680 2003-08-07  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
681
682         * BuiltInDatatypes.cs : Fixed whitespace facet in XsdToken.
683           Tokenized type of nmtokens and entities is string [].
684         * XmlSchema.cs : Changed IsCompile implementation a bit.
685           Compile() should reset compiled contents.
686         * XmlSchemaDatatype.cs : Fixed collapsing Normalize().
687         * XmlSchemaObject.cs : added CompilationId initialization.
688
689 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
690
691         * XmlSchema.cs: Set IsCompiled to true after compiling.
692           In Compile(): ignore included schemas that do not have a value
693           in SchemaLocation. It means that FindElement can return null
694           if the referred schema was ignored. Added check for that case.
695           Compile schema after reading it.
696         * XmlSchemaCollection.cs: The targetNamespace of a schema may
697           be null. Make XmlSchemaCollection work for this case.
698         * BuiltInDataType.cs, XmlSchemaDataType.cs: added new primitive
699           types: float, base64Binary, boolean.
700
701 2003-08-02  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
702
703         * XmlSchema.cs :
704           - Changed missingElementTypeRefs from Hashtable to ArrayList.
705           - Added internal XmlSchemas for keeping imported schemas.
706           - Added private Compile() that takes the original rootSchema and
707             schema location stack for nested inclusion check.
708           - Added basic xs:import and xs:include support.
709           - Compile() is now aware of included XmlSchemaObject items.
710           - Changed Compile() to fill missing elements' types and that of
711             referencing elements.
712           - Read() now adds SourceUri property (although only to itself).
713         * XmlSchemaCollection.cs : Implemented Add().
714         * XmlSchemaCollectionEnumerator.cs :
715           Changed .ctor() to use schema collection as its argument.
716           Fixed Current to return hashtable's Value, instead of Current 
717           (which returns DictionaryEntry).
718         * XmlSchemaComplexType.cs :
719           Added internal static AnyType.
720           Compile() is now searches for its base type into other schemas.
721         * XmlSchemaElement.cs : anyType is supported.
722           It now searches for type information after Compile().
723           SetReferedElementInfo() is now changed to SetSchemaType().
724         * XmlSchemaObjectTable.cs :
725           It had problems similar to schema collection. Now it uses internal
726           class XmlSchemaObjectTableEnumerator to support GetEnumerator().
727         * XmlSchemaParticle.cs : added internal class XmlSchemaParticleEmpty
728           and internal static Empty.
729
730 2003-07-26  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
731
732         * BuiltInDatatype.cs : XsdIDRefs.ParseValue () should be implemented.
733         * XmlSchemaDatatype.cs : public Whitespace and protected Normalize()
734           should be internal.
735
736 2003-07-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
737
738         * XmlSchema.cs : Read() now uses XmlSerializer.Deserialize().
739
740 2003-07-21  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
741
742         * XmlSchema.cs, XmlSchemaElement.cs :
743           added internal MissingElementTypeRefs and support for refering 
744           element's elementType.
745
746 2003-07-20  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
747
748         * XmlSchema.cs : added support for collecting missing type references
749           at compilation-time.
750         * XmlSchemaType.cs, XmlSchemaComplexType.cs, XmlSchemaSimpleType.cs:
751           - Renamed qName to QNameInternal.
752           - Added BaseSchemaType and ContentTypeParticle support.
753
754 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
755
756         * XmlSchema.cs, XmlSchemaAll.cs, XmlSchemaAnnotated.cs,
757           XmlSchemaAnnotation.cs, XmlSchemaAny.cs, XmlSchemaAnyAttribute.cs,
758           XmlSchemaAttribute.cs, XmlSchemaAttributeGroup.cs,
759           XmlSchemaAttributeGroupRef.cs, XmlSchemaChoice.cs,
760           XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
761           XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
762           XmlSchemaElement.cs, XmlSchemaGroup.cs, XmlSchemaGroupRef.cs,
763           XmlSchemaIdentityConstraint.cs, XmlSchemaImport.cs,
764           XmlSchemaInclude.cs, XmlSchemaKey.cs, XmlSchemaKeyref.cs,
765           XmlSchemaNotation.cs, XmlSchemaObject.cs, XmlSchemaRedefine.cs,
766           XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
767           XmlSchemaSimpleContentExtension.cs,
768           XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
769           XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeRestriction.cs,
770           XmlSchemaSimpleTypeUnion.cs, XmlSchemaUnique.cs,
771           XmlSchemaXPath.cs, 
772           As to Compile() and Validate(),
773           - Added CompilationId and check it while compiling schema components.
774           - Code refactory. Replaced literal xmlns with XmlSchema.Namespace
775           - Replaced XmlSchemaInfo with compiling XmlSchema itself (XmlSchema
776             also has PSVI components inside it, so passing itself seems enough).
777           - Related to above change, IDCollection was moved to XmlSchema, and
778             blockDefault/finalDefault/blockResolved/finalResolved resolution
779             was changed to reference only to schema.BlockDefault/FinalDefault.
780           - The similar change has done against XmlSchemaForm related stuff.
781           - Changed compilation order of schema type definitions (it is
782             workaround). First it compiles types, and then it compiles others.
783         * XmlSchemaElement.cs : added ElementType PSVI contribution support.
784
785 2003-07-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
786
787         * BuiltInDatatypes.cs, XmlSchemaDatatype.cs :
788           Added decimal and its derived datatypes.
789           Added abstract XsdAnySimpleType.
790
791 2003-07-15  Lluis Sanchez Gual <lluis@ximian.com>
792
793         * BuiltInDatatype.cs,
794           XmlSchemaDatatype.cs : added unsignedByte type support.
795
796 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
797
798         * XmlSchemaDatatype.cs: Fixed compiler warning.
799
800 2003-07-12  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
801
802         * BuiltInDatatype.cs,
803           XmlSchemaDatatype.cs : added NOTATION type support.
804
805 2003-07-06  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
806
807         * added BuiltInDatatype.cs.
808         * XmlSchemaDatatype.cs : [GetType()] added support for some 
809           built-in datatypes.
810
811 2003-05-05  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
812
813         * XmlSchemaAnnotation.cs : It depended on incorrect ReadNode().
814
815 2003-02-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
816
817         * XmlSchemaAnnotation.cs : expect the correct closing tag on <appinfo>
818                 and <documentation> elements. (patch by Peter Pentchev)
819         * XmlSchemaObjectEnumerator.cs : cast properly to XmlSchemaObject 
820                 instead of XmlSchema. (patch by Peter Pentchev)
821
822 2002-07-23  Duncan Mak  <duncan@ximian.com>
823
824         * XmlSchemaException.cs: Partiall implement the ISerializable
825         methods. It's not clear now SourceSchemaObject should be deserialized.
826
827 2002-07-22  Tim Coleman  <tim@timcoleman.com>
828         * XmlSchema.cs: Removed isCompiled which is defined as internal
829                 in XmlSchemaObject.
830
831 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
832         
833         * XmlSchema: Started work on Validate methods
834
835 2002-06-18  Dwivedi, Ajay kumar <adwiv@yahoo.com>
836         * XmlSchema: The Read and Write methods are no more [MonoTODO] :)
837         
838         * XmlSchemaAppInfo: Xml Markup is now being read.
839         
840         * XmlSchemaDocumentation: Xml Markup is now being read.
841
842         * All: Unhandled attributes are being handled properly.
843                
844         * All: Reordered the properties in all cs files to match with MS
845                Implementation. This was required since the order is importatnt
846                for the XmlSerializer.
847         
848 2002-06-14  Dwivedi, Ajay kumar <adwiv@yahoo.com>
849         * General: Fixed a few more Bugs
850
851 2002-06-10  Dwivedi, Ajay kumar <adwiv@yahoo.com>
852         * XmlSchemaReader: A Wrapper class around XmlReader with customized
853           methods to suit reading a schema.
854         * General: Implemented Read() method for the schema. There are only
855           a few minor bugs remaining.
856
857 2002-05-25  Dwivedi, Ajay kumar <adwiv@yahoo.com>
858         * BUGS.txt: New file to keep track of bugs
859
860         * ALL: All classes are initialized exactly as in .NET except
861                1. inclusion of language attribute in schema
862                2. ComplexContent's Particle is initialized to null whereas .NET 
863                   to some internal implementation. IMO Null is more appropriate
864
865         * ALL: Changed the Compile methods to return the count of errors.
866
867         * ALL: Complile methods are almost complete. Pass 1453 of 3061 tests.
868                This number should shoot up if we write a parser to read the
869                Schema instead of using reflection (which is slower too)
870
871 2002-05-04  Dwivedi, Ajay kumar <adwiv@yahoo.com>
872         * XmlSchemaUtil.cs: New file added. 
873         
874         * Parser.cs: New file Added. Unused at the moment.
875
876         * XmlSchemaObjectCollection: Fixed GetEnumerator
877         
878         * General: Preprocessing for Attributes and SimpleTypes completed.
879
880 2002-04-26  Duncan Mak  <duncan@ximian.com>
881
882         * ValidationHandler.cs: New file.
883
884         * XmlSchemaInfo.cs: New file.
885
886         * *.cs: More updates from Ajay.
887
888 2002-03-27  Duncan Mak  <duncan@ximian.com>
889
890         * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.