Adiciona IsisScript sci_getrecord para obter metadados de documento SciELO (e refs citadas)#736
Adiciona IsisScript sci_getrecord para obter metadados de documento SciELO (e refs citadas)#736robertatakenaka merged 31 commits intoscieloorg:masterfrom rafaelpezzuto:feat1-sci_get_record
Conversation
The new IsisScript sci_getrecord.xis will not get the article's fulltext. Another script, possible named sci_getfulltext.xis, will be responsible for doing this task.
The idea is to adopt the same coding style all along the code
SPONSOR NAME DATE ADDRESS
| <do task="search"> | ||
| <parm name="db">ARTIGO</parm> | ||
| <parm name="expression"><pft>|R=|v4001^p</pft></parm> | ||
| <parm name="expression"><pft>|R=|v4001^p|$|</pft></parm> |
There was a problem hiding this comment.
se preferir inserir um comentário aqui:
<!-- obtém os registros de referências com a chave `R=<pid>$` -->
lembra que o $ seria o equivalente a qualquer coisa; v4001^p é o pid.
| if p(v65) then '<YEAR_REFERENCE><![CDATA[',v65*0.4,']]></YEAR_REFERENCE>' fi | ||
| if p(v37) then '<URL_REFERENCE><![CDATA[',v37^*,']]></URL_REFERENCE>' fi | ||
| if p(v880) then '<PID_REFERENCE><![CDATA[',v880,']]></PID_REFERENCE>' fi | ||
| '<REFERENCE NUM="',v118,'">' |
There was a problem hiding this comment.
esta linha não deveria estar na linha 211?
| (|<ORGNAME><![CDATA[|v17^*|]]></ORGNAME>|), | ||
| '</AUTHORS_REFERENCE>' | ||
| fi | ||
|
|
There was a problem hiding this comment.
este trecho cria uma variável (campo v9070) mas não está sendo usado. E, a gente pode melhorar isso.
| ,'~') | ||
|
|
||
| if p(v18) or p(v30) then | ||
| '<SOURCE_REFERENCE LANG="',v18^l,'" TYPE="',v9070,'"><![CDATA[',v18^*,v30,']]></SOURCE_REFERENCE>', |
There was a problem hiding this comment.
ah ok, o uso de v9070 está aqui.
| <display> | ||
| <pft> | ||
| if p(v880) then '<PID_REFERENCE><![CDATA[',v880,']]></PID_REFERENCE>' fi | ||
| '<REFERENCE NUM="',v118,'">' |
There was a problem hiding this comment.
agora sim, no lugar certo
cgi-bin/ScieloXML/sci_getrecord.xis
Outdated
| ,|<LINK_ACCESS_DATE_REFERENCE><![CDATA[|v110|]]></LINK_ACCESS_DATE_REFERENCE>|, | ||
|
|
||
| ,|<CONFERENCE_SPONSOR_REFERENCE><![CDATA[|v52^*|]]></CONFERENCE_SPONSOR_REFERENCE>|, | ||
| ,|<CONFERENCE_NAME_REFERENCE NUM="|v53^n|"><![CDATA[|v53^*|]]></CONFERENCE_NAME_REFERENCE>|, |
There was a problem hiding this comment.
aquela sintaxe com pipes e campo, só funciona com apenas 1 campo.
Neste caso aí, melhor vc fazer assim:
,if p(v53ˆn) then
,|<CONFERENCE_NAME_REFERENCE NUM="|v53^n|">|,
,|<![CDATA[|v53^*|]]></CONFERENCE_NAME_REFERENCE>|,
,else,
,|<CONFERENCE_NAME_REFERENCE><![CDATA[|v53^*|]]></CONFERENCE_NAME_REFERENCE>|,
,fi,
| if p(v94) then | ||
| '<AUTHORS_REFERENCE TYPE="94">', | ||
| ( | ||
| '<AUTHOR LANG_OR_ROLE="'v94^r'">' |
There was a problem hiding this comment.
observação: o uso do apostrofe aqui está correto. Só para te ensinar, ele tem o mesmo efeito do pipe, se vc colar no campo. Ou seja, se o campo não existir, não imprime o texto da lateral. No entanto, se vc separar o campo e o texto com vírgulas, o texto será impresso existindo ou não o campo.
cgi-bin/ScieloXML/sci_getrecord.xis
Outdated
|
|
||
| ,|<SERIE_REFERENCE><![CDATA[|v25|]]></SERIE_REFERENCE>|, | ||
|
|
||
| ,|<EXTENT_REFERENCE><![CDATA[|v20|]]></EXTENT_REFERENCE>|, |
There was a problem hiding this comment.
este campo é a extensão do documento por exemplo uma tese tem 300pp (300 páginas)
There was a problem hiding this comment.
Modifiquei um pouco pois percebi que em alguns casos há o subcampo ^u que indica que tipo de dado está no campo extent. Normalmente ^u = "pages".
| ,|<CONFERENCE_NAME_REFERENCE><![CDATA[|v53^*|]]></CONFERENCE_NAME_REFERENCE>|, | ||
| ,|<CONFERENCE_EDITION_REFERENCE><![CDATA[|v53^n|]]></CONFERENCE_EDITION_REFERENCE>|, |
* Aplicativo para incluir DOI nos registros h e f de uma data bases Cria o módulo cisis e testes para gerar comandos para atualizar uma dada base com dados de DOI * Melhorias no código e nos testes Remove a restricao de versao do python * Correcoes solicitadas que faltaram * Altera exibição de ISSN no abstract e no como citar do artigo Exibe prioritariamente o ISSN online. Caso não exista, exibe o que existir em `ISSUE_ISSN`. * Altera exibição de ISSN no abstract e no como citar do artigo Exibe prioritariamente o ISSN online. Caso não exista, exibe o que existir em `ISSUE_ISSN`. * Atualiza version overview * Considerar a formatação "italic" nas palavras-chave * Ajusta o script para identificar o arquivo de configuração baseado na instância em que está instalado * Atualiza indicadores H do Google para o ano 2020 * Atualiza versionOverview para versão 5.43 * Mescla conteúdos de v5.43 e v5.42 A versão v5.42 ainda não havia sido lançada, e portanto é a próxima. * Coloca o conteúdo de `<citation_title/>` dentro de CDATA para que o XML da página não quebre * Update versionOverview.txt * Adiciona IsisScript sci_getrecord para obter metadados de documento SciELO (e refs citadas) (#736) * Copy sci_arttext.xis to sci_getrecord.xis (a new IsisScript) * Remove fulltext The new IsisScript sci_getrecord.xis will not get the article's fulltext. Another script, possible named sci_getfulltext.xis, will be responsible for doing this task. * Remove an unnecessary jump * Add $ to the pft expression * Add reference number * Add param language to title_reference * Fix field authors_reference * Add a proc to detect the references' type * Add param lang to field source_reference * Change if instruction to ,||, instruction The idea is to adopt the same coding style all along the code * Add ISSN, ISBN, PID and DOI fields (concerning references) * Add access and link access date fields (concerning references) * Add conference fields (concerning references) SPONSOR NAME DATE ADDRESS * Add edition field (concerning references) * Add thesis fields (concerning references) * Add patent fields (concerning references) * Add issue fields (concerning references) * Add serie field (concerning references) * Add publisher fields (concerning references) * Add sponsor, editor and comment fields (concerning references) * Add accepted_date, reviewed_date and received_date of a article * Add author of type translator * Add field version (concerning software references) * Add field extent (number of pages or volumes of a reference) * Add fields related to volume information (of a book or monography) * Split conference name into two fields (name and edition) * Fix country information of a reference (add ^*) * Add subfield "institution department" (subfield ^d) * Add "or condition" to exibit country (address field) * Add comment regarding the key R=<pid>$ * Add subfield v20^u * Add field ORCID to sci_common.xis (#738) * Adiciona capacida de sci_getrecord.xis retornar resumo e palavras-chave em todos os idiomas (#741) * add function to obtain abstract in all languages * Add function to obtain keywords in all languages * Fix comment related to the keywords function * Remove duplicidade de campo <AUTHORS> e <AFF> no script sci_getrecord.xis (#744) * Copia função CreateAuthorsGroupXML de sci_common.xis E remove o trecho referente a impressão do campo <AFF> * Remove as duas chamadas a função antiga AuthorsGroupXML * Remove chamada a função que imprime <AFFILIATION> * Adiciona <AUTHORS> e <AFFILIATION> em lugar adequado * Melhora script sci_getrecord.xis para conter mais e melhores campos (#745) * Adiciona elocation-id como parâmetro de <article> * Adiciona campo v60 (contract) do índice h em <article> No dicionário de dados o campo v60 representa o número do contrato. * Adiciona em reference os campos v238 (pmid) e v239 (pmcid) do registro c * Renomeia os nomes dos tipos de author de referência * Corrige campo para indicar se é link * Remove parâmetro "publication type" de campo <source_reference> * Cria campo <publication_type_reference> Este campo passa a não ficar atrelado a existência do campo <source> * Implementa novo prefixo de metadados oai_dc_scielo (#747) * Divide sci_getrecord.xis: remove imports * Divide sci_getrecord.xis: inclui único import necessário sci_record.xis é o arquivo que define as funções a serem usadas por sci_getrecord.xis e sci_listcrecords_scielo.xis * Divide sci_getrecord.xis: remove definição de funções * Divide sci_getrecord.xis: remove campo serial * Divide sci_getrecord.xis: reorganiza identações e conteúdo - Remove campo v3 (nrm) - Remove chamadas a funções que responsáveis por criar campos TitleGroup, TitleChanges, ISSN, Copyright, Contact, Issue (que passam a estar dentro de CreateArticleXML - sci_record.xis) * Divide sci_getrecord.xis: cria sci_record.xis com a definição de funções * Cria sci_listrecords_scielo com base em sci_listrecords.xis * listrecords: remove imports e inclui import sci_record.xis * listrecords: remove parâmetro nrm * listrecords: corrige identação * listrecords: altera para 10 o limite de registros exibidos por vez * listrecords: corrige identação * listrecords: remove criação de campo controlinfo * listrecords: remove comentários e chamada a função CreateArticleReferenceXML * listrecords: ajusta parâmetros e chama função CreateArticleXML * cria função php para obter registro (GetRecord) * Cria função php para listar registros (ListRecordsSciELO) * Remove parâmetro sln das chamadas aos scripts sci_listrecords_scielo e sci_getrecord * Cria prefixo de metadados oai_dc_scielo * Adequa função para parsing de token * Adequa função para definição de Set * Adiciona tratamentos para chamadas aos verbos GetRecord e ListRecords * Cria XSL para exibir resultados do verbo GetRecord * Cria XSL para exibir resultados do verbo ListRecords * Cria XSLT oai_scielo_common com base em oai_common * Novo xslt: Remove variável controlinfo * Novo xslt: remove espaços em branco * Novo xslt: remove datestamp específico para issueinfo Um campo mais genérico é criado nos próximos commits * Novo xslt: cria template para exibir campos com atributo * Novo xslt: remove template processdate (um mais genérico será construído) * Novo xslt: cria template para exibição de datas * Novo xslt: remove template para ISSN e SetSpec * Novo xslt: cria template para tratar tipo de ISSN (print ou onlin) * Novo xslt: remove template para header oai-dc * Novo xslt: cria template para tratar vários campos de data * Novo xslt: remove template para criar Footer * Novo xslt: adequa templates para autor * Novo xslt: cria template para keywords * Novo xslt: cria template para afiliação * Novo xslt: cria template para subkey (keywords) * Novo xslt: remove template abstract e cria um novo * Novo xslt: cria template para exibir nome de arquivo PDF * Novo xslt: cria template para exibir título em outros idiomas * Novo xslt: cria template para exibir lista de refs citadas * Novo xslt: corrige nome de template relacionado a data * Novo xslt: remove trechos não utilizados * Novo xslt: cria início de template principal format_article * Novo xslt: remove elementos não usados de header * Novo xslt: adiciona novo conteúdo do header * Novo xslt: remove campos não utilizados em metadata * Novo xslt: adiciona dados relacionados a journal * Novo xslt: adiciona dados relacionados a formato e idioma * Novo xslt: adiciona dados relacionados a identificador * Novo xslt: adiciona dados de data * Novo xslt: adiciona campo award (contract) * Novo xslt: adiciona campos relacionados a título * Novo xslt: adiciona campos relacionados à página * Novo xslt: adiciona keywords e abstract * Novo xslt: adiciona campo pdf * Adiciona autores e filiação * Novo xslt: adiciona lista de refs citadas * Update versionOverview.txt * Corrige sci_getrecord para retornar documentos ahead (#749) * Adiciona tag faltante v3331 * Atualiza versão para v5.44 * Corrige definição de tag 6 (#750) Adiciona caratere 'Y' ao chamar função `l` para a base NEWISSUE. * Update network.rst Remover a lista estática e adicionar o endereço para o site www.scielo.org * Atualiza `htdocs/google_metrics/journals_url.csv` com dados de 2021 (#751) * Converte o fim de linha de Windows para Linux * Salva ordenado `htdocs/google_metrics/journals_url.csv` * Atualiza `htdocs/google_metrics/journals_url.csv` com dados de 2021 * Update versionOverview.txt v5.45 - Atualiza dados de Google Scholar 2021 * remove espaço indevido em atributos de marcação * altera termo name-content para named-content * adiciona escape de códigos html * adiciona termo oai:scielo em identificador de registro * Transforma atributo "num" de campo <reference> em campo <number_reference> Há situações em que este campo está povoado com marcações <a> e isso acarreta falha na renderização do XML * Verifica se <number_reference> é número no XSLT * Adiciona caminho para base gizmo * Adiciona parâmetro gizmo com valor GIZMO_OAI * Adiciona base gizmo com apenas uma conversão * [oai-dc-scielo] Corrige retorno de dados de ISSUE para Press Release * Imprime fechamento de ISSUE apenas quando houver ISSUE * Apresenta XML de erro apenas quando não houver PID de documento * Adiciona conversão de caracter 0x019 na base gizmo * Substitui tag 4001^s por v6 tratada * Conserta o arquivo journals_url.csv (#753) * Melhora geração de estrutura parametrizada * Update versionOverview.txt * Create README.md * Possibilita redirecionamento do old para o new (#762) * Possibilita redirecionamento do old para o new * Atualiza versionOverview com 5.45.3 * Adiciona o G4 Google Analytics. * Corrigi o caminho para o script do google analytics. --------- Co-authored-by: Patricia Morimoto <[email protected]> Co-authored-by: Gustavo Fonseca <[email protected]> Co-authored-by: Gustavo Fonseca <[email protected]> Co-authored-by: Rafael J P D <[email protected]> Co-authored-by: GitInno <[email protected]>
O que esse PR faz?
Cria o IsisScript sci_getrecord.xis com base no script sci_arttext. O script novo é responsável por retornar, além das informações já retornáveis pelo sci_arttext, também dados relacionados a referências citadas. Atenção especial foi dada aos campos relacionados a refs. citadas dos tipos link, patente, tese, livro e conferência.
Onde a revisão poderia começar?
Por commits.
Como este poderia ser testado manualmente?
scielo/cgi-bin/ScieloXMLapontada pelo SciELO Metodologiacgi-bin/wxis.exe?IsisScript=ScieloXML/sci_getrecord.xis&pid={PID}&PATH_TRANSLATED=../htdocsem que {PID} é o código PID do documento SciELO a ser consultadoAlgum cenário de contexto que queira dar?
Este PR é parte de uma tarefa maior que consiste em criar um novo prefixo de metadados OAI-PMH. É preciso que os sites clássicos disponibilizem mais informações em relação aos seus documentos. O novo IsisScript é capaz de resolver essa parte da tarefa. A etapa seguinte é criar o arquivo de transformação XSL que coleta dados do novo IsisScript e os transformam em uma saída XML de interesse.
Screenshots
Referência relacionada à conferência

Referência relacionada à patente

Referência relacionada à tese ou dissertação

Referência relacionada a livro

Referência relacionada a sofware

Quais são tickets relevantes?
#735
Referências
N/A