CSSMatch - Ancien forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

CSSMatch - Ancien forum

Attention ! Nouveaux forums : http://www.cssmatch.com . Vous ne pouvez plus créer de nouveau topic ici !
Désolé pour le dérangement.


 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 [Projet] Script XSL pour que le XML sache s'afficher seul

Aller en bas 
2 participants
AuteurMessage
Nico
Administrateur



Masculin Nombre de messages : 320
Age : 37
Localisation : Reims
Date d'inscription : 17/05/2008

[Projet] Script XSL pour que le XML sache s'afficher seul Empty
MessageSujet: [Projet] Script XSL pour que le XML sache s'afficher seul   [Projet] Script XSL pour que le XML sache s'afficher seul Icon_minitimeMar 20 Mai - 19:27

Je me suis dit que ce serait bien que ceux qui ne connaissent rien en PHP, et qui ne veulent pas s'embêter à installer une application de la future API puissent tout de même afficher de façon correcte leurs rapports sur le site.

J'ai donc écrit un petit script XSL pour que le XML sache s'afficher. L'installation est simple : mettre le fichier XSL là où sont stockés les rapports sur le site. Ensuite un lien internet via le fichier XML permettra l'affichage du fichier.

Note : le code va encore changer.
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output
      method="html"
      encoding="ISO-8859-1"
      doctype-public="-//W3C//DTD HTML 4.01//EN"
      doctype-system="http://www.w3.org/TR/html4/strict.dtd"
      indent="yes"/>
 
    <!--======================= Racine =======================-->
    <xsl:template match="cssmatch">
        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html;charset=utf-8"></meta>
                <title>Rapport du match "<xsl:value-of select="match/nom"/>"</title>
                <link rel="stylesheet" type="text/css" href="style.css"></link>
            </head>
            <body>
                <div class="sommaire">
                    <xsl:call-template name="sommaire"/>
                </div>
                <div class="cssmatch">
                    <div class="match">
                        <xsl:apply-templates select="match"/>
                    </div>
                    <div class="plugin">
                        <xsl:apply-templates select="plugin"/>
                    </div>
                </div>
                <a href="#sommaire">Remonter en haut</a>
            </body>
        </html>
    </xsl:template>
   
    <!--======================= Sommaire de la page =======================-->
    <xsl:template name="sommaire">
        <a name="sommaire"><h1>Sommaire :</h1></a>
        <ul>
            <li><a href="#{match/nom}">Résumé</a></li>
            <li><a href="#equipes">Équipes concourantes</a></li>
            <li><a href="#participants">Participants</a></li>
            <xsl:if test="match/sourcetv">
                <li><a href="#sourcetv">Enregistrements SourceTV</a></li>
            </xsl:if>
            <li><a href="#plugin">Informations sur CSSMatch</a></li>
        </ul>
    </xsl:template>
   
    <!--======================= Balise "match" =======================-->
    <xsl:template match="match">
        <div class="match_entete">
            <a name="{nom}"><h1><xsl:value-of select="nom"/></h1></a>
            <b>Joué le : </b> <xsl:value-of select="date"/> <br/>
            <b>Map du match : </b> <xsl:value-of select="map"/> <br/>
        </div>
        <div class="teams">
            <xsl:apply-templates select="teams"/>
        </div>
        <div class="spectateurs">
            <xsl:for-each select="spectateurs">
                    <xsl:call-template name="afficheSpectateurs"/>
            </xsl:for-each>
        </div>
        <div class="sourcetv">
            <xsl:apply-templates select="sourcetv"/>
        </div>
    </xsl:template>
   
    <!--======================= Balise "teams" =======================-->
    <xsl:template match="teams">
        <a name="equipes"><h1>Équipes concourantes :</h1></a>
        <span class="note">Cliquez sur une équipe pour voir ses joueurs</span>
        <div class="team">
            <table>
                <tr>
                    <td>Tag</td> <td>Score final</td> <td>Score en terroriste</td> <td>Score en anti-terroriste</td>
                </tr>
                <xsl:for-each select="team">
                        <xsl:call-template name="afficheTeam"/>
                </xsl:for-each>
            </table>
            <span class="note"><sup>*</sup> Gagnants du round au couteau (optionnel)</span>
            <xsl:if test="../spectateurs">
                <br/> 
                <span class="note">Des joueurs étaient spectateurs à la fin du match, <a href="#spectateurs">cliquez ici pour les voir</a></span>
            </xsl:if>
        </div>
        <a name="participants"><h1>Participants :</h1></a>
        <div class="joueurs">
            <xsl:for-each select="team/joueurs">
                    <xsl:call-template name="afficheJoueurs"/>
            </xsl:for-each>
        </div>
    </xsl:template>
   
    <!--======================= Balise "team" =======================-->
    <xsl:template name="afficheTeam">
        <tr>
            <td>
                <a href="#team{position()}"><xsl:value-of select="tag"/></a>
                <xsl:if test="tag = ../../tagcutround">
                    <sup> *</sup>
                </xsl:if>
            </td>
            <td> <xsl:value-of select="score"/> </td>
            <td> <xsl:value-of select="scoret"/> </td>
            <td> <xsl:value-of select="scorect"/> </td>
        </tr>
    </xsl:template>
   
    <!--======================= Balise "joueurs" =======================-->
    <xsl:template name="afficheJoueurs">
        <h2>Joueurs <a name="team{position()}"><xsl:value-of select="../tag"/></a> :</h2>
        <xsl:for-each select="joueur">
            <xsl:sort select="pseudo" order="ascending"/>
            <div class="joueur">
                <xsl:call-template name="afficheJoueur"/>
            </div>
        </xsl:for-each>
    </xsl:template>
   
    <!--======================= Balise "joueur" =======================-->
    <xsl:template name="afficheJoueur">
        <xsl:value-of select="pseudo"/> (<xsl:value-of select="@steamid"/>) <br/>
            <b>kills : </b> <xsl:value-of select="kills"/> <br/>
            <b>deaths : </b> <xsl:value-of select="deaths"/> <br/>
            <xsl:choose>
                <xsl:when test="deaths = 0">
                    <b>ratio : </b> <xsl:value-of select="kills"/> <br/>
                </xsl:when>
                <xsl:otherwise>
                    <b>ratio : </b> <xsl:value-of select="substring(kills div deaths,0,5)"/> <br/>
                </xsl:otherwise>
            </xsl:choose>
    </xsl:template>
   
    <!--======================= Balise "spectateurs" =======================-->
    <xsl:template name="afficheSpectateurs">
        <a name="spectateurs"><h1>Spectateurs :</h1></a>
        <xsl:for-each select="joueur">
            <xsl:sort select="pseudo" order="ascending"/>
            <div class="joueur">
                <xsl:call-template name="afficheJoueur"/>
            </div>
        </xsl:for-each>
    </xsl:template>
   
    <!--======================= Balise "sourcetv" =======================-->
    <xsl:template match="sourcetv">
        <a name="sourcetv"><h1>Nom et emplacement des enregistrements SourceTV :</h1></a>
        <xsl:for-each select="manche">
            <b>Manche <xsl:value-of select="@numero"/> : </b> <xsl:value-of select="."/> <br/>
        </xsl:for-each>
    </xsl:template>
   
    <!--======================= Balise "plugin" =======================-->
    <xsl:template match="plugin"> 
        <a name="plugin"><h1>CSSMatch :</h1></a>
        <b>Version : </b> <xsl:value-of select="version"/>
        <br/>
        <b>Site officiel : </b> <a href="{url}"> <xsl:value-of select="url"/> </a> <br/>
        <br/>
    </xsl:template>
