DesignLiquido / lmht-js

Biblioteca de transformação de documentos LMHT para HTML para JavaScript.
MIT License
2 stars 0 forks source link

Estrutura de listagem está incompleta #2

Closed samuelrvg closed 4 months ago

samuelrvg commented 4 months ago
test.html
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Blog Simples</title>
</head>
    <body>
        <h1><a href="#">Delégua Blog</a></h1>
        <nav>
            <ul>
                <li><a href="#">Início</a></li>
                <li><a href="#">Sobre</a></li>
                <li><a href="#">Contato</a></li>
            </ul>
        </nav>
    </body>
</html>
// index.js
import { ConversorHtml } from "@designliquido/lmht-js";

const conversorHtml = new ConversorHtml();
const resultado = conversorHtml.converterPorArquivo("test.html");
console.log(resultado);

Resultado:

<lmht>
    <cabeça>
        <meta/><meta nome="viewport" conteúdo="width=device-width, initial-scale=1.0"/>
        <título>Blog Simples</título>
    </cabeça>
    <corpo>
        <título1><ligação destino="#">Delégua Blog</ligação></título1>
        <navegação>
            <lista-simples></lista-simples>
        </navegação>
    </corpo>
</lmht>

https://github.com/samuelrvg/delegua-blog

leonelsanchesdasilva commented 4 months ago

Isto é outro bug em xslt-processor, mas desta vez no avaliador do XPath, que trata /html/body//ul/li|html/body//ol/li como uma expressão absoluta e uma relativa (o correto são as duas serem absolutas).

Como há outros esforços naquela biblioteca para diferenças melhoras e tratamento de bugs, eu apenas alterei a especificação para ter os templates separados, ainda que o resultado seja o mesmo.

A atualização no release https://github.com/DesignLiquido/lmht-js/releases/tag/0.5.0 resolve este problema em específico, mas isso não é uma resolução definitiva.