Implementar validações do elemento <issue> conforme SPS 1.10#1097
Draft
Implementar validações do elemento <issue> conforme SPS 1.10#1097
<issue> conforme SPS 1.10#1097Conversation
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Implement validations for the <issue> element
Implementar validações do elemento Feb 13, 2026
<issue> conforme SPS 1.10
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?
Implementa 7 validações para o elemento
<issue>em<article-meta>, alcançando 70% de conformidade com SPS 1.10:Validações Críticas (P0):
<issue>por<article-meta>(ERROR).,,,-,/,:,;) (ERROR)supplobrigatório, rejeitasupl,supplement,sup(ERROR)speobrigatório, rejeitaesp,nesp,nspe,especial(ERROR)<supplement>não permitido em<article-meta>(CRITICAL)Validações Importantes (P1):
4não04(WARNING)Exemplos de validação:
Onde a revisão poderia começar?
packtools/sps/validation/front_articlemeta_issue.py- linhas 245-482: novos métodos de validaçãotests/sps/validation/test_front_articlemeta_issue.py- linhas 948-1608: testes unitáriosComo este poderia ser testado manualmente?
Algum cenário de contexto que queira dar?
Padrões de implementação seguidos:
\b) para validação precisa de nomenclaturabuild_response()do repositórioDecisões técnicas:
00→0corretamenteremovido para module-level seguindo Python conventionsCobertura:
Nota: Existem 11 falhas pré-existentes em
PaginationTesteIssueTestnão relacionadas a este PR (causadas por mudanças recentes de i18n embuild_response()).Screenshots
N/A - validações de dados XML
Quais são tickets relevantes?
Issue sobre validações do elemento
<issue>conforme SPS 1.10Referências
<issue>packtools/sps/validation/article_doi.pypacktools/sps/validation/utils.py(build_response)Original prompt
This section details on the original issue you should resolve
<issue_title>Criar validações para o elemento </issue_title>
<issue_description>## Objetivo
Implementar validações para o elemento
<issue>conforme a especificação SPS 1.10, aumentando a conformidade de X% para 70% (7 de 10 regras).Nota: Algumas validações para
<issue>podem já estar parcialmente implementadas no repositório. Este Issue visa reavaliar, complementar e garantir cobertura completa das regras SPS 1.10.Contexto
O elemento
<issue>identifica o número de uma publicação periódica, incluindo suplementos e números especiais. Validações corretas garantem que o formato seja consistente e padronizado conforme especificações SPS, sem pontuação, sem uppercase, sem zeros à esquerda, e usando nomenclaturas corretas para suplementos (suppl) e números especiais (spe).Conformidade atual: X de 10 regras implementadas (X%)
Meta após implementação: 7 de 10 regras (70%)
Documentação SPS
Referência oficial: https://docs.google.com/document/d/1GTv4Inc2LS_AXY-ToHT3HmO66UT0VAHWJNOIqzBNSgA/edit?tab=t.0#heading=h.issue
Regras principais conforme SPS 1.10:
Ocorrência:
<issue>deve aparecer no máximo uma vez em<article-meta>Formatos válidos:
44 suppl 1suppl 1spe1Restrições de formato:
.,,,-,/, etc.4ao invés de04suppl(ex:4 suppl 1)Nomenclatura obrigatória:
suppl(nãosupl,s,supplement)spe(nãoesp,nesp,nspe,especial)Elemento proibido:
<supplement>em<article-meta>(suplementos devem ser identificados em<issue>)Regras a Implementar
P0 – Críticas (implementar obrigatoriamente)
<issue><issue>deve aparecer no máximo uma vez em<article-meta><issue>não deve conter pontuação (.,,,-,/,:,;, etc.)<issue>deve estar em minúsculas (sem letras maiúsculas)suppl(nãosupl,s,supplement,sup)spe(nãoesp,nesp,nspe,especial,noesp)<supplement>em<article-meta><supplement>não é permitido em<article-meta>(usar<issue>para suplementos)P1 – Importantes (implementar se possível)
4ao invés de04)P2 – Futuras (fora do escopo deste Issue)
4 suppl 1vs4suppl1)Arquivos a Criar/Modificar
Avaliar existentes (podem ter validações parciais):
packtools/sps/models/article_meta.pyou similar – Verificar se modelo existepacktools/sps/validation/article_meta.pyouissue.py– Verificar validações existentespacktools/sps/validation/rules/issue_rules.jsonou similar – Verificar configuraçãoCriar (se não existirem):
packtools/sps/models/issue.py– Modelo de extração de dadospacktools/sps/validation/issue.py– Validaçõespacktools/sps/validation/rules/issue_rules.json– Configuração de níveis de errotests/sps/validation/test_issue.py– Testes unitáriosReferenciar (implementações similares):
packtools/sps/validation/article_doi.py– Validação de unicidadepacktools/sps/validation/utils.py– Funções auxiliares (build_response)Exemplos de XML
XML Válido (deve passar sem erros):