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 :

Générer XML à partir du XSD


Sujet :

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

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 1
    Par défaut Générer XML à partir du XSD
    Bonjour,

    voilà j'aimerai générer un document xml que je pourrai afficher sous forme de string ensuite pour permettre d'ajouter des valeurs.
    Mais j'aimerai le générer automatiquement à la base à partir du XSD. Est-ce possible?

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 45
    Par défaut
    J'ai exactement le même besoin.
    Merci pour votre aide.

    EDIT:
    Pour être plus précis, j'ai besoins de générer des documents XML à partir d'un XSD.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 45
    Par défaut
    Je commence à répondre moi même ... apparament faut regarder du côté de JAXB.
    (et non pas JAXP comme je le croyais au début).

  4. #4
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonjour,

    Ca fait depuis le debut de la semaine que j'etudie le sujet car j'ai besoin de cette fonctionnalite dan smon projet TK-UI pour gerer les XForms.

    Et je n'ai rien trouve de tres concret et je me suis mis donc a la tache.
    Tout d'abor j'ai trouve que Xerces avait un parser de Schema, je l'ai etudie et j'ai cree une petite API qui utilise Xerces que j'ai appele EntityGenParser qui a partir d'un XSD ou d'une DTD (ca j'ai pas encore gere) genere un flux XML du document ou d'un fragment d'un element.

    En fait un EntityGenParser est uen interface (implemente par un schema XMl ou une DTD) qui se comporte comme un Parser SAX qui declenche la methode startElement. Et donc avec un ContentHandler SAX on recupere les infos des elements a creer.

    Voici un petit exemple avec el Scheam 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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123456789101112
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/tptp/symptom/action"
    	xmlns:acsea="http://www.eclipse.org/tptp/symptom/action">
     
    	<element name="action" type="acsea:Action" />
    	<complexType name="Action">
    		<attribute name="language" type="date" use="required" />
    		<attribute name="directive" type="string" default="DIRECTIVE" />
    		<attribute name="type" type="string" use="optional" />
    	</complexType>
     
    </schema>
    Voici le code Java de l'API EntityGenParser :
    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
     
    EntityGenParser parser = new XSEntityGenParserImpl();
     
    // Load XML Schema into XS Parser
    InputStream inputStream = TestXSActionEntityGenParser.class
    		.getResourceAsStream("action.xsd");
    parser.parse(inputStream);
     
    // XML String content
    Writer xml = new StringWriter();
     
    // SAX ContentHandler
    org.xml.sax.ContentHandler handler = new XMLSerializer(xml,
    		new OutputFormat((String) null, null, true));
     
    // generate action Entity			
    parser.generate("action", "http://www.eclipse.org/tptp/symptom/action", handler, true);
     
    // Display XML content generated
    System.out.println(xml.toString());
    qui affiche en sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?xml version="1.0"?>
    <action language="" directive="DIRECTIVE" type=""/>
    J'ai des examples plus complexes et je dois gerer encore certaisn point comme les minOccurs, mais si vous etes interesses, nous pourriosn reflechir ensemble a l'API et je mettrai mon travail sur SVN.

    Angelo

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 33
    Par défaut reponse
    Bon soir je suis une stagiaire j'ai presque la meme tache a faire : generation XML et formulaire Xforms a partir d'un XSD mais je l'ai fait moins simple que ça parceque mon boss ma demandé de ne pas s'appronfondir mais le probleme que j'arrive pas à ajouter les contraintes de type à partir de l'xsd dans le code du formulaire voulez vous me donnez une idée
    Merci

  6. #6
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonsoir,

    Je suis désolé, mais je découvre tout doucement XForms et de plus je ne sais pas ce que vous utilisez comme processor XForms (Chiba, AjaxForms, le plugin Mozilla?).

    Mais les specs XForms sont plutôt bien documentées, je suis en train de les lire pour developper ensuite (dans un futur tres lointain) mon propre processor XForms.

    Bon courage.

    Angelo

  7. #7
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 33
    Par défaut
    Ok pas de probleme merci en tout cas
    Bon courage

  8. #8
    Membre averti
    Inscrit en
    Février 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 35
    Par défaut Générer XML à partir du XSD
    bonjour,
    j'ai le même problème que vous j'ai essayé votre code mais il me donne un erreur sur EntityGenParser et ses fonctions
    je crois qu'il me manque une librairie
    si vous connaissez le lien j'espère me le donner
    merci d'avance.

  9. #9
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonjour nesrinebm,

    Il faut xerces pour que ca fonctionne. C'est quoi ton erreur?

    Angelo

  10. #10
    Membre averti
    Inscrit en
    Février 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 35
    Par défaut
    salut,
    j'ai inclut la librairie xerce dans mon projet
    l'erreur existe dans le code avant runnig dans cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     EntityGenParser parser = new XSEntityGenParserImpl();
    et une autre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    InputStream inputStream = TestXSActionEntityGenParser.class
    				.getResourceAsStream("action.xsd");

  11. #11
    Membre averti
    Inscrit en
    Février 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 35
    Par défaut
    SALUT angelo,
    l'erreur qui me donne c'est:
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    EntityGenParser cannot be resolved to a type
    XSEntityGenParserImpl cannot be resolved to a type
    TestXSActionEntityGenParser cannot be resolved to a type

    at nesrine.main(nesrine.java:13)
    merci beaucoup de votre aide.

  12. #12
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Salut nesrinebm,

    Je m'excuse si c'est pas ca, mais j'ai l'impression que tu as fair un copier-coller de mon example et que tu tentes de lancer l'ex. Tu n'as pas recupere les sources?

    Il faut que tu les recupere a l'aide de SVN les sources sur http://tk-ui.svn.sourceforge.net/svn.../proper/trunk/.

    Il faut recuperer les 2 projets Eclipse org.akrogen.core et org.akrogen.core.xml.

    Si tu es un debutant, je suis desole je ne vais pas pouvoir t'expliquer comment faire tout ca (utiliser SVN, compiler les projets....) car je n'ai pas beaucoup de temps.

    Angelo

  13. #13
    Membre averti
    Inscrit en
    Février 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 35
    Par défaut
    salut angelo,
    en tout cas c'est pas grave, j'ai essayé d'autre chose merci beaucoup de votre aide.

Discussions similaires

  1. [XSD] Générer la structure du Document XML à partir du XSD
    Par gpmoo7 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 09/10/2011, 22h06
  2. [XSD] Comment générer un xml à partir du xsd ?
    Par proDZ dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 17/08/2009, 10h45
  3. [XSLT] Générer formulaire de saisie XML à partir du xsd
    Par zefennec dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 10/10/2007, 11h18
  4. [XSLT] Générer formulaire de saisie XML à partir du xsd
    Par zefennec dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 05/10/2007, 13h00
  5. Réponses: 2
    Dernier message: 27/05/2004, 00h40

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