tronquer attribut en XSL

tronquer attribut en XSL - XML/XSL - Programmation

Marsh Posté le 11-01-2006 à 12:22:55    

Tout d'abord bonjour, et bonne année a tous.
Voila j'ai un site web acex XML et XLS a réaliser et je rencontre quelques problèmes.
Tout d'abord je dois faire une recherche par date sur un fichier XML, j'ai donc créé un fichier XSL seulement,
je n'arrive pas à tronquer un attribut pour faire une comparaison sur une partie de celui-ci, je m'explique:
le client souhaite rechercher les programmes du 11/12/2005, donc tous ceux de la journée, le format de date est: start="20051215200000 BST" (yyyymmddhhmmss BST) et je voudrais donc faire une comparaison de la date choisie par l'utilisateur avec par exemple, seulement les 8 premiers caractères de l'attribut start.
 
Je joins mon XSL pour plus de clareté:

 
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
<xsl:param name="chercher"/>
<xsl:template match="/">
 
    <html><body>
 <h2 align="center">Mes programmes de télévision</h2>
 <table border="1" align="center">
     <tr bgcolor="#9acd32">
  <th>Programme</th>
  <th>catégorie</th>
  <th>description</th>
     </tr>
     <xsl:for-each select="tv/programme">

                         <!-- c'est ici que je souhaite faire prendre à la variable date seulement les 8 premiers    chiffres de l'attribut start-->
  <xsl:variable name="date" select="20051215"/>

  <xsl:if test="$date=$chercher">
      <tr>
   <td><xsl:value-of select="title"/></td>
   <td><xsl:value-of select="category"/></td>
   <td><xsl:value-of select="desc"/></td>
      </tr>
  </xsl:if>
     </xsl:for-each>
 </table>
    </body></html>
</xsl:template>
</xsl:stylesheet>

 
Merci par avance

Reply

Marsh Posté le 11-01-2006 à 12:22:55   

Reply

Marsh Posté le 11-01-2006 à 12:49:00    

Code :
  1. <xsl:when test="contains(@start, '20051215')"> POUET </xsl:when>


 
ps: Argghhh mes yeux je suis aveugle ... zolies couleurs ;)

Reply

Marsh Posté le 11-01-2006 à 13:24:05    

Merci pour cette réponse elle m'a bien débloquée et désolé pour les couleurs ^^.
 
Un autre problème se pose à moi, j'ai donc ce fameux fichier XML contenant mon attibut start concernant la date et l'heure, mais je dois le régénérer pour remplacer l'attribut start par la date actuelle.
J'ai une servlet qui me donne la date actuelle mais je ne sais pas comment remplacer la valuer de start pour qu'elle soit modifier directement dans le fichier XML, je pensais utiliser une XSL pour la modif mais je ne sais pas comment dire de modifier la valeur d'un attribut.

Reply

Marsh Posté le 11-01-2006 à 13:51:15    

Attention confusion avec XSL tu décris comment ton fichier doit être "affiché", c'est à dire que tu le transforme en autre chose, ça peut être du XML mais aussi du XHTML, du texte ou n'importe quoi.
A aucun moment tu ne modifies ton fichier original...

Reply

Marsh Posté le 11-01-2006 à 18:00:35    

Alors comment faire pour que mon attribut change de valeur en fonction de la date actuelle.
Ce que je dois réaliser, c'est que lorsque j'appuies sur le bouton régénérer, mon fichier XML voit son attribut start se mettre à la date actuelle

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed