public void CallTemplate(XmlQualifiedName name, ArrayList withParams)
		{
			Hashtable @params = this.GetParams(withParams);
			XslTemplate xslTemplate = this.FindTemplate(name);
			this.currentTemplateStack.Push(null);
			xslTemplate.Evaluate(this, @params);
			this.currentTemplateStack.Pop();
			if (@params != null)
			{
				this.paramPassingCache.Push(@params);
			}
		}
예제 #2
0
        public void CallTemplate(QName name, ArrayList withParams)
        {
            Hashtable passedParams = GetParams(withParams);

            XslTemplate t = FindTemplate(name);

            currentTemplateStack.Push(null);
            t.Evaluate(this, passedParams);
            currentTemplateStack.Pop();

            if (passedParams != null)
            {
                paramPassingCache.Push(passedParams);
            }
        }
		public void ApplyTemplates(XPathNodeIterator nodes, XmlQualifiedName mode, ArrayList withParams)
		{
			Hashtable @params = this.GetParams(withParams);
			while (this.NodesetMoveNext(nodes))
			{
				this.PushNodeset(nodes);
				XslTemplate xslTemplate = this.FindTemplate(this.CurrentNode, mode);
				this.currentTemplateStack.Push(xslTemplate);
				xslTemplate.Evaluate(this, @params);
				this.currentTemplateStack.Pop();
				this.PopNodeset();
			}
			if (@params != null)
			{
				this.paramPassingCache.Push(@params);
			}
		}
예제 #4
0
        public void ApplyTemplates(XPathNodeIterator nodes, QName mode, ArrayList withParams)
        {
            Hashtable passedParams = GetParams(withParams);

            while (NodesetMoveNext(nodes))
            {
                PushNodeset(nodes);
                XslTemplate t = FindTemplate(CurrentNode, mode);
                currentTemplateStack.Push(t);
                t.Evaluate(this, passedParams);
                currentTemplateStack.Pop();
                PopNodeset();
            }

            if (passedParams != null)
            {
                paramPassingCache.Push(passedParams);
            }
        }