Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3225 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Problème de mode :/

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de mode :/

n°859807
Mara's dad
Yes I can !
Posté le 29-09-2004 à 11:16:26  profilanswer
 

Hello :hello:
 
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 :D ), 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.
 
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 :/ L'attribute mode doit être un CName.
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 :fou:
 
Si vous avez l'astuce qui tue, merci de la partager :jap:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 29-09-2004 à 11:16:26  profilanswer
 

n°859809
Mara's dad
Yes I can !
Posté le 29-09-2004 à 11:21:47  profilanswer
 

Ok, le coup des apply-templates est lourd, il vaut sans doute mieux faire comme ça :
 

<xsl:template select="field">
 <xsl:choose>
  <xsl:when test="@type='text'"><xsl:call-template name="text-field" /></xsl:when>
  <xsl:when test="@type='num'"><xsl:call-template name="text-num" /></xsl:when>
  <xsl:when test="@type='date'"><xsl:call-template name="text-date" /></xsl:when>
  <xsl:when test="@type='email'"><xsl:call-template name="text-email" /></xsl:when>
 </xsl:choose>
</xsl:template>


 
Mais si je pouvais m'en passer...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Problème de mode :/

 

Sujets relatifs
probleme d'addition avec Visual Basic 6probleme avec md5 et ma session [RESOLU]
[MDK10]java mode consoleProbleme balise peut etre balise span sous mozilla et pas sous ie
problème compteur de visitesProblème avec download forcé
Problème d'image non clickable sous Mozillaprologue XML ou pas ? (probleme avec IE 6)
[HTML sur IIS6] Problème d'images se rechargant à chaque foisProbleme de selection de fenetre word
Plus de sujets relatifs à : Problème de mode :/


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR