当前位置: 首页>>代码示例>>PHP>>正文


PHP XSLTProcessor::transformToXml方法代码示例

本文整理汇总了PHP中XSLTProcessor::transformToXml方法的典型用法代码示例。如果您正苦于以下问题:PHP XSLTProcessor::transformToXml方法的具体用法?PHP XSLTProcessor::transformToXml怎么用?PHP XSLTProcessor::transformToXml使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XSLTProcessor的用法示例。


在下文中一共展示了XSLTProcessor::transformToXml方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: saveXML

 public function saveXML($me = true)
 {
     $xml = new XMLDom();
     if (!self::$xsl instanceof \XSLTProcessor) {
         self::$xsl = new \XSLTProcessor();
         self::$xsl->importStylesheet(XMLDom::loadXMLString('<?xml version="1.0" encoding="utf-8"?>
             <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
             <xsl:output omit-xml-declaration="yes" method="xml"/>
             <xsl:template match="node()|@*" priority="-4">
                 <xsl:copy>
                     <xsl:apply-templates  select="@*"/>
                     <xsl:apply-templates />
                 </xsl:copy>
             </xsl:template>
             <xsl:template match="/" priority="-4">
                 <xsl:apply-templates />
             </xsl:template>
         </xsl:stylesheet>'));
     }
     if ($me) {
         $xml->appendChild($xml->importNode($this, true));
         return self::$xsl->transformToXml($xml);
     } else {
         foreach ($this->childNodes as $node) {
             $xml->appendChild($xml->importNode($node, true));
         }
     }
     return self::$xsl->transformToXml($xml);
 }
开发者ID:goetas,项目名称:xmldom,代码行数:29,代码来源:XMLDomElement.php

示例2: 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);
}
开发者ID:kptnkrnch,项目名称:COMP-4711-Final-Project,代码行数:26,代码来源:display_helper.php

示例3: 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);
 }
开发者ID:DBezemer,项目名称:server,代码行数:27,代码来源:XsltTesterApiAction.php

示例4: 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);
 }
开发者ID:jvmxgs,项目名称:howto,代码行数:26,代码来源:Template.class.php

示例5: execute

 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $environment = $input->getOption('env');
     try {
         $transformer = $input->getOption('xsl');
         $xsl = new \DOMDocument();
         $xsl->load($transformer);
         $xslt = new \XSLTProcessor();
         $xslt->registerPHPFunctions();
         $xslt->importStylesheet($xsl);
         $files = $input->getOption('file');
         foreach ($files as $file) {
             $output->writeln('Transforming file: ' . $file);
             $doc = new \DOMDocument();
             $doc->load($file);
             $xml = $xslt->transformToXml($doc);
             $xmlobj = new \SimpleXMLElement($xml);
             $xmlobj->asXML('output.xml');
         }
     } catch (\Exception $ex) {
         $exception = new OutputFormatterStyle('red');
         $output->getFormatter()->setStyle('exception', $exception);
         $output->writeln("\n\n");
         $output->writeln('<exception>[Exception in: ' . get_class($this) . ']</exception>');
         $output->writeln('<exception>Exception: ' . get_class($ex) . ' with message: ' . $ex->getMessage() . '</exception>');
         $output->writeln('<exception>Stack Trace:</exception>');
         $output->writeln('<exception>' . $ex->getTraceAsString() . '</exception>');
         exit(1);
     }
     exit(0);
 }
开发者ID:rhapsody-project,项目名称:commons-bundle,代码行数:34,代码来源:XslTransformCommand.php

示例6: testHeaderDoesNotContainCompleteLogFileContentXsltProcessor

 /**
  * Tests that the header stylesheet does not reprints the complete log file
  * content. This issue occured with some CC versions because the corresponding
  * template does not include a default template for <b>/</b>.
  *
  * @return void
  * @group stylesheet
  */
 public function testHeaderDoesNotContainCompleteLogFileContentXsltProcessor()
 {
     $xsl = $this->createXslStylesheet('header.xsl');
     $xml = $this->createCruiseControlLog();
     $proc = new XSLTProcessor();
     $proc->importStylesheet($xsl);
     $this->assertSame($this->loadExpectedResult(), trim($proc->transformToXml($xml)));
 }
开发者ID:hpbuniat,项目名称:phpUnderControl,代码行数:16,代码来源:StylesheetHeaderTest.php

示例7: transformToXML

 /**
  * @param DOMDocument|SimpleXMLElement $doc
  * @return string
  */
 public function transformToXML($doc)
 {
     $styleSheet = $this->styleSheetToDomDocument();
     $transpiler = $this->createTranspiler($styleSheet);
     libxml_use_internal_errors();
     parent::importStylesheet($this->getTranspiledStyleSheet($transpiler, $styleSheet));
     return $transpiler->transform(function () use($doc) {
         return parent::transformToXml($doc);
     });
 }
