Skip to content

Campo v32 de citação excede limite de 32 caracteres do schema Crossref 4.4.0 #332

Description

@samuelveigarangel

Descrição

Durante a geração do XML Crossref para o documento scl_S0001-37652026001005401, a validação contra o schema Crossref 4.4.0 falha com o seguinte erro:

Element '{http://www.crossref.org/schema/4.4.0}issue': [facet 'maxLength']
The value has a length of '41'; this exceeds the allowed maximum length of '32'., line 428

O valor inválido é emitido dentro de uma citação bibliográfica (<citation>), não no <issue> do fascículo do artigo principal:

<issue>Diptera: Culicidae). Parasit Vectors 18(1</issue>

Origem do dado na API ArticleMeta

O valor vem do campo v32 da citação retornada pela API do ArticleMeta:

"v32": [
    {
        "_": "Diptera: Culicidae). Parasit Vectors 18(1"
    }
]

Esse conteúdo não representa um número de fascículo válido — parece ser um trecho mal parseado do título/referência bibliográfica (41 caracteres).

Restrição do schema Crossref 4.4.0

No schema Crossref 4.4.0, o elemento <issue> possui restrição de tamanho:

  • Schema: common4.4.0.xsd (referenciado por crossref4.4.0.xsd)
  • Elemento: <issue>
  • Restrição: maxLength = 32, minLength = 1
  • Documentação: "The issue number in which an article is published."
  • Referência local no repositório: tests/xsd/scielo_crossref/common4.4.0.xsd (linhas 745–789)

Trecho relevante do XSD:

<xsd:element name="issue">
    ...
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="32"/>
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>

Documentação oficial Crossref:

Comportamento esperado

O campo v32 deve conter apenas o número do fascículo da referência citada (ex.: "1", "3", "Spring"), respeitando o limite de 32 caracteres do Crossref.

Documento afetado

  • PID: S0001-37652026001005401
  • Collection: scl
  • Document ID (DOI Manager): scl_S0001-37652026001005401

Possíveis ações

  1. Investigar a origem do parse do campo v32 no pipeline de citações (ArticleMeta / xylose / conversão legado).
  2. Validar/sanitizar o valor de v32 na ingestão ou na API, garantindo que represente um issue number válido.
  3. Como mitigação no exportador Crossref, omitir <issue> em citações cujo v32 exceda 32 caracteres (não corrige a causa raiz, mas evita invalidar o lote inteiro).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions