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