Modélisation et interopérabilité : Semaine 39, TD-1

Documents pareils
XML : documents et outils

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

<?xml version="1.0" encoding="iso " standalone="yes"?>

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

XML et DOM. Matériel de cours. mars 1999 version 0.3 dernière modification: 24/3/99

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Ecole Technique «Transformation de données documentaires» Poitiers, mars Atelier 1: Sphinx. import, conversion, export de données

Systèmes d'informations historique et mutations

Initiation à la programmation en Python

Formation HTML / CSS. ar dionoea

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Les outils de création de sites web

«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, Paris

Tutoriel d installation de Hibernate avec Eclipse

Note de cours. Introduction à Excel 2007

SII Stage d informatique pour l ingénieur

Informatique : Création de site Web Master 2 ANI TP 1

Mobyt Intégration HTTP TABLE DES MATIERES

BD et XML : Exercices

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

XML et Java Vue Balisée en XML. Programmation avancée NFP 121. XML pourquoi faire? Structuration des données. Titre Auteur Section Paragraphe

Programme. Matière : RECHERCHE D INFORMATION Crédit : 4 Cours : 1h30 TD : 1h30 Semestre : S1 du M1 Assuré par: Herzallah Abdelkarim

HTML/CSS - Travaux Pratiques 2

Initiation à html et à la création d'un site web

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1

DMP1 DSFT des Interfaces DMP des LPS Annexe : complément de spécification sur l impression des documents à remettre au patient

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

Excel 2007 Niveau 3 Page 1

Les architectures 3-tiers Partie I : les applications WEB

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Préambule. Sommaire. Ouverture de votre Service Client. Configuration de La Solution Crypto. Activation. Paramètres PagesIMMO

SEMANTIQUE DES MODELES D'ECHANGE DE DONNEES

4. SERVICES WEB REST 46

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Gestion Électronique de Documents et XML. Master 2 TSM

RE SOLUTIONS CHAPITRE 1

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

XMLInvoice Standard de facturation dans le domaine de la santé publique suisse

Fonctions homographiques

Priorités de calcul :

Formationcontinue: MaîtriserXMLetXSLT

ech-0007 Norme concernant les données Communes

Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML

Master d Informatique Corrigé du partiel novembre 2010

Les chaînes de caractères

TP, première séquence d exercices.

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Développement Web - Object Relational Mapping and Hibernate

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

MO-Call pour les Ordinateurs. Guide de l utilisateur

< Atelier 1 /> Démarrer une application web

API FTP SMSENVOI V1.1

Compte Rendu d intégration d application

Guide de l Etudiant en LMD de l Institut Supérieur des Technologies de l Information et de la Communication

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

Infrastructure à Clé Publique (PKI Public Key Infrastructure)

Référencement de votre site Web Google et autres moteurs de recherche (4ième édition)

Titres de créances NégOciables Refonte Informatique et organisationnelle

Programmation Web TP1 - HTML

Modèle de demande d'habilitation d'un Mastère LMD

L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus.

Webmaster / Webdesigner / Wordpress

Formation : WEbMaster

EXCEL TUTORIEL 2012/2013

Microsoft Excel. Tableur

Cours d algorithmique pour la classe de 2nde

Architecture Orientée Service, JSON et API REST

Uniformiser la mise en forme du document. Accélère les mises à jour. Permets de générer des tables de matières automatiquement.

Archivage pérenne : les formats conformes Version :

PROSOP : un système de gestion de bases de données prosopographiques

1 Lecture de fichiers

TD3 - Facturation avec archivage automatisé

Dématérialisation des factures du Secteur Public

CxF - Color exchange Format - Format d'échange de teintes. Le langage universel pour communiquer les teintes de manière numérique.

Jeux de caracte res et encodage (par Michel Michaud 2014)

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Université de Sherbrooke, Département d informatique


Mobyt Intégration par Webservice TABLE DES MATIERES

