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. |