Invalid 2 or 3 bytes sequences
Bonjour,
Je tente en transformer un document XML via Java (qui utilise un transformer XSL).
Donc voici la classe que j'utilise
Code:
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
| package com.datalion.exogema;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
public class StylesheetTransformer
{
public static void main(String args[])
{
new StylesheetTransformer("src/com/datalion/exogema/xml/enquiry.xml",
"src/com/datalion/exogema/xml/stylesheet.xsl");
}
public StylesheetTransformer (String path2xsl, String path2xml)
{
try
{
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer =
factory.newTransformer(new StreamSource(path2xsl));
transformer.transform(new StreamSource(path2xml),
new StreamResult(System.out));
}
catch (Exception e){
e.printStackTrace();
}
}
} |
ce qui est somme toute assez banale
je tente de lire ce fichier XML
Code:
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
| <?xml version="1.0" encoding="utf-8" ?> <!-- dans un premier temps pour �viter les "probl�mes" d'accentuation -->
<enquiry>
<question id="1" group="general" title="Avez vous un animal domestique">
<answer type="radio"> <!-- informations de mise en forme -->
<option goto="3" label="Oui" />
<option goto="2" label="Non" /> <!-- l'attribut goto n'est pas indispensable lorsque sa valeur est l'id de la question suivante -->
</answer>
</question>
<question id="2" group="general" title="Aimeriez vous en avoir">
<answer type="radio">
<option goto="3" label="Oui" />
<option goto="4" label="Non" />
</answer>
</question>
<question id="3" group="general" title="Le(s)quel(s)">
<answer type="checkbox">
<option label="Chien" />
<option label="Chat" />
</answer>
</question>
<question id="4" group="identity" title="">
<answer type="radio">
<option label="Homme" />
<option label="Femme" />
</answer>
</question>
<question id="5" group="identity" title="Quelle age avez vous">
<answer type="select">
<option label="option" from="12" to="28" />
</answer>
</question>
</enquiry> |
et de le transformer via cette feuille de style (on commence doucement)
Code:
1 2 3 4 5 6 7
| <?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" omit-xml-declaration="no" ident="yes" />
<xsl:template match="/">
<html />
</xsl:template>
</xsl:stylesheet> |
mais voila que
Code:
1 2 3 4 5 6 7
| ERREUR : 'Invalid byte 2 of 3-byte UTF-8 sequence.'
ERREUR BLOQUANTE : 'Impossible de compiler la feuille de style'
javax.xml.transform.TransformerConfigurationException: Impossible de compiler la feuille de style
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(Unknown Source)
at com.datalion.exogema.StylesheetTransformer.<init>(StylesheetTransformer.java:21)
at com.datalion.exogema.StylesheetTransformer.main(StylesheetTransformer.java:12) |
pourtant tout est en utf-8, j'ai codés sur eclipse (configuré en utf-8)
pourquoi ais je ce message d'erreur ?