Bonjour à tous,
Je découvre en ce moment xsl, et actuellement je suis sur la partie ajouter des éléments et attributs. Mon problème c'est que je n'arrive pas afficher les attributs créés, voici mon exemple de test avec les deux fichiers xml et xsl
Fichier formation.xml
Fichier formation.xsl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="formation.xsl"?> <formations> <formation code="06-XML" module="Introduction xml xslt" contenu-cours="Syntaxe de base" salle="s-10"> DEVELOPPEUR WEB 2.0 </formation> </formations>
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- template de base --> <xsl:template match="/"> <html> <head> <title>ajout-decision-boucle</title> </head> <body> <h1>AJOUT, CONDITION ET BOUCLE</h1> <xsl:apply-templates /> </body> </html> </xsl:template> <!-- template corps-page-html --> <xsl:template match="formations"> <p> Formation : <xsl:value-of select="formation"/></p> <p> Code : <xsl:value-of select="formation/@code"/></p> <p> Module : <xsl:value-of select="formation/@module"/></p> <!-- Ajouter Elément formateur en récupérant directement la source des attributs dans le document xml --> <p> Formateur : <xsl:element name="formateur">MR GAMBA <xsl:attribute name="cours"><xsl:value-of select="formation/@contenu-cours"/></xsl:attribute> <xsl:attribute name="salle"><xsl:value-of select="formation/@numero-salle"/></xsl:attribute> </xsl:element> </p> <!-- AJOUTER Element formateur <p> Formateur : <xsl:element name="formateur">Mr GAMBA <xsl:attribute name="cours">Syntaxe de base</xsl:attribute> <xsl:attribute name="salle">s-10</xsl:attribute> </xsl:element> <xsl:apply-templates select="formateur"/> </p> --> <!-- <xsl:apply-templates select="formateur"/>--> </xsl:template> <!-- TEMPLATE formateur <xsl:template match="formateur"> Cours :<xsl:value-of select="formateur/@cours"/> Salle : <xsl:value-of select="fromateur/@salle"/> </xsl:template> --> </xsl:stylesheet>
C'est un peu confut dans mon esprit. Quand on créé des attributs soit on leur affecte du texte, soit on va chercher des valeurs existante dans le document xml. C'est pourquoi il y a une partie du code qui est en commentaire, car j'essayais les deux méthodes pour ajouter une valeur à un attribut. Est ce quelqu'un aurait la solution, je veux simplement afficher des attributs que j'ai créé avec xsl:element et xsl:attribut, merci beaucoup pour votre aide, en espérant que j'ai été claire dans mon explication
dav79
Partager