private bool IsElementFromElement(XmlSchemaElement derivedElement, XmlSchemaElement baseElement) {
return (derivedElement.QualifiedName == baseElement.QualifiedName) &&
(derivedElement.IsNillable == baseElement.IsNillable) &&
IsValidOccurrenceRangeRestriction(derivedElement, baseElement) &&
(baseElement.FixedValue == null || baseElement.FixedValue == derivedElement.FixedValue) &&
((derivedElement.BlockResolved | baseElement.BlockResolved) == derivedElement.BlockResolved) &&
(derivedElement.ElementSchemaType != null) && (baseElement.ElementSchemaType != null) &&
XmlSchemaType.IsDerivedFrom(derivedElement.ElementSchemaType, baseElement.ElementSchemaType, ~XmlSchemaDerivationMethod.Restriction);
}