Skip to content

configure.php validation rewrite, some modularizations, error messages#292

Open
alfsb wants to merge 3 commits into
php:masterfrom
alfsb:configure-validation
Open

configure.php validation rewrite, some modularizations, error messages#292
alfsb wants to merge 3 commits into
php:masterfrom
alfsb:configure-validation

Conversation

@alfsb
Copy link
Copy Markdown
Member

@alfsb alfsb commented May 20, 2026

  • Move DTD related code to one place.
  • Nudhe idempotent paths instead of historical paths in messages.
  • Better diagnostic messages about structural vs XInclude xml:ids
  • Rewrite of validation errors. Java/Jing by default, native libxml otherwise.
  • Make the difference between Structural vs XInclude IDs more visible in docs.

* Move DTD related code to one place.
* Nudhe idempotent paths instead of historical paths in messages.
* Better diagnostic messages about structural vs XInclude xml:ids
* Rewrite of validation errors. Java/Jing by default, native libxml otherwise.
* Make the difference between Structural vs XInclude IDs more visible in docs.
@alfsb
Copy link
Copy Markdown
Member Author

alfsb commented May 20, 2026

Plan to merge this in two weeks, if no one opposes.

Side note: configure.php executes both the native libxml validation and Java jing validation, when there is failure, and this is slow. If the two are perfectly complementar, it's possible to try to run Jing first, and only resorts to run libxml if the code detects Java ausence. Comments?

@alfsb
Copy link
Copy Markdown
Member Author

alfsb commented May 21, 2026

Implemented the use of a single RelaxNG validation path. It cuts the build time in half on machines with Java.

Comment thread configure.php
@jordikroon
Copy link
Copy Markdown
Member

I don't really have a strong opinion as I don't fully understand what's going on. But the changes look good and it's an improvement overall.

@alfsb
Copy link
Copy Markdown
Member Author

alfsb commented May 24, 2026

I don't really have a strong opinion as I don't fully understand what's going on. But the changes look good and it's an improvement overall.

Besides moving all non-building and non-validating stuff away from the critical path on configure.php, this particular fila started almost 20 years ago: it was hacked away all these years, and never consolidated.

While I as rewriting doc-base's revcheck.php, and writing some QA xml tools focused on translations, it was difficult to integrate then into configure.php, so I took to myself to slowly rewriting this file too, organizing it into functions, so data flow dependencies could be more easily determined, and them, moved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants