Bonjour,

J'ai un code Xhtml de la forme :

Code html : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
<html>
<body>
<toto:addition b="5" a="7"/>
 
<toto:hello_world  name="people"/>
</body>
</html>

Ce que j'aimerai faire, c'est une fonction qui parse le contenu Xhtml de la page.
Lorsqu'il rencontre un tag de la forme <totoxx /> il ex�cute la fonction xxx( ). Il remplace le tag par ce que retourne la fonction. Si le tag <totoxx /> poss�de des attributs alors, on a un tableau associatif de la forme

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
tab['param1']='valeur1';
tab['param2']='valeur2';
ILLUSTRATION :

- Avec : <toto:hello_world name="Mr. Bob"/>

On fait appelle a la fonction suivante :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
function hello_world(args){
 
    var default = new Array();
 
    default['name'] = '';
 
    extract(array_merge(default,args));
 
    if(name=='') name = 'world';
 
    return 'Hello '+name+' !';
 
}
Conclusion : Ce tag <toto:hello_world name="Mr. Bob"/> sera remplac� par
"Hello Mr. Bob !

Avec le tag : <toto:addition b="5" a="7"/>

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
function addition(args){
 
    var default = new Array();
 
    default['a'] = 0;
    default['b'] = 0;
 
    extract(array_merge(default,args));
 
    return a+b;
}
Conclusion ce tag : <toto:addition b="5" a="7"/> sera remplac� par 12
ce tag : <toto:addition a="7" b="5"/> sera remplac� par 12
ce tag : <toto:addition b="5"/> sera remplac� par 5 (car a n'�tant pas d�finit on prendra la valeur par d�faut � savoir 0).