1 2004-12-15 Atsushi Enomoto <atsushi@ximian.com>
3 * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
4 XmlSchemaValidator.ValidateElement().
5 Removed some obsolete overrides.
7 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
9 * XmlSchemaValidatingReader.cs : new file; another XmlReader
10 implementation that handles XSD validation. It is an reference
11 application for XmlSchemaValidator.
12 * XsdValidatingReader.cs : Use readerLineInfo for IXmlLineInfo.
14 2004-12-14 Atsushi Enomoto <atsushi@ximian.com>
16 * XsdIdentityState.cs : use validation exception for 2.0.
17 ProcessMatch() does not have to return bool. Use break and continue
18 and reduced indentation.
19 * XsdValidatingReader.cs : use validation exception for 2.0.
20 Added new XsdIDManager class and id handling is delegated to it.
21 XmlQualifiedName -> QName. AssessElementLocallyValidElement() does
22 not need XmlSchemaElement (it is context). Moved some static
23 methods to XmlSchemaUtil.cs. Collected key constraints stuff to a
26 2004-12-13 Atsushi Enomoto <atsushi@ximian.com>
28 * XsdKeyTable.cs : eliminated XmlReader dependency.
29 * XsdValidatingReader.cs :
30 AssertIdentityConstraints() is now splited to selector validation
31 and field validation. Extracted EndKeyrefValidation() to process
33 Added ReadExternalSchema() and commonized xsi:schemaLocation
34 handling and xsi:noNamespaceSchemaLocation handling.
35 * XsdIdentityState.cs :
36 Eliminated XsdValidatingReader dependency.
37 In XsdKeyEntryField, renamed KeySequence to OwnerSequence.
38 XsdKeyEntryFieldCollection is now based on CollectionBase.
39 In XsdKeyEntry, FieldMatches() is renamed to ProcessMatch() and
40 modified to accept splited XsdValidatingReader members.
41 * XsdIdentityPath.cs : added default .ctor() and IsAttribute property.
43 2004-12-13 Atsushi Enomoto <atsushi@ximian.com>
45 * XsdIdentityState.cs,
47 XsdKeyTable.cs : fixed mixed line ending.
49 2004-12-11 Atsushi Enomoto <atsushi@ximian.com>
51 * XsdValidatingReader.cs,
52 XsdIdentityState.cs : more refactoring.
53 Reduced XmlReader dependency in identity constraint classes.
54 Hide State in XsdValidationContext.
55 Simplify character validation and state resetting.
56 Need more event deligation on ExamineAdditionalSchema().
57 Just cache attribute type directly instead of QName.
58 Use XmlSchemaUtil.ReadTypedValue() common code.
60 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
63 Replaced ArrayList with new XsdKeyEntryCollection type.
64 Workarounded bug #70419.
65 * XsdValidatingReader.cs : propagate validation event handler and
66 XmlResolver. And used them.
67 Renamed local variables a bit (unified to other blocks).
69 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
71 * XsdValidatingReader.cs,
72 XsdParticleValidationState.cs : Fixed the previous problem ==
73 inconsistent start assessment and end assessment.
74 More refactory: stateManager is just renamed to state, and its type
75 name is now XsdParticleStateManager.
76 Now Context is included in state.
77 Shortened lengthy xsd related type names with usingdecl.
79 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
81 * XsdValidatingReader.cs : mhm, something is wrong with call to
82 context.PopScope(). So quick fix and marked as FIXME.
84 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
86 * XsdParticleValidationState.cs : removed unused enum.
87 * XsdValidatingReader.cs : more refactoring. Validation process is
88 now strictly done only when not skipping (no side effect).
89 - elementQnameStack is used only in keyref resolution, so just moved
90 Pop() into EndElement block and thus removed popContext.
91 - Renamed currentQName to attrQName (only used for attribute).
92 - Create defaultAttributes array only when required.
93 So now XsdValidationContext has only Element, State and XsiType.
94 - It now just holds Stack for state objects (instead of Hashtable).
95 Child state is set inside StartElementSchemaValidity (it is kind
96 of StartTagCloseDeriv()).
99 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
101 * XsdValidatingReader.cs : more refactoring on XsdValidationContext.
102 context.Load() was unnecessary. SchemaType is not necessary.
103 SiblingState and Element are now not accessed externally.
105 2004-12-09 Atsushi Enomoto <atsushi@ximian.com>
107 * XsdValidatingReader.cs : more refactoring.
109 2004-12-08 Atsushi Enomoto <atsushi@ximian.com>
111 * XsdValidatingReader.cs : making smarter relationship between
112 XmlValidatingReader. Added ValidationEventHandler and ValidationType.
113 nonDefaultAttributeCount was extraneous.
114 Added 'checkIdentity' (i.e. !IgnoreIdentityConstraints).
115 DefaultAttributesCache property did make little sense, so just
116 reverted to ArrayList field.
118 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
120 * XsdValidatingReader.cs : warning elimination
122 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
124 * XsdValidatingReader.cs : commented out some fields and depending
125 code that are currently not used.
126 Fixed "one incorrect missing component handling" in the last commit
128 * XsdIdentityState.cs : removed unused fields and local variables.
130 2004-11-20 Atsushi Enomoto <atsushi@ximian.com>
132 * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
133 SchemaSet looks not compiled.
134 Fixed one incorrect missing component handling.
136 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
138 * XsdValidatingReader.cs : reuse NameTable on loading external schema.
140 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
142 * XsdValidatingReader.cs : optimized some ArrayList fields; create them
145 2004-08-20 Atsushi Enomoto <atsushi@ximian.com>
147 * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
149 2004-08-10 Atsushi Enomoto <atsushi@ximian.com>
151 * XsdValidatingReader.cs : replaced XmlSchemaCollection with
152 XmlSchemaSet. Removed unused code.
154 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
156 * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
158 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
160 * XsdIdentityPath.cs : removed unused code.
161 * XsdIdentityState.cs : Globalization.
163 2004-06-11 Atsushi Enomoto <atsushi@ximian.com>
165 * XsdValidatingReader.cs : Identity check didn't work fine when
166 reference node appeared in front of the target key node.
167 This fixes bug #59889.
169 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
171 * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
172 might be thrown in ctor() *after* stream open and before try-catch.
174 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
176 * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
179 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
181 * XsdIdentityPath.cs,
184 XsdParticleValidationState.cs,
185 XsdValidatingReader.cs,
186 XsdWildcard.cs : made classes internal. Removed extra TODO comments.
188 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
190 * XsdIdentityState.cs,
192 XsdParticleValidationState.cs,
193 XsdValidatingReader.cs,
194 XsdWildcard.cs : foreach elimination.
196 2004-02-04 Atsushi Enomoto <atsushi@ximian.com>
198 * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
199 AttributeCount counts its values (version, encoding, standalone).
201 2004-02-03 Atsushi Enomoto <atsushi@ximian.com>
203 * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
204 of anyURI. Just split names and handle as anyURI.
206 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
208 * XsdParticleValidationState.cs :
209 - Now it uses ContentTypeParticle as inputs, so no GroupRef
210 should occur anymore.
211 - xs:any should use ResolvedProcessContents. It fixes some errors.
212 * XsdValidatingReader.cs :
213 - Attribute wildcard validation should use ResolvedProcessContents.
214 - Use newly added XmlResolver field to resolve external schemas
215 specified by xsi:schemaLocation attributes.
216 - Added warning handler and raise warning events when instance-
217 specified schemas could not be resolved.
218 - xs:anyType should not be treated as a primitive datatype at
220 - Schema type was incorrectly remained when the element is laxly
223 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
225 * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
227 * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
228 xsi:type was specified.
229 Moved character validation inside AssessEndElementSchemaValidity().
231 2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
233 * XsdParticleValidationState.cs : Use ValidatedMaxOccurs instead of
234 MaxOccurs. (in the meantime)
235 * XsdValidatingReader.cs : "fixed" should not be treated as default.
236 * XsdWildcard.cs : several Wildcard Subset constraint related fixes.
238 2004-01-15 Atsushi Enomoto <atsushi@ximian.com>
240 * XsdValidatingReader.cs : Now use ValidatableParticle instead of
241 ContentTypeParticle. Use BaseXmlSchemaType.
243 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
245 * XsdIdentityState.cs :
246 Now takes xsi:nil value into consideration for comparison.
247 nsname:* was not handled correctly.
248 Reject complexType as key value type (it is dynamic instance error).
249 * XsdKeyTable.cs : remoed unused code.
250 * XsdValidatingReader.cs :
251 ID comparison was not done.
252 {final} value of attribute definition was not used for default value.
253 Get xsi:nil value from non-default value.
255 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
257 * XsdValidatingReader.cs :
258 Dependent change with XmlSchemaElement internal property.
260 2004-01-13 Atsushi Enomoto <atsushi@ximian.com>
262 * XsdValidatingReader.cs : Throw exception only in case of errors.
264 2004-01-08 Lluis Sanchez Gual <lluis@ximian.com>
266 * XsdValidatingReader.cs: In MoveToAttribute(name), if "name" is a default
267 attribute, search for the attribute ignoring the namespace. This matches
268 MS.NET behavior (and fixes bug #52557).
270 2004-01-08 Atsushi Enomoto <atsushi@ximian.com>
272 * XsdValidatingReader.cs : Fixed in reflection to
273 XmlSchemaObjectTableGetEnumerator.Value change.
275 2004-01-08 Nick Drochak <ndrochak@ieee.org>
277 * XsdParticleValidationState.cs: Remove unreachable code.
279 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
281 * XsdValidatingReader.cs : When source Reader has schema context, it
282 should return source's schema type if this class cannot provide it.
284 2003-12-08 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
286 * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet
287 validation should also be done.
289 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
291 * XsdValidatingReader.cs : FindElement() should use argument names
292 (patch by David Sheldon). Warning elimination.
294 2003-10-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
296 * XsdValidatingReader.cs : xsi:type should be normalized. More cleanup.
297 * XsdParticleValidationState.cs : Reverted default content processing
298 to lax. It is msxsdtest/wildCard/wildG038.xsd which looks incorrect.
300 2003-10-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
302 * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
303 XmlValidatingreader as a result. Added xsi:nil normalization.
305 2003-10-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
307 * XsdParticleValidationState.cs : Default content processing shoule be
309 * XsdValidatingReader.cs : If there is no trial to get schemas for
310 namespaces, then validation against such namespace should be failed.
311 It now uses XmlSchemaAttribute.ValidatedUse instead of .Use.
312 * XsdWildcard.cs : Fixed incorrect intersection computing.
314 2003-10-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
316 * XsdKeyTable.cs : Reduced compilation warning.
317 * XsdParticleValidationState.cs : Reduced NotImplementedException.
318 * XsdValidatingReader.cs : Removed XmlResolver. Implemented more simple
319 type validation, such as list, union and facets.
321 2003-09-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
323 * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
325 * XsdParticleValidationState.cs, XsdValidatingReader.cs:
326 Completely rewrote existing validation engine.
328 2003-08-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
330 * XsdValidatingReader.cs,
331 XsdParticleValidationState.cs : Initial checkin.