Nico Administrateur
Nombre de messages : 320 Age : 37 Localisation : Reims Date d'inscription : 17/05/2008
| Sujet: [Projet] Script XSL pour que le XML sache s'afficher seul Mar 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.xmlavec un début de style.
Dernière édition par Nico le Mar 2 Déc - 19:18, édité 1 fois | |
|
OwNeD ™
Nombre de messages : 50 Date d'inscription : 23/09/2008
| Sujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul Mar 2 Déc - 19:05 | |
| Le lien est HS... | |
|
Nico Administrateur
Nombre de messages : 320 Age : 37 Localisation : Reims Date d'inscription : 17/05/2008
| Sujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul Mar 2 Déc - 19:17 | |
| | |
|
OwNeD ™
Nombre de messages : 50 Date d'inscription : 23/09/2008
| Sujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul Mar 2 Déc - 19:19 | |
| oki merci | |
|
Contenu sponsorisé
| Sujet: Re: [Projet] Script XSL pour que le XML sache s'afficher seul | |
| |
|