IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

transformNode XML & XLS sous IE 7/8/9


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 56
    Points : 38
    Points
    38
    Par défaut transformNode XML & XLS sous IE 7/8/9
    Bonjour,

    J'ai un petit soucis dans un projet sur lequel je travaille.

    Le code serait plutôt complexe et confidentiel à publier, j'ai donc essayer avec un code plus simple provenant d'un site de tutoriel et la même erreur ce produit.

    Le code d'exemple avec les XML et XLS : http://www.w3schools.com/xml/xml_xsl.asp

    Le code de la page html :
    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
    (... ( jquery et css etc) )
    		<script type="text/javascript">
    					function loadXMLDoc(filename)
    					{
    					if (window.ActiveXObject)
    					  {
    					  xhttp = new ActiveXObject("Msxml2.XMLHTTP");
    					  }
    					else 
    					  {
    					  xhttp = new XMLHttpRequest();
    					  }
    					xhttp.open("GET", filename, false);
    					try {xhttp.responseType = "msxml-document"} catch(err) {} // Helping IE11
    					xhttp.send("");
    					return xhttp.responseXML;
    					}
     
    					function displayResult()
    					{
    						// chargement données
    						xml = loadXMLDoc("test1.xml");
    						xsl = loadXMLDoc("test1.xsl");
     
    						// code for IE
    						if (window.ActiveXObject || xhttp.responseType == "msxml-document")
    						  {
    						  ex = xml.transformNode(xsl);
    						  document.getElementById("example").innerHTML = ex;
    						  }
    						// code for Chrome, Firefox, Opera, etc.
    						else if (document.implementation && document.implementation.createDocument)
    						  {
    						  xsltProcessor = new XSLTProcessor();
    						  xsltProcessor.importStylesheet(xsl);
    						  resultDocument = xsltProcessor.transformToFragment(xml, document);
    						  document.getElementById("example").appendChild(resultDocument);
    						  }
    					}
    (...)
    	<body>
    		<div id="example"> </div>
    		<script>
    			$( document ).ready(function() {
                                           displayResult();
     
    }); 
    		</script>		
    	</body>
    Ça fonctionne #1 sous Firefox et Google Chrome, mais sous IE j'ai l'erreur suivante : La feuille de style ne contient pas d'élément document. La feuille de style est peut-être vide ou ne constinue pas un document XML correctement constitué.

    et l'erreur pointe sur ex = xml.transformNode(xsl);


    Sa c'est mon problème quand je roule la page en local.

    Quand je la roule sur notre serveur web, ce n'est pas la même erreur qui apparaît mais je n'arrive pas à faire mon import d'une autre feuille xls a partir de ma feuille principal de xls

    Feuille principale utilisé dans la transformation
    Code xml : 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
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE xsl:stylesheet [
    	<!ENTITY nbsp   "*">
    	<!ENTITY copy   "©">
    	<!ENTITY reg    "®">
    	<!ENTITY trade  "™">
    	<!ENTITY mdash  "—">
    	<!ENTITY ldquo  "“">
    	<!ENTITY rdquo  "”"> 
    	<!ENTITY pound  "£">
    	<!ENTITY yen    "¥">
    	<!ENTITY euro   "€">
    ]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
       <xsl:import href="district.xsl" />
      <xsl:output method="html" encoding="utf-8" />
    	<xsl:template match="/">	
    		<div align="center">
    			<xsl:call-template name="d1" />
    		</div>
    	</xsl:template>
    </xsl:stylesheet>

    district.xsl
    Code xml : 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
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE xsl:stylesheet [
    	<!ENTITY nbsp   "*">
    	<!ENTITY copy   "©">
    	<!ENTITY reg    "®">
    	<!ENTITY trade  "™">
    	<!ENTITY mdash  "—">
    	<!ENTITY ldquo  "“">
    	<!ENTITY rdquo  "”"> 
    	<!ENTITY pound  "£">
    	<!ENTITY yen    "¥">
    	<!ENTITY euro   "€">
    ]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="html" encoding="utf-8" version="4.0" />
      <xsl:variable name="vUpper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
     <xsl:variable name="vLower" select="'abcdefghijklmnopqrstuvwxyz'"/>
     
    	<xsl:template name="d1">
    		<xsl:apply-templates select="data/districts/d01" />
    	</xsl:template>
    </xsl:stylesheet>

    J'ai créer des templates dans la feuille importé et je n'arrive pas à les appeler dans ma feuille principale, sa me dit qu'ils sont introuvable. Encore une fois, si j'ouvre la même page avec firefox ou Chrome, ça fonctionne.



    Donc si vous aviez une piste de solution pour mon problème 1 ou 2, je vous en serait très très reconnaissant.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 952
    Points : 44 069
    Points
    44 069
    Par défaut
    Bonjour,
    regarde du coté de la validation des ton code.

Discussions similaires

  1. Stockage de documents (doc,pdf,xls) sous mysql
    Par sessime dans le forum Bases de données
    Réponses: 7
    Dernier message: 21/09/2010, 16h01
  2. [RegEx] Exporter un tableau HTML en XML/XLS
    Par wishmastah dans le forum Langage
    Réponses: 1
    Dernier message: 15/05/2006, 13h41
  3. XML + XSL Sous firefox
    Par OlivierDotre dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 26/04/2006, 10h47
  4. [XML / XLS ] Convertir un xls en XML
    Par NeHuS dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/02/2006, 14h10
  5. xml -> xls
    Par lennelei dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 03/03/2003, 01h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo