XmlQualifiedName ExportTypeMapping(TypeMapping mapping, string ns) {
if (mapping is ArrayMapping)
return ExportArrayMapping((ArrayMapping)mapping, ns);
else if (mapping is EnumMapping)
return ExportEnumMapping((EnumMapping)mapping, ns);
else if (mapping is PrimitiveMapping) {
PrimitiveMapping pm = (PrimitiveMapping)mapping;
if (pm.TypeDesc.IsXsdType) {
return ExportPrimitiveMapping(pm);
}
else {
return ExportNonXsdPrimitiveMapping(pm, ns);
}
}
else if (mapping is StructMapping)
return ExportStructMapping((StructMapping)mapping, ns);
else if (mapping is NullableMapping)
return ExportTypeMapping(((NullableMapping)mapping).BaseMapping, ns);
else if (mapping is MembersMapping)
return ExportMembersMapping((MembersMapping)mapping, ns);
else
throw new ArgumentException(Res.GetString(Res.XmlInternalError), "mapping");
}