private XmlSchemaElement ExportElement(ElementAccessor accessor)
{
if (!accessor.Mapping.IncludeInSchema && !accessor.Mapping.TypeDesc.IsRoot)
{
return null;
}
if (accessor.Any && accessor.Name.Length == 0)
throw new InvalidOperationException(SR.XmlIllegalWildcard);
XmlSchemaElement element = (XmlSchemaElement)_elements[accessor];
if (element != null) return element;
element = new XmlSchemaElement();
element.Name = accessor.Name;
element.IsNillable = accessor.IsNullable;
_elements.Add(accessor, element);
element.Form = accessor.Form;
AddSchemaItem(element, accessor.Namespace, null);
ExportElementMapping(element, accessor.Mapping, accessor.Namespace, accessor.Any);
return element;
}