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 :

[SAXON] Test de XQuery - Problème de Compilation


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 138
    Par défaut [SAXON] Test de XQuery - Problème de Compilation
    J'ai écrit cette classe pour tester une requête XQuery avec le processeur SAXON. Mais ça m'affiche toujours une erreur de compilation dans la classe Configuration, bien que toutes mes classes sont toutes sous le même repertoire que la classe main Xquery (dans java/jdk1.5/bin).

    il m'affiche une centaine d'erreurs, par exemple :
    cannot find symbol ! : class Receiver
    location : class net.sf.saxon.Configuration
    public Receiver getDocument....
    mais j'ai essayé avant d'inclure le package contenant toutes les sources de SAXON, mais je crois que ce j'ai écrit est peut etre faux.
    Toutes les classes de SAXON sont dans un dossier "source" dans le meme rep que la classe Xquery.java

    Xquery.java :
    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
    import java.io.*; 
     
    import Configuration.java;
    import NodeInfo.java;
    import DynamicQueryContext.java;
    import StaticQueryContext.java;
    import XQueryExpression.java;
    import XPathException.java;
     
    public class Xquery {
     
    public static void main(String[] args) {
     
    Configuration conf = new Configuration();
    StaticQueryContext staticContext = new StaticQueryContext(conf);
     
     
    String query = "for $q in ( Hi! "
              + "   Nice   ) "
              + "return <HelloExample>{xs:string($q/Hello)} "
              + "{xs:string($q/Name)}</HelloExample> ";
     
     
    //QueryProcessor qp = new QueryProcessor(conf, staticContext);
     
    try {
          XQueryExpression xqe = staticContext.compileQuery(query);
          DynamicQueryContext dc = new DynamicQueryContext(conf);
          NodeInfo ob = (NodeInfo) xqe.evaluateSingle(dc);
     
          System.out.print(ob.getRoot());
          // It prints Hi! Nice in console
         } catch (XPathException e) {
          e.printStackTrace();
         }
    }
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 138
    Par défaut
    ça m'affiche une centaine d'erreurs, par exemple :
    cannot find symbol ! : : class Receiver
    location : class net.sf.saxon.Configuration
    public Receiver getDocument....
    mais j'ai essayé avant d'inclure le package contenant toutes les sources de SAXON, mais je crois que ce j'ai écrit est peut etre faux.
    Toutes les classes de SAXON sont dans un dossier "source" dans le meme rep que la classe Xquery.java

  3. #3
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Si tes packages sont dans un autre repertoire que ceux de Java, pense a mettre a jour ton CLASSPATH

    Car les cannot find symbol sont typique d'un oubli d'import de package, mais puisque que tu les a tous importés, c'est ta variable CLASSPATH qui ne les trouve pas

    Enfin c'est ce que je pense, je dis peut-etre une betise... mais sa vaut le cout d'y jeter un oeil

    [edit] tu fais des imports de fichiers Java ...
    Ta pas besoin d'importer les fichiers, du moment qu'ils sont dans le meme répertoire, tu n'a pas besoin de les mettre en imports !!!
    FAQ [/edit]
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 138
    Par défaut
    ok merci Bucheron, je vais revoir le code et je vous dirai.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 138
    Par défaut
    Voilà j'ai changé le code :
    Ma classe est dans /java/jdk/bin.
    Le package "source" contient toutes les classes nécessaires importés dans XQuery.java. Il est aussi situé dans /java/jdk/bin.

    Malgré ça, j'ai troujours une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "Bad Class file Configutation file does not contain class source.net.sf.saxon.Configuration.Please remove or make sure it appears in the correct subdirectory of the classpath".
    Pourtant la classe Configuration existe bien dans le dossier source/net/sf/saxon/

    XQuery.java
    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
     
    package source;
     
    import source.net.sf.saxon.Configuration;
    import source.net.sf.saxon.om.NodeInfo;
    import source.net.sf.saxon.query.DynamicQueryContext;
    import source.net.sf.saxon.query.StaticQueryContext;
    import source.net.sf.saxon.query.XQueryExpression;
    import source.net.sf.saxon.trans.XPathException;
     
    public class XQuery2 {
     
        public static void main(String[] args) {
     
            Configuration conf = new Configuration();
            StaticQueryContext staticContext = new StaticQueryContext(conf);
     
            String query = "for $q in (<Root> <Hello>Hi! "
                    + "</Hello>   <Name>Nice</Name>   </Root>) "
                    + "return <HelloExample>{xs:string($q/Hello)} "
                    + "{xs:string($q/Name)}</HelloExample> ";
     
            try {
                XQueryExpression xqe = staticContext.compileQuery(query);
                DynamicQueryContext dc = new DynamicQueryContext(conf);
                NodeInfo ob = (NodeInfo) xqe.evaluateSingle(dc);
                System.out.print(ob.getRoot());
                // It prints Hi! Nice in console
            } catch (XPathException e) {
                e.printStackTrace();
            }
     
        }
     
    }

Discussions similaires

  1. [SAXON & XQUERY] Problème avec les attributs
    Par CynO dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/04/2007, 21h05
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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