public function onCronSyncCurrency(iUmiEventPoint $event) { $regedit = regedit::getInstance(); if(!$regedit->getVal('//modules/emarket/enable-currency')) return false; $config = mainConfiguration::getInstance(); $sourceUrl = $config->get('modules', 'emarket.currency.sync.source'); $xslPath = CURRENT_WORKING_DIR .'/xsl/currencies/' . $config->get('modules', 'emarket.currency.sync.xsl'); $originalXml = umiRemoteFileGetter::get($sourceUrl); if(function_exists('mb_detect_encoding') && (mb_detect_encoding($originalXml, "UTF-8, ISO-8859-1, GBK, CP1251") != "UTF-8")) { $originalXml = iconv ("CP1251", "UTF-8", $originalXml); $originalXml = preg_replace("/(encoding=\"windows-1251\")/i", "encoding=\"UTF-8\"", $originalXml); } $xslt = new xsltProcessor; $dom = new DomDocument(); $dom->loadXML($originalXml); $xslt->importStyleSheet(DomDocument::load($xslPath)); $resultXml = $xslt->transformToXML($dom); $tmpPath = SYS_CACHE_RUNTIME . 'tmpcurrencies.xml'; file_put_contents($tmpPath, $resultXml); $currenciesList = new baseXmlConfig($tmpPath); $currencies = $currenciesList->getList('/Exchange/Exchange_Rates', array ( 'code' => '/New_Country', 'rate' => '/Rate', 'nominal' => '/Nominal' )); foreach($currencies as $currencyInfo) { $code = getArrayKey($currencyInfo, 'code'); try { if($currency = $this->getCurrency($code)) { $currency->nominal = getArrayKey($currencyInfo, 'nominal'); $currency->rate = getArrayKey($currencyInfo, 'rate'); $currency->commit(); } } catch(privateException $e) {} } unlink($tmpPath); }
function PageMaker($xmlfile, $xslfile) { global $options, $id, $df, $cacheLifeTime; # Инициализация системы кэширования // Подключаем класс вывода PEAR::Cache_Lite require_once 'cache/output.php'; // Создаем объект класса Cache_Lite_Output $cache = new Cache_Lite_Output($options); // Устанавливаем время жизни кэша для данной части $cache->setLifeTime($cacheLifeTime[$id]); if (!$cache->start($id)) { # Передаем путь к запрошенному документу на вход модуля анализа и преобразования XML+XSLT, # формирующего на выходе запрошенный документ в XHTML-формате. require_once "inc/nstoxhtml.inc"; require_once "inc/setformat.inc"; require_once "inc/nocache.inc"; $outputformat = 'xml'; //if ($xslfile !== "xsl/rbcrss.xsl") $xslfile = "xsl/layout.xsl"; $domxml = new DOMDocument(); $domxml->substituteEntities = true; $domxml->load($xmlfile); @fclose($df); # Снимаем блокировку с файла * $domxsl = new DOMDocument(); $domxsl->load($xslfile); setOutputFormat($domxsl, $outputformat); $xsl = new xsltProcessor(); $xsl->importStylesheet($domxsl); $outdom = $xsl->transformtoDOC($domxml); $outdom = nstoxhtml($outdom); $outdom->formatoutput = true; nocache(); $page = $outdom->saveXML(); echo TrimStr($page); $cache->end(); } }
protected function addRequestParams(xsltProcessor $v801f7201346b43f8ee8390a1ef20ddcd, $vf1f713c9e000f5d3f280adbd124df4f5, $v851f5ac9941d720844d143ed9cfcf60a = "") { foreach ($vf1f713c9e000f5d3f280adbd124df4f5 as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v3a6d0284e743dc4a9b86f97d6dd1a3bf) { $v3c6e0b8a9c15224a8228b9a98ca1531d = strtolower($v3c6e0b8a9c15224a8228b9a98ca1531d); if (!is_array($v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { if (strpos($v3a6d0284e743dc4a9b86f97d6dd1a3bf, "'") !== false && strpos($v3a6d0284e743dc4a9b86f97d6dd1a3bf, "\"") !== false) { $v3a6d0284e743dc4a9b86f97d6dd1a3bf = str_replace("'", "\\\"", $v3a6d0284e743dc4a9b86f97d6dd1a3bf); } $v3c6e0b8a9c15224a8228b9a98ca1531d = str_replace(array(':'), array(''), $v3c6e0b8a9c15224a8228b9a98ca1531d); $v801f7201346b43f8ee8390a1ef20ddcd->setParameter("", $v851f5ac9941d720844d143ed9cfcf60a . $v3c6e0b8a9c15224a8228b9a98ca1531d, $v3a6d0284e743dc4a9b86f97d6dd1a3bf); } else { $this->addRequestParams($v801f7201346b43f8ee8390a1ef20ddcd, $v3a6d0284e743dc4a9b86f97d6dd1a3bf, $v851f5ac9941d720844d143ed9cfcf60a . $v3c6e0b8a9c15224a8228b9a98ca1531d . "."); } } }
/** * Builder::Transform() * * @param mixed $xslfile * @param bool $return * @return */ public function Transform($xslfile, $return = false) { if (Param('_Debug')) { header("Content-type: text/xml"); echo $this->asXML(); die; // exit(); } if (class_exists('xsltCache')) { $xslt = new xsltCache(); $xslt->importStyleSheet(TPL_DIR . $xslfile); } else { $xslt = new xsltProcessor(); $xsltDoc = new DomDocument(); $xsltDoc->load(TPL_DIR . $xslfile); $xslt->importStyleSheet($xsltDoc); } $result = $xslt->transformToXML($this->doc); if (!$return) { header("Content-type: text/html"); print $result; return null; } return $result; }
function Transform($n) { $xml = new DOMDocument(); $xml->loadXML("<dummy/>"); $xpath = new DOMXPath($n->ownerDocument); $xpath->registerNameSpace("txs", "http://www.agencexml.com/txs"); $xpath->registerNameSpace("xsl", "http://www.w3.org/1999/XSL/Transform"); if ($xpath->query("txs:input", $n)->length == 0) { $xml->documentElement->parentNode->replaceChild($xml->importNode($n->firstChild, true), $xml->documentElement); } else { $root = $xml->importNode($xpath->query("txs:input/*", $n)->item(0), true); $xml->documentElement->parentNode->replaceChild($root, $xml->documentElement); $rootNodes = $xpath->query("txs:input/node()", $n); for ($i = 0; $i < $rootNodes->length; $i++) { $cur = $rootNodes->item($i); if ($cur->nodeType == XML_PI_NODE) { $root->parentNode->insertBefore($root->ownerDocument->importNode($cur, true), $root); } } } $xsl = new DOMDocument(); $stsh = $n->getAttribute("stylesheet"); if ($stsh != "") { if (substr($stsh, 0, 1) == "#") { $stns = $xpath->query("//xsl:stylesheet[@txs:name='" . substr($stsh, 1) . "']"); $xsl->loadXML("<dummy/>"); $xsl->documentElement->parentNode->replaceChild($xsl->importNode($stns->item(0), true), $xsl->documentElement); } else { $xsl->load($stsh); } } else { $xsl->loadXML("<dummy/>"); $xsl->documentElement->parentNode->replaceChild($xsl->importNode($xpath->query("txs:stylesheet/*", $n)->item(0), true), $xsl->documentElement); } $xslp = new xsltProcessor(); $xslp->importStyleSheet($xsl); $prms = $xpath->query("txs:with-param", $n); foreach ($prms as $prm) { $xslp->setParameter("", $prm->getAttribute("name"), $prm->getAttribute("value")); } $result = $xslp->transformToXml($xml); if (substr($result, 0, 1) == "<") { $xRes = new DOMDocument(); $xRes->loadXML($result); $n->parentNode->replaceChild($n->ownerDocument->importNode($xRes->documentElement, true), $n); } else { $n->parentNode->replaceChild($n->ownerDocument->createCDATASection($result), $n); } }
function Transform($xslfile, $xml, $return = false) { if (Param('_Debug')) { header("Content-type: text/xml"); print $xml; exit; } if (5 == 5) { if (class_exists('xsltCache')) { $xslt = new xsltCache(); $xslt->importStyleSheet(TPL_DIR . $xslfile); } else { $xslt = new xsltProcessor(); $xsltDoc = DomDocument::load(TPL_DIR . $xslfile); $xslt->importStyleSheet($xsltDoc); } // $result = $xslt->transformToXML(DomDocument::loadXML($xml)); $doc = new DOMDocument(); $load_succesfull = @$doc->loadXML($xml); if (!$load_succesfull) { $result = $xslt->transformToXML(iceERROR('XML', $xml)); } else { $result = $xslt->transformToXML($doc); } } else { // ob_end_clean(); $xslt = domxml_xslt_stylesheet_file(TPL_DIR . $xslfile); $dom = @domxml_open_mem($xml); if (!$dom) { $dom = domxml_open_mem(iceERROR('XML', $xml)); } $final = $xslt->process($dom); print serialize($xslt); exit; $load_end_time = microtime(true); $result = $xslt->result_dump_mem($final); unset($dom); unset($xslt); } if (!$return) { header("Content-type: text/html"); print $result; } else { //print $b; // ajax "<sajax>" string return $result; } }
protected function transform_xsl($url, $xsl_filename, $isstring = 0) { if (strrchr($url, 'http://') || $this->text != '') { if (strrchr($url, '#')) { $fragment = array_pop(explode('#', $url)); } if ($this->text != '') { $this->use_store = 0; $title = 'Using direct Input'; $url = $this->path . 'direct/'; $html = method_exists('tidy', 'cleanRepair') ? $this->tidy_html(urldecode($this->text), '', 'php') : urldecode($this->text); } else { $html = $this->get_file_contents($url); } if (strlen(trim($html)) === 0) { return $this->error('noURL'); } $dom = new DOMDocument('1.0'); $dom->preserveWhiteSpace = false; if ($this->text != '') { @$dom->loadXML($html); } else { @$dom->loadXML($this->tidy_html($html, $url, $this->tidy_option)); } $dom->formatOutput = true; $dom->normalizeDocument(); $title = !isset($title) ? $dom->getElementsByTagName('title')->item(0)->nodeValue : $title; if ($this->type == 'rdfa' && !$dom->getElementsByTagName('html')->item(0)->getAttribute('xmlns')) { $dom->getElementsByTagName('html')->item(0)->setAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); } if (isset($fragment)) { $dom->relaxNGValidateSource($this->valid_schema()); $element = $dom->getElementById($fragment); $content = $dom->saveXML($element); $dom = $this->return_html_frag($content, $title); } if (!method_exists('xsltProcessor', 'transformToXML')) { die("Sorry PHP xslt functions unavailable"); } $xslt = new xsltProcessor(); $xslt->setParameter('', 'transformr', $this->path); $xslt->setParameter('', 'url', $url); $xslt->setParameter('', 'request-uri', $_SERVER['REQUEST_URI']); $xslt->setParameter('', 'base-uri', $url); $xslt->setParameter('', 'doc-title', $title); $xslt->setParameter('', 'version', $this->version); if ($this->use_store == 1) { $xslt->setParameter('', 'endpoint-link', $this->path . 'sparql/endpoint?'); } $xslt->importStyleSheet(DomDocument::load($xsl_filename)); if (!@DomDocument::loadXML($dom->saveXML())) { $dom = @DomDocument::loadXML($this->tidy_html($html, $url, $this->tidy_option, 'output-xml')); // reload as plain vanilla xml if (!$dom) { return $this->error('invalidDoc'); } } return $xslt->transformToXML(@DomDocument::loadXML($dom->saveXML())); } elseif ($url == 'referer' && getenv("HTTP_REFERER") != '') { $referer = getenv("HTTP_REFERER"); return $this->transform_xsl($referer, $xsl_filename); } elseif (getenv("HTTP_REFERER") != '' && $url != '') { $referer = getenv("HTTP_REFERER"); return $this->transform_xsl($referer . '#' . $url, $xsl_filename); } else { return $this->error('noURL'); } }
<?php session_start(); header("Content-Type: text/xml"); ob_start(); print "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; $db = mysql_connect("localhost", "root", "123") or die('<error>Unable to connect to mysql server. try edit index.php file</error>'); if (!mysql_select_db('lab3')) { sql_install(); } include_once 'common.php'; mysql_close($db); $xml = ob_get_contents(); ob_end_clean(); $xslt = new xsltProcessor(); $xslt->importStyleSheet(DomDocument::load('common.xsl')); print $xslt->transformToXML(DomDocument::loadXML($xml)); //print $xml; function sql_install() { mysql_query("CREATE DATABASE lab3;"); mysql_select_db('lab3'); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_category (\r\n\t\t`c_category` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`c_category_name` varchar(50) NOT NULL, \r\n\t\t`c_added_timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, \r\n\t\t`c_added_user` int(10) NOT NULL DEFAULT '0', \r\n\t\t`c_sortorder` mediumint(5) NOT NULL DEFAULT '10000' \r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_user (\r\n\t\t`u_user` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`u_name` varchar(50) NOT NULL, \r\n\t\t`u_password` varchar(32) NOT NULL DEFAULT '', \r\n\t\t`u_group` mediumint(5) NOT NULL DEFAULT '9', \r\n\t\t`u_extra` text,\r\n\t\tUNIQUE (`u_name`)\r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_theme (\r\n\t\t`t_theme` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`t_category` int(10) NOT NULL, \r\n\t\t`t_theme_name` varchar(50) NOT NULL, \r\n\t\t`t_added_timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, \r\n\t\t`t_added_user` int(10) NOT NULL DEFAULT '0', \r\n\t\t`t_sortorder` mediumint(5) NOT NULL DEFAULT '10000' \r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_test (\r\n\t\t`e_test` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`e_test_name` varchar(50) NOT NULL, \r\n\t\t`e_added_timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, \r\n\t\t`e_added_user` int(10) NOT NULL DEFAULT '0', \r\n\t\t`e_sortorder` mediumint(5) NOT NULL DEFAULT '10000',\r\n\t\t`e_limit` mediumint(5) NOT NULL DEFAULT '1'\r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_test_theme (\r\n\t\t`tt_id` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`tt_test` int(10) NOT NULL, \r\n\t\t`tt_theme` int(10) NOT NULL\r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_question (\r\n\t\t`q_question` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`q_theme` int(10) NOT NULL, \r\n\t\t`q_type` mediumint(5) NOT NULL DEFAULT '0', \r\n\t\t`q_text` text NOT NULL, \r\n\t\t`q_correct_answer` text NOT NULL, \r\n\t\t`q_added_timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, \r\n\t\t`q_added_user` int(10) NOT NULL DEFAULT '0', \r\n\t\t`q_sortorder` mediumint(5) NOT NULL DEFAULT '10000',\r\n\t\t`q_correct_tries` mediumint(5) NOT NULL DEFAULT '0', \r\n\t\t`q_tries` mediumint(5) NOT NULL DEFAULT '0'\r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_answer (\r\n\t\t`a_answer` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`a_question` int(10) NOT NULL, \r\n\t\t`a_text` text NOT NULL, \r\n\t\t`a_type` mediumint(5) NOT NULL DEFAULT '0', \r\n\t\t`a_sortorder` mediumint(5) NOT NULL DEFAULT '10000'\r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_solution (\r\n\t\t`s_solution` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`s_question` int(10) NOT NULL, \r\n\t\t`s_parent` int(10) NOT NULL, \r\n\t\t`s_child` int(10) \r\n\t\t);\r\n\t\t"); mysql_query("\r\n\t\tCREATE TABLE IF NOT EXISTS lab3_result (\r\n\t\t`r_result` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, \r\n\t\t`r_test` int(10) NOT NULL, \r\n\t\t`r_user` int(10) NOT NULL, \r\n\t\t`r_text` text, \r\n\t\t`r_started_timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, \r\n\t\t`r_ended_timestamp` TIMESTAMP\r\n\t\t);\r\n\t\t");
function xslfilter($buffer) { global $__xslfilter_debug; global $__xslfilter_phpfunc; global $__xslfilter_prehook; global $__xslfilter_posthook; global $__xslfilter_start_utime; global $__xslfilter_i18n; if (empty($buffer)) { return false; } if ($__xslfilter_debug) { return false; } libxml_use_internal_errors(true); if (!array_key_exists('WEB_LAYOUT', $_SERVER) && !array_key_exists('XSL_DIR', $_SERVER) && !array_key_exists('XSL_STYLESHEET', $_SERVER)) { return __xslfilter_do_error("Missing stylesheet information", "None of the environment variables <code>WEB_LAYOUT</code>, " . "<code>XSL_DIR</code> or <code>XSL_STYLESHEET</code> " . "have been defined"); } libxml_clear_errors(); // Load document $doc = new DOMDocument(); if (!$doc->loadXML($buffer, LIBXML_NONET)) { return __xslfilter_do_error("Error in current document", __xslfilter_build_xmlerrors(libxml_get_errors())); } // Processing instruction if ($r = __xslfilter_process_pi($doc)) { return $r; } // XSLT Processor $xslt = new xsltProcessor(); // Basic information $xslt->setParameter('', 'lastmod', gmstrftime("%Y%m%d%H%M%SZ", getlastmod())); $xslt->setParameter('', 'now', gmstrftime("%Y%m%d%H%M%SZ", time())); // Information about http request $xslt->setParameter('', 'http-referer', array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : null); $xslt->setParameter('', 'request-uri', array_key_exists('REQUEST_URI', $_SERVER) ? $_SERVER['REQUEST_URI'] : null); $xslt->setParameter('', 'base-uri', array_key_exists('SCRIPT_FILENAME', $_SERVER) ? dirname($_SERVER['SCRIPT_FILENAME']) : null); $xslt->setParameter('', 'server-name', array_key_exists('SERVER_NAME', $_SERVER) ? $_SERVER['SERVER_NAME'] : null); $xslt->setParameter('', 'secure', array_key_exists('HTTPS', $_SERVER) ? 'true' : null); $xslt->setParameter('', 'protocol', array_key_exists('HTTPS', $_SERVER) ? 'https' : 'http'); if (($script_uri = parse_url($_SERVER['SCRIPT_URI'])) !== false) { $xslt->setParameter('', 'uri-scheme', @$script_uri['scheme']); $xslt->setParameter('', 'uri-host', @$script_uri['host']); $xslt->setParameter('', 'uri-port', @$script_uri['port']); $xslt->setParameter('', 'uri-path', @$script_uri['path']); $xslt->setParameter('', 'uri-query', @$script_uri['query']); $xslt->setParameter('', 'uri-fragment', @$script_uri['fragment']); } else { $xslt->setParameter('', 'uri-scheme', null); $xslt->setParameter('', 'uri-host', null); $xslt->setParameter('', 'uri-port', null); $xslt->setParameter('', 'uri-path', null); $xslt->setParameter('', 'uri-query', null); $xslt->setParameter('', 'uri-fragment', null); } // Parameters set from apache server $xslt->setParameter('', 'pagedesc-default-xml', array_key_exists('WEB_LAYOUT', $_SERVER) ? $_SERVER['WEB_LAYOUT'] . '/defaults.xml' : null); $xslt->setParameter('', 'expect-lang', array_key_exists('expect-lang', $_SERVER) ? $_SERVER['expect-lang'] : null); $xslt->setParameter('', 'handheld-client', array_key_exists('handheld-client', $_SERVER) ? $_SERVER['handheld-client'] : null); // Pre hook if (!is_null($__xslfilter_prehook) && ($r = $__xslfilter_prehook($doc, $xslt)) !== true) { return $r; } // PHP function enabling if ($__xslfilter_phpfunc) { $xslt->registerPHPFunctions(is_array($__xslfilter_phpfunc) ? $__xslfilter_phpfunc : null); } // Lang to import localization templates $lang = ''; if ($__xslfilter_i18n === null || $__xslfilter_i18n) { $lang = $doc->documentElement->getAttribute('lang'); } if (empty($lang) && !is_null($__xslfilter_i18n) && is_string($__xslfilter_i18n)) { $lang = $__xslfilter_i18n; } // Listing stylesheet $stylesheet = array(); if (array_key_exists('WEB_LAYOUT', $_SERVER) || array_key_exists('XSL_DIR', $_SERVER)) { $xsl_dir = array_key_exists('XSL_DIR', $_SERVER) ? $_SERVER['XSL_DIR'] : $_SERVER['WEB_LAYOUT']; $style = __xslfilter_get_stylesheet($doc, 'text/xsl'); foreach ($style as $s) { if (!($href = $s['href'])) { continue; } if ($href[0] == '/' || preg_match('|^\\w+://|', $href)) { return __xslfilter_do_error("Error in current document", "Only local and relative stylesheet are allowed"); } $stylesheet[] = $xsl_dir . '/' . $href; } if (empty($stylesheet) && array_key_exists('XSL_STYLESHEET', $_SERVER)) { $href = $_SERVER['XSL_STYLESHEET']; if ($href[0] != '/') { array_push($stylesheet, $xsl_dir . '/' . $href); } } if (!empty($lang)) { $href = 'l10n/' . $lang . '.xsl'; if (file_exists($file = $xsl_dir . '/' . $href)) { $stylesheet[] = $file; } } } else { if (array_key_exists('XSL_STYLESHEET', $_SERVER)) { array_push($stylesheet, $_SERVER['XSL_STYLESHEET']); if (!empty($lang)) { $file = dirname($_SERVER['XSL_STYLESHEET']) . '/' . 'l10n/' . $lang . '.xsl'; if (file_exists($file)) { $stylesheet[] = $file; } } } else { return __xslfilter_do_error("No usable stylesheet", "Missing stylesheet at server and document level"); } } // Importing stylesheet if (count($stylesheet) <= 1) { // Correct code for importing stylesheet // Unfortunately PHP only take into account the last import foreach ($stylesheet as $file) { libxml_clear_errors(); $xsl = new DomDocument(); $xsl->substituteEntities = true; // LIBXML_NOENT if (!$xsl->load($file, LIBXML_NONET)) { return __xslfilter_do_error("Error in stylesheet: {$href}", __xslfilter_build_xmlerrors(libxml_get_errors())); } $xslt->importStyleSheet($xsl); } } else { // Fix code to import several stysheets // By faking a top level stylesheet with import statements libxml_clear_errors(); $xsl = new DomDocument('1.0'); $xsl->substituteEntities = true; // LIBXML_NOENT $root = $xsl->createElementNS('http://www.w3.org/1999/XSL/Transform', 'xsl:stylesheet'); $v = $xsl->createAttribute('version'); $v->value = "1.0"; $root->appendChild($v); $xsl->appendChild($root); foreach ($stylesheet as $file) { $s = $xsl->createElementNS('http://www.w3.org/1999/XSL/Transform', 'xsl:import'); $h = $xsl->createAttribute('href'); $h->value = $file; $s->appendChild($h); $root->appendChild($s); } $xslt->importStyleSheet($xsl); } // Applying transformation $r = $xslt->transformToXML($doc); if ($errors = libxml_get_errors()) { return __xslfilter_do_error("Error while rendering document", __xslfilter_build_xmlerrors($errors)); } // Something wrong, but we have no clue if ($r == false) { return __xslfilter_do_error("Error while rendering document", "Check document and associated stylesheets"); } // Job's done return $r; }
function transform($xslfile, $xml, $no_dbg = false) { if (Param('_DBG') && !$no_dbg) { //print_r(debug_backtrace()); //setcookie('111', '222'); //die(); header("Content-type: text/xml"); print trim($xml); die; } //$phpver = explode('.', PHP_VERSION); //if ($phpver[0] == 5) { if (extension_loaded('xslcache')) { $xslt = new xsltCache(); $xslt->importStyleSheet($xslfile); } else { $xslt = new xsltProcessor(); $xsltDoc = DomDocument::load($xslfile); $xslt->importStyleSheet($xsltDoc); } $doc = new DOMDocument(); $load_succesfull = $doc->loadXML($xml); if ((!$load_succesfull || @$_GET['_BAD_XML_TEST']) && !Param('_DBG')) { //error //Redirect( '/error.php?error=xml&url='.$_SERVER['REQUEST_URI'] ); if (SITE == 'http://dev.starhit.ru') { die(file_get_contents('http://www.starhit.ru/error.php?error=xml')); } die(file_get_contents(SITE . '/error.php?error=xml')); } else { $galleries = $doc->getElementsByTagName('gallery'); foreach ($galleries as $gallery) { $images = $gallery->getElementsByTagName('image'); foreach ($images as $image) { foreach ($this->dsp->ae->size as $size => $params) { $img = $image->getElementsByTagName($size)->item(0); $width = $img->getAttribute('width'); if (!$width) { $img_sizes = $this->dsp->eis->GetSizeByURL($img->nodeValue); $img->setAttribute('width', $img_sizes[0]); $img->setAttribute('height', $img_sizes[1]); } } } } $result = $xslt->transformToXML($doc); } //} if (@$_GET['XSLT_INFO']) { echo '$xslt->hasExsltSupport(): ' . $xslt->hasExsltSupport() . ' $xslfile: ' . $xslfile . ' extension_loaded("xslcache"): ' . extension_loaded("xslcache") . ' XSL_CLONE_AUTO: ' . XSL_CLONE_AUTO . ' XSL_CLONE_NEVER: ' . XSL_CLONE_NEVER . ' XSL_CLONE_ALWAYS: ' . XSL_CLONE_ALWAYS . ' LIBXSLT_VERSION: ' . LIBXSLT_VERSION . ' LIBXSLT_DOTTED_VERSION: ' . LIBXSLT_DOTTED_VERSION . ' LIBEXSLT_VERSION: ' . LIBEXSLT_VERSION . ' LIBEXSLT_DOTTED_VERSION: ' . LIBEXSLT_DOTTED_VERSION . ' $xslt: ' . print_r($xslt, 1) . ' '; var_dump($doc->saveXML(), $xsltDoc->saveXML(), $xslt->transformToXML($doc)); die; } return $result; }
private function processTransformation() { $v3d788fa62d7c185a1bee4c9147ee1091 = new DOMXpath($this->dom); $vca15fd43dfaeb80eb8c125735e0479b0 = $v3d788fa62d7c185a1bee4c9147ee1091->query("/sitemap/match[@pattern = '{$this->pattern}']/transform"); foreach ($vca15fd43dfaeb80eb8c125735e0479b0 as $v36c4536996ca5615dcf9911f068786dc) { $v25d902c24283ab8cfbac54dfa101ad31 = $this->replaceParams($v36c4536996ca5615dcf9911f068786dc->getAttribute("src")); if (file_exists($v25d902c24283ab8cfbac54dfa101ad31)) { $vc3aaa7dd2c4cf0305f95e82438b46e82 = new DOMDocument('1.0', 'utf-8'); $vc3aaa7dd2c4cf0305f95e82438b46e82->load($v25d902c24283ab8cfbac54dfa101ad31); $v801f7201346b43f8ee8390a1ef20ddcd = new xsltProcessor(); $v801f7201346b43f8ee8390a1ef20ddcd->registerPHPFunctions(); $v801f7201346b43f8ee8390a1ef20ddcd->importStyleSheet($vc3aaa7dd2c4cf0305f95e82438b46e82); $v21ffce5b8a6cc8cc6a41448dd69623c9 = $this->extractParams($v36c4536996ca5615dcf9911f068786dc); foreach ($v21ffce5b8a6cc8cc6a41448dd69623c9 as $vb068931cc450442b63f5b3d276ea4297 => $v2063c1608d6e0baf80249c42e2be5804) { $v2063c1608d6e0baf80249c42e2be5804 = $this->replaceParams($v2063c1608d6e0baf80249c42e2be5804); $v801f7201346b43f8ee8390a1ef20ddcd->setParameter("", $vb068931cc450442b63f5b3d276ea4297, $v2063c1608d6e0baf80249c42e2be5804); } $this->buffer = $v801f7201346b43f8ee8390a1ef20ddcd->transformToXML($this->loadBufferDom()); } else { throw new coreException("Transformation failed. File {$v25d902c24283ab8cfbac54dfa101ad31} doesn't exists."); } } }
foreach ($row as $name => $value) { if ($value == "") { continue; } $textNode = $node->appendChild($doc->createElement(strtoupper($name))); $textNode->appendChild($doc->createTextNode($value)); } // end for } // end while // stylesheet files $styleSheet = $_SERVER["DOCUMENT_ROOT"] . $TOOL_URL . "/sql/debug.xsl"; if ($SHOW_XML) { $styleSheet = $_SERVER["DOCUMENT_ROOT"] . $TOOL_URL . "/sql/debug.xsl"; } $xslt = new xsltProcessor(); $xsl = DOMDocument::load($styleSheet); $xslt->importStyleSheet($xsl); //$xslt->registerPHPFunctions(); // allow php functions to be called using: php:function //$xmldata = $doc->saveXML(); // complete xml document as text //print $xslt->transformToXML($doc); // When generating a pure XML file, use the following headers: //header( "Content-Type: text/html; charset=utf-8;" ); //header( "Content-Encoding: utf-8" ); ?> <?php include $ACCOUNTS_PATH . 'include/top_header.php'; // INCLUDE THE HTML HEAD ?> <script>
protected function applyXslTransformation(DOMDocument $vdd988cfd769c9f7fbd795a0f5da8e751, $v6a559eac8ab38b0b76a6fca32dcb9749) { $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance(); if ($v6829cdfdefd69b947abedd8fa2c4bcc7 = cmsController::getInstance()->getResourcesDirectory()) { $vf2ce473b36fb79a44028293890c685be = $v6829cdfdefd69b947abedd8fa2c4bcc7 . "/xslt/"; } else { $vf2ce473b36fb79a44028293890c685be = $v2245023265ae4cf87d02c8b6ba991139->includeParam('templates.xsl'); } $v47826cacc65c665212b821e6ff80b9b0 = $vf2ce473b36fb79a44028293890c685be . $v6a559eac8ab38b0b76a6fca32dcb9749; if (is_file($v47826cacc65c665212b821e6ff80b9b0) == false) { throw new publicException("Udata trasform xsl-template was not found \"{$v47826cacc65c665212b821e6ff80b9b0}\""); } $vc3aaa7dd2c4cf0305f95e82438b46e82 = DomDocument::load($v47826cacc65c665212b821e6ff80b9b0, DOM_LOAD_OPTIONS); checkXmlError($vc3aaa7dd2c4cf0305f95e82438b46e82); $v801f7201346b43f8ee8390a1ef20ddcd = new xsltProcessor(); $v801f7201346b43f8ee8390a1ef20ddcd->registerPHPFunctions(); $v801f7201346b43f8ee8390a1ef20ddcd->importStyleSheet($vc3aaa7dd2c4cf0305f95e82438b46e82); return $v801f7201346b43f8ee8390a1ef20ddcd->transformToXML($vdd988cfd769c9f7fbd795a0f5da8e751); }