Пример #1
0
 function xml_xsl($xmlContent, $xslFile, $debug)
 {
     if ($xmlContent == '') {
         die("falta o XML");
     }
     if ($xslFile == '') {
         die("falta XSL para transformar\n" . $xmlContent);
     }
     if (!file_exists($xslFile)) {
         die($xslFile . " not found.");
     }
     $xslt = new XSLTransformer();
     $xslt->xml = $this->insertProcessingInstruction(trim($xmlContent));
     if ($debug == "XML") {
         die($xslt->xml);
     }
     $xslt->setXsl($xslFile);
     if ($debug == "XSL") {
         die($xslt->xsl . '<!--' . $xslFile . '-->');
     }
     $xslt->transform();
     //$r = utf8_decode($xslt->getOutput());
     $r = $xslt->getOutput();
     return $r . $hidden;
 }
Пример #2
0
 function xml_xsl($xml, $xsl, $debug = "")
 {
     $hidden = '';
     $xslBaseUri = $this->xslBaseUri;
     if ($xml == '') {
         die("falta o XML");
     }
     if ($xsl == '') {
         die("falta XSL para transformar\n");
     }
     if ($debug == "XML") {
         die($xml);
     }
     if ($debug == "XSL") {
         die($xsl . '<!--' . $xslBaseUri . $xsl . '-->');
     }
     if (!file_exists($xsl)) {
         die($xsl . " not found.");
     }
     $transform = new XSLTransformer();
     if (strpos(' ' . $xml, '/') == 1 || strpos(' ' . $xml, 'http://') == 1 || strpos(' ' . $xml, 'ftp://') == 1) {
     } else {
         $xml = $this->insertProcessingInstruction(trim($xml));
     }
     if ($xslBaseUri) {
         $transform->setXslBaseUri("file://" . $xslBaseUri);
     }
     if ($transform->setXml($xml) == false) {
         die($transform->getErrorMessage());
     }
     if ($transform->setXsl($xsl) == false) {
         die($transform->getErrorMessage());
     }
     if ($transform->transform() == false) {
         $r = $transform->getErrorMessage();
     } else {
         //transform sempre retorna UTF-8
         $r = $transform->getOutput();
         //$r = utf8_decode($r);
         /*
         			if (!$this->isUTF8($r)){
         				//necessario fazer utf8_decode
         			   $r = html_entity_decode($r);
         		       $r = utf8_decode($r);
         			   $r = preg_replace("/UTF-8/i",$this->find($r,' encoding="','"'),$r);			 
         			}			*/
     }
     //die("XML.php xml é iso?",	strpos(strtolower($xml),'iso-8859-1'));
     //debug("XML.php r é iso?",	strpos(strtolower($r),'iso-8859-1'));
     return $r . $hidden;
 }
Пример #3
0
function transform($xml, $xsl, $debug = false)
{
    $xslt = new XSLTransformer();
    $xslt->setXml($xml);
    $xslt->setXsl($xsl);
    $xslt->transform();
    $error = $xslt->getError();
    if ($error) {
        $xslt->destroy();
        die($error);
    }
    $tranformation = utf8_decode($xslt->getOutput());
    if ($debug) {
        die($tranformation);
    }
    $xslt->destroy();
    return $tranformation;
}
Пример #4
0
	$xml .= '</root>';
	if (getenv("ENV_SOCKET") == "true"){  //socket
		$xslFile = strtoupper($xslName);
		//die("socket = false");
	} else {
		$xslFile = file_get_contents($defFile->getKeyValue("PATH_XSL").$xslName.".xsl");
	}
	$xsl = $xslFile;
	if(isset($_REQUEST['debug']))
	{
		echo '<textarea cols="80" rows="10">';
		echo $xml;
		echo '</textarea>';
		echo '<textarea cols="80" rows="10">';
		echo file_get_contents($xslFile);
		echo '</textarea>';
	}
	$transformer->setXslBaseUri($defFile->getKeyValue("PATH_XSL"));
	//$transformer->setXml(utf8_encode($xml));
	$transformer->setXml($xml);
	$transformer->setXsl($xsl);
	$transformer->transform();

	$result = $transformer->getOutput();

	if($transformer->getError()){
		echo $transformer->getError();
	}
	echo $result;

?>
Пример #5
0
	    }
	    $xml .= $data;
	} while(true);

	fclose ($handle);
*/
$xsl = dirname(__FILE__) . "/xsl/createRSS.xsl";
if (isset($debug)) {
    echo '<h1>XML</h1>';
    echo '<textarea cols="120" rows="18">' . "\n";
    echo $xml;
    echo '</textarea>';
    echo '<h1>XSL</h1>';
    echo '<textarea cols="120" rows="18">' . "\n";
    echo $xsl;
    echo '</textarea>';
    die;
}
$t = new XSLTransformer();
if (getenv("ENV_SOCKET") != "true") {
    //socket
    $xsl = file_get_contents($xsl);
} else {
    $xsl = 'CREATERSS';
}
$t->setXml($xml);
$t->setXsl($xsl);
$t->transform();
$result = $t->getOutput();
echo $result;
ob_flush();
function processTransformation($xml, $xsl)
{
    global $def;
    $result = "";
    $xslParams = array('xml-path' => $def['DATABASE_PATH'] . "xml/");
    $transform = new XSLTransformer();
    if ($def["LETTER_UNIT"] != "") {
        $transform->setXslBaseUri("file://" . $def["LETTER_UNIT"] . "/" . $def["SITE_PATH"]);
    } else {
        $transform->setXslBaseUri("file://" . $def["SITE_PATH"]);
    }
    if ($transform->setXml($xml) == false) {
        die($transform->getErrorMessage());
    }
    if ($transform->setXsl($xsl) == false) {
        die($transform->getErrorMessage());
    }
    $transform->setXslParameters($xslParams);
    if ($transform->transform() == false) {
        print $transform->getErrorMessage();
    } else {
        $result = utf8_decode($transform->getOutput());
    }
    return $result;
}
Пример #7
0
function generatePayload($ws_client_url, $service, $service_name, $parameters, $xsl)
{
    global $debug, $defFile;
    //die($service_name." - ".$service);
    switch ($service_name) {
        case "Identify":
            $response = listRecords($set = $parameters["set"], $from = $parameters["from"], $until = $parameters["until"], $control = $parameters["control"], $lang = "en", $nrm = "iso", $count = 30, $debug = false);
            break;
        case "ListMetadataFormats":
            $response = getAbstractArticle($set = $parameters["set"], $from = $parameters["from"], $until = $parameters["until"], $control = $parameters["control"], $lang = "en", $nrm = "iso", $count = 30, $debug = false);
            break;
        case "ListIdentifiers":
            $response = listRecords($set = $parameters["set"], $from = $parameters["from"], $until = $parameters["until"], $control = $parameters["control"], $lang = "en", $nrm = "iso", $count = 30, $debug = false);
            break;
        case "ListSets":
            $response = getTitles($lang = "en", $debug = false);
            break;
        case "ListRecords":
            $response = ListRecords($set = $parameters["set"], $from = $parameters["from"], $until = $parameters["until"], $control = $parameters["control"], $lang = "en", $nrm = "iso", $count = 30, $debug = false);
            break;
        case "GetRecord":
            $response = getAbstractArticle($pid = $parameters["pid"], $lang = "en", $ws = $parameters["ws_oai"], $debug = false);
            break;
    }
    // $result = "";
    if (!$debug) {
        $transform = new XSLTransformer();
        if (getenv("ENV_SOCKET") != "true") {
            //socket
            $xsl = file_get_contents($defFile["PATH_OAI"] . $xsl);
        } else {
            $xsl = str_replace('.XSL', '', strtoupper($xsl));
        }
        $transform->setXslBaseUri($defFile["PATH_OAI"]);
        $transform->setXsl($xsl);
        $transform->setXml($response);
        $transform->transform();
        if ($transform->getError()) {
            // Transformation error
            echo "XSL Transformation error\n";
            echo $transform->getError();
            $transform->destroy();
            exit;
        }
        $result = $transform->getOutput();
        $transform->destroy();
    }
    return $result;
}