New test.
[mono.git] / mcs / class / System.XML / Mono.Xml.Schema / ChangeLog
1 2006-08-04  Atsushi Enomoto <atsushi@ximian.com>
2
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).
7
8 2006-04-12  Atsushi Enomoto <atsushi@ximian.com>
9
10         * XmlSchemaValidatingReader.cs : don't reject such XmlReader that
11           does not implement IXmlNamespaceResolver.
12
13 2006-02-20  Atsushi Enomoto <atsushi@ximian.com>
14
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).
20
21 2006-01-13  Atsushi Enomoto <atsushi@ximian.com>
22
23         * XsdValidatingReader.cs : whitespace nodes should be allowed inside
24           empty or element-only content types. Fixed bug #77241.
25
26 2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
27
28         * XmlSchemaValidatingReader.cs : removed unused constructors.
29           Now it implements IXmlSchemaInfo. Use XmlSchemaType instead of
30           Object to represent schema types.
31
32 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
33
34         * XsdValidatingReader.cs :
35           Don't use normalized string as input to AssessStringValid(). It 
36           incorrectly invalidates strings against simple types with length-
37           related facets.
38           Now that we don't ignore whitespaces, we need to explicitly allow
39           pure whitespace texts in ElementOnly/Empty model.
40
41 2005-12-26  Atsushi Enomoto <atsushi@ximian.com>
42
43         * XsdValidatingReader.cs : Fixed the bug that only the last schema
44           URL in a schemaLocation was processed. Patch by Vorobiev Maksim.
45
46 2005-12-12  Atsushi Enomoto <atsushi@ximian.com>
47
48         * XsdValidatingReader.cs : it is not IXmlNamespaceResolver anymore.
49
50 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
51
52         * XmlSchemaValidatingReader.cs : XmlSchemaValidationFlags is updated.
53
54 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
55
56         * XsdValidatingReader.cs, XmlSchemaValidatingReader.cs,
57           XsdIdentityState.cs :
58           Dependent changes caused by XmlValueGetter changes.
59
60 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
61
62         * XsdValidatingReader.cs : XmlReader.ReadTypedValue() does not exist 
63           anymore, so it is not override.
64
65 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
66
67         * XsdValidatingReader.cs: make ParserContext and its NamespaceManager
68           optional. This is for NVDL xsd support.
69
70 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
71
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.
75
76 2005-09-25  Atsushi Enomoto <atsushi@ximian.com>
77
78         * XmlSchemaValidatingReader.cs: XmlSchemaValidationFlags updates.
79
80 2005-08-03  Gert Driesen <drieseng@users.sourceforge.net>
81
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.
86
87 2005-07-28  Atsushi Enomoto <atsushi@ximian.com>
88
89         * XsdValidatingReader.cs : when xsi:schemaLocation could not be
90           resolved, it still does not raise error when corresponding schema
91           already exists.
92
93 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
94
95         * XsdValidatingReader.cs :
96           removed atomicName related 2.0 members (deprecated in beta2).
97
98 2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
99
100         * XsdValidatingReader.cs : removed unused method which was warned.
101
102 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
103
104         * XsdValidatingReader.cs : XmlResolver.ResolveUri() may return null.
105
106 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
107
108         * XsdValidatingReader.cs : added ActualSchemaType to context type.
109         * XmlSchemaValidatingReader.cs : added SchemaInfo override.
110
111 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
112
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().
117
118 2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
119
120         * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
121           XmlSchemaValidator.ValidateElement().
122           Removed some obsolete overrides.
123
124 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
125
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.
130
131 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
132
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
141           region.
142
143 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
144
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
149           keyref constraints.
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.
159
160 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
161
162         * XsdIdentityState.cs,
163           XsdIdentityPath.cs,
164           XsdKeyTable.cs : fixed mixed line ending.
165
166 2004-12-11  Atsushi Enomoto <atsushi@ximian.com>
167
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.
176
177 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
178
179         * XsdKeyTable.cs :
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).
185
186 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
187
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.
195
196 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
197
198         * XsdValidatingReader.cs : mhm, something is wrong with call to
199           context.PopScope(). So quick fix and marked as FIXME.
200
201 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
202
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()).
214           - Removed Clear().
215
216 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
217
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.
221
222 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
223
224         * XsdValidatingReader.cs : more refactoring.
225
226 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
227
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.
234
235 2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * XsdValidatingReader.cs : warning elimination
238
239 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
240
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
244           (it was correct).
245         * XsdIdentityState.cs : removed unused fields and local variables.
246
247 2004-11-20  Atsushi Enomoto  <atsushi@ximian.com>
248
249         * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
250           SchemaSet looks not compiled.
251           Fixed one incorrect missing component handling.
252
253 2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
254
255         * XsdValidatingReader.cs : reuse NameTable on loading external schema.
256
257 2004-11-07  Atsushi Enomoto  <atsushi@ximian.com>
258
259         * XsdValidatingReader.cs : optimized some ArrayList fields; create them
260           only when required.
261
262 2004-08-20  Atsushi Enomoto  <atsushi@ximian.com>
263
264         * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
265
266 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
267
268         * XsdValidatingReader.cs : replaced XmlSchemaCollection with
269           XmlSchemaSet. Removed unused code.
270
271 2004-08-03  Atsushi Enomoto <atsushi@ximian.com>
272
273         * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
274
275 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
276
277         * XsdIdentityPath.cs : removed unused code.
278         * XsdIdentityState.cs : Globalization.
279
280 2004-06-11  Atsushi Enomoto <atsushi@ximian.com>
281
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.
285
286 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
287
288         * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
289           might be thrown in ctor() *after* stream open and before try-catch.
290
291 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
292
293         * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
294           only atomized names.
295
296 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
297
298         * XsdIdentityPath.cs,
299           XsdIdentityState.cs,
300           XsdKeyTable.cs,
301           XsdParticleValidationState.cs,
302           XsdValidatingReader.cs,
303           XsdWildcard.cs : made classes internal. Removed extra TODO comments.
304
305 2004-02-08  Atsushi Enomoto <atsushi@ximian.com>
306
307         * XsdIdentityState.cs,
308           XsdKeyTable.cs,
309           XsdParticleValidationState.cs,
310           XsdValidatingReader.cs,
311           XsdWildcard.cs : foreach elimination.
312
313 2004-02-04  Atsushi Enomoto <atsushi@ximian.com>
314
315         * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
316           AttributeCount counts its values (version, encoding, standalone).
317
318 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
319
320         * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
321           of anyURI. Just split names and handle as anyURI.
322
323 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
324
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
336             xsi:type resolution.
337           - Schema type was incorrectly remained when the element is laxly
338             validated.
339
340 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
341
342         * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
343           than depth 2.
344         * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
345           xsi:type was specified.  
346           Moved character validation inside AssessEndElementSchemaValidity().
347
348 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
349
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.
354
355 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
356
357         * XsdValidatingReader.cs : Now use ValidatableParticle instead of
358           ContentTypeParticle.  Use BaseXmlSchemaType.
359
360 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
361
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.
371
372 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
373
374         * XsdValidatingReader.cs :
375           Dependent change with XmlSchemaElement internal property.
376
377 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
378
379         * XsdValidatingReader.cs : Throw exception only in case of errors.
380
381 2004-01-08  Lluis Sanchez Gual  <lluis@ximian.com>
382
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).
386
387 2004-01-08  Atsushi Enomoto <atsushi@ximian.com>
388
389         * XsdValidatingReader.cs : Fixed in reflection to 
390           XmlSchemaObjectTableGetEnumerator.Value change.
391
392 2004-01-08  Nick Drochak <ndrochak@ieee.org>
393
394         * XsdParticleValidationState.cs: Remove unreachable code.
395
396 2003-12-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
397
398         * XsdValidatingReader.cs : When source Reader has schema context, it
399           should return source's schema type if this class cannot provide it.
400
401 2003-12-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
402
403         * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet 
404           validation should also be done.
405
406 2003-12-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
407
408         * XsdValidatingReader.cs : FindElement() should use argument names
409           (patch by David Sheldon).  Warning elimination.
410
411 2003-10-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
412
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.
416
417 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
418
419         * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
420           XmlValidatingreader as a result. Added xsi:nil normalization.
421
422 2003-10-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
423
424         * XsdParticleValidationState.cs : Default content processing shoule be
425           lax.
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.
430
431 2003-10-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
432
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.
437
438 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
439
440         * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
441           and XsdWildcard.cs.
442         * XsdParticleValidationState.cs, XsdValidatingReader.cs:
443           Completely rewrote existing validation engine.
444
445 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
446
447         * XsdValidatingReader.cs,
448           XsdParticleValidationState.cs : Initial checkin.