</xsl:stylesheet>
Ce qui pour le moment donne : http://nicolasmaingot.leobaillard.org/projets/cssmatch_xml/temp/cssmatch.xml
avec un début de style.


Dernière édition par Nico le Mar 2 Déc - 19:18, édité 1 fois
Revenir en haut Aller en bas
https://cssmatch.frenchboard.com
OwNeD ™




Nombre de messages : 50
Date d'inscription : 23/09/2008

[Projet] Script XSL pour que le XML sache s'afficher seul Empty
MessageSujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul   [Projet] Script XSL pour que le XML sache s'afficher seul Icon_minitimeMar 2 Déc - 19:05

Le lien est HS... Wink
Revenir en haut Aller en bas
Nico
Administrateur



Masculin Nombre de messages : 320
Age : 37
Localisation : Reims
Date d'inscription : 17/05/2008

[Projet] Script XSL pour que le XML sache s'afficher seul Empty
MessageSujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul   [Projet] Script XSL pour que le XML sache s'afficher seul Icon_minitimeMar 2 Déc - 19:17

Oui Sad

Je ne peux pas remettre tout de suite un exemple en ligne, mais ça ressemble à ça : http://www.ga-css.com/menu/matchs/rapports/2008-12-01_23h01_de_prodigy.xml (hormis la couleur et l'aspect des puces).

Si tu veux observer ce que ça donne avec l'un de tes rapports et avec un style par défaut, tu peux suivre ce tuto : http://code.google.com/p/cssmatch-plugin/wiki/xml
Revenir en haut Aller en bas
https://cssmatch.frenchboard.com
OwNeD ™




Nombre de messages : 50
Date d'inscription : 23/09/2008

[Projet] Script XSL pour que le XML sache s'afficher seul Empty
MessageSujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul   [Projet] Script XSL pour que le XML sache s'afficher seul Icon_minitimeMar 2 Déc - 19:19

oki merci Smile
Revenir en haut Aller en bas
Contenu sponsorisé





[Projet] Script XSL pour que le XML sache s'afficher seul Empty
MessageSujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul   [Projet] Script XSL pour que le XML sache s'afficher seul Icon_minitime

Revenir en haut Aller en bas
 
[Projet] Script XSL pour que le XML sache s'afficher seul
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Proposition de projet] Style CSS pour du script XSL
» [Proposition de projet] Module Nuked-Clan affichant les rapports

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
CSSMatch - Ancien forum :: CSSMatch :: Applications connexes-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser