private void HandleAttributeGroup(XmlSchemaAttributeGroup attributeGroup, DataTable table, bool isBase)
{
foreach (XmlSchemaObject obj in attributeGroup.Attributes)
{
if (obj is XmlSchemaAttribute)
{
HandleAttributeColumn((XmlSchemaAttribute)obj, table, isBase);
}
else
{ // XmlSchemaAttributeGroupRef
XmlSchemaAttributeGroupRef attributeGroupRef = (XmlSchemaAttributeGroupRef)obj;
XmlSchemaAttributeGroup attributeGroupResolved;
if (attributeGroup.RedefinedAttributeGroup != null && attributeGroupRef.RefName == new XmlQualifiedName(attributeGroup.Name, attributeGroupRef.RefName.Namespace))
{
attributeGroupResolved = attributeGroup.RedefinedAttributeGroup;
}
else
{
attributeGroupResolved = (XmlSchemaAttributeGroup)_attributeGroups[attributeGroupRef.RefName];
}
if (attributeGroupResolved != null)
{
HandleAttributeGroup(attributeGroupResolved, table, isBase);
}
}
}
}
internal void HandleComplexType(XmlSchemaComplexType ct, DataTable table, ArrayList tableChildren, bool isNillable)