Projet

Général

Profil

AjouterUneBaliseContainers24 » Historique » Version 5

Emmanuel GARETTE, 15/01/2013 11:16

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 1 Emmanuel GARETTE
* syntaxe attlist : <!ATTLIST nom_element nom_attribue valeur type_value :
29 1 Emmanuel GARETTE
> * value : liste des possibilités : (True|False) ou CDATA (une string),
30 3 Emmanuel GARETTE
> * type_value : valeur optionnelle : #IMPLIED | valeur obligatoire : #REQUIRED | valeur par défaut : "None" ;
31 1 Emmanuel GARETTE
* les valeurs "True", "False" et None sont remplacés automatiquement par True, False et None.
32 3 Emmanuel GARETTE
33 3 Emmanuel GARETTE
h2. Chargement de tiramisu
34 3 Emmanuel GARETTE
35 3 Emmanuel GARETTE
Le chargement est automatique avec les critères suivants :
36 3 Emmanuel GARETTE
37 3 Emmanuel GARETTE
* ajout automatique de tiramisu.containers._attrib_
38 3 Emmanuel GARETTE
* les attributs créés des StrOption avec le même nom et la valeur chargée ;
39 3 Emmanuel GARETTE
* si un attribut "_nom_element_ list" existe, ajout automatique de "activate" avec le requires
40 3 Emmanuel GARETTE
41 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.