🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fr.comp.text.xml
2 messages
2 total messages Started by Eric Jacoboni Mon, 16 Oct 2000 00:00
Generation de _plusieurs_ fichiers avec _une_ stylesheet ?
#10402
Author: Eric Jacoboni
Date: Mon, 16 Oct 2000 00:00
68 lines
2697 bytes
Salut,

J'ai un petit probl�me � r�soudre : soit deux fichiers xml, le premier
repr�sentant, par exemple, des chanteurs ou des groupes, le deuxi�me
repr�sentant un ensemble d'albums (tous auteurs confondus). Bref un
truc comme �a :

artistes.xml :

<?xml version="1.0"?>
<Artistes>
   <Artiste id="1">
      <Nom>Pop</Nom>
      <Prenom>Iggy</Prenom>      
   </Artiste>
   <Artiste id="2">
      <Nom>Led Zeppelin</Nom>
   </Artiste>
   <Artiste id="3">
      <Nom>The Flamin' Groovies</Nom>
   </Artiste>
</Artistes>

albums.xml :

<?xml version="1.0"?>
<Albums>
   <Album id="1">
      <Titre>One night stand</Titre>
      <Artiste ref="3"/>
   </Album>
   <Album id="2">
      <Titre>Led Zeppelin III</Titre>
      <Artiste ref="2"/>
   </Album>
   <Album id="3">
      <Titre>Led Zeppelin II</Titre>
      <Artiste ref="2"/>
   </Album>
    <Album id="4">
      <Titre>Soldier</Titre>
      <Artiste ref="1"/>
   </Album>
</Albums>

Le but de la manip consisterait � g�n�rer une page HTML contenant un
tableau de deux colonnes : (nom artiste, lien vers une page index). 

La page index serait une liste des albums de cet artiste (donc une
page index par artiste). 

Pour ce qui est de la premi�re �tape, no problemo, une transformation
XSL me g�n�re correctement des entr�es de type "Led Zeppelin"
"index.2.html".

Le probl�me se situe � la deuxi�me �tape : j'ai beau prendre le truc
dans tous les sens, je ne vois pas comment g�n�rer plusieurs fichiers
index.x.html � partir du fichier albums.xml. Alors, avant de me
gratter la t�te plus longtemps, j'aimerai savoir si c'est seulement
possible ou si je dois changer d'id�e.

Le but du jeu (c'est une manip pour expliquer XML et les transfo XSL � des
�tudiants) est de n'utiliser qu'XML, pas de passer par un SGBD,
�videmment...

        Tanqueyou
-- 
�ric Jacoboni, n� il y a 1275081928 secondes.
Re: Generation de _plusieurs_ fichiers avec _une_ stylesheet ?
#10408
Author: Tom
Date: Tue, 17 Oct 2000 00:00
42 lines
2792 bytes
In article <87u2ac7kg0.fsf@titine.fr.eu.org>,
   Eric Jacoboni <jaco@titine.fr.eu.org> wrote:
> Le probl�me se situe � la deuxi�me �tape : j'ai beau prendre le truc
> dans tous les sens, je ne vois pas comment g�n�rer plusieurs fichiers
> index.x.html � partir du fichier albums.xml. Alors, avant de me
> gratter la t�te plus longtemps, j'aimerai savoir si c'est seulement
> possible ou si je dois changer d'id�e.

Salut Eric,
Tout d�pend de ton processeur XSLT en fait. Pas mal de processeurs ont une 
extension pour des sorties multiples. Xalan par exemple 
<http://xml.apache.org/> appelle son extension Redirect.

> Le but du jeu (c'est une manip pour expliquer XML et les transfo XSL � des
> �tudiants) est de n'utiliser qu'XML, pas de passer par un SGBD,
> �videmment...

Si tu veux �tre ind�pendant du processeur XSLT, je crois qu'il va falloir 
transformer plusieurs fois ton document XML. Tu fais une feuille XSLT avec 
un param�tre (<xsl:param/>). Toutes les transformations d�pendent de ce 
param�tre (qui sera id�alement le nom de l'artiste), param�tre d�fini lors 
de l'appel � ton processeur (je pense que tous les processeurs XSLT te 
permettent de passer un param�tre � une feuille de transformation).
Probl�me : il faut connaitre tous les artistes � l'avance et ne pas en 
oublier...

<A-propos sujet="ton article sur linux-france">
Je me demande bien pourquoi tu t'em...b�te � recoder ton document en UTF-8, 
si ce n'est pour �tre s�r que tous tes correspondants pourront l'utiliser 
peu importe leur parser. Mais j'ose douter que tes correspondants n'aient 
pas des parsers connaissant l'iso-8859-1 (latin-1), alors autant garder ton 
document en latin-1 non ? Il suffit de l'indiquer au d�but :
  <?xml version="1.0" encoding="iso-8859-1" ?>
Tu gagnes l'�tape du recode.

Autre chose, pour la d�claration des attributs dans la DTD, pas besoin d'en 
faire d'abord une entit� (<!ENTITY>), tu peux les d�clarer de suite :
<!ATTLIST �l�ment 
  "attribut1 CDATA #IMPLIED
   attribut2 ID    #REQUIRED"
>
</A-propos>
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads