System.Xml.Schema.SchemaCollectionCompiler.IsGroupBaseFromAny C# (CSharp) Method

IsGroupBaseFromAny() private method

private IsGroupBaseFromAny ( XmlSchemaGroupBase derivedGroupBase, XmlSchemaAny baseAny ) : bool
derivedGroupBase XmlSchemaGroupBase
baseAny XmlSchemaAny
return bool
        private bool IsGroupBaseFromAny(XmlSchemaGroupBase derivedGroupBase, XmlSchemaAny baseAny) {
            decimal minOccurs, maxOccurs;
            CalculateEffectiveTotalRange(derivedGroupBase, out minOccurs, out maxOccurs);
            if (!IsValidOccurrenceRangeRestriction(minOccurs, maxOccurs, baseAny.MinOccurs, baseAny.MaxOccurs)) {
                return false;
            }
            // eliminate occurrance range check
            string minOccursAny = baseAny.MinOccursString;
            baseAny.MinOccurs = decimal.Zero;

            foreach (XmlSchemaParticle p in derivedGroupBase.Items) {
                if (!IsValidRestriction(p, baseAny)) {
                    baseAny.MinOccursString = minOccursAny;
                    return false;
                }
            }
            baseAny.MinOccursString = minOccursAny;
            return true;
        }