Beispiel #1
0
        public override void Evaluate(XslTransformProcessor p)
        {
            if (p.Debugger != null)
            {
                p.Debugger.DebugExecute(p, this.DebugInput);
            }

            if (children == null)
            {
                return;
            }

            XPathNodeIterator iter = sortEvaluator != null?
                                     sortEvaluator.SortedSelect(p) :
                                         p.Select(select);


            while (p.NodesetMoveNext(iter))
            {
                p.PushNodeset(iter);
                p.PushForEachContext();
                children.Evaluate(p);
                p.PopForEachContext();
                p.PopNodeset();
            }
        }
Beispiel #2
0
        public override void Evaluate(XslTransformProcessor p)
        {
            if (p.Debugger != null)
            {
                p.Debugger.DebugExecute(p, this.DebugInput);
            }

            // This intelligent optimization causes poor compatibility bug shown in bug #457065
//			if (children == null)
//				return;

            XPathNodeIterator iter = sortEvaluator != null?
                                     sortEvaluator.SortedSelect(p) :
                                         p.Select(select);


            while (p.NodesetMoveNext(iter))
            {
                p.PushNodeset(iter);
                p.PushForEachContext();
                children.Evaluate(p);
                p.PopForEachContext();
                p.PopNodeset();
            }
        }
        public override void Evaluate(XslTransformProcessor p)
        {
            if (p.Debugger != null)
            {
                p.Debugger.DebugExecute(p, this.DebugInput);
            }

            if (select == null)
            {
                p.ApplyTemplates(p.CurrentNode.SelectChildren(XPathNodeType.All), mode, withParams);
            }
            else
            {
                XPathNodeIterator iter = sortEvaluator != null?
                                         sortEvaluator.SortedSelect(p) :
                                             p.Select(select);

                p.ApplyTemplates(iter, mode, withParams);
            }
        }