1 2004-01-11 Atsushi Enomoto <atsushi@ximian.com>
3 * BuiltInDatatype.cs : internal type should not appear in protected
6 2004-01-11 David Sheldon <dave-mono@earth.li>
8 * BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
9 to the data-types. Changed AllowedFacets to be a bitfield.
11 * XmlSchemaFacet.cs : Added Facet enumeration to represent bitfield.
13 * XmlSchemaEnumerationFacet.cs,
14 XmlSchemaFractionDigitsFacet.cs,
15 XmlSchemaLengthFacet.cs,
16 XmlSchemaMaxExclusiveFacet.cs,
17 XmlSchemaMaxInclusiveFacet.cs,
18 XmlSchemaMaxLengthFacet.cs,
19 XmlSchemaMinExclusiveFacet.cs,
20 XmlSchemaMinInclusiveFacet.cs,
21 XmlSchemaMinLengthFacet.cs,
22 XmlSchemaNumericFacet.cs,
23 XmlSchemaPatternFacet.cs,
24 XmlSchemaTotalDigitsFacet.cs,
25 XmlSchemaWhiteSpaceFacet.cs : Added ThisFacet Property to return facet type
28 * XmlSchemaSimpleTypeRestriction.cs: Inherited facets from base types,
29 checked which which were allowed on different types. Validated fixed
30 facets, duplicated facets and derivation by restriction. Added checking
31 for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in
34 2004-01-09 Atsushi Enomoto <atsushi@ximian.com>
36 * XmlSchemaSet.cs : implemented some members.
37 * XmlSchemaCollection.cs : modified to use internal schema set (This
38 class provides more precise schema validation feature and will be
39 commonly used for XPathNavigator2).
40 Added .NET 1.1 .ctor() which takes XmlResolver.
41 * XmlSchema.cs : fix related to above changes.
42 Use validation event handler on Read() at all required places.
43 Added .NET 1.1 .ctor() which takes XmlResolver.
44 * XmlSchemaComplexType.cs : content type comparison was incorrect.
45 Renamed confusing method.
46 * XmlSchemaElement.cs : don't use ContentTypeParticle in
47 CheckRecursion(), where that property might not be determined yet.
48 * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
50 * XmlSchemaGroupBase.cs,
53 XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
54 * XmlSchemaObjectTable.cs : Fixed missing error info.
55 * BUGS-MS.txt : Added info a bit.
57 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
59 * BUGS-MS.txt : added list derivation and facet case.
60 * XmlSchemaComplexType.cs :
61 Added some description. Avoided null reference exception in
63 Fixed incorrect 3.4.6 Derivation Valid (Extension) 1.4.1.2.2 and
64 3.9.6 Particle Valid (Extension) 2.
65 * XmlSchemaGroupBase.cs : Fixed ParticleEquals() which didn't work
66 properly against sequence and all.
68 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
70 * XmlSchemaObjectTable.cs : Modified enumerator's Current to return
72 * XmlSchemaComplexType.cs, XmlSchemaUtil.cs :
73 In reflection to object table enumerator change.
75 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
77 * XmlSchemaElement.cs : Fixed incorrect unique particle attribution
78 check on ##other and target namespace element.
80 2004-01-08 Nick Drochak <ndrochak@ieee.org>
82 * XmlSchemaSimpleType.cs: Needed a 'new' on the property
83 * XmlSchemaXPath.cs: Removed unreachable code.
85 2004-01-03 Atsushi Enomoto <atsushi@ximian.com>
87 * XmlSchemaDatatype.cs : trivial allocation fix.
89 2003-12-17 David Sheldon <dave-mono@earth.li>
91 * BuiltInDatatype.cs : Added whitespace=collapse to data types
92 such as date, dateTime, .... gDay. I think I have them all now.
94 2003-12-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
96 * BuiltInDatatype.cs : anySimpleType should allow facets.
98 2003-12-14 David Sheldon <dave-mono@earth.li>
100 * BuiltInDatatype.cs : Added code to tell which facets were valid on
101 types derived from each basetype.
103 * XmlSchemaSimpleTypeRestriction.cs : Complain if an invalid facet
104 has been added to a restriction.
107 2003-12-14 David Sheldon <dave-mono@earth.li>
109 * XmlSchemaSimpleTypeRestriction.cs : Check that min/max/lengths
110 specified are integers. Also made some error messages more useful.
112 2003-12-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
114 * XmlSchemaSimpleTypeRestriction.cs : patch by David Sheldon. Check
115 if max/min length range is valid.
117 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
119 * BuiltInDatatype.cs : XsdDecimal and XsdInteger defaults whitespace
120 facet as collapse (patch by David Sheldon).
121 * XmlSchemaAnnotations.cs, XmlSchemaAny.cs : No more MonoTODOs ;-)
122 * XmlSchemaSequence.cs : MapAndSum implementation.
124 2003-11-17 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
126 * XmlSchemaSet.cs, XmlSchemaBuiltInType.cs : Added .NET 1.2 classes
127 (for convenience of ObjectSpaces stubbing).
129 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
131 * BuiltInDatatype.cs : XsdByte was incorrectly typed as byte, while
132 the correct binding is sbyte.
135 XmlSchemaSequence.cs,
136 XmlSchemaGroupBase.cs : ActualParticle now considers pointlessness
137 described in WXS structures 3.9.6.
138 Added ValidateRecurse() to support 'Recurse' validation.
139 * XmlSchemaComplexType.cs : Removed incorrect content type conformity
141 * XmlSchemaElement.cs : Implemented 'RecurseAsIfGroup' validation
142 described in WXS structures 3.9.6. Fixed type derivation check to
143 do only if the base type is not anyType.
144 * XmlSchemaSimpleTypeRestriction.cs : Should catch Regex()
145 construction exception. ValidateList... and ValidateNonList... was
147 * XmlSchemaUtil.cs : Removed extra MonoTODO. Removed CheckToken().
149 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
151 * BuiltInDatatype.cs : Fixed incorrect inheritance of date and time.
152 Fixed most of date-time related types' ParseValue().
153 Applied Normalize() before parsing values in some ParseValue().
155 2003-10-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
159 XmlSchemaGroupBase.cs,
160 XmlSchemaSequence.cs : Now CompiledItems went to XmlSchemaGroupBase.
163 XmlSchemaGroupBase.cs,
164 XmlSchemaGroupRef.cs,
165 XmlSchemaParticle.cs,
166 XmlSchemaSequence.cs : Added ParticleEquals() method to compare
167 whether the particles are equal in the context of WXS part 1 - 3.9.6.
168 * XmlSchemaAny.cs : Implemented ValidateDerivationByRestriction().
169 * XmlSchemaAnyAttribute.cs : Removed extraneous lines and added my
170 responsibility on this class.
171 Added ValidateWildcardAllowsNamespaceName().
172 * XmlSchemaAttribute.cs : Added ValidatedUse which holds post-
173 compilation value of "Use".
174 * XmlSchemaAttributeGroup.cs,
175 XmlSchemaAttributeGroupRef.cs : Removed MonoTODO (same as some other
176 classes) since there is no more errors on attribute stuff ;-)
177 * XmlSchemaComplexType.cs : complex content extension must block
178 derivation from any built-in primitive types.
179 Fixed wildcard derivation by restriction.
180 ValidateDerivationByRestriction() now checks attribute related
181 validity of DBR (derivation by restriction).
182 Now uses ParticleEquals() for particle DBR check.
183 * XmlSchemaSequence.cs : Fixed to use CompiledItems instead of Items.
185 2003-10-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
188 XmlSchemaUtil.cs : Reduced warning message.
189 * XmlSchemaAttribute.cs : NotImplementedException should no more exist.
190 (All things are going to be implemented.)
191 * BuiltInDatatype.cs : XsdInteger should not allow non-integer decimal.
192 * XmlSchemaSimpleType.cs : Added internal Datatype property. Implemented
193 list type derivation validation. Added Normalize().
194 * XmlSchemaSimpleTypeContent.cs : Added Normalize(). Replaced anyType
196 * XmlSchemaSimpleTypeRestriction.cs : Implemented some facet validation,
197 such as pattern, enumeration, and length etc.
199 2003-10-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
201 * BuiltInDatatype.cs : Implemented XsdHexBinary.Parse().
202 * XmlSchemaCollection.cs : Implemented CopyTo().
203 * XmlSchemaDatatype.cs : Added Normalize() with whitespace handling.
204 Added support for anySimpleType.
205 * XmlSchemaSimpleType.cs : Type specification named as anyType should
206 be mapped to anySimpleType.
207 * BUGS-MS.txt : Added more case note.
209 2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
211 * XmlSchema.cs: If the schema element is an empty element, skip it after
212 reading the attributes.
214 2003-10-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
216 * BuiltInDatatype.cs : Added CLSCompliant attributes to some classes.
218 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
220 * XmlSchemaUtil.cs: arrayType attribute needs special handling.
222 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
224 * XmlSchema.cs : Forgot to update with previous files.
226 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
228 * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs,
229 XmlSchemaGroupRef.cs, XmlSchemaSimpleContentExtension.cs,
230 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeContent.cs,
231 XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
232 Fixed missing sub components check. It should fix soap stuff.
233 * XmlSchemaAny.cs, XmlSchemaAttribute.cs,
234 XmlSchemaAttributeGroupRef.cs, XmlSchemaContent.cs :
235 Added my responsibility on them ;-)
237 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
239 * XmlSchema.cs : Read() should keep current position of XmlReader if
240 it was already positioned to 'schema' element.
242 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
244 * Forgot to append 8/24/2003 ChangeLog.
245 * BUGS.txt, BUGS-MS.txt : Appended additional bug info.
246 * BuiltInDatatype.cs, ValidationHandler.cs, XmlSchema.cs,
247 XmlSchemaAll.cs, XmlSchemaAnnotation.cs. XmlSchemaAny.cs,
248 XmlSchemaAnyAttribute.cs, XmlSchemaAttribute.cs,
249 XmlSchemaAttributeGroup.cs, XmlSchemaAttributeGroupRef.cs,
250 XmlSchemaChoice.cs, XmlSchemaCollection.cs,
251 XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
252 XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
253 XmlSchemaContent.cs, XmlSchemaDatatype.cs, XmlSchemaElement.cs,
254 XmlSchemaException.cs, XmlSchemaGroup.cs, XmlSchemaGroupBase.cs,
255 XmlSchemaGroupRef.cs, XmlSchemaIdentityConstraint.cs,
256 XmlSchemaKey.cs, XmlSchemaKeyref.cs, XmlSchemaNotation.cs,
257 XmlSchemaObject.cs, XmlSchemaObjectTable.cs, XmlSchemaParticle.cs,
258 XmlSchemaReader.cs, XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
259 XmlSchemaSimpleContentExtension.cs,
260 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
261 XmlSchemaSimpleTypeContent.cs, XmlSchemaSimpleTypeList.cs,
262 XmlSchemaSimpleTypeRestriction.cs, XmlSchemaSimpleTypeUnion.cs,
263 XmlSchemaType.cs, XmlSchemaUnique.cs, XmlSchemaUtil.cs,
266 - Almost all classes are changed to implement schema component
267 constraints, and schema validation using XsdValidatingReader.
268 - better exception messages.
269 - More datatype support.
272 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
274 * XmlSchema.cs: Do not add schema namespace declaration if it is already
277 2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
279 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added double type.
281 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
283 * BuiltInDatatype.cs : XsdDecimal.TokenizedType should be None.
284 * XmlSchemaCollection.cs : Add(uri) should not reject chameleon schema.
285 Add() should compile specified schema.
287 2003-08-08 Lluis Sanchez Gual <lluis@ximian.com>
289 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added XsdAnyURI,
290 XsdDateTime, XsdDate, XsdTime.
292 2003-08-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
294 * BuiltInDatatypes.cs : Fixed whitespace facet in XsdToken.
295 Tokenized type of nmtokens and entities is string [].
296 * XmlSchema.cs : Changed IsCompile implementation a bit.
297 Compile() should reset compiled contents.
298 * XmlSchemaDatatype.cs : Fixed collapsing Normalize().
299 * XmlSchemaObject.cs : added CompilationId initialization.
301 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
303 * XmlSchema.cs: Set IsCompiled to true after compiling.
304 In Compile(): ignore included schemas that do not have a value
305 in SchemaLocation. It means that FindElement can return null
306 if the referred schema was ignored. Added check for that case.
307 Compile schema after reading it.
308 * XmlSchemaCollection.cs: The targetNamespace of a schema may
309 be null. Make XmlSchemaCollection work for this case.
310 * BuiltInDataType.cs, XmlSchemaDataType.cs: added new primitive
311 types: float, base64Binary, boolean.
313 2003-08-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
316 - Changed missingElementTypeRefs from Hashtable to ArrayList.
317 - Added internal XmlSchemas for keeping imported schemas.
318 - Added private Compile() that takes the original rootSchema and
319 schema location stack for nested inclusion check.
320 - Added basic xs:import and xs:include support.
321 - Compile() is now aware of included XmlSchemaObject items.
322 - Changed Compile() to fill missing elements' types and that of
323 referencing elements.
324 - Read() now adds SourceUri property (although only to itself).
325 * XmlSchemaCollection.cs : Implemented Add().
326 * XmlSchemaCollectionEnumerator.cs :
327 Changed .ctor() to use schema collection as its argument.
328 Fixed Current to return hashtable's Value, instead of Current
329 (which returns DictionaryEntry).
330 * XmlSchemaComplexType.cs :
331 Added internal static AnyType.
332 Compile() is now searches for its base type into other schemas.
333 * XmlSchemaElement.cs : anyType is supported.
334 It now searches for type information after Compile().
335 SetReferedElementInfo() is now changed to SetSchemaType().
336 * XmlSchemaObjectTable.cs :
337 It had problems similar to schema collection. Now it uses internal
338 class XmlSchemaObjectTableEnumerator to support GetEnumerator().
339 * XmlSchemaParticle.cs : added internal class XmlSchemaParticleEmpty
340 and internal static Empty.
342 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
344 * BuiltInDatatype.cs : XsdIDRefs.ParseValue () should be implemented.
345 * XmlSchemaDatatype.cs : public Whitespace and protected Normalize()
348 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
350 * XmlSchema.cs : Read() now uses XmlSerializer.Deserialize().
352 2003-07-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
354 * XmlSchema.cs, XmlSchemaElement.cs :
355 added internal MissingElementTypeRefs and support for refering
356 element's elementType.
358 2003-07-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
360 * XmlSchema.cs : added support for collecting missing type references
362 * XmlSchemaType.cs, XmlSchemaComplexType.cs, XmlSchemaSimpleType.cs:
363 - Renamed qName to QNameInternal.
364 - Added BaseSchemaType and ContentTypeParticle support.
366 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
368 * XmlSchema.cs, XmlSchemaAll.cs, XmlSchemaAnnotated.cs,
369 XmlSchemaAnnotation.cs, XmlSchemaAny.cs, XmlSchemaAnyAttribute.cs,
370 XmlSchemaAttribute.cs, XmlSchemaAttributeGroup.cs,
371 XmlSchemaAttributeGroupRef.cs, XmlSchemaChoice.cs,
372 XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
373 XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
374 XmlSchemaElement.cs, XmlSchemaGroup.cs, XmlSchemaGroupRef.cs,
375 XmlSchemaIdentityConstraint.cs, XmlSchemaImport.cs,
376 XmlSchemaInclude.cs, XmlSchemaKey.cs, XmlSchemaKeyref.cs,
377 XmlSchemaNotation.cs, XmlSchemaObject.cs, XmlSchemaRedefine.cs,
378 XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
379 XmlSchemaSimpleContentExtension.cs,
380 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
381 XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeRestriction.cs,
382 XmlSchemaSimpleTypeUnion.cs, XmlSchemaUnique.cs,
384 As to Compile() and Validate(),
385 - Added CompilationId and check it while compiling schema components.
386 - Code refactory. Replaced literal xmlns with XmlSchema.Namespace
387 - Replaced XmlSchemaInfo with compiling XmlSchema itself (XmlSchema
388 also has PSVI components inside it, so passing itself seems enough).
389 - Related to above change, IDCollection was moved to XmlSchema, and
390 blockDefault/finalDefault/blockResolved/finalResolved resolution
391 was changed to reference only to schema.BlockDefault/FinalDefault.
392 - The similar change has done against XmlSchemaForm related stuff.
393 - Changed compilation order of schema type definitions (it is
394 workaround). First it compiles types, and then it compiles others.
395 * XmlSchemaElement.cs : added ElementType PSVI contribution support.
397 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
399 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs :
400 Added decimal and its derived datatypes.
401 Added abstract XsdAnySimpleType.
403 2003-07-15 Lluis Sanchez Gual <lluis@ximian.com>
405 * BuiltInDatatype.cs,
406 XmlSchemaDatatype.cs : added unsignedByte type support.
408 2003-07-14 Lluis Sanchez Gual <lluis@ximian.com>
410 * XmlSchemaDatatype.cs: Fixed compiler warning.
412 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
414 * BuiltInDatatype.cs,
415 XmlSchemaDatatype.cs : added NOTATION type support.
417 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
419 * added BuiltInDatatype.cs.
420 * XmlSchemaDatatype.cs : [GetType()] added support for some
423 2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
425 * XmlSchemaAnnotation.cs : It depended on incorrect ReadNode().
427 2003-02-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
429 * XmlSchemaAnnotation.cs : expect the correct closing tag on <appinfo>
430 and <documentation> elements. (patch by Peter Pentchev)
431 * XmlSchemaObjectEnumerator.cs : cast properly to XmlSchemaObject
432 instead of XmlSchema. (patch by Peter Pentchev)
434 2002-07-23 Duncan Mak <duncan@ximian.com>
436 * XmlSchemaException.cs: Partiall implement the ISerializable
437 methods. It's not clear now SourceSchemaObject should be deserialized.
439 2002-07-22 Tim Coleman <tim@timcoleman.com>
440 * XmlSchema.cs: Removed isCompiled which is defined as internal
443 2002-06-18 Dwivedi, Ajay kumar <adwiv@yahoo.com>
445 * XmlSchema: Started work on Validate methods
447 2002-06-18 Dwivedi, Ajay kumar <adwiv@yahoo.com>
448 * XmlSchema: The Read and Write methods are no more [MonoTODO] :)
450 * XmlSchemaAppInfo: Xml Markup is now being read.
452 * XmlSchemaDocumentation: Xml Markup is now being read.
454 * All: Unhandled attributes are being handled properly.
456 * All: Reordered the properties in all cs files to match with MS
457 Implementation. This was required since the order is importatnt
458 for the XmlSerializer.
460 2002-06-14 Dwivedi, Ajay kumar <adwiv@yahoo.com>
461 * General: Fixed a few more Bugs
463 2002-06-10 Dwivedi, Ajay kumar <adwiv@yahoo.com>
464 * XmlSchemaReader: A Wrapper class around XmlReader with customized
465 methods to suit reading a schema.
466 * General: Implemented Read() method for the schema. There are only
467 a few minor bugs remaining.
469 2002-05-25 Dwivedi, Ajay kumar <adwiv@yahoo.com>
470 * BUGS.txt: New file to keep track of bugs
472 * ALL: All classes are initialized exactly as in .NET except
473 1. inclusion of language attribute in schema
474 2. ComplexContent's Particle is initialized to null whereas .NET
475 to some internal implementation. IMO Null is more appropriate
477 * ALL: Changed the Compile methods to return the count of errors.
479 * ALL: Complile methods are almost complete. Pass 1453 of 3061 tests.
480 This number should shoot up if we write a parser to read the
481 Schema instead of using reflection (which is slower too)
483 2002-05-04 Dwivedi, Ajay kumar <adwiv@yahoo.com>
484 * XmlSchemaUtil.cs: New file added.
486 * Parser.cs: New file Added. Unused at the moment.
488 * XmlSchemaObjectCollection: Fixed GetEnumerator
490 * General: Preprocessing for Attributes and SimpleTypes completed.
492 2002-04-26 Duncan Mak <duncan@ximian.com>
494 * ValidationHandler.cs: New file.
496 * XmlSchemaInfo.cs: New file.
498 * *.cs: More updates from Ajay.
500 2002-03-27 Duncan Mak <duncan@ximian.com>
502 * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.