Bonjour,
Je veux générer un page html à partir d'un fichier XML en utilisant des templates xslt.
Ma page doit afficher un paragraphe fixe avec certains mots éditables, dans des zones de saisie (input type="text") toutes générées par le même template.
Pour chaque mot éditable je veux que la taille du champ soit adaptée à la longueur du mot qu'il contient.
Pour être plus clair, à partir d'un XML qui ressemble à ça :
Je veux obtenir ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <ligne>Ceci est un paragraphe fixe qui contient un premier champ éditable <champ>court</champ> et un second champ éditable plus <champ>loooooooooooooooooooooong</champ></ligne>
(NB : ici j'ai triché pour obtenir le bon rendu)
Je pense que la solution implique l'utilisation la fonction string-length() pour valoriser l'attribut size du template.
Quelque chose dans ce genre :
Mais en l'état ça ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <xsl:template match="champ"> <INPUT type="text" size="string-length(.)" style="color:red; font-weight:bold;" value="{.}"/> </xsl:template>
Je voudrais savoir si c'est juste un problème de syntaxe ou si ce que j'essaie de faire ne peut pas fonctionner de cette manière.
Merci d'avance pour votre aide.
Partager