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 Discussion :

Mise en place d'une lecture XML avec DTD


Sujet :

XML

  1. #1
    Candidat au Club
    Mise en place d'une lecture XML avec DTD
    Bonjour,
    Dans le cadre d'un projet je dois mettre en place une lecture d'XML, pour "in fine" utiliser le contenu dans un programme C++.
    Les XML fournis dépendent d'une DTD (elle-même composée de plusieurs modules etc. ), et le tout me semble assez dense avec donc beaucoup de chose à structurer et à lire.
    Novice en la matière de xml & dtd, je me demande naturellement quelle est la meilleure façon de procéder : à savoir, comment mettre en place le plus rapidement possible cette lecture et être le plus efficace également si la DTD évolue.

    J'avais étudié dans un premier temps des tools de génération de code. Malheureusement ceux-ci ne marche pas avec la DTD fourni, qui est pourtant valide. D'ailleurs la pluspart des tools necessite de convertir dtd en schema, est là dejà les schemas (xsd) généré ne sont eux pas valident. J'imagine la DTD trop complexe pour cela.


    Je cherche donc aujourd'hui la meilleur façon de procéder pour démarrer ce projet et donc toute aide sera précieuse.
    J'espère avoir été clair, mais je ne manquerais pas de répondre à des précisions si besoin.

  2. #2
    Candidat au Club
    Re,
    J'ai opté finalement pour une solution "à la main" avec libxml2, en utilisant les propriétés XPath de celle-ci.

    "à la main" parceque du coup j'ai abandonné l'idée d'un génération du code à partir du DTD, faute de resultats.
    J'avais des outils qui semblaient proposer cela :
    • xsd.exe de .NET : mais il fallait transformer le DTD en XSD et je n'ai trouvé aucun tool faisant la conversion, qui ne me disent pas aprés que le XSD n'est pas valide.
    • XMLSpy : lui a générer du code. Mais à l'execution du programme, celui-ci ne relisait pas les données. Là peut-être est-ce moi qui n'ai pas su faire. Mais dans le doute..


    Pourquoi ce choix : c'est surtout les fonctionalités XPath qui m'ont semblé très intéressantes pour mettre en place une lecture facilement modulable.

    libxml2 c'est parcequ'elle offrait XPath et qu'on l'utilisait déjà par ailleurs.

    Maintenant si quelqu'un à un complément d'information, ne pas hésiter.