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