2006-02-20 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / Mono.Xml.Schema / ChangeLog
1 2006-01-13  Atsushi Enomoto <atsushi@ximian.com>
2
3         * XsdValidatingReader.cs : whitespace nodes should be allowed inside
4           empty or element-only content types. Fixed bug #77241.
5
6 2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
7
8         * XmlSchemaValidatingReader.cs : removed unused constructors.
9           Now it implements IXmlSchemaInfo. Use XmlSchemaType instead of
10           Object to represent schema types.
11
12 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
13
14         * XsdValidatingReader.cs :
15           Don't use normalized string as input to AssessStringValid(). It 
16           incorrectly invalidates strings against simple types with length-
17           related facets.
18           Now that we don't ignore whitespaces, we need to explicitly allow
19           pure whitespace texts in ElementOnly/Empty model.
20
21 2005-12-26  Atsushi Enomoto <atsushi@ximian.com>
22
23         * XsdValidatingReader.cs : Fixed the bug that only the last schema
24           URL in a schemaLocation was processed. Patch by Vorobiev Maksim.
25
26 2005-12-12  Atsushi Enomoto <atsushi@ximian.com>
27
28         * XsdValidatingReader.cs : it is not IXmlNamespaceResolver anymore.
29
30 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
31
32         * XmlSchemaValidatingReader.cs : XmlSchemaValidationFlags is updated.
33
34 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
35
36         * XsdValidatingReader.cs, XmlSchemaValidatingReader.cs,
37           XsdIdentityState.cs :
38           Dependent changes caused by XmlValueGetter changes.
39
40 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
41
42         * XsdValidatingReader.cs : XmlReader.ReadTypedValue() does not exist 
43           anymore, so it is not override.
44
45 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
46
47         * XsdValidatingReader.cs: make ParserContext and its NamespaceManager
48           optional. This is for NVDL xsd support.
49
50 2005-09-30  Atsushi Enomoto <atsushi@ximian.com>
51
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.
55
56 2005-09-25  Atsushi Enomoto <atsushi@ximian.com>
57
58         * XmlSchemaValidatingReader.cs: XmlSchemaValidationFlags updates.
59
60 2005-08-03  Gert Driesen <drieseng@users.sourceforge.net>
61
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.
66
67 2005-07-28  Atsushi Enomoto <atsushi@ximian.com>
68
69         * XsdValidatingReader.cs : when xsi:schemaLocation could not be
70           resolved, it still does not raise error when corresponding schema
71           already exists.
72
73 2005-05-05  Atsushi Enomoto <atsushi@ximian.com>
74
75         * XsdValidatingReader.cs :
76           removed atomicName related 2.0 members (deprecated in beta2).
77
78 2005-03-22  Atsushi Enomoto <atsushi@ximian.com>
79
80         * XsdValidatingReader.cs : removed unused method which was warned.
81
82 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
83
84         * XsdValidatingReader.cs : XmlResolver.ResolveUri() may return null.
85
86 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
87
88         * XsdValidatingReader.cs : added ActualSchemaType to context type.
89         * XmlSchemaValidatingReader.cs : added SchemaInfo override.
90
91 2004-12-16  Atsushi Enomoto <atsushi@ximian.com>
92
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().
97
98 2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
99
100         * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
101           XmlSchemaValidator.ValidateElement().
102           Removed some obsolete overrides.
103
104 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
105
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.
110
111 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
112
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
121           region.
122
123 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
124
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
129           keyref constraints.
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.
139
140 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
141
142         * XsdIdentityState.cs,
143           XsdIdentityPath.cs,
144           XsdKeyTable.cs : fixed mixed line ending.
145
146 2004-12-11  Atsushi Enomoto <atsushi@ximian.com>
147
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.
156
157 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
158
159         * XsdKeyTable.cs :
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).
165
166 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
167
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.
175
176 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
177
178         * XsdValidatingReader.cs : mhm, something is wrong with call to
179           context.PopScope(). So quick fix and marked as FIXME.
180
181 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
182
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()).
194           - Removed Clear().
195
196 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
197
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.
201
202 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
203
204         * XsdValidatingReader.cs : more refactoring.
205
206 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
207
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.
214
215 2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
216
217         * XsdValidatingReader.cs : warning elimination
218
219 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
220
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
224           (it was correct).
225         * XsdIdentityState.cs : removed unused fields and local variables.
226
227 2004-11-20  Atsushi Enomoto  <atsushi@ximian.com>
228
229         * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
230           SchemaSet looks not compiled.
231           Fixed one incorrect missing component handling.
232
233 2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
234
235         * XsdValidatingReader.cs : reuse NameTable on loading external schema.
236
237 2004-11-07  Atsushi Enomoto  <atsushi@ximian.com>
238
239         * XsdValidatingReader.cs : optimized some ArrayList fields; create them
240           only when required.
241
242 2004-08-20  Atsushi Enomoto  <atsushi@ximian.com>
243
244         * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
245
246 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
247
248         * XsdValidatingReader.cs : replaced XmlSchemaCollection with
249           XmlSchemaSet. Removed unused code.
250
251 2004-08-03  Atsushi Enomoto <atsushi@ximian.com>
252
253         * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
254
255 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
256
257         * XsdIdentityPath.cs : removed unused code.
258         * XsdIdentityState.cs : Globalization.
259
260 2004-06-11  Atsushi Enomoto <atsushi@ximian.com>
261
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.
265
266 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
267
268         * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
269           might be thrown in ctor() *after* stream open and before try-catch.
270
271 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
272
273         * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
274           only atomized names.
275
276 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
277
278         * XsdIdentityPath.cs,
279           XsdIdentityState.cs,
280           XsdKeyTable.cs,
281           XsdParticleValidationState.cs,
282           XsdValidatingReader.cs,
283           XsdWildcard.cs : made classes internal. Removed extra TODO comments.
284
285 2004-02-08  Atsushi Enomoto <atsushi@ximian.com>
286
287         * XsdIdentityState.cs,
288           XsdKeyTable.cs,
289           XsdParticleValidationState.cs,
290           XsdValidatingReader.cs,
291           XsdWildcard.cs : foreach elimination.
292
293 2004-02-04  Atsushi Enomoto <atsushi@ximian.com>
294
295         * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
296           AttributeCount counts its values (version, encoding, standalone).
297
298 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
299
300         * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
301           of anyURI. Just split names and handle as anyURI.
302
303 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
304
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
316             xsi:type resolution.
317           - Schema type was incorrectly remained when the element is laxly
318             validated.
319
320 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
321
322         * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
323           than depth 2.
324         * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
325           xsi:type was specified.  
326           Moved character validation inside AssessEndElementSchemaValidity().
327
328 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
329
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.
334
335 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
336
337         * XsdValidatingReader.cs : Now use ValidatableParticle instead of
338           ContentTypeParticle.  Use BaseXmlSchemaType.
339
340 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
341
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.
351
352 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
353
354         * XsdValidatingReader.cs :
355           Dependent change with XmlSchemaElement internal property.
356
357 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
358
359         * XsdValidatingReader.cs : Throw exception only in case of errors.
360
361 2004-01-08  Lluis Sanchez Gual  <lluis@ximian.com>
362
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).
366
367 2004-01-08  Atsushi Enomoto <atsushi@ximian.com>
368
369         * XsdValidatingReader.cs : Fixed in reflection to 
370           XmlSchemaObjectTableGetEnumerator.Value change.
371
372 2004-01-08  Nick Drochak <ndrochak@ieee.org>
373
374         * XsdParticleValidationState.cs: Remove unreachable code.
375
376 2003-12-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
377
378         * XsdValidatingReader.cs : When source Reader has schema context, it
379           should return source's schema type if this class cannot provide it.
380
381 2003-12-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
382
383         * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet 
384           validation should also be done.
385
386 2003-12-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
387
388         * XsdValidatingReader.cs : FindElement() should use argument names
389           (patch by David Sheldon).  Warning elimination.
390
391 2003-10-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
392
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.
396
397 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
398
399         * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
400           XmlValidatingreader as a result. Added xsi:nil normalization.
401
402 2003-10-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
403
404         * XsdParticleValidationState.cs : Default content processing shoule be
405           lax.
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.
410
411 2003-10-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
412
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.
417
418 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
419
420         * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
421           and XsdWildcard.cs.
422         * XsdParticleValidationState.cs, XsdValidatingReader.cs:
423           Completely rewrote existing validation engine.
424
425 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
426
427         * XsdValidatingReader.cs,
428           XsdParticleValidationState.cs : Initial checkin.