do not export twice simple types
[mono.git] / mcs / class / System.XML / System.Xml.Serialization / ChangeLog
1 2007-04-19  Konstantin Triger <kostat@mainsoft.com>
2
3         * XmlSchemaExporter.cs: do not export twice simple types.
4
5 2007-04-10  Atsushi Enomoto  <atsushi@ximian.com>
6
7         * TypeData.cs : forgot NET_2_0.
8
9 2007-04-10  Atsushi Enomoto  <atsushi@ximian.com>
10
11         * TypeData.cs : in get_ListItemTypeData(), check generic ICollection
12           as well as non-generic one. Fixed bug #81341. Though the type check
13           looks like an aggregation of bugfix hacks and there should be some
14           kind of sane refactoring, to throw best-suited errors.
15
16 2007-02-28  Atsushi Enomoto  <atsushi@ximian.com>
17
18         * SerializationCodeGenerator.cs : fix wrong name comparison:
19           Name->LocalName. Add hacky TARGET_JVM support (hope it is harmless).
20
21 2007-02-20  Atsushi Enomoto  <atsushi@ximian.com>
22
23         * SerializationCodeGenerator.cs,
24           XmlSerializationReaderInterpreter.cs :
25           Handle attributes on non-empty elements as well. Fixed bug #80131.
26
27 2007-02-20  Atsushi Enomoto  <atsushi@ximian.com>
28
29         * SerializationCodeGenerator.cs,
30           XmlSerializationReaderInterpreter.cs :
31           Handle empty root element.
32           Read out attribute parameters. To do that, split attribute
33           reader part from ReadMembers(), as it isn't invoked when the
34           element is empty.
35
36 2007-02-19  Atsushi Enomoto  <atsushi@ximian.com>
37
38         * XmlTypeMapElementInfo.cs : set nullable if the type is Nullable<T>.
39
40 2007-02-19  Atsushi Enomoto  <atsushi@ximian.com>
41
42         * XmlReflectionImporter.cs : CanBeNull() should return true when the
43           argument is generic nullable value type.
44
45 2007-02-19  Atsushi Enomoto  <atsushi@ximian.com>
46
47         * TypeData.cs, MapCodeGenerator.cs, XmlMemberMapping.cs,
48           TypeTranslator.cs : removed IsGenericNullable and added
49           set_IsNullable so that it could be simpler.
50
51 2007-02-19  Atsushi Enomoto  <atsushi@ximian.com>
52
53         * SerializationCodeGenerator.cs, XmlMappingAccess.cs,
54           SerializationCodeGeneratorConfiguration.cs : replaced HookDir with
55           XmlMappingAccess.
56
57 2007-02-19  Atsushi Enomoto  <atsushi@ximian.com>
58
59         * SerializationCodeGenerator.cs : hooks won't work unless they are
60           set. For WriteStartElement() it could simply embed the names.
61
62 2007-02-14  Atsushi Enomoto  <atsushi@ximian.com>
63
64         * XmlTypeMapMember.cs : don't use readonly [Foo]Specified property
65           as nil-condition member. Fixed bug #80759.
66
67 2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
68
69         * SoapReflectionImporter.cs : for primitive types, set predefined
70           namespaces, regardless of the actual specification.
71
72 2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
73
74         * XmlSerializationWriter.cs : WriteTypedPrimitive() does not support
75           XmlNode arrays.
76         * XmlSerializationWriterInterpreter.cs,
77           SerializationCodeGenerator.cs : so they have to be handled here.
78
79 2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
80
81         * XmlSerializationWriter.cs : WriteTypedPrimitive() infers the type
82           when the name is null (almost no need to do this, but it is easier
83           to remove NotWorking from extraneous tests and let them hush than
84           removing them).
85
86 2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
87
88         * XmlSerializationWriter.cs : callbacks could be kept null.
89
90 2007-01-19  Atsushi Enomoto  <atsushi@ximian.com>
91
92         * XmlMemberMapping.cs : uhoh, there is a nasty trick to output
93           Nullable info.
94
95 2007-01-18  Atsushi Enomoto  <atsushi@ximian.com>
96
97         * TypeData.cs : added get_IsGenericNullable.
98         * MapCodeGenerator.cs : in GetDomType(), return Nullable<T> when
99           the TypeData.IsGenericNullable.
100           Use GetDomType() instead of CodeTypeReference.ctor() to not lose
101           Nullable<T> info.
102         * XmlSchemaImporter.cs : added isNullable argument to GetTypeData()
103           so that it won't XmlSchemaElement.IsNillable.
104         * TypeTranslator.cs :
105           Fixed wrong TypeData modification against non-nullable stuff.
106           Added another GetTypeData() that takes isNullableRuntimeType so
107           that it won't miss XmlSchemaElement.IsNillable.
108           Added another GetPrimitiveTypeData() that takes nullable.
109
110 2007-01-15  Atsushi Enomoto  <atsushi@ximian.com>
111
112         * TypeData.cs : reject generic type definitions.
113         * TypeTranslator.cs : Make generic type names in XML compatible with
114           .net: foo_x0060_1 -> fooOfString.
115
116 2006-12-04  Atsushi Enomoto  <atsushi@ximian.com>
117
118         * SerializationCodeGenerator.cs, XmlCustomFormatter.cs :
119           GenerateToXmlString() needed hexBinary support as well. Since
120           XmlConvert.[To|From]BinHexString() are internal, use reflection.
121           Really fixed bug #79989 and #79990 for generated serializers.
122
123 2006-12-03  Gert Driesen  <drieseng@users.sourceforge.net>
124
125         * XmlSchemaExporter.cs: Emit xml name of enum-based default values.
126         Set XmlSchemaAttribute.Use to Required if no default value is defined,
127         and member is not an optional value type. Element should have minOccurs
128         1 if value type member has default value. Output flag enum type as
129         xsd list with restriction.
130         * XmlReflectionImporter.cs: Removed special casing of enums. Instead
131         of passing namespace of XmlAttribute to ImportTypeMapping, use the
132         default namespace for importing the member type.
133
134 2006-12-02  Gert Driesen  <drieseng@users.sourceforge.net>
135
136         * SerializationCodeGenerator.cs: Initialize out parameters if they
137         are value types. Fixed bug #79988.
138         * XmlSerializationReaderInterpreter.cs: Same.
139
140 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
141
142         * XmlReflectionImporter.cs : implemented several missing check and 
143           support for XmlArrayAttribute. Fixed bug #78042.
144
145 2006-11-22  Atsushi Enomoto  <atsushi@ximian.com>
146
147         * XmlCustomFormatter.cs : handle hexBinary type. Fixed bug #79989
148           and #79990.
149
150 2006-11-22  Atsushi Enomoto  <atsushi@ximian.com>
151
152         Fixed bug #78611.
153         * TypeData.cs, TypeTranslator.cs: improved TypeData to actually store
154           "nullable" information. Introduced new primitiveNullableTypes pool
155           whose TypeData has 'true' for new IsNullable property. This
156           property is also used for non-primitive types.
157         * XmlReflectionImporter.cs : there, use TypeData.IsNullable instead
158           of IsValueType, to handle nullable types.
159
160 2006-11-20  Atsushi Enomoto  <atsushi@ximian.com>
161
162         * TypeTranslator.cs : Hari knew better way to do it.
163
164 2006-11-20  Atsushi Enomoto  <atsushi@ximian.com>
165
166         * TypeTranslator.cs : #if NET_2_0 for generic thingy.
167
168 2006-11-20  Atsushi Enomoto  <atsushi@ximian.com>
169
170         * TypeTranslator.cs : (GetTypeData) when the argument type is
171           Nullable<T>, use T instead. At run time (on both interpreter and
172           generated code) it is converted to T. Fixed bug #79803.
173
174 2006-11-17  Atsushi Enomoto  <atsushi@ximian.com>
175
176         * SerializationCodeGenerator.cs, TypeData.cs :
177           Now we differentiate TypeName, FullTypeName C# type names. It is
178           to create valid C# sources especially for generic types.
179           Fixed bug #79657.
180
181 2006-11-17  Atsushi Enomoto  <atsushi@ximian.com>
182
183         * XmlSerializationReader.cs : (ReadReferencedElement)
184           Sometimes there are array types in WSDL, which are not reflected
185           in client proxies. In SOAP messages, they are marked
186           soap-env:arrayType, so use it (this could coexist with xsi:type,
187           which indicates the type in WSDL). Fixed bug #79057.
188
189 2006-11-15  Atsushi Enomoto  <atsushi@ximian.com>
190
191         * XmlSerializationReader.cs : implement ToByteArray[Base64|Hex]().
192           removed extra ReadSerializable().
193         * XmlTypeMapping.cs : added XsdTypeName and XsdTypeNamespace.
194
195 2006-11-14  Atsushi Enomoto  <atsushi@ximian.com>
196
197         * SerializationCodeGenerator.cs,
198           SerializationCodeGeneratorConfiguration.cs :
199           make "XmlSerializerContract" and "BaseXmlSerializer" customizible.
200           (or it is impossible to use genxs more than twice in an assembly.)
201
202 2006-11-10  Atsushi Enomoto  <atsushi@ximian.com>
203
204         Fixed bug #77117.
205         * XmlReflectionImporter.cs : Compute nullable correctly. Elements are
206           nillable when its type is a reference type.
207         * XmlSchemaExporter.cs :
208           Set XmlTypeMapElementInfo.IsNullable from XmlTypeMapping.
209           Set XmlSchemaElement.IsNillable from XmlTypeMapElementInfo.
210
211 2006-11-09  Atsushi Enomoto  <atsushi@ximian.com>
212
213         * XmlSchemaImporter.cs : top-level element might also have no type
214           name specification, so just compare ElementType with anyType.
215
216 2006-11-09  Atsushi Enomoto  <atsushi@ximian.com>
217
218         * XmlSchemaImporter.cs : attributes might overlap by extending
219           base content models. Since invalid content models are rejected by
220           Compile(), simply ignore duplicating attributes. Note that it is
221           basically hack, which should not skip derived ones but use them (but
222           it is mostly harmless since the result is very unlikely to differ).
223
224 2006-11-08  Atsushi Enomoto  <atsushi@ximian.com>
225
226         * XmlSchemaImporter.cs : when top-level element is xs:anyType, all
227           complexTypes must be also imported.
228
229 2006-11-08  Atsushi Enomoto  <atsushi@ximian.com>
230
231         * XmlSchemaImporter.cs : ImportTypeMapping() raises exception when
232           the argument name is not bound to any elements.
233
234 2006-11-07  Atsushi Enomoto  <atsushi@ximian.com>
235
236         * XmlCustomFormatter.cs : consider null base64 byte array value.
237           Fixed bug #79805.
238
239 2006-11-02  Atsushi Enomoto  <atsushi@ximian.com>
240
241         * CodeIdentifier.cs : in 2.0 profile, .ctor() is exposed to
242           explicitly say Obsolete instantiation.
243         * CodeIdentifiers.cs : implemented case-insensitive mode.
244         * XmlSerializerAssemblyAttribute.cs : added missing .ctor().
245         * SoapIncludeAttribute.cs, XmlIncludeAttribute.cs :
246           in 2.0 profile it could also be applied to an interface.
247         * SoapReflectionImporter.cs,
248           XmlReflectionImporter.cs,
249           XmlMappingAccess.cs :
250           added missing ImportMembersMapping overload and moved actual
251           implementation to most lengthy-arglist one. To make it possible,
252           XmlMappingAccess is included in 1.x as internal enum.
253
254 2006-11-02  Atsushi Enomoto  <atsushi@ximian.com>
255
256         * XmlSchemaImporter.cs : initialize extensions from configuration.
257
258 2006-11-01  Atsushi Enomoto  <atsushi@ximian.com>
259
260         * SchemaImporterExtension.cs,
261           SchemaImporterExtensionCollection.cs : moved to S.X.S.Advanced.
262
263 2006-11-01  Atsushi Enomoto  <atsushi@ximian.com>
264
265         * XmlSerializationGeneratedCode.cs : removed InternalSyncObject.
266         * SerializationCodeGenerator.cs : since IXmlSerializerImplementation
267           became a class, it needs explicit "override".
268           Since InternalSyncObject is gone, it needs another lock target.
269         * IXmlSerializerImplementation.cs : removed.
270         * XmlSerializerImplementation.cs : added.
271         * XmlSerializer.cs : removed extra GenerateSerializer() overloads.
272           IXmlSerializerImplementation -> XmlSerializerImplementation.
273         * XmlSchemas.cs : removed Schemas. hacked Compile().
274           Now it implements IEnumerable<XmlSchema>.
275         * XmlSchemaEnumerator.cs : added missing type.
276
277 2006-11-01  Atsushi Enomoto  <atsushi@ximian.com>
278
279         * XmlAttributeEventArgs.cs : added ExpectedAttributes. Note that it
280           is not considered in XmlSerializationReader yet.
281         * XmlElementEventArgs.cs : added ExpectedElements. Note that it
282           is not considered in XmlSerializationReader yet.
283         * XmlSerializationReader.cs : added some overloads for 
284           UnknownElement()/-Attribute()/-Node().
285
286 2006-11-01  Atsushi Enomoto  <atsushi@ximian.com>
287
288         * CodeGenerationOptions.cs : [XmlEnum], [XmlIgnore] and
289           [Serializable].
290         * XmlSerializationCollectionFixupCallback.cs,
291           XmlNodeEventHandler.cs,
292           XmlSerializationReadCallback.cs,
293           UnreferencedObjectEventHandler.cs,
294           XmlSerializationWriteCallback.cs,
295           XmlAttributeEventHandler.cs,
296           XmlElementEventHandler.cs,
297           XmlSerializationFixupCallback.cs :
298           exclude [Serializable] in NET_2_0.
299         * XmlSerializerNamespaces.cs : removed beta-only AddInternal().
300         * XmlSerializerVersionAttribute.cs : removed [Obsolete].
301         * XmlMappingAccess.cs : it is [Flags].
302         * SchemaImporter.cs : implement Extensions.
303         * XmlAnyElementAttribute.cs,
304           XmlArrayAttribute.cs : added Order.
305           Note that it is not considered in XmlSerializer yet.
306
307 2006-10-25  Ankit Jain  <jankit@novell.com>
308
309         * SerializationCodeGenerator.cs (GenerateContract): Handle
310         'generateAsInternal' config option.
311
312 2006-10-10  Gert Driesen  <drieseng@users.sourceforge.net>
313
314         * XmlSerializer.cs: Output namespace declarations in same order as
315         MS.
316
317 2006-10-08  Gert Driesen  <drieseng@users.sourceforge.net>
318
319         * XmlSerializer.cs: Corrected exception message when deserialization
320         fails.
321         * SerializationCodeGenerator.cs: Added support for flag enums.
322         * XmlReflectionImporter.cs: Use InvalidOperationException wrapper for
323         all exceptions that occur while reflecting member. Validate default
324         values to match MS.
325         * SoapReflectionImporter.cs: Revert small part of previous patch as
326         XmlSerializer expects enum value.
327
328 2006-10-01  Gert Driesen  <drieseng@users.sourceforge.net>
329
330         * SoapReflectionImporter.cs: To match MS.NET, let exceptions that are
331         thrown during creation of map member bubble up. Only allow
332         SoapAttribute on primitive types and enums. Obtain default value for
333         attribute members.
334
335 2006-09-20  Vladimir Krasnov  <vladimirk@mainsoft.com>
336
337         * XmlTypeAttribute.cs: added property AnonymousType for 2.0
338
339 2006-09-12  Lluis Sanchez Gual  <lluis@novell.com> 
340
341         * System.Xml.Serialization/XmlSchemaImporter.cs: Added null check.
342
343 2006-09-11  Andrew Skiba <andrews@mainsoft.com>
344
345         * XmlSchemaImporter.cs,XmlMemberMapping.cs,SchemaImporter.cs: ifdef
346         TARGET_JVM
347
348 2006-09-05  Lluis Sanchez Gual  <lluis@novell.com> 
349
350         * XmlSchemaImporter.cs: In MS.NET 2.0, simple type arrays are mapped
351         to strings. Make sure maps returned by ImportClassSimpleType are always
352         simple type maps. All this fixes bug #77585.
353
354 2006-09-05  Lluis Sanchez Gual  <lluis@novell.com>
355
356         * XmlSchemaImporter.cs: Always import simple type unions
357           as string (like MS.NET does). Fixes bug #79234.
358
359 2006-08-25  Kornél Pál  <kornelpal@gmail.com>
360
361         * MapCodeGenerator.cs: Use assembly file version constants.
362
363 2006-07-24  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * XmlMappingAccess.cs : new type in 2.0 RTM.
366         * XmlCodeExporter.cs, SoapCodeExporter.cs,
367           MapCodeGenerator.cs,
368           XmlSchemaImporter.cs, SoapSchemaImporter.cs, SchemaImporter.cs,
369           SchemaImporterExtension.cs, SchemaImporterExtensionCollection.cs,
370           XmlMemberMapping.cs, XmlSerializationReader.cs :
371           several 2.0 API fixes from betas to RTM.
372
373 2006-06-07  Lluis Sanchez Gual  <lluis@novell.com>
374
375         * XmlTypeMapMember.cs: Added GlobalIndex property.
376         * XmlTypeMapping.cs: When adding a member, initialize its GlobalIndex
377           property.
378         * SerializationCodeGenerator.cs:
379         * XmlSerializationWriterInterpreter.cs:
380         * XmlSerializationReaderInterpreter.cs: Use GlobalIndex instead of
381           Index to get/set the values from the input array, since some Index
382           values are shared between attribute and element members. Fixes
383           bug #78562.
384
385 2006-05-30  Atsushi Enomoto  <atsushi@ximian.com>
386
387         * SerializationCodeGenerator.cs,
388           XmlSerializerReaderInterpreter.cs : handle CDATA section as text
389           node. Fixed bug #78536.
390
391 2006-05-15  Gert Driesen  <drieseng@users.sourceforge.net>
392
393         * XmlCodeExporter.cs: Added bool argument to GenerateClass and 
394         GenerateEnum methods that specifies whether we're dealing with a type
395         for a top-level element. In GenerateClass, do not always add Namespace
396         argument for XmlRootAttribute if isTopLevel is false, and do not
397         emit XmlRootAttribute if isTopLevel is false and no arguments have been
398         added.
399         * SoapCodeExporter.cs: Added bool argument to GenerateClass and
400         GenerateEnum methods.
401         * MapCodeGenerator.cs: Added bool argument to GenerateClass and 
402         GenerateEnum methods.
403
404 2006-05-03  Lluis Sanchez Gual  <lluis@novell.com>
405
406         * SerializationCodeGenerator.cs: Allow generating serializer for
407           reading an XmlElement or XmlDocument as root element.
408           Properly generate jagged array creation.
409
410 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
411
412         * XmlSerializationWriter.cs : fix cosmetic typo (bug #78228).
413
414 2006-04-26  Gert Driesen  <drieseng@users.sourceforge.net>
415
416         * SerializationCodeGenerator.cs: For flag enums, we should split on all
417         whitespace chars instead of only on blanks.
418         * XmlTypeMapping.cs: Same. Added ToEnum method for converting from
419         constant name(s) to integral enum value.
420
421 2006-04-26  Gert Driesen  <drieseng@users.sourceforge.net>
422
423         * SoapAttributes.cs: The DefaultValueAttribute.Value should be returned
424         as SoapDefaultValue instead of the attribute itself. Fixes bug #78205.
425
426 2006-04-24  Gert Driesen  <drieseng@users.sourceforge.net>
427
428         * XmlSchemaExporter.cs: Introduce XmlSchemaObjectContainer class to
429         allow XML Schema items to be added to its parent in the same order
430         as MS.NET (schema elements before complex types, ...). 
431
432 2006-04-20  Gert Driesen  <drieseng@users.sourceforge.net>
433
434         * XmlCodeExporter.cs: On 2.0 profile, CodeGenerationOptions defaults to
435         GenerateProperties. Use full type name for XML serialization attributes
436         instead of shortcut (without Attribute suffix). Always add Namespace
437         argument for XmlRootAttribute on classes. Added IsNullable argument for
438         XmlRootRootAttribute on classes. For attribute members, only output
439         Form argument for XmlSchemaForm.Qualified. Use MapCodeGenerator base
440         ctor that takes CodeGenerationOptions.
441         * SoapCodeExporter.cs: Use MapCodeGenerator base ctor that takes
442         CodeGenerationOptions.
443         * MapCodeGenerator.cs: Added CodeGenerationOptions to ctor. On 2.0
444         profile, emit GeneratedCodeAttribute, SerializableAttribute, 
445         DebuggerStepThroughAttribute and DesignerCategoryAttribute for classes.
446         To match MS.NET, emit attribute members before element members.
447         * XmlReflectionImporter.cs: Enums are never nullable.
448         * XmlSchemaImporter.cs: Set IsNullable on map using value of
449         XmlSchemaElement.IsNillable. Added LocateElement overload that takes
450         XmlSchemaElement.
451
452 2006-04-15  Gert Driesen  <drieseng@users.sourceforge.net>
453
454         * XmlSchemaImporter.cs: Make sure we pass TypeData for primitive types
455         to XmlReflectionImporter and SoapReflectionImporter to keep from
456         always ending up with the XSD type that directly maps to the CLR type.
457         * XmlReflectionImporter.cs: Added overloads taking TypeData instead of
458         Type. This improves performance by avoiding the use of 
459         TypeTranslator.GetTypeData for types imported from a schema and fixes
460         bug #77907.
461         * SoapReflectionImporter.cs: Same.
462
463 2006-04-11  Lluis Sanchez Gual  <lluis@novell.com>
464
465         * XmlSchemas.cs: In 1.1, don't allow adding two schemas
466         with the same namespaces. This is allowed in 2.0. Fixed
467         the Find() method to cope with this case. Based on a patch
468         by David Jung.
469
470 2006-03-22  Gert Driesen  <drieseng@users.sourceforge.net>
471
472         * XmlReflectionImporter.cs: Throw NotSupportException instead of
473         InvalidOperationException (IOE) if void is specified as type in
474         ImportTypeMapping. To match MS.NET, surround importing of type in 
475         try/catch block, and wrap any IOE in another IOE adding information 
476         on the type that was being reflected. In CreateTypeMapping, surround
477         creating of map member in try/catch block, and wrap any IOE in another
478         IOE adding information on the member that was being reflected. 
479         Modified exception message for missing enumeration value to match
480         MS.NET. In ImportTextElementInfo, throw IOE if Type is set in 
481         XmlTextAttribute, and it differs from type of reflected member when
482         schema type of member is primitive or enum. Fixed bug #77591.
483
484 2006-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
485
486         * XmlSchemaExporter.cs: Import namespace of schema generated for
487         non-xsd primitive. Do not set zero-length TargetNamespace to avoid
488         emitting empty targetNamespace attribute in generated schema.
489         * XmlReflectionImporter.cs: Use WSDL types namespace for non-xsd
490         primitives.
491
492 2006-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
493
494         * XmlTypeMapping.cs: EnumMapMember now also stores value for enums.
495         Modified EnumMapping.GetXmlName to use XmlCustomFormatter to support
496         serialization of integral value to enum constant name, and made sure
497         the exceptions we throw match those of MSFT. In EnumMapping.GetEnumName
498         throw InvalidOperationException if no matching enum constant exists.
499         In EnumMap ctor, initialize arrays holding XML names, enum names and
500         enum values.
501         * XmlSerializationReaderInterpreter.cs: Pass full type name to
502         EnumMapping.GetEnumName for construction of exception message.
503         * XmlSerializer.cs: In Deserialize, wrap InvalidOperationException
504         and InvalidCastException in another InvalidOperationException to match
505         MSFT. In Serialize, wrap InvalidOperationException, InvalidCastException
506         and the inner exception for a TargetInvocationException in an
507         InvalidOperationException to match MSFT.
508         * SerializationCodeGenerator.cs: In GenerateGetXmlEnumValue, use
509         XmlCustomFormatter.FromEnum in order to also support serialization
510         integral value to enum constant name. In 2.0 profile, throw
511         InvalidOperationException if numeric value cannot be serialized into
512         an enum constant value. In GenerateSingleEnumValue, no longer attempt
513         to parse unknown constant value but instead report it as
514         InvalidOperationException. Use string.Length instead of "" comparison
515         to check whether a string is empty. Fixed compiler warnings in 
516         generated code (possible empty statement).
517         * XmlSerializationWriterInterpreter.cs: Pass full type name to 
518         EnumMap.GetXmlName.
519         * XmlSchemaImporter.cs: Pass full type name to EnumMap.GetEnumName
520         to allow it to be used in exception messages.
521         * XmlReflectionImporter.cs: Use FieldInfo instead of MemberInfo for
522         enum fields. Use IsDefined instead of GetCustomAttributes for checking
523         if a certain attribute is defined. Use integral value of enum constant
524         in EnumMapMember ctor.
525         * SoapReflectionImporter.cs: Use FieldInfo instead of MemberInfo for
526         enum fields. Use IsDefined instead of GetCustomAttributes for checking
527         if a certain attribute is defined. Use integral value of enum constant
528         in EnumMapMember ctor.
529
530 2006-03-07  Lluis Sanchez Gual  <lluis@novell.com>
531
532         * XmlReflectionImporter.cs: Ignore the element namespace if
533           the schema form is set to Unqualified. Fixes bug #75019.
534
535 2006-02-22  Gert Driesen  <drieseng@users.sourceforge.net>
536
537         * SerializationCodeGenerator.cs: Omit return statement in ReadObject
538         method if GenerateReadListElement returns null. Fixes bug #77588.
539
540 2006-02-21  Lluis Sanchez Gual  <lluis@novell.com> 
541
542         * XmlSerializer.cs: Fix the previous fix.
543         
544 2006-02-21  Lluis Sanchez Gual  <lluis@novell.com>
545
546         * XmlSerializer.cs: Added option to avoid falling back to the
547         interpreted serializer if the code generator fails. To be used
548         in the test suite.
549
550 2006-02-16  Gert Driesen  <drieseng@users.sourceforge.net>
551
552         * TypeData.cs: Fixed the following issues when dealing with Array
553         SchemaType:
554         - if a type implements IDictionary, throw a NotSupportedException
555         - if a type implements ICollection, then an Add method must exist
556           which takes a single argument of a type to which the listitem type 
557           is assignable (meaning a base type or an interface that it 
558           implements). If such a method does not exist, then throw an
559           InvalidOperationException.
560         - if a type implements IEnumerable, then the listitem type is 
561           determined by the type of the Current property of the (IEnumerator)
562           type returned by the GetEnumerator() method or the private 
563           implementation of IEnumerable.GetEnumerator(). If there's no 
564           public Current property on the IEnumerator, then System.Object 
565           is assumed as listitem type. Similar as for types implementing
566           ICollection, an Add method must exist which takes a single argument 
567           of a type to which the listitem type is assignable (meaning a base
568           type or an interface that it implements). If such a method does not
569           exist, then throw an InvalidOperationException.
570
571 2006-02-16  Lluis Sanchez Gual  <lluis@novell.com>
572
573         * XmlSchemaImporter.cs: Support importing complex types with
574           simple content based on enums. Fixes bug #76848.
575
576 2006-02-11  Gert Driesen  <drieseng@users.sourceforge.net>
577
578         * SoapAttributeAttribute.cs: Set eol-style to CRLF.
579         * SoapElementAttribute.cs: Same.
580         * SoapEnumAttribute.cs: Same.
581         * SoapIncludeAttribute.cs: Same.
582         * SoapSchemaMember.cs: Same.
583         * SoapTypeAttribute.cs: Same.
584         * XmlArrayAttribute.cs: Same.
585         * XmlAttributeAttribute.cs: Same.
586         * XmlChoiceIdentifierAttribute.cs: Same.
587         * XmlElementAttribute.cs: Same.
588         * XmlEnumAttribute.cs: Same.
589         * XmlRootAttribute.cs: Same.
590         * XmlSchemaImporter.cs: Same.
591         * XmlTextAttribute.cs: Same.
592         * XmlTypeAttribute.cs: Same.
593         * XmlTypeMapping.cs: Same.
594         * SoapAttributeOverrides.cs: Fixed line endings. Set eol-style to CRLF.
595         * CodeIdentifiers.cs: Same.
596         * SoapCodeExporter.cs: Same.
597         * SoapAttributes.cs: Same.
598         * SoapIgnoreAttribute.cs: Same.
599         * SoapSchemaImporter.cs: Same.
600         * TypeMember.cs: Same.
601         * UnreferencedObjectEventArgs.cs: Same.
602         * XmlAnyAttributeAttribute.cs: Same.
603         * XmlAnyElementAttributes.cs: Same.
604         * XmlArrayItemAttributes.cs: Same.
605         * XmlAttributeEventArgs.cs: Same.
606         * XmlCodeExporter.cs: Same.
607         * XmlElementAttributes.cs: Same.
608         * XmlElementEventArgs.cs: Same.
609         * XmlIgnoreAttribute.cs: Same.
610         * XmlNamespaceDeclarationsAttribute.cs: Same.
611         * XmlNodeEventArgs.cs: Same.
612         * XmlReflectionMember.cs: Same.
613         * XmlSchemas.cs: Same.
614         * XmlSerializerNamespaces.cs: Same.
615         * XmlTypeMapMemberElement.cs: Set eol-style to native.
616
617 2006-02-10  Gert Driesen  <drieseng@users.sourceforge.net>
618
619         * CodeExporter.cs: Set eol-style to native.
620         * CodeGenerationOptions.cs: Same.
621         * CodeIdentifier.cs: Same.
622         * ImportContext.cs: Same.
623         * IXmlSerializable.cs: Same.
624         * IXmlSerializerImplementation.cs: Same.
625         * IXmlTextParser.cs: Same.
626         * MapCodeGenerator.cs: Same.
627         * ReflectionHelper.cs: Same. Fixed line endings.
628         * SchemaImporter.cs: Same.
629         * SchemaImporterExtensionCollection.cs: Same.
630         * SchemaImporterExtension.cs: Same.
631         * SchemaTypes.cs: Same.
632         * SerializationCodeGeneratorConfiguration.cs: Same.
633         * SerializationCodeGenerator.cs: Same.
634         * SerializationSource.cs: Same.
635         * SoapReflectionImporter.cs: Same.
636         * SoapSchemaExporter.cs: Same.
637         * TypeData.cs: Same.
638         * TypeTranslator.cs: Same.
639         * UnreferencedObjectEventHandler.cs: Same.
640         * XmlAnyElementAttribute.cs: Same.
641         * XmlArrayItemAttribute.cs: Same.
642         * XmlAttributeEventHandler.cs: Same.
643         * XmlAttributeOverrides.cs: Same.
644         * XmlAttributes.cs: Same.
645         * XmlDeserializationEvents.cs: Same.
646         * XmlElementEventHandler.cs: Same.
647         * XmlIncludeAttribute.cs: Same.
648         * XmlMapping.cs: Same.
649         * XmlMemberMapping.cs: Same.
650         * XmlMembersMapping.cs: Same.
651         * XmlNodeEventHandler.cs: Same.
652         * XmlReflectionImporter.cs: Same.
653         * XmlSchemaExporter.cs: Same.
654         * XmlSchemaProviderAttribute.cs: Same.
655         * XmlSerializationCollectionFixupCallback.cs: Same.
656         * XmlSerialiationFixupCallback.cs: Same.
657         * XmlSerializationGeneratedCode.cs: Same.
658         * XmlSerializationReadCallback.cs: Same.
659         * XmlSerializationReader.cs: Same.
660         * XmlSerializationReaderInterpreter.cs: Same.
661         * XmlSerializationWriteCallback.cs: Same.
662         * XmlSerializationWriterInterpreter.cs: Same.
663         * XmlSerializerAssemblyAttribute.cs: Same.
664         * XmlSerializer.cs: Same.
665         * XmlSerializerFactory.cs: Same.
666         * XmlSerializerVersionAttribute.cs: Same.
667         * XmlTypeMapElementInfo.cs: Same.
668         * XmlTypeMapMemberAttribute.cs: Same.
669         * XmlTypeMapMember.cs: Same.
670         * XmlTypeMapMemberNamespaces.cs: Same.
671
672 2006-02-09  Gert Driesen  <drieseng@users.sourceforge.net>
673
674         * XmlTypeMapping.cs: Modified GetRealTypeMap to return current map
675         if map represents enum. Fixes bug #77501.
676
677 2006-02-09  Gert Driesen  <drieseng@users.sourceforge.net>
678
679         * XmlSerializationWriter.cs: Implemented 2.0 version of FromEnum, and
680         CreateInvalidEnumValueException. Set eol-style to native.
681         * XmlCustomerFormatter.cs: Added FromEnum overload that takes name of
682         enum for which string value must be created. Set eol-style to native.
683         Modified FromEnum to behave more like MSFT's implementation:
684         - treat value as bit field.
685         - no longer return empty string if the value matches an id for which there's no corresponding
686         name.
687         - if one of the ids has value 0 and there's a match for the enum value
688         (with a zero length XML name) or the enum value is 0, then return the 
689         corresponding XML for the id with value 0.
690         - in 2.0 profile, throw InvalidOperationException if no match is found
691         for (part of) the enum value.
692         Modifies ToEnum to match the MSFT implementation (as described in
693         .NET 2.0 SDK):
694         - Expect hashtable containing enum names as key, and corresponding
695         integral numbers as value.
696         - Do not report exception for whitespace-only value.
697         - Support space (MS docs are not clear about this) delimited list 
698         of names.
699         - typeName is only used to construct exception message.
700
701 2006-02-09  Lluis Sanchez Gual  <lluis@novell.com>
702
703         * System.Xml.Serialization/XmlTypeMapMemberElement.cs: When
704         looking for the correct element definition for a member,
705         based on the value type, take into account subypes of the
706         declared types. Fixes bug #77447.
707
708 2006-02-07  Konstantin Triger <kostat@mainsoft.com>
709
710         * XmlReflectionImporter.cs: remove local name encoding for enums.
711
712 2006-01-08  Gert Driesen  <drieseng@users.sourceforge.net>
713
714         * XmlSchemaImporter.cs: Fixed line endings (to CRLF).
715
716 2006-01-07  Gert Driesen  <drieseng@users.sourceforge.net>
717
718         * XmlTypeMapping.cs: Fixed line endings.
719         * TypeTranslator.cs: Fixed line endings.
720
721 2005-12-07  Lluis Sanchez Gual  <lluis@novell.com>
722
723         * XmlSerializationReaderInterpreter.cs: When deserializing a "flat"
724         collection, don't create a new collection if the property already has a 
725         collection instance.
726         * SerializationCodeGenerator.cs: same as above. Also return an empty
727         string for flag enum default values.
728
729 2005-12-06  Konstantin Triger  <kostat@mainsoft.com>
730
731         * TypeTranslator.cs: TARGET_JVM: save additional types per AppDomain.
732
733 2005-12-05  Lluis Sanchez Gual  <lluis@novell.com>
734
735         * XmlSerializationReaderInterpreter.cs:
736         * SerializationCodeGenerator.cs: When deserializing a collection,
737         don't create a new collection if the property already has a 
738         collection instance. This does not apply to arrays. Changed how nullabe
739         array properties are set. Setting IsNullable=false to the property means
740         that it won't be set if the read array is null (so, if the property
741         already has a value, it will be kept).
742         Another change is that can't never be null (only arrays can).
743
744 2005-12-01  Lluis Sanchez Gual  <lluis@novell.com>
745
746         * TypeTranslator.cs: In GetTypeData, if an xmlType is specified for
747         a cli array type, consider it refering to the type of array elements.
748         This fixes bug #76860. Also added some locking.
749
750 2005-11-27   Konstantin Triger <kostat@mainsoft.com>
751
752         * TypeData.cs, XmlSchemaExporter.cs, TypeTranslator.cs: correctly
753                 export non-xsd primitive types.
754
755 2005-11-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
756         
757         * XmlTypeMapping.cs: fixed GetXmlName method, added difference
758         of value serialization of flags and non-flags enums
759
760 2005-11-23  Konstantin Triger <kostat@mainsoft.com>
761
762         * XmlSchemaExporter.cs: do not import empty namespaces.
763
764 2005-11-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
765         
766         * XmlSerializationReaderInterpreter.cs: fixed ReadEnumElement 
767         method, ReadEndElement should check XmlNodeType.
768         * XmlTypeMapping.cs: fixed GetXmlName method, it should not
769         write zero as default enum value.
770
771 2005-11-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
772         
773         * XmlReflectionImporter.cs: fixed field order returned by 
774         reflection in method GetReflectionMembers. TARGET_JVM only.
775
776 2005-11-07  Lluis Sanchez Gual  <lluis@novell.com>
777
778         * XmlSchemaImporter.cs: Added support for restrictions with
779         embedded simple type definitions. 
780
781 2005-11-04  Atsushi Enomoto  <atsushi@ximian.com>
782
783         * XmlElementAttribute.cs : gimme Order; it fixes 100 or more
784           sys.xml.schema corcompare diffs.
785
786 2005-10-17  Lluis Sanchez Gual  <lluis@novell.com>
787
788         * SerializationCodeGenerator.cs: 
789         * XmlSerializationWriterInterpreter.cs: Arrays of XmlNode don't
790         need to be all XmlElments. Fix by Atsushi for bug #76288.
791
792 2005-09-26  Lluis Sanchez Gual  <lluis@novell.com>
793
794         * XmlTypeMapping.cs: Added ChoiceMember to ListMap.
795         In ListMap.FindElement, take into account the ChoiceMember
796         if set.
797         * SerializationCodeGenerator.cs:
798         * XmlSerializationReaderInterpreter.cs: For lists with a choice
799         member, fill the member with the corresponding enum values.
800         * XmlReflectionImporter.cs: Properly reflect the choice member
801         when applied to a list.
802         * XmlSerializationWriterInterpreter.cs: Track class changes.
803         * XmlTypeMapMemberElement.cs: Added ChoiceTypeData property.
804         All this fixes bug #76203.
805
806 2005-09-21  Lluis Sanchez Gual  <lluis@novell.com>
807
808         * SoapReflectionImporter.cs: Check the correct defaults
809         for attributes.
810
811 2005-09-21  Lluis Sanchez Gual  <lluis@novell.com>  
812
813         * SerializationSource.cs: Fix nullref.
814         * XmlReflectionImporter.cs: When registering a type using
815         IncludeType(), make sure it is added as a subtype and the
816         map for typeof(object) if it has already been imported.
817         Fixes bug #76049.
818
819 2005-09-21  Lluis Sanchez Gual  <lluis@novell.com> 
820
821         * XmlSerializationWriter.cs: Also internally serialize
822         arrays of object (see previous change).
823
824 2005-09-21  Lluis Sanchez Gual  <lluis@novell.com>
825
826         * XmlSerializationWriter.cs: Properly serialize arrays
827         of primitive types when not explicitely specified in
828         a container class. Based on a patch by Konstantin Triger.
829         Fixes bug #75986. 
830
831 2005-08-24  Lluis Sanchez Gual  <lluis@novell.com>
832
833         * TypeData.cs: Reset the hasPublicConstructor flag when the
834         type is an interface.
835         * XmlSerializationWriterInterpreter.cs: Get the Count property
836         from the object type instead of the property type (it didn't
837         work for IList). 
838         * ReflectionHelper.cs: In CheckSerializableType, don't trow
839         if the type is a collection interface. All this fixes
840         bug #75855.
841
842 2005-08-06  Lluis Sanchez Gual  <lluis@novell.com>
843
844         * XmlTypeMapping.cs: Added null check.
845
846 2005-08-05  Lluis Sanchez Gual  <lluis@novell.com>
847
848         * XmlTypeMapping.cs: Added ListMembers property that returns
849         members which are collections.
850         * SerializationCodeGenerator.cs:
851         * XmlSerializationReaderInterpreter.cs: Initialize collection
852         members to an empty collection by default. Fixes bug #75662.
853
854 2005-08-01  Gert Driesen  <drieseng@users.sourceforge.net>
855
856         * XmlMapping.cs: API compatibility fixes. Ctor is not protected
857         in .NET 1.1. SetKey is not obsolete in .NET 2.0 Beta 2.
858
859 2005-07-31  Gert Driesen  <drieseng@users.sourceforge.net>
860
861         * SoapAttributeAttribute.cs: Return zero-length string if 
862         AttributeName or DataType are null.
863         * SoapEnumAttribute.cs: Return zero-length string if Name is null.
864         * SoapIncludeAttribute.cs: Avoid using property in ctor.
865         * SoapSchemaMember.cs: Return zero-length string if MemberName is
866         null. MemberType should be XmlQualifiedName.Empty by default.
867         * SoapTypeAttribute.cs: Return zero-length string if TypeName is
868         null. Avoid using property in ctor.
869         * XmlArrayAttribute.cs: Return zero-length string if ElementName is
870         null. Avoid using property in ctor.
871         * XmlArrayItemAttribute.cs: IsNullable must be false by default.
872         Return zero-length string if DataType or ElementName are null. Avoid
873         using property in ctor.
874         * SoapElementAttribute.cs: Return zero-length string when DataType
875         or ElementName are null. Avoid using property in ctor.
876         * XmlAnyElementAttribute.cs: Return zero-length string when Name is
877         null. Avoid using property in ctor.
878         * XmlAttributeAttribute.cs: Avoid using property in ctor. Return
879         zero-length string if AttributeName or DataType are null.
880         * XmlChoiceIdentifierAttribute.cs: Return zero-length string when
881         MemberName is null.
882         * XmlElementAttribute.cs: Return zero-length string when DataType or
883         ElementName are null. Avoid using property in ctor.
884         * XmlEnumAttribute.cs: Avoid using property in ctor.
885         * XmlIncludeAttribute.cs: Avoid using property in ctor.
886         * XmlReflectionImporter.cs: AttributeName, ElementName and DataType
887         can no longer be null. Use check for zero-length string to determine
888         whether they are set. Corrected exception message when DataType is
889         set for complex type.
890         * XmlRootAttribute.cs: Return zero-length string if DataType or
891         ElementName are null. Avoid using property in ctor.
892         * XmlTextAttribute.cs: Return zero-length string if DataType is null.
893         * XmlTypeAttribute.cs: Return zero-length string if TypeName is null.
894
895 2005-07-14  Lluis Sanchez Gual  <lluis@novell.com>
896
897         * SerializationCodeGenerator.cs: In the generated serializer always
898         use the Object equality operator when comparing objects to serialize
899         to null, since those objects may have the equality operator
900         overloaded. This fixes bug #75543.
901
902 2005-07-01  Lluis Sanchez Gual  <lluis@novell.com>
903
904         * XmlCustomFormatter.cs: Properly read/write duration values.
905
906 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
907
908         * XmlSerializer.cs: Fix race between XmlSerializer and the
909         serializer generator.
910
911 2005-06-14  Lluis Sanchez Gual  <lluis@novell.com>
912
913         * XmlTypeMapElementInfo.cs: Added new DataTypeName property for
914         getting the real xml type name of a member.
915         * XmlSerializationWriterInterpreter.cs: Use that new property
916         to get the type name of primitive types. This should fix bug #75180.
917
918 2005-06-07  Lluis Sanchez Gual  <lluis@novell.com>
919
920         * SerializationCodeGenerator.cs: When reading members by order,
921         call a MoveToContext after each member read. In the fixup method
922         don't cast returned values if it is reading an object array.
923         
924         * XmlSchemaImporter.cs: In ImportDerivedTypeMapping, if the type
925         being imported is a primitive type, create a wrapper class that
926         inherits from the provided one. This fixes bug #68809.
927         
928         * XmlSerializationReader.cs: Properly report unreferenced objects.
929         Created an overload of ReadTypedPrimitive that reports elements of
930         unknown type. Implemented Referenced(). 
931
932 2005-05-30  Lluis Sanchez Gual  <lluis@novell.com>
933
934         * XmlReflectionImporter.cs: Don't ignore type namespaces explicitely
935         set to the default namespace. This fixes bug #73035.
936
937 2005-05-12  Lluis Sanchez Gual  <lluis@novell.com>
938
939         * SoapReflectionImporter.cs: In ImportTypeMap, make sure that all
940         types indirectly imported by this method use the same namespace. 
941
942 2005-05-09  Atsushi Enomoto  <atsushi@ximian.com>
943
944         * TypeTableEntry.cs : removed obsolete code.
945
946 2005-04-26  Lluis Sanchez Gual  <lluis@novell.com>
947
948         * XmlReflectionImporter.cs, SoapReflectionImporter.cs: ignore array
949         properties which are read only. Fixes bug #74723.
950
951 2005-04-14  Lluis Sanchez Gual  <lluis@novell.com>
952
953         * XmlReflectionImporter.cs:
954         * SoapReflectionImporter.cs:
955         * TypeTranslator.cs: Encode local names withXmlConvert.EncodeLocalName
956         where needed. Based on a patch by Konstantin Triger. 
957
958 2005-04-12  Lluis Sanchez Gual  <lluis@novell.com>
959
960         * XmlTypeMapping.cs: Added new XmlSerializableMapping class.
961         * XmlSchemaExporter.cs: When exporting an IXmlSerializable type,
962         export the schema that it defines. In ImportNamespace, removed
963         check for default namespace, since it may be included from a non
964         default namespace.
965         * XmlReflectionImporter.cs: Create a special map for IXmlSerializable
966         types. All this based on a patch by Konstantin Triger.
967         
968         * SerializationCodeGenerator.cs:
969         * XmlMapping.cs:
970         * XmlSerializationReaderInterpreter.cs:
971         * SoapCodeExporter.cs:
972         * XmlTypeMapMemberAttribute.cs:
973         * XmlSerializationReader.cs:
974         * XmlCodeExporter.cs: Fixed some warnings.
975
976 2005-04-10  Andrew Skiba  <andrews@mainsoft.com>
977
978         * XmlSerializer.cs: fixed a typo - wrong TARGET_JVM condition.
979
980 2005-04-03  Andrew Skiba  <andrews@mainsoft.com>
981
982         * XmlSerializer.cs: added TARGET_JVM that does not support on-the-fly
983         code generation.
984
985 2005-03-30  Lluis Sanchez Gual  <lluis@novell.com>
986
987         * SerializationCodeGenerator.cs: 
988         * XmlSerializationReaderInterpreter.cs: If the element being read is
989         bound to a choice member, set the corresponding value.
990         * XmlTypeMapMember.cs: Added helper SetValue method.
991         * XmlTypeMapElementInfo.cs: Changed the type of ChoiceValue to Object,
992         since now stores the enum value.
993         * XmlReflectionImporter.cs: Properly import choice values.
994         * XmlTypeMapMemberElement.cs: Added setter for the choice.
995
996 2005-03-29  Lluis Sanchez Gual  <lluis@novell.com>
997
998         * XmlReflectionImporter.cs: Added support for subclasses of XmlNode.
999         This fixes bug #73901 and should fix #70384.
1000         * XmlSerializationReader.cs: When reading an object element, return
1001         an Object instance if the element has no children. This fixes bug #73974.
1002         * XmlSerializationWriter.cs: Support writing XmlNode[] as a primitive
1003         type (it is written as an element with those nodes as children). 
1004
1005 2005-03-08  Lluis Sanchez Gual <lluis@novell.com>
1006
1007         * XmlSchemaImporter.cs: Support importing schemas that define
1008         extra types in the standard xml schema namespace. When using encoded
1009         format, support the primitive types defined by the SOAP encoding
1010         namespace.
1011
1012 2005-03-04  Lluis Sanchez Gual <lluis@novell.com>
1013
1014         * ReflectionHelper.cs: Avoid endless loop.
1015         * XmlSchemas.cs: Added null check. Patches from MainSoft.
1016
1017 2005-02-07  Lluis Sanchez Gual  <lluis@novell.com>
1018
1019         * XmlSerializationReader.cs: After reading an href element, skip the
1020         whole element (it may not be an empty element). This fixes bug #72265.
1021
1022 2005-01-25  Lluis Sanchez Gual  <lluis@novell.com>
1023
1024         * XmlSchemaImporter.cs: When importing a default value of type enum,
1025         translate it from the schema value to the clr value.
1026
1027 2005-01-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1028
1029         * XmlSerializer.cs: only print the results if there's an error
1030         compiling.
1031
1032 2005-01-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1033
1034         * SerializationCodeGenerator.cs: don't use _config if it has not been
1035         assigned.
1036
1037 2005-01-18  Lluis Sanchez Gual  <lluis@novell.com>
1038
1039         * XmlReflectionImporter.cs: Don't check the property type if it has
1040         an [XmlIgnore] attribute. This fixes bug #71332.
1041
1042 2005-01-14  Atsushi Enomoto  <atsushi@ximian.com>
1043
1044         * SerializationCodeGenerator.cs,
1045           XmlSerializationWriterInterpreter.cs : exchanged attribute
1046           serialization orders (XmlAnyAttribute <-> XmlNamespaceDeclarations).
1047           xmlns attributes in XmlAnyAttribute are not written.
1048
1049 2005-01-12  Atsushi Enomoto  <atsushi@ximian.com>
1050
1051         * SerializationCodeGeneratorConfiguration.cs,
1052           SerializationCodeGenerator.cs : Added some generation configuration:
1053                 <generateAsInternal>
1054                         write custom reader/writer as internal classes.
1055                 <noreader>, <nowriter>
1056                         They make generation of reader and/or writer optional.
1057         * XmlSerializerNamespaces.cs :
1058           Now it uses ListDictionary instead of Hashtable.
1059         * XmlSerializationWriter.cs : entries in XmlSerializerNamespaces are
1060           written unless there is already the same prefix-ns mapping.
1061
1062 2005-01-12  Lluis Sanchez Gual  <lluis@novell.com>
1063
1064         * XmlTypeMapElementInfo.cs: Added new IndexOfElement method.
1065         * XmlSchemaImporter.cs: When importing a base type of a complex type,
1066         make sure that the base class is always imported as a class and not
1067         as an array. If it has been imported as array, import it again.
1068         This fixes bug #70839. Other minor fixes as well.
1069         * XmlSerializationWriter.cs: Fixed warning.
1070
1071 2004-12-09  Lluis Sanchez Gual  <lluis@novell.com>
1072
1073         * SerializationCodeGenerator.cs: Yet another generation fix.
1074
1075 2004-12-09  Lluis Sanchez Gual <lluis@novell.com>
1076
1077         * SerializationCodeGenerator.cs: Fixed generation of enum literals.
1078
1079 2004-12-09  Lluis Sanchez Gual  <lluis@novell.com>
1080
1081         * XmlReflectionMember.cs: Added DeclaringType member.
1082         * XmlReflectionImporter.cs: When importing fields that belong to a
1083         base class, use the xml namespace of the base map for the member.
1084         This fixes bug #70309.
1085
1086 2004-11-30  Lluis Sanchez Gual  <lluis@novell.com>
1087
1088         * XmlCodeExporter.cs, XmlSerializer.cs, XmlSchemaImporter.cs: Fixed some
1089         compilation warnings.
1090
1091 2004-11-24  Lluis Sanchez Gual  <lluis@novell.com>
1092
1093         * SerializationSource.cs: Made SerializationSource abstract, and
1094         renamed Equals to BaseEquals to avoid missing GetHashCode warning
1095         (it does not really make sense in this case).
1096         * XmlSchemaExporter.cs, SerializationCodeGenerator.cs,
1097         XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs,
1098         XmlSerializationReader.cs: Fixed warnings.
1099
1100 2004-10-19  Atsushi Enomoto  <atsushi@ximian.com>
1101
1102         * XmlSerializationWriter.cs : When namespace is an empty string,
1103           XmlTextWriter.LookupPrefix() will raise an error. Just skip it in
1104           such case.
1105
1106 2004-10-01  Lluis Sanchez Gual  <lluis@novell.com>
1107
1108         * MapCodeGenerator.cs: When the Object type is exported, export all
1109           derived maps. This was done in IncludeMetadata, but this method is
1110           not called by the xsd tool.
1111         * XmlCodeExporter.cs: In AddMappingMetadata, only generate the root
1112           attribute for primitive types and arrays.
1113         * XmlSchemaImporter.cs: Only export all object-derived maps if the
1114           Object type is explicitly referenced by an element.
1115         * XmlSerializationWriter.cs: Minor fix.
1116
1117 2004-09-28  Lluis Sanchez Gual  <lluis@novell.com>
1118
1119         * CodeIdentifier.cs: MakeValid now returns "Item" for an empty string.
1120           This fixes bug #66877.
1121
1122 2004-09-21  Lluis Sanchez Gual  <lluis@novell.com>
1123
1124         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
1125           when reading a primitive value in encoded format using
1126           ReadReferencingElement, provide the type name and namespace
1127           since the xsi type may not be present in the xml element. This
1128           fixes bug #65929.
1129
1130 2004-09-15  Lluis Sanchez Gual  <lluis@novell.com>
1131
1132         * MapCodeGenerator.cs: Moved generation of XmlInclude attributes from
1133           ExportDerivedTypes to the new ExportDerivedTypeAttributes method.
1134         * XmlReflectionImporter.cs: In ImportClassMapping, moved the call to
1135           ImportIncludedTypes to the end, to make sure that the current map has all
1136           needed data before derived maps are constructed.
1137         * XmlSchemaExporter.cs: Generate the base class of simple types that are
1138           not primitive types. Set the correct value for IsMixed in extended types.
1139         * XmlSchemaImporter.cs: In ImportSimpleContent, take into account that
1140           the base class of a simple type doesn't need to be a xsd type.
1141           All those patches fix bug #65654.
1142
1143 2004-09-03  Lluis Sanchez Gual  <lluis@novell.com>
1144
1145         * XmlSerializer.cs: When the XmlReader is created by XmlSerializer, use
1146           Normalization==true by default.
1147
1148 2004-09-02  Lluis Sanchez Gual  <lluis@novell.com>
1149
1150         * ReflectionHelper.cs, SoapReflectionImporter.cs, XmlReflectionImporter.cs: 
1151           In CheckSerializableType, add the option of ignoring types with private
1152           constructors. Some kind of lists can be deserialized
1153           even if the constructor is private. See bug #61464.
1154         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
1155           Before creating a list, check that it has a public constructor.
1156         * TypeData.cs: Added HasPublicConstructor property.
1157
1158 2004-09-01  Lluis Sanchez Gual  <lluis@novell.com>
1159
1160         * SerializationCodeGenerator.cs: Generate correct "HasValue" check for
1161           value list serialization.
1162         * XmlSchemaImporter.cs: Added some null checks.
1163
1164 2004-08-25  Lluis Sanchez Gual  <lluis@novell.com>
1165
1166         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
1167           When deserializing an encoded method response, assign to the return value
1168           the first element of the message, whatever it is. The return type doesn't
1169           need to be Object, it seems to be true for all return types.
1170           
1171 2004-07-26  Lluis Sanchez Gual  <lluis@ximian.com>
1172
1173         * MapCodeGenerator.cs: CreateFieldMember now adds the field to the class,
1174           no need to add it after the call.
1175         * SoapSchemaImporter.cs: Implemented 2.0 constructors.
1176
1177 2004-07-23  Lluis Sanchez Gual  <lluis@novell.com>
1178
1179         * CodeGenerationOptions.cs: Made the class internal for the 1.1 profile.
1180         * ImportContext.cs: Implemented.
1181         * MapCodeGenerator.cs, SoapCodeExporter.cs, XmlCodeExporter.cs: Added new
1182           options for 2.0. Implemented support for generating properties instead of
1183           fields.
1184         * XmlSchemaImporter.cs: Added support for sharing types.
1185
1186 2004-07-15  Lluis Sanchez Gual  <lluis@novell.com>
1187
1188         * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for base64. This
1189           xsd type is not part of the last schema specification, but the google api
1190           uses it and ms.net accepts it.
1191
1192 2004-07-12  Lluis Sanchez Gual  <lluis@ximian.com>
1193
1194         * ReflectionHelper.cs: Fixed bug when registering a map as exported.
1195           Thanks to Juan C. Olivares.
1196
1197 2004-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
1198
1199         * CodeExporter.cs: Added private constructor.
1200         * CodeGenerationOptions.cs: Set the correct enum values.
1201         * CodeIdentifier.cs: Added private constructor.
1202         * SchemaImporter.cs: Added internal constructor.
1203         * XmlMapping.cs, XmlSerializer.cs: 2.0 api fix.
1204         * XmlMemberMapping.cs, XmlSchemaImporter.cs, XmlSerializationWriter.cs: Added 2.0 stubs.
1205         * XmlSchemaProviderAttribute.cs, XmlSerializerAssemblyAttribute.cs,
1206           XmlSerializerVersionAttribute.cs: Set correct attribute usage.
1207         * XmlSerializationReader.cs: Added missing setter for DecodeName.
1208
1209 2004-07-08  Lluis Sanchez Gual  <lluis@ximian.com>
1210
1211         * XmlSerializer.cs: Fix fix.
1212
1213 2004-07-08  Lluis Sanchez Gual  <lluis@ximian.com>
1214
1215         * IXmlSerializerImplementation.cs: Compile as internal in NET_1_1.
1216         * ReflectionHelper.cs: New method for generating map keys.
1217         * SerializationCodeGenerator.cs: Added support for generating the serializer
1218           contract class, needed for 2.0.
1219         * SerializationSource.cs: Use Type[] instead of ArrayList for storing
1220           extra types.
1221         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Assign extra types 
1222           as Type[]. Added check that makes sure that enums being serialized are
1223           public.
1224         * XmlMapping.cs: Added internal GetKey method.
1225         * XmlSerializer.cs: Added support for IXmlSerializerImplementation.
1226           Added first bits to support loading of serializers from pre-generated
1227           assemblies.
1228         * XmlSerializerFactory.cs: Mostly implemeted.
1229
1230 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
1231
1232         * CodeIdentifier.cs: Removed constructor for NET_2_0.
1233         * SoapCodeExporter.cs, SoapSchemaImporter.cs, XmlCodeExporter.cs, 
1234           XmlMapping.cs, XmlMemberMapping.cs, XmlReflectionImporter.cs,
1235           XmlSchemaExporter.cs, XmlSchemaImporter.cs, XmlSchemas.cs,
1236           XmlSerializationReader.cs, XmlSerializationWriter.cs, XmlSerializer.cs,
1237           XmlSerializerNamespaces.cs: Added 2.0 stubs.
1238         * XmlMembersMapping.cs, XmlTypeMapping.cs: 2.0 fixage.
1239         * IXmlTextParser.cs, CodeExporter.cs, CodeGenerationOptions.cs,
1240           ImportContext.cs, SchemaImporter.cs, SchemaImporterExtension.cs,
1241           SchemaImporterExtensionCollection.cs, XmlDeserializationEvents.cs,
1242           XmlSchemaProviderAttribute.cs, XmlSerializationGeneratedCode.cs,
1243           XmlSerializerAssemblyAttribute.cs, XmlSerializerFactory.cs,
1244           XmlSerializerVersionAttribute.cs: New files. More 2.0 stubs.
1245
1246 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
1247
1248         * SerializationCodeGenerator.cs: Generate check that the object being 
1249           serialized has a known type. Little cast fix.
1250         * XmlCustomFormatter.cs: Little fix in Single conversion.
1251
1252 2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
1253
1254         * TypeData.cs: In the constructor, set the correct xml type name if the
1255           type is an array (for example, instead of StringCollection, use
1256           ArrayOfString).
1257
1258 2004-06-22  Lluis Sanchez Gual  <lluis@ximian.com>
1259
1260         * ReflectionHelper.cs: Correctly detect private types.
1261         * XmlCodeExporter.cs: Implemented missing method.
1262         * XmlSchemaImporter.cs: Allow import of root primitive types.
1263
1264 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1265
1266         * CodeIdentifier.cs, CodeIdentifiers.cs, MapCodeGenerator.cs,
1267           SerializationCodeGenerator.cs, SerializationSource.cs,
1268           TypeTranslator.cs, XmlAttributeOverrides.cs, XmlCustomFormatter.cs,
1269           XmlSerializationReader.cs, XmlSerializationWriter.cs,
1270           XmlSerializer.cs, XmlTypeMapMemberElement.cs, XmlTypeMapping.cs
1271           : Globalization fixes.
1272             In XmlCustomFormatter.GenerateToXmlString() time was not
1273             generated correctly.
1274             Replaced all CRLF XmlAttributeOverrides.cs into LF.
1275
1276 2004-06-13  Gert Driesen <drieseng@users.sourceforge.net>
1277
1278         * XmlSerializationWriter.cs: changed signature of protected method
1279         FromByteArrayBase64 to match MS.NET
1280
1281 2004-06-10  Lluis Sanchez Gual <lluis@ximian.com>
1282
1283         * MapCodeGenerator.cs, SoapCodeExporter.cs: Generate the same XmlInclude
1284           attributes that MS.NET generates.
1285         * SerializationCodeGenerator.cs: Avoid duplicate generation of maps in the
1286           same reader/writer.
1287         * XmlCodeExporter.cs: Added support for ignore flag in maps and members.
1288         * XmlReflectionImporter.cs: Changed GetReflectionMembers to match
1289           MS.NET member ordering. Patch by David Taylor.
1290         * XmlSchemaImporter.cs: When generating a choice member, set the ignore
1291           flag. The generated enum must also not be included in the schema.
1292         * XmlTypeMapMember.cs: Added ignore flag.
1293         * XmlTypeMapping.cs: The AttributeMembers property now returns the 
1294           attributes in the correct order.
1295
1296 2004-06-03  Gert Driesen <drieseng@users.sourceforge.net>
1297
1298         * XmlSerializationReader.cs: added missing protected members
1299         to fix API compatibility with MS.NET
1300         * XmlSerializationWriter.cs: added missing protected members
1301         to fix API compatibility with MS.NET
1302
1303 2004-06-02  Lluis Sanchez Gual <lluis@ximian.com>
1304
1305         * XmlSerializationReader.cs: Support schamea instance namespaces other than
1306           the 2001 one when reading the xsi type.
1307         * MapCodeGenerator.cs: Take into account that the root namespace and element
1308           name may have changed from one export to another of the same type. In
1309           this case the class attributes need to be regenerated.
1310         * SoapCodeExporter.cs, XmlCodeExporter.cs: Take the enum name from XmlType,
1311           not ElementName. Idem for namespace.
1312         * XmlReflectionImporter.cs: Set nullable property of XmlTypeMapping.
1313         * XmlRootAttribute.cs: Default value for nullable is true.
1314         * XmlSchemaImporter.cs: The root name for a class may change in some
1315           scenarios (for example, when the type is initially exported as part of
1316           another type and later exported as a root type).
1317         * XmlSerializationReader.cs: In GetXsiType(), if the type attribute is not
1318           found using the standard namespace, try getting the type using
1319           the 2000/10 and 1999 namespaces.
1320         * XmlTypeMapping.cs: Added IsNullable property. Updated SetRoot method ;-)
1321
1322 2004-05-26  Lluis Sanchez Gual <lluis@ximian.com>
1323
1324         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
1325           In encoded format, primitive types can be null. Read them using
1326           ReadReferencingElement, that already checks for the null tag.
1327
1328 2004-05-25  Lluis Sanchez Gual <lluis@ximian.com>
1329
1330         * XmlSerializationReader.cs: Check for empty element when reading an array
1331           element. This fixes bug #59003. Thanks Atsushi!
1332
1333 2004-05-07  Lluis Sanchez Gual <lluis@ximian.com>
1334
1335         * XmlSerializationWriter.cs: Implemented some missing methods.
1336           In .NET 1.0, encoded null elements use the attribute null="1", while in
1337           1.1 the attribute is nil="true".
1338         * XmlTypeMapping.cs: Little fix for nested classes.
1339
1340 2004-05-07  Lluis Sanchez Gual <lluis@ximian.com>
1341
1342         * XmlReflectionImporter.cs: Don't reset the internal tables at every
1343           ImportMembersMapping call. This fixes bug #58112. The problem is that
1344           it imported two different arrays (only different in the array item
1345           namespace) with the same name. Not sure what was this Reset needed for,
1346           everyting seems to work without it.
1347
1348 2004-05-05  Lluis Sanchez Gual <lluis@ximian.com>
1349
1350         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
1351           When deserializing an encoded method response, if the return type of the
1352           method is Object, assign to it the first element of the message, whatever
1353           it is.
1354         * XmlSerializationReader.cs: 
1355         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Set IsReturnValue of
1356           the imported member.
1357         * TypeTranslator.cs: Added method to safely get a primitive TypeData.
1358         * XmlSerializationReader.cs: Don't throw an exception when the CLR type for
1359           a given xsi type is not found. Just read it as primitive type.
1360         * XmlTypeMapMember.cs: Added IsReturnValue property.
1361         * XmlTypeMapping.cs: Added ReturnMember property.
1362         * XmlSerializer.cs: Reference System.Data when compiling the serializer.
1363
1364 2004-05-05  Lluis Sanchez Gual <lluis@ximian.com>
1365
1366         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
1367           When reading an object using the typeof(object) map, an emty xsi:type 
1368           means that it has to read the contents into an XmlNode[].
1369         * TypeData.cs: Return the correct full name for inner classes.
1370         * XmlSchemaImporter.cs: Improved detection of types that represent 
1371           "anyType", and must be mapped to XmlElement, XmlNode or Object.
1372         * XmlSerializationReader.cs: In GetXsiType(), find the type attribute using
1373           the correct namespace.
1374           In ReadTypedPrimitive(), read the element as XmlNode[] if the type is
1375           not known.
1376
1377 2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
1378
1379         * XmlSerializationWriter.cs : It do not have to handle schema
1380           namespace as special one.
1381
1382 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
1383
1384         * XmlSerializationReaderInterpreter.cs: Removed the check for null 
1385           AttributeMembers collection. Even if there are no attribute members,
1386           attributes need to be read.
1387
1388 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
1389
1390         * XmlSerializationReader.cs: In ReadSerializable(), take into account that
1391           the IXmlSerializable object may not read all the EndElement it read.
1392           This fixes bug #57413.
1393
1394 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
1395
1396         * XmlSerializer.cs: Enable serializer generation by default.
1397
1398 2004-04-20  Lluis Sanchez Gual <lluis@ximian.com>
1399
1400         * TypeTranslator.cs: Mapped again anyUri, but now it is mapped to String.
1401         * XmlSchemaImporter.cs: If a map was initially imported as a class, but it
1402           turns out that it is an array, import it again as array. This fixes
1403           bug #57133.
1404
1405 2004-04-15  Lluis Sanchez Gual <lluis@ximian.com>
1406
1407         * XmlSchemaExporter.cs: When checking if a map has been exported or not,
1408           don't use type name for array types, since we can have different classes 
1409           that represent the same array type (for example StringCollection and 
1410           string[]).
1411
1412 2004-04-14  Lluis Sanchez Gual <lluis@ximian.com>
1413
1414         * TypeTranslator.cs, XmlCustomFormatter.cs: Removed map from Uri to anyUri,
1415           not present in MS.NET.
1416         * XmlSerializationWriter.cs: Improved error message.
1417
1418 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
1419
1420         * SerializationCodeGenerator.cs, XmlReflectionImporter.cs, 
1421           XmlSerializationReader.cs, XmlSerializationReaderInterpreter.cs:
1422           Support deserialization of members of type XmlDocument. This fixes #56169.
1423
1424 2004-03-25  Lluis Sanchez Gual <lluis@ximian.com>
1425
1426         * SerializationCodeGenerator.cs: Generate an integer for unknown enum values.
1427           Use a special method to generate default values, since default enum values
1428           will come as integers, so a special cast is needed.
1429         * XmlSerializationReaderInterpreter.cs,
1430         * SerializationSource.cs, SoapAttributeAttribute.cs, SoapAttributeOverrides.cs,
1431           SoapAttributes.cs, SoapElementAttribute.cs, SoapEnumAttribute.cs, 
1432           SoapTypeAttribute.cs, XmlAnyElementAttribute.cs, XmlAnyElementAttributes.cs,
1433           XmlArrayAttribute.cs, XmlArrayItemAttribute.cs, XmlArrayItemAttributes.cs, 
1434           XmlAttributeAttribute.cs, XmlAttributeOverrides.cs, XmlAttributes.cs,
1435           XmlChoiceIdentifierAttribute.cs, XmlElementAttribute.cs, XmlElementAttributes.cs,
1436           XmlEnumAttribute.cs, XmlReflectionMember.cs, XmlRootAttribute.cs,
1437           XmlTextAttribute.cs, XmlTypeAttribute.cs: Had to change the implementation
1438           of SerializationSource. It can't keep and use the XmlAttributeOverride
1439           instances as key values, since those instances can be modified after the
1440           xml map has been generated. Now, SerializationSource generates a unique 
1441           string hash from XmlAttributeOverride and uses it for comparisons.
1442
1443 2004-03-24  Lluis Sanchez Gual <lluis@ximian.com>
1444
1445         * SerializationCodeGenerator.cs: Several fixes: generate valid names for 
1446           WriteRoot_ and ReadRoot_ methods. Cast result of ReadTypedPrimitive to
1447           the adequate type. Set the default value of members that do have a default
1448           value. Other minor fixes.
1449         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: All maps must derive
1450           from typeof(object) map, even those that have another base class.
1451         * XmlCustomFormatter.cs: Fixed generation of conversion from char to string.
1452           It must serialize the char as number, not as character.
1453         * XmlSerializationReaderInterpreter.cs: Set the default value of members 
1454           that do have a default value.
1455         * XmlTypeMapping.cs: Added property MembersWithDefault, which returns a list
1456           of members that have a default value.
1457
1458 2004-03-15  Lluis Sanchez Gual  <lluis@ximian.com>
1459
1460         * XmlSchemaImporter.cs: Import IXmlSerializable types as DataSet, like in MS.NET.
1461           This fixes bug #55547.
1462
1463 2004-03-13  David Sheldon <dave-mono@earth.li>
1464
1465   * XmlSerializationWriter.cs: Implement WriteElementStringRaw with a
1466    byte [].
1467
1468 2004-03-13  David Sheldon <dave-mono@earth.li>
1469  
1470   * XmlTextAttribute.cs: Initialise dataType with zero-length string. 
1471    fixes test case that tests for this directly.
1472   * TypeTranslator.cs: Check for new zero-length dataType so we don't reject
1473    it. Treat it as null.
1474    
1475 2004-03-12  Lluis Sanchez Gual  <lluis@ximian.com>
1476
1477         * CodeIdentifier.cs: Limit the length of identifiers.
1478         * MapCodeGenerator.cs: Do not generate base class if it is an XmlNode.
1479           Generate types using GetDomType, so if the type is an array, it creates
1480           the correct combination of types.
1481         * SerializationCodeGenerator.cs, XmlTypeMapping.cs: When trying to parse
1482           an enum, if the string is empty and the enum has [Flags], then return 0
1483           as value. This fixes bug #55509.
1484         * XmlSchemaImporter.cs: Added check for redefines of attribute groups. They
1485           are not supported. Another check: a simple type cannot be enum if it does
1486           not have any enum facet.
1487           And another fix: use string as default type for attribtues.
1488         * XmlSchemas.cs: Fixed search for schema elements. An schema may import 
1489           other schemas. An imported schema would not be in the table, but its
1490           elements (although from another namespace) would be in the schema that 
1491           imported it. So, we need know to check for every schema in the table.
1492         * XmlSerializer.cs: Added environment variable to help debugging code 
1493           generator output.
1494
1495 2004-02-27  Lluis Sanchez Gual  <lluis@ximian.com>
1496
1497         * MapCodeGenerator.cs: Added IncludeMetadata property, which returns a list
1498           of XmlInclude attributes needed for the service class.
1499           IsMapExported: Removed check for object type, since it can now be exported.
1500           SetMapExported: Use the type name as key, since different importers may
1501           be used to create a map for the same type.
1502           GenerateClassInclude: Updated signature.
1503         * SoapCodeExporter.cs: Moved management of IncludeMetadata to MapCodeGenerator.
1504           GenerateClassInclude(): Updated signature.
1505         * SoapReflectionImporter.cs: Support SoapIncludeAttribute in array members.
1506           Implemented IncludeTypes.
1507         * XmlCodeExporter.cs: Moved management of IncludeMetadata to MapCodeGenerator.
1508           GenerateClassInclude(): Updated signature.
1509         * XmlMemberMapping.cs: Added missing property.
1510         * XmlReflectionImporter.cs: GetReflectionMembers must be private.
1511           Implemented IncludeTypes().
1512         * XmlSchemaExporter.cs: Added support for exporting typeof(object).
1513         * XmlSchemaImporter.cs: Changed the implementation of ImportDerivedTypeMapping.
1514           Now, it does a regular import and then assign the required base class to
1515           the imported map. In this way it is possible to assign a base type for a 
1516           map that was previously imported without a base type.
1517         * XmlTypeMapping.cs: Added internal method SetRoot().
1518
1519 2004-02-24  Lluis Sanchez Gual  <lluis@ximian.com>
1520
1521         * SerializationCodeGenerator.cs: Added support for generation of readers
1522           and writers for several maps in a single class. Added support for
1523           XmlMemberMapping. Fixed generation of serializers that use encoded format.
1524         * SoapAttributeAttribute.cs, SoapAttributeOverrides.cs, SoapAttributes.cs,
1525           SoapElementAttribute.cs, SoapEnumAttribute.cs, SoapTypeAttribute.cs, 
1526           XmlAnyElementAttribute.cs, XmlAnyElementAttributes.cs, XmlArrayAttribute.cs,
1527           XmlArrayItemAttribute.cs, XmlArrayItemAttributes.cs, XmlAttributeAttribute.cs,
1528           XmlAttributeOverrides.cs, XmlChoiceIdentifierAttribute.cs, XmlRootAttribute.cs,
1529           XmlElementAttribute.cs, XmlElementAttributes.cs, XmlEnumAttribute.cs,
1530           XmlReflectionMember.cs, XmlTextAttribute.cs, XmlTypeAttribute.cs:
1531           Added InternalEquals method.
1532         * XmlAttributes.cs: Removed a lot of unused code. Added InternalEquals method.
1533         * SoapReflectionImporter.cs: Set SerializationSource to generated maps.
1534         * XmlCustomFormatter.cs: Fixed little bug.
1535         * XmlMapping.cs: Added Source property. This a global identifier of the map.
1536         * XmlReflectionImporter.cs: Set SerializationSource to generated maps.
1537         * XmlSchemaImporter.cs: Set the correct value for IsNillable when importing
1538           mapping members.
1539         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriter.cs: Minor fixes.
1540         * XmlSerializationWriterInterpreter.cs: WriteObject and WriteEnum were not
1541           correctly used.
1542         * XmlSerializer.cs: Added support for generation of serializers.
1543
1544 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
1545
1546         * SerializationCodeGenerator.cs,
1547           SerializationCodeGeneratorConfiguration.cs:
1548           Added <namespaceImports> feature ("using XXX;" generation) support.
1549
1550 2004-02-17  Lluis Sanchez Gual  <lluis@ximian.com>
1551
1552         * XmlSerializationWriter.cs: When writing the root element, use a prefix
1553           if the namespace of the element is defined in the list of namespaces
1554           provided to the XmlSerializer. This fixes bug #54427.
1555
1556 2004-02-16  Lluis Sanchez Gual  <lluis@ximian.com>
1557
1558         * MapCodeGenerator.cs: Modified some methods to make them easier to reuse.
1559           Those are basically methods to add custom attributes to element and
1560           attribute members.
1561         * SoapCodeExporter.cs: Track changes in MapCodeGenerator.
1562         * XmlCodeExporter.cs: Better support for custom attribute generation for
1563           method parameters.
1564         * XmlCustomFormatter.cs: Added null check.
1565         * XmlSchemaImporter.cs: do not set IsOptionalValueType property to 
1566           attributes that are required.
1567         * XmlSerializationReaderInterpreter.cs: Method parameters may be serialized
1568           as attributes.
1569
1570 2004-02-11  Lluis Sanchez Gual  <lluis@ximian.com>
1571
1572         * MapCodeGenerator.cs: Changed some methods to make them easier to reuse.
1573         * TypeTranslator.cs: NMTOKENS, ENTITIES and IDREFS must be mapped to
1574           string, not string[].
1575         * XmlCodeExporter.cs: AddMappingMetadata(): improved attribute generation
1576           for array parameters. In general, improved generation of schema Form 
1577           property.
1578         * XmlMemberMapping.cs: Added Form property.
1579         * XmlReflectionImporter.cs: Types that inherit from other types cannot be
1580           simple types. Added a check for this.
1581         * XmlSchemaExporter.cs: several fixes: better generation of IsMixed and
1582           Form. The key used to determine if a map has been already generated must
1583           include the XmlType, since there can be two xml types with the same CLR
1584           type and namespace (for example, they may differ in the Form property).
1585         * XmlSchemaImporter.cs: When getting the TypeData for a schema element,
1586           also return the corresponding map. There can be two maps that have the
1587           same TypeData, so given a TypeData is not always possible to get the
1588           correct corresponding map (for example two arrays that only differ in the
1589           Form of the item).
1590         * XmlTypeMapping.cs: Added method to set if a map can represent a simple
1591           type or not.
1592
1593 2004-02-04  Lluis Sanchez Gual  <lluis@ximian.com>
1594
1595         * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for the
1596           normalizedString schema type.
1597
1598 2004-02-04  Lluis Sanchez Gual  <lluis@ximian.com>
1599
1600         * XmlReflectionImporter.cs: Get the class members using the right order.
1601         * XmlSerializationWriterInterpreter.cs: Removed unneeded code.
1602           A member with the Any attribute can also contain text. Support this.
1603         * XmlTypeMapMemberElement.cs: Added CanBeText property.
1604
1605 2004-01-27  Lluis Sanchez Gual  <lluis@ximian.com>
1606
1607         * XmlSchemaImporter.cs: Redefinition of types are not supported. Added a
1608           check.
1609
1610 2004-01-27  Lluis Sanchez Gual  <lluis@ximian.com>
1611
1612         * MapCodeGenerator.cs: Added helper method for generating an attribute
1613           parameter of type enum.
1614         * XmlAttributeAttribute.cs: little fix.
1615         * XmlCodeExporter.cs: Support XmlAnyAttribute when generating attributes
1616           for method parameters.
1617         * XmlMemberMapping.cs: Improved support for members of type "any".
1618         * XmlReflectionImporter.cs: Improved assignment of the attribute form.
1619           If the namespace is explicitly specified, then the form should be
1620           qualified. Also fixed issues with the namespace assigned to attributes.
1621           This should fix bug #53384.
1622         * XmlSchemaExporter.cs: ExportMembersMapping(): improved support for
1623           methods that return values of type "any". Changed the methods
1624           AddSchemaArrayElement and AddSchemaElement, so instead of adding the
1625           element, return it, and the caller must add it to the collection.
1626           Other fixes in attribute generation.
1627         * XmlSchemaImporter.cs: ImportAnyType(): if a type name is provided,
1628           generate the AnyType mapping from the type described in the schema.
1629           Small fixes regarding IsMixed property of complex types (it means that
1630           the type can contain text, so the XmlTextAttribute must be generated).
1631         * XmlSerializationReaderInterpreter.cs: Reading of members by-order must
1632           be only used in the bare+encoded format.
1633
1634 2004-01-24  Lluis Sanchez Gual  <lluis@ximian.com>
1635
1636         * SoapReflectionImporter.cs: Types included with SoapInclude don't need
1637           to be derived types of the one that has the attribute.
1638         * XmlReflectionImporter.cs: Recursively register the derived maps of a given
1639           map to the parent map. This fixes #53246.
1640         * XmlSerializationWriter.cs: Some fixes regarding empty namespaces.
1641
1642 2004-01-22  Lluis Sanchez Gual  <lluis@ximian.com>
1643
1644         * XmlSerializationReaderInterpreter.cs: When deserializing an XmlElement,
1645           do not check the root element name, since it can be any name. This fixes
1646           bug #53201.
1647
1648 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
1649
1650         * XmlReflectionImporter.cs: Throw exception if a value type member has the
1651           IsNullable=true flag. This fixes bug #52906.
1652
1653 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
1654
1655         * MapCodeGenerator.cs, XmlSchemaImporter.cs: Attributes are allways optional,
1656           so a 'specified' member has always to be generated.
1657         * TypeData.cs: Fixed check for value type.
1658
1659 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
1660
1661         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs,
1662           XmlTypeMapMember.cs, MapCodeGenerator.cs, SoapCodeExporter.cs, TypeData.cs,
1663           XmlCodeExporter.cs, XmlReflectionImporter.cs, XmlSchemaExporter.cs,
1664           XmlSchemaImporter.cs, XmlSerializationReaderInterpreter.cs,
1665           XmlSerializationWriterInterpreter.cs, XmlTypeMapMember.cs:
1666           Added support for value specifiers members. This fixes bug #53024.
1667
1668 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
1669
1670         * XmlSchemaExporter.cs: Don't create referenced element if it has already
1671           been created (two types could be referencing the same schema element).
1672
1673 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
1674
1675         * XmlReflectionImporter.cs: Read IsNullable flag from XmlArrayAttribute.
1676         * XmlSerializationWriterInterpreter.cs: Interpret IsNullable flag for
1677           arrays. This fixes bug #53018.
1678
1679 2004-01-14  Lluis Sanchez Gual  <lluis@ximian.com>
1680
1681         * MapCodeGenerator.cs: Use type namespace instead of root namespace as
1682           default namespace for members.
1683         * XmlCodeExporter.cs: Fixed generation of XmlRootAttribute.
1684         * XmlReflectionImporter.cs: Fixed the assignment of root and type 
1685           namespaces.
1686         * XmlSchemaExporter.cs: Use type namespace instead of root namespace as
1687           default namespace for members. In AddSchemaElement, if the element is
1688           a root element never use a "ref" attribute.
1689         * XmlSchemaImporter.cs: Fixed issue when importing root elements.
1690
1691 2004-01-13  Lluis Sanchez Gual  <lluis@ximian.com>
1692
1693         * XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs
1694         XmlTypeMapping.cs: more namespace fixes.
1695
1696 2004-01-13  Lluis Sanchez Gual  <lluis@ximian.com>
1697
1698         * XmlReflectionImporter.cs: type namespace must never be used as root
1699           namespace. This fixes bug #52772.
1700
1701 2004-01-08  Nick Drochak <ndrochak@ieee.org>
1702
1703         * XmlSchemaImporter.cs: Removed unused variable.
1704
1705 2004-01-07  Lluis Sanchez Gual  <lluis@ximian.com>
1706
1707         * XmlReflectionImporter.cs: Ignore Namespace property when applying
1708           the [XmlType] attribute to an enum. This fixes bug #52607.
1709
1710 2003-12-19  Lluis Sanchez Gual  <lluis@ximian.com>
1711
1712         * SerializationCodeGenerator.cs, XmlReflectionImporter.cs: Added internal
1713         option that allow serialization of private types.
1714         
1715 2003-12-18 Eran Domb <erand@mainsoft.com>
1716         
1717         * TypeTranslator.cs : Change primtive types map.
1718
1719 2003-12-18 Eran Domb <erand@mainsoft.com>
1720         
1721         * XmlReflectionImporter.cs (ImportListMapping): Adding the included types of the list as a derived
1722         classes of object.
1723
1724 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
1725
1726         * XmlSchemaExporter.cs: AddSchemaElement, use XmlTypeMapElementInfo.IsPrimitive
1727           to check if a type is primitive, instead of Type.IsPrimitive, since CLR
1728           primitive types are not the same as XML primitive types. Patch proposed
1729           by Mordechai Taitelman. This fixes bug #52228.
1730         * XmlSerializationWriter.cs: Fixes in WriteNullTagEncoded and WriteNullTagLiteral.
1731
1732 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
1733         
1734         * XmlReflectionImporter.cs: Little fix.
1735         
1736 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
1737         
1738         * XmlReflectionImporter.cs: Type specified with XmlIncludeAttribute don't
1739           need to be derived types of the includer. This fixes bug #52152.
1740           Added null check for Name property of XmlEnumAttribute. This fixes
1741           bug #52155.
1742         * XmlSerializationReader.cs: Fixed some error messages.
1743         * XmlSerializationReaderInterpreter.cs: Check that the root element has
1744           the correct local name and namespace. This fixes bug #52038.
1745           Throw exception if enum value can't be parsed.
1746         * XmlTypeMapping.cs: Don't try to parse numeric enum values. This fixes
1747           bug #52041.
1748         
1749 2003-12-12  Lluis Sanchez Gual <lluis@ximian.com>
1750         
1751         * MapCodeGenerator.cs: Added support for [Flags] enum.
1752         * XmlCodeExporter.cs: Do not add XmlElement attributes if the member is Any.
1753         * XmlSchemaImporter.cs: Implemented ImportAnyType(). Improved import of
1754           encoded array type. Added support for enums with [Flags].
1755           In encoded format, unqualified types are schema types by default.
1756         
1757 2003-12-11  Lluis Sanchez Gual <lluis@ximian.com>
1758         
1759         * XmlCodeExporter.cs: Little fix.
1760         * XmlSchemaExporter.cs: In rpc format, make sure that parameters with the
1761           same name have the same type.
1762         * XmlSchemaImporter.cs: Support xml:lang.
1763         * XmlSerializationReader.cs, XmlSerializationWriterInterpreter.cs: 
1764           fixed wrong namespace for the arrayType attribute.
1765
1766 2003-12-08  Lluis Sanchez Gual <lluis@ximian.com>
1767
1768         * SoapReflectionImporter.cs, XmlMembersMapping.cs, XmlReflectionImporter.cs,
1769           XmlSchemaImporter.cs, XmlTypeMapElementInfo.cs, XmlTypeMapping.cs:
1770           When using rpc format on a web service, members don't need to have any
1771           specific namespace. Added a flag for turning namespace check on/off.
1772
1773 2003-11-27  Lluis Sanchez Gual <lluis@ximian.com>
1774
1775         * XmlSerializationReader.cs: Generate identifiers for arrays user a counter.
1776           delayedListFixups.Count cannot be used because elementes from
1777           delayedListFixups are deleted sometimes.
1778         
1779 2003-11-27  Lluis Sanchez Gual <lluis@ximian.com>
1780
1781         * XmlReflectionImporter.cs: Indexer properties must not be serialized.
1782           This fixes bug #51060.
1783
1784 2003-11-24  Lluis Sanchez Gual <lluis@ximian.com>
1785
1786         * XmlSerializationWriterInterpreter.cs: Applied patch by Eran Domb: 
1787           If type is Enum the code use type.GetElememtType() instead of 
1788           Enum.GetUnderlyingType().
1789
1790 2003-11-12  Lluis Sanchez Gual <lluis@ximian.com>
1791
1792         * XmlSerializationReader.cs, XmlSerializationWriter.cs, XmlSerializer.cs:
1793           Removed several TODOs already done.
1794
1795 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
1796
1797         * XmlCustomFormatter.cs: Added support for anyUri type. This fixes
1798           bug #50041.
1799
1800 2003-10-20  Lluis Sanchez Gual <lluis@ximian.com>
1801
1802         * ReflectionHelper.cs: In CheckSerializableType() check that the type
1803           is public.
1804         * XmlSerializationWriter.cs: Added check for circular references.
1805           This fixes bug #49879.
1806
1807 2003-10-20  Lluis Sanchez Gual <lluis@ximian.com>
1808
1809         * ReflectionHelper.cs: Added check in CheckSerializableType(). Interfaces
1810           can't be serialized. This fixes bug #49878.
1811         * TypeData.cs: In ListItemType check that the collection has a valid
1812           Add method and report an error if not.
1813         * XmlReflectionImporter.cs: Added CheckSerializableType check call when
1814           reflecting a collection.
1815
1816 2003-10-18  Lluis Sanchez Gual <lluis@ximian.com>
1817
1818         * SoapReflectionImporter.cs: Support element references for enum values in
1819           encoding format. This fixes bug #49568.
1820         * XmlSerializationReaderInterpreter.cs: In encoded format, do not check
1821           the name and namespace of the wrapper element. MS.NET doesn't do it.
1822           This fixes bug #49729.
1823
1824 2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
1825
1826         * MapCodeGenerator.cs: Made MapCodeGenerator internal.
1827
1828 2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
1829
1830         * MapCodeGenerator.cs: New file. Moved here all code that is common
1831           between XmlCodeExporter and SoapCodeExporter.
1832         * SoapCodeExporter.cs: Implemented.
1833         * XmlCodeExporter.cs: Moved common code to MapCodeGenerator.
1834         * XmlSerializationReaderInterpreter.cs: Fixed problem when reading
1835           encoded bare parameter list.
1836         * XmlTypeMapping.cs: Added method for getting member element by index.
1837
1838 2003-10-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1839
1840         * XmlSchemas.cs : Implemented IsDataSet().
1841
1842 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
1843
1844         * SoapCodeExporter.cs: Initial implementation of AddMappingMetadata().
1845         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlSchemaImporter.cs: 
1846           in ImportMembersMapping, set pass the namespace to each XmlMemberMapping.
1847         * SoapSchemaExporter.cs: Some fixes in ExportMembersMapping.
1848         * XmlMemberMapping.cs: Fixed constructor. Now it takes the default namespace
1849           and whether it uses encoded or literal format.
1850         * XmlSchemaExporter.cs: Little fixes.
1851
1852 2003-10-10  Lluis Sanchez Gual <lluis@ximian.com>
1853
1854         * XmlSerializationReader.cs. Fixed bug #49510. An array element doesn't
1855           need to be of type SOAP-ENC:Array, it can be a restriction of it.
1856
1857 2003-10-10  Lluis Sanchez Gual <lluis@ximian.com>
1858
1859         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Fixed bug #49476.
1860           Read only properties are only serialized if the type is an array.
1861
1862 2003-10-09  Lluis Sanchez Gual <lluis@ximian.com>
1863
1864         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, 
1865           SoapReflectionImporter.cs: Fixed bug #94694. Check for public constructor
1866           is not needed for value types.
1867
1868 2003-10-08  Lluis Sanchez Gual <lluis@ximian.com>
1869
1870         * XmlSerializer.cs, XmlSerializationWriter.cs: Fixed bug #49353
1871           (XmlSerializer.Serialize() handles namespace parameter incorrectly)
1872
1873 2003-10-05  Lluis Sanchez Gual <lluis@ximian.com>
1874
1875         * XmlReflectionImporter.cs, SoapReflectionImporter.cs: Fixed bug #49349
1876
1877 2003-10-04  Lluis Sanchez Gual <lluis@ximian.com>
1878
1879         * XmlSchemaExporter.cs: Keep track of elements being exported.
1880         * XmlSchemas.cs: Removed unneeded catch.
1881
1882 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
1883
1884         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
1885           Fixed handling of members with XmlTextAttribute that are arrays.
1886         * TypeData.cs: IsComplexType now returns true for XmlNode.
1887         * XmlSerializer.cs: Added check for null mapping in FromMappings.
1888         * XmlTypeMapping.cs: Added helper method FindTextElement.
1889
1890 2003-09-28  Lluis Sanchez Gual <lluis@ximian.com>
1891         
1892         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlSchemaExporter.cs:
1893           Added support for IncludeInSchema flag.
1894         * SoapSchemaImporter.cs: Implemented ImportDerivedTypeMapping method.
1895         * XmlCodeExporter.cs: Implemented AddMappingMetadata and AddMappingMetadata
1896           methods. Added support for IncludeInSchema flag.
1897         * XmlSchemaImporter.cs: Implemented ImportDerivedTypeMapping method.
1898           Added support for IncludeInSchema flag.
1899         * XmlTypeAttribute.cs: Set includeInSchema to true by default.
1900         * XmlTypeMapping.cs: Added IncludeInSchema property.
1901         
1902 2003-09-25  Lluis Sanchez Gual <lluis@ximian.com>
1903         
1904         * SoapIncludeAttribute.cs: Added AllowMultiple option. This fixes bug #48877.
1905
1906 2003-09-14  Lluis Sanchez Gual <lluis@ximian.com>
1907
1908         * XmlCustomFormatter.cs: added support for additional string types in
1909           GenerateToXmlString().
1910         * XmlSchemaExporter.cs: Fixed generation of XmlMembersMapping using 
1911           encoded format.
1912
1913 2003-09-11  Lluis Sanchez Gual <lluis@ximian.com>
1914
1915         * SoapSchemaImporter.cs: implemented.
1916         * XmlReflectionImporter.cs: Changed nullable default for array items to true.
1917         * XmlSchemaExporter.cs: Some fixes in the generation of encoded format schema.
1918         * XmlSchemaImporter.cs: more support for encoded format.
1919
1920 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
1921
1922         * SerializationCodeGenerator.cs: Minor fixes.
1923         * SoapReflectionImporter.cs: More fixes.
1924         * SoapSchemaExporter.cs: implemented.
1925         * SoapSchemaImporter.cs: Initial implementation.
1926         * TypeTranslator.cs: new methods for dealing with encoded arrays: GetArrayName
1927           and ParseArrayType
1928         * XmlCodeExporter.cs: Fix. When exporting a map, export all derived maps.
1929         * XmlMemberMapping.cs: Minor fixes.
1930         * XmlMembersMapping.cs: added some convenient constructors.
1931         * XmlSchemaExporter.cs: Added support for encoded format.
1932         * XmlSchemaImporter.cs: Added support for encoded format. 
1933         * XmlSerializationReader.cs: changed some string literals by constants.
1934           Implemented ParseWsdlArrayType.
1935         * XmlSerializationReaderInterpreter.cs: Read typeArray attribute when serializing
1936           custom attributes.
1937         * XmlSerializationWriter.cs: Implemented WriteXmlAttribute.
1938         * XmlSerializationWriterInterpreter.cs: Use WriteXmlAttribute instead of
1939           WriteAttribute to write custom attributes.
1940         * XmlSerializer.cs: added some namespace constants.
1941         * XmlTypeMapping.cs: added GetSchemaArrayName method.
1942
1943 2003-09-01  Lluis Sanchez Gual <lluis@ximian.com>
1944
1945         * XmlSchemaImporter.cs: Implemented ImportMembersMapping.
1946         * XmlTypeMapMemberElement.cs: Little fix.
1947         * XmlTypeMapping.cs: Added AllElementInfos property in ClassMap.
1948         * XmlCustomFormatter.cs: Added GenerateToXmlString and GenerateFromXmlString
1949           methods.
1950         * SerializationCodeGenerator.cs, SerializationCodeGeneratorConfiguration.cs:
1951           Added.
1952
1953 2003-08-29  Lluis Sanchez Gual <lluis@ximian.com>
1954
1955         * SoapReflectionImporter.cs: Fixed construcion of XmlMemberMapping.
1956         * XmlMemberMapping.cs: Changed constructor.
1957         * XmlReflectionImporter.cs: Fixed construcion of XmlMemberMapping.
1958         * XmlSchemaImporter.cs: Implemented ImportMembersMapping().
1959         * XmlSerializationReaderInterpreter.cs: Added some helper methods. Changed visibility.
1960         * XmlSerializationWriterInterpreter.cs: Changed visibility.
1961
1962 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
1963
1964         * XmlSerializer.cs: Fix in Deserialize() method.
1965
1966 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
1967
1968         * XmlReflectionImporter.cs: Fill RelatedMaps property of the generated map.
1969         * XmlSchemas.cs: Find method: make sure the returned object belongs to
1970           the requested type.
1971         * XmlSerializationReader.cs: Removed unneded virtual ReadObject method.
1972           Add null checks for eventSource.
1973         * XmlSerializationReaderInterpreter.cs: ReadObject is not virtual any more.
1974         * XmlSerializationWriter.cs: In Initialize method, initialize the provided
1975           namespece declarations. Virtual method WriteObject not needed any more.
1976           In WriteStartElement, write the provided namespaces.
1977         * XmlSerializationWriterInterpreter.cs: Write object is not virtual any more.
1978           Added GetTypeMap method, that returns the map for a given type. Added some
1979           virtual methods, so writer behavior can be extended at several places by
1980           derived classes.
1981         * XmlSerializer.cs: Changed behavior to match what MS.NET does. The virtual 
1982           methods CreateReader and CreateWriter are not called unless no type or 
1983           type mapping was provided in the constructor.
1984
1985 2003-08-12  Lluis Sanchez Gual <lluis@ximian.com>
1986
1987         * XmlSchemaImporter.cs: ImportTypeMapping doesn't need to check if the
1988           schema type it is importing is a class or an array. It will always
1989           be a class.
1990
1991 2003-08-12  Lluis Sanchez Gual <lluis@ximian.com>
1992
1993         * XmlSerializationWriterInterpreter.cs: any element members can be serialized
1994           as text nodes. Support it.
1995
1996 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
1997
1998         * CodeIdentifier.cs: Fixed MakeValid method.
1999         * TypeTranslator.cs: Added support for more primitive types. Added
2000           GetDefaultPrimitiveTypeData, which returns the type data to which a clr type
2001           maps by default.
2002         * XmlCodeExporter.cs: Generate XmlRoot attribute only if root element name and ns
2003           are different from the type ns and name.
2004           Generate class and field comments.
2005           Fixed default attribute generation. In elements with ref attribute, it has to be
2006           generated in the referred attribute.
2007         * XmlReflectionImporter.cs: Added check: simple type extensions can't add new elements.
2008           Added suport for text nodes in members of type "any".
2009         * XmlSchemaExporter.cs: Several fixes. Fixed generation of complex types with simple
2010           content.
2011         * XmlSchemaImporter.cs: Several fixes. The importer now collects documentation info.
2012         * XmlSerializationWriter.cs: WriteNamespaceDeclarations(): do not declare namespaces
2013           that have already been declared.
2014           WriteStartElement(): elements from schema namespace are always written with ns prefix.
2015         * XmlTypeMapMember.cs: Added documentation property.
2016         * XmlTypeMapping.cs: Added documentation property. Added property to check if a class map
2017           represents a simple type.
2018
2019 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
2020
2021         * XmlSchemaImporter.cs: Implemented ImportTypeMapping and all needed parsing
2022           stuff.
2023         * SoapReflectionImporter.cs: Set the type namespace parameter when creating a map.
2024         * TypeData.cs: Added property that returns a TypeData that represents an array of
2025           the given TypeData.
2026         * TypeTranslator.cs: Added GetArrayName() method.
2027           Added TypeDatas for missing primitive types.
2028         * XmlCodeExporter.cs: Implemented ExportMembersMapping. Fixed generation of
2029           XmlRootAttribute. Added the namespace to all attributes being generated.
2030           Other fixes in the generation of code.
2031         * XmlReflectionImporter: store the namespace of the type in the maps.
2032         * XmlSchemaExporter.cs: Several fixes. Only set the "mixed" attribute if the
2033           class can generate text. Do not export inherited attributes of a class.
2034           Use the new root namespace stored in the map when generating the root element.
2035         * XmlSerializationWriter: Always write a prefix when writing a qname, even if the
2036           namespace is the default namespace.
2037         * XmlSerializationWriterInterpreter.cs: fixed missing "else".
2038         * XmlTypeMapElementInfo.cs: In DataTypeNamespace property, return the type
2039           namespace instead of the map namespace (which can be different if the type
2040           has a XmlRoot element).
2041         * XmlTypeMapMember.cs: Set the default value of the DefaultValue property
2042           to System.DBNull.Value.
2043         * XmlTypeMapMemberElement.cs: ElementInfo property: In the getter Create
2044           the collection if it has not yet been created.
2045         * XmlTypeMapping.cs: Added property XmlTypeNamespace which stores the namespace
2046           of the type. It may be different from the namespace of the map if the type
2047           has a XmlRoot element. Also added IsSimpleType property.
2048           In ClassMap, added AllMembers property.
2049         
2050 2003-07-30  Lluis Sanchez Gual <lluis@ximian.com>
2051
2052         * TypeData.cs: Added new constructor and variables to allow the creation of
2053           a TypeData without a Type. Added ListItemTypeData property.
2054         * XmlTypeMapping.cs: Added property for checking if a ListMap represents an
2055           array of arrays. Added also a property to get the nested array map.
2056         * XmlCodeExporter.cs: First implementation of code exporter.
2057
2058 2003-07-22  Lluis Sanchez Gual <lluis@ximian.com>
2059
2060         * TypeTranslator.cs: Added new primitive types: NMTOKEN and NCName.
2061         * XmlSerializationWriterInterpreter.cs: Write XmlAttributes with the prefix
2062           they have.
2063
2064 2003-07-15  Lluis Sanchez Gual <lluis@ximian.com>
2065
2066         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Avoid generating two
2067           maps with the same name and namespace. To avoid this, maps must be registered
2068           using the real map namespace, not the default namespace (the namespace can
2069           change if the type has a XmlType or SoapType attribute).
2070         * XmlArrayItemAttribute.cs: Set IsNullable to true by default.
2071         * XmlSchemaExporter.cs: Implemented method ExportMembersMapping.
2072           Other small fixes.
2073         * XmlSerializationWriterInterpreter.cs: GetStringValue: return null if the value
2074           is null.
2075
2076 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
2077
2078         * SoapReflectionImporter.cs: Set the BaseMap property of map. Small fix.
2079         * TypeData.cs: IsComplexType now returns true for IXmlSerializable types.
2080         * XmlAttributes.cs: Fixed bug when reading the value of DefaultValueAttribute.
2081         * XmlReflectionImporter.cs: Set the BaseMap property of map. Several small fixes.
2082         * XmlSchemaExporter.cs: Implemented.
2083         * XmlSchemas.cs: Support schemas with TargetNamespace set to null.
2084         * XmlSerializationWriter.cs: FromXmlQualifiedName (): return null if the qname is null.
2085           GetNamespacePrefix (): no need to add xmlns attribute if namespace is null.
2086         * XmlSerializationWriterInterpreter.cs: Fixed management of default values.
2087           GetStringValue() returns null if the value is null, instead of empty string.
2088           (attributes with null values are not written).
2089         * XmlTypeMapElementInfo.cs: added IsTextElement and IsUnnamedAnyElement properties.
2090         * XmlTypeMapMemberAttribute.cs: added DataTypeNamespace and removed DataType.
2091           DataType value can is now in TypeData.
2092         * XmlTypeMapMemberElement.cs: Small fix.
2093         * XmlTypeMapping.cs: Added FindMember method and BaseMap property.
2094
2095 2003-07-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2096
2097         * AssemblyInfo.cs: Removed
2098
2099 2003-07-9  Lluis Sanchez Gual <lluis@ximian.com>
2100
2101         * XmlSerializationWriter.cs: WriteStartElement(): Do not write xsd and xsi 
2102           namespace declarations if they have already been defined.
2103
2104 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
2105
2106         * XmlSerializationReaderInterpreter.cs: Use the parameter type when getting the Add method
2107           for adding elements to a list.
2108
2109 2003-06-31  Lluis Sanchez Gual <lluis@ximian.com>
2110
2111         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Fixed so XmlIncludeAttribute and 
2112           SoapIncludeAttribute are now transitive (if class A includes class B, and B includes C, then 
2113           A includes C).
2114
2115 2003-06-30  Lluis Sanchez Gual <lluis@ximian.com>
2116
2117         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlTypeMapping.cs: 
2118           Added support for serialization of enums with the Flags attribute.
2119
2120 2003-06-30  Lluis Sanchez Gual <lluis@ximian.com>
2121
2122         * SoapReflectionImporter.cs: Fix support for DataType in class members.
2123         * TypeData.cs: Don't use "Index" name to get indexer property. Indexer properties
2124           can have other names.
2125         * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for "time" and "data" xml types.
2126         * XmlReflectionImporter.cs, XmlTypeMapElementInfo.cs, XmlSerializationReader.cs,
2127           XmlSerializationWriter.cs, XmlTypeMapElementInfo.cs, XmlTypeMapping.cs: 
2128           Fix support for DataType in class members.
2129         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs: 
2130           Added support for array of primitive types in attributes.
2131
2132 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
2133
2134         * TypeData.cs: Type of item of ICollections is now taken from the Item(int) property. Add() can
2135           be overlodaded, so it is not good for this.
2136         * XmlSerializationWriterInterpreter.cs: Fix ambiguity bug when getting Item property of a collection.
2137
2138 2003-06-24  Lluis Sanchez Gual <lluis@ximian.com>
2139
2140         * XmlTypeMapElementInfo.cs: no need to compare nesting level in Equals.
2141         * XmlReflectionImporter.cs: Changed nullable default. Assign member's namespace to an
2142           array if the namespace is not specified in XmlArrayItemAttribute.
2143
2144 2003-06-17  Lluis Sanchez Gual <lluis@ximian.com>
2145
2146         * XmlReflectionImporter.cs: Reset internal tables for each ImportMembersMapping call.
2147         * XmlSerializationReader.cs: GetXsiType(): use current reader.namespaceUri if namespace
2148           is not specified in the xsi attribute.
2149         * XmlSerializationReaderInterpreter.cs: Fixed bug when reading an empty array from an empty element.
2150         * XmlSerializationWriterInterpreter.cs: Added null value check when writting an array.
2151         
2152 2003-06-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2153
2154         * XmlSerializationReader.cs : Synchronous fix with 
2155           XmlElement.GetAttribute(name, ns) fix for GetNullAttr().
2156         * added XmlTypeMapMemberNamespace.cs.
2157         * XmlReflectionImporter,
2158           XmlSerializationReaderInterpreter.cs,
2159           XmlSerializationWriterInterpreter.cs,
2160           XmlTypeMapping.cs : support for XmlNamespaceDeclarationAttribute.
2161
2162 2003-06-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2163
2164         * XmlSerializationWriter.cs : some QName handling fix.
2165
2166 2003-06-13  Lluis Sanchez Gual <lluis@ximian.com>
2167
2168         * XmlSerializationReader.cs: Fixed error message.
2169         * XmlSerializationReaderInterpreter.cs: Fixed bug when reading XmlQualifiedNames as attributes
2170           Thanks to Atsushi!
2171         * XmlSerializationWriter.cs: Null check in FromXmlQualifiedName.
2172
2173 2003-06-13  Lluis Sanchez Gual <lluis@ximian.com>
2174
2175         * XmlSerializationReader.cs: Fixed implementation of ReadElementQualifiedName() and ReadTypedPrimitive().
2176         * XmlSerializationReaderInterpreter.cs: Improved serialization of XmlQualifiedNames.
2177         * XmlSerializationWriter.cs: implemented methods for reading XmlQualifiedNames.
2178         * XmlSerializationWriterInterpreter.cs: Improved deserialization of XmlQualifiedNames.
2179
2180 2003-06-13  Lluis Sanchez Gual <lluis@ximian.com>
2181
2182         * SchemaTypes.cs: Changed DataSet type for a more generic XmlSerializable.
2183         * SoapReflectionImporter.cs: tiny fix.
2184         * XmlReflectionImporter.cs, TypeData.cs, XmlSerializationWriterInterpreter.cs,
2185           XmlSerializationReaderInterpreter.cs: Added support for IXmlSerializable.
2186         * XmlSerializationReader.cs: Fixed implementation of ReadSerializable().
2187         * XmlSerializationWriter.cs: implemented WriteSerializable ().
2188
2189 2003-06-12  Lluis Sanchez Gual <lluis@ximian.com>
2190
2191         * XmlAnyElementAttribute.cs, XmlArrayItemAttribute.cs: Added AllowMultiple flag.
2192         * XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs,
2193           XmlSerializationReaderInterpreter.cs, XmlTypeMapElementInfo.cs,
2194           XmlTypeMapMemberElement.cs, XmlTypeMapping.cs: Added support for XmlTextAttribute.
2195         * XmlSerializationWriter.cs: small fix.
2196
2197 2003-06-11  Lluis Sanchez Gual <lluis@ximian.com>
2198
2199         * XmlReflectionImporter.cs: Added support for XmlIgnoreAttribute in enum members.
2200           Added support for DefaultValueAttribute.
2201         * XmlSerializationWriterInterpreter.cs: Added support for DefaultValueAttribute. Fixed bug when writting
2202           the value of an enum.
2203         * XmlTypeMapMember.cs: Added DefaultValue attribute.
2204         * XmlTypeMapping.cs: EnumMap.GetXmlName and GetXmlValue, so they can now deal with
2205           integer values.
2206
2207 2003-06-11  Lluis Sanchez Gual <lluis@ximian.com>
2208
2209         * XmlSerializationReader.cs: Minor fix.
2210
2211 2003-06-11  Lluis Sanchez Gual <lluis@ximian.com>
2212
2213         * XmlSerializationReader.cs, XmlSerializationReaderInterpreter.cs: Minor fixes.
2214
2215 2003-06-10  Lluis Sanchez Gual <lluis@ximian.com>
2216
2217         * SoapReflectionImporter.cs: Added check: some overrides cannot be applied to primitive types.
2218         * XmlAttributes.cs: Default value of XmlDefaultValue changed to System.DBNull.Value
2219         * XmlCustomFormatter.cs: small fixes.
2220         * XmlReflectionImporter.cs: Added check: some overrides cannot be applied to primitive types.
2221         * XmlSerializationWriter.cs: Implemented TopLevelElement().
2222           WriteNamespaceDeclarations(): Fixed (the hashtable contains XmlQualifiedNames, not strings).
2223           WriteXsiType(): It is not necessary to add the namespace declaration, this will now be done by XmlWriter.
2224         * XmlSerializationWriterInterpreter.cs: Call TopLevelElement() when writing classes or arrays as
2225           root elements.
2226
2227 2003-06-05  Lluis Sanchez Gual <lluis@ximian.com>
2228
2229         * SoapReflectionImporter.cs: implemented.
2230         * TypeTranslator.cs: added IsPrimitive() method
2231         * TypeMapping.cs: Added RelatedMaps property that returns all maps directly or indirectly
2232           used by that one. Also added Format property, that can be literal or encoded.
2233         * XmlReflectionImporter.cs: little fixes. Moved some methods to ReflectionHelper.
2234         * XmlReflectionMember.cs: added constructor that accepts SoapAttributes
2235         * XmlSerializationReader.cs: implemented many methods needed to support encoded format.
2236         * XmlSerializationReaderInterpreter.cs: added support for encoded format.
2237         * XmlSerializationWriter.cs: added support for encoded format.
2238         * XmlSerializationWriterInterpreter.cs: added support for encoded format.
2239         * XmlTypeMapElementInfo.cs: added some properties needed to support encoded format
2240         * XmlTypeMapMemberAttribute.cs: added MappedType property (enum values can be attributes, 
2241           and a map is needed for them).
2242         * XmlTypeMapMemberElement.cs: small fixes.
2243         * XmlTypeMapping.cs: added some properties and methods needed to support encoded format
2244         * ReflectionHelper.cs: added. Has some methods shared by the reflection importers.
2245
2246 2003-06-01  Miguel de Icaza  <miguel@ximian.com>
2247
2248         * XmlSerializationReader.cs (UnknownAttribute, UnknownNode,
2249         UnknownElement): Add line number information.
2250
2251 2003-05-29  Lluis Sanchez Gual <lluis@ximian.com>
2252
2253         * TypeData.cs, TypeTranslator.cs: Renamed some properties.
2254         * XmlCustomFormatter.cs: Fixed bug in serialization of chars. Support for byte[].
2255         * XmlMapping.cs: Added internal property.
2256         * XmlMemberMapping.cs, XmlMembersMapping.cs: Implemented.
2257         * XmlReflectionImporter.cs: Implemented importing of XmlMembersMapping. Several fixes.
2258         * XmlReflectionMember.cs: XmlAttributes are now created by default
2259         * XmlSerializationReader.cs, XmlSerializationWriter.cs: Several fixes.
2260         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs, XmlSerializer.cs: 
2261           Implemented support for XmlMembersMapping.
2262         * XmlTypeMapping.cs: Property ObjectMap moved to XmlMapping.
2263
2264 2003-05-28  Lluis Sanchez Gual <lluis@ximian.com>
2265
2266         * TypeData.cs, TypeTranslator.cs: Added support for enums. Added method for translating
2267           from xml type to clr type.
2268         * XmlCustomFormatter.cs: Fixed bug in serialization of chars. Support for byte[].
2269         * XmlReflectionMember.cs: Added default constructor.
2270         * XmlSerializationReader.cs: Implemented ReadTypedPrimitive(), ToByteArrayBase64().
2271         * XmlSerializationWriter.cs: Several fixes.
2272         * XmlSerializationReaderInterpreter.cs, XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs
2273           XmlTypeMapMember.cs, XmlTypeMapMemberElement.cs, XmlTypeMapping.cs:
2274           Added support for enums. Added support for XmlElement and XmlNode.
2275           Support for XmlAnyAttributeAttribute and XmlAnyElementAttribute. Many fixes.
2276
2277 2003-05-26  Lluis Sanchez Gual <lluis@ximian.com>
2278
2279         * TypeData.cs, TypeTranslator.cs: Implemented some methods.
2280         * XmlCustomFormatter.cs: Added formatting methods.
2281         * XmlReflectionImporter.cs, XmlSerializer.cs: New implementation.
2282         * XmlReflectionMember.cs: Added new constructor.
2283         * XmlSerializationReader.cs, XmlSerializationWriter.cs: Implemented some methods.
2284         * XmlSerializationWriterInterpreter.cs, XmlSerializationReaderInterpreter.cs
2285           XmlTypeMapElementInfo.cs, XmlTypeMapMember.cs, XmlTypeMapMemberAttribute.cs
2286           XmlTypeMapMemberElement.cs, XmlTypeMapping.cs: Added
2287
2288 2003-05-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2289
2290         * Added TypeTableEntry.cs.
2291         * TypeTranslator.cs : changed for non-static use.
2292         * XmlAttributes.cs : XmlType attribute support for GetAttributeName() 
2293           and GetElementName(). Bugfix so that if any XmlElementAttribute 
2294           exists after non-typed XmlElementAttribute then it might be ignored.
2295           Added GetElementIsNullable().
2296         * XmlSerializer.cs :
2297           Introduced TypeTablePool and TypeTableEntry and erased ambiguous 
2298           Object memberObj[4].
2299           Deserialize() now uses XmlReader.Depth to check its depth.
2300           Serialize() for non-XmlReader arguments now always write xmldecl.
2301           SerializeBuiltin() now explicitly requires Type to support xsi:nil,
2302           and handles XmlQualifiedName.
2303           Separated SerializeType () from Serialize().
2304           Separated WriteCollectionElementMember(), IsFieldTypeSerializable(),
2305           IsPropertyTypeSerializable() from SerializeMembers().
2306           SerializeMembers() is now capable of null value and actual type,
2307           which should be included by XmlIncludeAttribute and so on.
2308           Renamed SerializeArray() to SerializeArrayContent(), and added
2309           SerializeCollectionContent().
2310           SerializeMembers() now requries XmlSerializerNamespaces (not used yet).
2311           FillTypeTable() is now aware of XmlInclude attributes.
2312           FillEnum() should not have different type table content from others.
2313
2314 2003-05-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2315
2316         * XmlSerializer.cs : this time, only replaced spaces with tabs.
2317
2318 2003-05-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2319
2320         * ChangeLog : Added missing ChangeLog of 2003-04-25.
2321         * XmlCustomFormatter.cs : Fixed FromXmlNmTokens() to contain 
2322           separators. Added experimental method ToEnum().
2323         * XmlSerializationReader.cs : unconfirmed implementation of
2324           ReadSerializable() and ToEnum().
2325         * XmlSerializationWriter.cs : fixed WriteAttribute() so that if value 
2326           is null then no output will be written.
2327           Fixed WriteStartElement(), WriteElement*() and WriteEmptyTag() 
2328           to use custom formatted name.
2329
2330 2003-05-02  Miguel de Icaza  <miguel@ximian.com>
2331
2332         * XmlReflectionImporter.cs: one of theImportTypeMapping mappings
2333         had a void return value.
2334
2335 2003-04-26  Miguel de Icaza  <miguel@ximian.com>
2336
2337         * XmlIncludeAttribute.cs: Make XmlIncludeAttribute have the
2338         `AllowMultiple' flags.  
2339
2340 2003-04-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2341
2342         * TypeTranslator.cs : patch by Erik LeBel. Array consideration.
2343         * XmlReflectionImporter.cs : patch by Erik LeBel. 
2344           Now uses XmlRootAttribute to determine element name.
2345
2346 2003-03-17  Miguel de Icaza  <miguel@ximian.com>
2347
2348         * XmlSerializer.cs: Do not use Bubblesort, use ArrayList.Sort.
2349         Kill Bublesort.
2350
2351 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2352
2353         * XmlSerializer.cs : patch by Sean Cier. Serialize() other than 
2354           XmlWriter argument should call WriteEndDocument.
2355
2356 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2357
2358         * XmlSerializer.cs : Serialize() don't write xmldecl when WriteState is
2359           not WriteState.Start, and never call WriteEndDocument().
2360
2361 2003-03-12  Elan Feingold <efeingold@mn.rr.com>
2362
2363         * XmlCustomFormatter.cs: Correct signature, Implement
2364         ToByteArrayBase64 
2365
2366         * XmlSerializationWriter.cs: Fix prototype.
2367
2368         * XmlSerializer.cs: Implements Deserialize().
2369
2370 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2371
2372         * XmlSerializer.cs : serializing now works for interface member.
2373
2374 2003-01-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
2375
2376         * XmlSerializer.cs : some fix handling xml node object more correct.
2377
2378 2003-01-16  Ajay kumar Dwivedi <adwiv@yahoo.com>
2379         * XmlSerializer.cs: Array serialization for 1D arrays works
2380         * TypeTranslator: Added for translations`
2381
2382 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2383
2384         * XmlCustomFormatter.cs: finished.
2385         * XmlSerializationReader.cs: implemented some more methods.
2386
2387 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2388
2389         * XmlSerializationReader.cs: implemented a few methods.
2390
2391         * XmlAnyElementAttribute.cs:
2392         * XmlArrayAttribute.cs:
2393         * XmlChoiceIdentifierAttribute.cs:
2394         * XmlElementAttribute.cs:
2395         * XmlMemberMapping.cs:
2396         * XmlMembersMapping.cs: class status based fixes.
2397
2398 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2399
2400         * CodeIdentifiers.cs:
2401         * XmlSchemaExporter.cs:
2402         * XmlSchemaImporter.cs:
2403         * XmlSchemas.cs:
2404         * XmlSerializationWriteCallback.cs:
2405         * XmlSerializationWriter.cs:
2406         * XmlSerializer.cs:
2407         * XmlSerializerNamespaces.cs: some class status based fixed and
2408         implemented a couple of methods.
2409
2410         * SoapSchemaExporter.cs: stubbed out.
2411
2412 2002-08-24  Tim Coleman <tim@timcoleman.com>
2413         * SoapCodeExporter.cs:
2414                 Fix return value of ExportTypeMapping.
2415         * XmlCustomFormatter.cs:
2416                 Change methods to be internal instead of public.
2417         * XmlSerializationWriter.cs:
2418                 Modify GetPrimitiveTypeName to build on linux.
2419                 Modify GetQualifiedName to return an incrementing prefix
2420                 instead of the same one all the time (still need to manage
2421                 conflicts)
2422                 Modify WriteElementString to only do special stuff is XsiType
2423                 is not defined.
2424                 Modify WriteTypedPrimitive to use FromXmlQualifiedName if it's
2425                 an XmlQualifiedName.
2426
2427 2002-08-22  Tim Coleman <tim@timcoleman.com>
2428         * XmlSerializationReader.cs:
2429                 Some implementation
2430         * XmlSerializationWriter.cs:
2431                 More implementation
2432         * XmlCustomFormatter.cs:
2433                 Implemented this class.
2434
2435 2002-08-20  Tim Coleman <tim@timcoleman.com>
2436         * XmlSerializationWriter.cs:
2437                 Some implementation.
2438
2439 2002-08-19  Tim Coleman <tim@timcoleman.com>
2440         * XmlSerializer.cs:
2441                 New stubs added.
2442         * XmlSerializationWriter.cs:
2443                 New stubs added.
2444
2445 2002-08-14  Tim Coleman <tim@timcoleman.com>
2446         * XmlSerializer.cs:
2447                 More reformatting of source code so I can
2448                 better understand what it does.
2449
2450 2002-08-06  Tim Coleman <tim@timcoleman.com>
2451         * XmlSerializer.cs:
2452                 Some reformatting of code for readability.
2453                 Modify to correctly serialize ICollection objects
2454                 such as the BindingCollection of a ServiceDescription
2455                 for example.
2456
2457 2002-08-03  Tim Coleman <tim@timcoleman.com>
2458         * XmlSerializer.cs: 
2459                 Changed Implements() to check based on name rather
2460                 than FullName.  FullName was never working correctly.
2461
2462 2002-07-26  Tim Coleman <tim@timcoleman.com>
2463         * XmlSerializer.cs:
2464                 The constructor now looks for an XmlRootAttribute attribute
2465                 if one is not passed in.  Various changes to make it emit
2466                 proper XML, such as handling an element without a namespace
2467                 prefix, and using WriteEndDocument where it should be.
2468
2469 2002-07-24  Tim Coleman <tim@timcoleman.com>
2470         * CodeIdentifier.cs:
2471         * IXmlSerializable.cs:
2472         * XmlSerializationCollectionFixupCallback.cs:
2473         * XmlSerializationFixupCallback.cs:
2474         * XmlSerializationReadCallback.cs:
2475         * XmlSerializationReader.cs:
2476         * XmlSerializationWriteCallback.cs:
2477                 Add new classes.
2478         * XmlSchemas.cs
2479         * CodeIdentifiers.cs:
2480                 Implement some of these classes
2481         * XmlCodeExporter.cs:
2482                 Fix return type of a function
2483
2484 2002-07-24  Tim Coleman <tim@timcoleman.com>
2485         * SoapReflectionImporter.cs:
2486                 New class added to build
2487                 System.Web.Services.Description.ServiceDescription.cs
2488
2489 2002-07-22  Tim Coleman <tim@timcoleman.com>
2490         * CodeIdentifiers.cs:
2491         * SoapCodeExporter.cs:
2492         * SoapSchemaExporter.cs:
2493         * XmlCodeExporter.cs:
2494         * XmlMemberMapping.cs:
2495         * XmlMembersMapping.cs:
2496         * XmlReflectionImporter.cs:
2497         * XmlReflectionMember.cs:
2498         * XmlSchemaExporter.cs:
2499         * XmlSchemaImporter.cs:
2500         * XmlSchemas.cs: 
2501                 New stubbs added to aid in the linux build of
2502                 System.Web.Services.
2503
2504 2002-07-05  Ajay kumar Dwivedi <adwiv@yahoo.com>
2505         
2506         * XmlSeriailizer: Serialize method can serialize XmlSchema perfectly.
2507
2508         * XmlSerializerNamespaces: Reverted to use of a single Hashtable.
2509
2510 2002-07-02  Ajay kumar Dwivedi <adwiv@yahoo.com>
2511         
2512         * XmlSeriailizer: Updated Serialize() method.
2513
2514 2002-06-27 Ajay kumar Dwivedi <adwiv@yahoo.com>
2515         * XmlSerializer: Serialize() method Partially Implemented.
2516
2517 2002-06-20 Ajay kumar Dwivedi <adwiv@yahoo.com>
2518
2519         * Soap & XmlOverrides: Implemented using TypeMember as key with
2520           suggestions from Rafael.