2 // System.Xml.Serialization.XmlMemberMapping
5 // Tim Coleman (tim@timcoleman.com)
6 // Lluis Sanchez Gual (lluis@ximian.com)
8 // Copyright (C) Tim Coleman, 2002
11 namespace System.Xml.Serialization
13 public class XmlMemberMapping {
15 XmlTypeMapMember _mapMember;
19 string _typeNamespace;
21 internal XmlMemberMapping (string memberName, string defaultNamespace, XmlTypeMapMember mapMem, bool encodedFormat)
24 _memberName = memberName;
26 if (mapMem is XmlTypeMapMemberAnyElement)
28 XmlTypeMapMemberAnyElement anyelem = (XmlTypeMapMemberAnyElement) mapMem;
29 XmlTypeMapElementInfo info = (XmlTypeMapElementInfo) anyelem.ElementInfo[anyelem.ElementInfo.Count-1];
30 _elementName = info.ElementName;
31 _namespace = info.Namespace;
32 if (info.MappedType != null) _typeNamespace = info.MappedType.Namespace;
33 else _typeNamespace = "";
35 else if (mapMem is XmlTypeMapMemberElement)
37 XmlTypeMapElementInfo info = (XmlTypeMapElementInfo) ((XmlTypeMapMemberElement)mapMem).ElementInfo[0];
38 _elementName = info.ElementName;
41 _namespace = defaultNamespace;
42 if (info.MappedType != null) _typeNamespace = "";
43 else _typeNamespace = info.DataTypeNamespace;
47 _namespace = info.Namespace;
48 if (info.MappedType != null) _typeNamespace = info.MappedType.Namespace;
49 else _typeNamespace = "";
54 _elementName = _memberName;
62 get { return _mapMember is XmlTypeMapMemberAnyElement; }
65 public string ElementName {
66 get { return _elementName; }
69 public string MemberName {
70 get { return _memberName; }
73 public string Namespace {
74 get { return _namespace; }
77 public string TypeFullName {
78 get { return _mapMember.TypeData.FullTypeName; }
81 public string TypeName {
82 get { return _mapMember.TypeData.XmlType; }
85 public string TypeNamespace {
86 get { return _typeNamespace; }
89 internal XmlTypeMapMember TypeMapMember {
90 get { return _mapMember; }
93 #endregion // Properties