Lilia
Новичок
Сохранение результата XSLT (Word-документ)
Пожалуйста подскажите как сохранить результат XSLT, если это Word-документ. Пыталась найти что-либо подобное, все впустую ...
И какой метод использовать - transformtoURI или transformtoDoc?
<?php ## Исходный текст программы xslt.php
$outputformat='wordDocument'; //насчет этого я совсем не уверена
$xslfile='111.xsl'; //XSLT-файл
$xmlfile='222.xml'; //XML-файл
$domxml=new domDocument();
$domxml->substituteEntities=true; //произвести подстановки
$domxml->load($xmlfile); //загрузить XML-файл
$domxsl=new domDocument();
$domxsl->load($xslfile);//загрузить XSL-файл
$xsl=new xsltProcessor();//создать XSLT-процессор
@$xsl->importStylesheet($domxsl); //оттранслировать XSLT-документ
$outputFile="output.doc"; //?????
$xsl->transformtoURI($domxml,$outputFile); //выполнить трансформацию - на этой строке выдает ошибку
?>
Таблица стилей рабочая, все преобразования выполняются. Проверено скриптом JScript:
var sOutput = validateFile();
WScript.Echo(sOutput);
function validateFile()
{var x = new ActiveXObject("MSXML2.DOMDocument.4.0");
x.async = false;
x.validateOnParse = true;
x.resolveExternals = true;
x.load("BazaRekvizitov2.xml");
if (x.parseError.errorCode != 0)
{return("Документ некорректен" +
"\n=====================" +
"\nReason: " + x.parseError.reason +
"\nSource: " + x.parseError.srcText +
"\nLine: " + x.parseError.line + "\n");
};
var y = new ActiveXObject("MSXML2.DOMDocument.4.0");
y.async = false;
y.validateOnParse = true;
y.resolveExternals = true;
y.load("Priglashenie.xsl");
if (y.parseError.errorCode != 0)
{return("Таблица стилей некорректна" +
"\n=====================" +
"\nReason: " + y.parseError.reason +
"\nSource: " + y.parseError.srcText +
"\nLine: " + y.parseError.line + "\n");
};
res = x.transformNode(y);
var z = new ActiveXObject("MSXML2.DOMDocument.4.0");
z.async = false;
// z.validateOnParse = true;
// z.resolveExternals = true;
z.loadXML(res);
z.save("output.doc");
return("Результат трансформации" +
"\n=====================\n" +
res + "\n");
}
Буду очень признательна за помощь
Пожалуйста подскажите как сохранить результат XSLT, если это Word-документ. Пыталась найти что-либо подобное, все впустую ...
И какой метод использовать - transformtoURI или transformtoDoc?
<?php ## Исходный текст программы xslt.php
$outputformat='wordDocument'; //насчет этого я совсем не уверена
$xslfile='111.xsl'; //XSLT-файл
$xmlfile='222.xml'; //XML-файл
$domxml=new domDocument();
$domxml->substituteEntities=true; //произвести подстановки
$domxml->load($xmlfile); //загрузить XML-файл
$domxsl=new domDocument();
$domxsl->load($xslfile);//загрузить XSL-файл
$xsl=new xsltProcessor();//создать XSLT-процессор
@$xsl->importStylesheet($domxsl); //оттранслировать XSLT-документ
$outputFile="output.doc"; //?????
$xsl->transformtoURI($domxml,$outputFile); //выполнить трансформацию - на этой строке выдает ошибку
?>
Таблица стилей рабочая, все преобразования выполняются. Проверено скриптом JScript:
var sOutput = validateFile();
WScript.Echo(sOutput);
function validateFile()
{var x = new ActiveXObject("MSXML2.DOMDocument.4.0");
x.async = false;
x.validateOnParse = true;
x.resolveExternals = true;
x.load("BazaRekvizitov2.xml");
if (x.parseError.errorCode != 0)
{return("Документ некорректен" +
"\n=====================" +
"\nReason: " + x.parseError.reason +
"\nSource: " + x.parseError.srcText +
"\nLine: " + x.parseError.line + "\n");
};
var y = new ActiveXObject("MSXML2.DOMDocument.4.0");
y.async = false;
y.validateOnParse = true;
y.resolveExternals = true;
y.load("Priglashenie.xsl");
if (y.parseError.errorCode != 0)
{return("Таблица стилей некорректна" +
"\n=====================" +
"\nReason: " + y.parseError.reason +
"\nSource: " + y.parseError.srcText +
"\nLine: " + y.parseError.line + "\n");
};
res = x.transformNode(y);
var z = new ActiveXObject("MSXML2.DOMDocument.4.0");
z.async = false;
// z.validateOnParse = true;
// z.resolveExternals = true;
z.loadXML(res);
z.save("output.doc");
return("Результат трансформации" +
"\n=====================\n" +
res + "\n");
}
Буду очень признательна за помощь