本文整理汇总了C#中System.Xml.Xsl.XsltSettings类的典型用法代码示例。如果您正苦于以下问题:C# XsltSettings类的具体用法?C# XsltSettings怎么用?C# XsltSettings使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XsltSettings类属于System.Xml.Xsl命名空间,在下文中一共展示了XsltSettings类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public void Execute()
{
var xmlresolver = new BSharpXmlResolver(Project);
var xslt = new XslCompiledTransform();
var xsltsettings = new XsltSettings(true,true);
xslt.Load(_resolver.GetPath(TemplateUri),xsltsettings,xmlresolver);
var classes = _resolver.GetClasses(ClassSelector);
if (Batch)
{
var xml = new XElement("batch",classes.Select(_=>_.Compiled));
var args = BuildArgs( classes, null);
var path = _resolver.GetPath(OutputPath);
Execute(xslt,xml,args,path);
}
else
{
foreach (var cls in classes)
{
var xml = cls.Compiled;
var args = BuildArgs(classes, cls);
var path =
_resolver.GetPath(OutputPath)
.Replace("_ns_", cls.Namespace)
.Replace("_name_", cls.Name)
.Replace("_proto_", cls.Prototype);
Execute(xslt,xml,args,path);
}
}
}
示例2: CompileToType
public static CompilerErrorCollection CompileToType(XmlReader stylesheet, XsltSettings settings, XmlResolver stylesheetResolver, bool debug, TypeBuilder typeBuilder, string scriptAssemblyPath)
{
QilExpression expression;
if (stylesheet == null)
{
throw new ArgumentNullException("stylesheet");
}
if (typeBuilder == null)
{
throw new ArgumentNullException("typeBuilder");
}
if (settings == null)
{
settings = XsltSettings.Default;
}
if (settings.EnableScript && (scriptAssemblyPath == null))
{
throw new ArgumentNullException("scriptAssemblyPath");
}
if (scriptAssemblyPath != null)
{
scriptAssemblyPath = Path.GetFullPath(scriptAssemblyPath);
}
CompilerErrorCollection errors = new Compiler(settings, debug, scriptAssemblyPath).Compile(stylesheet, stylesheetResolver, out expression).Errors;
if (!errors.HasErrors)
{
if (GeneratedCodeCtor == null)
{
GeneratedCodeCtor = typeof(GeneratedCodeAttribute).GetConstructor(new Type[] { typeof(string), typeof(string) });
}
typeBuilder.SetCustomAttribute(new CustomAttributeBuilder(GeneratedCodeCtor, new object[] { typeof(XslCompiledTransform).FullName, "4.0.0.0" }));
new XmlILGenerator().Generate(expression, typeBuilder);
}
return errors;
}
示例3: Transformation
/// <summary>
/// Constructs a <b>Transformation</b> instance using the XSL source
/// in the specified file.
/// </summary>
/// <param name="filename">The XSL filename.</param>
public Transformation(string filename)
{
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transformer.Load (Application.PathTo (filename), settings, null);
}
示例4: Svg2Xaml
public static string Svg2Xaml(string svgFileName)
{
try
{
if (File.Exists(svgFileName) == false || File.Exists(Svg2XamlXslFile) == false)
return null;
var xslt = new XslCompiledTransform();
var settings = new XsltSettings(true, true);
xslt.Load(Svg2XamlXslFile, settings, new XmlUrlResolver());
var xamlOfSvg = new StringBuilder();
var xmlReaderSettings = new XmlReaderSettings();
xmlReaderSettings.ConformanceLevel = ConformanceLevel.Document;
xmlReaderSettings.DtdProcessing = DtdProcessing.Ignore;
using (var xmlReader = XmlReader.Create(svgFileName, xmlReaderSettings))
using (var xmlWriter = XmlWriter.Create(xamlOfSvg))
{
xslt.Transform(xmlReader, xmlWriter);
return xamlOfSvg.ToString();
}
}
catch (Exception e)
{
Logger.Error(e, "ImageConverters.Svg2Xaml");
return null;
}
}
示例5: LoadXslt
/// <summary>
/// Loads the XSLT file using specified path, settings and stylesheet resolver.
/// </summary>
/// <param name="path">The URL to the XSLT file.</param>
/// <param name="settings">XSLT settings.</param>
/// <param name="stylesheetResolver">The stylesheet resolver.</param>
/// <returns><see cref="XslCompiledTransform" /> object that can transform the input.</returns>
public virtual XslCompiledTransform LoadXslt(string path, XsltSettings settings, XmlResolver stylesheetResolver)
{
var xslt = new XslCompiledTransform();
xslt.Load(path, settings, stylesheetResolver);
return xslt;
}
示例6: CreateCodeBaseXML
public void CreateCodeBaseXML()
{
try
{
package = Package.Open(fileCodeBase);
XmlDocument sharedString = GetPartFile(OfficeFilePart.ShareString, 0);
sharedString.Save(Common.SHARED_STRING);
XmlDocument sheet = GetPartFile(OfficeFilePart.Sheet, 1);
XsltArgumentList xsltArgListSheet = new XsltArgumentList();
XsltSettings settings = new XsltSettings(true, true);
XslCompiledTransform xslTransSheet = new XslCompiledTransform();
xslTransSheet.Load(Common.XSLT_CODE_BASE, settings, new XmlUrlResolver());
xsltArgListSheet.AddParam("prmDocSharedStrings", "", sharedString.CreateNavigator());
string sOutXmlSheet = System.String.Empty;
using (FileStream fs = new FileStream(Common.XML_CODE_BASE, FileMode.Create))
{
xslTransSheet.Transform(sheet.CreateNavigator(), xsltArgListSheet, fs);
}
XslCompiledTransform xslRowSheet = new XslCompiledTransform();
xslRowSheet.Load(Common.XSLT_TO_ROW);
xslRowSheet.Transform(Common.XML_CODE_BASE, Common.XML_ROW);
}
finally
{
package.Close();
}
}
示例7: Transform
public void Transform()
{
var xsltTemplateReader = new XmlTextReader(_xsltPath);
var emptyDocumentReader = XmlReader.Create(new System.IO.StringReader("<empty />"));
var settings = new XmlWriterSettings();
//settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.Indent = true;
using (var outputWriter = XmlWriter.Create(_outputPath, settings))
{
var xsltSettings = new XsltSettings();
XsltArgumentList argumentList = new XsltArgumentList();
var extensions = new XsltExtensionMethods(_settings);
argumentList.AddExtensionObject("http://core.com/config", extensions);
argumentList.AddExtensionObject("http://paralect.com/config", extensions);
var transformer = new XslCompiledTransform(true);
transformer.Load(xsltTemplateReader, xsltSettings, null);
transformer.Transform(emptyDocumentReader,argumentList, outputWriter);
}
}
示例8: ToHtml
private string ToHtml()
{
if (Services.StrandsCache.Contains(this))
{
return Services.StrandsCache.Read(this);
}
else
{
var transform = new XslCompiledTransform(true);
var arguments = new XsltArgumentList();
var settings = new XsltSettings();
var readersettings = new XmlReaderSettings();
//string xslsrc = (!string.IsNullOrEmpty(this.DisplayType)) ? "/XMLList.xsl" : "/Strands.xsl";
//var xslfile = (this.Name == "themes") ? HttpContext.Current.Server.MapPath(this._xslAppUrl + "/StrandList.xsl") : HttpContext.Current.Server.MapPath(this._xslAppUrl + xslsrc);
var xslfile = HttpContext.Current.Server.MapPath(this._xslAppUrl + ((!string.IsNullOrEmpty(this.DisplayType)) ? "XMLList.xsl" : this.XslName));
settings.EnableDocumentFunction = true;
settings.EnableScript = true;
readersettings.DtdProcessing = DtdProcessing.Parse;
readersettings.ValidationType = ValidationType.None;
transform.Load(xslfile, settings, new XmlUrlResolver());
arguments = TransformArguments(this);
using (XmlReader reader = XmlReader.Create(this.GetDirectoryPath(), readersettings))
{
System.IO.StringWriter writer = new System.IO.StringWriter();
transform.Transform(reader, arguments, writer);
return Services.StrandsCache.Write(this, writer.ToString());
}
}
}
示例9: SparqlXsltWriter
/// <summary>
/// Creates a new SPARQL XSLT Writer
/// </summary>
/// <param name="stylesheetUri">Stylesheet URI</param>
public SparqlXsltWriter(String stylesheetUri)
{
//Load the Transform
this._transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
this._transform.Load(stylesheetUri, settings, null);
}
示例10: News
/// <summary>
/// Initializes a new instance of the <see cref="News"/> class.
/// </summary>
/// <param name="RssFeedTransformer">The RSS feed transformer.</param>
/// <remarks>Documented by Dev02, 2007-11-28</remarks>
public News(string RssFeedTransformer)
{
XmlDocument rssFeedTransformer = new XmlDocument();
XsltSettings settings = new XsltSettings(false, true); //disable scripts and enable document()
rssFeedTransformer.LoadXml(RssFeedTransformer);
xslTransformer.Load(rssFeedTransformer.CreateNavigator(), settings, new XmlUrlResolver());
}
示例11: LoadXmlTestResult
protected override XmlDocument LoadXmlTestResult()
{
//transform MsTest result to nunit and return
xmlTestResultDoc = new XmlDocument();
xmlTestResultDoc.Load(reportParameters.XmlTestResult);
namespaceURI = xmlTestResultDoc.SelectSingleNode("/*").NamespaceURI;
var nameTable = GetNameTable();
XslCompiledTransform xslt = new XslCompiledTransform();
using (var xsltReader = new ResourceXmlReader(typeof(MsTestExecutionReportGenerator), "MsTestToNUnit.xslt", nameTable))
{
var resourceResolver = new XmlResourceResolver();
var xsltSettings = new XsltSettings(true, false);
xslt.Load(xsltReader, xsltSettings, resourceResolver);
}
var writerStream = new MemoryStream();
using (var xmlTextWriter = new XmlTextWriter(writerStream, Encoding.UTF8))
{
xslt.Transform(xmlTestResultDoc, xmlTextWriter);
}
writerStream = new MemoryStream(writerStream.GetBuffer());
XmlDocument result = new XmlDocument();
result.Load(writerStream);
return result;
}
示例12: Transform
/// <summary>
/// Performs a XSL Transformation
/// </summary>
/// <param name="styleSheet">Style Sheet path relative to Application Base directory</param>
/// <param name="xslArguments">XSL Arguments</param>
/// <param name="inputStream">Input Stream</param>
/// <param name="outputStream">Out put Stream as Ref (output Stream is initialized if it is null</param>
public void Transform(String styleSheet, Dictionary<String, String> xslArguments, Stream inputStream, ref Stream outputStream)
{
try
{
XsltSettings xsltSettings = new XsltSettings();
xsltSettings.EnableScript = true;
xsltSettings.EnableDocumentFunction = true;
XsltArgumentList xslArgumentList = new XsltArgumentList();
foreach (String key in xslArguments.Keys)
{
xslArgumentList.AddParam(key, "", xslArguments[key]);
}
XslCompiledTransform transformer = new XslCompiledTransform();
String stylesheetpath = AppDomain.CurrentDomain.BaseDirectory + styleSheet;
transformer.Load(stylesheetpath, xsltSettings, new XmlUrlResolver());
if (null == outputStream)
{
outputStream = new MemoryStream();
}
StreamWriter streamWriter = new StreamWriter(outputStream);
XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
xmlReaderSettings.DtdProcessing = DtdProcessing.Ignore;
XmlReader xmlReader = XmlReader.Create(inputStream, xmlReaderSettings);
XmlTextWriter writer = new XmlTextWriter(outputStream,System.Text.Encoding.UTF8);
writer.Formatting = Formatting.None;
transformer.Transform(xmlReader, xslArgumentList, writer);
}
catch (Exception exception)
{
throw exception;
}
}
示例13: Main
static void Main(string[] args)
{
if (args.Length != 3)
{
Console.WriteLine("You have not entered the correct parameters");
return;
}
string xmlfile = args[0];
string xslfile = args[1];
string outfile = args[2];
try
{
var doc = new XPathDocument(xmlfile);
var transform = new XslCompiledTransform();
var settings = new XsltSettings(true, true);
transform.Load(xslfile, settings, new XmlUrlResolver());
var writer = new XmlTextWriter(outfile, null);
transform.Transform(doc, null, writer);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
}
}
示例14: TransformHtml
public static void TransformHtml(XmlSerializer serializer, object report, Type reportType, string outputFilePath, GeneratorConfiguration generatorConfiguration, string xsltFile)
{
var xmlOutputWriter = new StringWriter();
serializer.Serialize(xmlOutputWriter, report);
XslCompiledTransform xslt = new XslCompiledTransform();
var xsltSettings = new XsltSettings(true, false);
XmlResolver resourceResolver;
var reportName = reportType.Name.Replace("Generator", "");
using (var xsltReader = GetTemplateReader(reportType, reportName, xsltFile))
{
resourceResolver = new XmlResourceResolver();
xslt.Load(xsltReader, xsltSettings, resourceResolver);
}
var xmlOutputReader = new XmlTextReader(new StringReader(xmlOutputWriter.ToString()));
XsltArgumentList argumentList = new XsltArgumentList();
argumentList.AddParam("feature-language", "", generatorConfiguration.FeatureLanguage.Name);
argumentList.AddParam("tool-language", "", generatorConfiguration.ToolLanguage.Name);
using (var xmlTextWriter = new XmlTextWriter(outputFilePath, Encoding.UTF8))
{
xslt.Transform(xmlOutputReader, argumentList, xmlTextWriter, resourceResolver);
}
}
示例15: Transform
public void Transform(string inputFilePath, string outputFilePath, KeyValueConfigurationCollection settings)
{
var xsltTemplateReader = new XmlTextReader(inputFilePath);
var emptyDocumentReader = XmlReader.Create(new System.IO.StringReader("<empty />"));
var writerSettings = new XmlWriterSettings();
//settings.ConformanceLevel = ConformanceLevel.Fragment;
writerSettings.Indent = true;
using (var outputWriter = XmlWriter.Create(outputFilePath, writerSettings))
{
var xsltSettings = new XsltSettings();
XsltArgumentList argumentList = new XsltArgumentList();
var extensions = new XsltExtensionMethods(settings);
argumentList.AddExtensionObject("http://core.com/config", extensions);
argumentList.AddExtensionObject("http://setty.net/config", extensions);
var transformer = new XslCompiledTransform(true);
transformer.Load(xsltTemplateReader, xsltSettings, null);
transformer.Transform(emptyDocumentReader, argumentList, outputWriter);
}
}