System.Xml.Xsl.XsltOld.ContainerAction.CompileOnceTemplate C# (CSharp) Method

CompileOnceTemplate() protected method

protected CompileOnceTemplate ( Compiler compiler ) : void
compiler Compiler
return void
        protected void CompileOnceTemplate(Compiler compiler) {
            NavigatorInput input = compiler.Input;

            if (input.NodeType == XPathNodeType.Element) {
                string nspace = input.NamespaceURI;

                if (Keywords.Equals(nspace, input.Atoms.XsltNamespace)) {
                    compiler.PushNamespaceScope();
                    CompileInstruction(compiler);
                    compiler.PopScope();
                }
                else {
                    compiler.PushLiteralScope();
                    compiler.InsertExtensionNamespace();
                    if (compiler.IsExtensionNamespace(nspace)) {
                        AddAction(compiler.CreateNewInstructionAction());
                    }
                    else {
                        CompileLiteral(compiler);
                    }
                    compiler.PopScope();
                }
            }
            else {
                CompileLiteral(compiler);
            }
        }