Le codage informatique

Travaux dirigés n 10

MISE EN PLACE DES PRÉLÈVEMENTS SEPA PAR LES REMETTANTS HORS CLIENTÈLE DFT

( Mauritius ) ( France )

Débuter avec Excel. Excel

Nom de l application

! Text Encoding Initiative

Référencement naturel

L exclusion mutuelle distribuée

Transcription:

Modélisation et interopérabilité : Semaine 39, TD-1 Benoît Valiron <benoit.valiron@monoidal.net> http://inf356.monoidal.net/ 1

Le Métalangage XML 2

Exercice : Bien formé? (6 choses) <?xml encoding= utf-8 version= 1.0?> <cours jour = Jeudi salle= B300 > <sujet>xml</sujet> <Horaire>8h00</horaire> </cours> <td jour=mardi> <sujet>xml</sujet> <horaire>15h30</horaire> <tp jour= Mercredi > <sujet>xml</sujet> <horaire>13h30</horaire> </TP> 3

Exercice : Bien formé? <?xml version= 1.0 encoding= utf-8?> <planning> <cours jour = Jeudi salle= B300 > <sujet>xml</sujet> <Horaire>8h00</horaire> </cours> <td jour= Mardi > <sujet>xml</sujet> <horaire>15h30</horaire> </td> <tp jour= Mercredi > <sujet>xml</sujet> <horaire>13h30</horaire> </TP> </planning> Arbre? 4

Arbre correspondant planning cours jour= Jeudi salle= B300 td jour= Mardi tp jour= Mercredi sujet horaire sujet horaire sujet horaire XML 8h00 XML 15h30 XML 13h30 5

Lesquels sont des noms de balise corrects? 1. <123> 2. <_a> 3. <a:2> 4. <a.b.c> 5. <a-b-c> 6. <ASDF> 7. <a2:eee> 8. <cc/dd/ee> 9. < > 10. <_:--> 11. <(aaa)> 12. <_aaa-a:_-_> 13. <dd;ee> 14. <1qwerty> 15. <aa > 6

Validation DTD 7

Feuille de style DTD Règles portant sur les éléments et les attributs Format: <!mot-clé paramètre1 paramètre2 > Mots clés: ELEMENT ATTLIST ENTITY (NOTATION) ELEMENT : éléments XML ATTLIST: attribut XML ENTITY : caractères spéciaux et macro texte 8

ELEMENT 9

