Salut En attendant de voir si on reste sur le XML ou pas, il va falloir que je fasse évoluer le format du fichier infos, car certaines parties sont trop restrictives, et ne permettent pas de faire tout type de Nbuild.
Par exemple, les ressources (archives, etc..) sont une donnée obligatoire, alors qu'un paquet peut ne pas en avoir besoin (par exemple, le paquet qui crée la structure des répertoires). Ne connaissant pas le formalisme des schémas XML, j'ai regardé un tuto (http://www.w3schools.com/schema/default.asp) tout en cherchant des points précis qui me permettraient de régler mon problème. Par exemple, voici la partie qui traite de la section 'Project' d'un fichier infos: <xsd:complexType name="Project"> <xsd:sequence> <xsd:element name="name" type="ascii-word" /> <xsd:element name="version" type="prj_version" /> <xsd:element name="license" type="ascii-word" /> <xsd:element name="author" type="non-empty-string" /> <xsd:element name="copyright" type="non-empty-string" /> <xsd:element name="homepage" type="URL" /> <xsd:element name="purpose" type="Purpose" maxOccurs="unbounded" /> <xsd:element name="domain" type="Domain"> <!-- Each domain descriptor must be unique --> <xsd:unique name="domain_descriptors"> <xsd:selector xpath="descriptor"/> <xsd:field xpath="." /> </xsd:unique> </xsd:element> <xsd:element name="resources" type="Resources"> <!-- Each ressource filename must be declared only once --> <xsd:unique name="resources_files"> <xsd:selector xpath="file"/> <xsd:field xpath="@name" /> </xsd:unique> <!-- Each file checksum must be unique --> <xsd:unique name="files_checksum"> <xsd:selector xpath="file"/> <xsd:field xpath="@checksum" /> </xsd:unique> </xsd:element> <xsd:element name="build" type="Build"/> </xsd:sequence> </xsd:complexType> Première chose, <xsd:sequence> implique que les éléments arrivent dans l'ordre décrit : c'est très sectaire je trouve :-). <xsd:all> permettrait d'être plus souple. Ensuite, on peut mettre un attribut minOccurs="0" pour les éléments qui ne sont pas obligatoires. Je pense qu'on pourrait le mettre sur l'élement <xsd:element name="resources" type="Resources">. Je compte déjà essayer juste le 'minOccurs' pour commencer. Si vous avez des commentaires/idées/suggestions, c'est le moment. @+ -- Richard 'riri' GILL jabber: [EMAIL PROTECTED] http://riri.houbathecat.info http://nasgaia.org http://www.gnurou.org/Writing/SmartQuestionsFr _______________________________________________ Nasgaia-dev mailing list [email protected] https://mail.gna.org/listinfo/nasgaia-dev