开发者ID:Samshal,项目名称:xsl,代码行数:14,代码来源:XsltProcessor.php

示例8: execute

 /**
  * Transform the XML/XSL documents into an XML (probably XHTML) document
  * @return string
  */
 public function execute($parameters = array())
 {
     $xslt = new XSLTProcessor();
     $xslt->importStylesheet($this->xsl);
     $xslt->setParameter(null, $parameters);
     //unfortunately this doesn't capture any warnings generated whilst transforming
     $transformation = $xslt->transformToXml($this->xml);
     if ($transformation === false) {
         throw new MalformedPage("There was an error tranforming the page");
     }
     return $transformation;
 }
开发者ID:Acidburn0zzz,项目名称:xframe-legacy,代码行数:16,代码来源:Transformation.php

示例9: process

 public function process()
 {
     $xslt = new XSLTProcessor();
     $xslt->registerPHPFunctions();
     $baseExt = 'Base';
     $xslt->setParameter('', 'ext', $baseExt);
     $xslt->importStylesheet($this->stylesheet);
     $baseTypes = $xslt->transformToXml($this->schema);
     $fp = fopen('BaseTypes.php', 'w');
     fwrite($fp, $baseTypes);
     fclose($fp);
 }
开发者ID:kasyaar,项目名称:pws,代码行数:12,代码来源:PWS_BaseTypesGenerator.php

示例10: render_instance

 public static function render_instance(BlockInstance $instance, $editing = false)
 {
     // Check if XSLT extension is loaded properly, because we will need it...
     // The XSL extension implements the XSL standard, performing XSLT transformations using the libxslt library.
     $xslext = extension_loaded('xsl');
     if (!$xslext) {
         $missingextensions = array();
         !$xslext && ($missingextensions[] = 'xsl');
         $errormsg = '<p>' . get_string('europassextensionmissing', 'artefact.europass') . '</p>';
         $errormsg .= '<ul>';
         foreach ($missingextensions as $extension) {
             $errormsg .= '<li><a href="http://www.php.net/' . $extension . '">' . $extension . '</a></li>';
         }
         $errormsg .= '</ul>';
         return $errormsg;
         exit;
     }
     global $USER;
     $configdata = $instance->get('configdata');
     if ($configdata == array()) {
         $locale = set_default_locale(get_config('lang'));
     } else {
         $locale = $configdata['locale'];
     }
     $configdata['viewid'] = $instance->get('view');
     // Load up the Europass CV generated XML string
     //$xmlDoc = new DOMDocument;
     //$xmlDoc->loadXML(generate_europasscv_xml((!empty($configdata['userid']) ? $configdata['userid'] : $USER->get('id')), true, $locale, (!empty($configdata['internaldate']) ? $configdata['internaldate'] : 'dmy11'), (!empty($configdata['externaldate']) ? $configdata['externaldate'] : '/numeric/long')));
     $xmlDoc = simplexml_load_string(generate_europasscv_xml(!empty($configdata['userid']) ? $configdata['userid'] : $USER->get('id'), true, $locale, !empty($configdata['internaldate']) ? $configdata['internaldate'] : 'dmy11', !empty($configdata['externaldate']) ? $configdata['externaldate'] : '/numeric/long'));
     // Load up the appropriate XSL file, according to selected locale
     //$xslDoc = new DOMDocument;
     //$xslDoc->load(get_config('docroot') . 'artefact/europass/blocktype/europasscv/xsl/cv_' . $locale . '_V2.0.xsl');
     $xslDoc = simplexml_load_string(file_get_contents(get_config('wwwroot') . 'artefact/europass/blocktype/europasscv/xsl/cv_' . $locale . '_V2.0.xsl'));
     //Start the XSLT processor and import stylesheet
     $xslt = new XSLTProcessor();
     $xslt->importStyleSheet($xslDoc);
     // Apply the transformation
     $html = $xslt->transformToXml($xmlDoc);
     $start = stripos($html, '<body>');
     $finish = stripos($html, '</body>');
     $result = '<link rel="stylesheet" type="text/css" href="' . get_config('wwwroot') . 'artefact/europass/theme/raw/static/style/html.css">';
     //$result .= '<table width="700" border="0" cellspacing="0" cellpadding="0" class="CV" id="CV">';
     $result .= substr($html, $start + 6, $finish - $start);
     //$result .= '</table>';
     $result = html_entity_decode($result);
     // Replace the following reference because it does not exist anymore:
     // http://europass.cedefop.europa.eu/instruments/images/logospace.gif
     $result = str_replace('http://europass.cedefop.europa.eu/instruments/images/logospace.gif', get_config('wwwroot') . 'artefact/europass/images/space.png', $result);
     return $result;
 }
