Escolar Documentos
Profissional Documentos
Cultura Documentos
SLAM1 XML
En-tte
2) C o d
SLAM1
XML
XML
Introduction : Qui est jean Paoli ? Rappels sur les rles du W3C www.w3c.org
XML
I.
SLAM1
XML
Conclusion Le langage XML permet de sparer la prsentation et les donnes: dans le langage HTML les balises sont utilises pour prsenter les donnes alors quen XML les balises sont utilises uniquement pour dcrire les donnes de faon structur. XML n'est pas un langage fig comme peut l'tre le HTML mais un mtalangage : l'auteur d'un document XML peut crer ses propres balises tandis que lauteur dun document HTML doit utiliser les balises prdfinis (<title>, <p>). Les fichiers XML pourront tre manipuls facilement laide doutils informatiques.
SLAM1
XML
II.
exemples XML\exemple-Un-XmlSimple.xml Ce fichier doit tre analyser (Parser) laide dun outil capable de valider un contenu au format xml. Exemples doutils - IExplorer -FireFox Rsultat affich
exemples XML\exemple-Deux-Xml-A-Valider.xml
SLAM1
XML
exemples XML\exemple-Trois-Xml-A-Valider.xml
SLAM1
XML
III.
SLAM1
XML
IV.
Voici 6 fichiers XML, le premier est le seul bien form, essayez de trouver la cause des malformations des autres fichiers :
<?xml version="1.0" encoding="iso-8859-1" ?> <catalogue> <produit> <reference>0358</reference> <libelle>Graveur DVD</libelle> <prix unite="euro">40</prix> <commentaire /> </produit> <produit> <reference>1235</reference> <libelle>DVD-R 4,7 Go</libelle> <prix unite="euro">1</prix> <commentaire>Nouveaut</commentaire> </produit> </catalogue> 1 <catalogue> 2 <produit> <reference>0358</reference> 3 <libelle>Graveur DVD</libelle> 4 <prix unite="euro">40</prix> 5 6 <commentaire /> 7 </produit> 8 <produit> <reference>1235</reference> 9 <libelle>DVD-R 4,7 Go</libelle> 10 11 <prix unite="euro">1</prix> <commentaire>Nouveaut</commentaire> 12 13 </produit> 14 </catalogue> 15
<?xml version="1.0" encoding="iso-8859-1" ?> <catalogue> <produit> <reference>0358</reference> <libelle>Graveur DVD</libelle> <prix unite="euro">40</prix> <commentaire /> </produit> </catalogue> <catalogue> <produit> <reference>1235</reference> <libelle>DVD-R 4,7 Go</libelle> <prix unite="euro">1</prix> <commentaire>Nouveaut</commentaire> </produit> </catalogue>
1 <?xml version="1.0" encoding="iso-8859-1" ?> 2 <catalogue> 3 <produit> <reference>0358 4 <libelle></reference>Graveur DVD</libelle> 5 <prix unite="euro">40</prix> 6 7 <commentaire /> 8 </produit> 9 <produit> <reference>1235</reference> 10 <libelle>DVD-R 4,7 Go</libelle> 11 12 <prix unite="euro">1<commentaire> </prix> Nouveaut</commentaire> 13 14 </produit> 15 </catalogue> 16 17
SLAM1
POINT COURS :
XML
SLAM1 2) Exercices
XML
a) Exercice 1 : Jeu des 7 erreurs Trouvez les erreurs qui font que ce fichier nest pas bien form
1 <clients> 2 <client> <num>12</num> 3 <nom>Bordas</nom> 4 <prenom>Julien</prenom> 5 6 <adresse> <rue>3 place du march</RUE> 7 <cp>71100</cp> 8 <ville>Chalon sur Sane</ville> 9 10 </adresse> <tel>03-85-12-13-14 11 12 <mel /> 13 </client> 14 15 <client> <num>15</num> 16 <nom>Goussot</nom> 17 <prenom>Mlanie<prenom> 18 19 <adresse> <rue>2 rue de lobelisque </rue> 20 <cp>71100</cp> 21 <ville>Chalon sur Sane</ville> 22 23 </adresse> <tel>06-15-35-58-19<mel> 24 </tel>m.goussot@fai.fr</mel> 25 26 </client> 27 </clients>
10
SLAM1 b) Exercice 2
XML
Ecrire un fichier XML correspondant aux donnes suivantes : Commande n 5 du 03/05/2006 Rfrence 0358 1235 Nom produit Graveur DVD DVD-R 4,7Go Prix (en euros) 40 1 Quantit 1 10
Ces fichiers sont-ils bien forms ? Ces fichiers vous paraissent-ils cohrents ?
11
XML
Client B : 1 <?xml version="1.0" encoding="iso-8859-1" ?> 2 <cmd> <date_cmd>03/05/2006</date_cmd> 3 <num>5</num> 4 5 <prdt> <ref>0358</ref> 6 <nom>graveur dvd</nom> 7 <pu>40</pu> 8 <unite>euro</unite> 9 <qte>1</qte> 10 11 </prdt> 12 <prdt> <ref>1235</ref> 13 <nom>dvd-r 4,7 go</nom> 14 15 <pu>1</pu> <unite>euro</unite> 16 <qte>10</qte> 17 18 </prdt> 19 </cmd>
Ces fichiers sont-ils bien forms ? Ces fichiers vous paraissent-ils cohrents ? Pensez-vous que le programme du fournisseur qui recevra ces 2 fichiers pourra les interprter facilement ?
-Conclusion : Si lon veut effectuer des traitements automatiques sur des documents lectroniques XML : 1- il est ncessaire que le document XML soit 2- il est ncessaire que la structure du fichier XML soit et . Pour rpondre au point n2 la norme XML a dfini une dfinition de document type appele DTD (Document Type Definition)
12
SLAM1
XML
V.
1)
XML permet d'utiliser un fichier afin de vrifier qu'un document XML est conforme une syntaxe donne. La norme XML dfinit ainsi une dfinition de document type appele DTD (Document Type Definition), Dfinition : Une DTD (Document Type Definition) reprsente lensemble des rgles et des proprits que doivent suivre les documents XML qui y sont rattachs. Un document XML est dit sil respecte la DTD laquelle il est associ. Remarques : - La norme XML nimpose pas lutilisation dune DTD. - La DTD nest pas crite au format XML.
13
XML
Exemple de DTD partir de lexemple prcdent (la commande du client A) Fichier XML : commande.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE racine SYSTEM "commande.dtd"> <racine> <commande numero="5"> <date >03/05/2006</date > <produit reference="0358"> <libelle>graveur DVD</libelle> <prix unite="euro">40</prix> <quantite >1</ quantite > </produit> <produit reference="1235"> <libelle>DVD-r 4,7 go</libelle> <prix unite="euro">1</prix> <quantite>10</ quantite > </produit> </commande> </racine>
DTD : commande.dtd
1 <!ELEMENT racine (commande+)> 2 <!ELEMENT commande (date,produit+)> 3 <!ATTLIST commande numero CDATA #REQUIRED> 4 5 <!ELEMENT date (#PCDATA)> 6 7 <!ELEMENT produit (libelle,prix,quantite)> 8 <!ATTLIST produit reference CDATA #REQUIRED> 9 10 <!ELEMENT libelle (#PCDATA)> 11 12 <!ELEMENT prix (#PCDATA)> 13 <!ATTLIST prix unite (euro|livre) #REQUIRED> 14 15 <!ELEMENT quantite (#PCDATA)> 16 17
14
SLAM1
3)
XML RECAPITULATIF :
1- Dclaration dune DTD dans le fichier XML : exemple : ligne 2 du fichier XML prcdent
<!DOCTYPE racine SYSTEM nom du fichier.dtd >
2.1- Les types prdfinis : exemple : ligne 6, 11, 13 et 16 de la DTD de lexemple prcdent
Type Prdfini #PCDATA ANY EMPTY Description
2.2-Les lments composs de sous-lments exemple : ligne 1, 3 et 8 de la DTD de lexemple prcdent. Les sous-lments sont :
exemple : ligne 4, 9 et 14 de la DTD de lexemple prcdent 3.1- Le type Il existe plusieurs types, on retiendra le type CDATA (C'est le type le plus gnral), il permet de saisir un texte quelconque. Il est galement possible de donner une numration au lieu dun type : exemple ligne 14 de la DTD de lexemple prcdent. 3.2 la caractristique
Caractristique #REQUIRED #IMPLIED #FIXED Description
15
XML
Travail faire : 1- Trouver une DTD correspondant au fichier XML Fichier XML :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE clients SYSTEM "client.dtd"> <clients> <client> <nom>Gatien</nom> <prenom>Daniel</prenom> <adresse> <rue>15 rue de la libert</rue> <cp>71100</cp> <ville>Chalon sur Sane</ville> </adresse> <mel>d.gatien@fai.fr</mel> </client> <client statut="mauvais"> <nom>Mller</nom> <prenom>Gerard</prenom> <adresse> <rue>3 rue des lilas</rue> <cp>71100</cp> <ville>Chalon sur Sane</ville> </adresse> <tel_port>06-52-63-21-54</tel_port> <tel_fixe>03-85-38-95-87</tel_fixe> </client> </clients> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
16
SLAM1
XML
17