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