La notation AVT (Attribute Value Template) existe déjà dans XSLT : plutôt que d'écrire
1 2 3
| <element>
<xsl:attribute name="monattr"><xsl:value-of select="calcul()"/></xsl:attribute>
</element> |
on écrit directement
<element monattr="{calcul()}"/>
Dans XForms, le correspondant de <xsl:value-of> est <xf:output>. Cet élément permet, par défaut, de récupérer une valeur et de la placer en tant que noeud texte. La notation AVT pour XForms consiste à permettre de placer une valeur texte calculée dans un attribut et non pas dans un élément.
J'ai du mal encore à croire que les rédacteurs de XForms soient passés à côté de ce besoin. J'en ai déjà discuté sur la liste du W3C correspondante et j'ai obtenu une réponse très claire d'un des responsables d'Orbeon Forms selon laquelle ils n'ont pas pu faire autrement que d'implémenter la notation AVT et qu'ils ne sont pas les seuls à l'avoir fait !
La documentation xForms disponible est trop obscure pour moi. J'ai bien acheté le livre de chez O'Reilly, mais je reste très amateur.
Je connais l'auteur de ce livre (il a participé à l'écriture de XForms 1.0) et il s'intéresse tout particulièrement à XSLTForms (au point qu'il m'a demandé un accès développeur à mon projet sur sourceforge.net pour s'y plonger) !
Partager