php / doc-base

Tools for the PHP documentation
Other
343 stars 85 forks source link

Problematic DTD's #79

Open nilgun opened 1 year ago

nilgun commented 1 year ago

Docbook-DTD customization is inevitable for large projects. In DTD customization, ENTITYs can be customized, while ELEMENTs that are not wrapped with ENTITYs cannot. In the latter case, it will no longer be the standard DocBook DTD as the ELEMENTs to be modified are wrapped with ENTITYs.

As a result, there is no choice but to hack the DTD. Then we can make the DocBook DTD our own DTD by placing the original copyright and license information at the beginning of the file, specifying the copyrights associated with the modification and that it is a derivative, and start adding the changes required by our document tree to the DTD.

As for the RELAX-NG/DTD application, · DTD's conformity to the document tree (xmllint), · conformance of the document tree to DTD (xmllint), and · conformity of document tree to RNG (jing) needs to be tested. The last two alone cannot catch all errors. That is, it is necessary to generate an RNG from DTD (trang).

After all, it is clear that the PDF generation tools prepared for the standard DocBook-DTD cannot be used.

Girgias commented 12 months ago

I've been having a look at the DTD as I'm trying to upgrade it to 5.2, and I think the phd: attribute support can be dropped by "abusing" the standard annotation one, especially as the only useful one is for phd:chunked.

Not sure what to do with our usages of <phpdoc:classref>: tho. Possibly converting this to a stadard Docbook tag and fix the rendering for that tag?

nilgun commented 12 months ago

16.10.2023 18:22 tarihinde George Peter Banyard yazdı:

I've been having a look at the DTD as I'm trying to upgrade it to 5.2, and I think the |phd:| attribute support can be dropped by "abusing" the standard |annotation| one, especially as the only useful one is for |phd:chunked|.

Not sure what to do with our usages of |:| tho. Possibly converting this to a stadard Docbook tag and fix the rendering for that tag?

You do not need to define separate namespaces within the DTD. For a DTD customization example, see https://github.com/TLBP/source/blob/main/source/docbook/dtd/ .

You can create the DTD that best suits your project, as I did, and improve it as needed.