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

◆ CompileDataTypeAttribute()

void System.Xml.Xsl.Xslt.QilGenerator.CompileDataTypeAttribute ( string attValue,
bool fwdCompat,
ref QilNode select,
out QilNode select2 )
inlineprivate

Definition at line 1337 of file QilGenerator.cs.

1338 {
1340 if (qilNode != null)
1341 {
1342 if (qilNode.NodeType != QilNodeType.LiteralString)
1343 {
1346 qilNode = _f.Loop(qilIterator = _f.Let(qilNode), _f.Conditional(_f.Eq(qilIterator, _f.String("number")), _f.False(), _f.Conditional(_f.Eq(qilIterator, _f.String("text")), _f.True(), fwdCompat ? _f.True() : _f.Loop(qilIterator2 = _f.Let(ResolveQNameDynamic(ignoreDefaultNs: true, qilIterator)), _f.Error(_lastScope.SourceLine, System.SR.Xslt_BistateAttribute, "data-type", "text", "number")))));
1349 select2 = select.DeepClone(_f.BaseFactory);
1350 select = _f.Conditional(qilIterator3, _f.ConvertToString(select), _f.String(string.Empty));
1352 return;
1353 }
1354 string text = (QilLiteral)qilNode;
1355 if (text == "number")
1356 {
1357 select = _f.ConvertToNumber(select);
1358 select2 = null;
1359 return;
1360 }
1361 if (!(text == "text") && !fwdCompat)
1362 {
1363 string prefix;
1364 string localName;
1365 string text2 = (_compiler.ParseQName(text, out prefix, out localName, this) ? ResolvePrefix(ignoreDefaultNs: true, prefix) : _compiler.CreatePhantomNamespace());
1366 _ = text2.Length;
1367 ReportError(System.SR.Xslt_BistateAttribute, "data-type", "text", "number");
1368 }
1369 }
1370 select = _f.ConvertToString(select);
1371 select2 = null;
1372 }
static string Xslt_BistateAttribute
Definition SR.cs:1886
Definition SR.cs:7
QilNode Loop(QilIterator variable, QilNode body)
QilNode Conditional(QilNode condition, QilNode trueBranch, QilNode falseBranch)
QilIterator Let(QilNode binding)
QilNode Eq(QilNode left, QilNode right)
bool ParseQName(string qname, out string prefix, out string localName, IErrorHelper errorHelper)
Definition Compiler.cs:242
QilNode ResolveQNameDynamic(bool ignoreDefaultNs, QilNode qilName)
void ReportError(string res, params string[] args)
readonly XsltQilFactory _f
readonly VariableHelper _varHelper
QilNode CompileStringAvt(string avt)
string ResolvePrefix(bool ignoreDefaultNs, string prefix)

References System.Xml.Xsl.Xslt.QilGenerator._compiler, System.Xml.Xsl.Xslt.QilGenerator._f, System.Xml.Xsl.Xslt.QilGenerator._lastScope, System.Xml.Xsl.Xslt.QilGenerator._varHelper, System.Xml.Xsl.Xslt.QilGenerator.VariableHelper.AddVariable(), System.Xml.Xsl.Qil.QilPatternFactory.BaseFactory, System.Xml.Xsl.Xslt.QilGenerator.CompileStringAvt(), System.Xml.Xsl.Qil.QilPatternFactory.Conditional(), System.Xml.Xsl.XPath.XPathQilFactory.ConvertToNumber(), System.Xml.Xsl.XPath.XPathQilFactory.ConvertToString(), System.Xml.Xsl.Xslt.Compiler.CreatePhantomNamespace(), System.Xml.Dictionary, System.Xml.Xsl.Qil.QilPatternFactory.Double(), System.Xml.Xsl.Qil.QilPatternFactory.Eq(), System.Xml.Xsl.XPath.XPathQilFactory.Error(), System.Xml.Xsl.Qil.QilPatternFactory.False(), System.Xml.Xsl.Qil.QilPatternFactory.Let(), System.Xml.Xsl.Qil.QilPatternFactory.Loop(), System.Xml.Xsl.Xslt.Compiler.ParseQName(), System.prefix, System.Xml.Xsl.Xslt.QilGenerator.ReportError(), System.Xml.Xsl.Xslt.QilGenerator.ResolvePrefix(), System.Xml.Xsl.Xslt.QilGenerator.ResolveQNameDynamic(), System.Xml.Xsl.Xslt.XslNode.SourceLine, System.Xml.Xsl.Qil.QilPatternFactory.String(), System.text, System.Xml.Xsl.Qil.QilPatternFactory.True(), and System.SR.Xslt_BistateAttribute.

Referenced by System.Xml.Xsl.Xslt.QilGenerator.CompileSort().