254763ac5f96517f3c3dcb8c31d0f4db85af784a
[mono.git] / mcs / class / System.XML / Mono.Xml.Schema / ChangeLog
1 2006-10-27  Atsushi Enomoto <atsushi@ximian.com>
2
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.
6
7 2006-08-04  Atsushi Enomoto <atsushi@ximian.com>
8
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).
13
14 2006-04-12  Atsushi Enomoto <atsushi@ximian.com>
15
16         * XmlSchemaValidatingReader.cs : don't reject such XmlReader that
17           does not implement IXmlNamespaceResolver.
18
19 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
20
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).
26
27 2006-01-13  Atsushi Enomoto <atsushi@ximian.com>
28
29         * XsdValidatingReader.cs : whitespace nodes should be allowed inside
30           empty or element-only content types. Fixed bug #77241.
31
32 2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
33
34         * XmlSchemaValidatingReader.cs : removed unused constructors.
35           Now it implements IXmlSchemaInfo. Use XmlSchemaType instead of
36           Object to represent schema types.
37
38 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
39
40         * XsdValidatingReader.cs :
41           Don't use normalized string as input to AssessStringValid(). It 
42           incorrectly invalidates strings against simple types with length-
43           related facets.
44           Now that we don't ignore whitespaces, we need to explicitly allow
45           pure whitespace texts in ElementOnly/Empty model.
46
47 2005-12-26  Atsushi Enomoto <atsushi@ximian.com>
48
49         * XsdValidatingReader.cs : Fixed the bug that only the last schema
50           URL in a schemaLocation was processed. Patch by Vorobiev Maksim.
51
52 2005-12-12  Atsushi Enomoto <atsushi@ximian.com>
53
54         * XsdValidatingReader.cs : it is not IXmlNamespaceResolver anymore.
55
56 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
57
58         * XmlSchemaValidatingReader.cs : XmlSchemaValidationFlags is updated.
59
60 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
61
62         * XsdValidatingReader.cs, XmlSchemaValidatingReader.cs,
63           XsdIdentityState.cs :
64           Dependent changes caused by XmlValueGetter changes.
65
66 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
67
68         * XsdValidatingReader.cs : XmlReader.ReadTypedValue() does not exist 
69           anymore, so it is not override.
70
71 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
72
73         * XsdValidatingReader.cs: make ParserContext and its NamespaceManager
74           optional. This is for NVDL xsd support.
75
76 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
77
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.
81
82 2005-09-25  Atsushi Enomoto <atsushi@ximian.com>
83
84         * XmlSchemaValidatingReader.cs: XmlSchemaValidationFlags updates.
85
86 2005-08-03  Gert Driesen <drieseng@users.sourceforge.net>
87
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.
92
93 2005-07-28  Atsushi Enomoto <atsushi@ximian.com>
94
95         * XsdValidatingReader.cs : when xsi:schemaLocation could not be
96           resolved, it still does not raise error when corresponding schema
97           already exists.
98
99 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
100
101         * XsdValidatingReader.cs :
102           removed atomicName related 2.0 members (deprecated in beta2).
103
104 2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
105
106         * XsdValidatingReader.cs : removed unused method which was warned.
107
108 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
109
110         * XsdValidatingReader.cs : XmlResolver.ResolveUri() may return null.
111
112 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
113
114         * XsdValidatingReader.cs : added ActualSchemaType to context type.
115         * XmlSchemaValidatingReader.cs : added SchemaInfo override.
116
117 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
118
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().
123
124 2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
125
126         * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
127           XmlSchemaValidator.ValidateElement().
128           Removed some obsolete overrides.
129
130 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
131
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.
136
137 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
138
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
147           region.
148
149 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
150
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
155           keyref constraints.
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.
165
166 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
167
168         * XsdIdentityState.cs,
169           XsdIdentityPath.cs,
170           XsdKeyTable.cs : fixed mixed line ending.
171
172 2004-12-11  Atsushi Enomoto <atsushi@ximian.com>
173
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.
182
183 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
184
185         * XsdKeyTable.cs :
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).
191
192 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
193
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.
201
202 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
203
204         * XsdValidatingReader.cs : mhm, something is wrong with call to
205           context.PopScope(). So quick fix and marked as FIXME.
206
207 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
208
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()).
220           - Removed Clear().
221
222 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
223
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.
227
228 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
229
230         * XsdValidatingReader.cs : more refactoring.
231
232 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
233
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.
240
241 2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
242
243         * XsdValidatingReader.cs : warning elimination
244
245 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
246
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
250           (it was correct).
251         * XsdIdentityState.cs : removed unused fields and local variables.
252
253 2004-11-20  Atsushi Enomoto  <atsushi@ximian.com>
254
255         * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
256           SchemaSet looks not compiled.
257           Fixed one incorrect missing component handling.
258
259 2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
260
261         * XsdValidatingReader.cs : reuse NameTable on loading external schema.
262
263 2004-11-07  Atsushi Enomoto  <atsushi@ximian.com>
264
265         * XsdValidatingReader.cs : optimized some ArrayList fields; create them
266           only when required.
267
268 2004-08-20  Atsushi Enomoto  <atsushi@ximian.com>
269
270         * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
271
272 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
273
274         * XsdValidatingReader.cs : replaced XmlSchemaCollection with
275           XmlSchemaSet. Removed unused code.
276
277 2004-08-03  Atsushi Enomoto <atsushi@ximian.com>
278
279         * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
280
281 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
282
283         * XsdIdentityPath.cs : removed unused code.
284         * XsdIdentityState.cs : Globalization.
285
286 2004-06-11  Atsushi Enomoto <atsushi@ximian.com>
287
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.
291
292 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
293
294         * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
295           might be thrown in ctor() *after* stream open and before try-catch.
296
297 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
298
299         * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
300           only atomized names.
301
302 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
303
304         * XsdIdentityPath.cs,
305           XsdIdentityState.cs,
306           XsdKeyTable.cs,
307           XsdParticleValidationState.cs,
308           XsdValidatingReader.cs,
309           XsdWildcard.cs : made classes internal. Removed extra TODO comments.
310
311 2004-02-08  Atsushi Enomoto <atsushi@ximian.com>
312
313         * XsdIdentityState.cs,
314           XsdKeyTable.cs,
315           XsdParticleValidationState.cs,
316           XsdValidatingReader.cs,
317           XsdWildcard.cs : foreach elimination.
318
319 2004-02-04  Atsushi Enomoto <atsushi@ximian.com>
320
321         * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
322           AttributeCount counts its values (version, encoding, standalone).
323
324 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
325
326         * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
327           of anyURI. Just split names and handle as anyURI.
328
329 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
330
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
342             xsi:type resolution.
343           - Schema type was incorrectly remained when the element is laxly
344             validated.
345
346 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
347
348         * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
349           than depth 2.
350         * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
351           xsi:type was specified.  
352           Moved character validation inside AssessEndElementSchemaValidity().
353
354 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
355
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.
360
361 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
362
363         * XsdValidatingReader.cs : Now use ValidatableParticle instead of
364           ContentTypeParticle.  Use BaseXmlSchemaType.
365
366 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
367
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.
377
378 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
379
380         * XsdValidatingReader.cs :
381           Dependent change with XmlSchemaElement internal property.
382
383 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
384
385         * XsdValidatingReader.cs : Throw exception only in case of errors.
386
387 2004-01-08  Lluis Sanchez Gual  <lluis@ximian.com>
388
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).
392
393 2004-01-08  Atsushi Enomoto <atsushi@ximian.com>
394
395         * XsdValidatingReader.cs : Fixed in reflection to 
396           XmlSchemaObjectTableGetEnumerator.Value change.
397
398 2004-01-08  Nick Drochak <ndrochak@ieee.org>
399
400         * XsdParticleValidationState.cs: Remove unreachable code.
401
402 2003-12-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
403
404         * XsdValidatingReader.cs : When source Reader has schema context, it
405           should return source's schema type if this class cannot provide it.
406
407 2003-12-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
408
409         * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet 
410           validation should also be done.
411
412 2003-12-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
413
414         * XsdValidatingReader.cs : FindElement() should use argument names
415           (patch by David Sheldon).  Warning elimination.
416
417 2003-10-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
418
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.
422
423 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
424
425         * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
426           XmlValidatingreader as a result. Added xsi:nil normalization.
427
428 2003-10-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
429
430         * XsdParticleValidationState.cs : Default content processing shoule be
431           lax.
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.
436
437 2003-10-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
438
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.
443
444 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
445
446         * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
447           and XsdWildcard.cs.
448         * XsdParticleValidationState.cs, XsdValidatingReader.cs:
449           Completely rewrote existing validation engine.
450
451 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
452
453         * XsdValidatingReader.cs,
454           XsdParticleValidationState.cs : Initial checkin.