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 :

[mozilla] Transformation XSLT avec javascript...


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�

    Inscrit en
    Mars 2003
    Messages
    241
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par d�faut [mozilla] Transformation XSLT avec javascript...
    Salut,
    J'essais de faire une transformation XSLT d'un fichier XML c�t� client � l'aide de javascript... Pour ce faire, je charge mes deux fichiers
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    this.xmlDoc = document.implementation.createDocument('', 'doc', null);
    this.xmlDoc.load(url);
    Puis et voici le code cens� faire la transformation
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    var fragment;
    var xsltProcessor = new XSLTProcessor();
     
    xsltProcessor.importStylesheet(xsl);
    fragment = xsltProcessor.transformToFragment(xml, document);
    var tmp = document.getElementById(id);
    tmp.innerHTML = fragment;
    Mais malheureusement, j'ai cette erreur
    [Exception... "Component returned failure code: 0x80600001 [nsIXSLTProcessor.importStylesheet]"
    � la ligne xsltProcessor.importStylesheet(xsl);...

    Pouvez-vous me dire quel est le probl�me

  2. #2
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    a quoi correspond ta variable xsl ?

  3. #3
    Membre confirm�

    Inscrit en
    Mars 2003
    Messages
    241
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par d�faut
    xsl de m�me que xml corespondent � deux objets xmlDoc retourn� par la fonction de chargement...

  4. #4
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    il me semble qu'il faut que ce soit du texte

  5. #5
    Membre confirm�

    Inscrit en
    Mars 2003
    Messages
    241
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par d�faut
    Voici quelques pr�cisions...
    J'ai toujours mes deux classes xmlParser chargement et parcours de fichier xml mais dans le cas pr�sent je n'utilise que la fonction de chargement...
    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
    function loadXML(url)
    {
      /* chargement du fichier XML */
      try {
        // navigateur basé sur Gecko
        if (document.implementation && document.implementation.createDocument)
        {
          this.xmlDoc = document.implementation.createDocument('', 'doc', null);
          this.xmlDoc.load(url);
        // ActiveX pour Internet Explorer
        } else if (window.ActiveXObject) {
          try {
            this.xmlDoc = new ActiveXObject('Msxml2.XMLDOM');
          } catch (e) {
            this.xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
          }
          this.xmlDoc.async = false;
          this.xmlDoc.load(url);
        // à l'aide de lobjet XMLHTTPRequest
        } else if (window.XMLHttpRequest) {
          this.xmlDoc = new XMLHttpRequest();
          this.xmlDoc.overrideMimeType('text/xml'); 
          this.xmlDoc.open('GET', url, false);
          this.xmlDoc.send(null);
          if (this.xmlDoc.readyState == 4)
            this.xmlDoc = this.xmlDoc.responseXML.documentElement;
        }
      } catch (e) {
        alert(e);
        return false;
      }
      return true;
    }
    Et ensuite la classe xmlManager qui traite les fichiers xml dans le cas pr�sent, je n'utilise que la fonction transform(xml, xsl, id)...
    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
    function transform(xml, xsl, id)
    {
      xml = xml.xmlDoc;
      xsl = xsl.xmlDoc;
     
      try {
        // Gecko
        if (window.XSLTProcessor)
        {
          var fragment;
          var xsltProcessor = new XSLTProcessor();
     
          xsltProcessor.importStylesheet(xsl);
          fragment = xsltProcessor.transformToFragment(xml, document);
          var tmp = document.getElementById(id);
          tmp.innerHTML = fragment;
        } else if (window.ActiveXObject) {
          var target = document.getElementById(id);
          target.innerHTML = xml.transformNode(xsl);
        }
      } catch (e) {
          return e;
      }
    }
    j'appelle ces fonctions apr�s avoir contruit les objet respectifs avec:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    xml.loadXML('./news.xml');
    xsl.loadXML('./news.xml');
    news.transform(xml, xsl, 'news');
    Citation Envoy� par siddh
    il me semble qu'il faut que ce soit du texte
    Du texte??? Euh je ne me rapelle plus vraiment sa position dans l'objet mais il me semble que c'est xmlDoc.documentElement.textTruc... Je vais essayer...

  6. #6
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    hum non c est pas du texte, j'ai trouv� �a sur le net, essayes de l'adapter avec tes parsers :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var xsltProcessor = new XSLTProcessor();
     
      // Load the xsl file using synchronous (third param is set to false) XMLHttpRequest
      var myXMLHTTPRequest = new XMLHttpRequest();
      myXMLHTTPRequest.open("GET", "example.xsl", false);
      myXMLHTTPRequest.send(null);
     
      var xslRef = myXMLHTTPRequest.responseXML;
     
      // Finally import the .xsl
      xsltProcessor.importStylesheet(xslRef);

  7. #7
    Membre confirm�

    Inscrit en
    Mars 2003
    Messages
    241
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par d�faut
    J'avais essay� comme �a mais toujours la m�me erreur...
    J'ai trouv� un bout de code pour transformer un objet xml en string
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var string = (new XMLSerializer()).serializeToString(xsl);
    Et la l'erreur de d�part � chang�...
    [Exception... "Could not convert JavaScript argument arg 0 [nsIXSLTProcessor.importStylesheet]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)"

  8. #8
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    non mais faut pas de texte, ton xsl est correct ?

  9. #9
    Membre confirm�

    Inscrit en
    Mars 2003
    Messages
    241
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par d�faut
    Il me semble que oui...
    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
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:strip-space elements="*" />
      <xsl:preserve-space elements="pre" />
      <xsl:preserve-space elements="code" />
     
      <xsl:template match="article">
        <xsl:for-each select="post">
          <h2>
            <span>
              <xsl:value-of select="./categorie" />
            </span>
            <xsl:value-of select="./title" />
          </h2>
          <h6>
            <xsl:value-of select="./@author" />
          </h6>
          <div id="{./@id}">
            <xsl:apply-templates select="./content" />
          </div>
        </xsl:for-each>
      </xsl:template>
     
      <xsl:template match="content">
        <xsl:apply-templates select="text()|node()" />
      </xsl:template>
     
      <xsl:template match="text()">
        <xsl:value-of select="." />
      </xsl:template>
     
      <xsl:template match="node()">
        <xsl:copy-of select="." />
       </xsl:template> 
    </xsl:stylesheet>

  10. #10
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    tu l as test� dans un truc genre xmlwriter ou xmlspy ?

  11. #11
    Membre confirm�

    Inscrit en
    Mars 2003
    Messages
    241
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par d�faut
    Oh la la que j'ai honte
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    xml.loadXML('./news.xml');
    xsl.loadXML('./news.xml');
    news.transform(xml, xsl, 'news');
    Si on regarde bien, on voit qu'en fait je charge deux fois le fichier news.xml ou lieu de mettre news.xsl... Tout cela pour une simple lettre...

    L'erreur est humaine

  12. #12
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    mw� ben je vaut pas mieux que toi einh

  13. #13
    Invit� de passage
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    1
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2010
    Messages : 1
    Par d�faut
    Bonjour,

    J'utilise un topic d�j� existant puisqu'au d�part il s'agit du m�me sujet. S'il faut s�parer, c'est pas un probl�me.

    Je cherche donc � transformer un XML en HTML � l'aide d'un XSL sous Firefox.
    Le code de l'application sur laquelle je travaille n'existait que sous IE et fonctionne bien pour IE (ActiveXObject et transformNode).

    J'ai cherch� des infos sur divers forums et notamment sur ce topic pour r�aliser la transformation pour Firefox. Toutes les infos m�nent sensiblement au m�me code.

    Pour ma transformation Firefox, j'utilise xsltProcessor.transformToFragment (voire transformToDocument). Le probl�me c'est qu'au lieu de r�cup�rer du HTML, je r�cup�re un objet DocumentFragment avec transformToFragment et un objet XMLDocument avec transformToDocument.
    Je n'ai trouv� aucun moyen d'avoir le HTML.

    Voici la portion de code concern�e (simplifi�e, notamment sur la r�cup�ration des fichiers, mais donne le m�me r�usltat) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    var xsltProcessor = new XSLTProcessor();
    var xml = document.implementation.createDocument("","",null); 
    var xsl = document.implementation.createDocument("","",null);
    xml.load('http://localhost/yv.xml');
    xsl.load('http://localhost/yv.xsl');
    xsltProcessor.importStylesheet(xsl);			
    strRet = xsltProcessor.transformToDocument(xml);
    //strRet = xsltProcessor.transformToFragment(xml,document);
    Ainsi que les fichiers XML et XSL en pi�ces jointes et ici :
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    <?xml version="1.0" encoding="windows-1250"?>
    <viewentries timestamp="20100331T150520,70Z" toplevelentries="23">
    −
    <viewentry position="1" noteid="800000BC" children="1" descendants="1" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text> </text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="2" noteid="800000C0" children="4" descendants="4" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>A</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="3" noteid="800000C4" children="6" descendants="6" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>B</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="4" noteid="800000C8" children="7" descendants="7" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>C</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="5" noteid="800000CC" children="6" descendants="6" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>D</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="6" noteid="800000D0" children="3" descendants="3" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>E</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="7" noteid="800000D4" children="3" descendants="3" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>F</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="8" noteid="800000D8" children="4" descendants="4" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>G</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="9" noteid="800000DC" children="6" descendants="6" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>H</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="10" noteid="800000E0" children="2" descendants="2" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>I</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="11" noteid="800000E4" children="5" descendants="5" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>J</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="12" noteid="800000E8" children="2" descendants="2" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>L</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="13" noteid="800000EC" children="13" descendants="13" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>M</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="14" noteid="800000F0" children="2" descendants="2" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>N</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="15" noteid="800000F4" children="2" descendants="2" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>O</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="16" noteid="800000F8" children="8" descendants="8" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>P</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="17" noteid="800000FC" children="4" descendants="4" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>R</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="18" noteid="80000100" children="5" descendants="5" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>S</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="19" noteid="80000104" children="6" descendants="6" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>T</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="20" noteid="80000108" children="2" descendants="2" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>W</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="21" noteid="8000010C" children="1" descendants="1" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>Y</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="22" noteid="80000110" children="1" descendants="1" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text>(</text>
    </entrydata>
    </viewentry>
    −
    <viewentry position="23" noteid="80000114" children="2" descendants="2" siblings="23">
    −
    <entrydata columnnumber="0" name="$42" category="true">
    <text/>
    </entrydata>
    </viewentry>
    </viewentries>
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    <?xml version="1.0" encoding="UTF-8"?>
     
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="1.0"
        xmlns:xalan="http://xml.apache.org/xslt">
     
     
     
    <xsl:template match="viewentry[@children]">
    	<div>
    	<xsl:attribute name="ID">
    		<xsl:value-of select="@position" />
    	</xsl:attribute>
    		<span style="font-weight:bold;color:#666666;cursor:hand" onclick="toggleSection(this)">+ </span>
    		<span class="view-row-cat" style="cursor:hand"  onclick="toggleSection(this.previousSibling)">
    			<xsl:attribute name="NextEntrySrc"><Valeur calculée>?ReadViewEntries&amp;Start=<xsl:value-of select="@position" />.1&amp;Count=<xsl:value-of select="@children" />&amp;Collapse=<xsl:value-of select="@position" />.1</xsl:attribute>
     
    			<xsl:value-of select="entrydata" />
    		</span>
    		<div style="margin-left:15px;display:none"></div>
    	</div>
    </xsl:template>
     
    <xsl:template match="viewentry">
    	<table border="0" width="95%">
    		<tr class="view-row-1">
    		<xsl:if test="position() mod 2 != 0">
    			<xsl:attribute name="class">view-row-2</xsl:attribute>
    		</xsl:if>
     
    		<td width="1%" valign="bottom"><a target="_top" style="text-decoration:none">
    			<xsl:attribute name="href"><Valeur calculée><xsl:value-of select="@unid"/>?opendocument</xsl:attribute>
    			<img border="0" alt="Consulter le document" src="/icons/Doclink.gif" /></a></td>
     
    				<xsl:apply-templates select="entrydata" />
    			</tr>
    		</table>
    </xsl:template>
     
    <xsl:template match="entrydata[@columnnumber=1]">
    <td width="20%" class="view-row-doc">
    	<xsl:value-of select="text" />
    </td>
    </xsl:template>
     
    <xsl:template match="entrydata[@columnnumber=2]">
    <td width="15%" class="view-row-doc">
    	<xsl:value-of select="text" />
    </td>
    </xsl:template>
    <xsl:template match="entrydata[@columnnumber=3]">
    <td width="15%" class="view-row-doc">
    	<xsl:value-of select="text" />
    </td>
    </xsl:template>
     
    <xsl:template match="entrydata[@columnnumber=4]">
    <td width="20%" class="view-row-doc">
    	<xsl:value-of select="text" />
    </td>
    </xsl:template>
     
    <xsl:template match="entrydata[@columnnumber=5]">
    <xsl:param name='ico' select="number"/>
     
    <td width="2%">
    <xsl:if test="$ico = 38">
    	<xsl:element name="img">
    	<xsl:attribute name="src">/icons/vwicn038.gif</xsl:attribute>
    	<xsl:attribute name="alt">Mis a la corbeille</xsl:attribute>
    	</xsl:element>
    </xsl:if>
    </td>
     
    </xsl:template>
     
    <xsl:template match="entrydata[@columnnumber=6]">
    <xsl:param name='ico' select="number"/>
     
    <td width="2%">
    <xsl:if test="$ico = 5">
    	<xsl:element name="img">
    	<xsl:attribute name="src">/icons/vwicn005.gif</xsl:attribute>
    	<xsl:attribute name="alt">Attachements</xsl:attribute>
    	</xsl:element>
    </xsl:if>
    </td>
     
    </xsl:template>
     
    <xsl:template match="entrydata[@columnnumber=7]">
    <td width="15%" class="view-row-doc">
    	<xsl:value-of select="text" />
    </td>
    </xsl:template>
     
    <xsl:template match="entrydata[@columnnumber=8]">
    <td width="20%" class="view-row-doc">
    	<xsl:value-of select="text" />
    </td>
    </xsl:template>
     
    </xsl:stylesheet>
    Note : l'application est �crite sous Lotus Notes mais le soucis semble ne pas y �tre li�

    J'ai essay� de rajouter <xsl:output method="html"/> au fichier XSL sans succ�s (si ce n'est d'avoir cr�� le bug pour IE).

    Comment r�ussir � r�cup�rer le HTML correspondant � ces fichiers ?

    N'h�sitez pas � me demander d'autres informations si n�cessaire.

    Merci pour votre aide.
    Yannick
    Fichiers attach�s Fichiers attach�s
    • Type de fichier : xml yv.xml (4,6 Ko, 125 affichages)
    • Type de fichier : xsl yv.xsl (3,0 Ko, 122 affichages)

  14. #14
    Membre �prouv� Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par d�faut
    Pareil, j'ai le m�me message d'erreur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    [Exception... "Component returned failure code: 0x80600001 [nsIXSLTProcessor.importStylesheet]" nsresult: "0x80600001 ()" location: "JS frame :: http://localhost/.../tools.js :: getXmlFormate :: line 336" data: no]
    Voici ma fonction (qui fonctionne tr�s bien avec IE:
    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
    function getXmlFormate(chemFicXml, chemFicXsl) { // Lie un XSL à un XML et retourne le résultat transformé
        var strRet = "ERREUR";
        try {
            if (window.ActiveXObject) { // pour IE
                var sLatestMSXML = getLatestMSXML();
                ficXml = new ActiveXObject(sLatestMSXML);
                ficXsl = new ActiveXObject(sLatestMSXML);
                ficXml.async = false;
                if (!ficXml.load(chemFicXml)) {
                    return "ERREUR: Fichier \"" + chemFicXml + "\" non trouvé.";
                }
                ficXsl.async = false;
                if (!ficXsl.load(chemFicXsl)) {
                    return "ERREUR: Fichier \"" + chemFicXsl + "\" non trouvé.";
                }
                strRet = ficXml.transformNode(ficXsl);
            } else if (document.implementation && document.implementation.createDocument) { // pour FF
                var xslt = document.implementation.createDocument("", "", null);
                xslt.async = false;
                if (!xslt.load(chemFicXsl)) {
                    return "ERREUR: Fichier \"" + chemFicXsl + "\" non trouvé.";
                }
                var processor = new XSLTProcessor();
                processor.importStylesheet(xslt);
                var xmlDoc = document.implementation.createDocument("", "", null);
                xmlDoc.async = false;
                if (!xmlDoc.load(chemFicXml)) {
                    return "ERREUR: Fichier \"" + chemFicXml + "\" non trouvé.";
                }
                var resultat = processor.transformToFragment(xmlDoc, document); // */
                strRet = resultat;
            }
        } catch (err) {
            strRet = "ERREUR: " + err + " (" + chemFicXsl+ ")";
        }
        return strRet;
    }
    La ligne 336 est : processor.importStylesheet(xslt);

    Quelqu'un a une id�e ?

    Merci d'avance.

  15. #15
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par d�faut
    Citation Envoy� par dacid Voir le message
    Quelqu'un a une id�e ?
    Le code JavaScript a l'air correct, mais 'faudrait qu'on voie le fichier XSLT...
    C'est pas parce que IE l'accepte qu'il est correct, hein.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 0
    Dernier message: 10/01/2012, 16h20
  2. R�ponses: 0
    Dernier message: 10/01/2012, 16h19
  3. R�ponses: 0
    Dernier message: 10/01/2012, 16h18
  4. [XSLT] Probl�me de transformation XSLT avec JAVA
    Par ploxien dans le forum Format d'�change (XML, JSON...)
    R�ponses: 1
    Dernier message: 28/09/2007, 16h47

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