IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Problème de HTML conditionné par XSL


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de krapno
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut Problème de HTML conditionné par XSL
    Bonjour,

    je désire conditionner la création de d'un <TR> et d'un </TR> à l'aide de XSL, j'ai N éléments qui doivent se présenter dans un tableau dont le nombre de colonnes ne doit pas éxcéder 3, voici le code XSL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <table border="0" width="100%" cellpadding="0" cellspacing="0" align="center">
     
    <xsl:for-each select="document/element">
    	<xsl:if test="(position() = 1) or ((position() mod 4 = 0) and (position() != last()))"><tr></xsl:if>
    	<td>ELEMENT</td>
    	<xsl:if test="(position() = last()) or (position() mod 3 = 0)"></tr></xsl:if>
    </xsl:for-each>
     
    </table>
    Seulement voilà, la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="(position() = 1) or (position() mod 4 = 0)"><tr></xsl:if>
    indique une erreur à cause du fait que le <TR> attend un </TR> avant le </xsl:if>

    Merci pour vos suggestions

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    Tu as un problème avec le XSL qui considère une balise A ouvrante, une balise B ouvrante et une balise A fermante (or il faut fermer la B avant la A).
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="(position() = 1) or (position() mod 4 = 0)">&lt;tr&gt;</xsl:if>

  3. #3
    Membre confirmé Avatar de krapno
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    j'ai essayé mais &lt;tr&gt; affiche <tr> comme un texte normal, ce n'est pas considéré comme une balise par le navigateur

  4. #4
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    peut-être en utilisant <xsl:processing-instruction> mais jette un coup d'oeil sur le net pour voir comment l'utiliser.

  5. #5
    Membre confirmé Avatar de krapno
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La balise de fin xsl:processing-instruction ne correspond pas à la balise de début tr.
    pas bon merci pour ton aide, c'est vraiment pénible comme erreur ...

  6. #6
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Tu as quoi en entête de ton XSL ?
    Il faut que tu es un truc de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:output method="html" indent="yes" encoding="utf-8" /> <!--method="xml" si tu veux du XHTML en sortie-->
    <xsl:strip-space elements="*"/>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT 1.0] Transformer un XML en html par XSL
    Par MEH2010DDI dans le forum XSL/XSLT/XPATH
    Réponses: 16
    Dernier message: 11/01/2014, 17h40
  2. Q: inserer SVG generé par XSL en HTML
    Par Rainlife dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/03/2007, 21h41
  3. problème en html (affichage)
    Par lora dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/12/2004, 19h03
  4. Accentuation - pages html générées par Java
    Par phoebe dans le forum Linux
    Réponses: 4
    Dernier message: 28/05/2004, 12h49
  5. problème de connection mysql par tcp/ip
    Par leroyphil dans le forum Administration
    Réponses: 5
    Dernier message: 04/09/2003, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo