1 2004-06-22 Lluis Sanchez Gual <lluis@ximian.com>
3 * ReflectionHelper.cs: Correctly detect private types.
4 * XmlCodeExporter.cs: Implemented missing method.
5 * XmlSchemaImporter.cs: Allow import of root primitive types.
7 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
9 * CodeIdentifier.cs, CodeIdentifiers.cs, MapCodeGenerator.cs,
10 SerializationCodeGenerator.cs, SerializationSource.cs,
11 TypeTranslator.cs, XmlAttributeOverrides.cs, XmlCustomFormatter.cs,
12 XmlSerializationReader.cs, XmlSerializationWriter.cs,
13 XmlSerializer.cs, XmlTypeMapMemberElement.cs, XmlTypeMapping.cs
14 : Globalization fixes.
15 In XmlCustomFormatter.GenerateToXmlString() time was not
17 Replaced all CRLF XmlAttributeOverrides.cs into LF.
19 2004-06-13 Gert Driesen <drieseng@users.sourceforge.net>
21 * XmlSerializationWriter.cs: changed signature of protected method
22 FromByteArrayBase64 to match MS.NET
24 2004-06-10 Lluis Sanchez Gual <lluis@ximian.com>
26 * MapCodeGenerator.cs, SoapCodeExporter.cs: Generate the same XmlInclude
27 attributes that MS.NET generates.
28 * SerializationCodeGenerator.cs: Avoid duplicate generation of maps in the
30 * XmlCodeExporter.cs: Added support for ignore flag in maps and members.
31 * XmlReflectionImporter.cs: Changed GetReflectionMembers to match
32 MS.NET member ordering. Patch by David Taylor.
33 * XmlSchemaImporter.cs: When generating a choice member, set the ignore
34 flag. The generated enum must also not be included in the schema.
35 * XmlTypeMapMember.cs: Added ignore flag.
36 * XmlTypeMapping.cs: The AttributeMembers property now returns the
37 attributes in the correct order.
39 2004-06-03 Gert Driesen <drieseng@users.sourceforge.net>
41 * XmlSerializationReader.cs: added missing protected members
42 to fix API compatibility with MS.NET
43 * XmlSerializationWriter.cs: added missing protected members
44 to fix API compatibility with MS.NET
46 2004-06-02 Lluis Sanchez Gual <lluis@ximian.com>
48 * XmlSerializationReader.cs: Support schamea instance namespaces other than
49 the 2001 one when reading the xsi type.
50 * MapCodeGenerator.cs: Take into account that the root namespace and element
51 name may have changed from one export to another of the same type. In
52 this case the class attributes need to be regenerated.
53 * SoapCodeExporter.cs, XmlCodeExporter.cs: Take the enum name from XmlType,
54 not ElementName. Idem for namespace.
55 * XmlReflectionImporter.cs: Set nullable property of XmlTypeMapping.
56 * XmlRootAttribute.cs: Default value for nullable is true.
57 * XmlSchemaImporter.cs: The root name for a class may change in some
58 scenarios (for example, when the type is initially exported as part of
59 another type and later exported as a root type).
60 * XmlSerializationReader.cs: In GetXsiType(), if the type attribute is not
61 found using the standard namespace, try getting the type using
62 the 2000/10 and 1999 namespaces.
63 * XmlTypeMapping.cs: Added IsNullable property. Updated SetRoot method ;-)
65 2004-05-26 Lluis Sanchez Gual <lluis@ximian.com>
67 * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
68 In encoded format, primitive types can be null. Read them using
69 ReadReferencingElement, that already checks for the null tag.
71 2004-05-25 Lluis Sanchez Gual <lluis@ximian.com>
73 * XmlSerializationReader.cs: Check for empty element when reading an array
74 element. This fixes bug #59003. Thanks Atsushi!
76 2004-05-07 Lluis Sanchez Gual <lluis@ximian.com>
78 * XmlSerializationWriter.cs: Implemented some missing methods.
79 In .NET 1.0, encoded null elements use the attribute null="1", while in
80 1.1 the attribute is nil="true".
81 * XmlTypeMapping.cs: Little fix for nested classes.
83 2004-05-07 Lluis Sanchez Gual <lluis@ximian.com>
85 * XmlReflectionImporter.cs: Don't reset the internal tables at every
86 ImportMembersMapping call. This fixes bug #58112. The problem is that
87 it imported two different arrays (only different in the array item
88 namespace) with the same name. Not sure what was this Reset needed for,
89 everyting seems to work without it.
91 2004-05-05 Lluis Sanchez Gual <lluis@ximian.com>
93 * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
94 When deserializing an encoded method response, if the return type of the
95 method is Object, assign to it the first element of the message, whatever
97 * XmlSerializationReader.cs:
98 * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Set IsReturnValue of
100 * TypeTranslator.cs: Added method to safely get a primitive TypeData.
101 * XmlSerializationReader.cs: Don't throw an exception when the CLR type for
102 a given xsi type is not found. Just read it as primitive type.
103 * XmlTypeMapMember.cs: Added IsReturnValue property.
104 * XmlTypeMapping.cs: Added ReturnMember property.
105 * XmlSerializer.cs: Reference System.Data when compiling the serializer.
107 2004-05-05 Lluis Sanchez Gual <lluis@ximian.com>
109 * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
110 When reading an object using the typeof(object) map, an emty xsi:type
111 means that it has to read the contents into an XmlNode[].
112 * TypeData.cs: Return the correct full name for inner classes.
113 * XmlSchemaImporter.cs: Improved detection of types that represent
114 "anyType", and must be mapped to XmlElement, XmlNode or Object.
115 * XmlSerializationReader.cs: In GetXsiType(), find the type attribute using
116 the correct namespace.
117 In ReadTypedPrimitive(), read the element as XmlNode[] if the type is
120 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
122 * XmlSerializationWriter.cs : It do not have to handle schema
123 namespace as special one.
125 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
127 * XmlSerializationReaderInterpreter.cs: Removed the check for null
128 AttributeMembers collection. Even if there are no attribute members,
129 attributes need to be read.
131 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
133 * XmlSerializationReader.cs: In ReadSerializable(), take into account that
134 the IXmlSerializable object may not read all the EndElement it read.
135 This fixes bug #57413.
137 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
139 * XmlSerializer.cs: Enable serializer generation by default.
141 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
143 * TypeTranslator.cs: Mapped again anyUri, but now it is mapped to String.
144 * XmlSchemaImporter.cs: If a map was initially imported as a class, but it
145 turns out that it is an array, import it again as array. This fixes
148 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
150 * XmlSchemaExporter.cs: When checking if a map has been exported or not,
151 don't use type name for array types, since we can have different classes
152 that represent the same array type (for example StringCollection and
155 2004-04-14 Lluis Sanchez Gual <lluis@ximian.com>
157 * TypeTranslator.cs, XmlCustomFormatter.cs: Removed map from Uri to anyUri,
158 not present in MS.NET.
159 * XmlSerializationWriter.cs: Improved error message.
161 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
163 * SerializationCodeGenerator.cs, XmlReflectionImporter.cs,
164 XmlSerializationReader.cs, XmlSerializationReaderInterpreter.cs:
165 Support deserialization of members of type XmlDocument. This fixes #56169.
167 2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
169 * SerializationCodeGenerator.cs: Generate an integer for unknown enum values.
170 Use a special method to generate default values, since default enum values
171 will come as integers, so a special cast is needed.
172 * XmlSerializationReaderInterpreter.cs,
173 * SerializationSource.cs, SoapAttributeAttribute.cs, SoapAttributeOverrides.cs,
174 SoapAttributes.cs, SoapElementAttribute.cs, SoapEnumAttribute.cs,
175 SoapTypeAttribute.cs, XmlAnyElementAttribute.cs, XmlAnyElementAttributes.cs,
176 XmlArrayAttribute.cs, XmlArrayItemAttribute.cs, XmlArrayItemAttributes.cs,
177 XmlAttributeAttribute.cs, XmlAttributeOverrides.cs, XmlAttributes.cs,
178 XmlChoiceIdentifierAttribute.cs, XmlElementAttribute.cs, XmlElementAttributes.cs,
179 XmlEnumAttribute.cs, XmlReflectionMember.cs, XmlRootAttribute.cs,
180 XmlTextAttribute.cs, XmlTypeAttribute.cs: Had to change the implementation
181 of SerializationSource. It can't keep and use the XmlAttributeOverride
182 instances as key values, since those instances can be modified after the
183 xml map has been generated. Now, SerializationSource generates a unique
184 string hash from XmlAttributeOverride and uses it for comparisons.
186 2004-03-24 Lluis Sanchez Gual <lluis@ximian.com>
188 * SerializationCodeGenerator.cs: Several fixes: generate valid names for
189 WriteRoot_ and ReadRoot_ methods. Cast result of ReadTypedPrimitive to
190 the adequate type. Set the default value of members that do have a default
191 value. Other minor fixes.
192 * SoapReflectionImporter.cs, XmlReflectionImporter.cs: All maps must derive
193 from typeof(object) map, even those that have another base class.
194 * XmlCustomFormatter.cs: Fixed generation of conversion from char to string.
195 It must serialize the char as number, not as character.
196 * XmlSerializationReaderInterpreter.cs: Set the default value of members
197 that do have a default value.
198 * XmlTypeMapping.cs: Added property MembersWithDefault, which returns a list
199 of members that have a default value.
201 2004-03-15 Lluis Sanchez Gual <lluis@ximian.com>
203 * XmlSchemaImporter.cs: Import IXmlSerializable types as DataSet, like in MS.NET.
204 This fixes bug #55547.
206 2004-03-13 David Sheldon <dave-mono@earth.li>
208 * XmlSerializationWriter.cs: Implement WriteElementStringRaw with a
211 2004-03-13 David Sheldon <dave-mono@earth.li>
213 * XmlTextAttribute.cs: Initialise dataType with zero-length string.
214 fixes test case that tests for this directly.
215 * TypeTranslator.cs: Check for new zero-length dataType so we don't reject
216 it. Treat it as null.
218 2004-03-12 Lluis Sanchez Gual <lluis@ximian.com>
220 * CodeIdentifier.cs: Limit the length of identifiers.
221 * MapCodeGenerator.cs: Do not generate base class if it is an XmlNode.
222 Generate types using GetDomType, so if the type is an array, it creates
223 the correct combination of types.
224 * SerializationCodeGenerator.cs, XmlTypeMapping.cs: When trying to parse
225 an enum, if the string is empty and the enum has [Flags], then return 0
226 as value. This fixes bug #55509.
227 * XmlSchemaImporter.cs: Added check for redefines of attribute groups. They
228 are not supported. Another check: a simple type cannot be enum if it does
229 not have any enum facet.
230 And another fix: use string as default type for attribtues.
231 * XmlSchemas.cs: Fixed search for schema elements. An schema may import
232 other schemas. An imported schema would not be in the table, but its
233 elements (although from another namespace) would be in the schema that
234 imported it. So, we need know to check for every schema in the table.
235 * XmlSerializer.cs: Added environment variable to help debugging code
238 2004-02-27 Lluis Sanchez Gual <lluis@ximian.com>
240 * MapCodeGenerator.cs: Added IncludeMetadata property, which returns a list
241 of XmlInclude attributes needed for the service class.
242 IsMapExported: Removed check for object type, since it can now be exported.
243 SetMapExported: Use the type name as key, since different importers may
244 be used to create a map for the same type.
245 GenerateClassInclude: Updated signature.
246 * SoapCodeExporter.cs: Moved management of IncludeMetadata to MapCodeGenerator.
247 GenerateClassInclude(): Updated signature.
248 * SoapReflectionImporter.cs: Support SoapIncludeAttribute in array members.
249 Implemented IncludeTypes.
250 * XmlCodeExporter.cs: Moved management of IncludeMetadata to MapCodeGenerator.
251 GenerateClassInclude(): Updated signature.
252 * XmlMemberMapping.cs: Added missing property.
253 * XmlReflectionImporter.cs: GetReflectionMembers must be private.
254 Implemented IncludeTypes().
255 * XmlSchemaExporter.cs: Added support for exporting typeof(object).
256 * XmlSchemaImporter.cs: Changed the implementation of ImportDerivedTypeMapping.
257 Now, it does a regular import and then assign the required base class to
258 the imported map. In this way it is possible to assign a base type for a
259 map that was previously imported without a base type.
260 * XmlTypeMapping.cs: Added internal method SetRoot().
262 2004-02-24 Lluis Sanchez Gual <lluis@ximian.com>
264 * SerializationCodeGenerator.cs: Added support for generation of readers
265 and writers for several maps in a single class. Added support for
266 XmlMemberMapping. Fixed generation of serializers that use encoded format.
267 * SoapAttributeAttribute.cs, SoapAttributeOverrides.cs, SoapAttributes.cs,
268 SoapElementAttribute.cs, SoapEnumAttribute.cs, SoapTypeAttribute.cs,
269 XmlAnyElementAttribute.cs, XmlAnyElementAttributes.cs, XmlArrayAttribute.cs,
270 XmlArrayItemAttribute.cs, XmlArrayItemAttributes.cs, XmlAttributeAttribute.cs,
271 XmlAttributeOverrides.cs, XmlChoiceIdentifierAttribute.cs, XmlRootAttribute.cs,
272 XmlElementAttribute.cs, XmlElementAttributes.cs, XmlEnumAttribute.cs,
273 XmlReflectionMember.cs, XmlTextAttribute.cs, XmlTypeAttribute.cs:
274 Added InternalEquals method.
275 * XmlAttributes.cs: Removed a lot of unused code. Added InternalEquals method.
276 * SoapReflectionImporter.cs: Set SerializationSource to generated maps.
277 * XmlCustomFormatter.cs: Fixed little bug.
278 * XmlMapping.cs: Added Source property. This a global identifier of the map.
279 * XmlReflectionImporter.cs: Set SerializationSource to generated maps.
280 * XmlSchemaImporter.cs: Set the correct value for IsNillable when importing
282 * XmlSerializationReaderInterpreter.cs, XmlSerializationWriter.cs: Minor fixes.
283 * XmlSerializationWriterInterpreter.cs: WriteObject and WriteEnum were not
285 * XmlSerializer.cs: Added support for generation of serializers.
287 2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
289 * SerializationCodeGenerator.cs,
290 SerializationCodeGeneratorConfiguration.cs:
291 Added <namespaceImports> feature ("using XXX;" generation) support.
293 2004-02-17 Lluis Sanchez Gual <lluis@ximian.com>
295 * XmlSerializationWriter.cs: When writing the root element, use a prefix
296 if the namespace of the element is defined in the list of namespaces
297 provided to the XmlSerializer. This fixes bug #54427.
299 2004-02-16 Lluis Sanchez Gual <lluis@ximian.com>
301 * MapCodeGenerator.cs: Modified some methods to make them easier to reuse.
302 Those are basically methods to add custom attributes to element and
304 * SoapCodeExporter.cs: Track changes in MapCodeGenerator.
305 * XmlCodeExporter.cs: Better support for custom attribute generation for
307 * XmlCustomFormatter.cs: Added null check.
308 * XmlSchemaImporter.cs: do not set IsOptionalValueType property to
309 attributes that are required.
310 * XmlSerializationReaderInterpreter.cs: Method parameters may be serialized
313 2004-02-11 Lluis Sanchez Gual <lluis@ximian.com>
315 * MapCodeGenerator.cs: Changed some methods to make them easier to reuse.
316 * TypeTranslator.cs: NMTOKENS, ENTITIES and IDREFS must be mapped to
317 string, not string[].
318 * XmlCodeExporter.cs: AddMappingMetadata(): improved attribute generation
319 for array parameters. In general, improved generation of schema Form
321 * XmlMemberMapping.cs: Added Form property.
322 * XmlReflectionImporter.cs: Types that inherit from other types cannot be
323 simple types. Added a check for this.
324 * XmlSchemaExporter.cs: several fixes: better generation of IsMixed and
325 Form. The key used to determine if a map has been already generated must
326 include the XmlType, since there can be two xml types with the same CLR
327 type and namespace (for example, they may differ in the Form property).
328 * XmlSchemaImporter.cs: When getting the TypeData for a schema element,
329 also return the corresponding map. There can be two maps that have the
330 same TypeData, so given a TypeData is not always possible to get the
331 correct corresponding map (for example two arrays that only differ in the
333 * XmlTypeMapping.cs: Added method to set if a map can represent a simple
336 2004-02-04 Lluis Sanchez Gual <lluis@ximian.com>
338 * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for the
339 normalizedString schema type.
341 2004-02-04 Lluis Sanchez Gual <lluis@ximian.com>
343 * XmlReflectionImporter.cs: Get the class members using the right order.
344 * XmlSerializationWriterInterpreter.cs: Removed unneeded code.
345 A member with the Any attribute can also contain text. Support this.
346 * XmlTypeMapMemberElement.cs: Added CanBeText property.
348 2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
350 * XmlSchemaImporter.cs: Redefinition of types are not supported. Added a
353 2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
355 * MapCodeGenerator.cs: Added helper method for generating an attribute
356 parameter of type enum.
357 * XmlAttributeAttribute.cs: little fix.
358 * XmlCodeExporter.cs: Support XmlAnyAttribute when generating attributes
359 for method parameters.
360 * XmlMemberMapping.cs: Improved support for members of type "any".
361 * XmlReflectionImporter.cs: Improved assignment of the attribute form.
362 If the namespace is explicitly specified, then the form should be
363 qualified. Also fixed issues with the namespace assigned to attributes.
364 This should fix bug #53384.
365 * XmlSchemaExporter.cs: ExportMembersMapping(): improved support for
366 methods that return values of type "any". Changed the methods
367 AddSchemaArrayElement and AddSchemaElement, so instead of adding the
368 element, return it, and the caller must add it to the collection.
369 Other fixes in attribute generation.
370 * XmlSchemaImporter.cs: ImportAnyType(): if a type name is provided,
371 generate the AnyType mapping from the type described in the schema.
372 Small fixes regarding IsMixed property of complex types (it means that
373 the type can contain text, so the XmlTextAttribute must be generated).
374 * XmlSerializationReaderInterpreter.cs: Reading of members by-order must
375 be only used in the bare+encoded format.
377 2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
379 * SoapReflectionImporter.cs: Types included with SoapInclude don't need
380 to be derived types of the one that has the attribute.
381 * XmlReflectionImporter.cs: Recursively register the derived maps of a given
382 map to the parent map. This fixes #53246.
383 * XmlSerializationWriter.cs: Some fixes regarding empty namespaces.
385 2004-01-22 Lluis Sanchez Gual <lluis@ximian.com>
387 * XmlSerializationReaderInterpreter.cs: When deserializing an XmlElement,
388 do not check the root element name, since it can be any name. This fixes
391 2004-01-20 Lluis Sanchez Gual <lluis@ximian.com>
393 * XmlReflectionImporter.cs: Throw exception if a value type member has the
394 IsNullable=true flag. This fixes bug #52906.
396 2004-01-20 Lluis Sanchez Gual <lluis@ximian.com>
398 * MapCodeGenerator.cs, XmlSchemaImporter.cs: Attributes are allways optional,
399 so a 'specified' member has always to be generated.
400 * TypeData.cs: Fixed check for value type.
402 2004-01-20 Lluis Sanchez Gual <lluis@ximian.com>
404 * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs,
405 XmlTypeMapMember.cs, MapCodeGenerator.cs, SoapCodeExporter.cs, TypeData.cs,
406 XmlCodeExporter.cs, XmlReflectionImporter.cs, XmlSchemaExporter.cs,
407 XmlSchemaImporter.cs, XmlSerializationReaderInterpreter.cs,
408 XmlSerializationWriterInterpreter.cs, XmlTypeMapMember.cs:
409 Added support for value specifiers members. This fixes bug #53024.
411 2004-01-20 Lluis Sanchez Gual <lluis@ximian.com>
413 * XmlSchemaExporter.cs: Don't create referenced element if it has already
414 been created (two types could be referencing the same schema element).
416 2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
418 * XmlReflectionImporter.cs: Read IsNullable flag from XmlArrayAttribute.
419 * XmlSerializationWriterInterpreter.cs: Interpret IsNullable flag for
420 arrays. This fixes bug #53018.
422 2004-01-14 Lluis Sanchez Gual <lluis@ximian.com>
424 * MapCodeGenerator.cs: Use type namespace instead of root namespace as
425 default namespace for members.
426 * XmlCodeExporter.cs: Fixed generation of XmlRootAttribute.
427 * XmlReflectionImporter.cs: Fixed the assignment of root and type
429 * XmlSchemaExporter.cs: Use type namespace instead of root namespace as
430 default namespace for members. In AddSchemaElement, if the element is
431 a root element never use a "ref" attribute.
432 * XmlSchemaImporter.cs: Fixed issue when importing root elements.
434 2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
436 * XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs
437 XmlTypeMapping.cs: more namespace fixes.
439 2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
441 * XmlReflectionImporter.cs: type namespace must never be used as root
442 namespace. This fixes bug #52772.
444 2004-01-08 Nick Drochak <ndrochak@ieee.org>
446 * XmlSchemaImporter.cs: Removed unused variable.
448 2004-01-07 Lluis Sanchez Gual <lluis@ximian.com>
450 * XmlReflectionImporter.cs: Ignore Namespace property when applying
451 the [XmlType] attribute to an enum. This fixes bug #52607.
453 2003-12-19 Lluis Sanchez Gual <lluis@ximian.com>
455 * SerializationCodeGenerator.cs, XmlReflectionImporter.cs: Added internal
456 option that allow serialization of private types.
458 2003-12-18 Eran Domb <erand@mainsoft.com>
460 * TypeTranslator.cs : Change primtive types map.
462 2003-12-18 Eran Domb <erand@mainsoft.com>
464 * XmlReflectionImporter.cs (ImportListMapping): Adding the included types of the list as a derived
467 2003-12-15 Lluis Sanchez Gual <lluis@ximian.com>
469 * XmlSchemaExporter.cs: AddSchemaElement, use XmlTypeMapElementInfo.IsPrimitive
470 to check if a type is primitive, instead of Type.IsPrimitive, since CLR
471 primitive types are not the same as XML primitive types. Patch proposed
472 by Mordechai Taitelman. This fixes bug #52228.
473 * XmlSerializationWriter.cs: Fixes in WriteNullTagEncoded and WriteNullTagLiteral.
475 2003-12-15 Lluis Sanchez Gual <lluis@ximian.com>
477 * XmlReflectionImporter.cs: Little fix.
479 2003-12-15 Lluis Sanchez Gual <lluis@ximian.com>
481 * XmlReflectionImporter.cs: Type specified with XmlIncludeAttribute don't
482 need to be derived types of the includer. This fixes bug #52152.
483 Added null check for Name property of XmlEnumAttribute. This fixes
485 * XmlSerializationReader.cs: Fixed some error messages.
486 * XmlSerializationReaderInterpreter.cs: Check that the root element has
487 the correct local name and namespace. This fixes bug #52038.
488 Throw exception if enum value can't be parsed.
489 * XmlTypeMapping.cs: Don't try to parse numeric enum values. This fixes
492 2003-12-12 Lluis Sanchez Gual <lluis@ximian.com>
494 * MapCodeGenerator.cs: Added support for [Flags] enum.
495 * XmlCodeExporter.cs: Do not add XmlElement attributes if the member is Any.
496 * XmlSchemaImporter.cs: Implemented ImportAnyType(). Improved import of
497 encoded array type. Added support for enums with [Flags].
498 In encoded format, unqualified types are schema types by default.
500 2003-12-11 Lluis Sanchez Gual <lluis@ximian.com>
502 * XmlCodeExporter.cs: Little fix.
503 * XmlSchemaExporter.cs: In rpc format, make sure that parameters with the
504 same name have the same type.
505 * XmlSchemaImporter.cs: Support xml:lang.
506 * XmlSerializationReader.cs, XmlSerializationWriterInterpreter.cs:
507 fixed wrong namespace for the arrayType attribute.
509 2003-12-08 Lluis Sanchez Gual <lluis@ximian.com>
511 * SoapReflectionImporter.cs, XmlMembersMapping.cs, XmlReflectionImporter.cs,
512 XmlSchemaImporter.cs, XmlTypeMapElementInfo.cs, XmlTypeMapping.cs:
513 When using rpc format on a web service, members don't need to have any
514 specific namespace. Added a flag for turning namespace check on/off.
516 2003-11-27 Lluis Sanchez Gual <lluis@ximian.com>
518 * XmlSerializationReader.cs: Generate identifiers for arrays user a counter.
519 delayedListFixups.Count cannot be used because elementes from
520 delayedListFixups are deleted sometimes.
522 2003-11-27 Lluis Sanchez Gual <lluis@ximian.com>
524 * XmlReflectionImporter.cs: Indexer properties must not be serialized.
525 This fixes bug #51060.
527 2003-11-24 Lluis Sanchez Gual <lluis@ximian.com>
529 * XmlSerializationWriterInterpreter.cs: Applied patch by Eran Domb:
530 If type is Enum the code use type.GetElememtType() instead of
531 Enum.GetUnderlyingType().
533 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
535 * XmlSerializationReader.cs, XmlSerializationWriter.cs, XmlSerializer.cs:
536 Removed several TODOs already done.
538 2003-11-03 Lluis Sanchez Gual <lluis@ximian.com>
540 * XmlCustomFormatter.cs: Added support for anyUri type. This fixes
543 2003-10-20 Lluis Sanchez Gual <lluis@ximian.com>
545 * ReflectionHelper.cs: In CheckSerializableType() check that the type
547 * XmlSerializationWriter.cs: Added check for circular references.
548 This fixes bug #49879.
550 2003-10-20 Lluis Sanchez Gual <lluis@ximian.com>
552 * ReflectionHelper.cs: Added check in CheckSerializableType(). Interfaces
553 can't be serialized. This fixes bug #49878.
554 * TypeData.cs: In ListItemType check that the collection has a valid
555 Add method and report an error if not.
556 * XmlReflectionImporter.cs: Added CheckSerializableType check call when
557 reflecting a collection.
559 2003-10-18 Lluis Sanchez Gual <lluis@ximian.com>
561 * SoapReflectionImporter.cs: Support element references for enum values in
562 encoding format. This fixes bug #49568.
563 * XmlSerializationReaderInterpreter.cs: In encoded format, do not check
564 the name and namespace of the wrapper element. MS.NET doesn't do it.
565 This fixes bug #49729.
567 2003-10-15 Lluis Sanchez Gual <lluis@ximian.com>
569 * MapCodeGenerator.cs: Made MapCodeGenerator internal.
571 2003-10-15 Lluis Sanchez Gual <lluis@ximian.com>
573 * MapCodeGenerator.cs: New file. Moved here all code that is common
574 between XmlCodeExporter and SoapCodeExporter.
575 * SoapCodeExporter.cs: Implemented.
576 * XmlCodeExporter.cs: Moved common code to MapCodeGenerator.
577 * XmlSerializationReaderInterpreter.cs: Fixed problem when reading
578 encoded bare parameter list.
579 * XmlTypeMapping.cs: Added method for getting member element by index.
581 2003-10-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
583 * XmlSchemas.cs : Implemented IsDataSet().
585 2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
587 * SoapCodeExporter.cs: Initial implementation of AddMappingMetadata().
588 * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlSchemaImporter.cs:
589 in ImportMembersMapping, set pass the namespace to each XmlMemberMapping.
590 * SoapSchemaExporter.cs: Some fixes in ExportMembersMapping.
591 * XmlMemberMapping.cs: Fixed constructor. Now it takes the default namespace
592 and whether it uses encoded or literal format.
593 * XmlSchemaExporter.cs: Little fixes.
595 2003-10-10 Lluis Sanchez Gual <lluis@ximian.com>
597 * XmlSerializationReader.cs. Fixed bug #49510. An array element doesn't
598 need to be of type SOAP-ENC:Array, it can be a restriction of it.
600 2003-10-10 Lluis Sanchez Gual <lluis@ximian.com>
602 * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Fixed bug #49476.
603 Read only properties are only serialized if the type is an array.
605 2003-10-09 Lluis Sanchez Gual <lluis@ximian.com>
607 * SoapReflectionImporter.cs, XmlReflectionImporter.cs,
608 SoapReflectionImporter.cs: Fixed bug #94694. Check for public constructor
609 is not needed for value types.
611 2003-10-08 Lluis Sanchez Gual <lluis@ximian.com>
613 * XmlSerializer.cs, XmlSerializationWriter.cs: Fixed bug #49353
614 (XmlSerializer.Serialize() handles namespace parameter incorrectly)
616 2003-10-05 Lluis Sanchez Gual <lluis@ximian.com>
618 * XmlReflectionImporter.cs, SoapReflectionImporter.cs: Fixed bug #49349
620 2003-10-04 Lluis Sanchez Gual <lluis@ximian.com>
622 * XmlSchemaExporter.cs: Keep track of elements being exported.
623 * XmlSchemas.cs: Removed unneeded catch.
625 2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
627 * SerializationCodeGenerator.cs, XmlSerializationReaderInterpreter.cs:
628 Fixed handling of members with XmlTextAttribute that are arrays.
629 * TypeData.cs: IsComplexType now returns true for XmlNode.
630 * XmlSerializer.cs: Added check for null mapping in FromMappings.
631 * XmlTypeMapping.cs: Added helper method FindTextElement.
633 2003-09-28 Lluis Sanchez Gual <lluis@ximian.com>
635 * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlSchemaExporter.cs:
636 Added support for IncludeInSchema flag.
637 * SoapSchemaImporter.cs: Implemented ImportDerivedTypeMapping method.
638 * XmlCodeExporter.cs: Implemented AddMappingMetadata and AddMappingMetadata
639 methods. Added support for IncludeInSchema flag.
640 * XmlSchemaImporter.cs: Implemented ImportDerivedTypeMapping method.
641 Added support for IncludeInSchema flag.
642 * XmlTypeAttribute.cs: Set includeInSchema to true by default.
643 * XmlTypeMapping.cs: Added IncludeInSchema property.
645 2003-09-25 Lluis Sanchez Gual <lluis@ximian.com>
647 * SoapIncludeAttribute.cs: Added AllowMultiple option. This fixes bug #48877.
649 2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
651 * XmlCustomFormatter.cs: added support for additional string types in
652 GenerateToXmlString().
653 * XmlSchemaExporter.cs: Fixed generation of XmlMembersMapping using
656 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
658 * SoapSchemaImporter.cs: implemented.
659 * XmlReflectionImporter.cs: Changed nullable default for array items to true.
660 * XmlSchemaExporter.cs: Some fixes in the generation of encoded format schema.
661 * XmlSchemaImporter.cs: more support for encoded format.
663 2003-09-04 Lluis Sanchez Gual <lluis@ximian.com>
665 * SerializationCodeGenerator.cs: Minor fixes.
666 * SoapReflectionImporter.cs: More fixes.
667 * SoapSchemaExporter.cs: implemented.
668 * SoapSchemaImporter.cs: Initial implementation.
669 * TypeTranslator.cs: new methods for dealing with encoded arrays: GetArrayName
671 * XmlCodeExporter.cs: Fix. When exporting a map, export all derived maps.
672 * XmlMemberMapping.cs: Minor fixes.
673 * XmlMembersMapping.cs: added some convenient constructors.
674 * XmlSchemaExporter.cs: Added support for encoded format.
675 * XmlSchemaImporter.cs: Added support for encoded format.
676 * XmlSerializationReader.cs: changed some string literals by constants.
677 Implemented ParseWsdlArrayType.
678 * XmlSerializationReaderInterpreter.cs: Read typeArray attribute when serializing
680 * XmlSerializationWriter.cs: Implemented WriteXmlAttribute.
681 * XmlSerializationWriterInterpreter.cs: Use WriteXmlAttribute instead of
682 WriteAttribute to write custom attributes.
683 * XmlSerializer.cs: added some namespace constants.
684 * XmlTypeMapping.cs: added GetSchemaArrayName method.
686 2003-09-01 Lluis Sanchez Gual <lluis@ximian.com>
688 * XmlSchemaImporter.cs: Implemented ImportMembersMapping.
689 * XmlTypeMapMemberElement.cs: Little fix.
690 * XmlTypeMapping.cs: Added AllElementInfos property in ClassMap.
691 * XmlCustomFormatter.cs: Added GenerateToXmlString and GenerateFromXmlString
693 * SerializationCodeGenerator.cs, SerializationCodeGeneratorConfiguration.cs:
696 2003-08-29 Lluis Sanchez Gual <lluis@ximian.com>
698 * SoapReflectionImporter.cs: Fixed construcion of XmlMemberMapping.
699 * XmlMemberMapping.cs: Changed constructor.
700 * XmlReflectionImporter.cs: Fixed construcion of XmlMemberMapping.
701 * XmlSchemaImporter.cs: Implemented ImportMembersMapping().
702 * XmlSerializationReaderInterpreter.cs: Added some helper methods. Changed visibility.
703 * XmlSerializationWriterInterpreter.cs: Changed visibility.
705 2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
707 * XmlSerializer.cs: Fix in Deserialize() method.
709 2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
711 * XmlReflectionImporter.cs: Fill RelatedMaps property of the generated map.
712 * XmlSchemas.cs: Find method: make sure the returned object belongs to
714 * XmlSerializationReader.cs: Removed unneded virtual ReadObject method.
715 Add null checks for eventSource.
716 * XmlSerializationReaderInterpreter.cs: ReadObject is not virtual any more.
717 * XmlSerializationWriter.cs: In Initialize method, initialize the provided
718 namespece declarations. Virtual method WriteObject not needed any more.
719 In WriteStartElement, write the provided namespaces.
720 * XmlSerializationWriterInterpreter.cs: Write object is not virtual any more.
721 Added GetTypeMap method, that returns the map for a given type. Added some
722 virtual methods, so writer behavior can be extended at several places by
724 * XmlSerializer.cs: Changed behavior to match what MS.NET does. The virtual
725 methods CreateReader and CreateWriter are not called unless no type or
726 type mapping was provided in the constructor.
728 2003-08-12 Lluis Sanchez Gual <lluis@ximian.com>
730 * XmlSchemaImporter.cs: ImportTypeMapping doesn't need to check if the
731 schema type it is importing is a class or an array. It will always
734 2003-08-12 Lluis Sanchez Gual <lluis@ximian.com>
736 * XmlSerializationWriterInterpreter.cs: any element members can be serialized
737 as text nodes. Support it.
739 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
741 * CodeIdentifier.cs: Fixed MakeValid method.
742 * TypeTranslator.cs: Added support for more primitive types. Added
743 GetDefaultPrimitiveTypeData, which returns the type data to which a clr type
745 * XmlCodeExporter.cs: Generate XmlRoot attribute only if root element name and ns
746 are different from the type ns and name.
747 Generate class and field comments.
748 Fixed default attribute generation. In elements with ref attribute, it has to be
749 generated in the referred attribute.
750 * XmlReflectionImporter.cs: Added check: simple type extensions can't add new elements.
751 Added suport for text nodes in members of type "any".
752 * XmlSchemaExporter.cs: Several fixes. Fixed generation of complex types with simple
754 * XmlSchemaImporter.cs: Several fixes. The importer now collects documentation info.
755 * XmlSerializationWriter.cs: WriteNamespaceDeclarations(): do not declare namespaces
756 that have already been declared.
757 WriteStartElement(): elements from schema namespace are always written with ns prefix.
758 * XmlTypeMapMember.cs: Added documentation property.
759 * XmlTypeMapping.cs: Added documentation property. Added property to check if a class map
760 represents a simple type.
762 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com>
764 * XmlSchemaImporter.cs: Implemented ImportTypeMapping and all needed parsing
766 * SoapReflectionImporter.cs: Set the type namespace parameter when creating a map.
767 * TypeData.cs: Added property that returns a TypeData that represents an array of
769 * TypeTranslator.cs: Added GetArrayName() method.
770 Added TypeDatas for missing primitive types.
771 * XmlCodeExporter.cs: Implemented ExportMembersMapping. Fixed generation of
772 XmlRootAttribute. Added the namespace to all attributes being generated.
773 Other fixes in the generation of code.
774 * XmlReflectionImporter: store the namespace of the type in the maps.
775 * XmlSchemaExporter.cs: Several fixes. Only set the "mixed" attribute if the
776 class can generate text. Do not export inherited attributes of a class.
777 Use the new root namespace stored in the map when generating the root element.
778 * XmlSerializationWriter: Always write a prefix when writing a qname, even if the
779 namespace is the default namespace.
780 * XmlSerializationWriterInterpreter.cs: fixed missing "else".
781 * XmlTypeMapElementInfo.cs: In DataTypeNamespace property, return the type
782 namespace instead of the map namespace (which can be different if the type
783 has a XmlRoot element).
784 * XmlTypeMapMember.cs: Set the default value of the DefaultValue property
785 to System.DBNull.Value.
786 * XmlTypeMapMemberElement.cs: ElementInfo property: In the getter Create
787 the collection if it has not yet been created.
788 * XmlTypeMapping.cs: Added property XmlTypeNamespace which stores the namespace
789 of the type. It may be different from the namespace of the map if the type
790 has a XmlRoot element. Also added IsSimpleType property.
791 In ClassMap, added AllMembers property.
793 2003-07-30 Lluis Sanchez Gual <lluis@ximian.com>
795 * TypeData.cs: Added new constructor and variables to allow the creation of
796 a TypeData without a Type. Added ListItemTypeData property.
797 * XmlTypeMapping.cs: Added property for checking if a ListMap represents an
798 array of arrays. Added also a property to get the nested array map.
799 * XmlCodeExporter.cs: First implementation of code exporter.
801 2003-07-22 Lluis Sanchez Gual <lluis@ximian.com>
803 * TypeTranslator.cs: Added new primitive types: NMTOKEN and NCName.
804 * XmlSerializationWriterInterpreter.cs: Write XmlAttributes with the prefix
807 2003-07-15 Lluis Sanchez Gual <lluis@ximian.com>
809 * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Avoid generating two
810 maps with the same name and namespace. To avoid this, maps must be registered
811 using the real map namespace, not the default namespace (the namespace can
812 change if the type has a XmlType or SoapType attribute).
813 * XmlArrayItemAttribute.cs: Set IsNullable to true by default.
814 * XmlSchemaExporter.cs: Implemented method ExportMembersMapping.
816 * XmlSerializationWriterInterpreter.cs: GetStringValue: return null if the value
819 2003-07-14 Lluis Sanchez Gual <lluis@ximian.com>
821 * SoapReflectionImporter.cs: Set the BaseMap property of map. Small fix.
822 * TypeData.cs: IsComplexType now returns true for IXmlSerializable types.
823 * XmlAttributes.cs: Fixed bug when reading the value of DefaultValueAttribute.
824 * XmlReflectionImporter.cs: Set the BaseMap property of map. Several small fixes.
825 * XmlSchemaExporter.cs: Implemented.
826 * XmlSchemas.cs: Support schemas with TargetNamespace set to null.
827 * XmlSerializationWriter.cs: FromXmlQualifiedName (): return null if the qname is null.
828 GetNamespacePrefix (): no need to add xmlns attribute if namespace is null.
829 * XmlSerializationWriterInterpreter.cs: Fixed management of default values.
830 GetStringValue() returns null if the value is null, instead of empty string.
831 (attributes with null values are not written).
832 * XmlTypeMapElementInfo.cs: added IsTextElement and IsUnnamedAnyElement properties.
833 * XmlTypeMapMemberAttribute.cs: added DataTypeNamespace and removed DataType.
834 DataType value can is now in TypeData.
835 * XmlTypeMapMemberElement.cs: Small fix.
836 * XmlTypeMapping.cs: Added FindMember method and BaseMap property.
838 2003-07-14 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
840 * AssemblyInfo.cs: Removed
842 2003-07-9 Lluis Sanchez Gual <lluis@ximian.com>
844 * XmlSerializationWriter.cs: WriteStartElement(): Do not write xsd and xsi
845 namespace declarations if they have already been defined.
847 2003-07-2 Lluis Sanchez Gual <lluis@ximian.com>
849 * XmlSerializationReaderInterpreter.cs: Use the parameter type when getting the Add method
850 for adding elements to a list.
852 2003-06-31 Lluis Sanchez Gual <lluis@ximian.com>
854 * SoapReflectionImporter.cs, XmlReflectionImporter.cs: Fixed so XmlIncludeAttribute and
855 SoapIncludeAttribute are now transitive (if class A includes class B, and B includes C, then
858 2003-06-30 Lluis Sanchez Gual <lluis@ximian.com>
860 * SoapReflectionImporter.cs, XmlReflectionImporter.cs, XmlTypeMapping.cs:
861 Added support for serialization of enums with the Flags attribute.
863 2003-06-30 Lluis Sanchez Gual <lluis@ximian.com>
865 * SoapReflectionImporter.cs: Fix support for DataType in class members.
866 * TypeData.cs: Don't use "Index" name to get indexer property. Indexer properties
867 can have other names.
868 * TypeTranslator.cs, XmlCustomFormatter.cs: Added support for "time" and "data" xml types.
869 * XmlReflectionImporter.cs, XmlTypeMapElementInfo.cs, XmlSerializationReader.cs,
870 XmlSerializationWriter.cs, XmlTypeMapElementInfo.cs, XmlTypeMapping.cs:
871 Fix support for DataType in class members.
872 * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs:
873 Added support for array of primitive types in attributes.
875 2003-06-28 Lluis Sanchez Gual <lluis@ximian.com>
877 * TypeData.cs: Type of item of ICollections is now taken from the Item(int) property. Add() can
878 be overlodaded, so it is not good for this.
879 * XmlSerializationWriterInterpreter.cs: Fix ambiguity bug when getting Item property of a collection.
881 2003-06-24 Lluis Sanchez Gual <lluis@ximian.com>
883 * XmlTypeMapElementInfo.cs: no need to compare nesting level in Equals.
884 * XmlReflectionImporter.cs: Changed nullable default. Assign member's namespace to an
885 array if the namespace is not specified in XmlArrayItemAttribute.
887 2003-06-17 Lluis Sanchez Gual <lluis@ximian.com>
889 * XmlReflectionImporter.cs: Reset internal tables for each ImportMembersMapping call.
890 * XmlSerializationReader.cs: GetXsiType(): use current reader.namespaceUri if namespace
891 is not specified in the xsi attribute.
892 * XmlSerializationReaderInterpreter.cs: Fixed bug when reading an empty array from an empty element.
893 * XmlSerializationWriterInterpreter.cs: Added null value check when writting an array.
895 2003-06-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
897 * XmlSerializationReader.cs : Synchronous fix with
898 XmlElement.GetAttribute(name, ns) fix for GetNullAttr().
899 * added XmlTypeMapMemberNamespace.cs.
900 * XmlReflectionImporter,
901 XmlSerializationReaderInterpreter.cs,
902 XmlSerializationWriterInterpreter.cs,
903 XmlTypeMapping.cs : support for XmlNamespaceDeclarationAttribute.
905 2003-06-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
907 * XmlSerializationWriter.cs : some QName handling fix.
909 2003-06-13 Lluis Sanchez Gual <lluis@ximian.com>
911 * XmlSerializationReader.cs: Fixed error message.
912 * XmlSerializationReaderInterpreter.cs: Fixed bug when reading XmlQualifiedNames as attributes
914 * XmlSerializationWriter.cs: Null check in FromXmlQualifiedName.
916 2003-06-13 Lluis Sanchez Gual <lluis@ximian.com>
918 * XmlSerializationReader.cs: Fixed implementation of ReadElementQualifiedName() and ReadTypedPrimitive().
919 * XmlSerializationReaderInterpreter.cs: Improved serialization of XmlQualifiedNames.
920 * XmlSerializationWriter.cs: implemented methods for reading XmlQualifiedNames.
921 * XmlSerializationWriterInterpreter.cs: Improved deserialization of XmlQualifiedNames.
923 2003-06-13 Lluis Sanchez Gual <lluis@ximian.com>
925 * SchemaTypes.cs: Changed DataSet type for a more generic XmlSerializable.
926 * SoapReflectionImporter.cs: tiny fix.
927 * XmlReflectionImporter.cs, TypeData.cs, XmlSerializationWriterInterpreter.cs,
928 XmlSerializationReaderInterpreter.cs: Added support for IXmlSerializable.
929 * XmlSerializationReader.cs: Fixed implementation of ReadSerializable().
930 * XmlSerializationWriter.cs: implemented WriteSerializable ().
932 2003-06-12 Lluis Sanchez Gual <lluis@ximian.com>
934 * XmlAnyElementAttribute.cs, XmlArrayItemAttribute.cs: Added AllowMultiple flag.
935 * XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs,
936 XmlSerializationReaderInterpreter.cs, XmlTypeMapElementInfo.cs,
937 XmlTypeMapMemberElement.cs, XmlTypeMapping.cs: Added support for XmlTextAttribute.
938 * XmlSerializationWriter.cs: small fix.
940 2003-06-11 Lluis Sanchez Gual <lluis@ximian.com>
942 * XmlReflectionImporter.cs: Added support for XmlIgnoreAttribute in enum members.
943 Added support for DefaultValueAttribute.
944 * XmlSerializationWriterInterpreter.cs: Added support for DefaultValueAttribute. Fixed bug when writting
945 the value of an enum.
946 * XmlTypeMapMember.cs: Added DefaultValue attribute.
947 * XmlTypeMapping.cs: EnumMap.GetXmlName and GetXmlValue, so they can now deal with
950 2003-06-11 Lluis Sanchez Gual <lluis@ximian.com>
952 * XmlSerializationReader.cs: Minor fix.
954 2003-06-11 Lluis Sanchez Gual <lluis@ximian.com>
956 * XmlSerializationReader.cs, XmlSerializationReaderInterpreter.cs: Minor fixes.
958 2003-06-10 Lluis Sanchez Gual <lluis@ximian.com>
960 * SoapReflectionImporter.cs: Added check: some overrides cannot be applied to primitive types.
961 * XmlAttributes.cs: Default value of XmlDefaultValue changed to System.DBNull.Value
962 * XmlCustomFormatter.cs: small fixes.
963 * XmlReflectionImporter.cs: Added check: some overrides cannot be applied to primitive types.
964 * XmlSerializationWriter.cs: Implemented TopLevelElement().
965 WriteNamespaceDeclarations(): Fixed (the hashtable contains XmlQualifiedNames, not strings).
966 WriteXsiType(): It is not necessary to add the namespace declaration, this will now be done by XmlWriter.
967 * XmlSerializationWriterInterpreter.cs: Call TopLevelElement() when writing classes or arrays as
970 2003-06-05 Lluis Sanchez Gual <lluis@ximian.com>
972 * SoapReflectionImporter.cs: implemented.
973 * TypeTranslator.cs: added IsPrimitive() method
974 * TypeMapping.cs: Added RelatedMaps property that returns all maps directly or indirectly
975 used by that one. Also added Format property, that can be literal or encoded.
976 * XmlReflectionImporter.cs: little fixes. Moved some methods to ReflectionHelper.
977 * XmlReflectionMember.cs: added constructor that accepts SoapAttributes
978 * XmlSerializationReader.cs: implemented many methods needed to support encoded format.
979 * XmlSerializationReaderInterpreter.cs: added support for encoded format.
980 * XmlSerializationWriter.cs: added support for encoded format.
981 * XmlSerializationWriterInterpreter.cs: added support for encoded format.
982 * XmlTypeMapElementInfo.cs: added some properties needed to support encoded format
983 * XmlTypeMapMemberAttribute.cs: added MappedType property (enum values can be attributes,
984 and a map is needed for them).
985 * XmlTypeMapMemberElement.cs: small fixes.
986 * XmlTypeMapping.cs: added some properties and methods needed to support encoded format
987 * ReflectionHelper.cs: added. Has some methods shared by the reflection importers.
989 2003-06-01 Miguel de Icaza <miguel@ximian.com>
991 * XmlSerializationReader.cs (UnknownAttribute, UnknownNode,
992 UnknownElement): Add line number information.
994 2003-05-29 Lluis Sanchez Gual <lluis@ximian.com>
996 * TypeData.cs, TypeTranslator.cs: Renamed some properties.
997 * XmlCustomFormatter.cs: Fixed bug in serialization of chars. Support for byte[].
998 * XmlMapping.cs: Added internal property.
999 * XmlMemberMapping.cs, XmlMembersMapping.cs: Implemented.
1000 * XmlReflectionImporter.cs: Implemented importing of XmlMembersMapping. Several fixes.
1001 * XmlReflectionMember.cs: XmlAttributes are now created by default
1002 * XmlSerializationReader.cs, XmlSerializationWriter.cs: Several fixes.
1003 * XmlSerializationReaderInterpreter.cs, XmlSerializationWriterInterpreter.cs, XmlSerializer.cs:
1004 Implemented support for XmlMembersMapping.
1005 * XmlTypeMapping.cs: Property ObjectMap moved to XmlMapping.
1007 2003-05-28 Lluis Sanchez Gual <lluis@ximian.com>
1009 * TypeData.cs, TypeTranslator.cs: Added support for enums. Added method for translating
1010 from xml type to clr type.
1011 * XmlCustomFormatter.cs: Fixed bug in serialization of chars. Support for byte[].
1012 * XmlReflectionMember.cs: Added default constructor.
1013 * XmlSerializationReader.cs: Implemented ReadTypedPrimitive(), ToByteArrayBase64().
1014 * XmlSerializationWriter.cs: Several fixes.
1015 * XmlSerializationReaderInterpreter.cs, XmlReflectionImporter.cs, XmlSerializationWriterInterpreter.cs
1016 XmlTypeMapMember.cs, XmlTypeMapMemberElement.cs, XmlTypeMapping.cs:
1017 Added support for enums. Added support for XmlElement and XmlNode.
1018 Support for XmlAnyAttributeAttribute and XmlAnyElementAttribute. Many fixes.
1020 2003-05-26 Lluis Sanchez Gual <lluis@ximian.com>
1022 * TypeData.cs, TypeTranslator.cs: Implemented some methods.
1023 * XmlCustomFormatter.cs: Added formatting methods.
1024 * XmlReflectionImporter.cs, XmlSerializer.cs: New implementation.
1025 * XmlReflectionMember.cs: Added new constructor.
1026 * XmlSerializationReader.cs, XmlSerializationWriter.cs: Implemented some methods.
1027 * XmlSerializationWriterInterpreter.cs, XmlSerializationReaderInterpreter.cs
1028 XmlTypeMapElementInfo.cs, XmlTypeMapMember.cs, XmlTypeMapMemberAttribute.cs
1029 XmlTypeMapMemberElement.cs, XmlTypeMapping.cs: Added
1031 2003-05-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1033 * Added TypeTableEntry.cs.
1034 * TypeTranslator.cs : changed for non-static use.
1035 * XmlAttributes.cs : XmlType attribute support for GetAttributeName()
1036 and GetElementName(). Bugfix so that if any XmlElementAttribute
1037 exists after non-typed XmlElementAttribute then it might be ignored.
1038 Added GetElementIsNullable().
1039 * XmlSerializer.cs :
1040 Introduced TypeTablePool and TypeTableEntry and erased ambiguous
1041 Object memberObj[4].
1042 Deserialize() now uses XmlReader.Depth to check its depth.
1043 Serialize() for non-XmlReader arguments now always write xmldecl.
1044 SerializeBuiltin() now explicitly requires Type to support xsi:nil,
1045 and handles XmlQualifiedName.
1046 Separated SerializeType () from Serialize().
1047 Separated WriteCollectionElementMember(), IsFieldTypeSerializable(),
1048 IsPropertyTypeSerializable() from SerializeMembers().
1049 SerializeMembers() is now capable of null value and actual type,
1050 which should be included by XmlIncludeAttribute and so on.
1051 Renamed SerializeArray() to SerializeArrayContent(), and added
1052 SerializeCollectionContent().
1053 SerializeMembers() now requries XmlSerializerNamespaces (not used yet).
1054 FillTypeTable() is now aware of XmlInclude attributes.
1055 FillEnum() should not have different type table content from others.
1057 2003-05-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1059 * XmlSerializer.cs : this time, only replaced spaces with tabs.
1061 2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1063 * ChangeLog : Added missing ChangeLog of 2003-04-25.
1064 * XmlCustomFormatter.cs : Fixed FromXmlNmTokens() to contain
1065 separators. Added experimental method ToEnum().
1066 * XmlSerializationReader.cs : unconfirmed implementation of
1067 ReadSerializable() and ToEnum().
1068 * XmlSerializationWriter.cs : fixed WriteAttribute() so that if value
1069 is null then no output will be written.
1070 Fixed WriteStartElement(), WriteElement*() and WriteEmptyTag()
1071 to use custom formatted name.
1073 2003-05-02 Miguel de Icaza <miguel@ximian.com>
1075 * XmlReflectionImporter.cs: one of theImportTypeMapping mappings
1076 had a void return value.
1078 2003-04-26 Miguel de Icaza <miguel@ximian.com>
1080 * XmlIncludeAttribute.cs: Make XmlIncludeAttribute have the
1081 `AllowMultiple' flags.
1083 2003-04-25 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1085 * TypeTranslator.cs : patch by Erik LeBel. Array consideration.
1086 * XmlReflectionImporter.cs : patch by Erik LeBel.
1087 Now uses XmlRootAttribute to determine element name.
1089 2003-03-17 Miguel de Icaza <miguel@ximian.com>
1091 * XmlSerializer.cs: Do not use Bubblesort, use ArrayList.Sort.
1094 2003-03-22 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1096 * XmlSerializer.cs : patch by Sean Cier. Serialize() other than
1097 XmlWriter argument should call WriteEndDocument.
1099 2003-03-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1101 * XmlSerializer.cs : Serialize() don't write xmldecl when WriteState is
1102 not WriteState.Start, and never call WriteEndDocument().
1104 2003-03-12 Elan Feingold <efeingold@mn.rr.com>
1106 * XmlCustomFormatter.cs: Correct signature, Implement
1109 * XmlSerializationWriter.cs: Fix prototype.
1111 * XmlSerializer.cs: Implements Deserialize().
1113 2003-02-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1115 * XmlSerializer.cs : serializing now works for interface member.
1117 2003-01-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1119 * XmlSerializer.cs : some fix handling xml node object more correct.
1121 2003-01-16 Ajay kumar Dwivedi <adwiv@yahoo.com>
1122 * XmlSerializer.cs: Array serialization for 1D arrays works
1123 * TypeTranslator: Added for translations`
1125 2002-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1127 * XmlCustomFormatter.cs: finished.
1128 * XmlSerializationReader.cs: implemented some more methods.
1130 2002-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1132 * XmlSerializationReader.cs: implemented a few methods.
1134 * XmlAnyElementAttribute.cs:
1135 * XmlArrayAttribute.cs:
1136 * XmlChoiceIdentifierAttribute.cs:
1137 * XmlElementAttribute.cs:
1138 * XmlMemberMapping.cs:
1139 * XmlMembersMapping.cs: class status based fixes.
1141 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1143 * CodeIdentifiers.cs:
1144 * XmlSchemaExporter.cs:
1145 * XmlSchemaImporter.cs:
1147 * XmlSerializationWriteCallback.cs:
1148 * XmlSerializationWriter.cs:
1150 * XmlSerializerNamespaces.cs: some class status based fixed and
1151 implemented a couple of methods.
1153 * SoapSchemaExporter.cs: stubbed out.
1155 2002-08-24 Tim Coleman <tim@timcoleman.com>
1156 * SoapCodeExporter.cs:
1157 Fix return value of ExportTypeMapping.
1158 * XmlCustomFormatter.cs:
1159 Change methods to be internal instead of public.
1160 * XmlSerializationWriter.cs:
1161 Modify GetPrimitiveTypeName to build on linux.
1162 Modify GetQualifiedName to return an incrementing prefix
1163 instead of the same one all the time (still need to manage
1165 Modify WriteElementString to only do special stuff is XsiType
1167 Modify WriteTypedPrimitive to use FromXmlQualifiedName if it's
1168 an XmlQualifiedName.
1170 2002-08-22 Tim Coleman <tim@timcoleman.com>
1171 * XmlSerializationReader.cs:
1173 * XmlSerializationWriter.cs:
1175 * XmlCustomFormatter.cs:
1176 Implemented this class.
1178 2002-08-20 Tim Coleman <tim@timcoleman.com>
1179 * XmlSerializationWriter.cs:
1180 Some implementation.
1182 2002-08-19 Tim Coleman <tim@timcoleman.com>
1185 * XmlSerializationWriter.cs:
1188 2002-08-14 Tim Coleman <tim@timcoleman.com>
1190 More reformatting of source code so I can
1191 better understand what it does.
1193 2002-08-06 Tim Coleman <tim@timcoleman.com>
1195 Some reformatting of code for readability.
1196 Modify to correctly serialize ICollection objects
1197 such as the BindingCollection of a ServiceDescription
1200 2002-08-03 Tim Coleman <tim@timcoleman.com>
1202 Changed Implements() to check based on name rather
1203 than FullName. FullName was never working correctly.
1205 2002-07-26 Tim Coleman <tim@timcoleman.com>
1207 The constructor now looks for an XmlRootAttribute attribute
1208 if one is not passed in. Various changes to make it emit
1209 proper XML, such as handling an element without a namespace
1210 prefix, and using WriteEndDocument where it should be.
1212 2002-07-24 Tim Coleman <tim@timcoleman.com>
1213 * CodeIdentifier.cs:
1214 * IXmlSerializable.cs:
1215 * XmlSerializationCollectionFixupCallback.cs:
1216 * XmlSerializationFixupCallback.cs:
1217 * XmlSerializationReadCallback.cs:
1218 * XmlSerializationReader.cs:
1219 * XmlSerializationWriteCallback.cs:
1222 * CodeIdentifiers.cs:
1223 Implement some of these classes
1224 * XmlCodeExporter.cs:
1225 Fix return type of a function
1227 2002-07-24 Tim Coleman <tim@timcoleman.com>
1228 * SoapReflectionImporter.cs:
1229 New class added to build
1230 System.Web.Services.Description.ServiceDescription.cs
1232 2002-07-22 Tim Coleman <tim@timcoleman.com>
1233 * CodeIdentifiers.cs:
1234 * SoapCodeExporter.cs:
1235 * SoapSchemaExporter.cs:
1236 * XmlCodeExporter.cs:
1237 * XmlMemberMapping.cs:
1238 * XmlMembersMapping.cs:
1239 * XmlReflectionImporter.cs:
1240 * XmlReflectionMember.cs:
1241 * XmlSchemaExporter.cs:
1242 * XmlSchemaImporter.cs:
1244 New stubbs added to aid in the linux build of
1245 System.Web.Services.
1247 2002-07-05 Ajay kumar Dwivedi <adwiv@yahoo.com>
1249 * XmlSeriailizer: Serialize method can serialize XmlSchema perfectly.
1251 * XmlSerializerNamespaces: Reverted to use of a single Hashtable.
1253 2002-07-02 Ajay kumar Dwivedi <adwiv@yahoo.com>
1255 * XmlSeriailizer: Updated Serialize() method.
1257 2002-06-27 Ajay kumar Dwivedi <adwiv@yahoo.com>
1258 * XmlSerializer: Serialize() method Partially Implemented.
1260 2002-06-20 Ajay kumar Dwivedi <adwiv@yahoo.com>
1262 * Soap & XmlOverrides: Implemented using TypeMember as key with
1263 suggestions from Rafael.