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