Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: xavier iseler (xiseler@manreo.com)
Date: 10/06/2003 - 08:13


Ce ne serait pas plus simple d'avoir une sortie differente toutes les
10 ou 20 occurrences ?
ou une une petite page par image

avec
<xsl:variable name="htmFile"
select="concat(configObj:elementIdValue(),'.htm')"/>
<redirect:write file="{$htmFile}">contenu de la page</redirect>

et en gerant l'affichage dans des frames pour n'en avoir qu'un nombre
limite par page en changeant la source des iframes en javascript ou
autre.

Sinon, en testant le dernier caractere avec 1 il serait possible de
generer des pages contenant 10 images..

ISELER Xavier

-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org] De la
part de Super Abricot
Envoyé : mardi 10 juin 2003 09:40
À : xml-tech@xmlfr.org
Objet : [xml-tech] Insirer un filtre dans une 'stylesheet' d'affichage
multi-colonnes ?

Bonjour,
 
Pour mon papa numismate, j'ai un fichier XML dont la structure ressemble
à ceci (c'était mon cadeau pour la Fête des Pères ;-) :
 
<!-- Parameters: DTD, XSL, Header... -->
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE series SYSTEM "coins.dtd">
<?xml-stylesheet href="coins.xsl" type="text/xsl"?>
<!-- Series Index -->
<coins>
       <coin>
               <serial>C0001</serial>
               <name>Piece 1</name>
               <thumb><thumb path="../Thumbs/c0001.jpg"/></thumb>
       </coin>
       <coin>
               <serial>C0002</serial>
               <name>Piece 2</name>
               <thumb><thumb path="../Thumbs/c0002.jpg"/></thumb>
       </coin>
       <coin>
               <serial>C0003</serial>
               <name>Piece 3</name>
               <thumb><thumb path="../Thumbs/c0003.jpg"/></thumb>
       </coin>
       <coin>
               <serial>C0004</serial>
               <name>Piece 4</name>
               <thumb><thumb path="../Thumbs/c0004.jpg"/></thumb>
       </coin>
</coins>
 
Et ainsi de suite (2.489 occurences à ce jour).
 
Je parviens, sans aucun problème, à afficher le contenu de cette DB
dans un tableau de 4 colonnes grâce à la 'stylesheet' suivante :
 
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" version="1.0" encoding="ISO-8859-1"
indent="yes"/>
 
 <xsl:template match="/">
  <html>
   <HEAD>
   <LINK REL="stylesheet" TYPE="text/css" HREF="stylesheet.css"/>
   </HEAD>
   <body>
 <center>
 <img src="../objets/papaphoto.jpg" border="0" width="480" height="96"
alt="Le numismate à l'oeuvre">
 </img>
 <h2>Index des Pièces de Monnaie</h2>
 </center>
 <br/><br/>
     <table align="center" valign="top" width="100%">
      <xsl:apply-templates select="coins/coin" mode="premiers"/>
    </table>
   </body>
  </html>
 </xsl:template>
 
 <xsl:template match="coin[(position() mod 4) = 1]" mode="premiers">
  <tr>
   <xsl:apply-templates select="."/>
    <xsl:choose>
     <xsl:when test="following-sibling::coin[1]">
      <xsl:apply-templates select="following-sibling::coin[1]"/>
      <xsl:apply-templates select="following-sibling::coin[2]"/>
      <xsl:apply-templates select="following-sibling::coin[3]"/>
     </xsl:when>
     <xsl:otherwise>
      <td>&#160;</td>
     </xsl:otherwise>
    </xsl:choose>
  </tr>
 </xsl:template>
 
 <xsl:template match="coin" mode="premiers"/>
 <xsl:template match="coin">
  <td align="center" valign="top" width="25%">
 <xsl:for-each select="thumb">
  <img>
  <xsl:attribute name="src">
  <xsl:value-of select="thumb/@path"/>
  </xsl:attribute>
  </img>
 </xsl:for-each>
     <br/>
  <p>
   Code : <xsl:value-of select="serial"/>
   <br/>
   Nom : <xsl:value-of select="name"/>
  </p>
  </td>
 </xsl:template>
</xsl:stylesheet>
 
Tout ceci fonctionne très bien...
 
... Mais j'obtiens une page très lourde et très lente à charger
puisqu'elle doit afficher près de 2.500 enregistrements d'un coup.
 
Je voudrais pouvoir choisir un 'range' de valeurs à afficher (ex.: du
serial C0100 au serial C0250) et/ou pouvoir ne choisir qu'un seul
enregistrement à la fois.
 
Je suppose (???) que je dois/devrais utiliser soit
 
<xsl:for-each select="coins/coin[serial&GT&'C0099' and
serial&LT&'C0251']">
</xsl:for-each>

ou
 
<xsl:for-each select="coins/coin[serial='C0333']">
</xsl:for-each>
 
Mais cela ne fonctionne pas: Je ne parviens pas à savoir où, dans ma
'stylesheet', je dois inscrire ce filtre et je ne sais pas si la syntaxe
est correcte.
 
Il s'gait sans doute d'une bétise, mais je n'en sors pas.
 
Pouvez-vous m'aider ?
Je vous en remercie.
 
Super Abricot

---------------------------------
Do you Yahoo!?
Free online calendar with sync to Outlook(TM).

--
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)

-- 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:06 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement