Re: fixing bookindex.html bloat

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: fixing bookindex.html bloat
Date: 2022-02-14 17:31:25
Message-ID: be91c645-136c-9dc6-3803-9ba75b0f86e5@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 13.02.22 21:16, Andres Freund wrote:
> The reason for the two xmlns= are different. The
> xmlns="http://www.w3.org/1999/xhtml" is afaict caused by confusion on our
> part.
>
> Some of our stylesheets use
> xmlns="http://www.w3.org/TR/xhtml1/transitional"
> others use
> xmlns="http://www.w3.org/1999/xhtml"
>
> It's noteworthy that the docbook xsl stylesheets end up with
> <html xmlns="http://www.w3.org/1999/xhtml">
> so it's a bit pointless to reference http://www.w3.org/TR/xhtml1/transitional
> afaict.
>
> Adding xmlns="http://www.w3.org/1999/xhtml" to stylesheet-html-common.xsl gets
> rid of xmlns="http://www.w3.org/TR/xhtml1/transitional" in bookindex specific
> content.
>
> Changing stylesheet.xsl from transitional to http://www.w3.org/1999/xhtml gets
> rid of xmlns="http://www.w3.org/TR/xhtml1/transitional" in navigation/footer.
>
> Of course we should likely change all http://www.w3.org/TR/xhtml1/transitional
> references, rather than just the one necessary to get rid of the xmlns= spam.

Yeah, that is currently clearly wrong. It appears I originally copied
the wrong namespace declarations from examples that show how to
customize the DocBook stylesheets, but those examples were apparently
wrong or outdated in this respect. It seems we also lack some namespace
declarations altogether, as shown by your need to add it to
stylesheet-html-common.xsl. This appears to need some careful cleanup.

> The reason that we end up with so many more xmlns:xlink is just that without
> our customization there ends up being a single
> <div xmlns:xlink="http://www.w3.org/1999/xlink" class="index">
> and then everything below that doesn't need the xmlns:xlink anymore. But
> because stylesheet-html-common.xsl emits the div, the xmlns:xlink is emitted
> for each element that autoidx.xsl has "control" over.
>
> Waiting for docbook to fix this seems a bit futile, I eventually found a
> bugreport about this, from 2016: https://sourceforge.net/p/docbook/bugs/1384/
>
> But we can easily reduce the "impact" of the issue, by just adding a single
> xmlns:xlink to <div class="index">, which is sufficient to convince xsltproc
> to not repeat it.

I haven't fully wrapped my head around this. I tried adding xlink to
our own exclude-result-prefixes, but that didn't seem to have the right
effect.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-02-14 17:33:46 Re: Mark all GUC variable as PGDLLIMPORT
Previous Message Robert Haas 2022-02-14 17:27:10 Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints