Bonjour tout le monde,
Je n'arrive pas a intégrer et afficher dans mon document html avec du javascript, mon formulaire avec la liste des mes acteurs qui sont dans le xsl. Je ne connais pas le nombre d'acteur à l'avance. J'aimerais "juste" afficher mon formulaire dans le document html.
J'epsère que j'aurais ét assez claire.
Merci d'avance pour votre aide
Bonne soirée
voici un extrait de mon document xml
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="listeacteurs.xsl"?> <cinema> <acteurs> <acteur id="Acteur1"> <nom>Firth</nom> <prenom> Colin </prenom> <nationalites> <nationalite>Britannique</nationalite> </nationalites> <sexe>masculin</sexe> <date_de_naissance>10.09.1960</date_de_naissance> <ses_films> <filmref idref="Film1"/> </ses_films> <ses_roles> <roleref idref="King_1R "/> </ses_roles> </acteur> <acteur id="Acteur2"> <nom> Leroy Jackson </nom> <prenom>Samuel</prenom> <nationalites> <nationalite>American</nationalite> </nationalites> <sexe>masculin</sexe> <date_de_naissance>21.12.1948</date_de_naissance> <ses_films> <filmref idref="Film1"/> </ses_films> <ses_roles> <roleref idref="King_2R"/> </ses_roles> </acteur> <acteur id="Acteur3"> <nom> Egerton </nom> <prenom>Taron</prenom> <nationalites> <nationalite>Britannique</nationalite> </nationalites> <sexe>masculin</sexe> <date_de_naissance>10.11.1989</date_de_naissance> <ses_films> <filmref idref="Film1"/> </ses_films> <ses_roles> <roleref idref="King_3R"/> </ses_roles> </acteur>
javascript
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 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html><head> </head> <body style="font-family:Verdana; font-size:12pt; color:black"> <div class ="conteneur"> <xsl:apply-templates /> </div> </body></html> </xsl:template> <xsl:template match="acteurs"> <div class="acteurs"> <form> <select name="nomacteur" size="1"> <xsl:for-each select="acteur"> <option><xsl:value-of select="nom"/> <xsl:value-of select=" prenom"/></option> </xsl:for-each> </select> </form> </div> </xsl:template> </xsl:stylesheet>
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
59
60
61 <script language="javascript"> function loadXML(filename){ var xmlDoc; try { if (document.implementation && document.implementation.createDocument) { xmlDoc=document.implementation.createDocument('','',null); xmlDoc.load(filename); } else if (window.ActiveXObject) { try { xmlDoc=new ActiveXObject("Msxml2.XMLDOM"); } catch(e) { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } xmlDoc.async = false; xmlDoc.load(filename); } } catch(e) { return e; } return xmlDoc; } function transform(xmlDOM,xslDOM, idImmersion){ var zoneImmersion = document.getElementById(idImmersion); try { if (window.XSLTProcessor) { var fragmentXML; var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xslDOM); fragmentXML=xsltProcessor.transformToFragment(xmlDOM, document); Zonecontenu = zoneImmersion.childNodes[0]; zoneImmersion.removeChild(Zonecontenu); zoneImmersion.appendChild(fragmentXML); } else if (window.ActiveXObject) { zoneImmersion.innerHTML=''; zoneImmersion.innerHTML = xmlDOM.transformNode(xslDOM); } } catch(e) { return e; } } function adaptXSL_transform(){ //TESTS SUR LA DETECTION DES ELEMENTS XSL var monTemplate = monxsl.getElementsByTagName("xsl:template")[1]; var monTemplateName =monTemplate.nodeName; var x = monxsl.getElementsByTagName("xsl:template")[1].getAttribute("match"); alert("mon template s'appelle :"+monTemplateName+" et son template correspond à "+x); //EXTRACTION DES VARIABLES DANS LE XSL // RECUPERATION DES VALEURS DE MON XSL var mesVariables = monTemplate.getElementsByTagName("xsl:for-each"); } // MES FICHIER XML ET XSL var monxml = loadXML("listeacteurs.xml"); var monxsl = loadXML("listeacteurs.xsl"); </script>
Partager