[XSL]recuperer des valeurs

recuperer des valeurs [XSL] - XML/XSL - Programmation

Marsh Posté le 31-03-2007 à 19:55:11    

salut,

 

j'ai pour fichier xml :

 

<champ>
    <titre>titre</titre>
    <nom>blabla1</nom>
    <nom>blabla2</nom>
   <sschamp>
        <titre>titre</titre>
        <nom>blabla3</nom>
        <nom>blabla4</nom>
...

 

et je souhaite tranformer ce fichier en html en mettant les titres en gras et le reste en "normal" :

 

<xsl:for-each select="/*/champs">
  <h1><xsl:value-of select="titre"/></h1>
  <br></br>
  <xsl:value-of select="nom"/>

 

 <xsl:for-each select="ancestor-or-self::champ/sschamp">
    <h2><xsl:value-of select="titre"/></h2>
    <br></br>
    <xsl:value-of select="nom"/>
  </xsl:for-each>

 

</xsl:for-each>

 


Seulement je ne recupere que les premieres valeurs de nom à chague fois (blabla1 et blabla3)

 

J'aurais souhaité savoir comment faire pour recuperer tous les noms ?

 

Merci ;)

 



Message édité par crapodesiles le 01-04-2007 à 09:05:22
Reply

Marsh Posté le 31-03-2007 à 19:55:11   

Reply

Marsh Posté le 01-04-2007 à 18:38:25    

je pensais a un each-for seulement il me recupere tous (titre, valeur precedente ...)
 
personne a une ptite idée ?

Reply

Marsh Posté le 02-04-2007 à 10:26:34    

Ta solution démontre que tu n'a rien compris au principes d'une transformation, à revoir d'urgence...
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <!-- general settings -->
  4.   <xsl:output method="html" omit-xml-declaration="no" encoding="ISO-8859-1"/>
  5. <!-- parameters -->
  6. <!-- global variables -->
  7. <!-- transformations -->
  8.   <xsl:template match="/">
  9.     <html>
  10.   <head></head>
  11.   <body><xsl:apply-templates /></body>
  12.     </html>
  13.   </xsl:template>
  14.   <xsl:template match="titre">
  15.     <h1><xsl:value-of select="." /></h1>
  16.   </xsl:template>
  17.   <xsl:template match="nom">
  18.     <p><xsl:value-of select="." /></p>
  19.   </xsl:template>
  20. </xsl:stylesheet>
  21. <!-- eof -->

Reply

Sujets relatifs:

Leave a Replay

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