Les directives sont optionnelles si elles ont l’attribut tag.
Cet attribut tag n’est pas obligatoire, mais au niveau du code deux constantes sont utilisées:
DIRECTIVE_OPTIONAL = 1
DIRECTIVE_ACTIVE = 2
dans la classe Directive de fwobjects.py, il faut regarder l’attribut attrs.
Si directive.attrs = 0, alors la directive n’est ni optionnelle, ni active.
La liste des tags pendant le lancement de l’application est stockée dans le library store.
Pour savoir si une directive est optionnelle ou active, faire un directive.is_active() ou un directive.is_optional().
Attention : la valeur 2 correspond à non optionnelle mais active, ce qui n’a pas de sens. Les valeurs autorisées sont donc [0,1,3]
if self.attrs !=0 and libray_store.tags[self.tag]:
self.attrs = 3
les attributs possibles dans le xml des directives sont:
attrs="0"
attrs="1"
attrs="3"
attrs="17"