当前位置: 首页>>代码示例>>C#>>正文


C# Compiler.AddQuery方法代码示例

本文整理汇总了C#中System.Xml.Xsl.Compiler.AddQuery方法的典型用法代码示例。如果您正苦于以下问题:C# Compiler.AddQuery方法的具体用法?C# Compiler.AddQuery怎么用?C# Compiler.AddQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Xml.Xsl.Compiler的用法示例。


在下文中一共展示了Compiler.AddQuery方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Compile

        internal override void Compile(Compiler compiler) {
            Debug.Assert(!IsBuiltInAction);

            CompileAttributes(compiler);
            CompileContent(compiler);
            if (this.sort && this.selectKey == Compiler.InvalidQueryKey){
                this.select    = "child::node()";
                this.selectKey = compiler.AddQuery(this.select);
            }
        }
开发者ID:ArildF,项目名称:masters,代码行数:10,代码来源:applytemplatesaction.cs

示例2: CompileAttribute

        internal override bool CompileAttribute(Compiler compiler) {
            string name   = compiler.Input.LocalName;
            string value  = compiler.Input.Value;
            if (Keywords.Equals(name, compiler.Atoms.Select)) {
                this.select    = value;
                this.selectKey = compiler.AddQuery(this.select);
                Debug.WriteLine("Select expression == \"" + this.select + "\" + (#" + this.selectKey + ")");
            }
            else {
                return false;
            }

            return true;
        }
开发者ID:ArildF,项目名称:masters,代码行数:14,代码来源:copyofaction.cs

示例3: AddSpace

 internal void AddSpace(Compiler compiler, String query, double Priority, bool PreserveSpace) {
     WhitespaceElement elem;
     if (this.queryKeyTable != null) {
         if (this.queryKeyTable.Contains(query)) {
             elem = (WhitespaceElement) this.queryKeyTable[query];
             elem.ReplaceValue(PreserveSpace);
             return;
         }
     }
     else{
         this.queryKeyTable = new Hashtable();
         this.whitespaceList = new ArrayList();
     }
     int key = compiler.AddQuery(query);
     elem = new WhitespaceElement(key, Priority, PreserveSpace);
     this.queryKeyTable[query] = elem;
     this.whitespaceList.Add(elem);
 }
开发者ID:ArildF,项目名称:masters,代码行数:18,代码来源:stylesheet.cs

示例4: CompileAttribute

        internal override bool CompileAttribute(Compiler compiler) {
            string name   = compiler.Input.LocalName;
            string value  = compiler.Input.Value;

            if (Keywords.Equals(name, compiler.Atoms.Select)) {
                this.select    = value;
                //this.selectKey = compiler.AddStringQuery(this.select);
                this.selectKey = compiler.AddQuery(this.select);
                Debug.WriteLine("value-of select = \"" + this.select + "\"  (#" + this.selectKey + ")");
            }
            else if (Keywords.Equals(name, compiler.Atoms.DisableOutputEscaping)) {
                this.disableOutputEscaping = compiler.GetYesNo(value);
            }
            else {
                return false;
            }

            return true;
        }
开发者ID:ArildF,项目名称:masters,代码行数:19,代码来源:valueofaction.cs

示例5: CompileAttribute

        internal override bool CompileAttribute(Compiler compiler) {
            string name   = compiler.Input.LocalName;
            string value  = compiler.Input.Value;
            if (Keywords.Equals(name, compiler.Atoms.Select )) {
                this.select    = value;
                this.selectKey = compiler.AddQuery(this.select);
                Debug.WriteLine("apply-templates select: \"" + this.select + "\" (#" + this.selectKey.ToString() + ")");
            }
            else if (Keywords.Equals(name, compiler.Atoms.Mode )) {
                Debug.Assert(this.mode == null);
                if (compiler.AllowBuiltInMode && value.Trim() == "*") {
                    this.mode = Compiler.BuiltInMode;
                }
                else {
                    this.mode = compiler.CreateXPathQName(value);
                }
                Debug.WriteLine("mode attribute found: \"" + this.mode + "\"");
            }
            else {
                return false;
            }

            return true;
        }
