【发布时间】:2023-03-02 21:34:01
【问题描述】:
嗨专家/迈克尔凯
我得到“Saxon.Api.DynamicError - 找不到名为 {exslt.org/common}node-set() 的匹配 1-argument 函数。没有具有本地名称节点集的 Saxon 扩展函数”通过使用saxon9he - v9.4.0.2。我的 XSLT 文件调用“EXSLT”。请帮我解决问题。
public static StringWriter XSLT2(string sourceFile, string XSLT)
{
Processor processor = new Processor();
var setting = new XmlReaderSettings { DtdProcessing = DtdProcessing.Parse };
XmlReader reader2 = XmlReader.Create(sourceFile, setting);
XdmNode input = processor.NewDocumentBuilder().Build(reader2);
//XPathCompiler compiler = processor.NewXPathCompiler();
//compiler.DeclareNamespace("exsl", "http://exslt.org/common");
// Create a transformer for the stylesheet.
//Stream XsltTransformer transformer = processor.NewXsltCompiler().Compile(XSLT).Load();
XsltTransformer transformer = processor.NewXsltCompiler().Compile(new Uri(XSLT + @"\mekontopic.xsl")).Load();
transformer.InputXmlResolver = new XmlUrlResolver();
// Set the root node of the source document to be the initial context node
transformer.InitialContextNode = input;
// Create a serializer
StringWriter s = new StringWriter();
Serializer serializer = new Serializer();//serializer.SetOutputWriter(Console.Out);
serializer.SetOutputWriter(s);
// Transform the source XML to System.out.
transformer.Run(serializer);
return s;
}
提前致谢
萨兰
【问题讨论】: