System.Xml.Serialization.XmlSchemaImporter.GetEquivalentElements C# (CSharp) Method

GetEquivalentElements() private method

private GetEquivalentElements ( XmlSchemaElement element ) : System.Xml.Schema.XmlSchemaElement[]
element System.Xml.Schema.XmlSchemaElement
return System.Xml.Schema.XmlSchemaElement[]
        private XmlSchemaElement[] GetEquivalentElements(XmlSchemaElement element)
        {
            ArrayList equivalentElements = new ArrayList();

            foreach (XmlSchema schema in Schemas.SchemaSet.Schemas())
            {
                for (int j = 0; j < schema.Items.Count; j++)
                {
                    object item = schema.Items[j];
                    if (item is XmlSchemaElement)
                    {
                        XmlSchemaElement equivalentElement = (XmlSchemaElement)item;
                        if (!equivalentElement.IsAbstract &&
                            equivalentElement.SubstitutionGroup.Namespace == schema.TargetNamespace &&
                            equivalentElement.SubstitutionGroup.Name == element.Name)
                        {
                            equivalentElements.Add(equivalentElement);
                        }
                    }
                }
            }

            return (XmlSchemaElement[])equivalentElements.ToArray(typeof(XmlSchemaElement));
        }