System.Xml.Xsl.Xslt.Stylesheet.SortTemplateMatches C# (CSharp) Method

SortTemplateMatches() public method

public SortTemplateMatches ( ) : void
return void
        public void SortTemplateMatches() {
            foreach (QilName mode in TemplateMatches.Keys) {
                TemplateMatches[mode].Sort(TemplateMatch.Comparer);
            }
        }
    }

Usage Example

Exemplo n.º 1
0
        // ------------- CompileAndSortMatchPatterns() -------------

        private void CompileAndSortMatches(Stylesheet sheet)
        {
            Debug.Assert(sheet.TemplateMatches.Count == 0);

            foreach (Template template in sheet.Templates)
            {
                if (template.Match != null)
                {
                    EnterScope(template);
                    QilNode result = CompileMatchPattern(template.Match);
                    if (result.NodeType == QilNodeType.Sequence)
                    {
                        QilList filters = (QilList)result;
                        for (int idx = 0; idx < filters.Count; idx++)
                        {
                            sheet.AddTemplateMatch(template, (QilLoop)filters[idx]);
                        }
                    }
                    else
                    {
                        sheet.AddTemplateMatch(template, (QilLoop)result);
                    }
                    ExitScope();
                }
            }

            sheet.SortTemplateMatches();

            foreach (Stylesheet import in sheet.Imports)
            {
                CompileAndSortMatches(import);
            }
        }