1 write to _f
System.Private.Xml (1)
System\Xml\Xsl\Xslt\QilGenerator.cs (1)
100
_f
= new XsltQilFactory(new QilFactory(), debug);
534 references to _f
System.Private.Xml (534)
System\Xml\Xsl\Xslt\QilGenerator.cs (397)
105
_refReplacer = new ReferenceReplacer(
_f
.BaseFactory);
106
_invkGen = new InvokeGenerator(
_f
, debug);
107
_matcherBuilder = new MatcherBuilder(
_f
, _refReplacer, _invkGen);
108
_singlFocus = new SingletonFocus(
_f
);
110
_curLoop = new LoopFocus(
_f
);
111
_strConcat = new QilStrConcatenator(
_f
);
112
_varHelper = new VariableHelper(
_f
);
117
_nameCurrent =
_f
.QName("current", XmlReservedNs.NsXslDebug);
118
_namePosition =
_f
.QName("position", XmlReservedNs.NsXslDebug);
119
_nameLast =
_f
.QName("last", XmlReservedNs.NsXslDebug);
120
_nameNamespaces =
_f
.QName("namespaces", XmlReservedNs.NsXslDebug);
121
_nameInit =
_f
.QName("init", XmlReservedNs.NsXslDebug);
138
_functions =
_f
.FunctionList();
139
_extPars =
_f
.GlobalParameterList();
140
_gloVars =
_f
.GlobalVariableList();
141
_nsVars =
_f
.GlobalVariableList();
211
QilExpression qil =
_f
.QilExpression(root,
_f
.BaseFactory);
230
return
_f
.Loop(
_f
.Let(
_f
.InvokeOnCurrentNodeChanged(_curLoop.GetCurrent()!)),
_f
.Sequence());
248
QilNode init =
_f
.Int32(0);
256
init =
_f
.Add(init,
_f
.InvokeRegisterDecimalFormat(format));
261
init =
_f
.Add(init,
_f
.InvokeRegisterDecimalFormat(DecimalFormatDecl.Default));
269
init =
_f
.Add(init,
_f
.InvokeCheckScriptNamespace(scriptNs));
275
QilFunction initFunction =
_f
.Function(
_f
.FormalParameterList(), init, /*sideEffects:*/
_f
.True());
279
QilNode initBinding =
_f
.Invoke(initFunction,
_f
.ActualParameterList());
283
initBinding =
_f
.TypeAssert(initBinding, T.ItemS);
285
QilIterator initVar =
_f
.Let(initBinding);
299
return
_f
.DocumentCtor(result);
323
QilList nsDecls =
_f
.BaseFactory.Sequence();
326
nsDecls.Add(
_f
.NamespaceDecl(
_f
.String(rec.ncName!),
_f
.String(rec.nsUri!)));
466
QilIterator newVar =
_f
.Let(nsList);
467
newVar.DebugName =
_f
.QName($"ns{_nsVars.Count}", XmlReservedNs.NsXslDebug).ToString();
484
QilList args =
_f
.FormalParameterList();
552
QilList paramFormal =
_f
.FormalParameterList();
553
QilList paramActual =
_f
.ActualParameterList();
556
QilParameter formal =
_f
.Parameter(args[j].XmlType!);
568
QilFunction paramFunc =
_f
.Function(paramFormal,
569
_f
.Boolean((xslPar.DefValueFlags & XslFlags.SideEffects) != 0),
574
param.DefaultValue =
_f
.Invoke(paramFunc, paramActual);
601
tmpl.Function =
_f
.Function(args,
602
_f
.Boolean((tmpl.Flags & XslFlags.SideEffects) != 0),
639
QilParameter arg =
_f
.Parameter(xt);
684
return
_f
.BaseFactory.Sequence();
766
QilIterator var =
_f
.Let(result);
770
result =
_f
.Loop(var, CompileInstructions(instructions, i + 1));
790
return
_f
.Nop(
_f
.Sequence());
800
content.Add(
_f
.NamespaceDecl(
_f
.String(prefix),
_f
.String(nsUri)));
871
return
_f
.ElementCtor(qname, content);
895
qname =
_f
.QName(local, nsUri, prefix);
901
qname =
_f
.StrParseQName(qilName, qilNs);
914
return
_f
.ElementCtor(qname, content);
929
return
_f
.AttributeCtor(qname, CompileTextAvt(node.Select!));
961
qname =
_f
.QName(local, nsUri, prefix);
968
qname =
_f
.StrParseQName(qilName, qilNs);
980
return
_f
.AttributeCtor(qname, CompileInstructions(node.Content));
1018
return
_f
.Error(_lastScope!.SourceLine, SR.Xslt_SingleRightBraceInAvt, source);
1027
return i > start ?
_f
.String(source.Substring(start, i - start)) : null;
1032
return
_f
.String(_unescapedText.ToString());
1038
QilList result =
_f
.BaseFactory.Sequence();
1051
result.Add(
_f
.ConvertToString(exp));
1070
return
_f
.String(avt);
1072
return
_f
.StrConcat(CompileAvt(avt));
1080
return
_f
.TextCtor(
_f
.String(avt));
1088
result.Add(
_f
.TextCtor(node));
1094
return
_f
.TextCtor(avtParts);
1101
return
_f
.TextCtor(
_f
.String(node.Select!));
1103
return
_f
.RawTextCtor(
_f
.String(node.Select!));
1114
return
_f
.PICtor(qilName, CompileInstructions(node.Content));
1119
return
_f
.CommentCtor(CompileInstructions(node.Content));
1124
return
_f
.Error(
_f
.String(node.Select!));
1132
return
_f
.Sequence(
1135
SetLineInfo(
_f
.Nop(
_f
.Sequence()), after)
1148
QilIterator it =
_f
.For(CompileNodeSetExpression(node.Select!));
1173
QilIterator select =
_f
.Let(CompileNodeSetExpression(node.Select!));
1188
QilIterator let =
_f
.Let(val!);
1189
let.DebugName =
_f
.QName($"with-param {withParam.Name!.QualifiedName}", XmlReservedNs.NsXslDebug).ToString();
1198
QilIterator it =
_f
.For(select);
1238
QilIterator let =
_f
.Let(val);
1239
let.DebugName =
_f
.QName($"with-param {withParam.Name!.QualifiedName}", XmlReservedNs.NsXslDebug).ToString();
1259
result =
_f
.Sequence();
1271
return
_f
.Nop(result);
1294
return
_f
.Sequence();
1313
content.Add(
_f
.XPathNamespace(node));
1318
return
_f
.ElementCtor(
_f
.NameOf(node), result);
1335
return
_f
.XsltCopy(node, CompileInstructions(copy.Content));
1358
return
_f
.XsltCopyOf(selectExpr);
1363
return
_f
.Loop(it =
_f
.For(selectExpr),
_f
.XsltCopyOf(it));
1371
return
_f
.TextCtor(
_f
.ConvertToString(selectExpr));
1378
return
_f
.Loop(
1379
it =
_f
.For(selectExpr),
1380
_f
.Conditional(
_f
.IsType(it, T.Node),
1381
_f
.XsltCopyOf(
_f
.TypeAssert(it, T.Node)),
1382
_f
.TextCtor(
_f
.XsltConvert(it, T.StringX))
1390
return
_f
.TextCtor(
_f
.ConvertToString(CompileXPathExpression(/*select:*/valueOf.Select)));
1395
return
_f
.RawTextCtor(
_f
.ConvertToString(CompileXPathExpression(/*select:*/valueOf.Select)));
1400
return
_f
.Conditional(
1401
_f
.ConvertToBoolean(CompileXPathExpression(/*test:*/whenNode.Select)),
1438
return
_f
.Sequence();
1440
return IsDebug ?
_f
.Sequence(result) : result;
1446
QilNode content =
_f
.RtfCtor(CompileInstructions(node.Content),
_f
.String(baseUri));
1449
content =
_f
.InvokeOuterXml(content);
1454
return
_f
.Warning(content);
1459
return
_f
.Loop(i =
_f
.Let(content),
_f
.Sequence(
_f
.Warning(i),
_f
.Error(i)));
1494
varValue =
_f
.RtfCtor(CompileInstructions(content),
_f
.String(baseUri));
1499
varValue =
_f
.String(string.Empty);
1504
varValue =
_f
.TypeAssert(varValue, T.ItemS);
1525
QilList keyList =
_f
.BaseFactory.SortKeyList();
1570
result =
_f
.Loop(i =
_f
.Let(result),
1571
_f
.Conditional(
_f
.Eq(
_f
.InvokeLangToLcid(i, fwdCompat),
_f
.Int32(XsltLibrary.InvariantCultureLcid)),
1572
_f
.String(string.Empty),
1589
return
_f
.Double(XsltLibrary.InvariantCultureLcid);
1593
return
_f
.String(XsltLibrary.LangToNameInternal((string)(QilLiteral)lang, fwdCompat, (IErrorHelper)this));
1597
return
_f
.XsltConvert(
_f
.InvokeLangToLcid(lang, fwdCompat), T.DoubleX);
1613
select =
_f
.ConvertToNumber(select);
1648
result =
_f
.Loop(dt =
_f
.Let(result),
1649
_f
.Conditional(
_f
.Eq(dt,
_f
.String(DtNumber)),
_f
.False(),
1650
_f
.Conditional(
_f
.Eq(dt,
_f
.String(DtText)),
_f
.True(),
1651
fwdCompat ?
_f
.True() :
1652
_f
.Loop(
_f
.Let(ResolveQNameDynamic(/*ignoreDefaultNs:*/true, dt)),
1653
_f
.Error(_lastScope!.SourceLine,
1659
QilIterator text =
_f
.Let(result);
1663
select2 = select.DeepClone(
_f
.BaseFactory);
1664
select =
_f
.Conditional(text,
_f
.ConvertToString(select),
_f
.String(string.Empty));
1665
select2 =
_f
.Conditional(text,
_f
.Double(0),
_f
.ConvertToNumber(select2));
1671
select =
_f
.ConvertToString(select);
1699
result =
_f
.String("1");
1707
result =
_f
.String("0");
1713
result =
_f
.Loop(i =
_f
.Let(result),
1714
_f
.Conditional(
_f
.Eq(i,
_f
.String(value1)),
_f
.String("1"),
1715
fwdCompat ?
_f
.String("0") :
1716
_f
.Conditional(
_f
.Eq(i,
_f
.String(value0)),
_f
.String("0"),
1717
_f
.Error(_lastScope!.SourceLine,
1771
select =
_f
.ConvertToString(select);
1797
QilSortKey result =
_f
.SortKey(select, collation);
1803
result =
_f
.SortKey(select2, collation.DeepClone(
_f
.BaseFactory));
1826
list =
_f
.BaseFactory.Sequence();
1830
QilNode result =
_f
.False();
1835
result =
_f
.Or(
1863
return
_f
.InvokeIsSameNodeSort(testNode, current);
1869
case XmlNodeKindFlags.Document: return
_f
.IsType(testNode, T.Document);
1870
case XmlNodeKindFlags.Element: result =
_f
.IsType(testNode, T.Element); break;
1871
case XmlNodeKindFlags.Attribute: result =
_f
.IsType(testNode, T.Attribute); break;
1872
case XmlNodeKindFlags.Text: return
_f
.IsType(testNode, T.Text);
1873
case XmlNodeKindFlags.Comment: return
_f
.IsType(testNode, T.Comment);
1874
case XmlNodeKindFlags.PI: return
_f
.And(
_f
.IsType(testNode, T.PI),
_f
.Eq(
_f
.LocalNameOf(testNode),
_f
.LocalNameOf(current)));
1875
case XmlNodeKindFlags.Namespace: return
_f
.And(
_f
.IsType(testNode, T.Namespace),
_f
.Eq(
_f
.LocalNameOf(testNode),
_f
.LocalNameOf(current)));
1878
return
_f
.False();
1882
return
_f
.And(result,
_f
.And(
1883
_f
.Eq(
_f
.LocalNameOf(testNode),
_f
.LocalNameOf(current)),
1884
_f
.Eq(
_f
.NamespaceUriOf(testNode),
_f
.NamespaceUriOf(GetCurrentNode()))
1915
countPattern2 = countPattern?.DeepClone(
_f
.BaseFactory);
1916
countMatches =
_f
.Filter(i =
_f
.For(
_f
.AncestorOrSelf(GetCurrentNode())), MatchCountPattern(countPattern, i));
1919
A =
_f
.DocOrderDistinct(countMatches);
1923
A =
_f
.Filter(i =
_f
.For(countMatches),
_f
.Eq(
_f
.PositionOf(i),
_f
.Int32(1)));
1932
fromMatches =
_f
.Filter(i =
_f
.For(
_f
.AncestorOrSelf(GetCurrentNode())), MatchPattern(fromPattern, i));
1933
F =
_f
.Filter(i =
_f
.For(fromMatches),
_f
.Eq(
_f
.PositionOf(i),
_f
.Int32(1)));
1934
AF =
_f
.Loop(i =
_f
.For(F),
_f
.Filter(j =
_f
.For(A),
_f
.Before(i, j)));
1937
return
_f
.Loop(j =
_f
.For(AF),
1938
_f
.Add(
_f
.Int32(1),
_f
.Length(
_f
.Filter(i =
_f
.For(
_f
.PrecedingSibling(j)), MatchCountPattern(countPattern2, i))))
1970
range =
_f
.NodeRange(
_f
.Root(GetCurrentNode()), GetCurrentNode());
1971
AF =
_f
.Filter(i =
_f
.For(range), MatchCountPattern(countPattern, i));
1975
fromMatches =
_f
.Filter(i =
_f
.For(
_f
.Preceding(GetCurrentNode())), MatchPattern(fromPattern, i));
1976
F =
_f
.Filter(i =
_f
.For(fromMatches),
_f
.Eq(
_f
.PositionOf(i),
_f
.Int32(1)));
1977
AF =
_f
.Loop(i =
_f
.For(F),
1978
_f
.Filter(j =
_f
.For(
_f
.Filter(k =
_f
.For(
_f
.NodeRange(i, GetCurrentNode())), MatchCountPattern(countPattern, k))),
1979
_f
.Not(
_f
.Is(i, j))
1984
return
_f
.Loop(k =
_f
.Let(
_f
.Length(AF)),
1985
_f
.Conditional(
_f
.Eq(k,
_f
.Int32(0)),
_f
.Sequence(),
2014
return
_f
.String(Default);
2021
QilIterator i =
_f
.Let(result);
2022
return
_f
.Loop(i,
2023
_f
.Conditional(
2024
_f
.Or(
_f
.Eq(i,
_f
.String(Alphabetic)),
_f
.Eq(i,
_f
.String(Traditional))),
2026
fwdCompat ?
_f
.String(Default) :
2027
_f
.Error(_lastScope!.SourceLine, SR.Xslt_BistateAttribute, "letter-value", Alphabetic, Traditional)
2031
return
_f
.String(Default);
2041
result =
_f
.String(string.Empty);
2053
result =
_f
.String(string.Empty);
2058
QilIterator i =
_f
.Let(result);
2059
result =
_f
.Loop(i,
2060
_f
.Conditional(
_f
.Eq(
_f
.StrLength(i),
_f
.Int32(1)), i,
2061
fwdCompat ?
_f
.String(string.Empty) :
2062
_f
.Error(_lastScope!.SourceLine, SR.Xslt_CharAttribute, "grouping-separator")
2074
return
_f
.Double(0);
2085
return
_f
.Double(dblGroupingSize);
2088
return
_f
.Double(0);
2093
QilIterator i =
_f
.Let(
_f
.ConvertToNumber(result));
2094
return
_f
.Loop(i,
2095
_f
.Conditional(
_f
.And(
_f
.Lt(
_f
.Double(0), i),
_f
.Lt(i,
_f
.Double(int.MaxValue))),
2097
_f
.Double(0)
2111
value =
_f
.ConvertToNumber(CompileXPathExpression(num.Value));
2130
return
_f
.TextCtor(
_f
.InvokeNumberFormat(
2185
QilParameter context =
_f
.Parameter(T.NodeNotRtf);
2187
QilIterator values =
_f
.For(
_f
.OptimizeBarrier(CompileKeyMatch(key.Match)));
2189
QilIterator keys =
_f
.For(CompileKeyUse(key));
2190
keys =
_f
.For(
_f
.OptimizeBarrier(
_f
.Loop(keys,
_f
.ConvertToString(keys))));
2192
QilParameter value =
_f
.Parameter(T.StringX);
2194
QilFunction func =
_f
.Function(
_f
.FormalParameterList(context, value),
2195
_f
.Filter(values,
2196
_f
.Not(
_f
.IsEmpty(
_f
.Filter(keys,
_f
.Eq(keys, value))))
2198
_f
.False()
2232
it =
_f
.Let(
_f
.Unknown(xt));
2236
it =
_f
.Parameter(null, varPar.Name, xt);
2288
return
_f
.TypeAssert(
_f
.Sequence(), T.ItemS);
2293
return
_f
.TypeAssert(
_f
.Sequence(), T.NodeNotRtfS);
2322
result =
_f
.Error(
_f
.String(e.Message));
2327
result =
_f
.Nop(result);
2334
QilNode? result =
_f
.TryEnsureNodeSet(CompileXPathExpression(expr));
2343
result =
_f
.Error(
_f
.String(e.Message));
2367
result =
_f
.Error(
_f
.String(e.Message));
2372
result =
_f
.Nop(result);
2395
result =
_f
.Loop(
_f
.For(_ptrnBuilder.FixupNode),
2396
_f
.Error(
_f
.String(e.Message))
2421
result =
_f
.Error(
_f
.String(e.Message));
2450
result =
_f
.Error(
_f
.String(e.Message));
2465
result =
_f
.Error(
_f
.String(XslLoadException.CreateMessage(key.SourceLine, SR.Xslt_MissingAttribute, "use")));
2480
result =
_f
.Error(
_f
.String(e.Message));
2485
result =
_f
.Nop(result);
2493
QilList nsDecls =
_f
.BaseFactory.Sequence();
2496
nsDecls.Add(
_f
.NamespaceDecl(
_f
.String(string.Empty),
_f
.String(string.Empty)));
2509
nsDecls.Add(
_f
.NamespaceDecl(
_f
.String(recPrefix),
_f
.String(recNsUri!)));
2512
return
_f
.StrParseQName(qilName, nsDecls);
2526
return
_f
.Sequence();
2638
QilList invokeArgs =
_f
.ActualParameterList();
2663
QilList formalArgs =
_f
.FormalParameterList();
2674
QilParameter formalArg =
_f
.Parameter(i == 0 ? T.NodeNotRtf : withParam.Value!.XmlType!);
2683
applyFunction =
_f
.Function(formalArgs,
2684
_f
.Boolean((flags & XslFlags.SideEffects) != 0),
2700
QilIterator iChild =
_f
.For(
_f
.Content(current));
2701
QilNode filter =
_f
.Filter(iChild,
_f
.IsType(iChild, T.Content));
2705
_curLoop.SetFocus(
_f
.For(filter));
2718
body =
_f
.Sequence(InvokeOnCurrentNodeChanged(), body);
2725
QilTernary builtinTemplates =
_f
.BaseFactory.Conditional(
_f
.IsType(current, _elementOrDocumentType),
2727
_f
.Conditional(
_f
.IsType(current, _textOrAttributeType),
2728
_f
.TextCtor(
_f
.XPathNodeValue(current)),
2729
_f
.Sequence()
2737
return
_f
.Invoke(applyFunction, invokeArgs);
2818
QilIterator var =
_f
.Let(value);
2820
return
_f
.Loop(var, content);
2832
nsVar =
_f
.TypeAssert(nsVar, T.NamespaceS);
2852
return (QilName)name.ShallowClone(
_f
.BaseFactory);
System\Xml\Xsl\Xslt\QilGeneratorEnv.cs (137)
57
XPathQilFactory IXPathEnvironment.Factory { get { return
_f
; } }
91
var =
_f
.TypeAssert(var, XmlQueryTypeFactory.NodeSDod);
109
func.CastArguments(args, name,
_f
);
157
return
_f
.InvokeMsStringCompare(
158
/*x: */
_f
.ConvertToString(args[0]),
159
/*y: */
_f
.ConvertToString(args[1]),
160
/*lang: */2 < args.Count ?
_f
.ConvertToString(args[2]) :
_f
.String(string.Empty),
161
/*options:*/3 < args.Count ?
_f
.ConvertToString(args[3]) :
_f
.String(string.Empty)
167
return
_f
.InvokeMsUtc(/*datetime:*/
_f
.ConvertToString(args[0]));
172
return
_f
.InvokeMsFormatDateTime(
173
/*datetime:*/
_f
.ConvertToString(args[0]),
174
/*format: */1 < args.Count ?
_f
.ConvertToString(args[1]) :
_f
.String(string.Empty),
175
/*lang: */2 < args.Count ?
_f
.ConvertToString(args[2]) :
_f
.String(string.Empty),
176
/*isDate: */
_f
.Boolean(name == "format-date")
182
return
_f
.InvokeMsLocalName(
_f
.ConvertToString(args[0]));
187
return
_f
.InvokeMsNamespaceUri(
_f
.ConvertToString(args[0]), env.GetCurrent()!);
192
return
_f
.InvokeMsNumber(args[0]);
214
args[i] =
_f
.SafeDocOrderDistinct(args[i]);
222
return GenerateScriptCall(
_f
.QName(name, ns, prefix), scrFunc, args);
230
return
_f
.Error(_lastScope!.SourceLine, SR.Xslt_ScriptsProhibited);
235
return
_f
.XsltInvokeLateBound(
_f
.QName(name, ns, prefix), args);
248
case XmlTypeCode.Boolean: args[i] =
_f
.ConvertToBoolean(args[i]); break;
249
case XmlTypeCode.Double: args[i] =
_f
.ConvertToNumber(args[i]); break;
250
case XmlTypeCode.String: args[i] =
_f
.ConvertToString(args[i]); break;
251
case XmlTypeCode.Node: args[i] = xmlTypeFormalArg.IsSingleton ?
_f
.ConvertToNode(args[i]) :
_f
.ConvertToNodeSet(args[i]); break;
257
return
_f
.XsltInvokeEarlyBound(name, scrFunc.Method!, scrFunc.XmlReturnType!, args);
386
result = CompileSingleKey(name,
_f
.ConvertToString(keys), env);
390
result =
_f
.Loop(i =
_f
.For(keys), CompileSingleKey(name,
_f
.ConvertToString(i), env));
395
result = CompileSingleKey(name,
_f
.ConvertToString(keys), env);
399
result =
_f
.Loop(n =
_f
.Let(name),
_f
.Loop(k =
_f
.Let(keys),
400
_f
.Conditional(
_f
.Not(
_f
.IsType(k, T.AnyAtomicType)),
401
_f
.Loop(i =
_f
.For(
_f
.TypeAssert(k, T.NodeS)), CompileSingleKey(n,
_f
.ConvertToString(i), env)),
402
CompileSingleKey(n,
_f
.XsltConvert(k, T.StringX), env)
406
return
_f
.DocOrderDistinct(result);
420
QilName qname =
_f
.QName(local, nsUri, prefix);
431
QilIterator i =
_f
.Let(name);
433
result =
_f
.Invoke(_generalKey,
_f
.ActualParameterList(i, resolvedName, key, env.GetCurrent()!));
434
result =
_f
.Loop(i, result);
444
return
_f
.Invoke(defList[0].Function!,
_f
.ActualParameterList(env.GetCurrent()!, key));
447
QilIterator i =
_f
.Let(key);
448
QilNode result =
_f
.Sequence();
451
result.Add(
_f
.Invoke(keyDef.Function!,
_f
.ActualParameterList(env.GetCurrent()!, i)));
453
return
_f
.Loop(i, result);
459
QilList result =
_f
.BaseFactory.Sequence();
464
keyRef =
_f
.Invoke(keyDef.Function!,
_f
.ActualParameterList(context, key));
472
QilIterator name =
_f
.Parameter(T.StringX);
473
QilIterator resolvedName =
_f
.Parameter(T.QNameX);
474
QilIterator key =
_f
.Parameter(T.StringX);
475
QilIterator context =
_f
.Parameter(T.NodeNotRtf);
477
QilNode fdef =
_f
.Error(SR.Xslt_UndefinedKey, name);
480
fdef =
_f
.Conditional(
_f
.Eq(resolvedName, _compiler.Keys[idx][0].Name!.DeepClone(
_f
.BaseFactory)),
486
QilFunction result =
_f
.Function(
_f
.FormalParameterList(name, resolvedName, key, context), fdef,
_f
.False());
501
return
_f
.Error(_lastScope!.SourceLine, SR.Xslt_DocumentFuncProhibited);
505
result =
_f
.DocOrderDistinct(
_f
.Loop(i =
_f
.For(uris),
506
CompileSingleDocument(
_f
.ConvertToString(i), baseNode ?? i)
511
result = CompileSingleDocument(
_f
.ConvertToString(uris), baseNode);
515
u =
_f
.Let(uris);
516
j = (baseNode != null) ?
_f
.Let(baseNode) : null;
517
result =
_f
.Conditional(
_f
.Not(
_f
.IsType(u, T.AnyAtomicType)),
518
_f
.DocOrderDistinct(
_f
.Loop(i =
_f
.For(
_f
.TypeAssert(u, T.NodeS)),
519
CompileSingleDocument(
_f
.ConvertToString(i), j ?? i)
521
CompileSingleDocument(
_f
.XsltConvert(u, T.StringX), j)
523
result = (baseNode != null) ?
_f
.Loop(j!, result) : result;
524
result =
_f
.Loop(u, result);
536
baseUri =
_f
.String(_lastScope!.SourceLine!.Uri);
543
baseUri =
_f
.InvokeBaseUri(baseNode);
551
baseUri =
_f
.StrConcat(
_f
.Loop(i =
_f
.FirstNode(baseNode),
_f
.InvokeBaseUri(i)));
556
return
_f
.DataSource(uri, baseUri);
569
formatName =
_f
.String(string.Empty);
606
QilIterator fmtIdx =
_f
.Let(
_f
.InvokeRegisterDecimalFormatter(formatPicture, format));
607
fmtIdx.DebugName =
_f
.QName($"formatter{_formatterCnt++}", XmlReservedNs.NsXslDebug).ToString();
609
return
_f
.InvokeFormatNumberStatic(value, fmtIdx);
613
QilNode name =
_f
.QName(resolvedName.Name, resolvedName.Namespace);
614
return
_f
.InvokeFormatNumberDynamic(value, formatPicture, name, formatName);
619
QilIterator i =
_f
.Let(formatName);
621
return
_f
.Loop(i,
_f
.InvokeFormatNumberDynamic(value, formatPicture, name, i));
628
return
_f
.Error(_lastScope!.SourceLine, SR.Xslt_UnsupportedXsltFunction, "unparsed-entity-uri");
636
return
_f
.XsltGenerateId(n);
641
return
_f
.StrConcat(
_f
.Loop(i =
_f
.FirstNode(n),
_f
.XsltGenerateId(i)));
665
return
_f
.String(propValue.Value);
670
return
_f
.Double((double)propValue.ValueAsDouble);
673
name =
_f
.QName(qname.Name, qname.Namespace);
679
return
_f
.InvokeSystemProperty(name);
690
return
_f
.Boolean(IsElementAvailable(qname));
692
name =
_f
.QName(qname.Name, qname.Namespace);
698
return
_f
.InvokeElementAvailable(name);
712
return
_f
.Boolean(QilGenerator.IsFunctionAvailable(qname.Name, qname.Namespace));
716
name =
_f
.QName(qname.Name, qname.Namespace);
722
return
_f
.InvokeFunctionAvailable(name);
732
return
_f
.XsltConvert(n, T.NodeSDod);
745
case XmlTypeCode.Boolean: return
_f
.String("boolean");
746
case XmlTypeCode.Double: return
_f
.String("number");
747
case XmlTypeCode.String: return
_f
.String("string");
751
return
_f
.String("node-set");
756
return
_f
.InvokeEXslObjectType(n);