-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
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-graphicque estejam dentro delabeloucaption - Deve verificar se já existe um elemento
graphicno pai (fig, table-wrap, boxed-text, etc) antes de fazer a correção - Quando não existir
graphicno pai, deve mover oinline-graphicpara fora dolabel/captione renomeá-lo paragraphic - 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
graphicjá 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
Copilot
Metadata
Metadata
Assignees
Labels
No labels