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

Valider XML Discussion :

xml & generator java .net as3 etc


Sujet :

Valider XML

  1. #1
    Membre du Club Avatar de r1-1024
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 138
    Points : 68
    Points
    68
    Par défaut xml & generator java .net as3 etc
    Bonjour à tous,
    Compte tenu que je n'arrive pas à accéder à relaxer (relax ng) depuis un moment, il me semble que c'est le moment de changer d'outil.
    J'aimerai donc avoir un conseil sur son choix.

    Je cherche un outil de définition de donnée avec leurS générateurS.

    Voilà ce que j'aimerai depuis ma définition de donnée xml
    1-xml -> dtd : afin de valider le contenu
    2-xml -> pojo (au sens large : pojo c, c++, java, as3, .net ...) ou interfaces + implémentations (c encore mieux)
    3-xml -> parseur DOM et SAX
    4-libre
    5-basé sur xslt (serait un plus) ou java
    6-avoir des outils afin d'exporter vers hybernate & co serait vraiment bien
    7-un mars en cadeau

    Concernant les points 2 et 3, il me semble important de différencier le parseur et l'objet. Par exemple dans relaxer, les deux sont confondus alors la sérialisation du pojo pourrait être dans une BD ou un fichier binaire.

    Si en plus on évide d'utiliser xml schéma c le pied.

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Honnetement je ne suis pas sûr de comprendre ta demande

    Sur certains points je te conseillerais de regarder du coté de SAXON.
    Coté XML c'est l'API (dom,xslt,validation .....) la plus en pointe actuellement et totalement valide w3c.

    Pour ce qui est de l'allergie au xml schema je peux comprendre (même si je ne pratique qu'eux ), par contre , même si je n'ai pas encore pu testé.
    Saxon 9.2 implémente la version 1.1 des xml schema (candidate recommandation) qui a l'air assez sympa

  3. #3
    Membre du Club Avatar de r1-1024
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 138
    Points : 68
    Points
    68
    Par défaut
    Sur http://saxon.sourceforge.net/ on peut lire : SAXON, The XSLT and XQuery Processor.

    Je ne pense pas que ce soit ça que je cherche.

    A mon habitude, j'ai du mal m'exprimer

    L'objectif est de faire communiquer des langages entre eux sur différents supports. Là c'est tout de suite plus claire

    Par exemple je définie mon format de donnée en xml (c mieux je pense) et appelons le def.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
      <zeroOrMore>
        <element name="card">
          <element name="name">
            <text/>
          </element>
          <element name="email">
            <text/>
          </element>
        </element>
      </zeroOrMore>
    </element>
    Au passage c du relaxng (mais c'est juste pour l'exemple)

    En particulier le fichier xml suivant est conforme à la définition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <addressBook>
      <card>
        <name>John Smith</name>
        <email>js@example.com</email>
      </card>
      <card>
        <name>Fred Bloggs</name>
        <email>fb@example.net</email>
      </card>
    </addressBook>
    Donc si je choisi le support xml (réseau ou fichier, c kif kif). Il faut une dtd que je génère avec mon outil.
    Un truc du genre : superTool -dtd def.xml

    Si je code en java, il me faut :
    -Une interface pour décrire la donnée.
    -Une implémentation de cette interface (un pojo par ex pour le remplir soit même)
    -Un parseur qui correspond au support (ici xml)

    Alors je fais un truc du genre : superTool -xml -java def.xml
    Et ça me génère l'interface, le pojo qui implémente la dite interface et le parseur xml en dom et sax.
    Dans mon code je peux sérialiser mon interface en xml sans rien avoir à coder.

    Maintenant si je code en as3 : superTool -xml -as3 def.xml
    Maintenant si je code en .net : superTool -xml -net def.xml
    Maintenant si je code en c : superTool -xml -c def.xml
    Maintenant si je code en cpp : superTool -xml -cpp def.xml
    ...
    Qui me génère mon code as3, .net, c, cpp ...

    A partir d'un fichier xml j'ai généré tous mes codes de sérialisation xml.

    Maintenant si je choisi le support SGBD : superTool -sgbd -language def.xml
    Qui me génère mes "parseurs" SGBD qui peuvent enregistrer mes interfaces dans une table.

    Maintenant si je veux utiliser hybernate par exemple je fais : superTool -hybernate -language def.xml

    Et je n'ai toujours qu'un seul fichier source.

    Comme ça génère du code en différents langages (donc portabilité oblige) le mieux c java ou xsl.
    Si c'était moi qui le ferai j'choisirai xsl pour pas faire de jaloux.

    Et comme je suis gourmand si je fais : superTool -mars ça fait sonner le four pour aller y chercher un mars

    Avant j'utilisai relaxng qui ressemble à ça mais voilà il est visiblement temps de changer.

  4. #4
    Membre du Club Avatar de r1-1024
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 138
    Points : 68
    Points
    68
    Par défaut
    On pourrait même imaginer que ça puisse faire du swig
    C un support comme un autre.

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,
    Citation Envoyé par r1-1024 Voir le message
    Avant j'utilisai relaxng qui ressemble à ça mais voilà il est visiblement temps de changer.
    Pourquoi changer ? RelaxNG est beaucoup plus expressif que les DTD pour la validation (et même plus que les XSD 1.0 dans beaucoup de cas). D'autant plus qu'au besoin tu pourras utiliser un outil comme Trang pour générer une DTD à partir de ton schéma Relax NG.

    XSLT est bien adapté pour de la génération de code, mais le problème est quand même complexe et je doute que tu parviennes à faire aussi bien que Relaxer sans y consacrer énormément de temps...

    Bref, il n'existe pas d'outil universel qui fasse tout ce que tu demandes, par contre la majorité de tes besoins fonctionnels sont couverts par un ensemble d'outils existants ; à charge pour toi d'écrire une petite application « façade » qui les rende accessibles au travers d'une interface unique, et qui facilite l'automatisation.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Membre du Club Avatar de r1-1024
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 138
    Points : 68
    Points
    68
    Par défaut
    Donc tu définirais les données en relax. Puis de multiples transformations vers les langages.

    Genre pour java : rng -> xsd -> jaxb -> java

    Qu'est ce que tu utiliserai pour flash, .net ou cpp ?

Discussions similaires

  1. persistence.xml : java.net.MalformedURLException
    Par xirius2 dans le forum JPA
    Réponses: 0
    Dernier message: 24/01/2011, 19h31
  2. [JAVA, .Net, Perl/Tk, etc] Idées de projets !
    Par djibril dans le forum Débats sur le développement - Le Best Of
    Réponses: 2
    Dernier message: 28/07/2009, 20h11
  3. Réponses: 4
    Dernier message: 22/01/2004, 08h27

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