Re: Re: results of work

From: Date: Sat, 24 Sep 2005 11:28:01 +0000
Subject: Re: Re: results of work
References: 1 2 3 4  Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-2984@lists.php.net to get a copy of this message
On 9/23/05, Greg Beaver <cellog@php.net> wrote: > Dan Scott wrote: > > On 9/23/05, Sara Golemon <pollita@php.net> wrote: > > > >>>I was somewhat surprised at the number of invalid package.xml files in > >>>there. I added a ton of validation to package.xml 1.0 stuff - there are > >>>some serious problems that have been present in every PEAR version, like > >>>allowing PHP dependencies that just don't work, and so on. > >>> > >> > >>Do you have a specific list of which package.xml files are invalid? > >> > > > > > > xmllint says imagick and cyrus are the guilty parties (lacking basic > > well-formedness, anyways; if there's a DTD for package.xml it would > > make a validity-testing script a little easier to run). > > Sure thing, you can choose from > http://pear.php.net/dtd/package-1.0 > http://pear.php.net/dtd/package-1.0.xsd > > Greg > Excellent -- in that case the following command turns up _tons_ of validation errors: find pecl -name package.xml -exec xmllint --dtdvalid http://pear.php.net/dtd/package-1.0 --noout {} \; The "xmllint" command might be a good one to suggest on the PEAR package.xml docs for developers to validate their package.xml files. I've fixed pecl/ibm_db2/package.xml to comply with the DTD. Oddly enough, I don't believe any of the examples in http://pear.php.net/manual/en/developers.packagedef.php would be valid package.xml files. For example, the major problem that ibm_db2/package.xml had was that I had placed the file names as CDATA inside the <file></file> element -- this follows the documentation to the letter. However, the DTD only allows the <file> element to contain <replace> elements, and specifies that the file name has to be set as the name attribute of <file>. The second problem ibm_db2 had was that the DTD requires a <license> element inside every <release> element, while the documentation omits that element from its example. Thanks for the pointers, Dan

« previous php.pecl.dev (#2984) next »