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 :

Conversion d'un fichier xml ->forum bb code


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut Conversion d'un fichier xml ->forum bb code
    Bonjour à tous,

    J'ai besoin de votre aide pour convertir un fichier xml en bbcode forum. Je ne suis pas du tout un spécialiste mais j'ai compris les notions de base ( et encore )

    Malgré les différentes recherches sur les tutoriels que j'ai trouvé et pour éviter de lire un bouquin, j'ai besoin d'un petit coup de pouce pour la conversion en question.

    Ma difficulté est la suivante :

    J'ai le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <Round highlight="0">
        <SpecificData DataName="Ante" DataValue="12.0"/>
        <SpecificData DataName="Round Corrompu" DataValue="Non"/>
        <SpecificData DataName="Type de Jeu" DataValue="7 Card Stud"/>
        <SpecificData DataName="Jeu n°" DataValue="164086092848"/>
        <SpecificData DataName="Type de Limit" DataValue="Limit"/>
        <SpecificData DataName="Small Blind" DataValue="60.0"/>
        <SpecificData DataName="Big Blind" DataValue="120.0"/>
        <SpecificData DataName="tourney" DataValue="1776009695"/>
        <SpecificData DataName="Boutton" DataValue="1"/>
     
    ... etc
    et je voudrais sortir un tableau qui ressemblerais à ceci

    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
    21
     
     
     
    <xsl:template match="Round">
     
    <table>
    <tr>
    	<th> Jeux </th>	
    	<th> Numero du Jeux </th>
    	<th> Enjeux </th>
    </tr>
    <tr>
    	<td> <xsl:value-of select="@TypeLimit" /> <xsl:value-of select="@TypeGame" /> </td>
    	<td> <xsl:value-of select="@GameNumber" /> </td>
            <td> <xsl:value-of select="@BigBlind" />  / <xsl:value-of select="@SmallBlind" />  + Ante    <xsl:value-of select="@Ante" /> </td>
     
    </tr>
     
    </table>
     
    </xsl:template>

  2. #2
    Membre actif
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Points : 297
    Points
    297
    Par défaut
    Tu as déjà presque tout...

    Pour sélectionner les valeurs de l'attribut DataValue en fonction du contenu de l'attribut Dataname, tu dois écrire qqchose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><xsl:value-of select="@DataValue[../@DataName='Ante']" />
    idem pour les autres éléments que tu veux sélectionner.

    Dans ton exemple '@Ante' ca n'existe pas, cela voudrait dire qu'il existe un attribut nommé Ante. Tu as un attribut nomé 'DataName' qui contient la valeur 'Ante'
    "Chuck Norris a déjà compté jusqu'à l'infini. Deux fois."

  3. #3
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    N'ayant pas compris exactement ce que vous avez comme idée, je fais beaucoup d'extrapolation et d'imagination. Peut-être une fois vous voyez un exemple, les autres se tompent sur place. Voici comment devrait appaître pour la troisième td étalée pour bien lire.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <td>
        <xsl:value-of select="
            (
            SpecificData[@DataName='Big Blind']/@DataValue
            div
            SpecificData[@DataName='Small Blind']/@DataValue
            )
            +
            SpecificData[@DataName='Ante']/@DataValue
        " />
    </td>
    Et puis, vous pourriez vouloir bien formatter le nombre avec la fonction format-number().

  4. #4
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par caballo Voir le message
    Tu as déjà presque tout...

    Pour sélectionner les valeurs de l'attribut DataValue en fonction du contenu de l'attribut Dataname, tu dois écrire qqchose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><xsl:value-of select="@DataValue[../@DataName='Ante']" />
    idem pour les autres éléments que tu veux sélectionner.

    Dans ton exemple '@Ante' ca n'existe pas, cela voudrait dire qu'il existe un attribut nommé Ante. Tu as un attribut nomé 'DataName' qui contient la valeur 'Ante'
    C'est tout à fait cela. Merci beaucoup.

    Est ce que tu pourrais expliquer un peut le découpage du value-of-select ou me donner le nom ou l'url d'un site qui explique ce mécanisme en particulier ?


    Citation Envoyé par tsuji Voir le message
    N'ayant pas compris exactement ce que vous avez comme idée, je fais beaucoup d'extrapolation et d'imagination. Peut-être une fois vous voyez un exemple, les autres se tompent sur place. Voici comment devrait appaître pour la troisième td étalée pour bien lire.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <td>
        <xsl:value-of select="
            (
            SpecificData[@DataName='Big Blind']/@DataValue
            div
            SpecificData[@DataName='Small Blind']/@DataValue
            )
            +
            SpecificData[@DataName='Ante']/@DataValue
        " />
    </td>
    Et puis, vous pourriez vouloir bien formatter le nombre avec la fonction format-number().

    Merci beaucoup pour la réponse, en fait, c'était beaucoup plus simple que cela Je voudrais juste faire de l'affichage

  5. #5
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    en fait, c'était beaucoup plus simple que cela Je voudrais juste faire de l'affichage
    Peut-être montrez le résultat final vous voulez obtenir, sinon je n'y comprends plus rien.

  6. #6
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    C'est super gentil mais avec les indications que vous m'avez apporté, j'ai fait ce que je devait faire pour cette partie.
    Je vais ouvrir un second post, pour une problématique différente mais toujours dans le même projet.

Discussions similaires

  1. Problème ObjectProperty "Conversion d'un fichier xml en owl"
    Par menoulette dans le forum Web sémantique
    Réponses: 4
    Dernier message: 18/06/2012, 19h08
  2. Conversion d'un fichier XML en fichier WXR
    Par Blogger-Man dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 05/09/2011, 13h01
  3. Conversion en un fichier xml
    Par mobinil dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 09/04/2009, 18h14

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