开发者ID:povsod,项目名称:mahara-artefact-europass,代码行数:50,代码来源:lib.php

示例11: getHtmlForObjectId

 public function getHtmlForObjectId(\FrameResponseObject $frameResponseObject)
 {
     $mplme = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id);
     if (isset($this->params[1]) && !strstr($this->params[1], "?")) {
         $doc = \steam_factory::get_object_by_name($GLOBALS["STEAM"]->get_id(), $mplme->get_path() . "/" . $this->params[1]);
         if (isset($doc) && $doc !== 0 && $doc instanceof \steam_document) {
             echo $doc->download();
             //echo $doc->get_content();
         } else {
             echo "404";
         }
         die;
     }
     $elements = $mplme->get_inventory();
     $html = "";
     foreach ($elements as $element) {
         if ($element->get_name() == "data.xml") {
             $xmlContent = $element->get_content();
             //$html .= "<b>".$element->get_name()."</b><br><pre>". htmlentities($element->get_content()) . "</pre><br>";
         } else {
             if ($element->get_name() == $_REQUEST["xslName"] . ".xsl") {
                 $xslContent = $element->get_content();
                 //$html .= "<b>".$element->get_name()."</b><br><pre>". htmlentities($element->get_content()) . "</pre><br>";
             } else {
                 //$html .= "<b>".$element->get_name()."</b><br>";
             }
         }
     }
     if (isset($xmlContent) && isset($xslContent)) {
         $xml = new \DOMDocument();
         $xml->loadXML($xmlContent);
         $searchstring = '/<includexslt[ 0-9a-zA-Z=\\/\\"]*url="([~\\-0-9a-zA-Z=\\:\\?\\&\\.\\/]+)"[ 0-9a-zA-Z=\\/"]*[ \\-0-9a-zA-Z=\\/"]*\\/>/i';
         $xslContent = preg_replace_callback($searchstring, array(&$this, 'cb_replace'), $xslContent);
         $xsl = new \DOMDocument();
         $xsl->loadXML($xslContent);
         $proc = new \XSLTProcessor();
         $proc->importStylesheet($xsl);
         $html .= $proc->transformToXml($xml);
     }
     if (isset($_REQUEST['output']) && $_REQUEST['output'] === "download") {
         header('Content-Disposition: attachment; filename=data.' . $_REQUEST['xslName']);
     }
     $rawHtml = new \Widgets\RawHtml();
     $rawHtml->setHtml($html);
     $frameResponseObject->addWidget($rawHtml);
     $frameResponseObject->setHeadline(array(array("name" => "zurück", "link" => "javascript:history.back()"), array("name" => "Mplme")));
     return $frameResponseObject;
 }
开发者ID:rolwi,项目名称:koala,代码行数:48,代码来源:Output.class.php

