460 return _f.
And(left, right);
462 return _f.
Or(left, right);
679 return _f.
Root(currentNode);
820 case FuncId.SubstringBefore:
822 case FuncId.SubstringAfter:
855 if (
arg.XmlType.IsSingleton)
865 if (
arg.XmlType.IsSingleton)
887 if (
arg.XmlType.IsSingleton)
936 if (nsUri.Length != 0)
void Add(TKey key, TValue value)
static CultureInfo InvariantCulture
static string XPath_NodeSetArgumentExpected
static string XPath_AtMostMArgsExpected
static string XPath_AtLeastNArgsExpected
static string XPath_NOrMArgsExpected
static string XPath_NArgsExpected
static void Check(QilNode input)
QilUnary DocOrderDistinct(QilNode child)
virtual bool Contains(QilNode node)
virtual XmlQueryType XmlType
virtual void Add(QilNode node)
QilNode PrecedingSibling(QilNode expr)
QilNode IsEmpty(QilNode set)
QilNode Parent(QilNode context)
QilIterator For(QilNode binding)
QilNode Filter(QilIterator variable, QilNode expr)
QilNode IsType(QilNode expr, XmlQueryType t)
QilNode Union(QilNode left, QilNode right)
QilNode PrefixOf(QilNode expr)
QilNode XPathPreceding(QilNode expr)
QilNode Modulo(QilNode left, QilNode right)
QilNode Multiply(QilNode left, QilNode right)
QilNode Loop(QilIterator variable, QilNode body)
QilNode Ge(QilNode left, QilNode right)
QilNode Sum(QilNode collection)
QilNode Not(QilNode child)
QilNode Conditional(QilNode condition, QilNode trueBranch, QilNode falseBranch)
QilNode StrLength(QilNode str)
QilIterator Let(QilNode binding)
QilNode Unknown(XmlQueryType t)
QilNode Root(QilNode context)
QilLiteral String(string val)
QilNode XsltConvert(QilNode expr, XmlQueryType t)
QilNode Le(QilNode left, QilNode right)
QilNode Content(QilNode context)
QilNode NameOf(QilNode expr)
QilNode XPathNamespace(QilNode expr)
QilNode Divide(QilNode left, QilNode right)
QilNode LocalNameOf(QilNode expr)
QilNode XPathFollowing(QilNode expr)
QilNode And(QilNode left, QilNode right)
QilNode Or(QilNode left, QilNode right)
QilNode Ne(QilNode left, QilNode right)
QilNode StrConcat(QilNode values)
QilName QName(string local, string uri, string prefix)
QilNode NamespaceUriOf(QilNode expr)
QilLiteral Int32(int val)
QilNode DocOrderDistinct(QilNode collection)
QilNode Negate(QilNode child)
QilNode XPathNodeValue(QilNode expr)
QilNode Ancestor(QilNode expr)
QilNode Eq(QilNode left, QilNode right)
QilLiteral Double(double val)
QilNode Gt(QilNode left, QilNode right)
QilNode Subtract(QilNode left, QilNode right)
QilNode Lt(QilNode left, QilNode right)
QilNode Add(QilNode left, QilNode right)
QilNode Descendant(QilNode expr)
QilNode Length(QilNode child)
QilNode DescendantOrSelf(QilNode context)
QilNode AncestorOrSelf(QilNode expr)
QilNode TypeAssert(QilNode expr, XmlQueryType t)
QilNode FollowingSibling(QilNode expr)
virtual QilNode VisitAssumeReference(QilNode expr)
FixupVisitor(QilPatternFactory f, QilNode fixupCurrent, QilNode fixupPosition, QilNode fixupLast)
readonly QilNode _fixupPosition
readonly QilNode _fixupLast
IXPathEnvironment _environment
readonly QilNode _fixupCurrent
int CountUnfixedLast(QilNode inExpr)
override QilNode VisitUnknown(QilNode unknown)
QilNode Fixup(QilNode inExpr, IXPathEnvironment environment)
new readonly QilPatternFactory f
QilNode Fixup(QilNode inExpr, QilIterator current, QilNode last)
FunctionInfo(T id, int minArgs, int maxArgs, XmlTypeCode[] argTypes)
void CastArguments(IList< QilNode > args, string name, XPathQilFactory f)
static void CheckArity(int minArgs, int maxArgs, string name, int numArgs)
QilNode LogicalOperator(XPathOperator op, QilNode left, QilNode right)
virtual QilNode String(string value)
static readonly XPathOperatorGroup[] s_operatorGroup
QilNode LocalNameOfFirstNode(QilNode arg)
QilNode NameOfFirstNode(QilNode arg)
readonly FixupVisitor _fixupVisitor
readonly IXPathEnvironment _environment
QilNode CompareValues(XPathOperator op, QilNode left, QilNode right, XmlTypeCode compType)
QilNode CompareNodeSetAndNodeSet(XPathOperator op, QilNode left, QilNode right, XmlTypeCode compType)
XPathBuilder(IXPathEnvironment environment)
QilNode CompareNodeSetAndValue(XPathOperator op, QilNode nodeset, QilNode val, XmlTypeCode compType)
static readonly XmlNodeKindFlags[] s_XPathNodeType2QilXmlNodeKind
readonly XPathQilFactory _f
static readonly XmlNodeKindFlags[] s_XPathAxisMask
static readonly QilNodeType[] s_qilOperator
QilNode NegateOperator(XPathOperator op, QilNode left)
virtual QilNode Function(string prefix, string name, IList< QilNode > args)
QilNode ArithmeticOperator(XPathOperator op, QilNode left, QilNode right)
virtual QilNode JoinStep(QilNode left, QilNode right)
QilNode GetCurrentPosition()
virtual QilNode EndBuild(QilNode result)
QilNode NameOf(QilNode arg)
static readonly XmlTypeCode[] argString3
static readonly XmlTypeCode[] argFnSubstr
static Dictionary< string, FunctionInfo< FuncId > > FunctionTable
static readonly XmlTypeCode[] argBoolean
static bool IsFunctionAvailable(string localName, string nsUri)
static readonly XmlTypeCode[] argString
static readonly XmlTypeCode[] argAny
static readonly XmlTypeCode[] argString2
virtual QilNode Axis(XPathAxis xpathAxis, XPathNodeType nodeType, string prefix, string name)
static XmlNodeKindFlags AxisTypeMask(XmlNodeKindFlags inputTypeMask, XPathNodeType nodeType, XPathAxis xpathAxis)
static Dictionary< string, FunctionInfo< FuncId > > CreateFunctionTable()
virtual QilNode Operator(XPathOperator op, QilNode left, QilNode right)
static XPathOperator InvertOp(XPathOperator op)
QilNode UnionOperator(XPathOperator op, QilNode left, QilNode right)
virtual QilNode Variable(string prefix, string name)
QilNode NamespaceOfFirstNode(QilNode arg)
QilNode EqualityOperator(XPathOperator op, QilNode left, QilNode right)
virtual QilNode Number(double value)
static QilNode BuildOnePredicate(QilNode nodeset, QilNode predicate, bool isReverseStep, XPathQilFactory f, FixupVisitor fixupVisitor, ref int numFixupCurrent, ref int numFixupPosition, ref int numFixupLast)
static readonly XmlTypeCode[] argNodeSet
QilNode BuildAxis(XPathAxis xpathAxis, XPathNodeType nodeType, string nsUri, string name)
QilNode RelationalOperator(XPathOperator op, QilNode left, QilNode right)
QilNode BuildAxisFilter(QilNode qilAxis, XPathAxis xpathAxis, XPathNodeType nodeType, string name, string nsUri)
virtual void StartBuild()
static readonly XmlTypeCode[] argDouble
virtual QilNode Predicate(QilNode nodeset, QilNode predicate, bool isReverseStep)
QilNode GetLastPosition()
static QilNode PredicateToBoolean(QilNode predicate, XPathQilFactory f, IXPathEnvironment env)
QilNode InvokeStartsWith(QilNode str1, QilNode str2)
QilNode InvokeSubstring(QilNode str, QilNode start)
bool CannotBeNodeSet(QilNode n)
QilNode InvokeLang(QilNode lang, QilNode context)
QilNode InvokeNormalizeSpace(QilNode str)
bool IsAnyType(QilNode n)
QilNode InvokeCeiling(QilNode value)
QilNode InvokeSubstringBefore(QilNode str1, QilNode str2)
QilNode InvokeSubstringAfter(QilNode str1, QilNode str2)
QilNode EnsureNodeSet(QilNode n)
QilNode InvokeFloor(QilNode value)
QilNode InvokeRelationalOperator(QilNodeType op, QilNode left, QilNode right)
QilNode InvokeEqualityOperator(QilNodeType op, QilNode left, QilNode right)
QilNode Id(QilNode context, QilNode id)
QilNode InvokeContains(QilNode str1, QilNode str2)
QilNode InvokeTranslate(QilNode str1, QilNode str2, QilNode str3)
QilNode InvokeRound(QilNode value)
QilIterator FirstNode(QilNode n)
QilNode ConvertToBoolean(QilNode n)
QilNode ConvertToType(XmlTypeCode requiredType, QilNode n)
QilNode ConvertToString(QilNode n)
QilNode ConvertToNumber(QilNode n)
static readonly XmlQueryType DoubleX
static readonly XmlQueryType Double
static XmlQueryType PrimeProduct(XmlQueryType t, XmlQueryCardinality c)
static XmlQueryType NodeChoice(XmlNodeKindFlags kinds)
static readonly XmlQueryType NodeNotRtf
QilNode ResolveFunction(string prefix, string name, IList< QilNode > args, IFocus env)
QilNode ResolveVariable(string prefix, string name)
string ResolvePrefix(string prefix)