IAH - Habilitar envio de resultado no formato XML

De Wiki.bireme.org/pt
Ir para: navegação, pesquisa

Descrição

Identificamos um bug no aplicativo iAH (versão 2.6.3) que ocorre ao selecionarmos a opção de envio dos resultados de pesquisa no formato XML.

Quando escolhemos essa opção de envio, o browser exibe uma mensagem de erro ao gerar o arquivo XML com os resultados da pesquisa.

Esse erro está relacionado com problemas ao montar o cabeçalho do arquivo XML.

Resolução - XML

Para resolver esse problema, é necessário seguir o passos abaixo:

  • Arquivos que devem ser modificados:
    • iAH - bases/iah/pfts/lilXML.pft
    • iAH do LILDBI-WEB - cgi-bin/lildbi/iah/styles/online/lilXML.pft
  • Comentar as linhas 12 e 13 desses arquivos, como mostra o exemplo abaixo:
/* 'Content-type: text/xml'/# */
/* '<?xml version="1.0" encoding="ISO-8859-1"?>'/, */

Isso vai resolver o problema com o cabeçalho e o arquivo XML será gerado normalmente.

Resolução - Google Chrome

Ao resolvermos o problema com o XML, em contrapartida, surge um novo problema quando o envio de resultado em XML é realizado no browser Google Chrome.

Quando tentamos gravar o envio dos resultados de pesquisa, o Google Chrome tenta reexecutar o arquivo XML, gravando o arquivo sem o conteúdo XML da pesquisa.

Nesse caso, para solucionar esse problema, foi necessário mudar o valor do Content Type passado no cabeçalho que gera o arquivo XML.

Essa modificação faz com que, ao enviar o resultado de pesquisa, o download do arquivo XML seja realizado automaticamente, evitando assim que o Google Chrome execute o arquivo novamente.

Para aplicar essa solução, basta seguir os procedimentos abaixo:

  • [Passo 1] - Arquivos que devem ser modificados:
    • iAH - cgi-bin/iah/[P-E-I]/ahsend.htm
    • iAH do LILDBI-WEB - cgi-bin/lildbi/iah/[P-E-I]/ahsend.htm
  • Inserir o conteúdo abaixo na linha 48 (em vermelho):
var part = type.slice(type.lastIndexOf("-"));
document.Option.action += part.replace("-", "");
/*
if (navigator.appName.indexOf("Microsoft") == -1) { 
        // se nao eh browser Microsoft adiciona extensao                       
        document.Option.action += type; 
}      
*/
  • [Passo 2] - Arquivos que devem ser modificados:
    • iAH - cgi-bin/iah/iah.xis
    • iAH do LILDBI-WEB - cgi-bin/lildbi/iah/iah.xis
  • Editar o conteúdo da função displayHeaderXML conforme o exemplo abaixo (em vermelho):
<function name="displayHeaderXML" action="replace" tag="1">
       <display>
               <pft>
                       'Content-Type: application/octet-stream'/#
                       /* 'Content-type: text/xml'/# */
                       if v1 <> 'omit-xml-declaration' then
                               '<?xml version="1.0" encoding="ISO-8859-1"?>'/
                       fi      
               </pft>
       </display>
</function>

Resolução - iAH versão 3

Para habilitar o envio de resultado de pesquisa no formato XML no aplicativo iAH versão 3, devemos aplicar SOMENTE os procedimentos descritos no passo dois.

Arquivo que deve ser modificado: htdocs/iah/scripts/iah.xis