fix(pubmed): usar journal-id[nlm-ta] em JournalTitle em vez da abreviação SciELO#1244
Open
Rossi-Luciano wants to merge 1 commit into
Open
Conversation
…ação SciELO get_journal_title() usava journal_meta.Title.abbreviated_journal_title (abrev-journal-title[@abbrev-type="publisher"], a abreviação genérica da SciELO). O guia SPS 1.10 e a DTD do PubMed esperam a abreviação registrada no PubMed, disponível em journal-id[@journal-id-type="nlm-ta"] quando o periódico é indexado. Passa a usar journal_meta.JournalID.nlm_ta, com fallback para abbreviated_journal_title quando nlm-ta está ausente (JournalTitle é obrigatório na DTD do PubMed). Refs scieloorg#1226, scieloorg#1235
3 tasks
Collaborator
Author
|
Validado localmente contra a DTD oficial do PubMed (
(O validador linkado na issue-mãe #1226 não serve para este formato — ver comentário em #1226.) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que esse PR faz?
Corrige
get_journal_title()empacktools/sps/formats/pubmed.py, que gerava a tag<JournalTitle>do XML PubMed usandojournal_meta.Title.abbreviated_journal_title— a abreviação genérica de título registrada na SciELO (abbrev-journal-title[@abbrev-type="publisher"]).O guia SPS 1.10 e a doc oficial do PubMed (NBK3828) especificam que
JournalTitledeve ser a abreviação registrada no próprio PubMed (NLM Title Abbreviation), disponível emjournal-id[@journal-id-type="nlm-ta"]— presente apenas quando o periódico é indexado no PubMed. O modeljournal_meta.JournalID.nlm_tajá existia no código mas não era usado por este pipeline.A função passa a priorizar
nlm-ta, com fallback paraabbreviated_journal_titlequandonlm-taestá ausente (necessário porqueJournalTitleé um elemento obrigatório na DTD do PubMed — omiti-lo geraria XML inválido para periódicos não indexados).Onde a revisão poderia começar?
packtools/sps/formats/pubmed.py, funçãoget_journal_title(linha ~47). É a única função alterada;xml_pubmed_journal_title_pipe, que a consome, não muda.Como este poderia ser testado manualmente?
source .venv/bin/activate && python -m pytest tests/sps/formats/test_pubmed.py -v(47 passed: 46 originais + 1 novo, cobrindo a prioridade denlm-tasobreabbrev-journal-title).'Rev. Bras.\n Anestesiol.'(abreviação genérica da SciELO, com quebras de linha do XML fonte preservadas). Depois:'Rev Bras Anestesiol'(valor correto dejournal-id[@journal-id-type="nlm-ta"], sem os artefatos de whitespace).Algum cenário de contexto que queira dar?
Parte da quebra da #1226 (conversor SPS 1.10 → PubMed XML) em sub-issues. Este bug foi identificado durante o levantamento inicial de contexto da #1226, antes mesmo de abrir as sub-issues: o model
JournalID.nlm_tajá existia no código, mas nunca tinha sido conectado a este pipeline. Independente das demais sub-issues (não depende nem é dependência de nenhuma outra).Screenshots
Não se aplica — mudança em geração de XML, sem interface gráfica.
Quais são tickets relevantes?
Closes #1235. Relacionado a #1226 (issue-mãe).
Referências
<journal-meta>): "Usar título abreviado do periódico registrado no PubMed" parajournal-id[@journal-id-type="nlm-ta"]