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


PHP xslt_error函数代码示例

本文整理汇总了PHP中xslt_error函数的典型用法代码示例。如果您正苦于以下问题:PHP xslt_error函数的具体用法?PHP xslt_error怎么用?PHP xslt_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: perform_xslt

function perform_xslt($xml, $s, $islast, $isfirst, $param_path)
{
    global $base_path, $charset;
    $transform = "{$base_path}/admin/convert/imports/" . $param_path . "/" . $s['XSLFILE'][0]['value'];
    //Si c'est la première transformation, on rajoute les entêtes
    if ($isfirst) {
        if ($s['ENCODING']) {
            $xml1 = "<?xml version=\"1.0\" encoding=\"" . $s['ENCODING'] . "\"?>\n<" . $s['ROOTELEMENT'][0]["value"];
        } else {
            $xml1 = "<?xml version=\"1.0\" encoding=\"{$charset}\"?>\n<" . $s['ROOTELEMENT'][0]["value"];
        }
        if ($s["NAMESPACE"]) {
            $xml1 .= " xmlns:" . $s["NAMESPACE"][0]["ID"] . "='" . $s["NAMESPACE"][0]["value"] . "' ";
        }
        $xml1 .= ">\n" . $xml . "\n</" . $s['ROOTELEMENT'][0]['value'] . ">";
        $xml = $xml1;
    }
    $f = fopen($transform, "r");
    $xsl = fread($f, filesize($transform));
    fclose($f);
    //Création du processeur
    $xh = xslt_create();
    //Encodage = $charset
    if (defined("ICONV_IMPL")) {
        xslt_set_encoding($xh, "{$charset}");
    }
    // Traite le document
    if ($result = @xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml" => $xml, "/_xsl" => $xsl))) {
        $r['VALID'] = true;
        $r['DATA'] = $result;
        $r['ERROR'] = "";
        //Si c'est la dernière transformation, on supprime les entêtes et l'élément root
        if ($islast) {
            $p = preg_match("/<" . $s['TNOTICEELEMENT'][0]['value'] . "(?:\\ [^>]*|)>/", $r["DATA"], $m, PREG_OFFSET_CAPTURE);
            if ($p) {
                $r['DATA'] = "  " . substr($r['DATA'], $m[0][1]);
            }
            $p1 = 0;
            $p = 0;
            while ($p !== false) {
                $p1 = $p;
                $p = @strpos($r['DATA'], "</" . $s['TNOTICEELEMENT'][0]['value'] . ">", $p1 + strlen("</" . $s['TNOTICEELEMENT'][0]['value'] . ">"));
            }
            if ($p1 !== false && $p1 != 0) {
                $r['DATA'] = substr($r['DATA'], 0, $p1 + strlen($s['TNOTICEELEMENT'][0]['value']) + 3) . "\n";
            }
        }
    } else {
        $r['VALID'] = false;
        $r['DATA'] = "";
        $r['ERROR'] = "Sorry, notice could not be transformed by {$transform} the reason is that " . xslt_error($xh) . " and the error code is " . xslt_errno($xh);
    }
    xslt_free($xh);
    return $r;
}
开发者ID:noble82,项目名称:proyectos-ULS,代码行数:55,代码来源:xmltransform.php

示例2: transform

 function transform()
 {
     $args = array("/_stylesheet", $this->xsl, "/_xmlinput", $this->xml, "/_output", 0, 0);
     if ($err = xslt_run($this->processor, "arg:/_stylesheet", "arg:/_xmlinput", "arg:/_output", 0, $args)) {
         $output = xslt_fetch_result($this->processor, "arg:/_output");
         $this->setOutput($output);
     } else {
         $this->setError(xslt_error($this->processor));
         $this->setErrorCode(xslt_errno($this->processor));
     }
 }
开发者ID:Ethennoob,项目名称:Web,代码行数:11,代码来源:xslt-4.0.php

