PEAR logo

PEAR_PackageFileManager : The Definitive Guide



Allowed elements

As any other xml file, the package definition file package.xml begin with a standard xml prolog. The toplevel element in package.xml is the element <package version="2.0">.

      
<?xml version="1.0"?>
<package version="2.0" xmlns="http://pear.php.net/dtd/package-2.0"
    xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
http://pear.php.net/dtd/tasks-1.0.xsd
http://pear.php.net/dtd/package-2.0
http://pear.php.net/dtd/package-2.0.xsd">
      
     

The allowed sub elements are (bold entry is mandatory, while normal entry is optional):

<name>

The name of the package

<extends>

Each package with a major version x in x.y.z greater than 1 must superceed a previous package identify by the extends tag.

<channel> | <uri>

Either use the channel tag that should contain the full channel name, not any alias, or use the uri tag that contain a Uniform Resource Identifier (URI) of your package.

<summary>

Short summary of the package's description

[Warning] Warning
A one-line string longer than 25 characters will be truncated after 25th char. and ... will be appended to the string (to indicate a split).
<description>

Any static long description. No size limitation.

[Tip] Tip
This text should not change very much between releases, use instead the "notes" tag for release notes to identify what have changed since the previous version.
<lead>, <developer>, <contributor> and <helper>

These tags documente who develops a package, and who is still active.

<date>

The date when the current release has been rolled.

<time>

The time when the current release has been rolled. Default is current time if not specified.

<version>

Version tag documenting release version and API version.

<stability>

Stability tag documenting release stability and API stability.

<license>

License tag specifying software license and optional reference to license text.

<notes>

Notes tag specifying release changes introduced since previous version.

<contents>

Contents tag specifying the contents of a release.

<compatible>

compatible tag allow to work with recommended dependency and installed versions.

<dependencies>

dependencies tag specifying the dependencies of a release.

<usesrole>

Usesrole tag documenting custom file roles used in <contents>

<usestask>

Usestask tag documenting custom tasks used in <contents>

<phprelease> | <extsrcrelease> | <extbinrelease> | <bundle>

These tags specifying the content type of a release.

<changelog>

Changelog-like information about the package.

PEAR_PackageFileManager : The Definitive Guide v 1.6.0 : November 17, 2006