Format : <!ELEMENT nom ANY> <!ELEMENT nom EMPTY> <!ELEMENT nom (#PCDATA)> <!ELEMENT nom (modèle_de_contenu)> Modèle de contenu (sans texte) est construit à l'aide de la syntaxe: (a, b, ) : liste ordonnée (a b ) : un élément au choix (a*) : zero, un ou plus (a+) : un ou plus (a?) : zero ou un Contenu mixte: (#PCDATA a b...)* 10

<?xml version= 1.0 encoding= utf-8?> <!DOCTYPE personne [ <!ELEMENT personne (prénom, nom)> <!ELEMENT prénom (#PCDATA) > <!ELEMENT nom (#PCDATA) > ]> <personne> <nom>turing</nom> <prénom>alan</prénom> </personne> NON VALIDE... 11

<?xml version= 1.0 encoding= utf-8?> <!DOCTYPE personne [ <!ELEMENT personne (prénom nom)*> <!ELEMENT prénom (#PCDATA) > <!ELEMENT nom (#PCDATA) > ]> <personne> <nom>turing</nom> <prénom>alan</prénom> </personne> VALIDE! 12

<?xml version= 1.0 encoding= utf-8?> <!DOCTYPE personne [ <!ELEMENT personne (prénom, nom)> <!ELEMENT prénom (#PCDATA) > <!ELEMENT nom (#PCDATA) > ]> <personne> <prénom>alan</prénom> <nom>turing</nom> </personne> VALIDE! 13

Exercice : <!ELEMENT tic???> a- <tic><tac /><toc /></tic> b- <tic><toc /><tac /></tic> c- <tic><tac><toc /></tac><tac/></tic> d- <tic><toc /></tic> e- <tic><toc /><toc /></tic> f- <tic><toc /><toc /><tac /><tac></tac></tic> 1- (tac,toc) 2- (tac,toc)* 3- (tac*,toc*) 4- (tac toc) 5- (tac toc)* 6- (tac* toc*) 7- toc? 8- tac? 9- tac* 10- (tac? toc*) 11- (tac toc)? 12- (tac+ toc*) 14

ATTLIST 15

ATTLIST Format : <!ATTLIST elt attribut type #REQUIRED> <!ATTLIST elt attribut type #IMPLIED> <!ATTLIST elt attribut type #FIXED valeur> <!ATTLIST elt attribut type valeur> REQUIRED : Attribut obligatoire IMPLIED : Attribut optionel FIXED valeur : optionel, mais fixé si présent Valeur : optionel, avec valeur par défaut 16

Les types d'attributs Dix types d'attributs existent dans XML: CDATA : texte quelconque ENUMERATION : une liste d'unités lexicales ID : nom XML unique dans le document IDREF : référence à un attribut de type ID IDREFS : id1 id2 id3... NMTOKEN, NMTOKENS, ENTITY, ENTITIES, NOTATION. 17

Enumérations Une énumération est sous la forme <!ATTLIST date jour (Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche) #REQUIRED> Les noms dans l'énumération sont des unités lexicales nominales XML : des lettres, des chiffres, _ -. : sans restrictions. Exemple: <!ATTLIST element att (.bashrc 123 _.-ee 3-4 xml) #IMPLIED> 18

Exemple <?xml version= 1.0 encoding= utf-8?> <!DOCTYPE organigramme [ <!ELEMENT organigramme (personne*,projet*)> <!ELEMENT personne EMPTY> <!ELEMENT projet EMPTY> <!ATTLIST personne nom CDATA #REQUIRED> <!ATTLIST personne id ID #REQUIRED> <!ATTLIST personne vacataire (oui non) oui > <!ATTLIST projet membres IDREFS #REQUIRED nom CDATA Boire du café > ]> <organigramme> <personne id= n1 nom= Bob /> <personne id= n2 nom= Marie /> <personne id= n3 nom= Alfred /> <projet membres= n1 n2 nom= repeindre le couloir /> <projet membres= n1 n2 n3 /> <projet membres= n3 nom= Truc urgent /> </organigramme> 19

Exercice Donner une DTD correspondant à l'arbre suivant, et un exemple de document XML valide. cours nom=... liste_élèves présence nom=... élève prénom=... num_étudiant=... nom=... élève prénom=...... semaine num=... présents=... semaine num=... présents=... num_étudiant=... On utilisera une énumération pour les numéros de semaines (39 50) et des ID/IDREF pour les numéros d'étudiants et les présents.... 20

Solution <!ELEMENT cours (liste_élèves, présence)> <!ATTLIST cours nom CDATA #REQUIRED> <!ELEMENT liste_élèves (élève+)> <!ELEMENT élève EMPTY> <!ATTLIST élève nom CDATA #REQUIRED prénom CDATA #IMPLIED num_étudiant ID #REQUIRED> <!ELEMENT présence (semaine+)> <!ELEMENT semaine EMPTY> <!ATTLIST semaine num (38 39 40 41 42 43 44 45 46 47 48 49 50) #REQUIRED> <!ATTLIST semaine présents IDREFS #REQUIRED> 21

Un exemple de document <cours nom="inf101"> <liste_élèves> <élève nom="turing" prénom="alan" num_étudiant="n0123" /> <élève nom="church" prénom="alonzo" num_étudiant="n0124" /> <élève nom="clark" prénom= David num_étudiant="n0002" /> </liste_élèves> <présence> <semaine num="39" présents="n0123 n0124" /> <semaine num="40" présents="n0123 n0002" /> <semaine num="41" présents="n0124 n0123 n0002" /> </présence> </cours> 22

ENTITY 23

ENTITY Deux types d'entités majeurs : Les entités générales Les entités paramètres Entités générales : pour faire des abréviations <!ENTITY moi Benoît Valiron > Utilisés comme &apos; < &lq; & " <texte>je m&apos;appelle &moi;</texte> Cas particulier : &#xxx; signifie le caractère de valeur xxx dans le jeu de caractères 24

Exemple <?xml version= 1.0?> <!DOCTYPE texte [ <!ELEMENT texte (#PCDATA)> <!ENTITY b1 Tic > <!ENTITY b2 &b1; &b1; > <!ENTITY b3 &b2; &b2; > <!ENTITY b4 &b3; &b3; > ]> <texte>&b4;</texte> 25

Contre-exemple <?xml version= 1.0?> <!DOCTYPE plan [ <!ENTITY pt (x, y, z) > <!ELEMENT plan (&pt;, &pt;, &pt;)> <!ELEMENT x (#PCDATA)> <!ELEMENT y (#PCDATA)> NON-VALIDE! <!ELEMENT z (#PCDATA)> ]> <plan> <x>0</x><y>0</y><z>0</z> <x>0</x><y>1</y><z>0</z> <x>0</x><y>0</y><z>1</z> </plan> 26

ENTITY (suite) Entités paramètre : utilisable uniquement dans la DTD <!ENTITY % nom_entité texte_remplacement> Pour des raccourcis. Exemple: <!ENTITY % liste (a b c d) #REQUIRED > <!ELEMENT alphabet EMPTY> <!ATTLIST alphabet lettre %liste;> Définition et utilisation en DTD externe Redéfinition possible en DTD interne 27

Exemple tic.dtd <?xml version= 1.0 encoding= utf-8?> <!ENTITY % tic ' Tic '> <!ELEMENT texte (#PCDATA)> <!ENTITY b1 %tic;> <!ENTITY b2 &b1; &b1; > <!ENTITY b3 &b2; &b2; > <!ENTITY b4 &b3; &b3; > fichier.xml <?xml version= 1.0 encoding= utf-8?> <!DOCTYPE texte SYSTEM tic.dtd [ <!ENTITY % tic ' Tac '> ]> <texte>&b4;</texte> 28

Exercice triangle.dtd <!ENTITY % pt (x, y, z) > <!ELEMENT triangle (%pt;, %pt;, %pt;)> <!ELEMENT x (#PCDATA)> <!ELEMENT y (#PCDATA)> <!ELEMENT z (#PCDATA)> volume.xml <?xml version= 1.0?> <!DOCTYPE triangle SYSTEM triangle.dtd > <triangle> <x>0</x><y>0</y><z>0</z> <x>0</x><y>1</y><z>0</z> <x>0</x><y>0</y><z>1</z> </triangle> Question : Écrire un fichier plan.xml avec triangle.dtd. 29

Solution plan.xml <?xml version= 1.0?> <!DOCTYPE triangle SYSTEM triangle.dtd [ <!ENTITY % pt (x, y) > ]> <triangle> <x>0</x><y>0</y> <x>0</x><y>1</y> <x>0</x><y>0</y> </triangle> 30

Exercice : <!ELEMENT tic???> 1.(a*) 2.(a+ a*) 3.(a, a*) 4.(a, a+) 5.(a*,(a (a,a))) 6.(a, a)* 7.(a, (a,a))* 8.(a (a, a+)) 9.(a a) 10.(a?, b+) 11.((a+, b+) (a?, b?)) 12.(a, b)+ 13.(a b)+ 14.((a, b) (b, a)) 15.((a b), (a b)) 16.((a, b) (b?, a?)) 17.((a? b?), (a? b?)?) 31