System.Xml.Xsl.XslCompiledTransform.Load C# (CSharp) Method

Load() public method

public Load ( MethodInfo executeMethod, byte queryData, Type earlyBoundTypes ) : void
executeMethod MethodInfo
queryData byte
earlyBoundTypes System.Type
return void
        public void Load(MethodInfo executeMethod, byte[] queryData, Type[] earlyBoundTypes)
        {
            Reset();

            if (executeMethod == null)
                throw new ArgumentNullException(nameof(executeMethod));

            if (queryData == null)
                throw new ArgumentNullException(nameof(queryData));


            DynamicMethod dm = executeMethod as DynamicMethod;
            Delegate delExec = (dm != null) ? dm.CreateDelegate(typeof(ExecuteDelegate)) : executeMethod.CreateDelegate(typeof(ExecuteDelegate));
            _command = new XmlILCommand((ExecuteDelegate)delExec, new XmlQueryStaticData(queryData, earlyBoundTypes));
            _outputSettings = _command.StaticData.DefaultWriterSettings;
        }

Same methods

XslCompiledTransform::Load ( IXPathNavigable stylesheet ) : void
XslCompiledTransform::Load ( IXPathNavigable stylesheet, XsltSettings settings, XmlResolver stylesheetResolver ) : void
XslCompiledTransform::Load ( Type compiledStylesheet ) : void
XslCompiledTransform::Load ( XmlReader stylesheet ) : void
XslCompiledTransform::Load ( XmlReader stylesheet, XsltSettings settings, XmlResolver stylesheetResolver ) : void
XslCompiledTransform::Load ( string stylesheetUri ) : void
XslCompiledTransform::Load ( string stylesheetUri, XsltSettings settings, XmlResolver stylesheetResolver ) : void

Usage Example

Exemplo n.º 1
0
		/// <summary>
		/// Converts source XML with given transform with applying DSL
		/// </summary>
		/// <param name="xml"> </param>
		/// <returns>XElement with data, converted by transform</returns>
		/// <exception cref="XmlDslLoaderException">
		/// <list type="bullet">
		/// <item><description>cannot find transform file</description></item>
		/// <item><description>any problem with underlined XmlDslDefinition</description></item>
		/// </list>
		/// </exception>
		public XElement Load(XElement xml) {
			if (null == xml.Element("transform")) return xml; //no dsl needed
			var trdef = new XmlDslDefinition().Extract(xml);
			var langfile = Resolver.Resolve(Rootdir+"/" + trdef.LangName + ".xslt", false);
			if (!File.Exists(langfile))
			{
				throw new XmlDslLoaderException("Не возможно найти файл XML языка" + langfile);
			}
			var xsl = new XslCompiledTransform();
			if(trdef.NeedPrepareXslt) {
				var xsltcontent = XElement.Load(langfile);
				xsltcontent = trdef.PrepareXslt(xsltcontent);
				var resolver = new XmlDslRootBasedXmlUrlResolver(langfile);
				xsl.Load(xsltcontent.CreateReader(),XsltSettings.TrustedXslt,resolver);
			}else {
				xsl.Load(langfile, XsltSettings.TrustedXslt, new XmlUrlResolver());
			}
			var args = trdef.CreateArguments();
			var sw = new StringWriter();
			using (var xw = XmlWriter.Create(sw)) {
				xsl.Transform(xml.CreateReader(),args,xw);
				xw.Flush();
			}
			return XElement.Parse(sw.ToString());
		}
All Usage Examples Of System.Xml.Xsl.XslCompiledTransform::Load