Bonjour,
je cherche à transformer un document XML en HTML via un XSL, mais j'obtient une erreur sur la feuille de style nommée essai1.xsl. Je ne comprend pas le probleme. Pouvez-vous m'aider?
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
 
<?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"
  encoding="ISO-8859-1"
  doctype-public="-//W3C//DTD HTML 4.01//EN"
  doctype-system="http://www.w3.org/TR/html4/strict.dtd"
  indent="yes" />
      <xsl:template match="/">
		<xsl:apply-templates select="Témoin"/>	
      </xsl:template>
 
      <!-- Root template -->
      <xsl:template match="Témoin">
            <!-- on y met l'en tete html -->
            <html><body>
            <p>1er essai de feuille de style :</p>
            <ul>
              <xsl:apply-templates select="caractéristiques" />
            </ul>
            </body></html>
      </xsl:template>
 
      <xsl:template match="caractéristiques">
            <li>
            <xsl:value-of select="@valeur" />
            <xsl:text> : </xsl:text>
            <xsl:value-of select="." />
            </li>
      </xsl:template>
 
      <xsl:template match="associations">
            <li>
            <xsl:value-of select="@valeur" />
            <xsl:text> : </xsl:text>
            <xsl:value-of select="." />
            </li>
      </xsl:template>
</xsl:stylesheet>
mon erreur est:
ERREUR : 'no protocol: essai1.xsl'
ERREUR BLOQUANTE : 'Impossible de compiler la feuille de style'

L'erreur ne vient pas apparemment du xsl puisque j'arrive à l'utiliser via XMLSpy et qu'il m'affiche bien une page HTML.
Le probleme est sans doute la-dedans:
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
 
import java.io.File;
 
 
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
 
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
 
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
 
import javax.xml.transform.stream.StreamResult;
 
import javax.xml.transform.stream.StreamSource;
 
import org.w3c.dom.Document;
import org.w3c.dom.Element;
 
public class ExportTemoin {
    // Création d'un nouveau DOM
    DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
    DocumentBuilder constructeur;
    Document document;
 
    public ExportTemoin() {
        try {
            constructeur = fabrique.newDocumentBuilder();
            document = constructeur.newDocument();
            // Création de l'arborescence du DOM
            Element racine = document.createElement(Temoin.TYPE);
            racine.appendChild(document.createComment("Commentaire sous la racine"));
 
                Element caractéristiques = document.createElement("caractéristiques");
                racine.appendChild(caractéristiques);
 
                    Element id = document.createElement(Temoin.TAG_ID);
                    id.appendChild(document.createTextNode("10"));
                    caractéristiques.appendChild(id);
 
                    Element nom = document.createElement(Temoin.TAG_NOM);
                    nom.appendChild(document.createTextNode("Truc Machin"));
                    caractéristiques.appendChild(nom);
 
            document.appendChild(racine);
        } catch (ParserConfigurationException e) {
             System.err.println("Exception: " + e.getMessage());
             e.printStackTrace();
        }
    }
 
     public static void transformerXml(Document document, String fichier) {
        try {
           // Création de la source DOM
           Source source = new DOMSource(document);
           // Création du fichier de sortie
           File file = new File(fichier);
           Result resultat = new StreamResult(fichier);
           // Configuration du transformer
           TransformerFactory fabrique2 = TransformerFactory.newInstance();
           Transformer transformer = fabrique2.newTransformer();
           transformer.setOutputProperty(OutputKeys.INDENT, "yes");
           transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
           // Transformation
           transformer.transform(source, resultat);
        }catch(Exception e){
            System.err.println("Exception: " + e.getMessage());
            e.printStackTrace();
        }
     }
 
    public static void creerHTML(String xml, String xsl, String html) throws Exception{
        // Création de la source DOM
        DocumentBuilderFactory fabriqueD = DocumentBuilderFactory.newInstance();
        DocumentBuilder constructeur = fabriqueD.newDocumentBuilder();
        File fileXml = new File(xml);
        Document document = constructeur.parse(fileXml);
        Source source = new DOMSource(document);
 
        // Création du fichier de sortie
        File fileHtml = new File(html);
        Result resultat = new StreamResult(fileHtml);
 
        // Configuration du transformer
        TransformerFactory fabriqueT = TransformerFactory.newInstance();
        StreamSource stylesource = new StreamSource(xsl);
        Transformer transformer = fabriqueT.newTransformer(stylesource);
        transformer.setOutputProperty(OutputKeys.METHOD, "html");
 
        // Transformation
        transformer.transform(source, resultat);
    }
 
    public static void main(String[] args) {
        ExportTemoin exportTemoin = new ExportTemoin();
        transformerXml(exportTemoin.document, "fffiiiccchhhiiieeerrr.xml");
        try {
            creerHTML("src/Pack_Exports/docXML.xml","essai1.xsl", "fichierHTML.html");
 
        } catch (Exception e) {
            System.err.println("Exception: " + e.getMessage());
            e.printStackTrace();
        }
    }
}