示例12: render

    public function render()
    {
        //return $this->xml;
        // processor
        $processor = new XSLTProcessor();
        // xsl DOMDoc
        $xslDoc = new DOMDocument();
        $xslDoc->loadXML('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
		<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/strict.dtd" doctype-public="-//W3C//DTD HTML 4.01//EN" indent="yes"/>
		' . $this->xsl . '</xsl:stylesheet>');
        // xml DOMDoc
        $xmlDoc = new DOMDocument();
        $xmlDoc->loadXML($this->xml);
        $processor->importStyleSheet($xslDoc);
        return $processor->transformToXml($xmlDoc);
    }
开发者ID:henrikpejer,项目名称:phrontend,代码行数:16,代码来源:phrontend.php

示例13: odt2spip_traiter_mathml

function odt2spip_traiter_mathml($chemin_fichier) {
  // recuperer le contenu du fichier
    if (!$mathml = file_get_contents($chemin_fichier)) return(_T('odtspip:err_transformation_xslt_mathml'));
  
  // virer le DOCTYPE qui plante le parseur vu que la dtd n'est pas disponible
    $mathml = preg_replace('/<!DOCTYPE.*?>/i', '', $mathml);

  // variable en dur pour xslt utilisée
//    $xml_entre = _DIR_TMP.'odt2spip/'.$id_auteur.'/content.xml';  // chemin du fichier xml à lire
    $xslt_texte = _DIR_PLUGIN_ODT2SPIP.'inc/xsltml/mmltex.xsl'; // chemin de la xslt à utiliser pour les maths
    
  // appliquer la transformation XSLT sur le fichier content.xml
    // déterminer les fonctions xslt à utiliser (php 4 ou php 5)
    if (!class_exists('XSLTProcessor')) {
      // on est en php4 : utiliser l'extension et les fonction xslt de Sablotron
      // Crée le processeur XSLT
        $xh = xslt_create();
      // si on est sur un serveur Windows utiliser xslt_set_base avec le préfixe file://
        if (strpos($_SERVER['SERVER_SOFTWARE'], 'Win') !== false) xslt_set_base($xh, 'file://' . getcwd () . '/');
      
      // lancer le parseur
        $arguments = array('/_xml' => $mathml);
        $latex_sortie = xslt_process($xh, 'arg:/_xml', $xslt_texte, NULL, $arguments);
        if (!$latex_sortie) return(_T('odtspip:err_transformation_xslt_mathml'));
      
      // Détruit le processeur XSLT
        xslt_free($xh);
    }
    else {
      // on est php5: utiliser les fonctions de la classe XSLTProcessor
        $proc = new XSLTProcessor();
        
        $xml = new DOMDocument();
        $xml->loadXML($mathml);
        $xsl = new DOMDocument();
        $xsl->load($xslt_texte);
        $proc->importStylesheet($xsl); // attachement des règles xsl
        
      // lancer le parseur
        if (!$latex_sortie = $proc->transformToXml($xml)) return(_T('odtspip:err_transformation_xslt_mathml'));
    }
  
    return $latex_sortie;  
}
开发者ID:rhertzog,项目名称:lcs,代码行数:44,代码来源:odt2spip_traiter_mathml.php

示例14: transform

 public static function transform($data, $type)
 {
     $xslt = APPLICATION_PATH . "/configs/repository/0.1/xslt/" . $type;
     $xslt = $xslt . ".xsl";
     if (file_exists($xslt)) {
         $xsl = new DOMDocument();
         $xsl->load($xslt);
         $xml = new DOMDocument();
         $xml->loadXML($data, LIBXML_NSCLEAN | LIBXML_COMPACT);
         $proc = new XSLTProcessor();
         $proc->registerPHPFunctions();
         $proc->importStylesheet($xsl);
         $data = $proc->transformToXml($xml);
         $data = str_replace('<?xml version="1.0"?' . '>', '', $data);
     } else {
         error_log('Cannot find ' . $xslt);
     }
     return $data;
 }
开发者ID:IASA-GR,项目名称:appdb-core,代码行数:19,代码来源:restapi_repo.php

示例15: _render

 /**
  * Return the full rendered version of the Horde_Mime_Part object.
  *
  * @return array  See parent::render().
  * @throws Horde_Exception
  */
 protected function _render()
 {
     $has_xsl = Horde_Util::extensionExists('xsl');
     if ($has_xsl) {
         $tmpdir = Horde_Util::createTempDir(true) . '/';
     }
     $fnames = array('content.xml', 'styles.xml', 'meta.xml');
     $tags = array('text:p' => 'p', 'table:table' => 'table border="0" cellspacing="1" cellpadding="0" ', 'table:table-row' => 'tr bgcolor="#cccccc"', 'table:table-cell' => 'td', 'table:number-columns-spanned=' => 'colspan=');
     if (!$this->getConfigParam('zip')) {
         $this->setConfigParam('zip', Horde_Compress::factory('Zip'));
     }
     $list = $this->getConfigParam('zip')->decompress($this->_mimepart->getContents(), array('action' => Horde_Compress_Zip::ZIP_LIST));
     foreach ($list as $key => $file) {
         if (in_array($file['name'], $fnames)) {
             $content = $this->getConfigParam('zip')->decompress($this->_mimepart->getContents(), array('action' => Horde_Compress_Zip::ZIP_DATA, 'info' => $list, 'key' => $key));
             if ($has_xsl) {
                 file_put_contents($tmpdir . $file['name'], $content);
             } elseif ($file['name'] == 'content.xml') {
                 return array($this->_mimepart->getMimeId() => array('data' => str_replace(array_keys($tags), array_values($tags), $content), 'status' => array(), 'type' => 'text/html; charset=UTF-8'));
             }
         }
     }
     if (!$has_xsl) {
         return array();
     }
     $xslt = new XSLTProcessor();
     $xsl = new DOMDocument();
     $xsl->load(realpath(__DIR__ . '/Ooo/export/xhtml/opendoc2xhtml.xsl'));
     $xslt->importStylesheet($xsl);
     $xslt->setParameter('http://www.w3.org/1999/XSL/Transform', array('metaFileURL' => 'file://' . $tmpdir . 'meta.xml', 'stylesFileURL' => 'file://' . $tmpdir . 'styles.xml', 'java' => false));
     $xml = new DOMDocument();
     $xml->load(realpath($tmpdir . 'content.xml'));
     $result = $xslt->transformToXml($xml);
     if (!$result) {
         $result = libxml_get_last_error()->message;
     }
     return array($this->_mimepart->getMimeId() => array('data' => $result, 'status' => array(), 'type' => 'text/html; charset=UTF-8'));
 }
开发者ID:raz0rsdge,项目名称:horde,代码行数:44,代码来源:Ooo.php


注:本文中的XSLTProcessor::transformToXml方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。