AjouterUneBaliseContainers24¶
Schéma rapide¶
Le point d'entrée est "read_dir" de "loader.py".
Le fichier dictionnaire XML est chargé dans "lxml_parser.py".
Le fichier creole.dtd est chargé pour parser automatiquement les balises "container" via la fonction "_parse_container".
Dans "loader.py", la fonction populate_nomdelabalise est exécutée si elle existe. Sinon la liste des données est concaténée.
Enfin, la fonction gen_nomdelabalise est exécutée si elle existe. Sinon la fonction "gen_generic" est exécutée.
Chargement des balises¶
Les balises dans la base <files>, <container> et <all> sont chargées automatiquement à partir de la DTD.
Il faut donc commencer par remplir convenablement la DTD. Il n'est pas nécessaire de modifier lxml_parser.py.
Un parser simple récupère les informations. Il est nécessaire de suivre ces conventions :
- Les <!ELEMENT ...> et <!ATTLIST ...> DOIVENT être sur une ligne ;
- penser à renseigner l'élément "files", "container" et/ou "all" ;
- syntaxe element : <!ELEMENT nom_element value>
- rien : EMPTY,
- une string : (#PCDATA),
- des éléments : exemple : (el1* | el2*) ;
- syntaxe attlist : <!ATTLIST nom_element nom_attribue valeur type_value comment :
- value : liste des possibilités : (True|False) ou CDATA (une string),
- type_value : valeur optionnelle : #IMPLIED | valeur obligatoire : #REQUIRED | valeur par défaut : "None" ;
- commentaire : si la variable est un symlink : <!--SymLinkOption-->
- les valeurs "True", "False" et None sont remplacées automatiquement par True, False et None.
Chargement de tiramisu¶
Le chargement est automatique avec les critères suivants :
- ajout automatique de tiramisu.containers._attrib_
- les attributs créés des StrOption avec le même nom et la valeur chargée ;
- si un attribut "_nom_element_ list" existe, ajout automatique de "activate" avec le requires
Si ces critères ne vont pas, il sera nécessaire de faire une méthode "gen_ "_attrib_" dans le fichier loader.py. L'appel de cette fonction sera fait automatiquement.