Bon, j'ai un xml en entrée qui contient la description de champs de saisie. Chaque champ est défini par un tag <field type="type de champ"> et contient bien sûr plein d'autres infos dont on se moque ici.
Pour générer la sortie HTML ( enfin XHTML ), j'utilise une feuille de style XSL. Dans cette feuille, j'ai un template pour chaque type de champ, genre :
<xsl:template select="field" mode="type de champ">...
Le problème, c'est de se brancher facilement sur le bon template.
Marsh Posté le 29-09-2004 à 11:16:26
Hello 
 
 ), j'utilise une feuille de style XSL.
 ), j'utilise une feuille de style XSL. 
Bon, j'ai un xml en entrée qui contient la description de champs de saisie.
Chaque champ est défini par un tag <field type="type de champ"> et contient bien sûr plein d'autres infos dont on se moque ici.
Pour générer la sortie HTML ( enfin XHTML
Dans cette feuille, j'ai un template pour chaque type de champ, genre :
<xsl:template select="field" mode="type de champ">...
Le problème, c'est de se brancher facilement sur le bon template.
Je pensais faire un truc du genre :
<xsl:template select="field">
<xsl:apply-templates select="." mode="@type">
</xsl:template>
Et bien, c'est pas possible
Je fait donc :
<xsl:template select="field">
<xsl:choose>
<xsl:when test="@type='text'"><xsl:apply-templates select="." mode="text" /></xsl:when>
<xsl:when test="@type='num'"><xsl:apply-templates select="." mode="num" /></xsl:when>
<xsl:when test="@type='date'"><xsl:apply-templates select="." mode="date" /></xsl:when>
<xsl:when test="@type='email'"><xsl:apply-templates select="." mode="email" /></xsl:when>
</xsl:choose>
</xsl:template>
C'est pas bien grâve en soit, mais ça me gonfle d'être obligé de faire un truc aussi con
Si vous avez l'astuce qui tue, merci de la partager
---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.