2005-07-01 Lluis Sanchez Gual <lluis@novell.com>
[mono.git] / mcs / class / System.XML / System.Xml.Serialization / ChangeLog
1 2005-07-01  Lluis Sanchez Gual  <lluis@novell.com>
2
3         * XmlCustomFormatter.cs: Properly read/write duration values.
4
5 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
6
7         * XmlSerializer.cs: Fix race between XmlSerializer and the
8         serializer generator.
9
10 2005-06-14  Lluis Sanchez Gual  <lluis@novell.com>
11
12         * XmlTypeMapElementInfo.cs: Added new DataTypeName property for
13         getting the real xml type name of a member.
14         * XmlSerializationWriterInterpreter.cs: Use that new property
15         to get the type name of primitive types. This should fix bug #75180.
16
17 2005-06-07  Lluis Sanchez Gual  <lluis@novell.com>
18
19         * SerializationCodeGenerator.cs: When reading members by order,
20         call a MoveToContext after each member read. In the fixup method
21         don't cast returned values if it is reading an object array.
22         
23         * XmlSchemaImporter.cs: In ImportDerivedTypeMapping, if the type
24         being imported is a primitive type, create a wrapper class that
25         inherits from the provided one. This fixes bug #68809.
26         
27         * XmlSerializationReader.cs: Properly report unreferenced objects.
28         Created an overload of ReadTypedPrimitive that reports elements of
29         unknown type. Implemented Referenced(). 
30
31 2005-05-30  Lluis Sanchez Gual  <lluis@novell.com>
32
33         * XmlReflectionImporter.cs: Don't ignore type namespaces explicitely
34         set to the default namespace. This fixes bug #73035.
35
36 2005-05-12  Lluis Sanchez Gual  <lluis@novell.com>
37
38         * SoapReflectionImporter.cs: In ImportTypeMap, make sure that all
39         types indirectly imported by this method use the same namespace. 
40
41 2005-05-09  Atsushi Enomoto  <atsushi@ximian.com>
42
43         * TypeTableEntry.cs : removed obsolete code.
44
45 2005-04-26  Lluis Sanchez Gual  <lluis@novell.com>
46
47         * XmlReflectionImporter.cs, SoapReflectionImporter.cs: ignore array
48         properties which are read only. Fixes bug #74723.
49
50 2005-04-14  Lluis Sanchez Gual  <lluis@novell.com>
51
52         * XmlReflectionImporter.cs:
53         * SoapReflectionImporter.cs:
54         * TypeTranslator.cs: Encode local names withXmlConvert.EncodeLocalName
55         where needed. Based on a patch by Konstantin Triger. 
56
57 2005-04-12  Lluis Sanchez Gual  <lluis@novell.com>
58
59         * XmlTypeMapping.cs: Added new XmlSerializableMapping class.
60         * XmlSchemaExporter.cs: When exporting an IXmlSerializable type,
61         export the schema that it defines. In ImportNamespace, removed
62         check for default namespace, since it may be included from a non
63         default namespace.
64         * XmlReflectionImporter.cs: Create a special map for IXmlSerializable
65         types. All this based on a patch by Konstantin Triger.
66         
67         * SerializationCodeGenerator.cs:
68         * XmlMapping.cs:
69         * XmlSerializationReaderInterpreter.cs:
70         * SoapCodeExporter.cs:
71         * XmlTypeMapMemberAttribute.cs:
72         * XmlSerializationReader.cs:
73         * XmlCodeExporter.cs: Fixed some warnings.
74
75 2005-04-10  Andrew Skiba  <andrews@mainsoft.com>
76
77         * XmlSerializer.cs: fixed a typo - wrong TARGET_JVM condition.
78
79 2005-04-03  Andrew Skiba  <andrews@mainsoft.com>
80
81         * XmlSerializer.cs: added TARGET_JVM that does not support on-the-fly
82         code generation.
83
84 2005-03-30  Lluis Sanchez Gual  <lluis@novell.com>
85
86         * SerializationCodeGenerator.cs: 
87         * XmlSerializationReaderInterpreter.cs: If the element being read is
88         bound to a choice member, set the corresponding value.
89         * XmlTypeMapMember.cs: Added helper SetValue method.
90         * XmlTypeMapElementInfo.cs: Changed the type of ChoiceValue to Object,
91         since now stores the enum value.
92         * XmlReflectionImporter.cs: Properly import choice values.
93         * XmlTypeMapMemberElement.cs: Added setter for the choice.
94
95 2005-03-29  Lluis Sanchez Gual  <lluis@novell.com>
96
97         * XmlReflectionImporter.cs: Added support for subclasses of XmlNode.
98         This fixes bug #73901 and should fix #70384.
99         * XmlSerializationReader.cs: When reading an object element, return
100         an Object instance if the element has no children. This fixes bug #73974.
101         * XmlSerializationWriter.cs: Support writing XmlNode[] as a primitive
102         type (it is written as an element with those nodes as children). 
103
104 2005-03-08  Lluis Sanchez Gual <lluis@novell.com>
105
106         * XmlSchemaImporter.cs: Support importing schemas that define
107         extra types in the standard xml schema namespace. When using encoded
108         format, support the primitive types defined by the SOAP encoding
109         namespace.
110
111 2005-03-04  Lluis Sanchez Gual <lluis@novell.com>
112
113         * ReflectionHelper.cs: Avoid endless loop.
114         * XmlSchemas.cs: Added null check. Patches from MainSoft.
115
116 2005-02-07  Lluis Sanchez Gual  <lluis@novell.com>
117
118         * XmlSerializationReader.cs: After reading an href element, skip the
119         whole element (it may not be an empty element). This fixes bug #72265.
120
121 2005-01-25  Lluis Sanchez Gual  <lluis@novell.com>
122
123         * XmlSchemaImporter.cs: When importing a default value of type enum,
124         translate it from the schema value to the clr value.
125
126 2005-01-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
127
128         * XmlSerializer.cs: only print the results if there's an error
129         compiling.
130
131 2005-01-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
132
133         * SerializationCodeGenerator.cs: don't use _config if it has not been
134         assigned.
135
136 2005-01-18  Lluis Sanchez Gual  <lluis@novell.com>
137
138         * XmlReflectionImporter.cs: Don't check the property type if it has
139         an [XmlIgnore] attribute. This fixes bug #71332.
140
141 2005-01-14  Atsushi Enomoto  <atsushi@ximian.com>
142
143         * SerializationCodeGenerator.cs,
144           XmlSerializationWriterInterpreter.cs : exchanged attribute
145           serialization orders (XmlAnyAttribute <-> XmlNamespaceDeclarations).
146           xmlns attributes in XmlAnyAttribute are not written.
147
148 2005-01-12  Atsushi Enomoto  <atsushi@ximian.com>
149
150         * SerializationCodeGeneratorConfiguration.cs,
151           SerializationCodeGenerator.cs : Added some generation configuration:
152                 <generateAsInternal>
153                         write custom reader/writer as internal classes.
154                 <noreader>, <nowriter>
155                         They make generation of reader and/or writer optional.
156         * XmlSerializerNamespaces.cs :
157           Now it uses ListDictionary instead of Hashtable.
158         * XmlSerializationWriter.cs : entries in XmlSerializerNamespaces are
159           written unless there is already the same prefix-ns mapping.
160
161 2005-01-12  Lluis Sanchez Gual  <lluis@novell.com>
162
163         * XmlTypeMapElementInfo.cs: Added new IndexOfElement method.
164         * XmlSchemaImporter.cs: When importing a base type of a complex type,
165         make sure that the base class is always imported as a class and not
166         as an array. If it has been imported as array, import it again.
167         This fixes bug #70839. Other minor fixes as well.
168         * XmlSerializationWriter.cs: Fixed warning.
169
170 2004-12-09  Lluis Sanchez Gual  <lluis@novell.com>
171
172         * SerializationCodeGenerator.cs: Yet another generation fix.
173
174 2004-12-09  Lluis Sanchez Gual <lluis@novell.com>
175
176         * SerializationCodeGenerator.cs: Fixed generation of enum literals.
177
178 2004-12-09  Lluis Sanchez Gual  <lluis@novell.com>
179
180         * XmlReflectionMember.cs: Added DeclaringType member.
181         * XmlReflectionImporter.cs: When importing fields that belong to a
182         base class, use the xml namespace of the base map for the member.
183         This fixes bug #70309.
184
185 2004-11-30  Lluis Sanchez Gual  <lluis@novell.com>
186
187         * XmlCodeExporter.cs, XmlSerializer.cs, XmlSchemaImporter.cs: Fixed some
188         compilation warnings.
189
190 2004-11-24  Lluis Sanchez Gual  <lluis@novell.com>
191
192         * SerializationSource.cs: Made SerializationSource abstract, and
193         renamed Equals to BaseEquals to avoid missing GetHashCode warning
194         (it does not really make sense in this case).
195         * XmlSchemaExporter.cs, SerializationCodeGenerator.cs,
196         XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs,
197         XmlSerializationReader.cs: Fixed warnings.
198
199 2004-10-19  Atsushi Enomoto  <atsushi@ximian.com>
200
201         * XmlSerializationWriter.cs : When namespace is an empty string,
202           XmlTextWriter.LookupPrefix() will raise an error. Just skip it in
203           such case.
204
205 2004-10-01  Lluis Sanchez Gual  <lluis@novell.com>
206
207         * MapCodeGenerator.cs: When the Object type is exported, export all
208           derived maps. This was done in IncludeMetadata, but this method is
209           not called by the xsd tool.
210         * XmlCodeExporter.cs: In AddMappingMetadata, only generate the root
211           attribute for primitive types and arrays.
212         * XmlSchemaImporter.cs: Only export all object-derived maps if the
213           Object type is explicitly referenced by an element.
214         * XmlSerializationWriter.cs: Minor fix.
215
216 2004-09-28  Lluis Sanchez Gual  <lluis@novell.com>
217
218         * CodeIdentifier.cs: MakeValid now returns "Item" for an empty string.
219           This fixes bug #66877.
220
221 2004-09-21  Lluis Sanchez Gual  <lluis@novell.com>
222
223         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
224           when reading a primitive value in encoded format using
225           ReadReferencingElement, provide the type name and namespace
226           since the xsi type may not be present in the xml element. This
227           fixes bug #65929.
228
229 2004-09-15  Lluis Sanchez Gual  <lluis@novell.com>
230
231         * MapCodeGenerator.cs: Moved generation of XmlInclude attributes from
232           ExportDerivedTypes to the new ExportDerivedTypeAttributes method.
233         * XmlReflectionImporter.cs: In ImportClassMapping, moved the call to
234           ImportIncludedTypes to the end, to make sure that the current map has all
235           needed data before derived maps are constructed.
236         * XmlSchemaExporter.cs: Generate the base class of simple types that are
237           not primitive types. Set the correct value for IsMixed in extended types.
238         * XmlSchemaImporter.cs: In ImportSimpleContent, take into account that
239           the base class of a simple type doesn't need to be a xsd type.
240           All those patches fix bug #65654.
241
242 2004-09-03  Lluis Sanchez Gual  <lluis@novell.com>
243
244         * XmlSerializer.cs: When the XmlReader is created by XmlSerializer, use
245           Normalization==true by default.
246
247 2004-09-02  Lluis Sanchez Gual  <lluis@novell.com>
248
249         * ReflectionHelper.cs, SoapReflectionImporter.cs, XmlReflectionImporter.cs: 
250           In CheckSerializableType, add the option of ignoring types with private
251           constructors. Some kind of lists can be deserialized
252           even if the constructor is private. See bug #61464.
253         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
254           Before creating a list, check that it has a public constructor.
255         * TypeData.cs: Added HasPublicConstructor property.
256
257 2004-09-01  Lluis Sanchez Gual  <lluis@novell.com>
258
259         * SerializationCodeGenerator.cs: Generate correct "HasValue" check for
260           value list serialization.
261         * XmlSchemaImporter.cs: Added some null checks.
262
263 2004-08-25  Lluis Sanchez Gual  <lluis@novell.com>
264
265         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
266           When deserializing an encoded method response, assign to the return value
267           the first element of the message, whatever it is. The return type doesn't
268           need to be Object, it seems to be true for all return types.
269           
270 2004-07-26  Lluis Sanchez Gual  <lluis@ximian.com>
271
272         * MapCodeGenerator.cs: CreateFieldMember now adds the field to the class,
273           no need to add it after the call.
274         * SoapSchemaImporter.cs: Implemented 2.0 constructors.
275
276 2004-07-23  Lluis Sanchez Gual  <lluis@novell.com>
277
278         * CodeGenerationOptions.cs: Made the class internal for the 1.1 profile.
279         * ImportContext.cs: Implemented.
280         * MapCodeGenerator.cs, SoapCodeExporter.cs, XmlCodeExporter.cs: Added new
281           options for 2.0. Implemented support for generating properties instead of
282           fields.
283         * XmlSchemaImporter.cs: Added support for sharing types.
284
285 2004-07-15  Lluis Sanchez Gual  <lluis@novell.com>
286
287         * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for base64. This
288           xsd type is not part of the last schema specification, but the google api
289           uses it and ms.net accepts it.
290
291 2004-07-12  Lluis Sanchez Gual  <lluis@ximian.com>
292
293         * ReflectionHelper.cs: Fixed bug when registering a map as exported.
294           Thanks to Juan C. Olivares.
295
296 2004-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
297
298         * CodeExporter.cs: Added private constructor.
299         * CodeGenerationOptions.cs: Set the correct enum values.
300         * CodeIdentifier.cs: Added private constructor.
301         * SchemaImporter.cs: Added internal constructor.
302         * XmlMapping.cs, XmlSerializer.cs: 2.0 api fix.
303         * XmlMemberMapping.cs, XmlSchemaImporter.cs, XmlSerializationWriter.cs: Added 2.0 stubs.
304         * XmlSchemaProviderAttribute.cs, XmlSerializerAssemblyAttribute.cs,
305           XmlSerializerVersionAttribute.cs: Set correct attribute usage.
306         * XmlSerializationReader.cs: Added missing setter for DecodeName.
307
308 2004-07-08  Lluis Sanchez Gual  <lluis@ximian.com>
309
310         * XmlSerializer.cs: Fix fix.
311
312 2004-07-08  Lluis Sanchez Gual  <lluis@ximian.com>
313
314         * IXmlSerializerImplementation.cs: Compile as internal in NET_1_1.
315         * ReflectionHelper.cs: New method for generating map keys.
316         * SerializationCodeGenerator.cs: Added support for generating the serializer
317           contract class, needed for 2.0.
318         * SerializationSource.cs: Use Type[] instead of ArrayList for storing
319           extra types.
320         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Assign extra types 
321           as Type[]. Added check that makes sure that enums being serialized are
322           public.
323         * XmlMapping.cs: Added internal GetKey method.
324         * XmlSerializer.cs: Added support for IXmlSerializerImplementation.
325           Added first bits to support loading of serializers from pre-generated
326           assemblies.
327         * XmlSerializerFactory.cs: Mostly implemeted.
328
329 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
330
331         * CodeIdentifier.cs: Removed constructor for NET_2_0.
332         * SoapCodeExporter.cs, SoapSchemaImporter.cs, XmlCodeExporter.cs, 
333           XmlMapping.cs, XmlMemberMapping.cs, XmlReflectionImporter.cs,
334           XmlSchemaExporter.cs, XmlSchemaImporter.cs, XmlSchemas.cs,
335           XmlSerializationReader.cs, XmlSerializationWriter.cs, XmlSerializer.cs,
336           XmlSerializerNamespaces.cs: Added 2.0 stubs.
337         * XmlMembersMapping.cs, XmlTypeMapping.cs: 2.0 fixage.
338         * IXmlTextParser.cs, CodeExporter.cs, CodeGenerationOptions.cs,
339           ImportContext.cs, SchemaImporter.cs, SchemaImporterExtension.cs,
340           SchemaImporterExtensionCollection.cs, XmlDeserializationEvents.cs,
341           XmlSchemaProviderAttribute.cs, XmlSerializationGeneratedCode.cs,
342           XmlSerializerAssemblyAttribute.cs, XmlSerializerFactory.cs,
343           XmlSerializerVersionAttribute.cs: New files. More 2.0 stubs.
344
345 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
346
347         * SerializationCodeGenerator.cs: Generate check that the object being 
348           serialized has a known type. Little cast fix.
349         * XmlCustomFormatter.cs: Little fix in Single conversion.
350
351 2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
352
353         * TypeData.cs: In the constructor, set the correct xml type name if the
354           type is an array (for example, instead of StringCollection, use
355           ArrayOfString).
356
357 2004-06-22  Lluis Sanchez Gual  <lluis@ximian.com>
358
359         * ReflectionHelper.cs: Correctly detect private types.
360         * XmlCodeExporter.cs: Implemented missing method.
361         * XmlSchemaImporter.cs: Allow import of root primitive types.
362
363 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * CodeIdentifier.cs, CodeIdentifiers.cs, MapCodeGenerator.cs,
366           SerializationCodeGenerator.cs, SerializationSource.cs,
367           TypeTranslator.cs, XmlAttributeOverrides.cs, XmlCustomFormatter.cs,
368           XmlSerializationReader.cs, XmlSerializationWriter.cs,
369           XmlSerializer.cs, XmlTypeMapMemberElement.cs, XmlTypeMapping.cs
370           : Globalization fixes.
371             In XmlCustomFormatter.GenerateToXmlString() time was not
372             generated correctly.
373             Replaced all CRLF XmlAttributeOverrides.cs into LF.
374
375 2004-06-13  Gert Driesen <drieseng@users.sourceforge.net>
376
377         * XmlSerializationWriter.cs: changed signature of protected method
378         FromByteArrayBase64 to match MS.NET
379
380 2004-06-10  Lluis Sanchez Gual <lluis@ximian.com>
381
382         * MapCodeGenerator.cs, SoapCodeExporter.cs: Generate the same XmlInclude
383           attributes that MS.NET generates.
384         * SerializationCodeGenerator.cs: Avoid duplicate generation of maps in the
385           same reader/writer.
386         * XmlCodeExporter.cs: Added support for ignore flag in maps and members.
387         * XmlReflectionImporter.cs: Changed GetReflectionMembers to match
388           MS.NET member ordering. Patch by David Taylor.
389         * XmlSchemaImporter.cs: When generating a choice member, set the ignore
390           flag. The generated enum must also not be included in the schema.
391         * XmlTypeMapMember.cs: Added ignore flag.
392         * XmlTypeMapping.cs: The AttributeMembers property now returns the 
393           attributes in the correct order.
394
395 2004-06-03  Gert Driesen <drieseng@users.sourceforge.net>
396
397         * XmlSerializationReader.cs: added missing protected members
398         to fix API compatibility with MS.NET
399         * XmlSerializationWriter.cs: added missing protected members
400         to fix API compatibility with MS.NET
401
402 2004-06-02  Lluis Sanchez Gual <lluis@ximian.com>
403
404         * XmlSerializationReader.cs: Support schamea instance namespaces other than
405           the 2001 one when reading the xsi type.
406         * MapCodeGenerator.cs: Take into account that the root namespace and element
407           name may have changed from one export to another of the same type. In
408           this case the class attributes need to be regenerated.
409         * SoapCodeExporter.cs, XmlCodeExporter.cs: Take the enum name from XmlType,
410           not ElementName. Idem for namespace.
411         * XmlReflectionImporter.cs: Set nullable property of XmlTypeMapping.
412         * XmlRootAttribute.cs: Default value for nullable is true.
413         * XmlSchemaImporter.cs: The root name for a class may change in some
414           scenarios (for example, when the type is initially exported as part of
415           another type and later exported as a root type).
416         * XmlSerializationReader.cs: In GetXsiType(), if the type attribute is not
417           found using the standard namespace, try getting the type using
418           the 2000/10 and 1999 namespaces.
419         * XmlTypeMapping.cs: Added IsNullable property. Updated SetRoot method ;-)
420
421 2004-05-26  Lluis Sanchez Gual <lluis@ximian.com>
422
423         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
424           In encoded format, primitive types can be null. Read them using
425           ReadReferencingElement, that already checks for the null tag.
426
427 2004-05-25  Lluis Sanchez Gual <lluis@ximian.com>
428
429         * XmlSerializationReader.cs: Check for empty element when reading an array
430           element. This fixes bug #59003. Thanks Atsushi!
431
432 2004-05-07  Lluis Sanchez Gual <lluis@ximian.com>
433
434         * XmlSerializationWriter.cs: Implemented some missing methods.
435           In .NET 1.0, encoded null elements use the attribute null="1", while in
436           1.1 the attribute is nil="true".
437         * XmlTypeMapping.cs: Little fix for nested classes.
438
439 2004-05-07  Lluis Sanchez Gual <lluis@ximian.com>
440
441         * XmlReflectionImporter.cs: Don't reset the internal tables at every
442           ImportMembersMapping call. This fixes bug #58112. The problem is that
443           it imported two different arrays (only different in the array item
444           namespace) with the same name. Not sure what was this Reset needed for,
445           everyting seems to work without it.
446
447 2004-05-05  Lluis Sanchez Gual <lluis@ximian.com>
448
449         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
450           When deserializing an encoded method response, if the return type of the
451           method is Object, assign to it the first element of the message, whatever
452           it is.
453         * XmlSerializationReader.cs: 
454         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Set IsReturnValue of
455           the imported member.
456         * TypeTranslator.cs: Added method to safely get a primitive TypeData.
457         * XmlSerializationReader.cs: Don't throw an exception when the CLR type for
458           a given xsi type is not found. Just read it as primitive type.
459         * XmlTypeMapMember.cs: Added IsReturnValue property.
460         * XmlTypeMapping.cs: Added ReturnMember property.
461         * XmlSerializer.cs: Reference System.Data when compiling the serializer.
462
463 2004-05-05  Lluis Sanchez Gual <lluis@ximian.com>
464
465         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
466           When reading an object using the typeof(object) map, an emty xsi:type 
467           means that it has to read the contents into an XmlNode[].
468         * TypeData.cs: Return the correct full name for inner classes.
469         * XmlSchemaImporter.cs: Improved detection of types that represent 
470           "anyType", and must be mapped to XmlElement, XmlNode or Object.
471         * XmlSerializationReader.cs: In GetXsiType(), find the type attribute using
472           the correct namespace.
473           In ReadTypedPrimitive(), read the element as XmlNode[] if the type is
474           not known.
475
476 2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
477
478         * XmlSerializationWriter.cs : It do not have to handle schema
479           namespace as special one.
480
481 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
482
483         * XmlSerializationReaderInterpreter.cs: Removed the check for null 
484           AttributeMembers collection. Even if there are no attribute members,
485           attributes need to be read.
486
487 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
488
489         * XmlSerializationReader.cs: In ReadSerializable(), take into account that
490           the IXmlSerializable object may not read all the EndElement it read.
491           This fixes bug #57413.
492
493 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
494
495         * XmlSerializer.cs: Enable serializer generation by default.
496
497 2004-04-20  Lluis Sanchez Gual <lluis@ximian.com>
498
499         * TypeTranslator.cs: Mapped again anyUri, but now it is mapped to String.
500         * XmlSchemaImporter.cs: If a map was initially imported as a class, but it
501           turns out that it is an array, import it again as array. This fixes
502           bug #57133.
503
504 2004-04-15  Lluis Sanchez Gual <lluis@ximian.com>
505
506         * XmlSchemaExporter.cs: When checking if a map has been exported or not,
507           don't use type name for array types, since we can have different classes 
508           that represent the same array type (for example StringCollection and 
509           string[]).
510
511 2004-04-14  Lluis Sanchez Gual <lluis@ximian.com>
512
513         * TypeTranslator.cs, XmlCustomFormatter.cs: Removed map from Uri to anyUri,
514           not present in MS.NET.
515         * XmlSerializationWriter.cs: Improved error message.
516
517 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
518
519         * SerializationCodeGenerator.cs, XmlReflectionImporter.cs, 
520           XmlSerializationReader.cs, XmlSerializationReaderInterpreter.cs:
521           Support deserialization of members of type XmlDocument. This fixes #56169.
522
523 2004-03-25  Lluis Sanchez Gual <lluis@ximian.com>
524
525         * SerializationCodeGenerator.cs: Generate an integer for unknown enum values.
526           Use a special method to generate default values, since default enum values
527           will come as integers, so a special cast is needed.
528         * XmlSerializationReaderInterpreter.cs,
529         * SerializationSource.cs, SoapAttributeAttribute.cs, SoapAttributeOverrides.cs,
530           SoapAttributes.cs, SoapElementAttribute.cs, SoapEnumAttribute.cs, 
531           SoapTypeAttribute.cs, XmlAnyElementAttribute.cs, XmlAnyElementAttributes.cs,
532           XmlArrayAttribute.cs, XmlArrayItemAttribute.cs, XmlArrayItemAttributes.cs, 
533           XmlAttributeAttribute.cs, XmlAttributeOverrides.cs, XmlAttributes.cs,
534           XmlChoiceIdentifierAttribute.cs, XmlElementAttribute.cs, XmlElementAttributes.cs,
535           XmlEnumAttribute.cs, XmlReflectionMember.cs, XmlRootAttribute.cs,
536           XmlTextAttribute.cs, XmlTypeAttribute.cs: Had to change the implementation
537           of SerializationSource. It can't keep and use the XmlAttributeOverride
538           instances as key values, since those instances can be modified after the
539           xml map has been generated. Now, SerializationSource generates a unique 
540           string hash from XmlAttributeOverride and uses it for comparisons.
541
542 2004-03-24  Lluis Sanchez Gual <lluis@ximian.com>
543
544         * SerializationCodeGenerator.cs: Several fixes: generate valid names for 
545           WriteRoot_ and ReadRoot_ methods. Cast result of ReadTypedPrimitive to
546           the adequate type. Set the default value of members that do have a default
547           value. Other minor fixes.
548         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: All maps must derive
549           from typeof(object) map, even those that have another base class.
550         * XmlCustomFormatter.cs: Fixed generation of conversion from char to string.
551           It must serialize the char as number, not as character.
552         * XmlSerializationReaderInterpreter.cs: Set the default value of members 
553           that do have a default value.
554         * XmlTypeMapping.cs: Added property MembersWithDefault, which returns a list
555           of members that have a default value.
556
557 2004-03-15  Lluis Sanchez Gual  <lluis@ximian.com>
558
559         * XmlSchemaImporter.cs: Import IXmlSerializable types as DataSet, like in MS.NET.
560           This fixes bug #55547.
561
562 2004-03-13  David Sheldon <dave-mono@earth.li>
563
564   * XmlSerializationWriter.cs: Implement WriteElementStringRaw with a
565    byte [].
566
567 2004-03-13  David Sheldon <dave-mono@earth.li>
568  
569   * XmlTextAttribute.cs: Initialise dataType with zero-length string. 
570    fixes test case that tests for this directly.
571   * TypeTranslator.cs: Check for new zero-length dataType so we don't reject
572    it. Treat it as null.
573    
574 2004-03-12  Lluis Sanchez Gual  <lluis@ximian.com>
575
576         * CodeIdentifier.cs: Limit the length of identifiers.
577         * MapCodeGenerator.cs: Do not generate base class if it is an XmlNode.
578           Generate types using GetDomType, so if the type is an array, it creates
579           the correct combination of types.
580         * SerializationCodeGenerator.cs, XmlTypeMapping.cs: When trying to parse
581           an enum, if the string is empty and the enum has [Flags], then return 0
582           as value. This fixes bug #55509.
583         * XmlSchemaImporter.cs: Added check for redefines of attribute groups. They
584           are not supported. Another check: a simple type cannot be enum if it does
585           not have any enum facet.
586           And another fix: use string as default type for attribtues.
587         * XmlSchemas.cs: Fixed search for schema elements. An schema may import 
588           other schemas. An imported schema would not be in the table, but its
589           elements (although from another namespace) would be in the schema that 
590           imported it. So, we need know to check for every schema in the table.
591         * XmlSerializer.cs: Added environment variable to help debugging code 
592           generator output.
593
594 2004-02-27  Lluis Sanchez Gual  <lluis@ximian.com>
595
596         * MapCodeGenerator.cs: Added IncludeMetadata property, which returns a list
597           of XmlInclude attributes needed for the service class.
598           IsMapExported: Removed check for object type, since it can now be exported.
599           SetMapExported: Use the type name as key, since different importers may
600           be used to create a map for the same type.
601           GenerateClassInclude: Updated signature.
602         * SoapCodeExporter.cs: Moved management of IncludeMetadata to MapCodeGenerator.
603           GenerateClassInclude(): Updated signature.
604         * SoapReflectionImporter.cs: Support SoapIncludeAttribute in array members.
605           Implemented IncludeTypes.
606         * XmlCodeExporter.cs: Moved management of IncludeMetadata to MapCodeGenerator.
607           GenerateClassInclude(): Updated signature.
608         * XmlMemberMapping.cs: Added missing property.
609         * XmlReflectionImporter.cs: GetReflectionMembers must be private.
610           Implemented IncludeTypes().
611         * XmlSchemaExporter.cs: Added support for exporting typeof(object).
612         * XmlSchemaImporter.cs: Changed the implementation of ImportDerivedTypeMapping.
613           Now, it does a regular import and then assign the required base class to
614           the imported map. In this way it is possible to assign a base type for a 
615           map that was previously imported without a base type.
616         * XmlTypeMapping.cs: Added internal method SetRoot().
617
618 2004-02-24  Lluis Sanchez Gual  <lluis@ximian.com>
619
620         * SerializationCodeGenerator.cs: Added support for generation of readers
621           and writers for several maps in a single class. Added support for
622           XmlMemberMapping. Fixed generation of serializers that use encoded format.
623         * SoapAttributeAttribute.cs, SoapAttributeOverrides.cs, SoapAttributes.cs,
624           SoapElementAttribute.cs, SoapEnumAttribute.cs, SoapTypeAttribute.cs, 
625           XmlAnyElementAttribute.cs, XmlAnyElementAttributes.cs, XmlArrayAttribute.cs,
626           XmlArrayItemAttribute.cs, XmlArrayItemAttributes.cs, XmlAttributeAttribute.cs,
627           XmlAttributeOverrides.cs, XmlChoiceIdentifierAttribute.cs, XmlRootAttribute.cs,
628           XmlElementAttribute.cs, XmlElementAttributes.cs, XmlEnumAttribute.cs,
629           XmlReflectionMember.cs, XmlTextAttribute.cs, XmlTypeAttribute.cs:
630           Added InternalEquals method.
631         * XmlAttributes.cs: Removed a lot of unused code. Added InternalEquals method.
632         * SoapReflectionImporter.cs: Set SerializationSource to generated maps.
633         * XmlCustomFormatter.cs: Fixed little bug.
634         * XmlMapping.cs: Added Source property. This a global identifier of the map.
635         * XmlReflectionImporter.cs: Set SerializationSource to generated maps.
636         * XmlSchemaImporter.cs: Set the correct value for IsNillable when importing
637           mapping members.
638         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriter.cs: Minor fixes.
639         * XmlSerializationWriterInterpreter.cs: WriteObject and WriteEnum were not
640           correctly used.
641         * XmlSerializer.cs: Added support for generation of serializers.
642
643 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
644
645         * SerializationCodeGenerator.cs,
646           SerializationCodeGeneratorConfiguration.cs:
647           Added <namespaceImports> feature ("using XXX;" generation) support.
648
649 2004-02-17  Lluis Sanchez Gual  <lluis@ximian.com>
650
651         * XmlSerializationWriter.cs: When writing the root element, use a prefix
652           if the namespace of the element is defined in the list of namespaces
653           provided to the XmlSerializer. This fixes bug #54427.
654
655 2004-02-16  Lluis Sanchez Gual  <lluis@ximian.com>
656
657         * MapCodeGenerator.cs: Modified some methods to make them easier to reuse.
658           Those are basically methods to add custom attributes to element and
659           attribute members.
660         * SoapCodeExporter.cs: Track changes in MapCodeGenerator.
661         * XmlCodeExporter.cs: Better support for custom attribute generation for
662           method parameters.
663         * XmlCustomFormatter.cs: Added null check.
664         * XmlSchemaImporter.cs: do not set IsOptionalValueType property to 
665           attributes that are required.
666         * XmlSerializationReaderInterpreter.cs: Method parameters may be serialized
667           as attributes.
668
669 2004-02-11  Lluis Sanchez Gual  <lluis@ximian.com>
670
671         * MapCodeGenerator.cs: Changed some methods to make them easier to reuse.
672         * TypeTranslator.cs: NMTOKENS, ENTITIES and IDREFS must be mapped to
673           string, not string[].
674         * XmlCodeExporter.cs: AddMappingMetadata(): improved attribute generation
675           for array parameters. In general, improved generation of schema Form 
676           property.
677         * XmlMemberMapping.cs: Added Form property.
678         * XmlReflectionImporter.cs: Types that inherit from other types cannot be
679           simple types. Added a check for this.
680         * XmlSchemaExporter.cs: several fixes: better generation of IsMixed and
681           Form. The key used to determine if a map has been already generated must
682           include the XmlType, since there can be two xml types with the same CLR
683           type and namespace (for example, they may differ in the Form property).
684         * XmlSchemaImporter.cs: When getting the TypeData for a schema element,
685           also return the corresponding map. There can be two maps that have the
686           same TypeData, so given a TypeData is not always possible to get the
687           correct corresponding map (for example two arrays that only differ in the
688           Form of the item).
689         * XmlTypeMapping.cs: Added method to set if a map can represent a simple
690           type or not.
691
692 2004-02-04  Lluis Sanchez Gual  <lluis@ximian.com>
693
694         * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for the
695           normalizedString schema type.
696
697 2004-02-04  Lluis Sanchez Gual  <lluis@ximian.com>
698
699         * XmlReflectionImporter.cs: Get the class members using the right order.
700         * XmlSerializationWriterInterpreter.cs: Removed unneeded code.
701           A member with the Any attribute can also contain text. Support this.
702         * XmlTypeMapMemberElement.cs: Added CanBeText property.
703
704 2004-01-27  Lluis Sanchez Gual  <lluis@ximian.com>
705
706         * XmlSchemaImporter.cs: Redefinition of types are not supported. Added a
707           check.
708
709 2004-01-27  Lluis Sanchez Gual  <lluis@ximian.com>
710
711         * MapCodeGenerator.cs: Added helper method for generating an attribute
712           parameter of type enum.
713         * XmlAttributeAttribute.cs: little fix.
714         * XmlCodeExporter.cs: Support XmlAnyAttribute when generating attributes
715           for method parameters.
716         * XmlMemberMapping.cs: Improved support for members of type "any".
717         * XmlReflectionImporter.cs: Improved assignment of the attribute form.
718           If the namespace is explicitly specified, then the form should be
719           qualified. Also fixed issues with the namespace assigned to attributes.
720           This should fix bug #53384.
721         * XmlSchemaExporter.cs: ExportMembersMapping(): improved support for
722           methods that return values of type "any". Changed the methods
723           AddSchemaArrayElement and AddSchemaElement, so instead of adding the
724           element, return it, and the caller must add it to the collection.
725           Other fixes in attribute generation.
726         * XmlSchemaImporter.cs: ImportAnyType(): if a type name is provided,
727           generate the AnyType mapping from the type described in the schema.
728           Small fixes regarding IsMixed property of complex types (it means that
729           the type can contain text, so the XmlTextAttribute must be generated).
730         * XmlSerializationReaderInterpreter.cs: Reading of members by-order must
731           be only used in the bare+encoded format.
732
733 2004-01-24  Lluis Sanchez Gual  <lluis@ximian.com>
734
735         * SoapReflectionImporter.cs: Types included with SoapInclude don't need
736           to be derived types of the one that has the attribute.
737         * XmlReflectionImporter.cs: Recursively register the derived maps of a given
738           map to the parent map. This fixes #53246.
739         * XmlSerializationWriter.cs: Some fixes regarding empty namespaces.
740
741 2004-01-22  Lluis Sanchez Gual  <lluis@ximian.com>
742
743         * XmlSerializationReaderInterpreter.cs: When deserializing an XmlElement,
744           do not check the root element name, since it can be any name. This fixes
745           bug #53201.
746
747 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
748
749         * XmlReflectionImporter.cs: Throw exception if a value type member has the
750           IsNullable=true flag. This fixes bug #52906.
751
752 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
753
754         * MapCodeGenerator.cs, XmlSchemaImporter.cs: Attributes are allways optional,
755           so a 'specified' member has always to be generated.
756         * TypeData.cs: Fixed check for value type.
757
758 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
759
760         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs,
761           XmlTypeMapMember.cs, MapCodeGenerator.cs, SoapCodeExporter.cs, TypeData.cs,
762           XmlCodeExporter.cs, XmlReflectionImporter.cs, XmlSchemaExporter.cs,
763           XmlSchemaImporter.cs, XmlSerializationReaderInterpreter.cs,
764           XmlSerializationWriterInterpreter.cs, XmlTypeMapMember.cs:
765           Added support for value specifiers members. This fixes bug #53024.
766
767 2004-01-20  Lluis Sanchez Gual  <lluis@ximian.com>
768
769         * XmlSchemaExporter.cs: Don't create referenced element if it has already
770           been created (two types could be referencing the same schema element).
771
772 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
773
774         * XmlReflectionImporter.cs: Read IsNullable flag from XmlArrayAttribute.
775         * XmlSerializationWriterInterpreter.cs: Interpret IsNullable flag for
776           arrays. This fixes bug #53018.
777
778 2004-01-14  Lluis Sanchez Gual  <lluis@ximian.com>
779
780         * MapCodeGenerator.cs: Use type namespace instead of root namespace as
781           default namespace for members.
782         * XmlCodeExporter.cs: Fixed generation of XmlRootAttribute.
783         * XmlReflectionImporter.cs: Fixed the assignment of root and type 
784           namespaces.
785         * XmlSchemaExporter.cs: Use type namespace instead of root namespace as
786           default namespace for members. In AddSchemaElement, if the element is
787           a root element never use a "ref" attribute.
788         * XmlSchemaImporter.cs: Fixed issue when importing root elements.
789
790 2004-01-13  Lluis Sanchez Gual  <lluis@ximian.com>
791
792         * XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs
793         XmlTypeMapping.cs: more namespace fixes.
794
795 2004-01-13  Lluis Sanchez Gual  <lluis@ximian.com>
796
797         * XmlReflectionImporter.cs: type namespace must never be used as root
798           namespace. This fixes bug #52772.
799
800 2004-01-08  Nick Drochak <ndrochak@ieee.org>
801
802         * XmlSchemaImporter.cs: Removed unused variable.
803
804 2004-01-07  Lluis Sanchez Gual  <lluis@ximian.com>
805
806         * XmlReflectionImporter.cs: Ignore Namespace property when applying
807           the [XmlType] attribute to an enum. This fixes bug #52607.
808
809 2003-12-19  Lluis Sanchez Gual  <lluis@ximian.com>
810
811         * SerializationCodeGenerator.cs, XmlReflectionImporter.cs: Added internal
812         option that allow serialization of private types.
813         
814 2003-12-18 Eran Domb <erand@mainsoft.com>
815         
816         * TypeTranslator.cs : Change primtive types map.
817
818 2003-12-18 Eran Domb <erand@mainsoft.com>
819         
820         * XmlReflectionImporter.cs (ImportListMapping): Adding the included types of the list as a derived
821         classes of object.
822
823 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
824
825         * XmlSchemaExporter.cs: AddSchemaElement, use XmlTypeMapElementInfo.IsPrimitive
826           to check if a type is primitive, instead of Type.IsPrimitive, since CLR
827           primitive types are not the same as XML primitive types. Patch proposed
828           by Mordechai Taitelman. This fixes bug #52228.
829         * XmlSerializationWriter.cs: Fixes in WriteNullTagEncoded and WriteNullTagLiteral.
830
831 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
832         
833         * XmlReflectionImporter.cs: Little fix.
834         
835 2003-12-15  Lluis Sanchez Gual <lluis@ximian.com>
836         
837         * XmlReflectionImporter.cs: Type specified with XmlIncludeAttribute don't
838           need to be derived types of the includer. This fixes bug #52152.
839           Added null check for Name property of XmlEnumAttribute. This fixes
840           bug #52155.
841         * XmlSerializationReader.cs: Fixed some error messages.
842         * XmlSerializationReaderInterpreter.cs: Check that the root element has
843           the correct local name and namespace. This fixes bug #52038.
844           Throw exception if enum value can't be parsed.
845         * XmlTypeMapping.cs: Don't try to parse numeric enum values. This fixes
846           bug #52041.
847         
848 2003-12-12  Lluis Sanchez Gual <lluis@ximian.com>
849         
850         * MapCodeGenerator.cs: Added support for [Flags] enum.
851         * XmlCodeExporter.cs: Do not add XmlElement attributes if the member is Any.
852         * XmlSchemaImporter.cs: Implemented ImportAnyType(). Improved import of
853           encoded array type. Added support for enums with [Flags].
854           In encoded format, unqualified types are schema types by default.
855         
856 2003-12-11  Lluis Sanchez Gual <lluis@ximian.com>
857         
858         * XmlCodeExporter.cs: Little fix.
859         * XmlSchemaExporter.cs: In rpc format, make sure that parameters with the
860           same name have the same type.
861         * XmlSchemaImporter.cs: Support xml:lang.
862         * XmlSerializationReader.cs, XmlSerializationWriterInterpreter.cs: 
863           fixed wrong namespace for the arrayType attribute.
864
865 2003-12-08  Lluis Sanchez Gual <lluis@ximian.com>
866
867         * SoapReflectionImporter.cs, XmlMembersMapping.cs, XmlReflectionImporter.cs,
868           XmlSchemaImporter.cs, XmlTypeMapElementInfo.cs, XmlTypeMapping.cs:
869           When using rpc format on a web service, members don't need to have any
870           specific namespace. Added a flag for turning namespace check on/off.
871
872 2003-11-27  Lluis Sanchez Gual <lluis@ximian.com>
873
874         * XmlSerializationReader.cs: Generate identifiers for arrays user a counter.
875           delayedListFixups.Count cannot be used because elementes from
876           delayedListFixups are deleted sometimes.
877         
878 2003-11-27  Lluis Sanchez Gual <lluis@ximian.com>
879
880         * XmlReflectionImporter.cs: Indexer properties must not be serialized.
881           This fixes bug #51060.
882
883 2003-11-24  Lluis Sanchez Gual <lluis@ximian.com>
884
885         * XmlSerializationWriterInterpreter.cs: Applied patch by Eran Domb: 
886           If type is Enum the code use type.GetElememtType() instead of 
887           Enum.GetUnderlyingType().
888
889 2003-11-12  Lluis Sanchez Gual <lluis@ximian.com>
890
891         * XmlSerializationReader.cs, XmlSerializationWriter.cs, XmlSerializer.cs:
892           Removed several TODOs already done.
893
894 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
895
896         * XmlCustomFormatter.cs: Added support for anyUri type. This fixes
897           bug #50041.
898
899 2003-10-20  Lluis Sanchez Gual <lluis@ximian.com>
900
901         * ReflectionHelper.cs: In CheckSerializableType() check that the type
902           is public.
903         * XmlSerializationWriter.cs: Added check for circular references.
904           This fixes bug #49879.
905
906 2003-10-20  Lluis Sanchez Gual <lluis@ximian.com>
907
908         * ReflectionHelper.cs: Added check in CheckSerializableType(). Interfaces
909           can't be serialized. This fixes bug #49878.
910         * TypeData.cs: In ListItemType check that the collection has a valid
911           Add method and report an error if not.
912         * XmlReflectionImporter.cs: Added CheckSerializableType check call when
913           reflecting a collection.
914
915 2003-10-18  Lluis Sanchez Gual <lluis@ximian.com>
916
917         * SoapReflectionImporter.cs: Support element references for enum values in
918           encoding format. This fixes bug #49568.
919         * XmlSerializationReaderInterpreter.cs: In encoded format, do not check
920           the name and namespace of the wrapper element. MS.NET doesn't do it.
921           This fixes bug #49729.
922
923 2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
924
925         * MapCodeGenerator.cs: Made MapCodeGenerator internal.
926
927 2003-10-15  Lluis Sanchez Gual <lluis@ximian.com>
928
929         * MapCodeGenerator.cs: New file. Moved here all code that is common
930           between XmlCodeExporter and SoapCodeExporter.
931         * SoapCodeExporter.cs: Implemented.
932         * XmlCodeExporter.cs: Moved common code to MapCodeGenerator.
933         * XmlSerializationReaderInterpreter.cs: Fixed problem when reading
934           encoded bare parameter list.
935         * XmlTypeMapping.cs: Added method for getting member element by index.
936
937 2003-10-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
938
939         * XmlSchemas.cs : Implemented IsDataSet().
940
941 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
942
943         * SoapCodeExporter.cs: Initial implementation of AddMappingMetadata().
944         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlSchemaImporter.cs: 
945           in ImportMembersMapping, set pass the namespace to each XmlMemberMapping.
946         * SoapSchemaExporter.cs: Some fixes in ExportMembersMapping.
947         * XmlMemberMapping.cs: Fixed constructor. Now it takes the default namespace
948           and whether it uses encoded or literal format.
949         * XmlSchemaExporter.cs: Little fixes.
950
951 2003-10-10  Lluis Sanchez Gual <lluis@ximian.com>
952
953         * XmlSerializationReader.cs. Fixed bug #49510. An array element doesn't
954           need to be of type SOAP-ENC:Array, it can be a restriction of it.
955
956 2003-10-10  Lluis Sanchez Gual <lluis@ximian.com>
957
958         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Fixed bug #49476.
959           Read only properties are only serialized if the type is an array.
960
961 2003-10-09  Lluis Sanchez Gual <lluis@ximian.com>
962
963         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, 
964           SoapReflectionImporter.cs: Fixed bug #94694. Check for public constructor
965           is not needed for value types.
966
967 2003-10-08  Lluis Sanchez Gual <lluis@ximian.com>
968
969         * XmlSerializer.cs, XmlSerializationWriter.cs: Fixed bug #49353
970           (XmlSerializer.Serialize() handles namespace parameter incorrectly)
971
972 2003-10-05  Lluis Sanchez Gual <lluis@ximian.com>
973
974         * XmlReflectionImporter.cs, SoapReflectionImporter.cs: Fixed bug #49349
975
976 2003-10-04  Lluis Sanchez Gual <lluis@ximian.com>
977
978         * XmlSchemaExporter.cs: Keep track of elements being exported.
979         * XmlSchemas.cs: Removed unneeded catch.
980
981 2003-10-01  Lluis Sanchez Gual <lluis@ximian.com>
982
983         * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs: 
984           Fixed handling of members with XmlTextAttribute that are arrays.
985         * TypeData.cs: IsComplexType now returns true for XmlNode.
986         * XmlSerializer.cs: Added check for null mapping in FromMappings.
987         * XmlTypeMapping.cs: Added helper method FindTextElement.
988
989 2003-09-28  Lluis Sanchez Gual <lluis@ximian.com>
990         
991         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlSchemaExporter.cs:
992           Added support for IncludeInSchema flag.
993         * SoapSchemaImporter.cs: Implemented ImportDerivedTypeMapping method.
994         * XmlCodeExporter.cs: Implemented AddMappingMetadata and AddMappingMetadata
995           methods. Added support for IncludeInSchema flag.
996         * XmlSchemaImporter.cs: Implemented ImportDerivedTypeMapping method.
997           Added support for IncludeInSchema flag.
998         * XmlTypeAttribute.cs: Set includeInSchema to true by default.
999         * XmlTypeMapping.cs: Added IncludeInSchema property.
1000         
1001 2003-09-25  Lluis Sanchez Gual <lluis@ximian.com>
1002         
1003         * SoapIncludeAttribute.cs: Added AllowMultiple option. This fixes bug #48877.
1004
1005 2003-09-14  Lluis Sanchez Gual <lluis@ximian.com>
1006
1007         * XmlCustomFormatter.cs: added support for additional string types in
1008           GenerateToXmlString().
1009         * XmlSchemaExporter.cs: Fixed generation of XmlMembersMapping using 
1010           encoded format.
1011
1012 2003-09-11  Lluis Sanchez Gual <lluis@ximian.com>
1013
1014         * SoapSchemaImporter.cs: implemented.
1015         * XmlReflectionImporter.cs: Changed nullable default for array items to true.
1016         * XmlSchemaExporter.cs: Some fixes in the generation of encoded format schema.
1017         * XmlSchemaImporter.cs: more support for encoded format.
1018
1019 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
1020
1021         * SerializationCodeGenerator.cs: Minor fixes.
1022         * SoapReflectionImporter.cs: More fixes.
1023         * SoapSchemaExporter.cs: implemented.
1024         * SoapSchemaImporter.cs: Initial implementation.
1025         * TypeTranslator.cs: new methods for dealing with encoded arrays: GetArrayName
1026           and ParseArrayType
1027         * XmlCodeExporter.cs: Fix. When exporting a map, export all derived maps.
1028         * XmlMemberMapping.cs: Minor fixes.
1029         * XmlMembersMapping.cs: added some convenient constructors.
1030         * XmlSchemaExporter.cs: Added support for encoded format.
1031         * XmlSchemaImporter.cs: Added support for encoded format. 
1032         * XmlSerializationReader.cs: changed some string literals by constants.
1033           Implemented ParseWsdlArrayType.
1034         * XmlSerializationReaderInterpreter.cs: Read typeArray attribute when serializing
1035           custom attributes.
1036         * XmlSerializationWriter.cs: Implemented WriteXmlAttribute.
1037         * XmlSerializationWriterInterpreter.cs: Use WriteXmlAttribute instead of
1038           WriteAttribute to write custom attributes.
1039         * XmlSerializer.cs: added some namespace constants.
1040         * XmlTypeMapping.cs: added GetSchemaArrayName method.
1041
1042 2003-09-01  Lluis Sanchez Gual <lluis@ximian.com>
1043
1044         * XmlSchemaImporter.cs: Implemented ImportMembersMapping.
1045         * XmlTypeMapMemberElement.cs: Little fix.
1046         * XmlTypeMapping.cs: Added AllElementInfos property in ClassMap.
1047         * XmlCustomFormatter.cs: Added GenerateToXmlString and GenerateFromXmlString
1048           methods.
1049         * SerializationCodeGenerator.cs, SerializationCodeGeneratorConfiguration.cs:
1050           Added.
1051
1052 2003-08-29  Lluis Sanchez Gual <lluis@ximian.com>
1053
1054         * SoapReflectionImporter.cs: Fixed construcion of XmlMemberMapping.
1055         * XmlMemberMapping.cs: Changed constructor.
1056         * XmlReflectionImporter.cs: Fixed construcion of XmlMemberMapping.
1057         * XmlSchemaImporter.cs: Implemented ImportMembersMapping().
1058         * XmlSerializationReaderInterpreter.cs: Added some helper methods. Changed visibility.
1059         * XmlSerializationWriterInterpreter.cs: Changed visibility.
1060
1061 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
1062
1063         * XmlSerializer.cs: Fix in Deserialize() method.
1064
1065 2003-08-28  Lluis Sanchez Gual <lluis@ximian.com>
1066
1067         * XmlReflectionImporter.cs: Fill RelatedMaps property of the generated map.
1068         * XmlSchemas.cs: Find method: make sure the returned object belongs to
1069           the requested type.
1070         * XmlSerializationReader.cs: Removed unneded virtual ReadObject method.
1071           Add null checks for eventSource.
1072         * XmlSerializationReaderInterpreter.cs: ReadObject is not virtual any more.
1073         * XmlSerializationWriter.cs: In Initialize method, initialize the provided
1074           namespece declarations. Virtual method WriteObject not needed any more.
1075           In WriteStartElement, write the provided namespaces.
1076         * XmlSerializationWriterInterpreter.cs: Write object is not virtual any more.
1077           Added GetTypeMap method, that returns the map for a given type. Added some
1078           virtual methods, so writer behavior can be extended at several places by
1079           derived classes.
1080         * XmlSerializer.cs: Changed behavior to match what MS.NET does. The virtual 
1081           methods CreateReader and CreateWriter are not called unless no type or 
1082           type mapping was provided in the constructor.
1083
1084 2003-08-12  Lluis Sanchez Gual <lluis@ximian.com>
1085
1086         * XmlSchemaImporter.cs: ImportTypeMapping doesn't need to check if the
1087           schema type it is importing is a class or an array. It will always
1088           be a class.
1089
1090 2003-08-12  Lluis Sanchez Gual <lluis@ximian.com>
1091
1092         * XmlSerializationWriterInterpreter.cs: any element members can be serialized
1093           as text nodes. Support it.
1094
1095 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
1096
1097         * CodeIdentifier.cs: Fixed MakeValid method.
1098         * TypeTranslator.cs: Added support for more primitive types. Added
1099           GetDefaultPrimitiveTypeData, which returns the type data to which a clr type
1100           maps by default.
1101         * XmlCodeExporter.cs: Generate XmlRoot attribute only if root element name and ns
1102           are different from the type ns and name.
1103           Generate class and field comments.
1104           Fixed default attribute generation. In elements with ref attribute, it has to be
1105           generated in the referred attribute.
1106         * XmlReflectionImporter.cs: Added check: simple type extensions can't add new elements.
1107           Added suport for text nodes in members of type "any".
1108         * XmlSchemaExporter.cs: Several fixes. Fixed generation of complex types with simple
1109           content.
1110         * XmlSchemaImporter.cs: Several fixes. The importer now collects documentation info.
1111         * XmlSerializationWriter.cs: WriteNamespaceDeclarations(): do not declare namespaces
1112           that have already been declared.
1113           WriteStartElement(): elements from schema namespace are always written with ns prefix.
1114         * XmlTypeMapMember.cs: Added documentation property.
1115         * XmlTypeMapping.cs: Added documentation property. Added property to check if a class map
1116           represents a simple type.
1117
1118 2003-08-05  Lluis Sanchez Gual <lluis@ximian.com>
1119
1120         * XmlSchemaImporter.cs: Implemented ImportTypeMapping and all needed parsing
1121           stuff.
1122         * SoapReflectionImporter.cs: Set the type namespace parameter when creating a map.
1123         * TypeData.cs: Added property that returns a TypeData that represents an array of
1124           the given TypeData.
1125         * TypeTranslator.cs: Added GetArrayName() method.
1126           Added TypeDatas for missing primitive types.
1127         * XmlCodeExporter.cs: Implemented ExportMembersMapping. Fixed generation of
1128           XmlRootAttribute. Added the namespace to all attributes being generated.
1129           Other fixes in the generation of code.
1130         * XmlReflectionImporter: store the namespace of the type in the maps.
1131         * XmlSchemaExporter.cs: Several fixes. Only set the "mixed" attribute if the
1132           class can generate text. Do not export inherited attributes of a class.
1133           Use the new root namespace stored in the map when generating the root element.
1134         * XmlSerializationWriter: Always write a prefix when writing a qname, even if the
1135           namespace is the default namespace.
1136         * XmlSerializationWriterInterpreter.cs: fixed missing "else".
1137         * XmlTypeMapElementInfo.cs: In DataTypeNamespace property, return the type
1138           namespace instead of the map namespace (which can be different if the type
1139           has a XmlRoot element).
1140         * XmlTypeMapMember.cs: Set the default value of the DefaultValue property
1141           to System.DBNull.Value.
1142         * XmlTypeMapMemberElement.cs: ElementInfo property: In the getter Create
1143           the collection if it has not yet been created.
1144         * XmlTypeMapping.cs: Added property XmlTypeNamespace which stores the namespace
1145           of the type. It may be different from the namespace of the map if the type
1146           has a XmlRoot element. Also added IsSimpleType property.
1147           In ClassMap, added AllMembers property.
1148         
1149 2003-07-30  Lluis Sanchez Gual <lluis@ximian.com>
1150
1151         * TypeData.cs: Added new constructor and variables to allow the creation of
1152           a TypeData without a Type. Added ListItemTypeData property.
1153         * XmlTypeMapping.cs: Added property for checking if a ListMap represents an
1154           array of arrays. Added also a property to get the nested array map.
1155         * XmlCodeExporter.cs: First implementation of code exporter.
1156
1157 2003-07-22  Lluis Sanchez Gual <lluis@ximian.com>
1158
1159         * TypeTranslator.cs: Added new primitive types: NMTOKEN and NCName.
1160         * XmlSerializationWriterInterpreter.cs: Write XmlAttributes with the prefix
1161           they have.
1162
1163 2003-07-15  Lluis Sanchez Gual <lluis@ximian.com>
1164
1165         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Avoid generating two
1166           maps with the same name and namespace. To avoid this, maps must be registered
1167           using the real map namespace, not the default namespace (the namespace can
1168           change if the type has a XmlType or SoapType attribute).
1169         * XmlArrayItemAttribute.cs: Set IsNullable to true by default.
1170         * XmlSchemaExporter.cs: Implemented method ExportMembersMapping.
1171           Other small fixes.
1172         * XmlSerializationWriterInterpreter.cs: GetStringValue: return null if the value
1173           is null.
1174
1175 2003-07-14  Lluis Sanchez Gual <lluis@ximian.com>
1176
1177         * SoapReflectionImporter.cs: Set the BaseMap property of map. Small fix.
1178         * TypeData.cs: IsComplexType now returns true for IXmlSerializable types.
1179         * XmlAttributes.cs: Fixed bug when reading the value of DefaultValueAttribute.
1180         * XmlReflectionImporter.cs: Set the BaseMap property of map. Several small fixes.
1181         * XmlSchemaExporter.cs: Implemented.
1182         * XmlSchemas.cs: Support schemas with TargetNamespace set to null.
1183         * XmlSerializationWriter.cs: FromXmlQualifiedName (): return null if the qname is null.
1184           GetNamespacePrefix (): no need to add xmlns attribute if namespace is null.
1185         * XmlSerializationWriterInterpreter.cs: Fixed management of default values.
1186           GetStringValue() returns null if the value is null, instead of empty string.
1187           (attributes with null values are not written).
1188         * XmlTypeMapElementInfo.cs: added IsTextElement and IsUnnamedAnyElement properties.
1189         * XmlTypeMapMemberAttribute.cs: added DataTypeNamespace and removed DataType.
1190           DataType value can is now in TypeData.
1191         * XmlTypeMapMemberElement.cs: Small fix.
1192         * XmlTypeMapping.cs: Added FindMember method and BaseMap property.
1193
1194 2003-07-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1195
1196         * AssemblyInfo.cs: Removed
1197
1198 2003-07-9  Lluis Sanchez Gual <lluis@ximian.com>
1199
1200         * XmlSerializationWriter.cs: WriteStartElement(): Do not write xsd and xsi 
1201           namespace declarations if they have already been defined.
1202
1203 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
1204
1205         * XmlSerializationReaderInterpreter.cs: Use the parameter type when getting the Add method
1206           for adding elements to a list.
1207
1208 2003-06-31  Lluis Sanchez Gual <lluis@ximian.com>
1209
1210         * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Fixed so XmlIncludeAttribute and 
1211           SoapIncludeAttribute are now transitive (if class A includes class B, and B includes C, then 
1212           A includes C).
1213
1214 2003-06-30  Lluis Sanchez Gual <lluis@ximian.com>
1215
1216         * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlTypeMapping.cs: 
1217           Added support for serialization of enums with the Flags attribute.
1218
1219 2003-06-30  Lluis Sanchez Gual <lluis@ximian.com>
1220
1221         * SoapReflectionImporter.cs: Fix support for DataType in class members.
1222         * TypeData.cs: Don't use "Index" name to get indexer property. Indexer properties
1223           can have other names.
1224         * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for "time" and "data" xml types.
1225         * XmlReflectionImporter.cs, XmlTypeMapElementInfo.cs, XmlSerializationReader.cs,
1226           XmlSerializationWriter.cs, XmlTypeMapElementInfo.cs, XmlTypeMapping.cs: 
1227           Fix support for DataType in class members.
1228         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs: 
1229           Added support for array of primitive types in attributes.
1230
1231 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
1232
1233         * TypeData.cs: Type of item of ICollections is now taken from the Item(int) property. Add() can
1234           be overlodaded, so it is not good for this.
1235         * XmlSerializationWriterInterpreter.cs: Fix ambiguity bug when getting Item property of a collection.
1236
1237 2003-06-24  Lluis Sanchez Gual <lluis@ximian.com>
1238
1239         * XmlTypeMapElementInfo.cs: no need to compare nesting level in Equals.
1240         * XmlReflectionImporter.cs: Changed nullable default. Assign member's namespace to an
1241           array if the namespace is not specified in XmlArrayItemAttribute.
1242
1243 2003-06-17  Lluis Sanchez Gual <lluis@ximian.com>
1244
1245         * XmlReflectionImporter.cs: Reset internal tables for each ImportMembersMapping call.
1246         * XmlSerializationReader.cs: GetXsiType(): use current reader.namespaceUri if namespace
1247           is not specified in the xsi attribute.
1248         * XmlSerializationReaderInterpreter.cs: Fixed bug when reading an empty array from an empty element.
1249         * XmlSerializationWriterInterpreter.cs: Added null value check when writting an array.
1250         
1251 2003-06-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1252
1253         * XmlSerializationReader.cs : Synchronous fix with 
1254           XmlElement.GetAttribute(name, ns) fix for GetNullAttr().
1255         * added XmlTypeMapMemberNamespace.cs.
1256         * XmlReflectionImporter,
1257           XmlSerializationReaderInterpreter.cs,
1258           XmlSerializationWriterInterpreter.cs,
1259           XmlTypeMapping.cs : support for XmlNamespaceDeclarationAttribute.
1260
1261 2003-06-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1262
1263         * XmlSerializationWriter.cs : some QName handling fix.
1264
1265 2003-06-13  Lluis Sanchez Gual <lluis@ximian.com>
1266
1267         * XmlSerializationReader.cs: Fixed error message.
1268         * XmlSerializationReaderInterpreter.cs: Fixed bug when reading XmlQualifiedNames as attributes
1269           Thanks to Atsushi!
1270         * XmlSerializationWriter.cs: Null check in FromXmlQualifiedName.
1271
1272 2003-06-13  Lluis Sanchez Gual <lluis@ximian.com>
1273
1274         * XmlSerializationReader.cs: Fixed implementation of ReadElementQualifiedName() and ReadTypedPrimitive().
1275         * XmlSerializationReaderInterpreter.cs: Improved serialization of XmlQualifiedNames.
1276         * XmlSerializationWriter.cs: implemented methods for reading XmlQualifiedNames.
1277         * XmlSerializationWriterInterpreter.cs: Improved deserialization of XmlQualifiedNames.
1278
1279 2003-06-13  Lluis Sanchez Gual <lluis@ximian.com>
1280
1281         * SchemaTypes.cs: Changed DataSet type for a more generic XmlSerializable.
1282         * SoapReflectionImporter.cs: tiny fix.
1283         * XmlReflectionImporter.cs, TypeData.cs, XmlSerializationWriterInterpreter.cs,
1284           XmlSerializationReaderInterpreter.cs: Added support for IXmlSerializable.
1285         * XmlSerializationReader.cs: Fixed implementation of ReadSerializable().
1286         * XmlSerializationWriter.cs: implemented WriteSerializable ().
1287
1288 2003-06-12  Lluis Sanchez Gual <lluis@ximian.com>
1289
1290         * XmlAnyElementAttribute.cs, XmlArrayItemAttribute.cs: Added AllowMultiple flag.
1291         * XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs,
1292           XmlSerializationReaderInterpreter.cs, XmlTypeMapElementInfo.cs,
1293           XmlTypeMapMemberElement.cs, XmlTypeMapping.cs: Added support for XmlTextAttribute.
1294         * XmlSerializationWriter.cs: small fix.
1295
1296 2003-06-11  Lluis Sanchez Gual <lluis@ximian.com>
1297
1298         * XmlReflectionImporter.cs: Added support for XmlIgnoreAttribute in enum members.
1299           Added support for DefaultValueAttribute.
1300         * XmlSerializationWriterInterpreter.cs: Added support for DefaultValueAttribute. Fixed bug when writting
1301           the value of an enum.
1302         * XmlTypeMapMember.cs: Added DefaultValue attribute.
1303         * XmlTypeMapping.cs: EnumMap.GetXmlName and GetXmlValue, so they can now deal with
1304           integer values.
1305
1306 2003-06-11  Lluis Sanchez Gual <lluis@ximian.com>
1307
1308         * XmlSerializationReader.cs: Minor fix.
1309
1310 2003-06-11  Lluis Sanchez Gual <lluis@ximian.com>
1311
1312         * XmlSerializationReader.cs, XmlSerializationReaderInterpreter.cs: Minor fixes.
1313
1314 2003-06-10  Lluis Sanchez Gual <lluis@ximian.com>
1315
1316         * SoapReflectionImporter.cs: Added check: some overrides cannot be applied to primitive types.
1317         * XmlAttributes.cs: Default value of XmlDefaultValue changed to System.DBNull.Value
1318         * XmlCustomFormatter.cs: small fixes.
1319         * XmlReflectionImporter.cs: Added check: some overrides cannot be applied to primitive types.
1320         * XmlSerializationWriter.cs: Implemented TopLevelElement().
1321           WriteNamespaceDeclarations(): Fixed (the hashtable contains XmlQualifiedNames, not strings).
1322           WriteXsiType(): It is not necessary to add the namespace declaration, this will now be done by XmlWriter.
1323         * XmlSerializationWriterInterpreter.cs: Call TopLevelElement() when writing classes or arrays as
1324           root elements.
1325
1326 2003-06-05  Lluis Sanchez Gual <lluis@ximian.com>
1327
1328         * SoapReflectionImporter.cs: implemented.
1329         * TypeTranslator.cs: added IsPrimitive() method
1330         * TypeMapping.cs: Added RelatedMaps property that returns all maps directly or indirectly
1331           used by that one. Also added Format property, that can be literal or encoded.
1332         * XmlReflectionImporter.cs: little fixes. Moved some methods to ReflectionHelper.
1333         * XmlReflectionMember.cs: added constructor that accepts SoapAttributes
1334         * XmlSerializationReader.cs: implemented many methods needed to support encoded format.
1335         * XmlSerializationReaderInterpreter.cs: added support for encoded format.
1336         * XmlSerializationWriter.cs: added support for encoded format.
1337         * XmlSerializationWriterInterpreter.cs: added support for encoded format.
1338         * XmlTypeMapElementInfo.cs: added some properties needed to support encoded format
1339         * XmlTypeMapMemberAttribute.cs: added MappedType property (enum values can be attributes, 
1340           and a map is needed for them).
1341         * XmlTypeMapMemberElement.cs: small fixes.
1342         * XmlTypeMapping.cs: added some properties and methods needed to support encoded format
1343         * ReflectionHelper.cs: added. Has some methods shared by the reflection importers.
1344
1345 2003-06-01  Miguel de Icaza  <miguel@ximian.com>
1346
1347         * XmlSerializationReader.cs (UnknownAttribute, UnknownNode,
1348         UnknownElement): Add line number information.
1349
1350 2003-05-29  Lluis Sanchez Gual <lluis@ximian.com>
1351
1352         * TypeData.cs, TypeTranslator.cs: Renamed some properties.
1353         * XmlCustomFormatter.cs: Fixed bug in serialization of chars. Support for byte[].
1354         * XmlMapping.cs: Added internal property.
1355         * XmlMemberMapping.cs, XmlMembersMapping.cs: Implemented.
1356         * XmlReflectionImporter.cs: Implemented importing of XmlMembersMapping. Several fixes.
1357         * XmlReflectionMember.cs: XmlAttributes are now created by default
1358         * XmlSerializationReader.cs, XmlSerializationWriter.cs: Several fixes.
1359         * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs, XmlSerializer.cs: 
1360           Implemented support for XmlMembersMapping.
1361         * XmlTypeMapping.cs: Property ObjectMap moved to XmlMapping.
1362
1363 2003-05-28  Lluis Sanchez Gual <lluis@ximian.com>
1364
1365         * TypeData.cs, TypeTranslator.cs: Added support for enums. Added method for translating
1366           from xml type to clr type.
1367         * XmlCustomFormatter.cs: Fixed bug in serialization of chars. Support for byte[].
1368         * XmlReflectionMember.cs: Added default constructor.
1369         * XmlSerializationReader.cs: Implemented ReadTypedPrimitive(), ToByteArrayBase64().
1370         * XmlSerializationWriter.cs: Several fixes.
1371         * XmlSerializationReaderInterpreter.cs, XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs
1372           XmlTypeMapMember.cs, XmlTypeMapMemberElement.cs, XmlTypeMapping.cs:
1373           Added support for enums. Added support for XmlElement and XmlNode.
1374           Support for XmlAnyAttributeAttribute and XmlAnyElementAttribute. Many fixes.
1375
1376 2003-05-26  Lluis Sanchez Gual <lluis@ximian.com>
1377
1378         * TypeData.cs, TypeTranslator.cs: Implemented some methods.
1379         * XmlCustomFormatter.cs: Added formatting methods.
1380         * XmlReflectionImporter.cs, XmlSerializer.cs: New implementation.
1381         * XmlReflectionMember.cs: Added new constructor.
1382         * XmlSerializationReader.cs, XmlSerializationWriter.cs: Implemented some methods.
1383         * XmlSerializationWriterInterpreter.cs, XmlSerializationReaderInterpreter.cs
1384           XmlTypeMapElementInfo.cs, XmlTypeMapMember.cs, XmlTypeMapMemberAttribute.cs
1385           XmlTypeMapMemberElement.cs, XmlTypeMapping.cs: Added
1386
1387 2003-05-10  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1388
1389         * Added TypeTableEntry.cs.
1390         * TypeTranslator.cs : changed for non-static use.
1391         * XmlAttributes.cs : XmlType attribute support for GetAttributeName() 
1392           and GetElementName(). Bugfix so that if any XmlElementAttribute 
1393           exists after non-typed XmlElementAttribute then it might be ignored.
1394           Added GetElementIsNullable().
1395         * XmlSerializer.cs :
1396           Introduced TypeTablePool and TypeTableEntry and erased ambiguous 
1397           Object memberObj[4].
1398           Deserialize() now uses XmlReader.Depth to check its depth.
1399           Serialize() for non-XmlReader arguments now always write xmldecl.
1400           SerializeBuiltin() now explicitly requires Type to support xsi:nil,
1401           and handles XmlQualifiedName.
1402           Separated SerializeType () from Serialize().
1403           Separated WriteCollectionElementMember(), IsFieldTypeSerializable(),
1404           IsPropertyTypeSerializable() from SerializeMembers().
1405           SerializeMembers() is now capable of null value and actual type,
1406           which should be included by XmlIncludeAttribute and so on.
1407           Renamed SerializeArray() to SerializeArrayContent(), and added
1408           SerializeCollectionContent().
1409           SerializeMembers() now requries XmlSerializerNamespaces (not used yet).
1410           FillTypeTable() is now aware of XmlInclude attributes.
1411           FillEnum() should not have different type table content from others.
1412
1413 2003-05-09  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1414
1415         * XmlSerializer.cs : this time, only replaced spaces with tabs.
1416
1417 2003-05-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1418
1419         * ChangeLog : Added missing ChangeLog of 2003-04-25.
1420         * XmlCustomFormatter.cs : Fixed FromXmlNmTokens() to contain 
1421           separators. Added experimental method ToEnum().
1422         * XmlSerializationReader.cs : unconfirmed implementation of
1423           ReadSerializable() and ToEnum().
1424         * XmlSerializationWriter.cs : fixed WriteAttribute() so that if value 
1425           is null then no output will be written.
1426           Fixed WriteStartElement(), WriteElement*() and WriteEmptyTag() 
1427           to use custom formatted name.
1428
1429 2003-05-02  Miguel de Icaza  <miguel@ximian.com>
1430
1431         * XmlReflectionImporter.cs: one of theImportTypeMapping mappings
1432         had a void return value.
1433
1434 2003-04-26  Miguel de Icaza  <miguel@ximian.com>
1435
1436         * XmlIncludeAttribute.cs: Make XmlIncludeAttribute have the
1437         `AllowMultiple' flags.  
1438
1439 2003-04-25  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1440
1441         * TypeTranslator.cs : patch by Erik LeBel. Array consideration.
1442         * XmlReflectionImporter.cs : patch by Erik LeBel. 
1443           Now uses XmlRootAttribute to determine element name.
1444
1445 2003-03-17  Miguel de Icaza  <miguel@ximian.com>
1446
1447         * XmlSerializer.cs: Do not use Bubblesort, use ArrayList.Sort.
1448         Kill Bublesort.
1449
1450 2003-03-22  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1451
1452         * XmlSerializer.cs : patch by Sean Cier. Serialize() other than 
1453           XmlWriter argument should call WriteEndDocument.
1454
1455 2003-03-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1456
1457         * XmlSerializer.cs : Serialize() don't write xmldecl when WriteState is
1458           not WriteState.Start, and never call WriteEndDocument().
1459
1460 2003-03-12  Elan Feingold <efeingold@mn.rr.com>
1461
1462         * XmlCustomFormatter.cs: Correct signature, Implement
1463         ToByteArrayBase64 
1464
1465         * XmlSerializationWriter.cs: Fix prototype.
1466
1467         * XmlSerializer.cs: Implements Deserialize().
1468
1469 2003-02-16  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1470
1471         * XmlSerializer.cs : serializing now works for interface member.
1472
1473 2003-01-26  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1474
1475         * XmlSerializer.cs : some fix handling xml node object more correct.
1476
1477 2003-01-16  Ajay kumar Dwivedi <adwiv@yahoo.com>
1478         * XmlSerializer.cs: Array serialization for 1D arrays works
1479         * TypeTranslator: Added for translations`
1480
1481 2002-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1482
1483         * XmlCustomFormatter.cs: finished.
1484         * XmlSerializationReader.cs: implemented some more methods.
1485
1486 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1487
1488         * XmlSerializationReader.cs: implemented a few methods.
1489
1490         * XmlAnyElementAttribute.cs:
1491         * XmlArrayAttribute.cs:
1492         * XmlChoiceIdentifierAttribute.cs:
1493         * XmlElementAttribute.cs:
1494         * XmlMemberMapping.cs:
1495         * XmlMembersMapping.cs: class status based fixes.
1496
1497 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1498
1499         * CodeIdentifiers.cs:
1500         * XmlSchemaExporter.cs:
1501         * XmlSchemaImporter.cs:
1502         * XmlSchemas.cs:
1503         * XmlSerializationWriteCallback.cs:
1504         * XmlSerializationWriter.cs:
1505         * XmlSerializer.cs:
1506         * XmlSerializerNamespaces.cs: some class status based fixed and
1507         implemented a couple of methods.
1508
1509         * SoapSchemaExporter.cs: stubbed out.
1510
1511 2002-08-24  Tim Coleman <tim@timcoleman.com>
1512         * SoapCodeExporter.cs:
1513                 Fix return value of ExportTypeMapping.
1514         * XmlCustomFormatter.cs:
1515                 Change methods to be internal instead of public.
1516         * XmlSerializationWriter.cs:
1517                 Modify GetPrimitiveTypeName to build on linux.
1518                 Modify GetQualifiedName to return an incrementing prefix
1519                 instead of the same one all the time (still need to manage
1520                 conflicts)
1521                 Modify WriteElementString to only do special stuff is XsiType
1522                 is not defined.
1523                 Modify WriteTypedPrimitive to use FromXmlQualifiedName if it's
1524                 an XmlQualifiedName.
1525
1526 2002-08-22  Tim Coleman <tim@timcoleman.com>
1527         * XmlSerializationReader.cs:
1528                 Some implementation
1529         * XmlSerializationWriter.cs:
1530                 More implementation
1531         * XmlCustomFormatter.cs:
1532                 Implemented this class.
1533
1534 2002-08-20  Tim Coleman <tim@timcoleman.com>
1535         * XmlSerializationWriter.cs:
1536                 Some implementation.
1537
1538 2002-08-19  Tim Coleman <tim@timcoleman.com>
1539         * XmlSerializer.cs:
1540                 New stubs added.
1541         * XmlSerializationWriter.cs:
1542                 New stubs added.
1543
1544 2002-08-14  Tim Coleman <tim@timcoleman.com>
1545         * XmlSerializer.cs:
1546                 More reformatting of source code so I can
1547                 better understand what it does.
1548
1549 2002-08-06  Tim Coleman <tim@timcoleman.com>
1550         * XmlSerializer.cs:
1551                 Some reformatting of code for readability.
1552                 Modify to correctly serialize ICollection objects
1553                 such as the BindingCollection of a ServiceDescription
1554                 for example.
1555
1556 2002-08-03  Tim Coleman <tim@timcoleman.com>
1557         * XmlSerializer.cs: 
1558                 Changed Implements() to check based on name rather
1559                 than FullName.  FullName was never working correctly.
1560
1561 2002-07-26  Tim Coleman <tim@timcoleman.com>
1562         * XmlSerializer.cs:
1563                 The constructor now looks for an XmlRootAttribute attribute
1564                 if one is not passed in.  Various changes to make it emit
1565                 proper XML, such as handling an element without a namespace
1566                 prefix, and using WriteEndDocument where it should be.
1567
1568 2002-07-24  Tim Coleman <tim@timcoleman.com>
1569         * CodeIdentifier.cs:
1570         * IXmlSerializable.cs:
1571         * XmlSerializationCollectionFixupCallback.cs:
1572         * XmlSerializationFixupCallback.cs:
1573         * XmlSerializationReadCallback.cs:
1574         * XmlSerializationReader.cs:
1575         * XmlSerializationWriteCallback.cs:
1576                 Add new classes.
1577         * XmlSchemas.cs
1578         * CodeIdentifiers.cs:
1579                 Implement some of these classes
1580         * XmlCodeExporter.cs:
1581                 Fix return type of a function
1582
1583 2002-07-24  Tim Coleman <tim@timcoleman.com>
1584         * SoapReflectionImporter.cs:
1585                 New class added to build
1586                 System.Web.Services.Description.ServiceDescription.cs
1587
1588 2002-07-22  Tim Coleman <tim@timcoleman.com>
1589         * CodeIdentifiers.cs:
1590         * SoapCodeExporter.cs:
1591         * SoapSchemaExporter.cs:
1592         * XmlCodeExporter.cs:
1593         * XmlMemberMapping.cs:
1594         * XmlMembersMapping.cs:
1595         * XmlReflectionImporter.cs:
1596         * XmlReflectionMember.cs:
1597         * XmlSchemaExporter.cs:
1598         * XmlSchemaImporter.cs:
1599         * XmlSchemas.cs: 
1600                 New stubbs added to aid in the linux build of
1601                 System.Web.Services.
1602
1603 2002-07-05  Ajay kumar Dwivedi <adwiv@yahoo.com>
1604         
1605         * XmlSeriailizer: Serialize method can serialize XmlSchema perfectly.
1606
1607         * XmlSerializerNamespaces: Reverted to use of a single Hashtable.
1608
1609 2002-07-02  Ajay kumar Dwivedi <adwiv@yahoo.com>
1610         
1611         * XmlSeriailizer: Updated Serialize() method.
1612
1613 2002-06-27 Ajay kumar Dwivedi <adwiv@yahoo.com>
1614         * XmlSerializer: Serialize() method Partially Implemented.
1615
1616 2002-06-20 Ajay kumar Dwivedi <adwiv@yahoo.com>
1617
1618         * Soap & XmlOverrides: Implemented using TypeMember as key with
1619           suggestions from Rafael.