Xml xsl javascript problème d'affichage de liste
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
Code:
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> |
xsl
Code:
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> |
javascript
Code:
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> |