Création d'une DTD pour valider fichier XML [Résolu]

damsdu64 49 Messages postés lundi 4 décembre 2000Date d'inscription 29 avril 2009 Dernière intervention - 14 avril 2009 à 09:59 - Dernière réponse : damsdu64 49 Messages postés lundi 4 décembre 2000Date d'inscription 29 avril 2009 Dernière intervention
- 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 !
Afficher la suite 

10 réponses

Répondre au sujet
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 14 avril 2009 à 10:59
+3
Utile
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
---------------------
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de billou_13
damsdu64 49 Messages postés lundi 4 décembre 2000Date d'inscription 29 avril 2009 Dernière intervention - 14 avril 2009 à 11:01
0
Utile
Merci pour ton aide ! Merci beaucoup
Commenter la réponse de damsdu64
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 14 avril 2009 à 11:13
0
Utile
You're welcome mon cher

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Commenter la réponse de billou_13
damsdu64 49 Messages postés lundi 4 décembre 2000Date d'inscription 29 avril 2009 Dernière intervention - 14 avril 2009 à 11:49
0
Utile
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
Commenter la réponse de damsdu64
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 14 avril 2009 à 11:54
0
Utile
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
---------------------
Commenter la réponse de billou_13
damsdu64 49 Messages postés lundi 4 décembre 2000Date d'inscription 29 avril 2009 Dernière intervention - 14 avril 2009 à 11:56
0
Utile
Ok merci pour ton aide
Commenter la réponse de damsdu64
titeoe 433 Messages postés samedi 26 avril 2003Date d'inscription 4 décembre 2009 Dernière intervention - 15 avril 2009 à 08:37
0
Utile
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.
Commenter la réponse de titeoe
damsdu64 49 Messages postés lundi 4 décembre 2000Date d'inscription 29 avril 2009 Dernière intervention - 28 avril 2009 à 22:39
0
Utile
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
Commenter la réponse de damsdu64
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 29 avril 2009 à 09:14
0
Utile
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
---------------------
Commenter la réponse de billou_13
damsdu64 49 Messages postés lundi 4 décembre 2000Date d'inscription 29 avril 2009 Dernière intervention - 29 avril 2009 à 13:05
0
Utile
Merci bilou bonne journée ;)
Commenter la réponse de damsdu64

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.