示例3: transform

 function transform()
 {
     $args = array('/_xml' => $this->xml, '/_xsl' => $this->xsl);
     $result = xslt_process($this->processor, 'arg:/_xml', 'arg:/_xsl', NULL, $args);
     if ($result) {
         $this->setOutput($result);
     } else {
         //            $err = "Error: " . xslt_error ($this->processor) . " Errorcode: " . xslt_errno ($this->processor);
         $this->setError(xslt_error($this->processor));
         $this->setErrorCode(xslt_errno($this->processor));
     }
 }
开发者ID:padlrosa,项目名称:Regional-2,代码行数:12,代码来源:xslt.php

示例4: transform

 function transform()
 {
     global $ilLog;
     $this->__init();
     $this->fo_string = @xslt_process($this->xslt_handler, "arg:/_xml", "arg:/_xsl", null, $this->xslt_args, $this->xslt_params);
     if (strlen($error_msg = xslt_error($this->xslt_handler))) {
         $ilLog->write("Error generating pdf: " . $error_msg);
         return false;
     }
     xslt_free($this->xslt_handler);
     return true;
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:12,代码来源:class.ilXML2FO.php

示例5: output

function output($output)
{
    /* Falls die Seite als HTML ausgegeben werden soll */
    /* Eine Weiche einbauen, fals die XSLT Extension nicht geladen ist -> 
       http://koders.com/php/fidB0434D36F01703F9ACAB5E21065E315FE44D2C57.aspx?s=xslt_process
       http://koders.com/php/fid78371B5F37DAE258E3258B91CC791A712CBF2AAC.aspx?s=xslt_process
       */
    if (isset($_SESSION['variables']['extention']) and $_SESSION['variables']['extention'] == "html" and IS_XSLT) {
        if (version_compare(phpversion(), "5.0", ">")) {
            $processor = new XSLTProcessor();
            $xmlDom = new DOMDocument();
            $xslDom = new DOMDocument();
            $xmlDom->loadXML($output);
            $xslDom->load(BIN_DIR . "xslt/index.xsl");
            $processor->importstylesheet($xslDom);
            /* Transformiert den Output
               :TODO: Fehlerabfrage der Resultates
               :ATTENTION: eventuell werden die im XSL-File includeten Dateien falsch eingebunden*/
            $result = $processor->transformtoxml($xmlDom);
        } else {
            /* PHP4 XSLT Prozessor, ist auch unter PHP5 erreichbar, nur langsamer */
            /* XSL File auslesen und Content ueberschreiben */
            $filename = "xslt/main.xsl";
            $handle = fopen($filename, "r");
            $xsl_contents = fread($handle, filesize($filename));
            fclose($handle);
            /* :TODO: Anpassen des xsc fuer die Uebergabe des Templatefiles */
            // $xsl = sprintf($xsl_contents, $_SESSION['variables']['template_content']);
            $xsl = $xsl_contents;
            /* Stylesheet uebergeben */
            $processor_arguments = array('/_xml' => $output, '/_xsl' => $xsl);
            $processor = xslt_create();
            xslt_set_encoding($processor, 'ISO-8859-1');
            xslt_set_base($processor, 'file://' . BIN_DIR . 'xslt/');
            /* Transformiert den Output */
            $result = xslt_process($processor, 'arg:/_xml', 'arg:/_xsl', NULL, $processor_arguments);
            if (!$result && xslt_errno($processor) > 0) {
                $result = sprintf("Kann XSLT Dokument nicht umarbeiten [%d]: %s", xslt_errno($processor), xslt_error($processor));
            }
            xslt_free($processor);
        }
        /* Gibt das HTML-Dokument aus */
        echo $result;
    } else {
        header("Content-Type: text/xml");
        echo $output;
    }
}
开发者ID:BackupTheBerlios,项目名称:urulu-svn,代码行数:48,代码来源:output.php

示例6: _output_xsl_generic_transform

/**
 * Transformation générique d'un document XML via XSLT
 * @param string $filename nom du fichier source
 * @param string $filename_source nom du fichier en sortie
 * @param string $stylesheet nom de la feuille XSLT
 * @param array $params paramètres à passer à la feuille XSLT
 * @access private
 * @return boolean vrai quand tout se passe bien
 */
function _output_xsl_generic_transform($filename, $filename_cible, $stylesheet, $params = array())
{
    /* Attention : code hautement toxique, il a fallu aller fouiller
       dans les sources de PHP pour découvrir une grande partie des engins
       nucléaires en jeu ici et rien ne garantit leur stabilité. Désolé pour
       le développement durable, c'est pas trop ça ici. */
    $xh = xslt_create();
    $result = xslt_process($xh, $filename, PATH_INCLUDE . "xslt/" . $stylesheet, $filename_cible, array(), $params);
    if (!$result) {
        $msgerr = 'Erreur XSLT ' . xslt_errno($xh) . ' : ' . xslt_error($xh);
        xslt_free($xh);
        return false;
    } else {
        return true;
    }
}
开发者ID:BackupTheBerlios,项目名称:openweb-cms-svn,代码行数:25,代码来源:OutputFactory.lib.php

示例7: xsltTransform

function xsltTransform($xmlString, $xsltPath, $xsltArguments = null)
{
    if (!file_exists($xsltPath)) {
        webserviceError('&error-xslt-path-not-found;', 500, array('path' => $xsltPath));
    }
    $result = null;
    $xsltEnabledStatus = getXsltEnabledStatus();
    switch ($xsltEnabledStatus) {
        case 'php5':
            $xslt = new XSLTProcessor();
            $xsltDocument = new DOMDocument();
            $xsltDocument->load($xsltPath);
            $xslt->importStyleSheet($xsltDocument);
            if (is_array($xsltArguments)) {
                foreach ($xsltArguments as $key => $value) {
                    $xslt->setParameter('', $key, $value);
                }
            }
            $errorLevelToDescribeMerelyDeprecatedWarnings = 999999;
            $xmlDocument = new DOMDocument();
            $xmlDocument->loadXML($xmlString);
            $result = $xslt->transformToXML($xmlDocument);
            break;
        case 'php4':
            $xsltproc = xslt_create();
            $xmlString = array('/_xml' => $xmlString);
            $xsltPath = 'file://' . $xsltPath;
            $result = @xslt_process($xsltproc, 'arg:/_xml', $xsltPath, NULL, $xmlString, $xsltArguments) or webServiceError('&error-xslt-processor-error;', 500, array('path' => $xsltPath, 'errorMessage' => xslt_error($xsltproc)));
            if (empty($result) or xslt_error($xsltproc) != null) {
                webServiceError('&error-xslt-processor-error;', 500, array('path' => $xsltPath, 'errorMessage' => xslt_error($xsltproc)));
            }
            xslt_free($xsltproc);
            break;
        default:
            $commandLineMessage = '';
            $phpVersion = getPhpVersion();
            if ($phpVersion >= 5) {
                webServiceError('&error-xslt-not-available;');
            } else {
                webServiceError('&error-php5-required;', 500, array('phpVersion' => $phpVersion));
            }
    }
    return $result;
}
开发者ID:Nolfneo,项目名称:docvert,代码行数:44,代码来源:xslt.php

示例8: doTransform

function doTransform($xmlfilename, $xslfilename)
{
    $xh = xslt_create();
    if (!$xh) {
        echo "<p>ERROR: unable to invoke php's xslt processor";
        return;
    }
    $root = 'file://' . $_SERVER['DOCUMENT_ROOT'];
    $result = xslt_process($xh, $root . $xmlfilename, $root . $xslfilename);
    if ($result) {
        header("Content-type: application/ms-excel");
        //header("Content-type: application/vnd.ms-excel");
        header('Content-Disposition: attachment; filename="' . $GLOBALS['outfile'] . '.xls";');
        echo $result;
    } else {
        echo "<p>ERROR: unable to transform " . $xmlfilename;
        echo "<br>" . xslt_error($xh);
    }
    xslt_free($xh);
}
开发者ID:modulexcite,项目名称:frameworks,代码行数:20,代码来源:excel.php

示例9: transform

 function transform()
 {
     $args = array('/_xml' => $this->xml, '/_xsl' => $this->xsl);
     $result = xslt_process($this->processor, 'arg:/_xml', 'arg:/_xsl', NULL, $args);
     if (xslt_error($this->processor) != '') {
         echo "class.XSLTransformer41.php<br>";
         echo "xslt_error:" . xslt_error($this->processor) . "<br>";
         echo "result:" . $result . "<br>";
     }
     if (strlen($result) == 0) {
         echo "class.XSLTransformer41.php<br>";
         echo "xslt_error:" . xslt_error($this->processor) . "<br>";
         echo "result:" . $result . "<br>";
     }
     if ($result) {
         $this->setOutput($result);
     } else {
         echo "class.XSLTransformer41.php<br>";
         $err = "<br/>Error: " . xslt_error($this->processor) . "<br/>Errorcode: " . xslt_errno($this->processor);
         $this->setError($err);
     }
 }
开发者ID:swarzesherz,项目名称:PC-Programs,代码行数:22,代码来源:class.XSLTransformer41.php

示例10: transformPHP4

 static function transformPHP4(&$InformationArray)
 {
     // create the XSLT processor^M
     $xh = xslt_create() or die("Could not create XSLT processor");
     // Process the document
     $result = xslt_process($xh, $InformationArray['fileBase'] . $InformationArray['xml_file'], $InformationArray['fileBase'] . $InformationArray['xslt_file'], $InformationArray['fileBase'] . $InformationArray['out_file']);
     if (!$result) {
         // Something croaked. Show the error
         $InformationArray['error'] = "Cannot process XSLT document: " . xslt_errno($xh) . " " . xslt_error($xh);
     }
     // Destroy the XSLT processor
     xslt_free($xh);
 }
开发者ID:rdegennaro,项目名称:Check-It,代码行数:13,代码来源:admin.booklibrary.class.impexp.php

示例11: transform

 function transform()
 {
     /* apply replacements on xml and xsl strings after process transformation */
     if ($this->replacements != "") {
         $this->xml = $this->processReplace($this->xml);
         $this->xsl = $this->processReplace($this->xsl);
     }
     //debug("transform xml",$this->xml);
     //debug("transform xsl",$this->xsl);
     $args = array('/_xml' => $this->xml, '/_xsl' => $this->xsl);
     $result = xslt_process($this->processor, 'arg:/_xml', 'arg:/_xsl', NULL, $args);
     //debug("transform res",$result);
     if ($result) {
         $this->setOutput($result);
         return true;
     } else {
         $this->setError(xslt_error($this->processor));
         $this->setErrorCode(xslt_errno($this->processor));
         return false;
     }
 }
开发者ID:Ethennoob,项目名称:Web,代码行数:21,代码来源:xslt-4.1.php

示例12: getExchangeContent

 /**
  * @return string
  */
 public function getExchangeContent()
 {
     if (!file_exists($this->getXSLPath())) {
         return '';
     }
     $output = '';
     $xsl_file_content = file_get_contents($this->getXSLPath());
     $xsl = file_get_contents("./Services/Certificate/xml/fo2xhtml.xsl");
     if (strlen($xsl_file_content) && strlen($xsl)) {
         $args = array('/_xml' => $xsl_file_content, '/_xsl' => $xsl);
         $xh = xslt_create();
         $output = xslt_process($xh, "arg:/_xml", "arg:/_xsl", NULL, $args, NULL);
         xslt_error($xh);
         xslt_free($xh);
     }
     $output = preg_replace("/<\\?xml[^>]+?>/", "", $output);
     // dirty hack: the php xslt processing seems not to recognize the following
     // replacements, so we do it in the code as well
     $output = str_replace("&#xA0;", "<br />", $output);
     $output = str_replace("&#160;", "<br />", $output);
     return $output;
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:25,代码来源:class.ilCertificate.php

示例13: flush

}

// We do have cache
else {
$phpfilename = "$xml_cache/$path/index.php";
if (!hasCache($xmlfilename,$xslfilename,$phpfilename) || filesize($phpfilename) == 0) {
  print "<div style='color: #888888;'>Processing (and caching) file with stylesheet</div>";
  @unlink($phpfilename);
  flush();
  //print nl2br(htmlentities("$xmlcontent"));

  $tmpfile = "$phpfilename.tmp";
//  print "\n($xmlfilename to $tmpfile)";
  if (!@xslt_process($xslt,$xmlfilename,"$xslfilename",$tmpfile,null,$xsl_params)) {
      @unlink($phpfilename);
      fatal_error("xslt error: " . xslt_error($xslt) . "</div>");
    }

  //  chdir($cwd);
  rename($tmpfile,$phpfilename) || $phpfilename = $tmpfile;
}

include($phpfilename);
}

print "</div>\n";


if ($write_access) {
?>
<div id="s_div" class="status">
开发者ID:BackupTheBerlios,项目名称:x-rai-svn,代码行数:31,代码来源:collections.php

示例14: processPrintoutput2FO

 /**
  * Convert a print output to XSL-FO
  *
  * @param string $print_output The print output
  * @return string XSL-FO code
  * @access public
  */
 function processPrintoutput2FO($print_output)
 {
     if (extension_loaded("tidy")) {
         $config = array("indent" => false, "output-xml" => true, "numeric-entities" => true);
         $tidy = new tidy();
         $tidy->parseString($print_output, $config, 'utf8');
         $tidy->cleanRepair();
         $print_output = tidy_get_output($tidy);
         $print_output = preg_replace("/^.*?(<html)/", "\\1", $print_output);
     } else {
         $print_output = str_replace("&nbsp;", "&#160;", $print_output);
         $print_output = str_replace("&otimes;", "X", $print_output);
     }
     $xsl = file_get_contents("./Modules/Test/xml/question2fo.xsl");
     // additional font support
     $xsl = str_replace('font-family="Helvetica, unifont"', 'font-family="' . $GLOBALS['ilSetting']->get('rpc_pdf_font', 'Helvetica, unifont') . '"', $xsl);
     $args = array('/_xml' => $print_output, '/_xsl' => $xsl);
     $xh = xslt_create();
     $params = array();
     $output = xslt_process($xh, "arg:/_xml", "arg:/_xsl", NULL, $args, $params);
     xslt_error($xh);
     xslt_free($xh);
     return $output;
 }
开发者ID:bheyser,项目名称:qplskl,代码行数:31,代码来源:class.ilObjTest.php

示例15: set_time_limit

require_once "include/xrai.inc";
set_time_limit(360);
$file = $_REQUEST["file"];
$phpfilename = "{$xml_cache}/{$file}-treeview.php";
$xmlfilename = "{$xml_documents}/{$file}.xml";
$xslfilename = "xsl/treeview.xsl";
// $do_debug = true;
$tmpfile = "";
if ($dodebug || !hasCache($xmlfilename, $xslfilename, $phpfilename) || filesize($phpfilename) == 0) {
    @unlink($phpfilename);
    //print nl2br(htmlentities("$xmlcontent"));
    if (!file_exists($xmlfilename)) {
        fatal_error("File {$xmlfilename} does not exist");
    }
    $tmpfilename = "{$phpfilename}.tmp";
    $xslp = array("baseurl" => "{$base_url}/");
    if (!@xslt_process($xslt, "{$xmlfilename}", "{$xslfilename}", "{$tmpfilename}", $params, $xslp)) {
        @unlink("{$phpfilename}.tmp");
        fatal_error("XSLT error (1): " . xslt_error($xslt));
    }
    $phpfilename_cache = $phpfilename;
    $phpfilename = $tmpfilename;
}
if (!is_file("{$phpfilename}")) {
    fatal_error("<div>Can't find processed XML file ({$phpfilename}). Please try to reload page or <a href='{$base_url}/informations.php'>report a bug</a>.</div>");
}
// set_error_handler("include_error_handler")
readfile($phpfilename);
if ($phpfilename_cache) {
    @rename("{$tmpfile}", $phpfilename_cache);
}
开发者ID:BackupTheBerlios,项目名称:x-rai-svn,代码行数:31,代码来源:article_treeview.php


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