ThéorieRéférences XMLAttributs

Le préfixe d'attribut d'expression [expr:]

Le préfixe d'attribut d'expression [expr:]
Le terme expr: est un préfixe d'attribut, qui indique que le contenu de la valeur de l'attribut contient une expression Blogger.

Introduction - Qu'est-ce qu'une expression Blogger ?

Une expression Blogger est un code spécifique Blogger qui doit être injecté dans la valeur d'un attribut d'une balise HTML

<BALISE ATTRIBUT='EXPRESSION'>

</BALISE>

Une expression peut être composée :
  • d'opérateurs
  • de données Blogger
  • de chaines de caractères

Le résultat de l'expression peut être de type :

Type Signification Valeur
string Une chaîne de caractères. "string"
boolean Une valeur booléenne. true|false|yes|no
number Une valeur numérique. 17
URL Une url du blog. "https://"
object Un objet. {"item1":"value","item2":"value","item3":"value"}
array[string] Un tableau de chaînes de caractères. ["string1","string2","string3"]
array[boolean] Un tableau de valeurs booléennes. [true,false,true]
array[number] Un tableau de nombres. [1,2,3,4]
array[URL] Un tableau d'urls du blog. ["https://","https://","https://"]
array[object] Un tableau d'objet. [{object}]

Vous trouverez des informations supplémentaires dans les fiches des catégories :


La syntaxe

XML
<div expr:class='EXPRESSION' expr:id='EXPRESSION' expr:style='EXPRESSION'>

</div>

  • Tous les attributs d'une balise HTML standard peuvent être doté du préfixe expr:.
  • Sous certaines conditions, le préfixe expr: peut être également mentionné dans les balises HTML Blogger. Toutefois, l'usage est légèrement différent.


Dans une balise HTML standard

Dans une balise HTML standard, le préfixe permet d'intégrer une expression Blogger dans la valeur de l'attribut.
Dans le rendu HTML, le préfixe ne sera pas imprimé et l'expression Blogger sera remplacée par le résultat.

XML
<div expr:class='data:view.type'
     expr:id='"p-" + data:blog.blogId"'
     expr:style='"font-size: " + data:view.isMobile ? 20 : 14 + "px;"'>

</div>

Rendu HTML
<div class='item'
     id='p-1234567890'
     style='font-size: 14px;'>

</div>


Dans une balise HTML Blogger

L'usage du préfixe expr: dans une balise Blogger (celles avec le préfixe b:) prend un tout autre sens, puisque la majorité de ces balises ont été conçues pour y ajouter que des expressions Blogger sans avoir a ajouter ce préfixe. Un mauvais usage ou une mauvaise compréhension peut faire planter le modèle ou le widget. Donc, prudence...
  • Afficher le tableau des attributs des balises Blogger
Le cas le plus intéressant lorsque le préfixe expr: est mentionné, est d'avoir la possibilité de reconstruire une données à partir de petits bouts de chaînes de caractères.
Par exemple, vous avez entre les mains plusieurs données similaires avec des noms différents et vous ne souhaitez écrire qu'une seule fois le code.
Pour cela, il suffit de considérer les données comme une simple chaine de caractères et de reconstruire le nom à l'aide d'une expression dont l'attribut n'est pas doté du préfixe expr:.
Pour que la donnée devienne active (c-à-d, analysée et considérée comme une donnée), il faut intégrer le résultat de l'expression, dans une nouvelle balise Blogger (par exemple b:with) dont l'attribut qui contiendra la valeur doit être doté du préfixe expr:.
Vous n'avez pas compris ? Ce n'est pas grave.
Voici une démo qui reconstruit les données :
  • data:blog.blogId
  • data:view.postId
  • data:view.pageId

DEMO
<b:with value='data:view.isPost ? "view.post" : (data:view.isPage ? "view.page" : "blog.blog")' var='dataName'>
<b:with expr:value='"data:" + data:dataName + "Id"' var='newData'>

 La valeur de data:<data:dataName/>Id est : <data:newData/>

</b:with>
</b:with>
La première expression n'est pas doté du préfixe expr:, puisque le résultat qu'on recherche à obtenir n'est qu'une simple chaîne de caractères : blog.blog ou view.post ou view.page.
Le préfixe expr: est requis dans la seconde expression, puisque l'objectif est de reconstruire la donnée et qu'elle doit être considérée comme une donnée et non pas comme une simple chaîne de caractères.

L'exemple peut paraître anodin et inutile, tant qu'on peut obtenir un résultat avec la méthode habituelle. Mais cette méthode peut s'avérer indispensable lorsque l'on traite des tableaux et qu'on n'a pas d'autre solution que de dupliquer à de multiple reprises une section de codes juste parce que les noms des jeux de données sont différents.
Dernière modification :
Assistance publique pour le produit Blogger sur les Forums d'aides :

Certifiée par Google - Experte TC :
  • Affectation Google France, produit Blogger, du 11/07/2011 au 28/07/2014.
  • Affectation Google US, produit Blogger depuis le 28/07/2014.

Posts les plus consultés de ce blog

DéveloppementsFichiers XML
Populaire
DéveloppementsFichiers XML
Résumés des articles avec images réactives [Pack 2016]
Populaire