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 :

Traitement d'un élément au contenu mixte


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : mars 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Traitement d'un élément au contenu mixte
    Bonjour,

    J'ai ceci dans mon XML source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><i>Je suis un vers.</i>  1</p>
    où "1" est le numéro du vers.


    Je voudrais obtenir le résultat suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><i>Je suis un vers.</i></p>
    donc sans le numéro du vers.


    Dans le template concerné, j'ai intégré un <xsl:analyze-string> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xsl:analyze-string select="string(.)" regex="^(.+)((\s)(\d+))$">
    	<xsl:matching-substring>
    		<xsl:value-of select="regex-group(1)"/>
            </xsl:matching-substring>
    </xsl:analyze-string>
    Mais le résultat renvoyé n'est que du texte, alors que je voudrais également récupérer les éléments de mise en forme (<i> ici).

    Comment pourrais-je m'y prendre pour récupérer tout le contenu (qui peut être un autre élément ou du texte), sauf le numéro du vers ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    septembre 2004
    Messages
    12 208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 12 208
    Points : 20 669
    Points
    20 669
    Par défaut
    Désolé mais c'est pas générique. Le but de XML c'est d'organiser les données proprement de sorte à ce que tout soit toujours pareil.

    Donc puisque c'est pas ce que tu as, il faut montrer toutes les situations possibles, et les gérer toutes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : mars 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Dans la transformation en question, j'ai déjà créé un <xsl:choose> avec les cas possibles, mais c'est le traitement de la situation présentée ici qui me pose problème.

    Comment pourrais-je récupérer l'élément et éventuellement du texte qui ne serait pas le numéro de vers, en respectant l'ordre des différents types de contenu ?

    Merci,

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    octobre 2011
    Messages
    1 487
    Détails du profil
    Informations forums :
    Inscription : octobre 2011
    Messages : 1 487
    Points : 2 612
    Points
    2 612
    Par défaut
    L'écriture simple pour ce genre de structure commune est de par deux simples templates :
    Code xslt1 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <xsl:template match="p">
        <xsl:copy>
            <xsl:apply-templates select="*" />
        </xsl:copy>
    </xsl:template>
    <xsl:template match="i">
        <xsl:copy>
            <!-- preque d'être par défaut, explicité pour qu'on puisse se faire élaborer. -->
            <xsl:value-of select="." />	
        </xsl:copy>
    </xsl:template>
    Quelle est l'issue générique pour qu'elle est insufficente ?

Discussions similaires

  1. [XSLT 2.0] Déplacement balise dans un élément à contenu mixte
    Par GrandVampire dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/03/2011, 17h32
  2. [SSL] [ https] IE6 contenu mixte
    Par jeb001 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 20/02/2009, 09h52
  3. [XSLT]Contenu mixte et apply-template
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 06/10/2006, 10h24
  4. Réponses: 2
    Dernier message: 29/06/2006, 11h38
  5. [xslt] Suppression des éléments sans contenu.
    Par dibbouk dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/06/2005, 17h17

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