コード例 #1
0
ファイル: lib.php プロジェクト: solangefpaulino/SBPqO-2015
 /**
  * Saída XML-padrão (campos normalizados, tags e atributos padronizados).
  * Traduz a saída do método asStdXML() para quase que um hSJATS, em XHTML.
  * @param $MODO string 'dom' ou 'xml', designa o tipo de retorno.
  * @param $xmlDom DOMDocument, reusa a saida de asStdXML('dom'). 
  */
 function asStdHtml($MODO = 'xml', $xmlDom = NULL, $allFlor = true, $dayFilter = '')
 {
     if ($MODO == 'dom') {
         die("ERRO3844: modo DOM desativado.");
     }
     if ($xmlDom === NULL) {
         $xmlDom = $this->asStdXML('dom', $dayFilter);
     }
     $XSLfile = $dayFilter ? 'resumosS1_toHtmlF1day' : 'resumosS1_toHtmlF2all';
     $xmlDom = transformToDom("tools/xsl/{$XSLfile}.xsl", $xmlDom);
     // transformId_ToDom($XSL,$xmlDom);
     $xmlDom->encoding = 'UTF-8';
     // importante para saveXML nao usar entidades.
     if ($MODO == 'xml') {
         // GAMBI1: com o XSLT transformando   em branco comum, foi preciso gambiarra! ver ♣.
         // GAMBI2: o certo era percorrer elementos e alterar textos por DOM... string XML mais facil.
         $xml = $xmlDom->saveXML();
         if ($allFlor) {
             $xml = str_replace('♣', ' ', $xml);
         } else {
             // evita risco de remover flor que realmente era flor, verifica apenas entre-nomes.
             $xml = preg_replace('/(?<=\\p{L})♣(?=\\p{L})/us', '&#160;', $xml);
         }
         return $xml;
     } else {
         $xmlDom;
     }
 }
コード例 #2
0
ファイル: main.php プロジェクト: ppKrauss/SBPqO-2015
$isXML = $cmd == 'xml' || $cmd == 'finalXml' || $cmd == 'raw';
$isRELAT = substr($cmd, 0, 5) == 'relat';
$isMultiSec = isset($io_options['multisec']);
$showDomWarnings = isset($io_options['warnings']);
$file = 'php://stdin';
if (isset($io_options['tpl1'])) {
    // cmd tpl1
    $xml = csv2xmlByHead(isset($io_options['in']) ? $io_options['in'] : $file, 'EVENTO', 1);
    $xml = XML_HEADER1 . str_replace('<br>', '<br/>', $xml);
    //die($xml);
    if (isset($io_options['xsltFile'])) {
        $xsl2 = $io_options['xsltFile'];
        $xsl1 = str_replace('.xsl', '_pre.xsl', $xsl2);
        $sdoc = new SimpleXMLElement($xml);
        /// GAMBI pelo bug de XSLT com xsl_getCsvRow()
        $sdoc = transformToDom($xsl1, $sdoc);
        $tmp = $sdoc->saveXML();
        $tmp = preg_replace_callback('#<DIA id="([^"]+)">#s', function ($m) {
            return $m[0] . "<infoGrupo>" . gambi_getCsvRow('programacaoGrupoDia', $m[1]) . "</infoGrupo>";
        }, $tmp);
        $sdoc = new SimpleXMLElement($tmp);
        $xml = transformToXML($xsl2, $sdoc);
    }
    die("{$xml}\n");
} elseif (isset($io_options['convCsv'])) {
    // cmd convCsv
    convCsv($io_options['in']);
    die("\n");
} elseif (isset($io_options['in'])) {
    // demais cmd's
    $file = $io_options['in'];