Saxon .net如何处理外部资源xml

时间:2018-02-16 09:33:49

标签: c# .net saxon

我有一个批处理,想要在.net应用程序中重建它。我怎么能在.net中处理这个?

-xsl:"style.xsl" resource-path="%runtimepath%%respath%" srcAutotexte="%runtimepath%%respath%\autotext\autotext.xml" 

我的尝试。如何包含autotext.xml?

        // Create a transformer for the stylesheet.
        XsltCompiler compiler = processor.NewXsltCompiler();
        compiler.BaseUri = new Uri(styleXslFilePath);
        XsltTransformer transformer = compiler.Compile(File.OpenRead(styleXslFilePath)).Load();

1 个答案:

答案 0 :(得分:1)

命令行选项

 resource-path="%runtimepath%%respath%"
 srcAutotexte="%runtimepath%%respath%\autotext\autotext.xml" 

在转换中设置样式表参数的值。

使用Saxon.Api界面时的等价物是调用

    transformer.SetParameter(
         new QName("resource-path"), 
         new XdmAtomicValue("%runtimepath%%respath%"));

(也许你的shell将%xxxx%解释为对某种shell /系统变量的引用 - 自从我在Windows下编写批处理脚本以来已经很长时间了。如果是这种情况那么你需要掌握这些变量的值。您可以使用.NET API在C#级别执行此操作,或者您可以使用environment-variable()函数在XSLT 3.0中执行此操作。)