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