Closed robertatakenaka closed 4 years ago
Arquivo do exemplo citado: S0100-879X1997000300001.xml.zip
Contando o que descobrir sobre esse erro até agora:
Olhando os pipeline que são aplicados no conteúdo do body, verifiquei que temos um pipeline que infere e adiciona uma especie de "categorização" do conteúdo.
Esse é o pipeline a que me refiro:
Essas são as categorias("xml_tag", "xml_reftype", "xml_id", "xml_label"):
Ainda estou debugando, mas me parece que ao passar por esse pipeline estamos categorizando um link como table-wrap
no artigo S0100-879X1997000300001 na primeira tabela do artigo: http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0100-879X1997000300001
Veja o link que Deduce esta classificando como table-wrap
:
Estou suspeitando que ao passar pelo pipeline TablePipe ele acaba por classificar como array, veja:
Nesse trecho selecionado ele valida se o elemento anterior à tabela não é um table-wrap
suspeito que ele acaba por entrar nessa condição é classifica como um array
ao invés de uma tabela.
Ainda estou analisando e agora irei gerar um arquivo por pipeline com as transformação realizadas no body
, para visualizar melhor as modificações e entender o ajuste necessário.
@jamilatta eu suspeito que a solução tem que ser aplicada em AssetElementFixPositionPipe
e/ou em AssetElementAddContentPipe
.
O TablePipe
está correto, não deve sofrer alterações. Quando chega neste pipe, os elementos identificados como table
e não estão contidos em table-wrap
são convertidos a array
.
A correção deve ser feita antes. O problema é que o table
"não está junto, colado" com o table-wrap
e por isso o table
não foi inserido dentro de table-wrap
. É isso que tem que ser feito. Colocar o table
dentro do table-wrap
. O que está "atrapalhando" é que o table-wrap
está em uma linha e o table
na linha seguinte. Minha sugestão é que em algum pipe seja feita a verificação de que se dentro de um p
exista table-wrap
e no p
seguinte exista table
então este table
deve ser inserido dentro de table-wrap
.
@jamilatta Explicando a lógica que tenho usado é:
Geralmente no HTML, há as âncoras, por exemplo: <a name="tab01"/>
. Na sequência, há por exemplo <img src=""/>
...
As âncoras podem ser identificadas como "fig", table-wrap, entre outros elementos. E elas são elementos vazios, certo? Mas os elementos SPS não são vazios, e por isso, temos que "preencher" o elemento com os conteúdo (img, table, label, caption). Então, o AssetElementAddContentPipe
move o conteúdo "irmão", ou seja, do mesmo nível, para dentro da âncora, por exemplo:
<a name="tab01">
<table>...</table>
</a>
O AssetElementFixPositionPipe
tenta acertar a posição, a localização da âncora <a name="???"/>
de forma que ela fica logo ao lado do seu suposto conteúdol, ou seja seria colocar
<table-wrap id="tab1"/>
ao lado de <table>
.
@robertatakenaka
Consegui realizar o ajuste, mas nessa caso em específico fiquei com dúvida se tenho que remover um <br />
que está entre o table-wrap
e o table
Veja o resultado final da primeira tabela, repare na legenda da table, no final temos um br:
<p content-type="hr" />
<p>
<table-wrap id="tab1">
<p content-type="table"> </p>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<p>
<bold>URL</bold>
</p>
</td>
</tr>
<tr>
<td>
<p>
<bold>Biochemistry</bold>
</p>
</td>
</tr>
<tr>
<td>
<p>Links to bioinformatics center-related servers</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.biochem.ucl.ac.uk/bsm/dbbrowser/sites.html">http://www.biochem.ucl.ac.uk/bsm/dbbrowser/sites.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Related protein structure links</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.yorvic.york.ac.uk/computing/links.html">http://www.yorvic.york.ac.uk/computing/links.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Web resources for protein scientists</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.prosci.uci.edu/ProSciDocs/WWWResources.html">http://www.prosci.uci.edu/ProSciDocs/WWWResources.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>WWW Virtual library: Biochemistry and molecular biology</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://golgi.harvard.edu/biopages/biochem.html">http://golgi.harvard.edu/biopages/biochem.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>WWW Virtual library: Biomolecules</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://golgi.harvard.edu/sequences.html">http://golgi.harvard.edu/sequences.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>
<bold>Biotechnology</bold>
</p>
</td>
</tr>
<tr>
<td>
<p>BioTech Science resources</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://biotech.chem.indiana.edu/pages/scitools.html">http://biotech.chem.indiana.edu/pages/scitools.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Pedro's biomolecular research tools</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.public.iastate.edu/~pedro/research_tools.html">http://www.public.iastate.edu/~pedro/research_tools.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Useful links from Darst lab</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://darst-sgi2.rockefeller.edu/">http://darst-sgi2.rockefeller.edu/</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>WWW Virtual library: Biotechnology</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.cato.com/interweb/cato/biotech/">http://www.cato.com/interweb/cato/biotech/</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>
<bold>Chemistry</bold>
</p>
</td>
</tr>
<tr>
<td>
<p>Chemistry databases and data collections</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.rpi.edu/dept/chem/cheminfo/chemres/chemres_03.html">http://www.rpi.edu/dept/chem/cheminfo/chemres/chemres_03.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Chemistry Today - Jobs, news and meetings</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://chemistry.mond.org/">http://chemistry.mond.org/</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Internet chemistry index</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.chemie.fu-berlin.de/chemistry/index/">http://www.chemie.fu-berlin.de/chemistry/index/</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Internet chemistry resources</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.rpi.edu/dept/chem/cheminfo/chemres.html">http://www.rpi.edu/dept/chem/cheminfo/chemres.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Latinamerican Web of chemistry</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://latina.chem.cinvestav.mx/">http://latina.chem.cinvestav.mx/</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Molecular simulation on the Web</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://ganter.chemie.uni-dortmund.de/comp_chem.html">http://ganter.chemie.uni-dortmund.de/comp_chem.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Silicon Grafics - Chemistry and biological sciences</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.sgi.com/ChemBio/">http://www.sgi.com/ChemBio/</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>WWW Chemistry resources, jobs and academic and commercial sites</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www-chem.harvard.edu/webchemistry/webchem.html">http://www-chem.harvard.edu/webchemistry/webchem.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>WWW Computational chemistry resources</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.chem.swin.edu.au/chem_ref.html">http://www.chem.swin.edu.au/chem_ref.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>
<bold>Immunology</bold>
</p>
</td>
</tr>
<tr>
<td>
<p>Antibody resources</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www-chem.ucsd.edu/Faculty/goodman/antibody.html/abpage.html">http://www-chem.ucsd.edu/Faculty/goodman/antibody.html/abpage.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Antibody structure and sequence information</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.biochem.ucl.ac.uk/~martin/antibodies.html">http://www.biochem.ucl.ac.uk/~martin/antibodies.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Links to cytokine-related sites</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.lmb.uni-muenchen.de/groups/ibelgaufts/links.html">http://www.lmb.uni-muenchen.de/groups/ibelgaufts/links.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Kabat database - Sequences of proteins of immunological interest</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://immuno.bme.nwu.edu/">http://immuno.bme.nwu.edu/</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>WWW Virtual library: Immunology</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://golgi.harvard.edu/biopages/immuno.html">http://golgi.harvard.edu/biopages/immuno.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>
<bold>Molecular Biology</bold>
</p>
</td>
</tr>
<tr>
<td>
<p>Biologists's control panel</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://gc.bcm.tmc.edu:8088/bio/bio_home.html">http://gc.bcm.tmc.edu:8088/bio/bio_home.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>DNA vaccine Web</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.genweb.com/Dnavax/dnavax.html">http://www.genweb.com/Dnavax/dnavax.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Compilation of resources in Internet for the molecular biologist</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.ifrn.bbsrc.ac.uk/gm/lab/docs/iftmb.html">http://www.ifrn.bbsrc.ac.uk/gm/lab/docs/iftmb.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Molecular biology information servers</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://research.nwfsc.noaa.gov/bioinformatics.html">http://research.nwfsc.noaa.gov/bioinformatics.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Molecular biology protocols</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://grimwade.biochem.unimelb.edu.au/sigtrans.htm">http://grimwade.biochem.unimelb.edu.au/sigtrans.htm</ext-link>
</p>
<p>
<ext-link ext-link-type="uri" xlink:href="http://research.nwfsc.noaa.gov/protocols.html">http://research.nwfsc.noaa.gov/protocols.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Molecular biology related WWW sites</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.oxmol.co.uk/oth_link.html">http://www.oxmol.co.uk/oth_link.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>Molecular biology servers, databases and Web sites</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://pdb.pdb.bnl.gov/mole.html">http://pdb.pdb.bnl.gov/mole.html</ext-link>
</p>
</td>
</tr>
<tr>
<td>
<p>The Biocatalog in molecular biology and genetics</p>
</td>
<td>
<p>
<ext-link ext-link-type="uri" xlink:href="http://www.ebi.ac.uk/biocat/">http://www.ebi.ac.uk/biocat/</ext-link>
</p>
</td>
</tr>
</table>
</table-wrap>
<bold label-of="Tab1">Table 1</bold>1 - Protein-related sites.<br />
</p>
<p></p>
@jamilatta o <br/>
é pouco importante. No entanto, vi que <bold label-of="Tab1">Table 1</bold>1 - Protein-related sites.<br />
está no final após </table-wrap>
e isso está errado, porque <bold label-of="Tab1">Table 1</bold>1 - Protein-related sites.<br />
deveria estar dentro de <table-wrap>
e converter a <label>
. Há pipes que já tratam de converter para label se ele estiver no lugar certo.
Descrição do problema
A conversão está gerando table-wrap incompleta no entanto existem os dados para completá-la.
Passos para reproduzir o problema
ds_migracao convert --file xml/source/S0100-879X1997000300001.xml
Comportamento esperado
HTML Original
XML obtido
XML Esperado