1 2006-04-12 Atsushi Enomoto <atsushi@ximian.com>
3 * XmlSchemaValidatingReader.cs : don't reject such XmlReader that
4 does not implement IXmlNamespaceResolver.
6 2006-02-20 Atsushi Enomoto <atsushi@ximian.com>
8 * XsdValidatingReader.cs : when DTD did not appear in
9 DTDValidatingReader, it almost makes no sense to use it, so just
10 use its internal EntityResolvingXmlReader (it is required to
11 detect "undeclared entity in use" well-formedness violation).
12 It could double processing speed (or more).
14 2006-01-13 Atsushi Enomoto <atsushi@ximian.com>
16 * XsdValidatingReader.cs : whitespace nodes should be allowed inside
17 empty or element-only content types. Fixed bug #77241.
19 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
21 * XmlSchemaValidatingReader.cs : removed unused constructors.
22 Now it implements IXmlSchemaInfo. Use XmlSchemaType instead of
23 Object to represent schema types.
25 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
27 * XsdValidatingReader.cs :
28 Don't use normalized string as input to AssessStringValid(). It
29 incorrectly invalidates strings against simple types with length-
31 Now that we don't ignore whitespaces, we need to explicitly allow
32 pure whitespace texts in ElementOnly/Empty model.
34 2005-12-26 Atsushi Enomoto <atsushi@ximian.com>
36 * XsdValidatingReader.cs : Fixed the bug that only the last schema
37 URL in a schemaLocation was processed. Patch by Vorobiev Maksim.
39 2005-12-12 Atsushi Enomoto <atsushi@ximian.com>
41 * XsdValidatingReader.cs : it is not IXmlNamespaceResolver anymore.
43 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
45 * XmlSchemaValidatingReader.cs : XmlSchemaValidationFlags is updated.
47 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
49 * XsdValidatingReader.cs, XmlSchemaValidatingReader.cs,
51 Dependent changes caused by XmlValueGetter changes.
53 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
55 * XsdValidatingReader.cs : XmlReader.ReadTypedValue() does not exist
56 anymore, so it is not override.
58 2005-09-30 Atsushi Enomoto <atsushi@ximian.com>
60 * XsdValidatingReader.cs: make ParserContext and its NamespaceManager
61 optional. This is for NVDL xsd support.
63 2005-09-30 Atsushi Enomoto <atsushi@ximian.com>
65 * XsdValidatingReader.cs: allow validation for such XmlReader whose
66 ReadState is Interactive (hold different "is started" flag). This
67 is a fix for nvdl support.
69 2005-09-25 Atsushi Enomoto <atsushi@ximian.com>
71 * XmlSchemaValidatingReader.cs: XmlSchemaValidationFlags updates.
73 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
75 * XsdValidationReader.cs: GetNamespacesInScope returns generic
76 IDictionary in .NET 2.0 Beta 2.
77 * XmlSchemaValidatingReader.cs: GetNamespacesInScope returns generic
78 IDictionary in .NET 2.0 Beta 2.
80 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
82 * XsdValidatingReader.cs : when xsi:schemaLocation could not be
83 resolved, it still does not raise error when corresponding schema
86 2005-05-05 Atsushi Enomoto <atsushi@ximian.com>
88 * XsdValidatingReader.cs :
89 removed atomicName related 2.0 members (deprecated in beta2).
91 2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
93 * XsdValidatingReader.cs : removed unused method which was warned.
95 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
97 * XsdValidatingReader.cs : XmlResolver.ResolveUri() may return null.
99 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
101 * XsdValidatingReader.cs : added ActualSchemaType to context type.
102 * XmlSchemaValidatingReader.cs : added SchemaInfo override.
104 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
106 * XsdParticleValidationState.cs :
107 Removed some unused or unnecessary members. Readonlify some members.
108 Added GetExpectedParticles(ArrayList) and overriden in all state
109 types, which is used in XmlSchemaValidator.GetExpectedParticles().
111 2004-12-15 Atsushi Enomoto <atsushi@ximian.com>
113 * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
114 XmlSchemaValidator.ValidateElement().
115 Removed some obsolete overrides.
117 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
119 * XmlSchemaValidatingReader.cs : new file; another XmlReader
120 implementation that handles XSD validation. It is an reference
121 application for XmlSchemaValidator.
122 * XsdValidatingReader.cs : Use readerLineInfo for IXmlLineInfo.
124 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
126 * XsdIdentityState.cs : use validation exception for 2.0.
127 ProcessMatch() does not have to return bool. Use break and continue
128 and reduced indentation.
129 * XsdValidatingReader.cs : use validation exception for 2.0.
130 Added new XsdIDManager class and id handling is delegated to it.
131 XmlQualifiedName -> QName. AssessElementLocallyValidElement() does
132 not need XmlSchemaElement (it is context). Moved some static
133 methods to XmlSchemaUtil.cs. Collected key constraints stuff to a
136 2004-12-13 Atsushi Enomoto <atsushi@ximian.com>
138 * XsdKeyTable.cs : eliminated XmlReader dependency.
139 * XsdValidatingReader.cs :
140 AssertIdentityConstraints() is now splited to selector validation
141 and field validation. Extracted EndKeyrefValidation() to process
143 Added ReadExternalSchema() and commonized xsi:schemaLocation
144 handling and xsi:noNamespaceSchemaLocation handling.
145 * XsdIdentityState.cs :
146 Eliminated XsdValidatingReader dependency.
147 In XsdKeyEntryField, renamed KeySequence to OwnerSequence.
148 XsdKeyEntryFieldCollection is now based on CollectionBase.
149 In XsdKeyEntry, FieldMatches() is renamed to ProcessMatch() and
150 modified to accept splited XsdValidatingReader members.
151 * XsdIdentityPath.cs : added default .ctor() and IsAttribute property.
153 2004-12-13 Atsushi Enomoto <atsushi@ximian.com>
155 * XsdIdentityState.cs,
157 XsdKeyTable.cs : fixed mixed line ending.
159 2004-12-11 Atsushi Enomoto <atsushi@ximian.com>
161 * XsdValidatingReader.cs,
162 XsdIdentityState.cs : more refactoring.
163 Reduced XmlReader dependency in identity constraint classes.
164 Hide State in XsdValidationContext.
165 Simplify character validation and state resetting.
166 Need more event deligation on ExamineAdditionalSchema().
167 Just cache attribute type directly instead of QName.
168 Use XmlSchemaUtil.ReadTypedValue() common code.
170 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
173 Replaced ArrayList with new XsdKeyEntryCollection type.
174 Workarounded bug #70419.
175 * XsdValidatingReader.cs : propagate validation event handler and
176 XmlResolver. And used them.
177 Renamed local variables a bit (unified to other blocks).
179 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
181 * XsdValidatingReader.cs,
182 XsdParticleValidationState.cs : Fixed the previous problem ==
183 inconsistent start assessment and end assessment.
184 More refactory: stateManager is just renamed to state, and its type
185 name is now XsdParticleStateManager.
186 Now Context is included in state.
187 Shortened lengthy xsd related type names with usingdecl.
189 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
191 * XsdValidatingReader.cs : mhm, something is wrong with call to
192 context.PopScope(). So quick fix and marked as FIXME.
194 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
196 * XsdParticleValidationState.cs : removed unused enum.
197 * XsdValidatingReader.cs : more refactoring. Validation process is
198 now strictly done only when not skipping (no side effect).
199 - elementQnameStack is used only in keyref resolution, so just moved
200 Pop() into EndElement block and thus removed popContext.
201 - Renamed currentQName to attrQName (only used for attribute).
202 - Create defaultAttributes array only when required.
203 So now XsdValidationContext has only Element, State and XsiType.
204 - It now just holds Stack for state objects (instead of Hashtable).
205 Child state is set inside StartElementSchemaValidity (it is kind
206 of StartTagCloseDeriv()).
209 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
211 * XsdValidatingReader.cs : more refactoring on XsdValidationContext.
212 context.Load() was unnecessary. SchemaType is not necessary.
213 SiblingState and Element are now not accessed externally.
215 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
217 * XsdValidatingReader.cs : more refactoring.
219 2004-12-08 Atsushi Enomoto <atsushi@ximian.com>
221 * XsdValidatingReader.cs : making smarter relationship between
222 XmlValidatingReader. Added ValidationEventHandler and ValidationType.
223 nonDefaultAttributeCount was extraneous.
224 Added 'checkIdentity' (i.e. !IgnoreIdentityConstraints).
225 DefaultAttributesCache property did make little sense, so just
226 reverted to ArrayList field.
228 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
230 * XsdValidatingReader.cs : warning elimination
232 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
234 * XsdValidatingReader.cs : commented out some fields and depending
235 code that are currently not used.
236 Fixed "one incorrect missing component handling" in the last commit
238 * XsdIdentityState.cs : removed unused fields and local variables.
240 2004-11-20 Atsushi Enomoto <atsushi@ximian.com>
242 * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
243 SchemaSet looks not compiled.
244 Fixed one incorrect missing component handling.
246 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
248 * XsdValidatingReader.cs : reuse NameTable on loading external schema.
250 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
252 * XsdValidatingReader.cs : optimized some ArrayList fields; create them
255 2004-08-20 Atsushi Enomoto <atsushi@ximian.com>
257 * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
259 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
261 * XsdValidatingReader.cs : replaced XmlSchemaCollection with
262 XmlSchemaSet. Removed unused code.
264 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
266 * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
268 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
270 * XsdIdentityPath.cs : removed unused code.
271 * XsdIdentityState.cs : Globalization.
273 2004-06-11 Atsushi Enomoto <atsushi@ximian.com>
275 * XsdValidatingReader.cs : Identity check didn't work fine when
276 reference node appeared in front of the target key node.
277 This fixes bug #59889.
279 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
281 * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
282 might be thrown in ctor() *after* stream open and before try-catch.
284 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
286 * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
289 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
291 * XsdIdentityPath.cs,
294 XsdParticleValidationState.cs,
295 XsdValidatingReader.cs,
296 XsdWildcard.cs : made classes internal. Removed extra TODO comments.
298 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
300 * XsdIdentityState.cs,
302 XsdParticleValidationState.cs,
303 XsdValidatingReader.cs,
304 XsdWildcard.cs : foreach elimination.
306 2004-02-04 Atsushi Enomoto <atsushi@ximian.com>
308 * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
309 AttributeCount counts its values (version, encoding, standalone).
311 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
313 * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
314 of anyURI. Just split names and handle as anyURI.
316 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
318 * XsdParticleValidationState.cs :
319 - Now it uses ContentTypeParticle as inputs, so no GroupRef
320 should occur anymore.
321 - xs:any should use ResolvedProcessContents. It fixes some errors.
322 * XsdValidatingReader.cs :
323 - Attribute wildcard validation should use ResolvedProcessContents.
324 - Use newly added XmlResolver field to resolve external schemas
325 specified by xsi:schemaLocation attributes.
326 - Added warning handler and raise warning events when instance-
327 specified schemas could not be resolved.
328 - xs:anyType should not be treated as a primitive datatype at
330 - Schema type was incorrectly remained when the element is laxly
333 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
335 * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
337 * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
338 xsi:type was specified.
339 Moved character validation inside AssessEndElementSchemaValidity().
341 2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
343 * XsdParticleValidationState.cs : Use ValidatedMaxOccurs instead of
344 MaxOccurs. (in the meantime)
345 * XsdValidatingReader.cs : "fixed" should not be treated as default.
346 * XsdWildcard.cs : several Wildcard Subset constraint related fixes.
348 2004-01-15 Atsushi Enomoto <atsushi@ximian.com>
350 * XsdValidatingReader.cs : Now use ValidatableParticle instead of
351 ContentTypeParticle. Use BaseXmlSchemaType.
353 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
355 * XsdIdentityState.cs :
356 Now takes xsi:nil value into consideration for comparison.
357 nsname:* was not handled correctly.
358 Reject complexType as key value type (it is dynamic instance error).
359 * XsdKeyTable.cs : remoed unused code.
360 * XsdValidatingReader.cs :
361 ID comparison was not done.
362 {final} value of attribute definition was not used for default value.
363 Get xsi:nil value from non-default value.
365 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
367 * XsdValidatingReader.cs :
368 Dependent change with XmlSchemaElement internal property.
370 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
372 * XsdValidatingReader.cs : Throw exception only in case of errors.
374 2004-01-08 Lluis Sanchez Gual <lluis@ximian.com>
376 * XsdValidatingReader.cs: In MoveToAttribute(name), if "name" is a default
377 attribute, search for the attribute ignoring the namespace. This matches
378 MS.NET behavior (and fixes bug #52557).
380 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
382 * XsdValidatingReader.cs : Fixed in reflection to
383 XmlSchemaObjectTableGetEnumerator.Value change.
385 2004-01-08 Nick Drochak <ndrochak@ieee.org>
387 * XsdParticleValidationState.cs: Remove unreachable code.
389 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
391 * XsdValidatingReader.cs : When source Reader has schema context, it
392 should return source's schema type if this class cannot provide it.
394 2003-12-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
396 * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet
397 validation should also be done.
399 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
401 * XsdValidatingReader.cs : FindElement() should use argument names
402 (patch by David Sheldon). Warning elimination.
404 2003-10-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
406 * XsdValidatingReader.cs : xsi:type should be normalized. More cleanup.
407 * XsdParticleValidationState.cs : Reverted default content processing
408 to lax. It is msxsdtest/wildCard/wildG038.xsd which looks incorrect.
410 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
412 * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
413 XmlValidatingreader as a result. Added xsi:nil normalization.
415 2003-10-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
417 * XsdParticleValidationState.cs : Default content processing shoule be
419 * XsdValidatingReader.cs : If there is no trial to get schemas for
420 namespaces, then validation against such namespace should be failed.
421 It now uses XmlSchemaAttribute.ValidatedUse instead of .Use.
422 * XsdWildcard.cs : Fixed incorrect intersection computing.
424 2003-10-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
426 * XsdKeyTable.cs : Reduced compilation warning.
427 * XsdParticleValidationState.cs : Reduced NotImplementedException.
428 * XsdValidatingReader.cs : Removed XmlResolver. Implemented more simple
429 type validation, such as list, union and facets.
431 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
433 * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
435 * XsdParticleValidationState.cs, XsdValidatingReader.cs:
436 Completely rewrote existing validation engine.
438 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
440 * XsdValidatingReader.cs,
441 XsdParticleValidationState.cs : Initial checkin.