12.4. extensions.xml.php

The extensions.xml.php script creates the extension categorization appendix. It collects the data from the reference.xml files and updates the en/appendices/extensions.xml file.

The tags supported for the reference/*/reference.xml files include:

Table 12-1.

TagExplanation
<!-- Purpose: xx -->

The purpose of the extension, specified by an ID. There are several IDs available, which can be consulted in the en/extensions.ent file. They look like database.vendors or xml.

If none of the available categories fits your extension, you can create a new one. To do so, you must add a new entity in the en/extensions.ent file, like: <!ENTITY extcat.purpose.xml '<title>XML Manipulation</title>'>. After this, you still need to edit en/appendices/extensions.xml and create a new section for your ID, by copying an already existent section. This isn't done automatically to allow you to choose the order of the sections.

<!-- Membership: xx, yy --> This tag can have multiple values, that should be separated by commas. Valid values include: core (for PHP core extensions, like the strings or date extension), pecl (if the extension lives in PECL), bundled (if the extension is bundled with the main PHP distribution), and external (if the extension relies on external - and not bundled - libraries).
<!-- State: xx --> This tag is optional and can only have two values, either deprecated or experimental.

Note: If you mark an extension as deprecated and if it is very old and unusable, you shouldn't add the purpose and membership tags, so that the extension doesn't appear in the appendix (to avoid confusing users).

The script should warn you for missing tags or even bogus values, although it won't report any XML errors. So, you have the responsability to run make test before running this script. Failing to do so, may lead to unexpected results.

Note: This script requires PHP >= 5 with SimpleXML.