Я пытаюсь преобразовать XSLT документ InfoPath из XML в HTML, и я получаю следующую ошибку:Не удается найти сценарий или объект расширения, связанный с пространством имен «http://schemas.microsoft.com/office/infopath/2003/xslt/xDocument»
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"
This article предполагает, что вы просто использовать для печати Просмотр в 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?
у вас есть информация о создании объектов расширения? – PeterX
Я предполагаю, что вы используете .NET, и если это так, я думаю, что в MSDN есть несколько статей об этом. Вот один из них: http://support.microsoft.com/kb/321702 – JLRishe
Спасибо, поэтому появляется ключевая строка. 'xsltArgList.AddExtensionObject (" urn: XYZ ", XYZ)'. – PeterX