1 2006-10-27 Atsushi Enomoto <atsushi@ximian.com>
3 * XsdValidatingReader.cs : Fixed bug #79650. Enumeration facet was
4 not validated for attributes. Also, simple type restriction should
5 require namespace manager to resolve QNames.
7 2006-08-04 Atsushi Enomoto <atsushi@ximian.com>
9 * XsdIdentityState.cs : Fixed bug #78985. If there are two identical
10 field path "@key" in two different keys where one is in scope
11 within another, it incorrectly matched the attribute whose name
12 is same but in different element hierarchy (depth).
14 2006-04-12 Atsushi Enomoto <atsushi@ximian.com>
16 * XmlSchemaValidatingReader.cs : don't reject such XmlReader that
17 does not implement IXmlNamespaceResolver.
19 2006-02-20 Atsushi Enomoto <atsushi@ximian.com>
21 * XsdValidatingReader.cs : when DTD did not appear in
22 DTDValidatingReader, it almost makes no sense to use it, so just
23 use its internal EntityResolvingXmlReader (it is required to
24 detect "undeclared entity in use" well-formedness violation).
25 It could double processing speed (or more).
27 2006-01-13 Atsushi Enomoto <atsushi@ximian.com>
29 * XsdValidatingReader.cs : whitespace nodes should be allowed inside
30 empty or element-only content types. Fixed bug #77241.
32 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
34 * XmlSchemaValidatingReader.cs : removed unused constructors.
35 Now it implements IXmlSchemaInfo. Use XmlSchemaType instead of
36 Object to represent schema types.
38 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
40 * XsdValidatingReader.cs :
41 Don't use normalized string as input to AssessStringValid(). It
42 incorrectly invalidates strings against simple types with length-
44 Now that we don't ignore whitespaces, we need to explicitly allow
45 pure whitespace texts in ElementOnly/Empty model.
47 2005-12-26 Atsushi Enomoto <atsushi@ximian.com>
49 * XsdValidatingReader.cs : Fixed the bug that only the last schema
50 URL in a schemaLocation was processed. Patch by Vorobiev Maksim.
52 2005-12-12 Atsushi Enomoto <atsushi@ximian.com>
54 * XsdValidatingReader.cs : it is not IXmlNamespaceResolver anymore.
56 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
58 * XmlSchemaValidatingReader.cs : XmlSchemaValidationFlags is updated.
60 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
62 * XsdValidatingReader.cs, XmlSchemaValidatingReader.cs,
64 Dependent changes caused by XmlValueGetter changes.
66 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
68 * XsdValidatingReader.cs : XmlReader.ReadTypedValue() does not exist
69 anymore, so it is not override.
71 2005-09-30 Atsushi Enomoto <atsushi@ximian.com>
73 * XsdValidatingReader.cs: make ParserContext and its NamespaceManager
74 optional. This is for NVDL xsd support.
76 2005-09-30 Atsushi Enomoto <atsushi@ximian.com>
78 * XsdValidatingReader.cs: allow validation for such XmlReader whose
79 ReadState is Interactive (hold different "is started" flag). This
80 is a fix for nvdl support.
82 2005-09-25 Atsushi Enomoto <atsushi@ximian.com>
84 * XmlSchemaValidatingReader.cs: XmlSchemaValidationFlags updates.
86 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
88 * XsdValidationReader.cs: GetNamespacesInScope returns generic
89 IDictionary in .NET 2.0 Beta 2.
90 * XmlSchemaValidatingReader.cs: GetNamespacesInScope returns generic
91 IDictionary in .NET 2.0 Beta 2.
93 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
95 * XsdValidatingReader.cs : when xsi:schemaLocation could not be
96 resolved, it still does not raise error when corresponding schema
99 2005-05-05 Atsushi Enomoto <atsushi@ximian.com>
101 * XsdValidatingReader.cs :
102 removed atomicName related 2.0 members (deprecated in beta2).
104 2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
106 * XsdValidatingReader.cs : removed unused method which was warned.
108 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
110 * XsdValidatingReader.cs : XmlResolver.ResolveUri() may return null.
112 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
114 * XsdValidatingReader.cs : added ActualSchemaType to context type.
115 * XmlSchemaValidatingReader.cs : added SchemaInfo override.
117 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
119 * XsdParticleValidationState.cs :
120 Removed some unused or unnecessary members. Readonlify some members.
121 Added GetExpectedParticles(ArrayList) and overriden in all state
122 types, which is used in XmlSchemaValidator.GetExpectedParticles().
124 2004-12-15 Atsushi Enomoto <atsushi@ximian.com>
126 * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
127 XmlSchemaValidator.ValidateElement().
128 Removed some obsolete overrides.
130 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
132 * XmlSchemaValidatingReader.cs : new file; another XmlReader
133 implementation that handles XSD validation. It is an reference
134 application for XmlSchemaValidator.
135 * XsdValidatingReader.cs : Use readerLineInfo for IXmlLineInfo.
137 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
139 * XsdIdentityState.cs : use validation exception for 2.0.
140 ProcessMatch() does not have to return bool. Use break and continue
141 and reduced indentation.
142 * XsdValidatingReader.cs : use validation exception for 2.0.
143 Added new XsdIDManager class and id handling is delegated to it.
144 XmlQualifiedName -> QName. AssessElementLocallyValidElement() does
145 not need XmlSchemaElement (it is context). Moved some static
146 methods to XmlSchemaUtil.cs. Collected key constraints stuff to a
149 2004-12-13 Atsushi Enomoto <atsushi@ximian.com>
151 * XsdKeyTable.cs : eliminated XmlReader dependency.
152 * XsdValidatingReader.cs :
153 AssertIdentityConstraints() is now splited to selector validation
154 and field validation. Extracted EndKeyrefValidation() to process
156 Added ReadExternalSchema() and commonized xsi:schemaLocation
157 handling and xsi:noNamespaceSchemaLocation handling.
158 * XsdIdentityState.cs :
159 Eliminated XsdValidatingReader dependency.
160 In XsdKeyEntryField, renamed KeySequence to OwnerSequence.
161 XsdKeyEntryFieldCollection is now based on CollectionBase.
162 In XsdKeyEntry, FieldMatches() is renamed to ProcessMatch() and
163 modified to accept splited XsdValidatingReader members.
164 * XsdIdentityPath.cs : added default .ctor() and IsAttribute property.
166 2004-12-13 Atsushi Enomoto <atsushi@ximian.com>
168 * XsdIdentityState.cs,
170 XsdKeyTable.cs : fixed mixed line ending.
172 2004-12-11 Atsushi Enomoto <atsushi@ximian.com>
174 * XsdValidatingReader.cs,
175 XsdIdentityState.cs : more refactoring.
176 Reduced XmlReader dependency in identity constraint classes.
177 Hide State in XsdValidationContext.
178 Simplify character validation and state resetting.
179 Need more event deligation on ExamineAdditionalSchema().
180 Just cache attribute type directly instead of QName.
181 Use XmlSchemaUtil.ReadTypedValue() common code.
183 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
186 Replaced ArrayList with new XsdKeyEntryCollection type.
187 Workarounded bug #70419.
188 * XsdValidatingReader.cs : propagate validation event handler and
189 XmlResolver. And used them.
190 Renamed local variables a bit (unified to other blocks).
192 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
194 * XsdValidatingReader.cs,
195 XsdParticleValidationState.cs : Fixed the previous problem ==
196 inconsistent start assessment and end assessment.
197 More refactory: stateManager is just renamed to state, and its type
198 name is now XsdParticleStateManager.
199 Now Context is included in state.
200 Shortened lengthy xsd related type names with usingdecl.
202 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
204 * XsdValidatingReader.cs : mhm, something is wrong with call to
205 context.PopScope(). So quick fix and marked as FIXME.
207 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
209 * XsdParticleValidationState.cs : removed unused enum.
210 * XsdValidatingReader.cs : more refactoring. Validation process is
211 now strictly done only when not skipping (no side effect).
212 - elementQnameStack is used only in keyref resolution, so just moved
213 Pop() into EndElement block and thus removed popContext.
214 - Renamed currentQName to attrQName (only used for attribute).
215 - Create defaultAttributes array only when required.
216 So now XsdValidationContext has only Element, State and XsiType.
217 - It now just holds Stack for state objects (instead of Hashtable).
218 Child state is set inside StartElementSchemaValidity (it is kind
219 of StartTagCloseDeriv()).
222 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
224 * XsdValidatingReader.cs : more refactoring on XsdValidationContext.
225 context.Load() was unnecessary. SchemaType is not necessary.
226 SiblingState and Element are now not accessed externally.
228 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
230 * XsdValidatingReader.cs : more refactoring.
232 2004-12-08 Atsushi Enomoto <atsushi@ximian.com>
234 * XsdValidatingReader.cs : making smarter relationship between
235 XmlValidatingReader. Added ValidationEventHandler and ValidationType.
236 nonDefaultAttributeCount was extraneous.
237 Added 'checkIdentity' (i.e. !IgnoreIdentityConstraints).
238 DefaultAttributesCache property did make little sense, so just
239 reverted to ArrayList field.
241 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
243 * XsdValidatingReader.cs : warning elimination
245 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
247 * XsdValidatingReader.cs : commented out some fields and depending
248 code that are currently not used.
249 Fixed "one incorrect missing component handling" in the last commit
251 * XsdIdentityState.cs : removed unused fields and local variables.
253 2004-11-20 Atsushi Enomoto <atsushi@ximian.com>
255 * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
256 SchemaSet looks not compiled.
257 Fixed one incorrect missing component handling.
259 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
261 * XsdValidatingReader.cs : reuse NameTable on loading external schema.
263 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
265 * XsdValidatingReader.cs : optimized some ArrayList fields; create them
268 2004-08-20 Atsushi Enomoto <atsushi@ximian.com>
270 * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
272 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
274 * XsdValidatingReader.cs : replaced XmlSchemaCollection with
275 XmlSchemaSet. Removed unused code.
277 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
279 * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
281 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
283 * XsdIdentityPath.cs : removed unused code.
284 * XsdIdentityState.cs : Globalization.
286 2004-06-11 Atsushi Enomoto <atsushi@ximian.com>
288 * XsdValidatingReader.cs : Identity check didn't work fine when
289 reference node appeared in front of the target key node.
290 This fixes bug #59889.
292 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
294 * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
295 might be thrown in ctor() *after* stream open and before try-catch.
297 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
299 * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
302 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
304 * XsdIdentityPath.cs,
307 XsdParticleValidationState.cs,
308 XsdValidatingReader.cs,
309 XsdWildcard.cs : made classes internal. Removed extra TODO comments.
311 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
313 * XsdIdentityState.cs,
315 XsdParticleValidationState.cs,
316 XsdValidatingReader.cs,
317 XsdWildcard.cs : foreach elimination.
319 2004-02-04 Atsushi Enomoto <atsushi@ximian.com>
321 * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
322 AttributeCount counts its values (version, encoding, standalone).
324 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
326 * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
327 of anyURI. Just split names and handle as anyURI.
329 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
331 * XsdParticleValidationState.cs :
332 - Now it uses ContentTypeParticle as inputs, so no GroupRef
333 should occur anymore.
334 - xs:any should use ResolvedProcessContents. It fixes some errors.
335 * XsdValidatingReader.cs :
336 - Attribute wildcard validation should use ResolvedProcessContents.
337 - Use newly added XmlResolver field to resolve external schemas
338 specified by xsi:schemaLocation attributes.
339 - Added warning handler and raise warning events when instance-
340 specified schemas could not be resolved.
341 - xs:anyType should not be treated as a primitive datatype at
343 - Schema type was incorrectly remained when the element is laxly
346 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
348 * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
350 * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
351 xsi:type was specified.
352 Moved character validation inside AssessEndElementSchemaValidity().
354 2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
356 * XsdParticleValidationState.cs : Use ValidatedMaxOccurs instead of
357 MaxOccurs. (in the meantime)
358 * XsdValidatingReader.cs : "fixed" should not be treated as default.
359 * XsdWildcard.cs : several Wildcard Subset constraint related fixes.
361 2004-01-15 Atsushi Enomoto <atsushi@ximian.com>
363 * XsdValidatingReader.cs : Now use ValidatableParticle instead of
364 ContentTypeParticle. Use BaseXmlSchemaType.
366 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
368 * XsdIdentityState.cs :
369 Now takes xsi:nil value into consideration for comparison.
370 nsname:* was not handled correctly.
371 Reject complexType as key value type (it is dynamic instance error).
372 * XsdKeyTable.cs : remoed unused code.
373 * XsdValidatingReader.cs :
374 ID comparison was not done.
375 {final} value of attribute definition was not used for default value.
376 Get xsi:nil value from non-default value.
378 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
380 * XsdValidatingReader.cs :
381 Dependent change with XmlSchemaElement internal property.
383 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
385 * XsdValidatingReader.cs : Throw exception only in case of errors.
387 2004-01-08 Lluis Sanchez Gual <lluis@ximian.com>
389 * XsdValidatingReader.cs: In MoveToAttribute(name), if "name" is a default
390 attribute, search for the attribute ignoring the namespace. This matches
391 MS.NET behavior (and fixes bug #52557).
393 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
395 * XsdValidatingReader.cs : Fixed in reflection to
396 XmlSchemaObjectTableGetEnumerator.Value change.
398 2004-01-08 Nick Drochak <ndrochak@ieee.org>
400 * XsdParticleValidationState.cs: Remove unreachable code.
402 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
404 * XsdValidatingReader.cs : When source Reader has schema context, it
405 should return source's schema type if this class cannot provide it.
407 2003-12-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
409 * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet
410 validation should also be done.
412 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
414 * XsdValidatingReader.cs : FindElement() should use argument names
415 (patch by David Sheldon). Warning elimination.
417 2003-10-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
419 * XsdValidatingReader.cs : xsi:type should be normalized. More cleanup.
420 * XsdParticleValidationState.cs : Reverted default content processing
421 to lax. It is msxsdtest/wildCard/wildG038.xsd which looks incorrect.
423 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
425 * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
426 XmlValidatingreader as a result. Added xsi:nil normalization.
428 2003-10-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
430 * XsdParticleValidationState.cs : Default content processing shoule be
432 * XsdValidatingReader.cs : If there is no trial to get schemas for
433 namespaces, then validation against such namespace should be failed.
434 It now uses XmlSchemaAttribute.ValidatedUse instead of .Use.
435 * XsdWildcard.cs : Fixed incorrect intersection computing.
437 2003-10-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
439 * XsdKeyTable.cs : Reduced compilation warning.
440 * XsdParticleValidationState.cs : Reduced NotImplementedException.
441 * XsdValidatingReader.cs : Removed XmlResolver. Implemented more simple
442 type validation, such as list, union and facets.
444 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
446 * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
448 * XsdParticleValidationState.cs, XsdValidatingReader.cs:
449 Completely rewrote existing validation engine.
451 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
453 * XsdValidatingReader.cs,
454 XsdParticleValidationState.cs : Initial checkin.