1 write to f
System.Data.SqlXml (1)
System\Xml\Xsl\XPath\XPathBuilder.cs (1)
57
this.
f
= this.environment.Factory;
176 references to f
System.Data.SqlXml (176)
System\Xml\Xsl\XPath\XPathBuilder.cs (176)
41
XPathQilFactory IXPathEnvironment.Factory { get { return
f
; } }
58
this.fixupCurrent =
f
.Unknown(T.NodeNotRtf);
59
this.fixupPosition =
f
.Unknown(T.DoubleX);
60
this.fixupLast =
f
.Unknown(T.DoubleX);
61
this.fixupVisitor = new FixupVisitor(
f
, fixupCurrent, fixupPosition, fixupLast);
77
result =
f
.DocOrderDistinct(result);
98
return
f
.String(value);
102
return
f
.Double(value);
122
left =
f
.ConvertToBoolean(left );
123
right =
f
.ConvertToBoolean(right);
125
op == XPathOperator.Or ?
f
.Or (left, right) :
126
/*default*/
f
.And(left, right)
133
left =
f
.ConvertToType(compType, left );
134
right =
f
.ConvertToType(compType, right);
137
case XPathOperator.Eq : return
f
.Eq(left, right);
138
case XPathOperator.Ne : return
f
.Ne(left, right);
139
case XPathOperator.Lt : return
f
.Lt(left, right);
140
case XPathOperator.Le : return
f
.Le(left, right);
141
case XPathOperator.Gt : return
f
.Gt(left, right);
142
case XPathOperator.Ge : return
f
.Ge(left, right);
150
f
.CheckNodeSet(nodeset);
156
QilIterator it =
f
.For(nodeset);
157
return
f
.Not(
f
.IsEmpty(
f
.Filter(it, CompareValues(op,
f
.XPathNodeValue(it), val, compType))));
173
f
.CheckNodeSet(left);
174
f
.CheckNodeSet(right);
182
QilIterator leftEnd =
f
.For(left );
183
QilIterator rightEnd =
f
.For(right);
184
return
f
.Not(
f
.IsEmpty(
f
.Loop(leftEnd,
f
.Filter(rightEnd, CompareValues(op,
f
.XPathNodeValue(leftEnd),
f
.XPathNodeValue(rightEnd), compType)))));
192
if (
f
.IsAnyType(left) ||
f
.IsAnyType(right)) {
193
return
f
.InvokeEqualityOperator(QilOperator[(int)op], left, right);
215
if (
f
.IsAnyType(left) ||
f
.IsAnyType(right)) {
216
return
f
.InvokeRelationalOperator(QilOperator[(int)op], left, right);
234
return
f
.Negate(
f
.ConvertToNumber(left));
238
left =
f
.ConvertToNumber(left );
239
right =
f
.ConvertToNumber(right);
241
case XPathOperator.Plus : return
f
.Add( left, right);
242
case XPathOperator.Minus : return
f
.Subtract(left, right);
243
case XPathOperator.Multiply : return
f
.Multiply(left, right);
244
case XPathOperator.Divide : return
f
.Divide( left, right);
245
case XPathOperator.Modulo : return
f
.Modulo( left, right);
255
return
f
.EnsureNodeSet(right);
257
left =
f
.EnsureNodeSet(left );
258
right =
f
.EnsureNodeSet(right);
264
return
f
.Union(left, right);
283
return
f
.Sequence();
286
qilAxis =
f
.Filter(itr =
f
.For(qilAxis),
f
.IsType(itr, T.NodeChoice(required)));
300
filter.Body =
f
.And(filter.Body,
301
name != null && nsUri != null ?
f
.Eq(
f
.NameOf(itr),
f
.QName(name, nsUri)) : // ns:bar || bar
302
nsUri != null ?
f
.Eq(
f
.NamespaceUriOf(itr),
f
.String(nsUri)) : // ns:*
303
name != null ?
f
.Eq(
f
.LocalNameOf(itr),
f
.String(name)) : // *:foo
304
/*name == nsUri == null*/
f
.True() // *
310
return
f
.Filter(itr =
f
.For(qilAxis),
311
name != null && nsUri != null ?
f
.Eq(
f
.NameOf(itr),
f
.QName(name, nsUri)) : // ns:bar || bar
312
nsUri != null ?
f
.Eq(
f
.NamespaceUriOf(itr),
f
.String(nsUri)) : // ns:*
313
name != null ?
f
.Eq(
f
.LocalNameOf(itr),
f
.String(name)) : // *:foo
314
/*name == nsUri == null*/
f
.True() // *
337
case XPathAxis.Ancestor : qilAxis =
f
.Ancestor (currentNode); break;
338
case XPathAxis.AncestorOrSelf : qilAxis =
f
.AncestorOrSelf (currentNode); break;
339
case XPathAxis.Attribute : qilAxis =
f
.Content (currentNode); break;
340
case XPathAxis.Child : qilAxis =
f
.Content (currentNode); break;
341
case XPathAxis.Descendant : qilAxis =
f
.Descendant (currentNode); break;
342
case XPathAxis.DescendantOrSelf : qilAxis =
f
.DescendantOrSelf (currentNode); break;
343
case XPathAxis.Following : qilAxis =
f
.XPathFollowing (currentNode); break;
344
case XPathAxis.FollowingSibling : qilAxis =
f
.FollowingSibling (currentNode); break;
345
case XPathAxis.Namespace : qilAxis =
f
.XPathNamespace (currentNode); break;
346
case XPathAxis.Parent : qilAxis =
f
.Parent (currentNode); break;
347
case XPathAxis.Preceding : qilAxis =
f
.XPathPreceding (currentNode); break;
348
case XPathAxis.PrecedingSibling : qilAxis =
f
.PrecedingSibling (currentNode); break;
351
case XPathAxis.Root : return
f
.Root (currentNode);
363
result =
f
.BaseFactory.DocOrderDistinct(result);
378
f
.CheckNodeSet(right);
379
QilIterator leftIt =
f
.For(
f
.EnsureNodeSet(left));
385
return
f
.DocOrderDistinct(
f
.Loop(leftIt, right));
401
predicate = PredicateToBoolean(predicate,
f
, this);
403
return BuildOnePredicate(nodeset, predicate, isReverseStep,
f
, fixupVisitor, ref numFixupCurrent, ref numFixupPosition, ref numFixupLast);
486
func.CastArguments(args, name,
f
);
489
case FuncId.Not : return
f
.Not(args[0]);
492
case FuncId.Count : return
f
.XsltConvert(
f
.Length(
f
.DocOrderDistinct(args[0])), T.DoubleX);
493
case FuncId.LocalName : return args.Count == 0 ?
f
.LocalNameOf(GetCurrentNode()) : LocalNameOfFirstNode(args[0]);
494
case FuncId.NamespaceUri : return args.Count == 0 ?
f
.NamespaceUriOf(GetCurrentNode()) : NamespaceOfFirstNode(args[0]);
496
case FuncId.String : return args.Count == 0 ?
f
.XPathNodeValue(GetCurrentNode()) :
f
.ConvertToString(args[0]);
497
case FuncId.Number : return args.Count == 0 ?
f
.XsltConvert(
f
.XPathNodeValue(GetCurrentNode()), T.DoubleX) :
f
.ConvertToNumber(args[0]);
498
case FuncId.Boolean : return
f
.ConvertToBoolean(args[0]);
499
case FuncId.True : return
f
.True();
500
case FuncId.False : return
f
.False();
501
case FuncId.Id : return
f
.DocOrderDistinct(
f
.Id(GetCurrentNode(), args[0]));
502
case FuncId.Concat : return
f
.StrConcat(args);
503
case FuncId.StartsWith : return
f
.InvokeStartsWith(args[0], args[1]);
504
case FuncId.Contains : return
f
.InvokeContains(args[0], args[1]);
505
case FuncId.SubstringBefore : return
f
.InvokeSubstringBefore(args[0], args[1]);
506
case FuncId.SubstringAfter : return
f
.InvokeSubstringAfter(args[0], args[1]);
508
return args.Count == 2 ?
f
.InvokeSubstring(args[0], args[1]) :
f
.InvokeSubstring(args[0], args[1], args[2]);
510
return
f
.XsltConvert(
f
.StrLength(args.Count == 0 ?
f
.XPathNodeValue(GetCurrentNode()) : args[0]), T.DoubleX);
512
return
f
.InvokeNormalizeSpace(args.Count == 0 ?
f
.XPathNodeValue(GetCurrentNode()) : args[0]);
513
case FuncId.Translate : return
f
.InvokeTranslate(args[0], args[1], args[2]);
514
case FuncId.Lang : return
f
.InvokeLang(args[0], GetCurrentNode());
515
case FuncId.Sum : return Sum(
f
.DocOrderDistinct(args[0]));
516
case FuncId.Floor : return
f
.InvokeFloor(args[0]);
517
case FuncId.Ceiling : return
f
.InvokeCeiling(args[0]);
518
case FuncId.Round : return
f
.InvokeRound(args[0]);
530
f
.CheckNodeSet(arg);
532
return
f
.LocalNameOf(arg);
535
return
f
.StrConcat(
f
.Loop(i =
f
.FirstNode(arg),
f
.LocalNameOf(i)));
540
f
.CheckNodeSet(arg);
542
return
f
.NamespaceUriOf(arg);
545
return
f
.StrConcat(
f
.Loop(i =
f
.FirstNode(arg),
f
.NamespaceUriOf(i)));
550
f
.CheckNodeNotRtf(arg);
555
return
f
.Loop(p =
f
.Let(
f
.PrefixOf(arg)),
f
.Loop(ln =
f
.Let(
f
.LocalNameOf(arg)),
556
f
.Conditional(
f
.Eq(
f
.StrLength(p),
f
.Int32(0)), ln,
f
.StrConcat(p,
f
.String(":"), ln)
559
QilIterator let =
f
.Let(arg);
560
return
f
.Loop(let, /*recursion:*/NameOf(let));
565
f
.CheckNodeSet(arg);
570
return
f
.StrConcat(
f
.Loop(i =
f
.FirstNode(arg), NameOf(i)));
575
f
.CheckNodeSet(arg);
577
return
f
.Sum(
f
.Sequence(
f
.Double(0d),
f
.Loop(i =
f
.For(arg),
f
.ConvertToNumber(i))));