System.Xml.Xsl.XmlQueryTypeFactory.FilterOf C# (CSharp) Method

FilterOf() public method

Filter type of node sequence with a type (filter)
public FilterOf ( XmlQueryType source, XmlQueryType filter ) : XmlQueryType
source XmlQueryType source type
filter XmlQueryType type filter
return XmlQueryType
        public XmlQueryType FilterOf(XmlQueryType source, XmlQueryType filter) {
            Debug.Assert(filter.IsNode && filter.Count == 1 && filter.IsSingleton);
            List<XmlQueryType> list = new List<XmlQueryType>();
            XmlQueryCardinality card = XmlQueryCardinality.None;

            foreach (XmlQueryType sourceItem in source) {
                card |= AddFilteredPrime(list, sourceItem, filter, true);
            }
            // Make sure that cardinality is at least Zero
            return PrimeProduct(ChoiceType.Create(list), source.Cardinality * card);
        }