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

◆ CompileCopy()

QilNode System.Xml.Xsl.Xslt.QilGenerator.CompileCopy ( XslNode copy)
inlineprivate

Definition at line 1108 of file QilGenerator.cs.

1109 {
1110 QilNode currentNode = GetCurrentNode();
1111 if ((currentNode.XmlType.NodeKinds & (XmlNodeKindFlags.Attribute | XmlNodeKindFlags.Namespace)) != 0)
1112 {
1114 }
1115 if (currentNode.XmlType.NodeKinds == XmlNodeKindFlags.Element)
1116 {
1118 qilList.Add(_f.XPathNamespace(currentNode));
1121 QilNode content = CompileInstructions(copy.Content, qilList);
1123 return _f.ElementCtor(_f.NameOf(currentNode), content);
1124 }
1125 if (currentNode.XmlType.NodeKinds == XmlNodeKindFlags.Document)
1126 {
1127 return CompileInstructions(copy.Content);
1128 }
1129 if ((currentNode.XmlType.NodeKinds & (XmlNodeKindFlags.Document | XmlNodeKindFlags.Element)) == 0)
1130 {
1131 return currentNode;
1132 }
1133 return _f.XsltCopy(currentNode, CompileInstructions(copy.Content));
1134 }
void Add(TKey key, TValue value)
virtual XmlQueryType XmlType
Definition QilNode.cs:29
QilNode ElementCtor(QilNode name, QilNode content)
QilNode XsltCopy(QilNode expr, QilNode content)
readonly XsltQilFactory _f
readonly OutputScopeManager _outputScope
QilNode CompileInstructions(IList< XslNode > instructions)

References System.Xml.Xsl.Xslt.QilGenerator._f, System.Xml.Xsl.Xslt.QilGenerator._outputScope, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.Xsl.Xslt.QilGenerator.CompileInstructions(), System.Xml.Xsl.Qil.QilPatternFactory.ElementCtor(), System.Xml.Xsl.Xslt.QilGenerator.GetCurrentNode(), System.Xml.Xsl.Xslt.QilGenerator.InstructionList(), System.Xml.Xsl.Xslt.OutputScopeManager.InvalidateAllPrefixes(), System.Xml.Xsl.Qil.QilPatternFactory.NameOf(), System.Xml.Xsl.Xslt.OutputScopeManager.PopScope(), System.Xml.Xsl.Xslt.OutputScopeManager.PushScope(), System.Xml.Xsl.Qil.QilNode.XmlType, System.Xml.Xsl.Qil.QilPatternFactory.XPathNamespace(), and System.Xml.Xsl.Qil.QilPatternFactory.XsltCopy().

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