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

Format d'échange (XML, JSON...) Java Discussion :

Invalid 2 or 3 bytes sequences [XSLT]


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut 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 : 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
    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 : 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
    <?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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Ben il aime pas l'encodage de ton xsl.
    Faut utiliser de l'UTF-8 sans BOM.
    J'utilise notepad++ qui fait la distinction entre utf-8 avec ou sans BOM.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    enfait maintenant ça marche

    je sais pas pkoi


    mais merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Woodstox] Invalid UTF-8 start byte 0x68
    Par Jimmy_ dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 03/07/2012, 14h26
  2. [PostgreSQL] Invalid byte sequence for encoding UTF-8
    Par Fooshi dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/10/2010, 16h01
  3. [DOM] Invalid byte 2 of 3-byte UTF-8 sequence.
    Par aroua dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 14/05/2008, 15h20
  4. [XSLT] [Xsl/Fop] Invalid byte 3 of 3-byte UTF-8 sequence
    Par Eylir dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 27/12/2007, 11h49
  5. Invalid byte 2 of 3-byte UTF-8 sequence
    Par Finrod dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 06/06/2007, 10h55

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