AjouterUneBaliseContainers24 » Historique » Version 6
Emmanuel GARETTE, 15/01/2013 16:51
| 1 | 1 | Emmanuel GARETTE | h1. AjouterUneBaliseContainers24 |
|---|---|---|---|
| 2 | 1 | Emmanuel GARETTE | |
| 3 | 5 | Emmanuel GARETTE | h2. Schéma rapide |
| 4 | 5 | Emmanuel GARETTE | |
| 5 | 5 | Emmanuel GARETTE | Le point d'entré est "read_dir" de "loader.py". |
| 6 | 5 | Emmanuel GARETTE | |
| 7 | 5 | Emmanuel GARETTE | Le fichier dictionnaire XML est chargé dans "lxml_parser.py". |
| 8 | 5 | Emmanuel GARETTE | e fichier creole.dtd est chargé pour parser automatiquement les balises "container" via la fonction "_parse_container". |
| 9 | 5 | Emmanuel GARETTE | |
| 10 | 5 | Emmanuel GARETTE | Dans "loader.py", la fonction populate_nomdelabalise est exécuté si elle existe. Sinon la liste des données est concaténé. |
| 11 | 5 | Emmanuel GARETTE | |
| 12 | 5 | Emmanuel GARETTE | Enfin, la fonction gen_nomdelabalise est exécuté si elle existe. Sinon la fonction "gen_generic" est exécuté |
| 13 | 5 | Emmanuel GARETTE | |
| 14 | 1 | Emmanuel GARETTE | h2. Chargement des balises |
| 15 | 1 | Emmanuel GARETTE | |
| 16 | 1 | Emmanuel GARETTE | Les balises dans la base <files>, <container> et <all> sont chargés automatiquement à partir de la DTD. |
| 17 | 1 | Emmanuel GARETTE | |
| 18 | 3 | Emmanuel GARETTE | Il faut donc commencé par remplir convenablement la DTD. *Il n'est pas nécessaire de modifier lxml_parser.py*. |
| 19 | 1 | Emmanuel GARETTE | |
| 20 | 1 | Emmanuel GARETTE | Un parser simple récupère les informations. Il est nécessaire de suivre ces conventions : |
| 21 | 1 | Emmanuel GARETTE | |
| 22 | 1 | Emmanuel GARETTE | * Les <!ELEMENT ...> et <!ATTLIST ...> DOIVENT être sur une ligne ; |
| 23 | 1 | Emmanuel GARETTE | * penser à renseigner l'élément "files", "container" et/ou "all" ; |
| 24 | 2 | Emmanuel GARETTE | * syntaxe element : <!ELEMENT nom_element value> |
| 25 | 2 | Emmanuel GARETTE | > * rien : EMPTY, |
| 26 | 2 | Emmanuel GARETTE | > * une string : (#PCDATA), |
| 27 | 3 | Emmanuel GARETTE | > * des éléments : exemple : (el1* | el2*) ; |
| 28 | 6 | Emmanuel GARETTE | * syntaxe attlist : <!ATTLIST nom_element nom_attribue valeur type_value comment : |
| 29 | 1 | Emmanuel GARETTE | > * value : liste des possibilités : (True|False) ou CDATA (une string), |
| 30 | 1 | Emmanuel GARETTE | > * type_value : valeur optionnelle : #IMPLIED | valeur obligatoire : #REQUIRED | valeur par défaut : "None" ; |
| 31 | 6 | Emmanuel GARETTE | > * commentaire : si la variable est un symlink : <!--SymLinkOption--> |
| 32 | 1 | Emmanuel GARETTE | * les valeurs "True", "False" et None sont remplacés automatiquement par True, False et None. |
| 33 | 3 | Emmanuel GARETTE | |
| 34 | 3 | Emmanuel GARETTE | h2. Chargement de tiramisu |
| 35 | 3 | Emmanuel GARETTE | |
| 36 | 3 | Emmanuel GARETTE | Le chargement est automatique avec les critères suivants : |
| 37 | 3 | Emmanuel GARETTE | |
| 38 | 3 | Emmanuel GARETTE | * ajout automatique de tiramisu.containers._attrib_ |
| 39 | 3 | Emmanuel GARETTE | * les attributs créés des StrOption avec le même nom et la valeur chargée ; |
| 40 | 3 | Emmanuel GARETTE | * si un attribut "_nom_element_ list" existe, ajout automatique de "activate" avec le requires |
| 41 | 3 | Emmanuel GARETTE | |
| 42 | 4 | Emmanuel GARETTE | 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. |