Use a language directory's manual.xml when present#322
Conversation
Let a language directory ship its own manual.xml to build a self-contained manual that references only its own books, instead of the main manual skeleton in doc-base. Falls back to the doc-base manual.xml when absent, so existing builds are unaffected.
19df0db to
fe2ce5c
Compare
alfsb
left a comment
There was a problem hiding this comment.
This is ok for me, and aligns with what I'm developing in doc-en 5682. But it may conflict with doc-base 321, so a bit of manual merge would be necessary.
In the meantime, apply these changes locally, so you are not blocked while all configure.php PRs are not merged.
Adds a manual.xml so this repository builds as a manual of its own instead of reusing the main manual skeleton from doc-base, which references books this repository does not provide. It wires its own entity files and the generated entities in a sibling doc-base checkout, and lists only the seven bundled extensions. Requires php/doc-base#322 (build from a language directory's manual.xml when present). Cross-references whose targets live in the main manual (install.pecl, book.libxml, ref.mcrypt, ref.mhash, install.windows.building) are resolved through link entities in main-manual.ent, each carrying its own xlink namespace, rather than dangling linkends. Excludes manual.xml from docbook-cs (build-time parameter entities do not resolve standalone) and puts xml:id before xmlns on the radius examples.
Declares this repository's own manual skeleton: it wires its own entity files and references only the books it ships, so it builds as a manual of its own instead of reusing the main manual skeleton from doc-base. Requires doc-base to prefer a language directory's manual.xml when present (php/doc-base#322).
|
Testing 321 will take longer that I expected. To not block the advance of third-party docs, this PR can be merged at any time, even more so if the rendeding and hosting advances. |
|
Please test the PR 324, for a version that minimizes relative paths problems, and is also prepared for disappearance of DTD entity files (at least on doc-en side). Also, consider using the DOCTYPE node of doc-en 5682 in the doc-ext manual. Please comunique any problem found, and if everything goes well, consider closing this PR, in favor of the other two. |
When a language directory contains its own
manual.xml,configure.phpnow builds from it instead of the main manual skeleton in doc-base. When absent, the doc-basemanual.xmlis used as before, so all existing builds (en and translations) are byte-for-byte unaffected.This lets a manual be fully self-contained in its own repository: it can declare its own entity wiring and reference only its own books. Motivation is the third-party extension manual split (lacatoire/doc-contrib), where reusing the main skeleton fails because it references ~160 core books the contrib repo does not provide. Supersedes the file-entities scanning approach discussed in #320.