Implementar validações SPS 1.10 para elemento <fn>#1093
Draft
Implementar validações SPS 1.10 para elemento <fn>#1093
Conversation
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 validation rules for
Implementar validações SPS 1.10 para elemento <fn>
Feb 13, 2026
<fn> element
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 6 regras de validação SPS 1.10 para elementos
<fn>(notas), aumentando conformidade de contextos específicos:@fn-typeobrigatório em<author-notes>e<fn-group><author-notes>:abbr,coi-statement,corresp(antes aceitava 19 valores)<author-notes>e<fn-group>por artigo/sub-artigo<corresp>ao invés de<fn fn-type="corresp">Onde a revisão poderia começar?
packtools/sps/validation/author_notes.py- Métodosvalidate_fn_type_presence,validate_fn_type_author_notes_values,validate_author_notes_uniquenesspacktools/sps/validation/fn.py- Métodosvalidate_fn_type_presence_in_fn_group,validate_fn_group_uniquenesstests/sps/validation/test_author_notes.pyetest_fn.pyComo este poderia ser testado manualmente?
Execute os testes unitários:
Ou valide XML com casos de teste do issue:
<fn>sem@fn-typeem<author-notes>→ CRITICAL<fn fn-type="funding">em<author-notes>→ ERROR<author-notes>→ ERROR<fn fn-type="corresp">→ WARNINGAlgum cenário de contexto que queira dar?
Decisão de design:
validate_fn_type_author_notes_valuessubstituivalidate_type(herdado deBaseFnValidation) para aplicar lista restrita específica de<author-notes>, enquanto<fn-group>mantém lista completa.Compatibilidade: Validações existentes preservadas. XPath ajustado para considerar que
xml_treejá está no nível do elemento<article>.i18n: Todas mensagens implementam
advice_text/advice_paramsconforme padrãoarticle_contribs.py.Screenshots
N/A - validações de backend sem interface visual.
Quais são tickets relevantes?
Relacionado ao issue "Criar validações para o elemento " conforme especificação SPS 1.10.
Referências
<fn>element<author-notes>elementpacktools/sps/validation/article_contribs.pyWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
api.crossref.org/usr/bin/python python -m unittest discover tests/sps/validation/ -p test_*.py -v(dns block)If you need me to access, download, or install something from one of these locations, you can either:
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
<fn>(notas) conforme a especificação SPS 1.10, aumentando a conformidade de X% para 75% (6 de 8 regras).Nota: Algumas validações para
<fn>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
<fn>é usado para marcação de notas em três contextos diferentes: notas de autor (<author-notes>), notas de documento (<fn-group>) e notas de tabela (<table-wrap-foot>). Cada contexto possui regras específicas de validação, especialmente quanto ao atributo obrigatório@fn-typee seus valores permitidos.Conformidade atual: X de 8 regras implementadas (X%)
Meta após implementação: 6 de 8 regras (75%)
Documentação SPS
Referência oficial: https://docs.google.com/document/d/1GTv4Inc2LS_AXY-ToHT3HmO66UT0VAHWJNOIqzBNSgA/edit?tab=t.0#heading=h.fn
Regras principais conforme SPS 1.10:
Atributo
@fn-typeobrigatório:<fn>em<author-notes><fn>em<fn-group><fn>em<table-wrap-foot>Valores permitidos para
@fn-typeem<author-notes>:abbr- Abreviaturas de nomes dos autorescon- Contribuição de autores (diferente de CRediT)coi-statement- Declaração de conflito de interessecorresp- Autor correspondente (recomenda-se usar<corresp>)current-aff- Afiliação atualdeceased- Autor falecidoedited-by- Editor do documentoequal- Contribuição igualitáriaon-leave- Autor ausenteparticipating-researchers- Pesquisador do documentopreviously-at- Afiliação anteriorstudy-group-members- Membro do grupo de estudospresent-address- Endereço atualpresented-by- Trabalho apresentado pelo autorother- Outros tipos não listadosValores permitidos para
@fn-typeem<fn-group>:abbr- Abreviaturas de termos e nomes próprioscom- Comunicado relevantedata-availability- Declaração de disponibilidade de dadosfinancial-disclosure- Declaração de financiamentosupported-by- Declaração de apoiopresented-at- Documento apresentado em eventosupplementary-material- Material suplementarother- Outros tipos não listadosAtributo
@id:@ridcorrespondente no textoElemento
<label>:<title>,<bold>ou<italic>para representar rótulosUnicidade:
<author-notes>deve ocorrer uma única vez no documento<fn-group>deve ocorrer uma única vez no documentoRegras a Implementar
P0 – Críticas (implementar obrigatoriamente)
@fn-typeem<author-notes>@fn-typeé obrigatório para<fn>dentro de<author-notes>@fn-typeem<fn-group>@fn-typeé obrigatório para<fn>dentro de<fn-group>@fn-typeem<author-notes><author-notes>,@fn-typedeve ter valor da lista permitida para notas de autor@fn-typeem<fn-group><fn-group>,@fn-typedeve ter valor da lista permitida para notas de documento<author-notes><author-notes>deve aparecer no máximo uma vez no documento<fn-group><fn-group>deve aparecer no máximo uma vez no documentoP1 – Importantes (implementar se possível)
<label><label>, não<title>,<bold>ou<italic><corresp>ao invés de@fn-type="corresp"<corresp>ao invés de<fn fn-type="corresp">P2 – Futuras (fora do escopo deste Issue)
@ide@rid<funding-group>e notasArquivos a Criar/Modificar
Avaliar existentes (podem ter validações parciais):
packtools/sps/models/footnotes.pyou...💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.