开发者ID:ArildF,项目名称:masters,代码行数:24,代码来源:applytemplatesaction.cs

示例6: CompileAttribute

        internal override bool CompileAttribute(Compiler compiler) {
            string name   = compiler.Input.LocalName;
            string value  = compiler.Input.Value;

            if (Keywords.Equals(name, compiler.Atoms.Select)) {
                this.selectKey = compiler.AddQuery(value);
            }
            else if (Keywords.Equals(name, compiler.Atoms.Lang)) {
                this.langAvt = Avt.CompileAvt(compiler, value);
            }
            else if (Keywords.Equals(name, compiler.Atoms.DataType)) {
                this.dataTypeAvt = Avt.CompileAvt(compiler, value);
            }
            else if (Keywords.Equals(name, compiler.Atoms.Order)) {
                this.orderAvt = Avt.CompileAvt(compiler, value);
            }    
            else if (Keywords.Equals(name, compiler.Atoms.CaseOrder)) {
                this.caseOrderAvt = Avt.CompileAvt(compiler, value);
            }    
            else {
                return false;
            }
            return true;
        }
开发者ID:ArildF,项目名称:masters,代码行数:24,代码来源:sortaction.cs

示例7: Compile

        internal override void Compile(Compiler compiler) {
            CompileAttributes(compiler);
            CheckEmpty(compiler);
            if (selectKey == Compiler.InvalidQueryKey) {
                selectKey = compiler.AddQuery(Compiler.SelfQuery);
            }

            this.forwardCompatibility = compiler.ForwardCompatibility;
            this.manager = compiler.CloneScopeManager();

            this.lang      = ParseLang(     PrecalculateAvt(ref this.langAvt     ));
            this.dataType  = ParseDataType( PrecalculateAvt(ref this.dataTypeAvt ), manager);
            this.order     = ParseOrder(    PrecalculateAvt(ref this.orderAvt    ));
            this.caseOrder = ParseCaseOrder(PrecalculateAvt(ref this.caseOrderAvt));

            if(this.langAvt == null && this.dataTypeAvt == null && this.orderAvt == null && this.caseOrderAvt == null) {
                this.sort = new Sort(this.selectKey, this.lang, this.dataType, this.order, this.caseOrder);
            }
        }
开发者ID:ArildF,项目名称:masters,代码行数:19,代码来源:sortaction.cs

示例8: CompileAttribute

 internal override bool CompileAttribute(Compiler compiler) {
     string name   = compiler.Input.LocalName;
     string value  = compiler.Input.Value;
     if (Keywords.Equals(name, compiler.Atoms.Level)) {
         if (value != s_any && value != s_multiple && value != s_single) {
             throw XsltException.InvalidAttrValue(Keywords.s_Level, value); 
         }
         this.level = value;
     }
     else if (Keywords.Equals(name, compiler.Atoms.Count)) {
         this.countPattern = value;
         this.countKey = compiler.AddPatternQuery(value, /*allowVars:*/true, /*allowKey:*/true);
     }
     else if (Keywords.Equals(name, compiler.Atoms.From)) { 
         this.from = value;
         this.fromKey = compiler.AddPatternQuery(value, /*allowVars:*/true, /*allowKey:*/true);
     }
     else if (Keywords.Equals(name, compiler.Atoms.Value)) {
         this.value = value;
         this.valueKey = compiler.AddQuery(value);
     }
     else if (Keywords.Equals(name, compiler.Atoms.Format)) {
         this.formatAvt = Avt.CompileAvt(compiler, value);
         Debug.WriteLine("name = \"" + value + "\"");
     }
     else if (Keywords.Equals(name, compiler.Atoms.Lang)) {
         this.langAvt = Avt.CompileAvt(compiler, value);
         Debug.WriteLine("name = \"" + value + "\"");
     }
     else if (Keywords.Equals(name, compiler.Atoms.LetterValue)) {
         this.letterAvt = Avt.CompileAvt(compiler, value);
         Debug.WriteLine("name = \"" + value + "\"");
     }
     else if (Keywords.Equals(name, compiler.Atoms.GroupingSeparator)) {
         this.groupingSepAvt = Avt.CompileAvt(compiler, value);
         Debug.WriteLine("name = \"" + value + "\"");
     }
     else if (Keywords.Equals(name, compiler.Atoms.GroupingSize)) {
         this.groupingSizeAvt = Avt.CompileAvt(compiler, value);
         Debug.WriteLine("name = \"" + value + "\"");
     }
     else {
        return false;
     }
     return true;
 }
