Création d'une DTD pour valider fichier XML

Résolu
damsdu64 Messages postés 49 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 29 avril 2009 - 14 avril 2009 à 09:59
damsdu64 Messages postés 49 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 29 avril 2009 - 29 avril 2009 à 13:05
Bonjour,

Dans le cadre d'un projet je dois valider mon fichier XML existant avec une DTD mais après de nombreuses recherches je ne trouve pas d'endroits où on explique clairement comment fabriquer cette DTD et faire le lien avec mon fichier XML, c'est pour cela que je viens vous demander de l'aide...

Mon fichier XML est de cette forme :

<style><![CDATA[ODY{font:x-small 'Verdana';margin-right:1.5em}
.c{cursor:hand}
.b{color:red;font-family:'Courier New';font-weight:bold;text-decoration:none}
.e{margin-left:1em;text-indent:-1em;margin-right:1em}
.k{margin-left:1em;text-indent:-1em;margin-right:1em}
.t{color:#990000}
.xt{color:#990099}
.ns{color:red}
.dt{color:green}
.m{color:blue}
.tx{font-weight:bold}
.db{text-indent:0px;margin-left:1em;margin-top:0px;margin-bottom:0px;padding-left:.3em;border-left:1px solid #CCCCCC;font:small Courier}
.di{font:small Courier}
.d{color:blue}
.pi{color:blue}
.cb{text-indent:0px;margin-left:1em;margin-top:0px;margin-bottom:0px;padding-left:.3em;font:small Courier;color:#888888}
.ci{font:small Courier;color:#888888}
PRE{margin:0px;display:inline}]]></style>
<?xml version="1.0" encoding="UTF-8"
?>

[# -]<SuiviAvion>

[# -]<Vol>

 <Date_Vol>22/10/09</Date_Vol>

 <Heure_Trajet>15:40:58</Heure_Trajet>

 <Acceleration_Min>2,53</Acceleration_Min>

 <Acceleration_Max>3,75</Acceleration_Max>

 <Duree_Trajet>0:40:57</Duree_Trajet>

 <Total_Accelerations>3,75</Total_Accelerations>

 </Vol>

La balise Vol se répétant autant de fois qu'il y a de vol donc ça fluctue.

Donc ma question serait juste : Comment sera ma DTD et comment la liée à mon fichier XML afin de le valider.

Je vous remercie par avance !
A voir également:

10 réponses

billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
14 avril 2009 à 10:59
Bonjour,

Voici quelques liens pour t'aider:

Un p'tit cours: http://magali.contensin.free.fr/html/XML/index.php?section=dtd&page=bases

Générateurs de DTD:
Xml Spy: http://www.altova.com/simpledownload2c.html?gclid=CNjq56KA8JkCFQOuFQodNxZLSQ
DTDGenerator: http://saxon.sourceforge.net/dtdgen.html

N'oublies pas que le générateur ne fera surement pas tout le travail que tu souhaites. A toi de le modifier selon tes fonctionnalités requises.

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
3
damsdu64 Messages postés 49 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 29 avril 2009
14 avril 2009 à 11:01
Merci pour ton aide ! Merci beaucoup
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
14 avril 2009 à 11:13
You're welcome mon cher

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
0
damsdu64 Messages postés 49 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 29 avril 2009
14 avril 2009 à 11:49
Alors DTD generator j'arrive pas a le lancer et Xml Spy soit c'est moi qui comprend pas son fonctionnement soit il ne veut pas me créer ma DTD ...

Par contre j'ai lu le cours sur le XML et DTD et j'en suis venu a créer à la main le fichier DTD suivant :

<!ELEMENT SuiviAvion (Vol+) >
<!ELEMENT Vol (Date_Vol+, Heure_trajet+, Acceleration_Min+, Acceleration_Max+, Duree_Trajet+, Total_Accelerations+>
<!ELEMENT Date_Vol (#PCDATA)>
<!ELEMENT Heure_Trajet (#PCDATA)>
<!ELEMENT Acceleration_Min (#PCDATA)>
<!ELEMENT Acceleration_Max (#PCDATA)>
<!ELEMENT Duree_Trajet (#PCDATA)>
<!ELEMENT Total_Accelerations (#PCDATA)>

et dans mon fichier XML j'ai rajouter la ligne suivante :
<!DOCTYPE SuiviAvion SYSTEM "FichierXML.dtd">

Je voulais savoir ci tu pourrais me dire ci c'est cohérant ou quelles modifications je peut apporter.

Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
14 avril 2009 à 11:54
A ce niveau, je ne pourrai pas t'aider beaucoup ^^ Ca fait un baille que je n'ai plus fait de fichier dtd (je fais toujours que un fichier XML et c'est tout ).

Mais je me souviens que Xml Spy peut te valider un fichier XML avec la dtd associé. Et cela marche assez bien.

Sinon, tu peux essayer avec cette source: http://www.csharpfr.com/codes/VALIDATEUR-XML-DTD-XSD-AVEC-201-DITION-SIMPLE_36864.aspx

Bonne validation,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
0
damsdu64 Messages postés 49 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 29 avril 2009
14 avril 2009 à 11:56
Ok merci pour ton aide
0
titeoe Messages postés 433 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 4 décembre 2009 1
15 avril 2009 à 08:37
Bonjour,

Juste pour info, tu peux utiliser une DTD pour valider ton MXL masi aussi un schéma XSD. Ce qui est préférable d'ailleurs.

Un des avantages : Visual Studio peut générer le XSD a ta place. Tu ouvres ton XML dans VS, pusi tu regardes dans la barre d'outils XML de VS et tu as un bouton qui indique "générer schéma".

Peut etre que cela peut résoudre ton problème.
0
damsdu64 Messages postés 49 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 29 avril 2009
28 avril 2009 à 22:39
Désolé de la réponse un peut tardive titeoe ,

J'ai en effet générer un schéma XSD c'est plus simple mais j'aimerais maintenant savoir comment je peux l'utiliser qu'est ce que je dois rajouter dans mon code pour faire le lien et donc me servir de ce schéma afin de vérifier la validiter de mon fichier XML.

Si quelqu'un aurait des tuto ou autres afin que je comprenne XSD sa serait gentil.

Merci d'avance
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
29 avril 2009 à 09:14
Bonjour,

Quelques nouveaux petits liens ne font jamais de mal:
- http://www.csharpfr.com/codes/VALIDATION-FICHIER-XML-AVEC-XSD_31772.aspx
- http://www.codeguru.com/csharp/csharp/cs_data/xml/article.php/c6737

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
0
damsdu64 Messages postés 49 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 29 avril 2009
29 avril 2009 à 13:05
Merci bilou bonne journée ;)
0
Rejoignez-nous