Exemple #1
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;
 }
Exemple #2
0
											<?php 
$serviceUrl = "http://trigramas.bireme.br/cgi-bin/mxlind/cgi=@areasgeo?pid=" . $pid;
$xmlFile = file_get_contents($serviceUrl);
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xml .= '<root>';
$xml .= '<vars>
															<lang>' . $lang . '</lang>
															<applserver>' . $applServer . '</applserver>
														</vars>';
$xml .= str_replace('<?xml version="1.0" encoding="ISO-8859-1" ?>', '', $xmlFile);
$xml .= '</root>';
if ($_REQUEST['debug'] == 'xml') {
    die($xml);
}
$transformer = new XSLTransformer();
$transformer->setXslBaseUri($defFile["PATH_XSL"]);
$transformer->setXml($xml);
$transformer->setXslFile($defFile["PATH_XSL"] . "datasus.xsl");
$transformer->transform();
$output = $transformer->getOutput();
$output = str_replace('&amp;', '&', $output);
$output = str_replace('&lt;', '<', $output);
$output = str_replace('&gt;', '>', $output);
$output = str_replace('&quot;', '"', $output);
$output = str_replace('<p>', ' ', $output);
$output = str_replace('</p>', ' ', $output);
echo $output;
?>
											</div>
										</TD>
									</TR>
	$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;

?>
Exemple #4
0
        $fullTitle = utf8_decode($fullTitle);
    }
}
// XML Final que contem os dados que precisamos do XML1 e XML2
$xmlFinal = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xmlFinal .= substr($xml2, strpos($xml2, "<root>"), strpos($xml2, "<ref_TITLE>") - strpos($xml2, "<root>")) . '<vars><refid>' . $_REQUEST['refid'] . '</refid><htdocs>' . $pathHtdocs . '</htdocs><service_log>' . $flagLog . '</service_log></vars>';
$xmlFinal .= " <ref_TITLE><![CDATA[" . $fullTitle . "]]></ref_TITLE>";
$xmlFinal .= substr($xml2, strpos($xml2, "<TITLE>"));
if ($_REQUEST['debug2'] == 'on') {
    die($xmlFinal);
}
// Transformação Final, página de links de referencia
$transformerFinal = new XSLTransformer();
$xslFinal = $pathHtdocs . "xsl/sci_reflinks.xsl";
//die("socket = true");
$transformerFinal->setXslBaseUri($pathHtdocs . "xsl");
$transformerFinal->setXml($xmlFinal);
$transformerFinal->setXslFile($xslFinal);
$transformerFinal->transform();
$output = $transformerFinal->getOutput();
if ($transformer->transformedBy == "PHP") {
    //PHP
    $output = utf8_decode($output);
}
if ($transformerFinal->getError()) {
    echo $transformerFinal->getError();
}
$output = str_replace('&amp;', '&', $output);
$output = str_replace('&lt;', '<', $output);
$output = str_replace('&gt;', '>', $output);
$output = str_replace('&quot;', '"', $output);
Exemple #5
0
}
?>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
		<!-- <link rel="stylesheet" href="/applications/scielo-org/css/public/style-<?php 
echo $lang;
?>
.css" type="text/css" media="screen"/> -->
	</head>
	<body>
		<?php 
$xsl = dirname(__FILE__) . "/report.xsl";
$transformer = new XSLTransformer();
//die("socket = true");
$transformer->setXslBaseUri(dirname(__FILE__));
$transformer->setXml($xml);
$transformer->setXslFile($xsl);
$transformer->transform();
$output = $transformer->getOutput();
echo $output;
$pgPrevious = $pg - 1;
$pgNext = $pg + 1;
$totalPages = (int) ceil(substr($xml, strpos($xml, "Isis_Total") + 24, 4) / $viewNum);
$previous = str_replace("&pg=" . $pg, "", $_SERVER['REQUEST_URI']);
$previous .= "&pg=" . $pgPrevious;
$next = str_replace("&pg=" . $pg, "", $_SERVER['REQUEST_URI']);
$next .= "&pg=" . $pgNext;
if ($pg <= $totalPages) {
    //if($totalPages!=1){
    if ($pgPrevious > 0) {
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;
}
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;
}