Skip to content

Corrige vários bugs no prefixo oai-dc-scielo#752

Merged
rafaelpezzuto merged 15 commits into
scieloorg:masterfrom
rafaelpezzuto:fix1-ods
Aug 2, 2021
Merged

Corrige vários bugs no prefixo oai-dc-scielo#752
rafaelpezzuto merged 15 commits into
scieloorg:masterfrom
rafaelpezzuto:fix1-ods

Conversation

@rafaelpezzuto
Copy link
Copy Markdown
Contributor

@rafaelpezzuto rafaelpezzuto commented Jul 25, 2021

O que esse PR faz?

Corrige seis bugs identificados na aplicação OAI-PMH quando utilizada com o prefixo oai_dc_scielo. Além disso, adiciona uma base gizmo para tratar caracteres inválidos. A lista de bugs lista de bugs é composta por:

  1. Presença de caractere > não tratado que gera XML com defeito
  2. Ausência do termo oai:scielo: antes do identificador existente no campo <header>
  3. Termo named-content grafado incorretamente dentro do campo <contrib-group> e em campo relacionado a Lattes.
  4. Presença de espaço em branco indevido
  5. Ausência de espaço em branco devido
  6. Atributo num de campo <reference> possui elementos inválidos
  7. Presença de caracteres inválidos gera XML com defeito
  8. Documentos Press Release não são retornados por problemas de obtenção de dados de Issue

Onde a revisão poderia começar?

Por commits.

Como este poderia ser testado manualmente?

  1. Instanciar a aplicação SciELO Web
  2. Consultar qualquer registro em produção (exemplo)
  3. Consultar o mesmo registro no provedor OAI-PMH local corrigido
  4. Acessar código-fonte do retorno obtido em 3 e observar as seguintes diferenças em relação ao obtido em 2:
    1. Inexistência de termo &gt;
    2. Presença do termo oai:scielo: no campo identifier do header do documento.
      1. Antes: <dc:identifier pub-id-type="publisher-id">S0037-86822012000300020</dc:identifier>
      2. Depois <dc:identifier pub-id-type="publisher-id">oai:scielo:S0037-86822012000300020</dc:identifier>
    3. Presença do termo correto named-content nos campos relacionados a identificadores Lattes e a contrib-group
      1. Antes: name-content
      2. Depois: named-content
    4. Inexistência de espaço em branco antes do símbolo = de atributos de marcações.
      1. Antes: <issn publication-format= "print" >
      2. Depois: <issn publication-format="print">
  5. Consultar o registro A no site em produção, que está incorreto devido à presença de caracteres inválidos no atributo "número de referência"
  6. Consultar o registro A corrigido na aplicação local
  7. Consultar o registro B com problema no site em produção
  8. Consultar o registro B corrigido na aplicação local
  9. Consultar o registro C com problena no site em produção
  10. Consultar o registro C corrigido na aplicação local

Algum cenário de contexto que queira dar?

N/A

Screenshots

Bug 1 (caractere sem escape aplicado)
image

Bug 3 (grafia incorreta)
image

Bug 4 (espaços inválidos)
image

Bug 7 (caractere inválido)
image

Bug 8 (documento Press Release sem informação de Issue)
image

Quais são tickets relevantes?

N/A

Referências

N/A

Comment thread htdocs/oai/oai_scielo_common.xsl Outdated

<xsl:if test="$value != ''">
<xsl:value-of select=" concat( '&lt;', $name, ' ', $param_name, '= &quot;', $param_value, '&quot; &gt;', $value, '&lt;/', $name, '&gt;' )" disable-output-escaping="yes"/>
<xsl:value-of select=" concat( '&lt;', $name, ' ', $param_name, '=&quot;', $param_value, '&quot;&gt;', $value, '&lt;/', $name, '&gt;' )" disable-output-escaping="yes"/>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Será que o que vc quer seria:

<xsl:element name="{$name}">
<xsl:attribute name="{$param_name}"><xsl:value-of select="$param_value"/></xsl:attribute>
</xsl:element>

Copy link
Copy Markdown
Contributor Author

@rafaelpezzuto rafaelpezzuto Jul 28, 2021

Choose a reason for hiding this comment

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

@robertatakenaka, na sua sugestão faltaria o campo $value. Ficaria assim:

<xsl:element name="{$name}">
	<xsl:attribute name="{$param_name}">
		<xsl:value-of select="$param_value"/>
	</xsl:attribute>
	<xsl:value-of select="$value"/>
</xsl:element>

Que serviria pra gerar, por exemplo, as seguintes estruturas:

<issn publication-format="print">0066-782X</issn>
<issn publication-format="online">1678-4170</issn>

A alteração que fiz foi apenas para remover um espaço em branco que havia antes dos termos "print" e "online" (e em qualquer outro campo parametrizado). Estavam como "= print" e "= online".

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

correto

Copy link
Copy Markdown
Member

@robertatakenaka robertatakenaka left a comment

Choose a reason for hiding this comment

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

Verifique meus comentários

@rafaelpezzuto
Copy link
Copy Markdown
Contributor Author

Verifique meus comentários

@robertatakenaka Substituí aquele código que gera a estrutura parametrizada.

<xsl:attribute name="{$param_name}">
<xsl:value-of select="$param_value"/>
</xsl:attribute>
<xsl:value-of select="$value" disable-output-escaping="yes" />
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Talvez não seja desejável ser yes, pois &gt; poderia ser convertido a >, certo? Pode confirmar?

Copy link
Copy Markdown
Contributor Author

@rafaelpezzuto rafaelpezzuto Jul 28, 2021

Choose a reason for hiding this comment

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

@robertatakenaka,

Eu preciso que converta. Veja um exemplo com o parâmetro disable-output-escaping

valorado com no
image

valorado com yes
image

Nós queremos que seja convertido, portanto, deve estar valorado com yes.

@rafaelpezzuto rafaelpezzuto merged commit 05d04ab into scieloorg:master Aug 2, 2021
@rafaelpezzuto rafaelpezzuto deleted the fix1-ods branch August 2, 2021 13:29
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