From: Great MAZINGER (gmazinger@wanadoo.fr)
Date: 27/02/2004 - 22:25
Bonjour,
Voici ma question :
J'ai un fichier XML de ce type ...
<ARTICLES>
<ARTICLE ID="190" TYPE_MEDIA="HEBDOMADAIRE ETRANGER">
<DATE_PARUTION>2003-12-01</DATE_PARUTION>
<TITRE>Zozo et les robots</TITRE>
<AUTEUR>Arthur M.</AUTEUR>
</ARTICLE>
<ARTICLE ID="105" TYPE_MEDIA="MENSUEL NATIONAL">
<DATE_PARUTION>2003-12-01</DATE_PARUTION>
<TITRE>Les hommes de paille</TITRE>
<AUTEUR>Joe D. Mambo</AUTEUR>
</ARTICLE>
<ARTICLE ID="187" TYPE_MEDIA="HEBDOMADAIRE ETRANGER">
<DATE_PARUTION>2003-12-01</DATE_PARUTION>
<TITRE>Le Saigneur des Agneaux</TITRE>
<AUTEUR>J. Clair</AUTEUR>
</ARTICLE>
<ARTICLE ID="69" TYPE_MEDIA="HEBDOMADAIRE ETRANGER">
<DATE_PARUTION>2003-12-01</DATE_PARUTION>
<TITRE>Conquêtes d'un soir</TITRE>
<AUTEUR>Anonyme</AUTEUR>
</ARTICLE>
<ARTICLE ID="10" TYPE_MEDIA="HEBDOMADAIRE NATIONAL">
<DATE_PARUTION>2003-12-01</DATE_PARUTION>
<TITRE>50 ans de rock</TITRE>
<AUTEUR>F. Kamel</AUTEUR>
</ARTICLE>
....
</ARTICLES>
et je souhaiterais générer à l'aide d'une transformation XSL une page
HTML générant
un tableau récapitulatif par type de média (attribut TYPE_MEDIA) du
genre ...
<TABLE>
<TH>HEBDOMADAIRE ETRANGER</TH>
<TR><TD>Zozo et les robots</TD></TR>
<TR><TD>Le Saigneur des Agneaux</TD></TR>
<TR><TD>Conquêtes d'un soir</TD></TR>
</TABLE>
<BR>
<TABLE>
<TH>HEBDOMADAIRE NATIONAL</TH>
<TR><TD>50 ans de rock</TD></TR>
</TABLE>
<BR>
<TABLE>
<TH>MENSUEL NATIONAL</TH>
<TR><TD>Les hommes de paille</TD></TR>
</TABLE>
<BR>
...
Je souhaite donc réordonner mon fichier XML selon la valeur d'attribut
TYPE_MEDIA et détecter les changements de valeur d'attribut
TYPE_MEDIA afin de debuter à chaque fois un nouveau tableau.
Dernier point, je ne souhaite pas tester "en dur" chaque valeur de
TYPE_MEDIA.
Je voudrais que le fichier XSL déduise de lui même les occurences
existantes :
"HEBDOMADAIRE NATIONAL", "HEBDOMADAIRE ETRANGER", "QUOTIDIEN NATIONAL", ...
car je ne suis pas sensé les connaitre par avance.
je pense qu'il faut utiliser xsl:key du type ...
<xsl:key name="clef_type_media" match="/ARTICLES/ARTICLE"
use="@TYPE_MEDIA"/>
et ensuite parser cette table d'index.
Mais comment ne stocker dans cette table qu'une seule de toutes les
occurences différentes
A moins qu'il ne faille procéder complètement différemment.
D'avance Merci.
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|