Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ BuildPredicates()

QilNode System.Xml.Xsl.Xslt.XPathPatternBuilder.BuildPredicates ( QilNode nodeset,
List< QilNode > predicates )
inline

Definition at line 239 of file XPathPatternBuilder.cs.

240 {
242 foreach (QilNode predicate in predicates)
243 {
245 }
247 QilIterator variable = qilLoop.Variable;
249 {
250 foreach (QilNode item in list)
251 {
252 qilLoop.Body = _f.And(qilLoop.Body, item);
253 }
255 }
256 else
257 {
264 foreach (QilNode item2 in list)
265 {
267 }
270 qilLoop.Body = _f.Not(_f.IsEmpty(set));
271 qilLoop.Body = _f.And(_f.IsType(variable, qilLoop.XmlType), qilLoop.Body);
272 }
273 SetPriority(nodeset, 0.5);
274 return nodeset;
275 }
QilIterator For(QilNode binding)
QilNode Filter(QilIterator variable, QilNode expr)
QilNode IsType(QilNode expr, XmlQueryType t)
QilNode Loop(QilIterator variable, QilNode body)
QilNode Is(QilNode left, QilNode right)
QilNode And(QilNode left, QilNode right)
static QilNode BuildOnePredicate(QilNode nodeset, QilNode predicate, bool isReverseStep, XPathQilFactory f, FixupVisitor fixupVisitor, ref int numFixupCurrent, ref int numFixupPosition, ref int numFixupLast)
static QilNode PredicateToBoolean(QilNode predicate, XPathQilFactory f, IXPathEnvironment env)
readonly XPathPredicateEnvironment _predicateEnvironment
static void SetPriority(QilNode node, double priority)

References System.Xml.Xsl.Xslt.XPathPatternBuilder._f, System.Xml.Xsl.Xslt.XPathPatternBuilder._predicateEnvironment, System.Xml.Xsl.Qil.QilPatternFactory.And(), System.Xml.Xsl.Qil.QilPatternFactory.BaseFactory, System.Xml.Xsl.XPath.XPathBuilder.BuildOnePredicate(), System.Xml.Xsl.Qil.QilPatternFactory.Content(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Dictionary, System.Xml.Xsl.Qil.QilPatternFactory.Filter(), System.Xml.Xsl.Xslt.XPathPatternBuilder.XPathPredicateEnvironment.fixupVisitor, System.Xml.Xsl.Qil.QilPatternFactory.For(), System.Xml.Xsl.Qil.QilPatternFactory.Is(), System.Xml.Xsl.Qil.QilPatternFactory.IsEmpty(), System.Xml.Xsl.Qil.QilPatternFactory.IsType(), System.item, System.list, System.Xml.Xsl.Qil.QilPatternFactory.Loop(), System.Xml.Xsl.Qil.QilPatternFactory.Not(), System.Xml.Xsl.Xslt.XPathPatternBuilder.XPathPredicateEnvironment.numFixupCurrent, System.Xml.Xsl.Xslt.XPathPatternBuilder.XPathPredicateEnvironment.numFixupLast, System.Xml.Xsl.Xslt.XPathPatternBuilder.XPathPredicateEnvironment.numFixupPosition, System.Xml.Xsl.Qil.QilPatternFactory.Parent(), System.Xml.Xsl.XPath.XPathBuilder.PredicateToBoolean(), and System.Xml.Xsl.Xslt.XPathPatternBuilder.SetPriority().