我正在尝试 XSLT 将 InfoPath 文档从 XML 转换为 HTML,但出现以下错误:
Cannot find a script or an extension object associated with namespace 'http://schemas.microsoft.com/office/infopath/2003/xslt/xDocument'.
甚至可以转换文档吗?我注意到 XSL 使用了xdXDocument:GetDOM
类似于旧 MSXML 语法的函数。您可以在转换期间添加对 MSXML 的支持吗?
作为参考,命名空间是:
xmlns:xdXDocument="http://schemas.microsoft.com/office/infopath/2003/xslt/xDocument"
本文建议您简单地使用 InfoPath 文档的打印视图 - 但我认为这可能是 InfoPath 2007 所独有的(2010 年后,您似乎可以打印任何视图)。
顺便说一句,我也尝试过使用 MSXML,但遇到了类似的错误:
Namespace 'http://schemas.microsoft.com/office/infopath/2003/xslt/xDocument' does not contain any functions.
这是我的 MSXML 代码:
var xml = new MSXML2.DOMDocument60();
xml.load(txtXmlFilePath.Text);
var lines = File.ReadAllLines(txtXslFilePath.Text);
// Seemingly need to strip out first <?xml... /> line to work
string sXsl = string.Join("\n", lines.Skip(1).ToArray());
var xsl = new MSXML2.DOMDocument60();
xsl.loadXML(sXsl);
string html = xml.transformNode(xsl);
所以基本问题仍然存在 - 如何转换 XSLT 转换 InfoPath 文档?