Skip to content

Criar função para corrigir inline-graphic mal posicionados #1037

@robertatakenaka

Description

@robertatakenaka

Descrição da nova funcionalidade

Como operador da migração de plataforma, eu quero uma função que corrija automaticamente elementos inline-graphic incorretamente posicionados dentro de caption para que os XMLs fiquem conformes com o SPS e sejam processados corretamente pelos sistemas SciELO.

Critérios de aceitação

  • A função deve receber um objeto xmltree (lxml.etree) como parâmetro
  • Deve identificar todos os elementos inline-graphic que estejam dentro de label ou caption
  • Deve verificar se já existe um elemento graphic no pai (fig, table-wrap, boxed-text, etc) antes de fazer a correção
  • Quando não existir graphic no pai, deve mover o inline-graphic para fora do label/caption e renomeá-lo para graphic
  • Deve preservar todos os atributos do elemento (xlink:href, id, etc) e namespaces
  • Deve retornar uma lista de dicionários documentando cada modificação realizada com campos: xpath, action, old_parent, new_parent
  • A função deve estar localizada em /packtools/sps/utils/xml_fixer.py
  • Deve ter docstring completa seguindo padrão do projeto
  • Não deve modificar o XML se o elemento graphic já existir no pai
  • Deve ter testes unitários cobrindo: casos simples, múltiplos inline-graphics, graphic já existente, diferentes contextos (fig, table-wrap)

Anexos

Exemplo de XML antes da correção:

<fig id="f1">
  <label>Figura 1 </label>
  <caption><title>Título da figura<inline-graphic xlink:href="img1.jpg"/></title></caption>
</fig>

Exemplo de XML após a correção:

<fig id="f1">
  <label>Figura 1</label>
  <caption><title>Título da figura</title></caption>
  <graphic xlink:href="img1.jpg"/>
</fig>

Referências

Metadata

Metadata

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