Skip to content

Confirmar obrigatoriedade de @id em <graphic>: SPS 1.10 diverge entre a seção dedicada e a de Material Suplementar #1338

Description

@Rossi-Luciano

Descrição do problema

GraphicValidation.validate_id() (packtools/sps/validation/graphic.py:29-52) exige @id obrigatoriamente em
<graphic> e <inline-graphic>, inclusive sobrescrevendo explicitamente o comportamento da classe base
(VisualResourceBaseValidation) que isenta elementos inline-* dessa exigência (ver docstring do método).

O relato original (scieloorg/spsvalidator#49) afirma que essa exigência é indevida, e que o SPS já teria
corrigido um erro anterior no documento que listava @id como obrigatório em <graphic>.

Ao conferir o arquivo SPS 1.10_pt.pdf (versão 1.10, última atualização em 22/05/2025), encontrei uma
inconsistência interna no próprio documento:

  • Na seção dedicada "<graphic> e <inline-graphic>: Figura", o texto ainda lista:

    "Atributos obrigatórios: 1. @id 2. @xLink:href"

  • Já na seção "<supplementary-material>: Material Suplementar", o mesmo documento lista, para <graphic>
    usado nesse contexto:

    "Atributo obrigatório em <graphic>: 1. @xLink:href"
    (sem mencionar @id)

Ou seja, dentro do mesmo arquivo, uma seção exige @id em <graphic> e outra não. Isso é compatível com a
hipótese do relato original: a correção mencionada (remoção da obrigatoriedade de @id) pode já ter sido
aplicada em parte do documento-fonte (Google Docs) mas não propagada a todas as seções nesta cópia, ou a cópia
usada nesta análise está desatualizada em relação à versão publicada.

Adicionalmente, o SPS define claramente que @id é obrigatório em <fig> e <table-wrap> (para viabilizar o
thumbnail no site) - obrigatoriedade distinta da de <graphic>/<inline-graphic> isoladamente, e que não está
em questão aqui.

Comportamento esperado (a confirmar)

Caso a versão vigente do SPS 1.10 realmente não exija @id em <graphic>/<inline-graphic> (apenas
@xlink:href):

  • GraphicValidation.validate_id() não deveria mais gerar erro pela ausência de @id em
    <graphic>/<inline-graphic> fora de <fig>/<table-wrap>.
  • Continuar exigindo @id em <fig> e <table-wrap> (já implementado corretamente em fig.py/tablewrap.py).

Necessário antes de codar

Confirmar com a equipe SciELO/autores do SPS qual das duas seções do documento reflete a regra vigente,
idealmente checando a versão publicada mais recente (Google Docs linkado em scieloorg/spsvalidator#49), já que
a cópia usada nesta análise pode estar desatualizada.

Anexos

Trechos comparados a partir do arquivo SPS 1.10_pt.pdf (versão 1.10, última atualização em 22/05/2025),
seções "<graphic> e <inline-graphic>: Figura" e "<supplementary-material>: Material Suplementar".

Classificação (esforço / risco / relevância)

  • Esforço: Baixo - a mudança de código em si é uma linha, mas depende de confirmação prévia da regra
    vigente.
  • Risco: Médio - depende de qual seção do SPS está correta; uma reversão precipitada tanto pode
    reintroduzir falsos positivos quanto criar falsos negativos.
  • Relevância: Alta - <graphic> fora de <fig>/<table-wrap> é comum (material suplementar, abstract
    gráfico etc.); se a exigência de @id realmente não procede, é o falso positivo de maior volume do lote.

Referências

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions