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

XML/XSL et SOAP Discussion :

Inhiber l'ordre alphabétique des attributs sous Xerces


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Inhiber l'ordre alphabétique des attributs sous Xerces
    Bonjour,

    Le parser Xerces (DOMWriter via newChildWithAtt->setAttribute) écrit systématiquement les attributs dans l'ordre alphabétique :
    Exemple :
    <Logs>
    <Log message="Msg no 1" severity="FATAL" time="14:41:20"/>
    </Logs>

    alors que je souhaiterai obtenir le contraire : time - severity - message.
    J'utilise la Librairie C++ 2.3.0.

    Merci d'avance pour votre aide,
    Philippe.

  2. #2
    Membre du Club Avatar de philemon_siclone
    Inscrit en
    Septembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Comment ton arbre DOM est-il créé ? par programme ? via une transformation XSLT ? etc.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    mon arbre est entièrement créé par programme.
    Le but étant de créer un fichier XML, puis de l'enrichir toujours par programme.
    Aucune transformation n'est effectué.
    Le fichier doit juste être conforme à un schéma.

    Extrait du schéma :
    <xs:complexType name="LogType">
    <xs:annotation>
    <xs:documentation>Une ligne de log</xs:documentation>
    </xs:annotation>
    <xs:attributeGroup ref="line"/>
    </xs:complexType>
    <xs:attributeGroup name="line">
    <xs:attribute name="time" type="xs:time" use="required"/>
    <xs:attribute name="severity" type="SeverityType" use="required"/>
    <xs:attribute name="message" type="xs:string" use="required"/>
    </xs:attributeGroup>

  4. #4
    Membre du Club Avatar de philemon_siclone
    Inscrit en
    Septembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Bon j'ai rapidement regardé le code (je suppose que tu as fait de même). Il s'avère que les attributs sont effectivement triés. Ils le sont non pas lors de la serialisation, mais au moment de l'ajout dans l'arbre (methode setAttributeNode si je ne me trompe); et ça n'a pas l'air d'être debrayable facilement (il ne teste pas de flag avant de faire sont insertion triée en tout cas).

    Donc selon moi il ne te reste que deux solutions un peu lourdes :
    1) créer des sous classes qui permettrait d'inserer sans trier (il faut au moins sous-classer DOMNamedNodeMapImpl ainsi que la/les classes qui instancient cette dernière).
    2) créer des sous classes afin de trier dans un autre ordre lors de la serialisation. La il n'y a qu'une seule classe à sous-classer : c'est DOMWriterImpl. Par contre le problème, c'est que tu vas être obligé de copier-coller une bonne partie du code correspondant à la serialisation dans ta sous classe (surtout que la methode responsable de la serialisation effective : processNode() est privée). D'où un problème d'évolutivité (i.e. les eventuelles evolutions apportées par apache dans DOMWriterImpl ne seront pas prises en compte par ta sous-classe).

    Voilà, voilà, dis-moi si tu trouves une autre solution,

    Tcho,

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/01/2011, 08h31
  2. Classer une bibliographie par ordre alphabétique des noms
    Par GDMINFO dans le forum Bibliographies - Index - Glossaires
    Réponses: 3
    Dernier message: 16/11/2010, 16h59
  3. Réponses: 9
    Dernier message: 08/03/2010, 10h17
  4. Ordre alphabétique des tables ?
    Par Marco24 dans le forum Toad
    Réponses: 5
    Dernier message: 08/04/2008, 21h29
  5. [XDoclet] [Hibernate] Ordre déterministe des attributs dans hbm.xml générés
    Par Dirty Henry dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 21/03/2007, 15h49

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