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

XSL/XSLT/XPATH XML Discussion :

[XSLT] Template imbriqué dans un if


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut [XSLT] Template imbriqué dans un if
    Bonjour tt le monde,
    Je suis novice dans le domaine du xsl &CO alors svp aidez moi.
    Voila quand je lance la transformation j'ai un message d'erreur:
    XSTE0010:an xsl:if element must not contain an xsl:template element.
    mon fichier xml à transformer a cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <A>
      <B>
         <C>
           .
            .
           .
         </C>
      </B>
    </A>
    ma transfo est de la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <xsl:template match="C">
        <xsl:for-each select="../B">
           <xsl:if test=" "> (LE 1ER IF)
              <xsl:template match="C" priority="1">
                 <xsl:copy>
     
     
                 </xsl:copy>
              </xsl:template >
          </xsl:if >
          <xsl:if test=" "> (LE 2EME IF)
              <xsl:template match="C" priority="1">
                 <xsl:copy>
     
     
                 </xsl:copy>
              </xsl:template >
           </xsl:if >
     </xsl:for-each>
    <xsl:template>
    quoi dois je changer??!!

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Bonjour,

    les template imbriqués sont interdits...

    retire les balises template dans le if et laisse seulement leur contenu
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Citation Envoyé par Swoög
    Bonjour,

    les template imbriqués sont interdits...

    retire les balises template dans le if et laisse seulement leur contenu
    Je te remercie pour ta réponse, c'est sympa de ta part.

    ben j'ai essayé d'enlever les xml:template mais ça ne donne pas le resultat que je cherche!!
    je vais essayer de me casser plus la tête afin de trouver la solution.
    si vous avez d'autres propositions n'hésitez pas.

    bye

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    tu as essaye xsl:choice au lieu de if ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Citation Envoyé par Swoög
    tu as essaye xsl:choice au lieu de if ?
    Oui j'ai essayé mais j'ai le meme message d'erreur!!
    moi je veux appliquer mon <xsl:copy> sur le noeud <C> mais vue que je monte d'un noeud dans mon <xsl:for-each> je dois fair un template pour appliquer mon <xsl:copy>.
    le problème ne serait il pas due à XSLT 2.0?!!

  6. #6
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Citation Envoyé par LeNouv_O
    le problème ne serait il pas due à XSLT 2.0?!!
    Non, ce code n'est valide dans aucune version.

    On ne peut pas imbriquer les templates.On les appelle via
    - des apply templates
    ou
    - des call-templates


    Montre le resultat que tu soughaite via ce template ce sera plus simple de te corriger

Discussions similaires

  1. [XSLT] Suis perdu dans template:match
    Par kabkab dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/05/2007, 15h58
  2. [xslt] For-each dans template avec format XML (row)
    Par Steff1985 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/11/2005, 11h14
  3. Réponses: 2
    Dernier message: 02/08/2005, 11h44
  4. Probleme de Jointures imbriquées dans une requête
    Par Crevin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/04/2005, 11h05
  5. [XSLT] template
    Par demo dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 09/09/2002, 11h31

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