Bonjour.

1) Je cherche à transformer un xml en un autre pour l'utiliser dans un html. (la page va chercher des données dans le xml).

Je transforme avec xsl 2 parce que j'ai appris cell-ci, mais si la 1 est mieux je peux changer.

Les fichiers xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!--	code de départ	-->
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="fichierxml.xsl"?>
 
<Individuals>
  <Individual ID="ind00002">
    <Name>prénom nom
      <Display>prénom nom</Display>
      <First>prénom</First>
      <Last>nom</Last>
    </Name>
    <Pictures Primary="pic00003">pic00003</Pictures>
    <Birth>
      <Date>16 Apr 1987</Date>
    </Birth>
  </Individual>
</Individuals>
 
<!--	code souhaité	-->
<data>
  <event 
    start="16 Apr 1987" 
    isDuration="false" 
    title="Naissance" 
    image="images/DSC02912.JPG">
  </event>
</data>
Mais quand je charge la page, j'ai un message d'erreur : D is null (comme quoi il n'y aurait pas de données).

le fichier xsl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<xsl:stylesheet version="2.0"
				xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
  <xsl:output
    encoding="UTF-8"
    indent="yes"
    method="xml"
    omit-xml-declaration="yes"/>
 
  <xsl:template match="Individuals">
    <xsl:element name="data">
      <xsl:apply-templates select="Individual"/>
    </xsl:element>
  </xsl:template>
 
  <xsl:attribute-set name="event-details">
    <xsl:attribute name="start">
      <xsl:value-of select="Birth/Date"/>
    </xsl:attribute>
    <xsl:attribute name="title">
      <xsl:value-of select="Name/Display"/>
    </xsl:attribute>
  </xsl:attribute-set>
 
  <xsl:template match="Individual">
    <xsl:element name="event" xsl:use-attribute-sets="event-details">
      <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>
 
</xsl:stylesheet>
2) Je souhaiterai également modifié le format de la date pour avoir :Apr 16 1987 00:00:00 GMT. Je dois donc insérer ces lignes de codes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
  <xsl:template match="Date">
    <xsl:value-of select="substring(., 4, 4)"/> 
    <xsl:value-of select="substring(., 1, 3)"/>        
    <xsl:value-of select="substring(., 8, 4)"/> 
    <xsl:text> 00:00:00 GMT</xsl:text>
  </xsl:template >
mais où ?

merci