Re: Re: package.xml 2.0 dilemma
| From: | Greg Beaver | Date: | Thu, 02 Jun 2005 12:21:36 +0000 |
| Subject: | Re: Re: package.xml 2.0 dilemma | ||
| References: | 1 2 | Groups: | php.pear.dev php.pear.core |
| Request: | Send a blank email to pear-dev+get-37929@lists.php.net to get a copy of this message | ||
Pierre-Alain Joye wrote:
I fail to see the difference but <lead/> being maintainers child, still two there. Have you some more clear examples? I take again a look at the xsd files and package2.xml, any reason to use lead,dev,... as tag and not properties? This was a point I did not like in the version 1 but was still better as it has a <maintainer> tag. Having a tag for each maintainer role sounds pretty ugly. Like having a tag for each possible color for instance. Read the archives of pear-core. And read up on the W3C standard for XSchema. Also, as I have, look through hundreds of releases at pear.php.net and analyze the ones with invalid package.xml.You'll see that about 60% of the problems are due to improper use of the <dep> tag, and in particular the type="php". about 38% come from weird tag orderings where the maintainer didn't realize he had ommitted a tag. The other 2% come from maintainer tags, also because (for instance) the roles were not in any particular order. I've explained this before: XSchema can validate tags on a more sophisticated level than DTD, and if we *ever* wish to have a PHP 5+ based installer, it will need to put most of the validation into the DOM extension's validation features. There is currently no RelaxNG W3C standard, or I would go with that. Most important: XSchema *cannot* validate the contents of a tag in the sense of this statement: "there must be at least 1 <maintainer> tag containing a <role> tag with the contents 'lead'" but it *can* validate: "there must be at least 1 <lead> tag". We have had the same maintainer roles for 5 years. They will not change. This syntax will not change, so get used to it. Greg