1 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
3 * XmlSchema.cs, XmlSchemaSimpleTypeList.cs,
4 XmlSchemaSimpleContentRestriction.cs, XmlSchemaUtil.cs,
5 XmlSchemaSimpleContentExtension.cs, XmlSchemaElement.cs,
6 XmlSchemaComplexType.cs, XmlSchemaSimpleTypeRestriction.cs,
7 XmlSchemaSimpleTypeUnion.cs, XmlSchemaAttribute.cs :
8 Finally fixed bugs around cross-referencing importing schema
9 components (namely, #77489 and #78220) by resolving referenced
10 components via new internal Find[Element|Attribute|AttributeGroup|
11 SchemaType] methods in XmlSchema.
13 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
15 * XmlSchema.cs : set ValidationEventHandler to XmlSchemaSet only
16 when the argument event handler is not null.
17 Validate() is internal to open it to XmlSchemaSet.
18 * XmlSchemaSet.cs : removed extraneous "handler" field and method
19 "OnValidationError". Now ValidationEventHandler just works since
20 we don't have to care about XmlSchemaCollection's event (it just
21 reuses XmlSchemaSet's event now).
22 Split Compile() process to collect components first, and to
25 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
27 * XmlSchema.cs : compiling and validating external components in
28 prior to direct components in a schema does block my refactoring.
29 Removed extraneous call to XmlSchemaSet.Add().
31 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
33 * XmlSchema.cs, XmlSchemaSet.cs : some minor refactoring to make
34 Compile() simple two phase (i.e. CompileSubset() and Validate()).
36 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
38 * XmlSchemaException.cs : oops, .ctor(string) was only for 2.0.
40 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
42 * XmlSchemaCollection.cs :
43 eliminated call to XmlSchema.CompileSubset(). Now XmlSchemaSet is
44 the only starter of the compilation.
45 * XmlSchemaSet.cs : added targetNamespace check.
47 2006-07-26 Atsushi Enomoto <atsushi@ximian.com>
49 Refactoring compilation to make Compile() portable to
50 XmlSchemaSet.Compile() and fix multi-schema bugs (not done yet)
53 Removed "root schema" concept from Compile().
54 Since nested inclusion does not result in an error, the role of
55 schemaLocationStack is identical to handledUris, thus removed it.
56 The handledUris does not have to be a field.
57 Moved NamedIdentities and IDCollections to XmlSchemaSet.
58 Renamed a Compile() which is called from XmlSchemaCollection and
59 XmlSchemaSet as CompileSubset(). Renamed private Compile() as
61 public Compile() now internally creates a new XmlSchemaSet and
63 * XmlSchemaCollection.cs : now it hooks its schemaSet's validation
64 event handler and thus XmlSchemaSet does not need to check this
65 collection's event handler by itself.
66 XmlSchema.Compile() -> XmlSchema.CompileSubset().
68 Removed SchemaCollection which became unneccessary.
69 Added NamedIdentities and IDCollection.
70 XmlSchema.Compile() -> XmlSchema.CompileSubset().
71 * XmlSchemaAttributeGroupRef.cs, XmlSchemaXPath.cs
72 XmlSchemaSimpleTypeList.cs, XmlSchemaComplexContentRestriction.cs,
73 XmlSchemaGroup.cs, XmlSchemaComplexContentExtension.cs,
74 XmlSchemaSequence.cs, XmlSchemaSimpleContentRestriction.cs,
75 XmlSchemaSimpleContentExtension.cs, XmlSchemaAny.cs,
76 XmlSchemaElement.cs, XmlSchemaNotation.cs, XmlSchemaAll.cs,
77 XmlSchemaComplexType.cs, XmlSchemaAnnotation.cs,
78 XmlSchemaAttributeGroup.cs, XmlSchemaSimpleTypeRestriction.cs,
79 XmlSchemaSimpleContent.cs, XmlSchemaGroupRef.cs,
80 XmlSchemaChoice.cs, XmlSchemaSimpleType.cs,
81 XmlSchemaIdentityConstraint.cs, XmlSchemaSimpleTypeUnion.cs,
82 XmlSchemaAnyAttribute.cs, XmlSchemaComplexContent.cs,
83 XmlSchemaAttribute.cs, XmlSchemaObject.cs :
84 removed XmlSchemaObject.IsCompiled(). Check compilation state by
85 comparing compilation ID directly.
87 2006-07-25 Atsushi Enomoto <atsushi@ximian.com>
89 * XmlSchema.cs : mutual schema import was failing because the
90 compiling schema's SourceUri was not enlisted for nest check.
92 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
94 * XmlSchema.cs : seems like there is XmlSchemaExternal.Schema property
95 that is filled after Compile(). Fixed bug #77687.
97 2006-03-01 Atsushi Enomoto <atsushi@ximian.com>
99 * XmlSchemaAppInfo.cs, XmlSchemaDocumentation.cs : seems like MS
100 implementation fills empty node set for empty xs:appinfo and
101 xs:documentation and waste memory. Fixed bug #77685.
103 2006-02-28 Gert Driesen <drieseng@users.sourceforge.net>
105 * XmlSchema.cs: Do not define namespace for zero-length TargetNamespace
106 and report XmlSchemaException when compiling XmlSchema with
107 zero-length TargetNamespace.
109 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
111 * BuiltInDatatype.cs : anyURI could be such relative path that
112 contains ':' in the middle. It also affects on relaxng validation.
114 2006-01-25 Atsushi Enomoto <atsushi@ximian.com>
116 * XmlSchemaValidationException.cs : fixed .ctor() signatures.
118 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
120 * XmlSchemaAttribute.cs, XmlSchemaElement.cs : AttributeSchemaType
121 and ElementSchemaType were not working fine for anySimpleType.
122 * XmlSchemaValidator.cs : When actual schema type was complex,
123 schema types was not filled correctly. Modified some extra comments.
124 * XmlSchemaSet.cs, XmlSchemaType.cs : removed extra MonoTODOs.
126 2006-01-10 Atsushi Enomoto <atsushi@ximian.com>
128 * XmlAtomicValue.cs : it won't be implemented since there is no way
129 to test it inside sys.xml. Thus remarked MonoTODO.
130 * XmlSchemaDatatype.cs : implemented IsDerivedFrom(), which is however
133 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
135 * XmlSchemaSet.cs : Add() rollbacks IsCompiled to false.
136 Global components are not added when Add() is called.
138 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
140 * XmlSchemaSet.cs : reverted previous fix; it broke inclusions.
142 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
144 * XmlSchemaSet.cs : Add() needs (consistent) namespace duplicate check.
146 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
148 * XmlSchemaSimpleTypeRestriction.cs : maxLength and minLength were
149 likely to be ignored in ValidateNonListValueWithFacets().
150 * XmlSchemaValidator.cs : Don't use normalized string value as the
151 input to AssessStringValid().
153 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
156 Turned out that it also has set_CompilationSettings.
157 * XmlSchemaComplexType. : thus CompilationSettings is nullable, we
158 have to check its existence.
160 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
162 * XmlSchema.cs : Compile() are obsoleted in 2.0.
164 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
166 * XmlSchemaDatatype.cs : TypeCode is virtual in 2.0 RTM.
168 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
170 * XmlSchemaValidationException.cs :
171 oops, there is SourceObject other than SourceSchemaObject.
172 * XmlSchemaCompilationSettings.cs : oops, actually XmlSchemaSet is
173 also used in 1.x profile (internally)
174 * XmlSchemaSimpleTypeList.cs : added set_BaseItemType bogus (just to
175 fill API compatibility).
177 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
179 * XmlSchemaCompilationSettings.cs : new file.
180 * XmlSchemaSet.cs : added CompilationSettings property.
181 * XmlSchemaComplexType.cs : support for EnableUpaCheck.
183 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
185 * XmlSchemaValidationException.cs : added SetSourceObject() which
186 is just for API compat (it does nothing on MS.NET).
187 Removed #if NET_2_0 inside #if NET_2_0.
189 2005-12-01 Atsushi Enomoto <atsushi@ximian.com>
191 * XmlSchemaSequence.cs : when a subcomponent is not optional
192 (minOccurs!=0) then it should clean previous components up.
193 Really fixed bug #76865.
195 2005-12-01 Atsushi Enomoto <atsushi@ximian.com>
197 * XmlSchemaElement.cs : Fixed ambiguity detection logic so that
198 chameleon ##other (xs:any) does not block other "absent"
199 (empty targetNamespace) element. Fixed bug #76865.
201 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
203 * XmlSchemaValidator.cs : added missing ValidateWhitespace and
204 ValidateText, though the latter I think is LAMESPEC.
206 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
208 * XmlSchemaValidationFlags.cs : updated to match 2.0 RTM.
209 * XmlSchemaValidator.cs : related fix.
211 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
213 * XmlValueGetter.cs, XmlSchemaValidator.cs, XmlSchemaException.cs,
214 XmlSchemaAttribute.cs : Updated API to match 2.0 RTM. Most of the
215 changes are related to XmlValueGetter change.
217 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
219 * XmlSchemaValidator.cs : sealed.
220 * ValidationEventArgs.cs : not sealed in 2.0.
221 * XmlSchemaCollection.cs : added private ICollection.Count (to erase
222 IsVirtual difference).
224 2005-10-17 Lluis Sanchez Gual <lluis@novell.com>
226 * XmlSchemaSerializer.cs: Arrays of XmlNode don't
227 need to be all XmlElments. Fix by Atsushi for bug #76288.
229 2005-09-30 Atsushi Enomoto <atsushi@ximian.com>
231 * XmlSchemaUtil.cs: (GetParserContext) if reader is not internal
232 IHasXmlParserContext, silently return null. This is for NVDL xsd
235 2005-09-30 Atsushi Enomoto <atsushi@ximian.com>
237 * XmlSchema.cs : XmlReader position after Read() is the end of the
240 2005-09-25 Atsushi Enomoto <atsushi@ximian.com>
242 * XmlSchemaBuiltInType.cs : removed obsolete beta file.
244 2005-09-25 Atsushi Enomoto <atsushi@ximian.com>
246 * XmlSchemaValidationFlags.cs, XmlSchemaValidator.cs :
249 2005-08-31 Sebastien Pouliot <sebastien@ximian.com>
251 * XmlSchemaException.cs: Added a Demand for SerializationFormatter
252 on GetObjectData method.
254 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
256 * XmlSchemaSimpleTypeRestriction.cs : normalize EOL.
257 Remove non-ASCII letters.
259 2005-08-08 Atsushi Enomoto <atsushi@ximian.com>
261 * XmlSchemaComplexType.cs : Fixed ValidateTypeDerivationOK (complex)
262 that missed primitive simple types as base types (BaseXmlSchemaType
263 is not working fine; it is the actual culprit to be fixed).
265 XmlSchemaAttributeGroup.cs,
266 XmlSchemaComplexType.cs :
267 fixed XmlSchemaUtil.ValidateAttributesResolved(). If there is a
268 corresponding attribute definition in the derived extension type,
269 then it should be allowed.
271 2005-08-06 Gert Driesen <drieseng@users.souceforge.net>
273 * XmlSchema.cs: XmlElementAttribute, XmlAttributeAttribute and
274 DefaultValueAttribute corrections to match MS.NET.
276 * XmlSchemaAnnotated.cs:
277 * XmlSchemaAnnotation.cs:
278 * XmlSchemaAppInfo.cs:
279 * XmlSchemaAttribute.cs:
280 * XmlSchemaAttributeGroup.cs:
281 * XmlSchemaChoice.cs:
282 * XmlSchemaComplexContent.cs:
283 * XmlSchemaComplexContentExtension.cs:
284 * XmlSchemaComplexContentRestriction.cs:
285 * XmlSchemaComplexType.cs:
286 * XmlSchemaDocumentation.cs:
287 * XmlSchemaElement.cs:
288 * XmlSchemaExternal.cs:
290 * XmlSchemaIdentityConstraint.cs:
291 * XmlSchemaImport.cs:
292 * XmlSchemaInclude.cs:
293 * XmlSchemaRedefine.cs:
294 * XmlSchemaSequence.cs:
295 * XmlSchemaSimpleContent.cs:
296 * XmlSchemaSimpleContentExtension.cs:
297 * XmlSchemaSimpleContentRestriction.cs:
298 * XmlSchemaSimpleType.cs:
299 * XmlSchemaSimpleTypeList.cs:
300 * XmlSchemaSimpleTypeRestriction.cs:
301 * XmlSchemaSimpleTypeUnion.cs:
304 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
306 * XmlSchemaInference.cs: Is sealed in Beta 2.
307 * XmlSchemaInfo.cs: Added ContentType property.
308 * XmlSchemaObjectEnumerator.cs: No longer sealed in Beta 2.
309 * XmlSchemaSet.cs: No longer sealed in Beta 2. XmlResolver property
312 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
314 * XmlSchemaDatatype.cs, XmlSchemaParticle.cs, XmlSchemaContent.cs,
315 XmlSchemaFacet.cs : eliminated internal abstract members.
317 2005-06-11 Atsushi Enomoto <atsushi@ximian.com>
319 * XmlSchemaCollection.cs, XmlSchemaCollectionEnumerator.cs :
320 GetEnumerator() was not in sync with the internal change to
321 XmlSchemaSet. Fixed bug #75126. Patch by Crestez Leonard.
323 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
325 * XmlSchemaValidationFlags.cs : it is NET_2_0.
327 2005-05-23 Atsushi Enomoto <atsushi@ximian.com>
329 * XmlSchemaInference.cs : For each resulting schema, it has to emit
330 xs:import when it has a reference to external schema components.
332 2005-05-22 Atsushi Enomoto <atsushi@ximian.com>
334 * XmlSchemaInference.cs : When doing lax inference, set minOccurs="0"
335 of those elements in a sequence. Fixed misspellings.
337 2005-05-05 Atsushi Enomoto <atsushi@ximian.com>
339 * XmlAtomicValue.cs : moved from XPathAtomicValue, removed some stuff.
341 2005-05-05 Atsushi Enomoto <atsushi@ximian.com>
343 * XmlSchemaType.cs, XmlSchemaSimpleType.cs : removed ValueConverter.
344 * XmlSchemaDatatype.cs,
345 XmlSchemaComplexType.cs : removed removed member in .net 2.0 beta2.
347 2005-04-12 Lluis Sanchez Gual <lluis@novell.com>
349 * XmlSchemaParticle.cs: Set MaxOccurs to unbounded when set to
352 2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
354 * XmlSchemaChoice.cs : commented out warned code.
355 * XmlSchemaCollection.cs : removed warned code (now it all depends on
358 2005-01-25 Martin Baulig <martin@ximian.com>
360 * XmlSchemaSet.cs (XmlSchemaSet.XmlResolver): Mark this as
361 not CLS-compliant to avoid a CS3025.
363 * XmlSchemaType.cs (XmlSchemaType.ValueConverter): Mark this as
364 not CLS-compliant to avoid a CS3025.
366 2005-01-17 Atsushi Enomoto <atsushi@ximian.com>
368 * XmlSchema.cs : XmlSchema.Write() should not write duplicating
369 top-level entry in XmlSerializerNamespaces and XmlNamespaceManager.
370 This fixes some DataSet bugs.
372 2005-01-17 Atsushi Enomoto <atsushi@ximian.com>
374 * XmlSchemaValidator.cs : in case of open start tag,
375 ValidateEndElement() calls ValidateEndOfAttributes().
377 2005-01-17 Atsushi Enomoto <atsushi@ximian.com>
379 * xmlschemagen.config,
380 XmlSchemaSerializer.cs : replacement of CustomSerializer.cs which was
381 based on genxs but manually modified.
382 * CustomSerializer.cs : removed.
384 2005-01-11 Atsushi Enomoto <atsushi@ximian.com>
386 * XmlSchema.cs : Write() should handle carefully output
387 namespace/prefix mapping.
389 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
391 * XmlSchemaSet.cs : added Remove(), RemoveRecursive(), Reprocess().
392 * XmlValueConverter.cs : implemented almost all the feature.
393 * XmlSchemaSimpleType.cs : fixed some built-in types.
394 * XmlSchemaType.cs : added ValueConverter property.
396 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
398 * XmlSchema.cs : XmlResolver.ResolveUri() may return null.
400 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
402 * XmlSchemaValidator.cs : ValidateElement() was not LAMESPEC. Added
403 some comments on ValidateEndElement().
405 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
407 * XmlSchemaValidator.cs : fill schemaInfo as long as possible right now.
409 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
411 * XmlSchemaInfo.cs : added internal copy constructor.
413 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
415 * XmlSchemaValidator.cs : implemented GetExpectedParticles() and
418 2004-12-15 Atsushi Enomoto <atsushi@ximian.com>
420 * XmlSchemaSet.cs : set default resolver. Clear components before
422 * XmlSchemaValidator.cs :
423 SourceUri is System.Uri.
424 GetUnspecifiedDefaultAttributes() is allowed only when it is inside
427 Added duplicate attribute check.
428 Added ValidateElement() that takes xsi:* parameters.
429 (http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackId=7fc38ea1-c306-4fb7-8631-0e174b0ff3c6)
430 HandleXsiNil() now just takes string parameter.
432 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
434 * XmlSchemaValidator.cs : implemented basic validation feature.
436 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
438 * XmlSchemaUtil.cs : added FindAttributeDeclaration() and
439 AttributeWildcardItemValid().
441 2004-12-11 Atsushi Enomoto <atsushi@ximian.com>
443 * XmlSchemaUtil.cs : added static ReadTypedValie().
444 * XmlSchemaInference.cs : compile at the end of inference.
446 2004-12-08 Atsushi Enomoto <atsushi@ximian.com>
449 XmlSchemaValidationFlags.cs,
450 XmlSchemaValidator.cs : added.
451 * XmlSchemaSet.cs : XmlResolver is now internally gettable.
453 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
455 * XmlSchemaObject.cs : added Parent.
458 XmlSchemaAttribute.cs,
459 XmlSchemaAttributeGroup.cs,
461 XmlSchemaComplexType.cs,
462 XmlSchemaSequence.cs,
465 XmlSchemaIdentityConstraint.cs,
466 XmlSchemaComplexContent.cs,
467 XmlSchemaSimpleContent.cs,
468 XmlSchemaSimpleContentExtension.cs,
469 XmlSchemaSimpleContentRestriction.cs,
470 XmlSchemaComplexContentExtension.cs,
471 XmlSchemaComplexContentRestriction.cs,
472 XmlSchemaSimpleType.cs,
473 XmlSchemaSimpleTypeRestriction.cs,
474 XmlSchemaSimpleTypeList.cs,
475 XmlSchemaSimpleTypeUnion.cs : Fill Parent on Compilation.
477 * XmlSchemaException.cs,
478 XmlSchemaInferenceException.cs,
479 XmlSchemaValidationException.cs : added SecurityPermissionAttribute.
481 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
483 * XmlSchemaComplexType.cs : simplify Compile().
485 2004-11-25 Atsushi Enomoto <atsushi@ximian.com>
487 * XmlSchemaElement.cs,
488 XmlSchemaComplexType.cs,
491 XmlSchemaSimpleType.cs,
492 XmlSchemaObjectTable.cs,
493 XmlSchemaObjectCollection.cs,
494 XmlSchemaCollection.cs,
495 : All changes are just for warning removal.
497 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
499 * XmlSchemaDatatype.cs : added ParseValue() override.
500 * XmlSchemaSimpleTypeList.cs,
501 XmlSchemaSimpleTypeUnion.cs : #if NET_2_0 some private fields,
502 just for eliminating warnings :(
503 * XmlSchemaSet.cs : commented some fields currently not in use.
504 It is for eliminating warnings.
505 * XmlSchemaSimpleTypeRestriction.cs : removed exception field name
506 to eliminate warning.
507 * XmlSchemaException.cs : hasLineInfo is also runtime serialized now.
509 2004-11-22 Atsushi Enomoto <atsushi@ximian.com>
511 * XmlSchemaException.cs : Message is only 1.x (not 2.0).
512 * XmlSchemaInference.cs : use more static readonly QName fields.
513 Type merge inference now traverses every base types.
514 * XmlSchemaInfo.cs : added new file.
516 2004-11-18 Atsushi Enomoto <atsushi@ximian.com>
518 * XmlSchemaException.cs : added .ctor(string).
519 * XmlSchemaInferenceException.cs : use base.ctor(string).
520 * XmlSchemaValidationException.cs : It is 2.0 class. Added some .ctor()
522 2004-11-18 Atsushi Enomoto <atsushi@ximian.com>
524 * XmlSchemaCollection.cs : obsolete.
525 * XmlSchemaInference.cs :
526 Fixed typo in enum. It is still MonoTODO. Reformatted code a bit.
528 2004-11-17 Atsushi Enomoto <atsushi@ximian.com>
530 * XmlSchemaSet.cs : don't set TargetNamespace = "".
532 2004-11-17 Atsushi Enomoto <atsushi@ximian.com>
534 * XmlSchemaInferenceDesign.txt : added (incomplete though.)
536 2004-11-17 Atsushi Enomoto <atsushi@ximian.com>
538 * XmlSchemaValidationException.cs : added.
540 2004-11-17 Atsushi Enomoto <atsushi@ximian.com>
542 * XmlSchemaInference.cs,
543 XmlSchemaInferenceException.cs : added.
545 2004-11-17 Atsushi Enomoto <atsushi@ximian.com>
547 * XmlSchemaException.cs : removed get_Message in 2.0 profile (all done
550 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
552 * XmlSchemaSet.cs : use NameTable when creating XmlTextReader.
554 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
556 * XmlSchemaSet.cs : reduced extraneous XmlSchemaObjectTable creation.
558 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
560 * XmlSchemaSimpleTypeList.cs,
561 XmlSchemaSimpleTypeUnion.cs : XmlIgnore.
563 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
565 * XmlSchemaAttribute.cs : AttributeSchemaType could be determined on
566 compilation time. AttributeType is obsolete.
567 * XmlSchemaElement.cs : ditto for ElementSchemaType and ElementType.
569 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
571 * XmlSchemaComplexType.cs : added LocalElements, with the description
572 why it can never be correct implementation.
573 * XmlSchemaUtil.cs : use IHasXmlParserContext.
575 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
577 * XmlSchemaSimpleTypeUnion.cs : Added 2.0 BaseMemberTypes property
578 (this property name is also ambiguous and should be changed too.)
580 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
582 * XmlSchemaSimpleTypeList.cs : Added 2.0 BaseItemType property (BTW
583 this property name is really ambiguous and should be changed.)
585 2004-10-28 Atsushi Enomoto <atsushi@ximian.com>
587 * XmlSchemaAttributeGroup.cs, XmlSchemaGroup.cs :
588 in 2.0, QualifiedName properties are public.
589 * XmlSchemaType.cs : TypeCode is [XmlIgnore] (anyways ignored though).
591 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
593 * XmlSchemaType.cs : Implemented GetBuiltInComplexType(XmlTypeCode).
595 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
597 * XmlSchemaDatatype.cs : handle xdt:* types in FromName().
599 2004-09-16 Atsushi Enomoto <atsushi@ximian.com>
601 * BuiltInDatatype.cs, SchemaDataValueType.cs :
602 ParseValue() for xs:AnyURI should return System.Uri. MS.NET returns
603 XmlSchemaUri, but it is derived from System.Uri, while ours was not.
605 2004-09-07 Atsushi Enomoto <atsushi@ximian.com>
607 * IXmlType.cs : deprecated in .NET 2.0.
609 2004-09-03 Atsushi Enomoto <atsushi@ximian.com>
611 * XmlSchema.cs : When schema inclusion results in a recursion, just
612 skip recursed schema.
613 * BUGS-MS.txt : added another entry. Reflected response from Microsoft.
615 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
617 * XmlSchemaType.cs : quick build fix.
619 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
621 * XmlSchemaDatatype.cs : Removed FromName(localName) that cannot
623 * XmlSchemaType.cs : added internal GetBuiltInType() methods that
624 mix GetBuiltInSimpleType() and GetBuiltInComplexType().
626 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
628 * XmlSchemaSimpleType.cs : Fill list types such as xs:IDREFS.
630 Fixed TypeCode more (broken on predefined list types and xs:anyType).
632 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
635 anyType was anonymous, thus GetBuiltInComplexType() didn't work.
637 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
639 * XmlSchemaType.cs : return XmlTypeCode.AnyAtomicType for
640 anySimpleType's TypeCode property.
642 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
644 * XmlSchema.cs : Replace XmlSchemaCollection with XmlSchemaSet that
645 used to maintain compiled schema state.
646 Simplified code a bit (Include processing).
647 Set IsCompiled = true only when successfully compiled.
648 * XmlSchemaCollection.cs : Now it totally delegates its processing
649 to XmlSchemaSet. Removed unused methods.
650 * XmlSchemaElement.cs : Added post-compiled information initializer
651 method, and call it before (re)Compile().
653 - Replaced internal store from Dictionary to List, since schema
654 resources for one target namespace can be more than one (that's why
655 - Schemas(string targetNamespace) returns ICollection).
656 - Now global schemaset members are added per schema addition (it is
657 more MS compatible than before).
658 - Use GetSafeNs() to do targetNamespace comparison correctly.
660 XmlSchemaSet looks still unstable, so it will be changed again.
662 * XmlSchemaSimpleTypeRestriction.cs,
663 XmlSchemaSimpleTypeUnion.cs,
664 * XmlSchemaUtil.cs : Consider xdt namespace.
666 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
668 * XmlSchemaCollection.cs : replaced CRLF to LF (they were mixed).
670 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
672 * XmlSchema.cs : code reformatting. convert CRLF to LF.
673 Use String.Format() instead of +. Removed commented code.
675 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
677 * BuiltInDatatype.cs : use XmlQualifiedName.Parse().
679 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
681 * XmlSchema.cs : Added internal XdtNamespace constant. don't fill
682 schemaset compoenents here.
683 * XmlSchemaAttribute.cs : Implemented AttributeSchemaType.
684 * XmlSchemaElement.cs : Implemented ElementSchemaType.
685 * XmlSchemaSimpleType.cs : Added predefined simple types
686 * XmlSchemaType.cs : Implemented GetBuiltInSimpleType().
687 * XmlSchemaDatatype.cs : Allow Xdt namespaces too (not completed;
688 quick fix for GetBuiltInSimpleType()).
690 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
692 * BUGS-MS.txt : updated including answer excerpts from MS team.
693 * BUGS.txt : it turned out that some bugs I wrote as "MS bugs" are
694 actually my bug. Noted them.
695 * BuiltInDatatype.cs :
696 Commented out extraneous [CLSCompliant].
697 Switch ParseValue() argument as IXmlNamespaceResolver for 2.0, and
698 XmlNamespaceManager for 1.x.
699 Added TypeCode overrides.
700 * XmlSchemaDatatype.cs : Added 2.0 members.
701 Switch IXmlNamespaceResolver and XmlNamespaceManager.
702 * XmlSchemaType.cs : Added some NET_2_0 members. removed old 1.2 stuff.
704 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
706 * XmlSchemaBuiltInType.cs, XmlSchemaValidity.cs, XmlTypeCode.cs
707 : fixed annoying enum errors.
708 * XmlSchemaCollection.cs : completely delegate to XmlSchemaSet.
709 * XmlSchemaSet.cs : sealed classes. Use ListDictionary (avoid annoying
710 order preservation matter). NameTable null check for .ctor().
711 Fill GlobalAttributes, GlobalElements, GlobalTypes correctly.
712 Add(string, XmlReader) checks namespace conflicts, while
713 Add(XmlSchema) does not. Fixed Schemas() return type.
715 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
717 * XmlSchemaDatatypeVariety.cs : Fixed class name typo.
718 * XmlValueConverter.cs : fixed return types.
720 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
722 * CustomSerializer.cs, XmlSchemaException.cs,
723 XmlSchemaParticle.cs, XmlSchemaSimpleTypeRestriction.cs
726 2004-06-10 Atsushi Enomoto <atsushi@ximian.com>
728 * XmlSchemaFacet.cs : Fixed internal protected --> internal.
730 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
732 * XmlSchema.cs : Make sure to close url-based XmlTextReader.
734 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
736 * BuiltInDatatype.cs,
738 XmlSchemaSimpleTypeRestriction.cs,
739 XmlSchemaXPath.cs : modified some enum const to static readonly
740 (.NET 1.0 does not allow it). Use safe overload of LookupNamespace().
742 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
744 * XmlSchemaDatatypeVariety.cs,
745 XmlSchemaValidity.cs : they are NET_2_0 enums.
747 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
749 * XmlValueConverter.cs : missed NET_2_0.
751 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
755 XmlSchemaDatatypeVariety.cs,
756 XmlSchemaValidity.cs,
758 XmlValueConverter.cs : added.
760 * XmlSchemaInfo.cs : removed (.NET 1.2).
762 * XmlSchemaBuiltInType.cs,
763 XmlSchemaSet.cs : updated.
765 2004-05-19 Atsushi Enomoto <atsushi@ximian.com>
767 * CustomSerializer.cs : Added custom serializer for XmlSchema, that is
768 generated by SerializationCodeGenerator and edited a bit.
769 * XmlSchema.cs : Use XmlSchemaSerializationWriter.
771 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
773 * XmlSchema.cs : Removed FIXME. No PSVI required.
774 * XmlSchemaAll.cs : Removed FIXME. It was not done.
775 * XmlSchemaAttributeGroupRef.cs : Removed FIXME. It can be annotated.
776 * XmlSchemaChoice.cs : not FIXME but LAMESPEC.
777 * XmlSchemaSimpleTypeRestriction.cs : Added check for non
778 XmlSchemaFacet items on Compile(). Thus removed FIXME.
779 * XmlSchemaUtil.cs : Fixed SplitList to handle sequential spaces.
781 * XmlSchemaObjectTable. cs: modified to use HybridDictionary (mostly
782 for avoiding iterator order difference).
784 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
786 * XmlSchemaSimpleTypeRestriction.cs : Removed MonoTODO. done.
788 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
790 * BuiltInDatatype.cs : made classes/enums internal.
792 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
794 * BuiltInDatatype.cs : trivia fix
796 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
798 * BuiltInDatatype.cs : added BUGGY_MS_COMPLIANT condition and that
799 handles ms-compatible properties.
800 * XmlSchemaComplexType.cs : ditto for ContentTypeParticle of xs:anyType.
801 Make sure ContentType for xs:anyType is Mixed.
802 * XmlSchemaUtil.cs : ditto for <xs:attribute use="prohibited" ..>
804 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
806 * XmlSchema.cs : Write() handles schema namespace for xmlserializer
807 (it does not look to be handled inside xmlserializer).
809 2004-04-27 Atsushi Enomoto <atsushi@ximian.com>
811 * XmlSchemaComplexType.cs : Set basetype as ur-type for such complex
812 type that has an immediate Particle (W3C specified as restriction
815 2004-04-27 Atsushi Enomoto <atsushi@ximian.com>
817 * XmlSchemaAttribute.cs : When type was inline simple type, it is not
819 * XmlSchemaSimpleType.cs : When Content was restriction, DataType was
820 not indicating base type's Datatype correctly.
822 2004-04-06 Atsushi Enomoto <atsushi@ximian.com>
824 * XmlSchemaDatatype.cs : optimized Normalize() not to create
825 extraneous string objects.
827 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
829 * reverted the latest XmlSchemaUnique.cs change (MS.NET looks fine to
830 reject incorrect schemas ;-)
832 2004-03-04 Alon Gazit <along@mainsoft.com>
834 * XmlSchemaUnique.cs : Changed Read implementation.
835 Currently can read "field" element before "selector" element (like MS).
837 2004-02-26 Atsushi Enomoto <atsushi@ximian.com>
839 * XmlSchemaCollection.cs : Implemented SyncRoot and IsSynchronized
840 (as always synchronized).
842 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
845 XmlSchemaAttribute.cs
846 XmlSchemaAttributeGroup.cs,
847 XmlSchemaComplexContent.cs,
848 XmlSchemaComplexType.cs,
850 XmlSchemaDatatype.cs,
851 XmlSchemaNotation.cs,
853 XmlSchemaParticle.cs : extra TODO removal. foreach elimination.
854 Moved attribute group recursion check field from XmlSchemaObject
855 to XmlSchemaAttributeGroup.
856 Fixed XmlSchemaParticle.EmptyParticle class access modifier.
857 * XmlSchemaSimpleType.cs,
858 XmlSchemaSimpleTypeContent.cs,
859 XmlSchemaSimpleTypeList.cs,
860 XmlSchemaSimpleTypeRestriction.cs,
861 XmlSchemaSimpleTypeUnion.cs : Removed "actualBaseSchemaType" field
862 and the owner simpleType should hold the corresponding type info.
863 Collect base type info in prior to validation.
865 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
867 * BUGS-MS.txt : fixed incorrect thought on case 008. Added case 014.
870 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
872 * BuiltInDatatype.cs : Fixed some Parse() for token based datatypes.
873 * XmlSchemaAny.cs : set properties for cloned particle. This will fix
875 * XmlSchemaParticle.cs : copy occurence string after computation of
876 validated min/max occurence. This will fix bug #53667.
878 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
880 * XmlSchema.cs : Raise warning event when external schema could not
882 * XmlSchemaAll.cs : Fixed incorrect IsEmptiable computation.
883 * XmlSchemaAny.cs : Fixed incorrect occurence computation.
884 * XmlSchemaChoice.cs : compiledItems were incorrectly appended.
885 * XmlSchemaComplexType.cs : Now validatableParticle became extraneous.
886 * XmlSchemaGroupBase.cs : Here we should not get optimized particle
887 because it might cause infinite loop.
888 * XmlSchemaGroupRef.cs : Fixed Validate() to avoid null reference
889 exception (only occur with ValidationEventHandler). Fixed Occurence
890 embedding logic that was useless because of particle optimization.
892 2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
894 * BuiltInDatatype.cs : On parsing QName, we don't have to spend costs
895 on Add()ing parsed name to name table.
896 * XmlSchemaUtil.cs : Added IsBuiltInDatatypeName().
897 * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs,
898 XmlSchemaElement.cs, XmlSchemaSimpleContentExtension.cs,
899 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeList.cs :
900 Use the method above instead of Namespace string comparison.
901 (it will be required to validate schema for schemas.)
902 * XmlSchemaComplexType.cs : Type Derivation OK (3.4.6) should also
903 treat null base type as anyType. Derivation Valid Restriction
904 (3.4.6) should allow base type wildcard absense in case of anyType.
906 2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
908 * XmlSchema.cs : When we have schema A which includes schema B which
909 includes schema C (i.e. A->B->C), C components should be compiled.
910 Here, same URL inclusions are ignored.
911 * XmlSchemaElement.cs : Hack for missing substitution-group fix.
912 * XmlSchemaSimpleTypeContent.cs : make actualBaseSchemaType private
913 and initialize. This fixes bug #53178.
914 * XmlSchemaSimpleTypeUnion.cs : Forgot to commit ;)
916 2004-01-22 Atsushi Enomoto <atsushi@ximian.com>
918 * XmlSchemaSimpleTypeRestriction.cs : regexp improvements. Modify
919 pattern string as "^str$" and convert WXS specific char classes into
920 .NET regexp patterns.
922 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
925 - Removed extra property Language. Fill substitution-group info
926 before ContentTypeParticle is computed.
927 * XmlSchemaComplexType.cs : ContentType and ContentTypeParticle are
928 now computer before Validate() (to exclude 3.4.2 from 3.4.6
929 component constraint check).
930 * XmlSchemaObject.cs, XmlSchemaParticle.cs :
931 Added CopyInfo() for cloning objects.
932 * XmlSchemaObjectTable.cs :
933 Add() doesn't have to reject same named items.
934 * XmlSchemaParticle.cs :
935 - Renamed internal class XmlSchemaParticleEmpty to EmptyParticle
936 (for ease of post compilation infoset comparison).
937 - GetMinEffectiveTotalRange() should return max occurs for element and
939 * XmlSchemaParticle.cs,
944 XmlSchemaGroupBase.cs,
945 XmlSchemaGroupRef.cs,
946 XmlSchemaSequence.cs :
947 - Removed ActualParticle property.
948 - Added GetOptimizedParticle() to get ContentTypeParticle.
949 - ContentTypeParticle is now created as different object from
950 user-specified "Particle" property.
951 - Return Empty particle when model groups contains no Items.
952 - When Items contains exactly 1 item, return the item (unless it is
953 top level choice model group - it causes DBR problem).
954 - ValidateDerivationValidRestriction() and related WXS 3.9.6 DBR
955 check methods such as ValidateNSRecurseCheckCardinality() now
956 returns a bool value and avoids exceptions on each failure time.
957 - ValidateRecurse() now doesn't progress base particle incorrectly.
958 (it caused incorrect order-preserving-mapping error.)
959 - 3.9.6 Recurse, RecurseLax, MapAndSum are now treated as different.
960 * XmlSchemaAll.cs : occurence validation shoud be done against values
961 after computation (ValidatedMaxOccurs).
962 * XmlSchemaChoice.cs : When Items is empty, then invoke warning event.
963 * XmlSchemaElement.cs :
964 - Consider referencedElement also for SubstitutionGroupElement.
965 - Removed SubstitutingChoice which is not in use.
966 - when it was targeted as substitution group by other elements, its
967 ContentTypeParticle should be substitution choice (see 3.9.6
968 Particle Valid (Restriction) term 2.1).
969 - Added FillsubstitutionElementInfo() (see XmlSchema.cs above).
970 * XmlSchemaGroup.cs : Removed extra check on model group (because it
971 is impossible to specify non-model-group particle).
972 * XmlSchemaIdentityConstraint.cs,
975 XmlSchemaUnique.cs : Removed extraneous MonoTODO.
976 * XmlSchemaSimpleContent.cs : Made actualSchemaType as internal.
977 * XmlSchemaSimpleType.cs : Removed extraneous new Datatype property.
978 * XmlSchemaSimpleTypeRestriction.cs : Renamed actualBaseSchemaType to
979 ActualBaseSchemaType.
980 * XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
981 Removed unused actualBaseSchemaType code.
982 * XmlSchemaType.cs : use recently introduced BaseXmlSchemaType.
983 * XmlSchemaUtil.cs : Removed unused CheckLanguage().
985 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
987 * XmlSchemaXPath.cs : wildcard with prefix (e.g. @foo:*) was
990 2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
992 * SchemaDataValueType.cs : UriValueType.ToString() should return
993 actual URI string (as MS's XmlSchemaUri class does).
994 * XmlSchemaReader.cs : Make it internal.
996 2004-01-16 David Sheldon <dave-mono@earth.li>
998 * BuiltInDatatype.cs: added guard to stop index out of range error for
999 invalid Base64 characters.
1001 2004-01-15 Jackson Harper <jackson@ximian.com>
1003 * XmlSchemaContent.cs: Make actualBaseSchemaType protected (fixes
1006 2004-01-15 Atsushi Enomoto <atsushi@ximian.com>
1008 * XmlSchemaComplexContentExtension.cs,
1009 XmlSchemaSimpleContentExtension.cs,
1010 XmlSchemaSimpleContentExtension.cs,
1011 XmlSchemaSimpleContentRestriction.cs,
1012 XmlSchemaContent.cs : Added IsExtension. GetXXX() became nonvirtual.
1013 * XmlSchemaType.cs :
1014 - Added NET_2_0 BaseXmlSchemaType (other members are commented out).
1015 - Now BaseSchemaType redirects to new property BaseXmlSchemaType.
1016 * XmlSchemaComplexType.cs :
1017 - Now it fully uses BaseXmlSchemaType above.
1018 - Since ValidateXXX() became too huge, I divided them into
1019 CollectXXX() [spec 3.4.1] and ValidateXXX() [spec 3.4.3 / 3.4.6].
1020 Schema Components are contributed before constraint check.
1021 - Now ContentTypeParticle is distinguished from validating particle
1022 which is newly introduced as "ValidatableParticle" (only used in
1023 XsdValidatingReader).
1024 * XmlSchemaSimpleType.cs : Now it uses BaseXmlSchemaType.
1025 capitalized internal members a bit.
1027 2004-01-14 David Sheldon <dave-mono@earth.li>
1029 * XmlSchemaSimpleTypeRestriction: Convert pattern facets to be ORed,
1030 as per: http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
1033 2004-01-14 David Sheldon <dave-mono@earth.li>
1035 * BuiltInDatatype.cs:
1036 XsdAnySimpleType - Added Length that returns the string length.
1037 XsdBase64Binary - Added Length, and used more direct, less fussy,
1039 XsdHexBinary - Added Length method
1041 * XmlSchemaSimpleTypeRestriction: use DataType Length method to
1042 determine length to compare against. Stop testing Lenght facets on
1043 QName and Notation types (as per errata)
1045 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
1047 * XmlSchemaComplexType.cs : forgot to commit ;)
1048 * XmlSchemaUtil.cs : Fixed IsSchemaDatatypeEquals() to return false
1049 for comparison between ID and IDREF.
1051 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
1053 * Added SchemaDataValueType.cs.
1054 * BuiltInDatatype.cs, XmlSchemaDatatype.cs : Adde ParseValueType() on
1055 all derived datatype classes.
1056 * XmlSchemaComplexType.cs : Fixed ContentType value for simple types.
1057 Errata-considered simple content derivation check and simple content
1058 restriction should check this too.
1060 2004-01-13 Jackson Harper <jackson@ximian.com>
1062 * XmlSchemaComplexType.cs: Comment out line that was breaking the build.
1064 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
1066 * XmlSchemaSimpleTypeUnion.cs : The same reason as the previous patch.
1067 * XmlSchemaComplexType.cs : Now it handles ContentTypeParticle and
1068 ContentType much more presise than before.
1069 * XmlSchemaElement.cs :
1070 Simplified property handling for reference element.
1072 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
1074 * XmlSchema.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs :
1075 Invalid attribute should raise an error, not a warning.
1077 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
1079 * XmlSchemaObject.cs : Fixed error() not to set severity as Warning.
1080 * ValidationHandler.cs,
1082 XmlSchemaCollection.cs : Throw exception only in case of errors.
1083 * XmlSchemaCollection.cs : Remove schema from schemaset if exist.
1084 (It might not be good to use schemaset, but keep for a while)
1085 * XmlSchemaContent.cs,
1086 XmlSchemaComplexContentExtension.cs,
1087 XmlSchemaComplexContentRestriction.cs,
1088 XmlSchemaSimpleContentExtension.cs,
1089 XmlSchemaSimpleContentRestriction.cs,
1090 : added GetBaseTypeName() and GetParticle() (not used yet).
1092 2004-01-11 Atsushi Enomoto <atsushi@ximian.com>
1094 * BuiltInDatatype.cs : internal type should not appear in protected
1097 2004-01-11 David Sheldon <dave-mono@earth.li>
1099 * BuiltInDatatype.cs : Added XsdOrdering enum, and Compare methods
1100 to the data-types. Changed AllowedFacets to be a bitfield.
1102 * XmlSchemaFacet.cs : Added Facet enumeration to represent bitfield.
1104 * XmlSchemaEnumerationFacet.cs,
1105 XmlSchemaFractionDigitsFacet.cs,
1106 XmlSchemaLengthFacet.cs,
1107 XmlSchemaMaxExclusiveFacet.cs,
1108 XmlSchemaMaxInclusiveFacet.cs,
1109 XmlSchemaMaxLengthFacet.cs,
1110 XmlSchemaMinExclusiveFacet.cs,
1111 XmlSchemaMinInclusiveFacet.cs,
1112 XmlSchemaMinLengthFacet.cs,
1113 XmlSchemaNumericFacet.cs,
1114 XmlSchemaPatternFacet.cs,
1115 XmlSchemaTotalDigitsFacet.cs,
1116 XmlSchemaWhiteSpaceFacet.cs : Added ThisFacet Property to return facet type
1119 * XmlSchemaSimpleTypeRestriction.cs: Inherited facets from base types,
1120 checked which which were allowed on different types. Validated fixed
1121 facets, duplicated facets and derivation by restriction. Added checking
1122 for min/max Inclusive/Exclusive, totalDigits and fractionDigits facets in
1125 2004-01-09 Atsushi Enomoto <atsushi@ximian.com>
1127 * XmlSchemaSet.cs : implemented some members.
1128 * XmlSchemaCollection.cs : modified to use internal schema set (This
1129 class provides more precise schema validation feature and will be
1130 commonly used for XPathNavigator2).
1131 Added .NET 1.1 .ctor() which takes XmlResolver.
1132 * XmlSchema.cs : fix related to above changes.
1133 Use validation event handler on Read() at all required places.
1134 Added .NET 1.1 .ctor() which takes XmlResolver.
1135 * XmlSchemaComplexType.cs : content type comparison was incorrect.
1136 Renamed confusing method.
1137 * XmlSchemaElement.cs : don't use ContentTypeParticle in
1138 CheckRecursion(), where that property might not be determined yet.
1139 * XmlSchemaGroupBase.cs : Modified ValidateRecurse() a bit (currently
1141 * XmlSchemaGroupBase.cs,
1144 XmlSchemaSequence.cs : moved CheckRecursion to XmlSchemaGroupBase.
1145 * XmlSchemaObjectTable.cs : Fixed missing error info.
1146 * BUGS-MS.txt : Added info a bit.
1148 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
1150 * BUGS-MS.txt : added list derivation and facet case.
1151 * XmlSchemaComplexType.cs :
1152 Added some description. Avoided null reference exception in
1154 Fixed incorrect 3.4.6 Derivation Valid (Extension) 1.4.1.2.2 and
1155 3.9.6 Particle Valid (Extension) 2.
1156 * XmlSchemaGroupBase.cs : Fixed ParticleEquals() which didn't work
1157 properly against sequence and all.
1159 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
1161 * XmlSchemaObjectTable.cs : Modified enumerator's Current to return
1163 * XmlSchemaComplexType.cs, XmlSchemaUtil.cs :
1164 In reflection to object table enumerator change.
1166 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
1168 * XmlSchemaElement.cs : Fixed incorrect unique particle attribution
1169 check on ##other and target namespace element.
1171 2004-01-08 Nick Drochak <ndrochak@ieee.org>
1173 * XmlSchemaSimpleType.cs: Needed a 'new' on the property
1174 * XmlSchemaXPath.cs: Removed unreachable code.
1176 2004-01-03 Atsushi Enomoto <atsushi@ximian.com>
1178 * XmlSchemaDatatype.cs : trivial allocation fix.
1180 2003-12-17 David Sheldon <dave-mono@earth.li>
1182 * BuiltInDatatype.cs : Added whitespace=collapse to data types
1183 such as date, dateTime, .... gDay. I think I have them all now.
1185 2003-12-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1187 * BuiltInDatatype.cs : anySimpleType should allow facets.
1189 2003-12-14 David Sheldon <dave-mono@earth.li>
1191 * BuiltInDatatype.cs : Added code to tell which facets were valid on
1192 types derived from each basetype.
1194 * XmlSchemaSimpleTypeRestriction.cs : Complain if an invalid facet
1195 has been added to a restriction.
1198 2003-12-14 David Sheldon <dave-mono@earth.li>
1200 * XmlSchemaSimpleTypeRestriction.cs : Check that min/max/lengths
1201 specified are integers. Also made some error messages more useful.
1203 2003-12-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1205 * XmlSchemaSimpleTypeRestriction.cs : patch by David Sheldon. Check
1206 if max/min length range is valid.
1208 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1210 * BuiltInDatatype.cs : XsdDecimal and XsdInteger defaults whitespace
1211 facet as collapse (patch by David Sheldon).
1212 * XmlSchemaAnnotations.cs, XmlSchemaAny.cs : No more MonoTODOs ;-)
1213 * XmlSchemaSequence.cs : MapAndSum implementation.
1215 2003-11-17 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1217 * XmlSchemaSet.cs, XmlSchemaBuiltInType.cs : Added .NET 1.2 classes
1218 (for convenience of ObjectSpaces stubbing).
1220 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1222 * BuiltInDatatype.cs : XsdByte was incorrectly typed as byte, while
1223 the correct binding is sbyte.
1226 XmlSchemaSequence.cs,
1227 XmlSchemaGroupBase.cs : ActualParticle now considers pointlessness
1228 described in WXS structures 3.9.6.
1229 Added ValidateRecurse() to support 'Recurse' validation.
1230 * XmlSchemaComplexType.cs : Removed incorrect content type conformity
1232 * XmlSchemaElement.cs : Implemented 'RecurseAsIfGroup' validation
1233 described in WXS structures 3.9.6. Fixed type derivation check to
1234 do only if the base type is not anyType.
1235 * XmlSchemaSimpleTypeRestriction.cs : Should catch Regex()
1236 construction exception. ValidateList... and ValidateNonList... was
1238 * XmlSchemaUtil.cs : Removed extra MonoTODO. Removed CheckToken().
1240 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1242 * BuiltInDatatype.cs : Fixed incorrect inheritance of date and time.
1243 Fixed most of date-time related types' ParseValue().
1244 Applied Normalize() before parsing values in some ParseValue().
1246 2003-10-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1250 XmlSchemaGroupBase.cs,
1251 XmlSchemaSequence.cs : Now CompiledItems went to XmlSchemaGroupBase.
1253 XmlSchemaElement.cs,
1254 XmlSchemaGroupBase.cs,
1255 XmlSchemaGroupRef.cs,
1256 XmlSchemaParticle.cs,
1257 XmlSchemaSequence.cs : Added ParticleEquals() method to compare
1258 whether the particles are equal in the context of WXS part 1 - 3.9.6.
1259 * XmlSchemaAny.cs : Implemented ValidateDerivationByRestriction().
1260 * XmlSchemaAnyAttribute.cs : Removed extraneous lines and added my
1261 responsibility on this class.
1262 Added ValidateWildcardAllowsNamespaceName().
1263 * XmlSchemaAttribute.cs : Added ValidatedUse which holds post-
1264 compilation value of "Use".
1265 * XmlSchemaAttributeGroup.cs,
1266 XmlSchemaAttributeGroupRef.cs : Removed MonoTODO (same as some other
1267 classes) since there is no more errors on attribute stuff ;-)
1268 * XmlSchemaComplexType.cs : complex content extension must block
1269 derivation from any built-in primitive types.
1270 Fixed wildcard derivation by restriction.
1271 ValidateDerivationByRestriction() now checks attribute related
1272 validity of DBR (derivation by restriction).
1273 Now uses ParticleEquals() for particle DBR check.
1274 * XmlSchemaSequence.cs : Fixed to use CompiledItems instead of Items.
1276 2003-10-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1279 XmlSchemaUtil.cs : Reduced warning message.
1280 * XmlSchemaAttribute.cs : NotImplementedException should no more exist.
1281 (All things are going to be implemented.)
1282 * BuiltInDatatype.cs : XsdInteger should not allow non-integer decimal.
1283 * XmlSchemaSimpleType.cs : Added internal Datatype property. Implemented
1284 list type derivation validation. Added Normalize().
1285 * XmlSchemaSimpleTypeContent.cs : Added Normalize(). Replaced anyType
1287 * XmlSchemaSimpleTypeRestriction.cs : Implemented some facet validation,
1288 such as pattern, enumeration, and length etc.
1290 2003-10-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1292 * BuiltInDatatype.cs : Implemented XsdHexBinary.Parse().
1293 * XmlSchemaCollection.cs : Implemented CopyTo().
1294 * XmlSchemaDatatype.cs : Added Normalize() with whitespace handling.
1295 Added support for anySimpleType.
1296 * XmlSchemaSimpleType.cs : Type specification named as anyType should
1297 be mapped to anySimpleType.
1298 * BUGS-MS.txt : Added more case note.
1300 2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
1302 * XmlSchema.cs: If the schema element is an empty element, skip it after
1303 reading the attributes.
1305 2003-10-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1307 * BuiltInDatatype.cs : Added CLSCompliant attributes to some classes.
1309 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
1311 * XmlSchemaUtil.cs: arrayType attribute needs special handling.
1313 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1315 * XmlSchema.cs : Forgot to update with previous files.
1317 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1319 * XmlSchemaAttribute.cs, XmlSchemaComplexType.cs, XmlSchemaElement.cs,
1320 XmlSchemaGroupRef.cs, XmlSchemaSimpleContentExtension.cs,
1321 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleTypeContent.cs,
1322 XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeUnion.cs :
1323 Fixed missing sub components check. It should fix soap stuff.
1324 * XmlSchemaAny.cs, XmlSchemaAttribute.cs,
1325 XmlSchemaAttributeGroupRef.cs, XmlSchemaContent.cs :
1326 Added my responsibility on them ;-)
1328 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1330 * XmlSchema.cs : Read() should keep current position of XmlReader if
1331 it was already positioned to 'schema' element.
1333 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1335 * Forgot to append 8/24/2003 ChangeLog.
1336 * BUGS.txt, BUGS-MS.txt : Appended additional bug info.
1337 * BuiltInDatatype.cs, ValidationHandler.cs, XmlSchema.cs,
1338 XmlSchemaAll.cs, XmlSchemaAnnotation.cs. XmlSchemaAny.cs,
1339 XmlSchemaAnyAttribute.cs, XmlSchemaAttribute.cs,
1340 XmlSchemaAttributeGroup.cs, XmlSchemaAttributeGroupRef.cs,
1341 XmlSchemaChoice.cs, XmlSchemaCollection.cs,
1342 XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
1343 XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
1344 XmlSchemaContent.cs, XmlSchemaDatatype.cs, XmlSchemaElement.cs,
1345 XmlSchemaException.cs, XmlSchemaGroup.cs, XmlSchemaGroupBase.cs,
1346 XmlSchemaGroupRef.cs, XmlSchemaIdentityConstraint.cs,
1347 XmlSchemaKey.cs, XmlSchemaKeyref.cs, XmlSchemaNotation.cs,
1348 XmlSchemaObject.cs, XmlSchemaObjectTable.cs, XmlSchemaParticle.cs,
1349 XmlSchemaReader.cs, XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
1350 XmlSchemaSimpleContentExtension.cs,
1351 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
1352 XmlSchemaSimpleTypeContent.cs, XmlSchemaSimpleTypeList.cs,
1353 XmlSchemaSimpleTypeRestriction.cs, XmlSchemaSimpleTypeUnion.cs,
1354 XmlSchemaType.cs, XmlSchemaUnique.cs, XmlSchemaUtil.cs,
1357 - Almost all classes are changed to implement schema component
1358 constraints, and schema validation using XsdValidatingReader.
1359 - better exception messages.
1360 - More datatype support.
1363 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
1365 * XmlSchema.cs: Do not add schema namespace declaration if it is already
1368 2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
1370 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added double type.
1372 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1374 * BuiltInDatatype.cs : XsdDecimal.TokenizedType should be None.
1375 * XmlSchemaCollection.cs : Add(uri) should not reject chameleon schema.
1376 Add() should compile specified schema.
1378 2003-08-08 Lluis Sanchez Gual <lluis@ximian.com>
1380 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs: Added XsdAnyURI,
1381 XsdDateTime, XsdDate, XsdTime.
1383 2003-08-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1385 * BuiltInDatatypes.cs : Fixed whitespace facet in XsdToken.
1386 Tokenized type of nmtokens and entities is string [].
1387 * XmlSchema.cs : Changed IsCompile implementation a bit.
1388 Compile() should reset compiled contents.
1389 * XmlSchemaDatatype.cs : Fixed collapsing Normalize().
1390 * XmlSchemaObject.cs : added CompilationId initialization.
1392 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
1394 * XmlSchema.cs: Set IsCompiled to true after compiling.
1395 In Compile(): ignore included schemas that do not have a value
1396 in SchemaLocation. It means that FindElement can return null
1397 if the referred schema was ignored. Added check for that case.
1398 Compile schema after reading it.
1399 * XmlSchemaCollection.cs: The targetNamespace of a schema may
1400 be null. Make XmlSchemaCollection work for this case.
1401 * BuiltInDataType.cs, XmlSchemaDataType.cs: added new primitive
1402 types: float, base64Binary, boolean.
1404 2003-08-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1407 - Changed missingElementTypeRefs from Hashtable to ArrayList.
1408 - Added internal XmlSchemas for keeping imported schemas.
1409 - Added private Compile() that takes the original rootSchema and
1410 schema location stack for nested inclusion check.
1411 - Added basic xs:import and xs:include support.
1412 - Compile() is now aware of included XmlSchemaObject items.
1413 - Changed Compile() to fill missing elements' types and that of
1414 referencing elements.
1415 - Read() now adds SourceUri property (although only to itself).
1416 * XmlSchemaCollection.cs : Implemented Add().
1417 * XmlSchemaCollectionEnumerator.cs :
1418 Changed .ctor() to use schema collection as its argument.
1419 Fixed Current to return hashtable's Value, instead of Current
1420 (which returns DictionaryEntry).
1421 * XmlSchemaComplexType.cs :
1422 Added internal static AnyType.
1423 Compile() is now searches for its base type into other schemas.
1424 * XmlSchemaElement.cs : anyType is supported.
1425 It now searches for type information after Compile().
1426 SetReferedElementInfo() is now changed to SetSchemaType().
1427 * XmlSchemaObjectTable.cs :
1428 It had problems similar to schema collection. Now it uses internal
1429 class XmlSchemaObjectTableEnumerator to support GetEnumerator().
1430 * XmlSchemaParticle.cs : added internal class XmlSchemaParticleEmpty
1431 and internal static Empty.
1433 2003-07-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1435 * BuiltInDatatype.cs : XsdIDRefs.ParseValue () should be implemented.
1436 * XmlSchemaDatatype.cs : public Whitespace and protected Normalize()
1439 2003-07-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1441 * XmlSchema.cs : Read() now uses XmlSerializer.Deserialize().
1443 2003-07-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1445 * XmlSchema.cs, XmlSchemaElement.cs :
1446 added internal MissingElementTypeRefs and support for refering
1447 element's elementType.
1449 2003-07-20 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1451 * XmlSchema.cs : added support for collecting missing type references
1452 at compilation-time.
1453 * XmlSchemaType.cs, XmlSchemaComplexType.cs, XmlSchemaSimpleType.cs:
1454 - Renamed qName to QNameInternal.
1455 - Added BaseSchemaType and ContentTypeParticle support.
1457 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1459 * XmlSchema.cs, XmlSchemaAll.cs, XmlSchemaAnnotated.cs,
1460 XmlSchemaAnnotation.cs, XmlSchemaAny.cs, XmlSchemaAnyAttribute.cs,
1461 XmlSchemaAttribute.cs, XmlSchemaAttributeGroup.cs,
1462 XmlSchemaAttributeGroupRef.cs, XmlSchemaChoice.cs,
1463 XmlSchemaComplexContent.cs, XmlSchemaComplexContentExtension.cs,
1464 XmlSchemaComplexContentRestriction.cs, XmlSchemaComplexType.cs,
1465 XmlSchemaElement.cs, XmlSchemaGroup.cs, XmlSchemaGroupRef.cs,
1466 XmlSchemaIdentityConstraint.cs, XmlSchemaImport.cs,
1467 XmlSchemaInclude.cs, XmlSchemaKey.cs, XmlSchemaKeyref.cs,
1468 XmlSchemaNotation.cs, XmlSchemaObject.cs, XmlSchemaRedefine.cs,
1469 XmlSchemaSequence.cs, XmlSchemaSimpleContent.cs,
1470 XmlSchemaSimpleContentExtension.cs,
1471 XmlSchemaSimpleContentRestriction.cs, XmlSchemaSimpleType.cs,
1472 XmlSchemaSimpleTypeList.cs, XmlSchemaSimpleTypeRestriction.cs,
1473 XmlSchemaSimpleTypeUnion.cs, XmlSchemaUnique.cs,
1475 As to Compile() and Validate(),
1476 - Added CompilationId and check it while compiling schema components.
1477 - Code refactory. Replaced literal xmlns with XmlSchema.Namespace
1478 - Replaced XmlSchemaInfo with compiling XmlSchema itself (XmlSchema
1479 also has PSVI components inside it, so passing itself seems enough).
1480 - Related to above change, IDCollection was moved to XmlSchema, and
1481 blockDefault/finalDefault/blockResolved/finalResolved resolution
1482 was changed to reference only to schema.BlockDefault/FinalDefault.
1483 - The similar change has done against XmlSchemaForm related stuff.
1484 - Changed compilation order of schema type definitions (it is
1485 workaround). First it compiles types, and then it compiles others.
1486 * XmlSchemaElement.cs : added ElementType PSVI contribution support.
1488 2003-07-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1490 * BuiltInDatatypes.cs, XmlSchemaDatatype.cs :
1491 Added decimal and its derived datatypes.
1492 Added abstract XsdAnySimpleType.
1494 2003-07-15 Lluis Sanchez Gual <lluis@ximian.com>
1496 * BuiltInDatatype.cs,
1497 XmlSchemaDatatype.cs : added unsignedByte type support.
1499 2003-07-14 Lluis Sanchez Gual <lluis@ximian.com>
1501 * XmlSchemaDatatype.cs: Fixed compiler warning.
1503 2003-07-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1505 * BuiltInDatatype.cs,
1506 XmlSchemaDatatype.cs : added NOTATION type support.
1508 2003-07-06 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1510 * added BuiltInDatatype.cs.
1511 * XmlSchemaDatatype.cs : [GetType()] added support for some
1514 2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1516 * XmlSchemaAnnotation.cs : It depended on incorrect ReadNode().
1518 2003-02-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1520 * XmlSchemaAnnotation.cs : expect the correct closing tag on <appinfo>
1521 and <documentation> elements. (patch by Peter Pentchev)
1522 * XmlSchemaObjectEnumerator.cs : cast properly to XmlSchemaObject
1523 instead of XmlSchema. (patch by Peter Pentchev)
1525 2002-07-23 Duncan Mak <duncan@ximian.com>
1527 * XmlSchemaException.cs: Partiall implement the ISerializable
1528 methods. It's not clear now SourceSchemaObject should be deserialized.
1530 2002-07-22 Tim Coleman <tim@timcoleman.com>
1531 * XmlSchema.cs: Removed isCompiled which is defined as internal
1534 2002-06-18 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1536 * XmlSchema: Started work on Validate methods
1538 2002-06-18 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1539 * XmlSchema: The Read and Write methods are no more [MonoTODO] :)
1541 * XmlSchemaAppInfo: Xml Markup is now being read.
1543 * XmlSchemaDocumentation: Xml Markup is now being read.
1545 * All: Unhandled attributes are being handled properly.
1547 * All: Reordered the properties in all cs files to match with MS
1548 Implementation. This was required since the order is importatnt
1549 for the XmlSerializer.
1551 2002-06-14 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1552 * General: Fixed a few more Bugs
1554 2002-06-10 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1555 * XmlSchemaReader: A Wrapper class around XmlReader with customized
1556 methods to suit reading a schema.
1557 * General: Implemented Read() method for the schema. There are only
1558 a few minor bugs remaining.
1560 2002-05-25 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1561 * BUGS.txt: New file to keep track of bugs
1563 * ALL: All classes are initialized exactly as in .NET except
1564 1. inclusion of language attribute in schema
1565 2. ComplexContent's Particle is initialized to null whereas .NET
1566 to some internal implementation. IMO Null is more appropriate
1568 * ALL: Changed the Compile methods to return the count of errors.
1570 * ALL: Complile methods are almost complete. Pass 1453 of 3061 tests.
1571 This number should shoot up if we write a parser to read the
1572 Schema instead of using reflection (which is slower too)
1574 2002-05-04 Dwivedi, Ajay kumar <adwiv@yahoo.com>
1575 * XmlSchemaUtil.cs: New file added.
1577 * Parser.cs: New file Added. Unused at the moment.
1579 * XmlSchemaObjectCollection: Fixed GetEnumerator
1581 * General: Preprocessing for Attributes and SimpleTypes completed.
1583 2002-04-26 Duncan Mak <duncan@ximian.com>
1585 * ValidationHandler.cs: New file.
1587 * XmlSchemaInfo.cs: New file.
1589 * *.cs: More updates from Ajay.
1591 2002-03-27 Duncan Mak <duncan@ximian.com>
1593 * *.cs: Updates from Ajay Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>.