public static IEnumerable <XmlSchemaAttribute> LocalXsdAttributes(this XmlSchema schema) { IEnumerator enumerator = schema.Elements.Values.GetEnumerator(); while (enumerator.MoveNext()) { XmlSchemaElement current = (XmlSchemaElement)enumerator.Current; foreach (XmlSchemaAttribute iteratorVariable1 in current.LocalXsdAttributes()) { yield return(iteratorVariable1); } } IEnumerator iteratorVariable9 = schema.SchemaTypes.Values.GetEnumerator(); while (iteratorVariable9.MoveNext()) { XmlSchemaType ty = (XmlSchemaType)iteratorVariable9.Current; foreach (XmlSchemaAttribute iteratorVariable3 in ty.LocalXsdAttributes()) { yield return(iteratorVariable3); } } IEnumerator iteratorVariable12 = schema.Groups.Values.GetEnumerator(); while (iteratorVariable12.MoveNext()) { XmlSchemaGroup gr = (XmlSchemaGroup)iteratorVariable12.Current; foreach (XmlSchemaAttribute iteratorVariable5 in gr.LocalXsdAttributes()) { yield return(iteratorVariable5); } } }