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

Modules Perl Discussion :

Ordre champ XML


Sujet :

Modules Perl

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut Ordre champ XML
    Bonjour tout le monde!!

    Voilà je suis en train de faire un soft qui construit un XML automatiquemetn à partir de donnée extrait de la base de donnée. J'aimerai savoir si l'ordre est important quand je veux valider le XML avec une DTD ou si ca n'a pas trop d'importance. Le but final étant de créer un autre fichier XML utilisant les valeurs mais avec des noms de champs différents.

    merci d'avance pour votre aide.

  2. #2
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    La DTD peut imposer un ordre, oui. Dans l'exemple qui suit une machine consiste en name et ipaddress, dans cet ordre là.
    Code xml :
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE hosts [
    <!ELEMENT hosts (machine)*>

    <!ELEMENT machine (name,ipaddress)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT ipaddress (#PCDATA)>
    ]>

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    OK d'accord, donc si je veux faire un truc vraiment clea, il faudrait que j'utilise une DTD obligatoirement.
    Mais si je veux faire quelque chose de plus simple, je peux ne pas utiliser le DTD est faire uen validation de la structure XML sans vérifier l'ordre?

  4. #4
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Valider du XML suppose soit un DTD (à la SGML) soit un XML Schema à namespace (comme le standard du W3C). Non ?

    Après tu n'es pas obligé d'imposer un ordre pour les éléments dans le DTD, si c'est toi qui le fait le DTD.

    Le plus important, si tu mets une politique de validation de tes formats XML maison ce sont les exigences que tu fixes, non pas temps au format (genre, attributs ou élements imbriqués etc) mais sous quelles modalités et dans quel but tu veux une validation : si c'est pas valider l'application refuse le XML, l'appli valide tout ce qu'elle produit, tu veux un standard pour un type de données d'échange... j'en passe et des meilleurs .

    Au fait, je crois qu'on est pas dans le bon fil, là.

    Avec Perl t'as de bons modules pour le XML.

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    Pour le XML je sais que je peux utiliser XML Simple ou autre. Mais je demandais pour l'ordre au cas ou mes fichier de source de crétaion de xml ne donnerait pas les info dans le bon ordre. Mais je pense avoir trouvé une solution.

    Par contre j'ai une question sur un attribut de XML simple :

    $xml = new XML::Simple (NoAttr=>1, RootName=>'data');

    dans cette ligne je ne comprend pas à quoi sert le NoAttr=>1... là je suis un peu largué, j'ai aps trouvé d'info clair sur le sujet donc si vous en avez je suis preneur.

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    Je suis allé sur ton topic, mais j'ai un peu de mal avec mon fichier XML. Il doit être tout moisi :

    Code xml : 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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <TEST>
    <WRK_id>test00063885</WRK_id>
    <wrkHeadline>Software problem on Ace nokia</wrkHeadline>
     
    <targetItemBranch>main main-nokia 0.0</targetItemBranch>
    <targetItemRelease>main-nokia 0.0</targetItemRelease>
    <CRI_id>test00063884</CRI_id>
    <CR_id>test00063878</CR_id>
    <description>To reproduce the problem, insert the card, take it and insert it again, the card will be disconnect but it will not be connected. We have to restart the wall system to make it work.</description>
    <analysis>we inserted the card, eject the card and insert it again, the driver didn't take in charge this way to proceed</analysis>
    <submittedOn>2010-02-09 10:14:01</submittedOn>
    <severity>2_critic</severity>
     
    <FORM_product>ace-nokia</FORM_product>
    <FORM_productVersion>1.0.0.3</FORM_productVersion>
    <FORM_productRelease>1.0</FORM_productRelease>
    <howFound>demoSystem</howFound>
    </TEST>

    mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    use XML::Simple;
     
    my $file = './temp/test.xml';
    my $parser = XML::Simple->new( KeepRoot => 1 );
     
    my $doc = $parser->XMLin($file);
    my @test=$doc->{TEST};
     
    print $test[0]->{cq_fields};
    ca me renvoi rien du tout. Vous auriez une idée?

  8. #8
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    cq_fields correspond à quoi ?

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    CQ_fields ca correspond à une clé d'une structure. J'ai fini par trouvé le soucis à force de chercher .. je tapais dans un champs XML qui n'exitait pas donc forcément...

  10. #10
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Citation Envoyé par danathane Voir le message
    CQ_fields ca correspond à une clé d'une structure. J'ai fini par trouvé le soucis à force de chercher .. je tapais dans un champs XML qui n'exitait pas donc forcément...
    c'était le but de ma question, histoire que tu t'en rendes compte.

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    bah j'ai fait ca en fin de journée mon cerveau tournée sur trois pattes cassées.. m'a quand meme fallu une bonne heure pour comprendre

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

Discussions similaires

  1. addition de champs & XML
    Par jejelafrite dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 19/06/2007, 08h22
  2. Quel SGBD gratuit sachant gérer nativement des champs XML ?
    Par KLnikita dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 27/02/2007, 12h38
  3. [Dates] PHP et les champs XML
    Par nicaud dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2007, 21h26
  4. Problème requete sur champs xml
    Par fred6655 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/09/2006, 13h19
  5. Root pour champ XML
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 29/08/2005, 16h26

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