Skip to content

Refactor data availability section: add doc-version mode, display-dat…#1145

Merged
robertatakenaka merged 1 commit intoscieloorg:masterfrom
robertatakenaka:fix_apresentacao_material_suplementar_duplicado
Mar 19, 2026
Merged

Refactor data availability section: add doc-version mode, display-dat…#1145
robertatakenaka merged 1 commit intoscieloorg:masterfrom
robertatakenaka:fix_apresentacao_material_suplementar_duplicado

Conversation

@robertatakenaka
Copy link
Copy Markdown
Member

O que esse PR faz?

Refatora a renderização da seção de disponibilidade de dados no HTML generator v3.0, introduzindo:

  • Um novo template doc-version-data-availability que permite processar article e sub-article de forma unificada, delegando para body e back.
  • Um novo modo display-data-availability que, quando o elemento (fn ou sec) possui @id e label ou title, exibe um link âncora (<a href="#{@id}">) em vez de renderizar o conteúdo completo inline. Caso contrário, delega para o modo data-availability existente.
  • Templates dedicados para renderização de fn no modo data-availability, tratando label (com <strong>) e p separadamente.

Onde a revisão poderia começar?

No template match="fn|sec" mode="display-data-availability", que contém a lógica principal de decisão entre exibir link âncora ou conteúdo completo.

Como este poderia ser testado manualmente?

  1. Gerar o HTML de um artigo que contenha <fn fn-type="data-availability"> com @id, label e p — verificar se aparece o link âncora apontando para a seção correspondente.
  2. Gerar o HTML de um artigo com <sec sec-type="data-availability"> aninhado em outro sec — verificar o mesmo comportamento de link.
  3. Testar um fn de data availability sem @id ou sem label/title — verificar se o conteúdo é renderizado inline (fallback para modo data-availability).
  4. Testar com sub-article para validar que o novo modo doc-version-data-availability processa corretamente.

Algum cenário de contexto que queira dar?

Anteriormente, os elementos de data availability eram sempre renderizados inline no modo data-availability. Com essa mudança, elementos que possuem @id e heading (label/title) passam a exibir apenas um link âncora, evitando duplicação de conteúdo e melhorando a navegação no HTML gerado.

Screenshots

N/A

Quais são tickets relevantes?

#1144

Referências

Copilot AI review requested due to automatic review settings March 19, 2026 17:13
…a-availability with anchor links, and fn rendering templates
@robertatakenaka robertatakenaka force-pushed the fix_apresentacao_material_suplementar_duplicado branch from b0b0222 to ad15940 Compare March 19, 2026 17:15
@robertatakenaka robertatakenaka merged commit 05facf0 into scieloorg:master Mar 19, 2026
2 checks passed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors how the HTML generator v3.0 renders “data availability” content by introducing a new decision mode that can render either an anchor link (when an @id + heading is present) or fall back to the existing inline rendering, aiming to reduce duplicated content and improve navigation.

Changes:

  • Added a doc-version-data-availability template to unify handling for article and sub-article.
  • Switched body | back data-availability rendering to a new display-data-availability mode that can output an anchor link instead of inline content.
  • Added dedicated fn templates in mode="data-availability" to render label and p with specific formatting.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

<div class="row">
<div class="col-md-12 col-sm-12">
<p>
<a href="#{@id}">
Comment on lines +47 to +48
<a href="#{@id}">
<xsl:apply-templates select="label | title" />
Comment on lines +48 to +49
<xsl:apply-templates select="label | title" />
</a>

<xsl:template match="fn|sec" mode="display-data-availability">
<xsl:choose>
<xsl:when test="@id and (.//label or .//title)">
Comment on lines +41 to +57
<xsl:template match="fn|sec" mode="display-data-availability">
<xsl:choose>
<xsl:when test="@id and (.//label or .//title)">
<div class="row">
<div class="col-md-12 col-sm-12">
<p>
<a href="#{@id}">
<xsl:apply-templates select="label | title" />
</a>
</p>
</div>
</div>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="." mode="data-availability"/>
</xsl:otherwise>
</xsl:choose>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants