Salut à tous,

J'ai revu ma copie concernant la structure du fichier infos au format XML, le 
but étant d'avoir une structure cohérente tout au long du fichier et des noms 
de balises le plus explicite possible par rapport à leur contexte 
d'utilisation. Voici le résultat, dites-moi si les noms des balises sont bien 
intuitifs pour deviner leur rôle :

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE npkg SYSTEM "NasgaiaPackage.dtd">

<npkg version="3.0">

    <project>
        <version>1.0</version>
        <license>GPL</license>
        <author>Me</author>
        <copyrights>none</copyrights>
        <homepage>http://www.project.org/</homepage>

        <resources>
            <file name="project-1.0.tgz" 
checksum="442fed534043a8d66976bdfd7b80eedf">
                <location>ftp://ftp.project.org/download</location>
                <location>http://http.project.org/download</location>
            </file>
        </resources>

        <domain>
            <descriptor>/kind/application</descriptor>
            <descriptor>/interface/text/command-line</descriptor>
            <descriptor>/topic/system/console/terminal</descriptor>
            <descriptor>/audience/end-user</descriptor>
        </domain>

        <purpose lang="en">
            <summary>A full-featured text editor.</summary>
            <description>here is the full description of the 
software.</description>
        </purpose>
        <purpose lang="fr">
            <summary>Un éditeur de texte avancé.</summary>
            <description>Voici la description complète du 
logiciel</description>
        </purpose>
    </project>

    <package>
        <release>1</release>
        <maintainer>
            <name>Gontran</name>
            <email>[EMAIL PROTECTED]</email>
        </maintainer>

        <history>
            <release version="1.0-nga1" author="Gontran 
&lt;[EMAIL PROTECTED]&gt;"
                object="pkg-bugfix" date="2005-07-08T18:03:00Z">
                - first release of the stable version.
            </release>
        </history>
    </package>

</npkg>

Les changements par rapport à ma précédente proposition concernent :

- l'ajout de l'attribut version à la balise racine npkg pour indiquer la 
version de Ncooker pour laquelle le paquet est conçu ;

- j'ai utilisé le nom plus général de ressources pour désigner les fichiers du 
projets. Une ressource est un fichier qui sera le plus souvent une archive 
source, mais qui pourrait très bien être un fichier d'une tout autre nature.

- domain indique le domaine applicatif/fonctionnel du projet, et j'ai remplacé 
la balise node par la balise descriptor, dont le contenu décrit une 
caractéristique de ce domaine.

- J'ai placé la release du paquet comme contenu d'une balise plutôt que valeur 
d'attribut de la balise package. Ça permet de suivre la même logique que la 
balise version pour project.

- De même les attributs de la balise maintainer ont été transformés en 
balises.

- la balise changelog a été renommée en history, et l'attribut purpose de la 
balise release a été renommé en object. Pour les mots-clés utilisable avec 
cet attribut, je propose :
 . app-bugfixes : correction de bogues dans le projet
 . app-securityfixes : élimination de failles de sécurité dans le projet
 . app-features : amélioration (ou nouvelle version) du projet
 . pkg-bugfixes : correction de bogues dans le paquet (dans le fichier infos 
ou build)
 . pkg-securityfixes : élimination de failles de sécurité dans le paquet
 . pkg-features : amélioration du paquet

L'attribut object peut contenir plusieurs mots-clés séparés par des espaces.

Voilà. Remarques, avis, critiques bienvenus ;-)

++
Gontran


Répondre à