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"> </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.
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:
These are the major differences observed.
Empty TD
There is a lot of:
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:
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.