Example #1
0
        public Outputter PopOutput()
        {
            Outputter ret = (Outputter)this.outputStack.Pop();

            ret.Done();
            return(ret);
        }
		public bool PushElementState(string prefix, string name, string ns, bool preserveWhitespace)
		{
			bool flag = this.IsCData(name, ns);
			this.XPathContext.PushScope();
			Outputter @out = this.Out;
			bool flag2 = flag;
			this.XPathContext.IsCData = flag2;
			@out.InsideCDataSection = flag2;
			this.XPathContext.WhitespaceHandling = true;
			this.XPathContext.ElementPrefix = prefix;
			this.XPathContext.ElementNamespace = ns;
			return flag;
		}
Example #3
0
        public void Process(XPathNavigator root, Outputter outputtter, XsltArgumentList args, XmlResolver resolver)
        {
            this.args     = args;
            this.root     = root;
            this.resolver = resolver != null ? resolver : new XmlUrlResolver();
            this.outputStylesheetXmlns = true;
            this.currentOutputUri      = String.Empty;

            XPathExpression exp = root.Compile(".");

            PushNodeset(root.Select(exp, this.XPathContext));

            // have to evaluate the params first, as Global vars may
            // be dependant on them
            if (args != null)
            {
                foreach (XslGlobalVariable v in CompiledStyle.Variables.Values)
                {
                    if (v is XslGlobalParam)
                    {
                        object p = args.GetParam(v.Name.Name, v.Name.Namespace);
                        if (p != null)
                        {
                            ((XslGlobalParam)v).Override(this, p);
                        }

                        v.Evaluate(this);
                    }
                }
            }

            foreach (XslGlobalVariable v in CompiledStyle.Variables.Values)
            {
                if (args == null || !(v is XslGlobalParam))
                {
                    v.Evaluate(this);
                }
            }

            PopNodeset();

            this.PushOutput(outputtter);
            this.ApplyTemplates(root.Select(exp, this.XPathContext), QName.Empty, null);
            this.PopOutput();
        }
Example #4
0
		public void Process (XPathNavigator root, Outputter outputtter, XsltArgumentList args, XmlResolver resolver)
		{
			this.args = args;
			this.root = root;
			this.resolver = resolver != null ? resolver : new XmlUrlResolver ();
//			this.outputStylesheetXmlns = true;
			this.currentOutputUri = String.Empty;

			PushNodeset (new SelfIterator (root, this.XPathContext));
CurrentNodeset.MoveNext ();
			
			// have to evaluate the params first, as Global vars may
			// be dependant on them
			if (args != null)
			{
				foreach (XslGlobalVariable v in CompiledStyle.Variables.Values)
				{
					if (v is XslGlobalParam)
					{
						object p = args.GetParam(v.Name.Name, v.Name.Namespace);
						if (p != null)
							((XslGlobalParam)v).Override (this, p);

						v.Evaluate (this);
					}
				}
			}

			foreach (XslGlobalVariable v in CompiledStyle.Variables.Values)	{
				if (args == null || !(v is XslGlobalParam)) {
					v.Evaluate (this);
				}
			}
			
			PopNodeset ();
			
			this.PushOutput (outputtter);
			this.ApplyTemplates (new SelfIterator (root, this.XPathContext), QName.Empty, null);
			this.PopOutput ();
		}
		public void Process(XPathNavigator root, Outputter outputtter, XsltArgumentList args, XmlResolver resolver)
		{
			this.args = args;
			this.root = root;
			this.resolver = ((resolver == null) ? new XmlUrlResolver() : resolver);
			this.currentOutputUri = string.Empty;
			this.PushNodeset(new SelfIterator(root, this.XPathContext));
			this.CurrentNodeset.MoveNext();
			if (args != null)
			{
				foreach (object obj in this.CompiledStyle.Variables.Values)
				{
					XslGlobalVariable xslGlobalVariable = (XslGlobalVariable)obj;
					if (xslGlobalVariable is XslGlobalParam)
					{
						object param = args.GetParam(xslGlobalVariable.Name.Name, xslGlobalVariable.Name.Namespace);
						if (param != null)
						{
							((XslGlobalParam)xslGlobalVariable).Override(this, param);
						}
						xslGlobalVariable.Evaluate(this);
					}
				}
			}
			foreach (object obj2 in this.CompiledStyle.Variables.Values)
			{
				XslGlobalVariable xslGlobalVariable2 = (XslGlobalVariable)obj2;
				if (args == null || !(xslGlobalVariable2 is XslGlobalParam))
				{
					xslGlobalVariable2.Evaluate(this);
				}
			}
			this.PopNodeset();
			this.PushOutput(outputtter);
			this.ApplyTemplates(new SelfIterator(root, this.XPathContext), XmlQualifiedName.Empty, null);
			this.PopOutput();
		}
Example #6
0
 public void PushOutput(Outputter newOutput)
 {
     this.outputStack.Push(newOutput);
 }
Example #7
0
		public void PushOutput (Outputter newOutput)
		{
			this.outputStack.Push (newOutput);
		}
		public Outputter PopOutput()
		{
			Outputter outputter = (Outputter)this.outputStack.Pop();
			outputter.Done();
			return outputter;
		}