Problème javascript - XML

iraho Messages postés 38 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 20 août 2009 - 4 juil. 2008 à 14:16
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 7 juil. 2008 à 11:43
Bonjour,

j'ai un souci avec pour faire du xml dynamique avec javascript et j'aurais besoin d'aide.
En fait, j'ai code associant xml, xslt et javascript (avec innerHTML pour écrire dans des div) et ça marche très bien coté client, pour l'instant ça ne fait que des lectures des fichiers xml.
Mais maintenant, je voudrais l'exploiter coté serveur (tomcat) puisque je dois écrire dans les fichiers xml avec jdom. Et quand je commence à mettre mes codes sous tomcat, sans jdom encore, et que je teste, on dirait que ça bloque au niveau des innerHTML puisque les div restent vide.
Quelqu'un a-t-il une idée pourquoi ça ne s'affiche pas? faut-il un .jar à rajouter ou quelque chose de ce genre? ou est-ce que c'est tout simplement impossible et pourquoi?

Juste pour donner un apperçu du code:

var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");

xslDoc.async = false;

xslDoc.load("fichier.xsl");
xmlDoc.validateOnParse = false;

xmlDoc.load("fichier.xml");

var xslt = new ActiveXObject("Msxml2.XSLTemplate");
xslt.stylesheet = xslDoc;
var xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;

xslProc.transform();
nomDiv.innerHTML = xslProc.output;
(nomDiv: nom du div en question)

Merci d'avance pour votre aide

11 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juil. 2008 à 15:53
Bonjour,

c'est quoi tomcat ?
et si ça fonctionne 'en local', pourquoi ajouter ce 'tomcat' sur le serveur ?

les "procdures" sont les mêmes,

sauf peut-être les temps de réponses ? il faut gérer ce chargement
soit en synchrone, soit en asynchrone et là tester quand la réponse arrive.

xmlDoc.async=true;    // pour asynchrone par exemple
xmlDoc.onreadystatechange = function ()
{    if ( xmlDoc.readyState == 4 )
     {    traitement de xmlDoc,xmlD.xml;    }
}

sinon pour "gérer derrière le load", mettre .async=false;
( je ne sais pas quelle est la valeur par défaut ! )

par contre ce que tu fais doit être exclusif IE... pour l'instant.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 juil. 2008 à 16:21
tant qu'à tomcat, qui, si je lis bien, est un "serveur d'applications Java"
je ne vois pas le rapport directement avec la question xml+xsl+javascript,
mais bon, ignorant presque tout de java.....
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
iraho Messages postés 38 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 20 août 2009
5 juil. 2008 à 14:35
tomcat en deux c'est un serveur java, en effet. Et je veux passer sur tomcat parce que je dois utiliser jdom et java pour faire des écritures sur mes fichiers xml.




J'ai essayé le code que t'as mis mais ça change. C'est comme s'il ne rentre pas du tout dans la partie traitement, parce que qaund je mets un mot dans le div où il doit rajouter le texte avec avec innerHTML comme suit:






yes <script> traitement(); </script>

alors il affiche le "yes", mais rein de plus.

Et pareil si je mets dans le traitement:
nfig.innerHTML = "ici";
 ça, il l'affiche également
je suis un peu perdue...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 juil. 2008 à 15:41
et tu fais quoi dans traitement ?
ton souci n'est pas sur l'affichage dans le div,
mais dans le traitement du fichier xml.

d'ailleurs on n'affiche pas le résultat du xml !
ça servirait à quoi ? on l'exploite

du style :
for ( var n=0; n < xmlD.getElementsByTagName("balises du xml").length; n++ )...
et xmlD.getElementsByTagName("balises")[n].firstChild.nodeValue... par exemple
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 juil. 2008 à 15:44
avec IE, pour "afficher" tout : xmlD.xml
plus en tête avec.    mais pas d'intérêts !
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
iraho Messages postés 38 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 20 août 2009
5 juil. 2008 à 18:34
Merci déjà pour toutes tes réponses bultez
je suis d'accord, le problème doit venir du traitement du xml. Et j'aimerais savoir quoi exactement puisque rapelons que en dehors de tomcat l'application/le code marche très bien.
Je me demande donc si tomcat est plus sensible par exemple et qu'il faut écrire le code autrement, ou s'il faut rajouter un .jar, ou autre chose
(Sinon je me permets de demander que si je travaille pas sous tomcat, quel autre moyen pour écrire dans du xml? je veux bien essayer)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 juil. 2008 à 18:43
je n'ose affirmer quoi que ce soit,
mais je ne vois pas ce que tomcat viendrait faire dans cette pure (?) histoire de javascript / xml
mais... je ne connais pas du tout.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
iraho Messages postés 38 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 20 août 2009
5 juil. 2008 à 19:22
Parce qu'en fait, je pense qu'on ne peut pas écrire dans un fichier xml avec du javascript tout court. Il faut par exemple du php ou java en plus
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 juil. 2008 à 08:50
ah ! écrire ! ce n'est plus la même chose !
avec IE, il faut un .hta ou un .htas à la place de .htm,
ce ne doit pas être permis avec les autres navigateurs,
donc oui, langage serveur nécessaire.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
iraho Messages postés 38 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 20 août 2009
6 juil. 2008 à 18:43
Enfin de compte c'est même pas la fonction de traitement qui allait pas, c'est dans le fichier xsl lui-même. Comme je le pensais, on dirait que tomcat est plus sensibke, exigeant ou pas trop, mais dans le xsl, au lieu de:





<xsl:value-of select="document('../fichier.xml')






j'ai fait pour tester:



<xsl:value-of select="document('..//fichier.xml')

et je ne sais pas pourquoi mais ça marche, CA M'AFFICHE TOUTE MA PAGE !  Il me reste le code pour écrire dans le xml maitenant , mais au moins ça c'est réglé.


Merci toujours pour tes réponses bultez
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 juil. 2008 à 11:43
nickel si ça baigne.       curieux le double /, mais bon...
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous