Skip to content

Rendering differences around non significant XML #265

Description

@alfsb

While developing the XML trim project, testing showed some differences that may or may not be worth debugging. I think these changes (removal of XML comments and removal of duplicated XML namespaces) surfaced heisenbug, in a very controlled setup, so it is possible to stabilize PhD to not show dependent behaviour in non significant XML changes.

The setup:

phd             1a70b5bd531e4687b64447d0c0a3e33cb9c98714
en              36d18e7d4a32ecfdacc1eb086276ffb1baf0393c
doc-base (prev) 738f18cf429d45eed2698b8cd77d3364ea87f085
doc-base (next) 8eeece936aa2103c0632a22e47791749cb7aa697

php -v
PHP 8.1.2-1ubuntu2.25 (cli) (built: Jul 16 2026 18:32:33) (NTS)

rm -rf output
php doc-base/configure.php -q --with-lang=en
php phd/render.php --color false --package PHP --format php --format xhtml --format bigxhtml --format tocfeed -d doc-base/.manual.xml

These are the major differences observed.

Empty TD

There is a lot of:

<       <td></td>
---
>       <td class="empty">&nbsp;</td>

These, while annoying, does not change the behaviour or rendered manual. The worrie is that XML comments or duplicated namespace somehow affects empty TDs.

Files omitted

There are a lot of files that are emitted with doc-base prev, that are not in doc-base prev. Things like:

Only in doc-base-prev-out/php-chunked-xhtml: intro.apache.html
Only in doc-base-prev-out/php-chunked-xhtml: intro.apcu.html
Only in doc-base-prev-out/php-chunked-xhtml: intro.array.html
...
Only in doc-base-prev-out/php-chunked-xhtml: intro.zmq.html
Only in doc-base-prev-out/php-chunked-xhtml: intro.zookeeper.html
Only in doc-base-prev-out/php-chunked-xhtml: mysqlinfo.intro.html
Only in doc-base-prev-out/php-chunked-xhtml: preface.html

Only in doc-base-prev-out/php-web: intro.apache.php
Only in doc-base-prev-out/php-web: intro.apcu.php
Only in doc-base-prev-out/php-web: intro.array.php
...
Only in doc-base-prev-out/php-web: intro.zmq.php
Only in doc-base-prev-out/php-web: intro.zookeeper.php
Only in doc-base-prev-out/php-web: mysqlinfo.intro.php
Only in doc-base-prev-out/php-web: preface.php

All these files appear to not being published on the main manual, so they also do not block XML trim merge, but is something that worries me more, as now entire files are being created or omitted bases in non-significant XML.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions