Bonjour j'ai un problème avec MSXML4 qui dirait-on ne prend pas en compte les <!DOCTYPE>. Sur ma machine j'ai MSXML3 et MSXML4 d'installées.

voilà le détail.

j'ai le fichier XML suivant

Accueil.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<!DOCTYPE ACCUEIL [
  <!ENTITY xml "extended markup language">
]>
 
<ACCUEIL>
   <IMAGE>images/logoCA.jpeg</IMAGE>
   <TEXTE>On utilise du &xml; </TEXTE>
</ACCUEIL>
Que j'aimerais faire appliquer au fichier XSL suivant:
Accueil.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
 
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
   <xsl:output method="html"/>
 
 
   <xsl:template match="ACCUEIL">
     <p>
       <img src="{IMAGE}" align="left"/>
       <xsl:value-of select="TEXTE"/>
     </p>       
   </xsl:template>
 
</xsl:stylesheet>
Je sais que c'est pas conseillé d'utiliser le parseur sur le client mais là j'en ai besoin.
Donc j'utilise un fichier HTML et JScript pour XMLDOM:
accueil.htm
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
 
<html>
  <head>
    <title>ACCUEIL</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <script language="javascript">
      function init()
      {
        // Document XML
        var source = new ActiveXObject("Msxml2.DOMDocument.4.0");
        source.async = false;
        source.resolveExternals = true;
        source.validateOnParse = true;
        source.load("Accueil.xml");
 
        // Document XSL
        var stylesheet = new ActiveXObject("Msxml2.DOMDocument.4.0");
        stylesheet.async = false;
        stylesheet.load("Accueil.xsl");
 
        // transformation
        target.innerHTML = source.transformNode(stylesheet);
      }
    </script>
  </head>
 
  <body onload="init()">
    <div id="target" />
  </body>
</html>
Et bien rien ne se passe à cause du <!DOCTYPE> et le pire c'est que je n'ai pas de message d'erreur.

Dans la partie JScript on dirait que le fichier n'est pas chargé en dépit du fait que j'utilise resolveExternals et validateOnParse.

Est-ce un bug connu de MSXML?
Quand j'enlève le <!DOCTYPE> et l'<!ENTITY> et la référence à l'entité &xml; de Accueil.xml, ca fonctionne.

Merci par avance.