Я пытаюсь загрузить XML в документ PHP и передать его в XSLT.Я могу загрузить файл XML прямо в XSLT, но я стараюсь не использовать реальные файлы, а просто использую cURL для получения моих данных.
Вот мой PHP-скрипт:
<?php
header("Content-type: text/xml");
$ch = curl_init("domain1.com/sample1.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$sample1 = new DOMDocument();
$sample1->formatOutput = true;
$sample1->loadXML($output);
$sample1->save("sample1.xml");
$ch = curl_init("domain1.com/sample2.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$sample2 = new DOMDocument();
$sample2->formatOutput = true;
$sample2->loadXML($output);
$sample2->save("sample2.xml");
/* load the xml file and stylesheet as domdocuments */
$xsl = new DomDocument();
$xsl->load("transform.xsl");
/* create the processor and import the stylesheet */
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$mergedxml = new DomDocument();
$mergedxml->loadXML($proc->transformToXML($sample1));
echo $mergedxml->saveXML();
$mergedxml->save("results.xml");
?>
Вот строка из моего XSLT-файла, который использует второй файл (sample2.xml):
<xsl:variable name="input2" select="document('sample2.xml')/DATA"/>
Я знаю васЯ могу вызвать некоторые функции PHP в XLST, но я не могу понять, как передать XML-документ DOMDocument напрямую в XSLT без предварительного сохранения в файл.Это возможно?Или мне нужно сделать это по-другому?Я довольно новичок в PHP и XSLT, поэтому любая помощь приветствуется.
Спасибо.