[DOC-CVS] [doc-base] master: configure.php: recover failed XIncludes inside classsynopsis (#326)
[email protected] (Louis-Arnaud via GitHub) Mon, 27 Jul 2026 12:27:13 +0000
| Newsgroups | php.doc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: Louis-Arnaud (lacatoire)
Committer: GitHub (web-flow)
Pusher: alfsb
Date: 2026-07-27T09:27:10-03:00
Commit: https://github.com/php/doc-base/commit/1592ca4c669b29e055c34634bec40d514f2c46c4
Raw diff: https://github.com/php/doc-base/commit/1592ca4c669b29e055c34634bec40d514f2c46c4.diff
configure.php: recover failed XIncludes inside classsynopsis (#326)
* configure.php: recover failed XIncludes inside classsynopsis
xinclude_residual_fixup handled listitem/refentry/refsect1/tbody/variablelist
parents but not classsynopsis, so a failed XInclude targeting a methodsynopsis
or fieldsynopsis inside a class synopsis hit the default branch and hard-failed
the build (Unknown parent of failed XInclude: classsynopsis).
Add a classsynopsis case that injects a <classsynopsisinfo role="comment">
carrying the failure marker. This is a valid child of classsynopsis per the
DocBook 5.2 RNG (verified), so translations with a missing class-member include
now surface the failure and keep validating, as intended for the other parents.
* Use single-quoted role='comment', keep the attribute for PhD
Dropping the attribute passes RNG but PhD's format_classsynopsisinfo
(Generic/XHTML.php:1145) treats a role-less classsynopsisinfo as the
class-body opener: it appends ' {', sets classsynopsis close=true and
asserts legacy rendering. role='comment' renders the marker as '/* ... */'
instead, which is what the fixup needs.
Changed paths:
M configure.php
Diff:
diff --git a/configure.php b/configure.php
index bd17307952..52255a0544 100755
--- a/configure.php
+++ b/configure.php
@@ -850,6 +850,9 @@ function xinclude_residual_fixup( DOMDocument $dom )
case "variablelist":
$fixup = "<varlistentry><term></term><listitem><simpara>$alert</simpara></listitem></varlistentry>";
break;
+ case "classsynopsis":
+ $fixup = "<classsynopsisinfo role='comment'>$alert</classsynopsisinfo>";
+ break;
default:
echo " (Unknown parent of failed XInclude: $parent)\n";
$hardfail = true;