Exemplo n.º 1
0
        public bool NeverSubtypeOf(XmlQueryType baseType)
        {
            // Check cardinalities
            if (Cardinality.NeverSubset(baseType.Cardinality))
            {
                return(true);
            }

            // If both this type and "other" type might be empty, it doesn't matter what the prime types are
            if (MaybeEmpty && baseType.MaybeEmpty)
            {
                return(false);
            }

            // None is subtype of every other type
            if (Count == 0)
            {
                return(false);
            }

            // Check item types
            foreach (XmlQueryType typThis in this)
            {
                foreach (XmlQueryType typThat in baseType)
                {
                    if (typThis.HasIntersectionItemType(typThat))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }