本文整理汇总了PHP中XSLTProcessor::importStyleSheet方法的典型用法代码示例。如果您正苦于以下问题:PHP XSLTProcessor::importStyleSheet方法的具体用法?PHP XSLTProcessor::importStyleSheet怎么用?PHP XSLTProcessor::importStyleSheet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XSLTProcessor
的用法示例。
在下文中一共展示了XSLTProcessor::importStyleSheet方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processor
/**
* @return \XSLTProcessor
*/
protected function processor()
{
if (!$this->processor) {
$this->processor = new \XSLTProcessor();
if ('php' == $this->root()->attr('exclude-result-prefixes')) {
$this->processor->registerPHPFunctions();
}
$this->processor->importStyleSheet($this);
}
return $this->processor;
}
示例2: getProductsReview
/**
* get product reviews from feefo
*
* @return array
*/
public function getProductsReview()
{
$check = true;
$reviews = array();
$feefoDir = BP . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'code' . DIRECTORY_SEPARATOR . 'Dotdigitalgroup' . DIRECTORY_SEPARATOR . 'Email' . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . 'frontend' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'feefo';
$logon = $this->helper->getFeefoLogon();
$limit = $this->helper->getFeefoReviewsPerProduct();
$products = $this->getQuoteProducts();
foreach ($products as $sku => $name) {
$url = "http://www.feefo.com/feefo/xmlfeed.jsp?logon=" . $logon . "&limit=" . $limit . "&vendorref=" . $sku . "&mode=productonly";
$doc = new \DOMDocument();
$xsl = new \XSLTProcessor();
if ($check) {
$doc->load($feefoDir . DIRECTORY_SEPARATOR . "feedback.xsl");
} else {
$doc->load($feefoDir . DIRECTORY_SEPARATOR . "feedback-no-th.xsl");
}
$xsl->importStyleSheet($doc);
$doc->loadXML(file_get_contents($url));
$productReview = $xsl->transformToXML($doc);
if (strpos($productReview, '<td') !== false) {
$reviews[$name] = $xsl->transformToXML($doc);
}
$check = false;
}
return $reviews;
}
示例3: getProductsReview
/**
* get product reviews from feefo
*
* @return array
*/
public function getProductsReview()
{
$check = true;
$reviews = array();
$feefo_dir = Mage::getModel('core/config_options')->getLibDir() . DS . 'connector' . DS . 'feefo';
$helper = Mage::helper('ddg');
$logon = $helper->getFeefoLogon();
$limit = $helper->getFeefoReviewsPerProduct();
$products = $this->getQuoteProducts();
foreach ($products as $sku => $name) {
$url = "http://www.feefo.com/feefo/xmlfeed.jsp?logon=" . $logon . "&limit=" . $limit . "&vendorref=" . $sku . "&mode=productonly";
$doc = new DOMDocument();
$xsl = new XSLTProcessor();
if ($check) {
$doc->load($feefo_dir . DS . "feedback.xsl");
} else {
$doc->load($feefo_dir . DS . "feedback-no-th.xsl");
}
$xsl->importStyleSheet($doc);
$doc->load($url);
$productReview = $xsl->transformToXML($doc);
if (strpos($productReview, '<td')) {
$reviews[$name] = $xsl->transformToXML($doc);
}
$check = false;
}
return $reviews;
}
示例4: launch
/**
* Process parameters and display the page.
*
* @return void
* @access public
*/
public function launch()
{
global $interface;
// Retrieve the record from the index
if (!($record = $this->db->getRecord($_GET['id']))) {
PEAR_Singleton::raiseError(new PEAR_Error('Record Does Not Exist'));
}
// Send basic information to the template.
$interface->setPageTitle(isset($record['heading']) ? $record['heading'] : 'Heading unavailable.');
$interface->assign('record', $record);
// Load MARC data
require_once ROOT_DIR . '/sys/MarcLoader.php';
$marcRecord = MarcLoader::loadMarcRecordFromRecord($record);
if (!$marcRecord) {
PEAR_Singleton::raiseError(new PEAR_Error('Cannot Process MARC Record'));
}
$xml = trim($marcRecord->toXML());
// Transform MARCXML
$style = new DOMDocument();
$style->load('services/Record/xsl/record-marc.xsl');
$xsl = new XSLTProcessor();
$xsl->importStyleSheet($style);
$doc = new DOMDocument();
if ($doc->loadXML($xml)) {
$html = $xsl->transformToXML($doc);
$interface->assign('details', $html);
}
// Assign the ID of the last search so the user can return to it.
$interface->assign('lastsearch', isset($_SESSION['lastSearchURL']) ? $_SESSION['lastSearchURL'] : false);
// Display Page
$interface->setTemplate('record.tpl');
$interface->display('layout.tpl');
}
示例5: process
function process($xml)
{
/* load xsl*/
$filter = true;
//remember edit on js file
if ($filter) {
$xmlSession = $_SESSION["process"];
//$xmlSession = simplexml_load_string($xmlSession);
$xml = new DOMDocument();
$xml->loadXML($xmlSession);
$fileXSLPath = $GLOBALS["fileXSL_process"];
$xslDoc = new DomDocument();
$xslDoc->load($fileXSLPath);
//combine xsl into xml
$proc = new XSLTProcessor();
$proc->importStyleSheet($xslDoc);
$xmlTrans = $proc->transformToXML($xml);
$xmlTrans = simplexml_load_string($xmlTrans);
$resultXml = $xmlTrans->saveXML();
processFile($xml);
echo $resultXml;
} else {
echo $xml->saveXML();
//way 2
//echo $xml->asXML();
}
}
示例6: doAction
public function doAction(Zend_Controller_Action $action)
{
$entryId = $action->getRequest()->getParam('entry-id');
$xslt = $action->getRequest()->getParam('xslt');
$this->client = Infra_ClientHelper::getClient();
$xml = $this->client->media->getMrss($entryId);
$xslParams = array();
$xslParams['entryDistributionId'] = '';
$xslParams['distributionProfileId'] = '';
ob_start();
$xmlDoc = new DOMDocument();
$xmlDoc->loadXML($xml);
$xsltDoc = new DOMDocument();
$xsltDoc->loadXML($xslt);
$xslt = new XSLTProcessor();
$xslt->registerPHPFunctions();
// it is safe to register all php fuctions here
$xslt->setParameter('', $xslParams);
$xslt->importStyleSheet($xsltDoc);
$ob = ob_get_clean();
ob_end_clean();
if ($ob) {
$action->getHelper('json')->direct(array('error' => $ob));
}
$obj = array('result' => $xslt->transformToXml($xmlDoc));
$action->getHelper('json')->direct($obj);
}
示例7: render
public function render()
{
eval("\$this->content = \$this->parse{$this->requesttype}();");
$this->checkFor404();
if ($this->format === 'object') {
$this->printObject($this);
} else {
ob_start();
$file = $this->root . '/lib/xml/pigment.xml';
echo '<?xml version="1.0" encoding="ISO-8859-1"?>' . "\n";
if (is_file($file)) {
include $file;
}
$xml = ob_get_contents();
ob_end_clean();
}
if ($this->format === 'xml') {
$type = $this->getHeader('xml');
header("Content-Type: {$type}");
echo $xml;
} else {
if ($this->format === 'default') {
if ($this->requesttype === 'Content') {
$type = $this->getHeader('xml');
$file = "{$this->root}/lib/xsl/{$this->version}.xsl";
if (!is_file($file)) {
$file = "{$this->root}/lib/xsl/default.xsl";
}
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = new DomDocument();
$xsldoc->load($file);
$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
$output = $proc->transformToXML($xmldoc);
$selector = '</html>';
if (strstr($output, $selector)) {
$exp = explode($selector, $output);
$uri = $_SERVER['REQUEST_URI'];
$delim = strstr($uri, '?') ? '&' : '?';
$track = '<object type="text/html" width="1" height="1" data="' . $uri . $delim . 'log"></object>';
$output = implode($track . '</html>', $exp);
}
} else {
$output = $this->content;
}
}
}
if (isset($output)) {
if (isset($this->is404) && $this->is404 === true) {
header(' ', true, 404);
} else {
header("Content-Type: {$this->header}");
}
echo $output;
if ($this->preferences['cache'] && !isset($this->querystring) && !isset($this->is404)) {
$this->cache($output);
}
}
}
示例8: getImportantActs
function getImportantActs($xml_url, $xsl_filename, $n_nodes)
{
try {
// read the xml from url
$xmldoc = new DomDocument();
$xmldoc->load($xml_url);
// read xslt file
$xsldoc = new DomDocument();
$xsldoc->load($xsl_filename);
$xsl = new XSLTProcessor();
$xsl->importStyleSheet($xsldoc);
// trasforma XML secondo l'XSLT ed estrae il contenuto del div
$transformed_xml = new SimpleXMLElement($xsl->transformToXML($xmldoc));
$nodes = $transformed_xml->children();
// write values to screen
$cnt = 0;
foreach ($nodes as $node) {
$cnt++;
$atto = OppAttoPeer::retrieveByPK($node['atto_id']);
printf("\t%d. %s => %f\n", $cnt, $atto->getTitoloCompleto(), $node['totale']);
if ($cnt >= $n_nodes) {
break;
}
}
} catch (Exception $e) {
printf("Errore durante la scrittura del file: %s\n", $e->getMessage());
}
}
示例9: xsl_transform
function xsl_transform($filename, $xslname = null)
{
// Get the original XML document
$xml = new DOMDocument();
$xml->load($filename);
if ($xslname == null) {
// extract bound stylesheet from embedded link
$xp = new DOMXPath($xml);
// use xpath to get the directive
$pi = $xp->evaluate('/processing-instruction("xml-stylesheet")')->item(0);
// extract the "data" part of it
$data = $pi->data;
// find out where the href starts
$start = strpos($data, 'href=');
// and extract the stylesheet name
$xslname = XML_FOLDER . substr($data, $start + 6, -1);
}
// load the XSL stylesheet
$xsl = new DOMDocument();
$xsl->load($xslname);
// prime the transform engine
$xslt = new XSLTProcessor();
$xslt->importStyleSheet($xsl);
// and away we go!
return $xslt->transformToXml($xml);
}
示例10: go
public function go()
{
$fopcfg = dirname(__FILE__) . '/fop_config.xml';
$tmppdf = tempnam('/tmp', 'FOP');
if (!extension_loaded('java')) {
$tmpxml = tempnam('/tmp', 'FOP');
$tmpxsl = tempnam('/tmp', 'FOP');
file_put_contents($tmpxml, $this->xml);
file_put_contents($tmpxsl, $this->xsl);
exec("fop -xml {$tmpxml} -xsl {$tmpxsl} -pdf {$tmppdf} 2>&1");
@unlink($tmpxml);
@unlink($tmpxsl);
} else {
$xml = new DOMDocument();
$xml->loadXML($this->xml);
$xsl = new DOMDocument();
$xsl->loadXML($this->xsl);
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl);
$java_library_path = 'file:/usr/share/fop/lib/fop.jar;file:/usr/share/fop/lib/FOPWrapper.jar';
try {
java_require($java_library_path);
$j_fwc = new JavaClass("FOPWrapper");
$j_fw = $j_fwc->getInstance($fopcfg);
$j_fw->run($proc->transformToXML($xml), $tmppdf);
} catch (JavaException $ex) {
$trace = new Java("java.io.ByteArrayOutputStream");
$ex->printStackTrace(new Java("java.io.PrintStream", $trace));
print "java stack trace: {$trace}\n";
}
}
return $tmppdf;
}
示例11: outPut
public function outPut()
{
$processor = new XSLTProcessor();
$processor->importStyleSheet($this->apresentacao);
$out = $processor->transformToXML($this->conteudo);
return $out;
}
示例12: doRemoveNamespacedNodes
protected function doRemoveNamespacedNodes(&$pq)
{
$xsl = <<<____EOF
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl">
<xsl:template match="*[local-name()=name()]">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@* | text()">
<xsl:copy/>
</xsl:template>
</xsl:stylesheet>
____EOF;
$xsl = \DOMDocument::loadXml($xsl);
$proc = new \XSLTProcessor();
$proc->importStyleSheet($xsl);
$pq->document = $proc->transformToDoc($pq->document);
for ($i = $pq->document->documentElement->attributes->length; $i >= 0; --$i) {
$attr = $pq->document->documentElement->attributes->item($i);
if (substr($attr->name, 0, 6) === 'xmlns:') {
$pq->document->documentElement->removeAttributeNode($attr);
}
}
$pq = PhpQuery::newDocumentHTML($pq->document->saveHTML());
return $this;
}
示例13: DataAsHTML
function DataAsHTML($xslFileName)
{
$xmlData = new SimpleXMLElement('<page/>');
$this->generateXML($xmlData, $this->data);
$xmlfilemodule = simplexml_load_file("modules/" . $this->data['name'] . "/elements.xml");
$xmlData = dom_import_simplexml($xmlData)->ownerDocument;
foreach (dom_import_simplexml($xmlfilemodule)->childNodes as $child) {
$child = $xmlData->importNode($child, TRUE);
$xmlData->documentElement->appendChild($child);
}
$xslfile = "templates/" . $this->template_name . "/" . $xslFileName . ".xsl";
$xslfilemodule = "modules/" . $this->data['name'] . "/elements.xsl";
if (in_array($this->data['name'], $this->selfPages)) {
$xslfile = "templates/" . $this->template_name . "/" . $this->data['name'] . ".xsl";
}
$domXSLobj = new DOMDocument();
$domXSLobj->load($xslfile);
$xpath = new DomXPath($domXSLobj);
$next = $xpath->query('//xsl:include');
$next = $next->item(0);
$next->setAttribute('href', $xslfilemodule);
$next->setAttribute('xml:base', ROOT_SYSTEM);
$xsl = new XSLTProcessor();
$xsl->importStyleSheet($domXSLobj);
return $xsl->transformToXml($xmlData);
}
示例14: getXSLTProcessor
/**
* Returns the XSLTProcessor to use to transform internal XML to HTML5.
*
* @return \XSLTProcessor
*/
protected function getXSLTProcessor()
{
if (isset($this->xsltProcessor)) {
return $this->xsltProcessor;
}
$xslDoc = new DOMDocument();
$xslDoc->load($this->stylesheet);
// Now loading custom xsl stylesheets dynamically.
// According to XSL spec, each <xsl:import> tag MUST be loaded BEFORE any other element.
$insertBeforeEl = $xslDoc->documentElement->firstChild;
foreach ($this->getSortedCustomStylesheets() as $stylesheet) {
if (!file_exists($stylesheet)) {
throw new RuntimeException("Cannot find XSL stylesheet for XMLText rendering: {$stylesheet}");
}
$newEl = $xslDoc->createElement('xsl:import');
$hrefAttr = $xslDoc->createAttribute('href');
$hrefAttr->value = $stylesheet;
$newEl->appendChild($hrefAttr);
$xslDoc->documentElement->insertBefore($newEl, $insertBeforeEl);
}
// Now reload XSL DOM to "refresh" it.
$xslDoc->loadXML($xslDoc->saveXML());
$this->xsltProcessor = new XSLTProcessor();
$this->xsltProcessor->importStyleSheet($xslDoc);
$this->xsltProcessor->registerPHPFunctions();
return $this->xsltProcessor;
}
示例15: transform
/**
* Main entry point
* Perform the XSLT transformation on the found sas.xml files to transform the xml content to the wiki format
* Create an output.xml file containing the export
* @return boolean
*/
public function transform()
{
$this->log('Sas 2 Wiki', true);
$sasFiles = $this->getSasFiles();
$doc = new DOMDocument();
$doc->load($this->xslFile);
$xsl = new XSLTProcessor();
$xsl->importStyleSheet($doc);
$buffer = '';
foreach ($sasFiles as $sasFile) {
$this->log('perform transformation on ' . $sasFile);
$doc->load($sasFile);
$buffer .= $xsl->transformToXML($doc);
}
if (!empty($buffer)) {
$content = "====== List of services ======\nThe sections below give us the list of all available services in the process authoring tool. \nSo you can use each of these TAO's chunk to build your services.";
$content .= "\n{$buffer}\n";
$content .= "''Generated by wfEngine/scripts/wikiSas.php : SaSWiki::transform on " . date('Y-m-d') . "''";
}
if (file_put_contents($this->outputFile, $content)) {
$this->log($this->outputFile . " created");
return true;
}
return false;
}