开发者ID:ArildF,项目名称:masters,代码行数:46,代码来源:numberaction.cs

示例9: CompileAttribute

        internal override bool CompileAttribute(Compiler compiler) {
            string name   = compiler.Input.LocalName;
            string value  = compiler.Input.Value;

            if (Keywords.Equals(name, compiler.Atoms.Name)) {
                Debug.Assert(this.name == null && this.nameStr == null);
                this.nameStr = value;
                this.name    = compiler.CreateXPathQName(this.nameStr);
                Debug.WriteLine("name attribute found: " + this.name);
            }
            else if (Keywords.Equals(name, compiler.Atoms.Select)) {
                Debug.Assert(this.select == null);
                this.select    = value;
                this.selectKey = compiler.AddQuery(this.select);
                Debug.WriteLine("select attribute = \"" + this.select + "\"  (#" + this.selectKey + ")");
            }
            else {
                return false;
            }

            return true;
        }
开发者ID:ArildF,项目名称:masters,代码行数:22,代码来源:variableaction.cs

示例10: FinishClone

        private void FinishClone(Compiler compiler, AstNode node) {
            string expression = XPathComposer.ComposeXPath(node);

            Debug.WriteLine("Split expression: \"" + expression + "\"");

            this.match    = expression;
            this.matchKey = compiler.AddQuery(this.match);
            this.priority = node.DefaultPriority;
        }
开发者ID:ArildF,项目名称:masters,代码行数:9,代码来源:templateaction.cs

示例11: CompileKey

        internal void CompileKey(Compiler compiler){
            NavigatorInput input    = compiler.Input;
            string         element  = input.LocalName;
            int            MatchKey = Compiler.InvalidQueryKey;
            int            UseKey   = Compiler.InvalidQueryKey;

            XmlQualifiedName Name = null;
            if (input.MoveToFirstAttribute()) {
                do {
                    Debug.TraceAttribute(input);

                    string nspace = input.NamespaceURI;
                    string name   = input.LocalName;
                    string value  = input.Value;

                    if (! Keywords.Equals(nspace, input.Atoms.Empty)) continue;

					if (Keywords.Equals(name, input.Atoms.Name)) {
                        Name = compiler.CreateXPathQName(value);
                    }
                    else if (Keywords.Equals(name, input.Atoms.Match)) {
                        MatchKey = compiler.AddPatternQuery(value, /*allowVars:*/false, /*allowKey*/false);
                    }
                    else if (Keywords.Equals(name, input.Atoms.Use)) {
                        UseKey = compiler.AddQuery(value, /*allowVars:*/false, /*allowKey*/false);
                    }
                    else {
                        if (! compiler.ForwardCompatibility) {
                             throw XsltException.InvalidAttribute(element, name);
                        }
                    }
                }
                while(input.MoveToNextAttribute());
                input.ToParent();
            }

            CheckRequiredAttribute(compiler, MatchKey != Compiler.InvalidQueryKey, Keywords.s_Match);
            CheckRequiredAttribute(compiler, UseKey   != Compiler.InvalidQueryKey, Keywords.s_Use  );
            CheckRequiredAttribute(compiler, Name     != null                    , Keywords.s_Name );

            compiler.InsertKey(Name, MatchKey, UseKey);
        }
开发者ID:ArildF,项目名称:masters,代码行数:42,代码来源:containeraction.cs


注:本文中的System.Xml.Xsl.Compiler.AddQuery方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。