Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1244 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  tri et regroupement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tri et regroupement

n°1720941
cabot
Posté le 21-04-2008 à 12:49:54  profilanswer
 

mon doc xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE testdtd SYSTEM "testdtd.dtd">
<?xml-stylesheet type="text/xsl" href="testxslt.xsl"?>
<biblio>
 <text>This is an XML document</text>
 <collection>
  <titre>Collection Jules Vernes</titre>
  <livre status="en stock">
   <titre>20.000 Lieux sous les mers</titre>
   <auteur>Jules Vernes</auteur>
  </livre>
  <livre status="en stock">
   <titre>De la Terre à la Lune</titre>
   <auteur>Jules Vernes</auteur>
  </livre>
  <livre status="en stock">
   <titre>Robur le conquérant</titre>
   <auteur>Jules Vernes</auteur>
  </livre>
 </collection>
 <collection>
  <titre>Classiques de la S.F.</titre>
  <livre status="en stock">
   <titre>Un Défilé de robots</titre>
   <auteur>Isaac Asimov</auteur>
  </livre>
  <livre status="en stock">
   <titre>L'Homme bicentenaire</titre>
   <auteur>Isaac Asimov</auteur>
  </livre>
  <livre status="sur commande">
   <titre>I, Robot</titre>
   <auteur>Isaac Asimov</auteur>
  </livre>
  <livre status="en stock">
   <titre>Le Robot qui rêvait</titre>
   <auteur>Isaac Asimov</auteur>
  </livre>
 </collection>
 <collection>
  <titre>L'informatique pour les nuls</titre>
  <livre status="sur commande">
   <titre>HTML pour les nuls</titre>
    <auteur>Jules Vernes</auteur>
  </livre>
  <livre status="en stock">
   <titre>JavaScritp pour les nuls</titre>
   <auteur></auteur>
  </livre>
  <livre status="épuisé">
   <titre>Ajax pour les nuls</titre>
   <auteur></auteur>
  </livre>
 </collection>
 <livre status="en stock">
  <titre>Le petit chaperon rouge</titre>
  <auteur>Charles Perrault</auteur>
 </livre>
 <livre status="en stock">
  <titre>Les contes de Grimm</titre>
  <auteur>Les fréres Grimm</auteur>
 </livre>
 <livre status="en stock">
  <titre>La belle au bois dormant</titre>
  <auteur>Charles Perrault</auteur>
 </livre>
</biblio>
 
mon xls (extrait)
<?xml version="1.0" encoding="utf-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- definition de parametre -->
<xsl:param name="titre-page" select="'Contenu de la biblioteque'"/>  
<!-- utilise pour le regroupement des auteurs -->
<xsl:key name="id" match="auteur" use="."/>  
 
 <xsl:template match="/biblio">
  <!-- entete du document html-->  
  <html><title><xsl:value-of select="$titre-page"/></title>
  <body>
  <!-- liste des auteurs regroupés -->
 
Liste des auteurs<br/>
  <xsl:apply-templates select="//auteur[generate-id(.)=generate-id(key('id', .)[1])]">
   <xsl:sort order="ascending" select="."/>  
  </xsl:apply-templates>  
  <hr/>
 
liste de touts les livres<br/>
  <xsl:apply-templates select="//livre">
  </xsl:apply-templates>  
   
  <hr/>
 
  </body>  
  </html>  
 </xsl:template>
 <xsl:template match="livre">    
  <font color="red"><small>(-------livre)</small></font>
                          <i><xsl:value-of select="titre"/></i> (<small><xsl:value-of select="auteur"/></small> )
  <br/>
 </xsl:template>
 <xsl:template match="auteur">
  <xsl:if test="not(.='')">
  <font color="red"><small>(----auteur)</small></font>[<xsl:value-of select="."/>]<br/>
  </xsl:if>
 </xsl:template>
</xsl:transform>
et j'obtient
 
 
Liste des auteurs
(----auteur) [Charles Perrault]  
(----auteur) [Isaac Asimov]  
(----auteur) [Jules Vernes]  
(----auteur) [Les fréres Grimm]  
 
--------------------------------------------------------------------------------
liste de touts les livres
(-------livre)20.000 Lieux sous les mers (Jules Vernes) [ok] ...1
(-------livre)De la Terre à la Lune (Jules Vernes) [ok] ...2
(-------livre)Robur le conquérant (Jules Vernes) [ok] ...3
(-------livre)Un Défilé de robots (Isaac Asimov) [ok] ...4
(-------livre)L'Homme bicentenaire (Isaac Asimov) [ok] ...5
(-------livre)I, Robot (Isaac Asimov) [!] ...6
(-------livre)Le Robot qui rêvait (Isaac Asimov) [ok] ...7
(-------livre)HTML pour les nuls (Jules Vernes) [!] ...8
(-------livre)JavaScritp pour les nuls () [ok] ...9
(-------livre)Ajax pour les nuls () /!\ ...10
(-------livre)Le petit chaperon rouge (Charles Perrault) [ok] ...11
(-------livre)Les contes de Grimm (Les fréres Grimm) [ok] ...12
(-------livre)La belle au bois dormant (Charles Perrault) [ok] ...13
 
--------------------------------------------------------------------------------
jusque la tout va bien !
maintenant mon problème
avoir la liste des auteurs et en dessous de chaque auteur la liste de ses livres
 
je sais chercher pour un auteur
...
liste des livres de l'auteur est 'Jules Vernes'<br/>
  <xsl:apply-templates select="//livre[./auteur='Jules Vernes']">
  </xsl:apply-templates>  
  <hr/>
...
mais comment remplacer la valeur en "dur" par la valeur pour chaque auteur
merci de votre aide

mood
Publicité
Posté le 21-04-2008 à 12:49:54  profilanswer
 

n°1725461
avander
Posté le 28-04-2008 à 11:02:05  profilanswer
 

Tu fais un template pour la balise auteur dans laquelle tu selectionne tous les livres qui correspondent...
 
Pense à coller ton xml et ton xsl dans un bloc Fixe ou C/c++ ce sera plus clair pour tout le monde!  :jap:

Message cité 1 fois
Message édité par avander le 28-04-2008 à 11:04:18
n°1725683
cabot
Posté le 28-04-2008 à 15:13:08  profilanswer
 

avander a écrit :

Tu fais un template pour la balise auteur dans laquelle tu selectionne tous les livres qui correspondent...
 
Pense à coller ton xml et ton xsl dans un bloc Fixe ou C/c++ ce sera plus clair pour tout le monde!  :jap:


j'ai déjà un template "auteur"

 
<xsl:template match="auteur">
     <xsl:if test="not(.='')">
         <font color="red"><small>(----auteur)</small></font>[<xsl:value-of select="."/>]<br/>
      </xsl:if>
</xsl:template>  


 
que doit-je lui ajouter comme code pour selectionner les livres de l'auteur, merci de ton aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  tri et regroupement

 

Sujets relatifs
[SQL] Optimisation de requête "regroupement X-en-1" (tri ?)Aide pour créér une requete pour un regroupement
regroupement des données dans un xmlregroupement de données avec une boucle
"ACCESS"requete regroupement ClientRegroupement
Plus de sujets relatifs à : tri et regroupement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR