2004-12-15 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / Mono.Xml.Schema / ChangeLog
1 2004-12-15  Atsushi Enomoto <atsushi@ximian.com>
2
3         * XmlSchemaValidatingReader.cs : xsi:* attributes are now handled via
4           XmlSchemaValidator.ValidateElement().
5           Removed some obsolete overrides.
6
7 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
8
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.
13
14 2004-12-14  Atsushi Enomoto <atsushi@ximian.com>
15
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
24           region.
25
26 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
27
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
32           keyref constraints.
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.
42
43 2004-12-13  Atsushi Enomoto <atsushi@ximian.com>
44
45         * XsdIdentityState.cs,
46           XsdIdentityPath.cs,
47           XsdKeyTable.cs : fixed mixed line ending.
48
49 2004-12-11  Atsushi Enomoto <atsushi@ximian.com>
50
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.
59
60 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
61
62         * XsdKeyTable.cs :
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).
68
69 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
70
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.
78
79 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
80
81         * XsdValidatingReader.cs : mhm, something is wrong with call to
82           context.PopScope(). So quick fix and marked as FIXME.
83
84 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
85
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()).
97           - Removed Clear().
98
99 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
100
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.
104
105 2004-12-09  Atsushi Enomoto <atsushi@ximian.com>
106
107         * XsdValidatingReader.cs : more refactoring.
108
109 2004-12-08  Atsushi Enomoto <atsushi@ximian.com>
110
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.
117
118 2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
119
120         * XsdValidatingReader.cs : warning elimination
121
122 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
123
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
127           (it was correct).
128         * XsdIdentityState.cs : removed unused fields and local variables.
129
130 2004-11-20  Atsushi Enomoto  <atsushi@ximian.com>
131
132         * XsdValidatingReader.cs : quick fix for bug #69620. In some cases
133           SchemaSet looks not compiled.
134           Fixed one incorrect missing component handling.
135
136 2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
137
138         * XsdValidatingReader.cs : reuse NameTable on loading external schema.
139
140 2004-11-07  Atsushi Enomoto  <atsushi@ximian.com>
141
142         * XsdValidatingReader.cs : optimized some ArrayList fields; create them
143           only when required.
144
145 2004-08-20  Atsushi Enomoto  <atsushi@ximian.com>
146
147         * XsdValidatingReader.cs : ReadTypedValue() is override under 2_0.
148
149 2004-08-10  Atsushi Enomoto <atsushi@ximian.com>
150
151         * XsdValidatingReader.cs : replaced XmlSchemaCollection with
152           XmlSchemaSet. Removed unused code.
153
154 2004-08-03  Atsushi Enomoto <atsushi@ximian.com>
155
156         * XsdValidatingReader.cs : implemented 2.0 IXmlNamespaceResolver.
157
158 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
159
160         * XsdIdentityPath.cs : removed unused code.
161         * XsdIdentityState.cs : Globalization.
162
163 2004-06-11  Atsushi Enomoto <atsushi@ximian.com>
164
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.
168
169 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
170
171         * XsdValidatingReader.cs : Close XmlTextReader more strictly. Exception
172           might be thrown in ctor() *after* stream open and before try-catch.
173
174 2004-06-03  Atsushi Enomoto <atsushi@ximian.com>
175
176         * XsdValidatingReader.cs : XmlNamespaceManager.LookupPrefix() allows
177           only atomized names.
178
179 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
180
181         * XsdIdentityPath.cs,
182           XsdIdentityState.cs,
183           XsdKeyTable.cs,
184           XsdParticleValidationState.cs,
185           XsdValidatingReader.cs,
186           XsdWildcard.cs : made classes internal. Removed extra TODO comments.
187
188 2004-02-08  Atsushi Enomoto <atsushi@ximian.com>
189
190         * XsdIdentityState.cs,
191           XsdKeyTable.cs,
192           XsdParticleValidationState.cs,
193           XsdValidatingReader.cs,
194           XsdWildcard.cs : foreach elimination.
195
196 2004-02-04  Atsushi Enomoto <atsushi@ximian.com>
197
198         * XsdValidatingReader.cs : When the reader points at XmlDeclaration,
199           AttributeCount counts its values (version, encoding, standalone).
200
201 2004-02-03  Atsushi Enomoto <atsushi@ximian.com>
202
203         * XsdValidatingReader.cs : schemaLocation is not NMTOKENS. It is list
204           of anyURI. Just split names and handle as anyURI.
205
206 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
207
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
219             xsi:type resolution.
220           - Schema type was incorrectly remained when the element is laxly
221             validated.
222
223 2004-01-21  Atsushi Enomoto <atsushi@ximian.com>
224
225         * XsdKeyTable.cs : Matching evaluation is incorrect when path is more
226           than depth 2.
227         * XsdValidatingReader.cs : Should clear LocalTypeDefinition when no
228           xsi:type was specified.  
229           Moved character validation inside AssessEndElementSchemaValidity().
230
231 2004-01-20  Atsushi Enomoto <atsushi@ximian.com>
232
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.
237
238 2004-01-15  Atsushi Enomoto <atsushi@ximian.com>
239
240         * XsdValidatingReader.cs : Now use ValidatableParticle instead of
241           ContentTypeParticle.  Use BaseXmlSchemaType.
242
243 2004-01-14  Atsushi Enomoto <atsushi@ximian.com>
244
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.
254
255 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
256
257         * XsdValidatingReader.cs :
258           Dependent change with XmlSchemaElement internal property.
259
260 2004-01-13  Atsushi Enomoto <atsushi@ximian.com>
261
262         * XsdValidatingReader.cs : Throw exception only in case of errors.
263
264 2004-01-08  Lluis Sanchez Gual  <lluis@ximian.com>
265
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).
269
270 2004-01-08  Atsushi Enomoto <atsushi@ximian.com>
271
272         * XsdValidatingReader.cs : Fixed in reflection to 
273           XmlSchemaObjectTableGetEnumerator.Value change.
274
275 2004-01-08  Nick Drochak <ndrochak@ieee.org>
276
277         * XsdParticleValidationState.cs: Remove unreachable code.
278
279 2003-12-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
280
281         * XsdValidatingReader.cs : When source Reader has schema context, it
282           should return source's schema type if this class cannot provide it.
283
284 2003-12-08  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
285
286         * XsdValidatingReader.cs : patch by David Sheldon. Base type's facet 
287           validation should also be done.
288
289 2003-12-07  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
290
291         * XsdValidatingReader.cs : FindElement() should use argument names
292           (patch by David Sheldon).  Warning elimination.
293
294 2003-10-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
295
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.
299
300 2003-10-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
301
302         * XsdValidatingReader.cs : Removed MonoTODO which was implemented in
303           XmlValidatingreader as a result. Added xsi:nil normalization.
304
305 2003-10-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
306
307         * XsdParticleValidationState.cs : Default content processing shoule be
308           lax.
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.
313
314 2003-10-21  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
315
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.
320
321 2003-09-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
322
323         * added XsdIdentityPath.cs, XsdIdentityState.cs, XsdKeyTable.cs
324           and XsdWildcard.cs.
325         * XsdParticleValidationState.cs, XsdValidatingReader.cs:
326           Completely rewrote existing validation engine.
327
328 2003-08-24  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
329
330         * XsdValidatingReader.cs,
331           XsdParticleValidationState.cs : Initial checkin.