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 :
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).
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>
le fichier xsl :
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
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>
mais où ?
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 >
merci
Partager