/** * Выполнение преобразования, вывод результата (для php5) * * @param mixed $xsl шаблон * @param array $data данные * @param array $params параметры шаблона * @return void */ public static function render($xsl, $data = array(), $params = array()) { global $registerPHPFunctions; // Преобразование данных в xml $data2layout_proc = new XMLGenerator(); $data2layout_proc->setRootName('page'); $layout = $data2layout_proc->getXML($data); // Вызов шаблонизаторa $layout2html_proc = new XSLTProcessor(); $layout2html_proc->importStyleSheet(DOMDocument::load($xsl)); if ($registerPHPFunctions) { $layout2html_proc->registerPHPFunctions($registerPHPFunctions); } HTMLRenderer::addRequestParams($layout2html_proc, $params); print $layout2html_proc->transformToXML(DOMDocument::loadXML($layout)); }
<?php require 'vendor/autoload.php'; use xmlobjects\PositionDetail; use xmlobjects\Competency; use xmlobjects\FormattedJobDescription; use xmlobjects\PositionDateInfo; use xmlobjects\PositionRecordInfo; use xmlobjects\PositionSupplier; use xmlobjects\Organization; $generator = new XMLGenerator(); $pri = new \xmlobjects\PositionRecordInfo(); $pri->setId(1); $pri->setIdOwner('BrightOwl'); $pri->setStatus('Active'); $pri->setValidFrom('2014-04-19'); $pri->setValidTo('2014-05-15'); $ps = new xmlobjects\PositionSupplier(); $ps->setSupplierId(2); $ps->setIdOwner('BrightOwl'); $ps->setEmailAddress('*****@*****.**'); $ps->setEntityName('Microsoft'); $date_info = new xmlobjects\PositionDateInfo(); $date_info->setStartDate('2014-04-01'); $date_info->setExpectedEndDate('2015-05-05'); $org = new \xmlobjects\Organization(); $org->setBuildingNumber(150); $org->setCountryCode('PK'); $org->setMunicipality('Lenovo'); $org->setOrganizationName('Microsoft'); $org->setPostalCode('46000');