private void ExportElementMapping(XmlSchemaElement element, Mapping mapping, string ns, bool isAny)
{
if (mapping is ArrayMapping)
ExportArrayMapping((ArrayMapping)mapping, ns, element);
else if (mapping is PrimitiveMapping)
{
PrimitiveMapping pm = (PrimitiveMapping)mapping;
if (pm.IsAnonymousType)
{
element.SchemaType = ExportAnonymousPrimitiveMapping(pm);
}
else
{
element.SchemaTypeName = ExportPrimitiveMapping(pm, ns);
}
}
else if (mapping is StructMapping)
{
ExportStructMapping((StructMapping)mapping, ns, element);
}
else if (mapping is MembersMapping)
element.SchemaType = ExportMembersMapping((MembersMapping)mapping, ns);
else if (mapping is SpecialMapping)
ExportSpecialMapping((SpecialMapping)mapping, ns, isAny, element);
else if (mapping is NullableMapping)
{
ExportElementMapping(element, ((NullableMapping)mapping).BaseMapping, ns, isAny);
}
else
throw new ArgumentException(SR.XmlInternalError, nameof(mapping));
}