Using lyxhtml_validity.py
Thibaut Cuvelier
dourouc05 at gmail.com
Mon Jan 9 03:08:34 UTC 2023
On Sun, 8 Jan 2023 at 16:32, Scott Kostyshak <skostysh at lyx.org> wrote:
> On Sun, Jan 08, 2023 at 04:22:09PM +0100, Kornel Benko wrote:
> > Am Sun, 8 Jan 2023 10:11:37 -0500
> > schrieb Scott Kostyshak <skostysh at lyx.org>:
> >
> > > On Sun, Jan 08, 2023 at 03:50:07PM +0100, Kornel Benko wrote:
> > > > Am Sun, 8 Jan 2023 09:37:03 -0500
> > > > schrieb Scott Kostyshak <skostysh at lyx.org>:
> > > >
> > > > > On Sun, Jan 08, 2023 at 09:30:43AM +0100, Kornel Benko wrote:
> > > > > > Am Sun, 8 Jan 2023 00:59:34 +0100
> > > > > > schrieb Thibaut Cuvelier <dourouc05 at gmail.com>:
> > > > > >
> > > > > > > On Sat, 7 Jan 2023 at 17:10, Kornel Benko <kornel at lyx.org>
> wrote:
> > > > > > >
> > > > > > > > Am Sat, 7 Jan 2023 16:26:03 +0100
> > > > > > > > schrieb Thibaut Cuvelier <dourouc05 at gmail.com>:
> > > > > > > >
> > > > > > > > > > After your recent changes, the number of errors
> decreased :)
> > > > > > > > > >
> > > > > > > > > > I got now (for Tufte_Book.xhtml)
> > > > > > > > > > Error: Bad value "content-type" for attribute
> "http-equiv" on
> > > > > > > > element "meta".
> > > > > > > > > > From line 5, column 1 to line 5, column 68 in
> resource
> > > > > > > > > >
> > > > > > > >
> file:/usr9/BUILD/Mint21/BuildLyxGitQt5.15.3local-gcc12.1.0/autotests/out-home/AbC_wGZLha/examples/es/Books/Tufte_Book.xhtml
> > > > > > > >
> > > > > > > > > > Document checking completed.
> > > > > > > > > > > Found 3 validation errors!
> > > > > > > > > >
> > > > > > > > > This one should be fixed at a5c6215e. I still get two
> warnings with the
> > > > > > > > latest output,
> > > > > > > > > but they cannot be fixed unless we decide we do not
> generate XML-valid
> > > > > > > > HTML at all
> > > > > > > > > (which might be very disruptive for our users).
> > > > > > > > >
> > > > > > > >
> > > > > > > > Not here. The error is the same as before.
> > > > > > > > Error: Bad value "content-type" for attribute
> "http-equiv" on
> > > > > > > > element "meta".
> > > > > > > > Also the test export/mathmacros/testcases_basic_xhtml
> produces plenty of
> > > > > > > > Error: Text not allowed in element "mstyle" in this
> context
> > > > > > > >
> > > > > > >
> > > > > > > That's strange, because all 178 documents (including
> Tufte_book, but not
> > > > > > > mathmacros/testcases_basic) do not produce a single validation
> error on my
> > > > > > > machine: generating the XHTML for Tufte_Book and validating it
> manually (
> > > > > > > https://validator.nu/, it's advertised as the same software)
> doesn't yield
> > > > > > > any error. However, testcases_basic is not included in the
> list of tests I
> > > > > > > run. I'm attaching the log to check for differences.
> > > > > > >
> > > > > > > For export/mathmacros/testcases_basic_xhtml, it's a bug in the
> MathML
> > > > > > > implementation, the mstyle tag should be an mtext (according
> to what the
> > > > > > > spec and MathType say: mstyle was just for text, but is not
> really useful
> > > > > > > anymore; mtext can contain raw text). It should be fixed at
> edcaad24; I'm
> > > > > > > working on a related validation error (triggered in the same
> document with
> > > > > > > this patch).
> > > > > >
> > > > > > There is no attachment in your mail.
> > > > > >
> > > > > > Running the full ctest on the xhtml
> > > > > > $ ctest -R '_xhtml$' -j24
> > > > > > gives here
> > > > > > 0% tests passed, 421 tests failed out of 421
> > > > > > .
> > > > > > Moreover, there are now 16 assertions while exporting.
> > > > > > autotests/export/docbook/Linguistics.lyx
> > > > > > doc/UserGuide.lyx
> > > > > > doc/ar/UserGuide.lyx
> > > > > > doc/ja/UserGuide.lyx
> > > > > > doc/ru/UserGuide.lyx
> > > > > > examples/Modules/Linguistics.lyx
> > > > > > examples/de/Modules/Linguistics.lyx
> > > > > > examples/es/Modules/Linguistics.lyx
> > > > > > examples/fr/Modules/Linguistics.lyx
> > > > > > examples/ja/Modules/Linguistics.lyx
> > > > > > doc/Math.lyx
> > > > > > doc/es/Math.lyx
> > > > > > doc/de/Math.lyx
> > > > > > doc/fr/Math.lyx
> > > > > > doc/ru/Math.lyx
> > > > > > doc/ja/Math.lyx
> > > > > >
> > > > > > The assertion in Linguistics.lyx is triggered only if lyx is
> compiled with for
> > > > > > debugging. "support/lassert.cpp (52): ASSERTION ucs4[i] < 0x80
> VIOLATED IN
> > > > > > /usr2/src/lyx/lyx-git/src/support/docstring.cpp:65
> > > > > >
> > > > > > Should I provide you with my ctest-changes? I feel unconfortable
> to commit
> > > > > > something producing errors while running ctest. OTOH, errors
> should be corrected.
> > > > > >
> > > > > > Scott, what do you think?
> > > > >
> > > > > Thanks to you and Thibaut for working through this. I don't think
> we
> > > > > should commit until the test results are clean.
> > > > >
> > > > > If it would help, I'm happy to test a patch and report back the
> results
> > > > > on my side.
> > > > >
> > > > > Scott
> > > >
> > > > OK, here they are.
> > > >
> > > > One patch and a new file
> (development/autotests/simplehtml_validity.py)
> > >
> > > All xhtml tests fail for me with the patch and file. I get:
> > >
> > >
> > > LyX.cpp (444): Deleting tmp dir /tmp/lyx_tmpdir.WugyQcqXZywf
> > > -- Expected result file
> > >
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_UxUzu8/doc/Intro.xhtml"
> > > exists -- Calling /usr/bin/python3.10
> > >
> "/home/scott/lyxbuilds/master-master/repo/development/autotests/simplehtml_validity.py"
> > >
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_UxUzu8/doc/Intro.xhtml"
> > > -- Calling: /usr/bin/xmllint --loaddtd --noout
> > >
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_UxUzu8/doc/Intro.xhtml"
> > > -- Check the output: /usr/bin/perl
> > >
> /home/scott/lyxbuilds/master-master/repo/development/autotests/examineXmllintOutput.pl
> > > -- Msg Summary: -- OK: Exporting
> > >
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_UxUzu8/doc/Intro.lyx"
> > > to format xhtml -- Error: 1 validating
> >
> > This is suspicious. I get here
> > Error: 254 validating
> > Maybe you forgot to install html5validator?
> > $ pip3 install html5validator>=0.4.2
> >
> > >
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_UxUzu8/doc/Intro.xhtml.validate_out"
> > > -- OK: Checking
> > >
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_UxUzu8/doc/Intro.xhtml"
> > > with /usr/bin/xmllint -- OK: Parse messages of /usr/bin/xmllint for
> errors --
> > > Exporting doc/Intro.lyx to xhtml CMake Error at
> > >
> /home/scott/lyxbuilds/master-master/repo/development/autotests/export.cmake:369
> > > (message): Export failed
>
> Ah yes you are right. Now I get:
>
>
> -- Expected result file
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml"
> exists
> -- Calling /usr/bin/python3.10
> "/home/scott/lyxbuilds/master-master/repo/development/autotests/simplehtml_validity.py"
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml"
> -- Error: Bad value "content-type" for attribute "http-equiv" on element
> "meta".
> From line 5, column 1; to line 5, column 69 in resource
> file:/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml
> Error: The "align" attribute on the "td" element is obsolete. Use CSS
> instead.
> From line 316, column 1; to line 316, column 103 in resource
> file:/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml
> Error: The "valign" attribute on the "td" element is obsolete. Use CSS
> instead.
> ... [cut many messages]
> Error: The "valign" attribute on the "td" element is obsolete. Use CSS
> instead.
> From line 434, column 1; to line 434, column 102 in resource
> file:/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml
> Document checking completed.
> > Found 163 validation errors!
>
> -- Calling: /usr/bin/xmllint --loaddtd --noout
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml"
> -- Check the output: /usr/bin/perl
> /home/scott/lyxbuilds/master-master/repo/development/autotests/examineXmllintOutput.pl
> -- Msg Summary:
> -- OK: Exporting
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.lyx"
> to format xhtml
> -- Error: 254 validating
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml.validate_out"
> -- Error: Non empty output
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml.validate_out"
> with "symplehtml_validity.py"
> -- OK: Checking
> "/home/scott/lyxbuilds/master-master/CMakeBuild/autotests/out-home/AbC_GWnnqL/doc/Intro.xhtml"
> with /usr/bin/xmllint
> -- OK: Parse messages of /usr/bin/xmllint for errors
> -- Exporting doc/Intro.lyx to xhtml
> CMake Error at
> /home/scott/lyxbuilds/master-master/repo/development/autotests/export.cmake:369
> (message):
> Export failed
>
These two errors should be fixed at
9ae793c6
. Tables are a bit hard to work with, because HTML output can be used for
DocBook with slightly different properties :/. The code is probably not too
efficient due to string building, but doing something else would have
required reworking the xmlRow function more than that.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20230109/d53b9365/attachment-0001.html>
More information about the lyx-devel
mailing list