Origine et Concepts de base. 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire?

Dimension: px
Commencer à balayer dès la page:

Download "Origine et Concepts de base. 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire?"

Transcription

1 Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire?

2 1. Origine et objectifs XML est issu de la Gestion de Documents (GED) Séparation du fond de la forme. Forme = présentation à partir de la structure (style) Fond = structure + données (contenu) Multiples précurseurs dont les plus connues : SGML pour la structuration HTML pour la présentation Approches mélangeant parfois le fond et la forme! Origines 2

3 Présentation et Structuration Titre Auteur Section Paragraphe Paragraphe Paragraphe Section XML: Des BD aux Services Web Georges Gardarin 1. Introduction Ces dernières années ont vu l'ouverture des systèmes d'information à l'internet. Alors que depuis les années 1970, ces systèmes se développaient, le choc Internet Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu structurantes voir perturbantes. Certaines n'ont guère survécues L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'internet et les systèmes d'information 2. La société ProXML Origines 3

4 Vue Balisée <Livre> <Titre> XML : Des BD aux Services Web</Titre> <Auteur>Georges Gardarin</Auteur> <Section titre = "Introduction"> <Paragraphe>Ces dernières années ont vu l'ouverture des systèmes d'information à l'internet. Alors que depuis les années 1970, ces systèmes se développaient, le choc Internet </Paragraphe> <Paragraphe>Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu structurantes voir perturbantes. Certaines n'ont guère survécues </Paragraphe> <Paragraphe>L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'internet et les systèmes d'information </Paragraphe> </Section> <Section titre= "La Société ProXML"> </Section> </Livre> Les balises (tags) peuvent porter plus ou moins de sémantique Origines 4

5 World Wide Web Consortium W3C - Fondé en 1994 Consortium industriel international accueilli par différents sites MIT/LCS aux Etats-Unis INRIA en Europe Keio University au Japon 448 membres industriels en septembre 2000 Origines 5

6 W3C : dans quel but? Accroître le potentiel du Web Développer des protocoles communs Assurer l inter-opérabilité sur le Web entre les différents systèmes Stock d informations sur les standards et les normes pour développeurs et utilisateurs Code référence pour présenter et promouvoir les différents standards Prototypes variés et exemples d applications Origines 6

7 Les différents documents émis Note : proposition émise par un organisme ou un groupe Working Draft : document de travail issu d un groupe formellement reconnu; Proposed Recommendation : proposition représentant un consensus d un groupe de travail soumise pour vote aux membres votants; Recommendation : standard accepté par un vote positif. Adopté dans une version, il peut évoluer lors de versions ultérieures. Origines 7

8 XML : objectifs XML= un nouveau langage d'échange basé sur le balisage XML= plus simple que SGML XML= plus ouvert que HTML englobé (XHTML) XML = développé par XML Working Group dirigé par le W3C (depuis 1996) XML 1.0 = recommandation officielle du W3C depuis le 10 février 1998 Origines 8

9 les 10 objectifs de conception: XML doit pouvoir être utilisé sans difficulté sur Internet XML doit soutenir une grande variété d'applications XML doit être compatible avec SGMLet HTML Il doit être facile d'écrire des programmes traitant les documents XML Le nombre d'options dans XML doit être réduit au minimum, idéalement à aucune Origines 9

10 les 10 objectifs de conception Les documents XML doivent être lisibles par l'homme et raisonnablement clairs La spécification de XML doit être disponible rapidement La conception de XML doit être formelle et concise Il doit être facile de créer des documents XML La concision dans le balisage de XML est peu importante Origines 10

11 Forces de XML Séparation de la structure et de la présentation Questions? Moins confus que HTML Plus simple que SGML Idéal pour l'échange de données semi-structurées Utilisable entre machines Origines 11

12 2. SGML et HTML 1969 C. Goldfarb, E. Mosher, R. Lorie inventent GML chez IBM GML a été créé pour éditer des documents, les mettre en page et les partager au sein de systèmes de gestion éditoriaux 1978 Goldfarb prend la tête d un comité «Computer Language for the Processing of Text» au sein de l American National Standards Institute (ANSI). SGML 12

13 Qu'est-ce que SGML? Une norme internationale : Standard Generalized Markup Language ISO Un métalangage de balisage de documents lisible par l être humain et traitable par une machine permet de définir des langages de balisage Les documents sont balisés conformément à la grammaire (la DTD) instances de DTD permet un balisage sémantique du fond. Implique la notion de validité d'un document SGML 13

14 SGML : objectifs Séparation du fond et de la forme possibilité de multiples présentations un seul document en SGML plusieurs formats : Postcript, HTML, etc. Support de traitements sur le contenu des documents sans prise en compte de la forme Proposition d un cadre défini pour l expression des modèles documentaires (validité, contrôle) Intégration d'un format de stockage et d échange normalisé SGML 14

15 SGML : critiques Très lourd et complexe pour la mise en œuvre de documents respectant ce format Une grande rigueur est demandée à l'entrée des documents Standard complexe et complet pour le traitement des documents Liens hypertextes possibles mais complexes SGML 15

16 HTML : présentation Proposé par le W3C comme format de documents sur le Web. Langage simple avec des balises standardisées permettant la mise en forme d un texte. Standard reconnu par tous les navigateurs. Langage très populaire sur le Web <HTML> <HEAD> <TITLE> Exemple </TITLE> </HEAD> <BODY> <H1>Contenu du document</h1> <A HREF = "http://www.server.fr/info /dir/test.html"> une référence externe </A> </BODY> </HTML> HTML 16

17 HTML : inconvénients Normalisation des différentes balises difficile : les constructeurs ont eu tendance à définir leurs propres balises pour répondre à leurs besoins (incompatibilité) HTML 4.0 boutons, tables, applets, objects, graphiques, maths,... styles, frames, protections,... Mises à jour difficiles : données utiles et mises en forme ; restructuration ou remise en forme de l ensemble des pages du site fastidieux. Mélange le fond et la forme méta-données avec la présentation Pages conçues pour 1 type de terminal HTML 17

18 Feuilles de style Introduite pour diversifier les présentations CSS (Cascading Style Sheet) mécanisme d'héritage entre nœuds une balise hérite de la parente seulement ce qu'elle spécifie est redéfini Recommandation W3C en décembre 1996 Mécanisme simple pour ajouter un style aux documents Web fonte, taille, couleur, etc. Utilisables avec XML HTML 18

19 Exemple de CSS <LINK REL="stylesheet" "truc.css" BODY { color: #000 ;; background: #FBFBFF ;; margin-left: 9% 9% ;; margin-right: 6% 6% ;; font-family: "Helvetica", sans-serif ;; line-height: ;; } [[......]] TD, TD, TH TH { font-family: "Helvetica", sans-serif line-height: ;; } H1, H1, H2 H2 { margin-top: 1.2em ;; margin-left: -7% -7%;; color: #900 #900;; clear: both both ;; } [[......]] HTML 19

20 SGML et HTML : Résumé SGML langage de la GED plutôt complexe très utilisé dans l'industrie HTML spécialisation de SGML adapté à la présentation inadapté à l'échange entre programmes Questions? HTML 20

21 3. XML: définitions de base XML est un méta-langage universel pour représenter les données échangées sur le Web qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux navigateurs XML standardise la manière dont l'information est : échangée présentée archivée retrouvée transformée cryptée... XML 21

22 XML : exemple simple XML SGML XML HTML XHTML Document bien formé: <Vin> <Cru>Volnay</Cru> <Region> <Nom>Bourgogne</Nom> <Capitale>Dijon</Capitale> </Region> <Millesime>1995</Millesime> <Millesime>1996</Millesime> <Prix Unite = "Euro"> 10.5 </Prix> </Vin> Les utilisateurs peuvent définir leurs propres tags Il est possible d'imposer une grammaire spécifique (DTD, Schéma) Les tags indiquent la signification des sections marquées 22

23 Concepts du modèle Balise (ou tag ou label) Marque de début et fin permettant de repérer un élément textuel Forme: <balise> de début, </balise> de fin Elément de données Texte encadré par une balise de début et une de fin Les éléments de données peuvent être imbriquées <producteur> <adresse> <rue>a. Briand</rue> <ville>dijon</ville> </adresse> </producteur> Attribut Doublet nom="valeur" qualifiant une balise <producteur no="160017" region="bourgogne"> XML 23

24 Exemple complet 24

25 Français *** Restaurant Nom Manager Le Moulin de Mougin Dupuis Adresse No Rue Ville 7 Des Vignes Mougin XML 25

26 Présentation textuelle <Restaurant Type="Français" Categorie="***"> <Nom>Le Moulin de Mougin</Nom> <Manager... >Dupuis</Manager> <Adresse> <No> 7</No> <Rue>Des Vignes</Rue> <Ville>Mougin</Ville> </Adresse> </Restaurant> Arbre sérialisé XML 26

27 Présentation externe <prix>6.05</prix> XML 27

28 Espaces de noms Comment mixer des tags issus de différents langages? Le préfixe permet de retrouver le langage <tag xmlns:mic="http://www.michelin.com/2001/guide", xmlns:pj="http://www.pagejaune.com/2001/annuaire"> <mic:adresse><ville>mougins</ville><zip>06212</zip></mic:adresse> <pj:adresse>le Moulin 06 Mougins</pj:Adresse> Mécanisme intéressant pour l'intégration de contenus XML 28

29 Hyperliens: XLink et XPointer Exprimer des liens entre documents XML pointe sur une URL l'url peut inclure une partie XPointer tout élément peut être un lien Différents types de liens simple xlink:type = "simple" étendu xlink:type = "extended" De véritables associations 1-1 en simple, k-n en étendu avec rôles et comportements possibles XLink et plus 29

30 Exemples simples <Annotation xlink:type="simple" href="note1.xml">1</annotation> <Auteur xlink:type="simple" title="créateur" href="http://www.mysite.com/~georges/"> Victor Hugo</Auteur> <Image xlink:type="simple" href="logo.gif"/> XLink et plus 30

31 XPointer Permet de référencer un élément particulier d'un document le document est spécifié par Xlink le Xpointer est ajouté à l'uri séparée par # ou Pointeur absolue id() : référence un élément d'identifiant donné root() : pointe sur la racine d'un document html() : référence un document HTML Pointeur relatif = chemin XPath child, descendant, ancestor, preceding, following, Exemple : <vin2 xlink:type="simple" href="http://www.site.fr/ degustation#xptr(/child::degustation/child::vin[2])" XLink et plus 31

32 La galaxie de standards Dimension métiers ChessML cxml UBL VoiceML SVG Outils applicatifs OASIS W3C ebxml SMIL MatML XHTML Outils génériques Dimension technique XML XSL XSchema DOM SOAP WSDL BPEL RDF XML 32

33 4. Pourquoi XML? Définir vos propres langages d échange Commande, facture, bordereau de livraison, etc. Modéliser des documents et des messages Modèle logique de données Eléments typés agrégés (DTD, XML Schema) Passerelle avec Unified Modelling Language (UML) Publier des informations Neutre du point de vue format Mise en forme avec des feuilles de style Archiver des données Auto-description des archives Pourquoi XML? 33

34 "Lingua Franca" du 21 e siècle Un standard d'échange Lisible : texte balisé avec marquage Clair : séparation du fond et de la forme Extensible : supporte les évolutions applicatives Sécurisé : pare-feu, encryption, signature Développé par le W3C Pour le Web (Internet, Intranet) S'étend à l'entreprise et ses partenaires Supporté par les grands constructeurs IBM, Microsoft.net, SUN, BEA, etc. Des outils génériques et ouverts Pourquoi XML? 34

35 Pour données et documents Approche «Donnée» Structuration forte et simple Compatibilité SGBDR existants Mise à jour en place Intégrité sémantique Indexation exacte Adapté au transactionnel et décisionnel Performances attendues «moyenne» à «forte» pour une volumétrie «moyenne» Approche «Document» Structuration faible et complexe Systèmes documentaires spécialisés Gestion de versions Recherche textuelle Indexation approchée Accès type moteur de recherche Performances attendues «moyenne» pour une volumétrie «forte» Pourquoi XML? 35

36 Publication multi-supports Middleware XMLizer XML Application de publication (XSL) Base de Données Pourquoi XML? Projet GIE Cartes Bancaires: publication des spécifications de protocoles pour réseau Carte Bancaires vers les fournisseurs et prestataires du GIE 36 TV Numérique

37 Échange de données: ETL Extractor Mapper JDBC JDBC BD relationnelle Datawarehouse Projet MEN : Echange de données avec les académies (remontée et descente) Datamining Pourquoi XML? 37

38 Gestion documents semistructurés Amendement HTTP GET Serveur d Applications Requêtes Requêtes HTTP POST Mapping XML-SQL SGBDR HTML généré Processeur XSL Feuille Feuille de de style de style style XSL XSL XSL Projet AMELI : Une application de serveur XML pour la saisie et la consultation de documents semi-structurés par internet/intranet Interface avec les applications bureautiques Pourquoi XML? 38

39 Échange B2B XML EDI XML EDI XMLizer Donneur d ordre Projet EDIXML : Expérimentation de la chaîne pour un grand donneur d'ordres Internet (SOAP) Fournisseur Pourquoi XML? 39

40 Forces et faiblesses de XML Une technologie structurante Clarifie tous les échanges Des standards internes et externes Transversale à l'entreprise Échanges de données Bureautique GED Sites Web EDI Bases de données Intégration e-business Une syntaxe bavarde Un méta-langage, mais de nombreux langages Coûteux en CPU Parsing Coûteux en mémoire Instanciation Format compressé à l étude Pourquoi XML? 40

41 Conception et Manipulations des Documents 1. Introduction 2. DTD 3. Schéma 4. Outils

42 1. Introduction Un document XML peut être associé à : une DTD ou un schéma pour décrire les balises Une feuille de style pour présenter les données DTD ou/et schéma permettent de définir son propre langage basé sur XML Vocabulaire (balises) Grammaire (imbrications) Dialecte ou Jargon Introduction 42

43 Validité des documents Document bien formé (Well Formed Document) balises correctement imbriquées analysable (parsable) et manipulable pas nécessairement valide par rapport au jargon Document valide (Valid Document) bien formé + conforme à la DTD ou au schéma Introduction 43

44 2. DTD Permet de définir le «vocabulaire» et la structure qui seront utilisés dans le document XML Grammaire du langage dont les phrases sont des documents XML (instances) Peut être mise dans un fichier (DTD externe) et être appelée dans le document XML DTD 44

45 Déclaration d'élément simple <! ELEMENT balise (définition) > Le paramètre définition représente soit un type de donnée prédéfini, soit un élément de données composé, constitué lui même d'éléments Types prédéfinis ANY : L'élément peut contenir tout type de donnée EMPTY : L'élément ne contient pas de données spécifiques #PCDATA : L'élément doit contenir une chaîne de caractère Exemple <! ELEMENT Nom (#PCDATA)> <Nom>Victor Hugo</Nom> DTD 45

46 Déclaration d'élément composé Définit une séquence ou un choix d'éléments Syntaxe spécifique avec opérateurs de composition d'éléments : <! ELEMENT balise (composition) > Opérateur Signification Exemple + L'élément doit être présent au minimum une fois A+ * L'élément peut être présent plusieurs fois (ou aucune) A*? L'élément peut être optionnellement présent A? L'élément A ou B peuvent être présents (pas les deux) A B, L'élément A doit être présent et suivi de l'élément B A,B () Les parenthèses permettent de regrouper des éléments afin de leur appliquer les autres opérateurs (A,B)+ DTD 46

47 Exemple d'élément composé <!ELEMENT personne (nom, prenom+, tel?, adresse) > <!ELEMENT nom (#PCDATA) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT tel(#pcdata) > <!ELEMENT (#PCDATA) > <!ELEMENT adresse (ANY) > <personne> <nom>hugo</nom> <prenom>victor</prenom> <prenom>charles</prenom> <tel> </tel> <adresse><rue></rue><ville>paris</ville></adresse> </personne> DTD 47

48 Déclaration d'attributs <! ATTLIST balise Attribut Type Mode > balise spécifie l'élément auquel est attaché l'attribut Attribut est le nom de l'attribut déclaré Type définit le type de donnée de l'attribut choisi parmi: CDATA Chaînes de caractères entre guillemets ("aa") non analysées Enumération Liste de valeurs séparées par <! ATTLIST balise Attribut (Valeur1 Valeur2... ) > ID et IDREF Clé et référence à clé Mode précise le caractère obligatoire ou non de l'attribut #REQUIRED, #IMPLIED ou #FIXED DTD 48

49 Exemple d'attributs <! ATTLIST personne num ID, age CDATA, genre (Masculin Feminin ) > <!ELEMENT auteur (#PCDATA) > <!ELEMENT editeur (#PCDATA) > <!ATTLIST auteur genre (Masculin Feminin ) #REQUIRED ville CDATA #IMPLIED> <!ATTLIST editeur ville CDATA #FIXED "Paris"> DTD 49

50 Exemple de DTD <!ELEMENT doc (livre* article+) > <!ELEMENT livre (titre, auteur+) > <!ELEMENT article (titre, auteur*) > <!ELEMENT titre(#pcdata) > <!ELEMENT auteur(nom, adresse) > <!ATTLIST auteur id ID #REQUIRED > <!ELEMENT nom(prenom?, nomfamille) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT nomfamille (#PCDATA) > <!ELEMENT adresse (ANY) > DTD 50

51 Exemple de DTD interne <?XML version="1.0" standalone="yes"?> <!DOCTYPE CATALOGUE [ <!ELEMENT CATALOGUE (VINS+)> <!ELEMENT VINS (SPECIFICATION+, ANNEE, PRIX)> <!ATTLIST VINS NOM CDATA #REQUIRED> <!ELEMENT SPECIFICATION EMPTY> <!ATTLIST SPECIFICATION PROVENANCE CDATA #REQUIRED COULEUR CDATA #REQUIRED> <!ELEMENT ANNEE (#PCDATA)> <!ELEMENT PRIX (#PCDATA)> ]> <CATALOGUE> <VINS NOM="Saint-Emilion"> <SPECIFICATION PROVENANCE="Bordeaux" COULEUR="Rouge"/> <ANNEE>1999</ANNEE> <PRIX>25 </PRIX> </VINS>... </CATALOGUE> DTD 51

52 Exemple de ID et IDREF <?xml version="1.0" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!ELEMENT DOCUMENT(PERSONNE*)> <!ELEMENT PERSONNE (#PCDATA)> <!ATTLIST PERSONNE PNUM ID #REQUIRED> <!ATTLIST PERSONNE MERE IDREF #IMPLIED> <!ATTLIST PERSONNE PERE IDREF #IMPLIED> ]> <DOCUMENT> <PERSONNE PNUM = "P1">Marie</PERSONNE> <PERSONNE PNUM = "P2">Jean</PERSONNE> <PERSONNE PNUM = "P3" MERE="P1" PERE="P2">Pierre</PERSONNE> <PERSONNE PNUM = "P4" MERE="P1" PERE="P2">Julie</PERSONNE> </DOCUMENT> DTD 52

53 DTD externe Modèle pour plusieurs documents partage des balises, attributs et structures Définition locale ou externe <!DOCTYPE doc SYSTEM "doc.dtd"> <!DOCTYPE doc PUBLIC "www.myweb.com/doc.dtd"> Exemple de document <?xml version="1.0" standalone="no"?> <!DOCTYPE VINS SYSTEM "vins.dtd">... DTD 53

54 DTD : Entité paramètre Permet la définition d'un groupe d'éléments sous un nom (macro) <!ENTITY %nom "definition"> Réutilisable dans une DTD par simple appel : %nom; Exemple : <!ENTITY %genres "(homme femme)"> <!ATTLIST auteur genre %genres; #REQUIRED> Peuvent être externes : <!ENTITY %mpeg PUBLIC "http://www.myweb.fr/fic.dtd"> DTD 54

55 Quelques règles d'écriture Modularité définir dans des entités séparées les parties réutilisables Précédence Regrouper les déclarations d'entités en tête Abstraction Utiliser des entités pour les modèles de contenus Spécificité Éviter les DTD trop générales Simplicité Découper les DTD trop complexes DTD 55

56 Insuffisance des DTD Pas de types de données difficile à interpréter par le récepteur difficile à traduire en schéma objets Pas en XML langage spécifique Propositions de compléments XML-data de Microsoft (BizTalk) XML-schema du W3C Questions? DTD 56

57 3. XML Schéma Un schéma d'un document définit: les éléments possibles dans le document les attributs associés à ces éléments la structure du document les types de données Le schéma est spécifié en XML pas de nouveau langage balisage de déclaration espace de nom spécifique xsd: ou xs: Présente de nombreux avantages structures de données avec types de données extensibilité par héritage et ouverture analysable à partir d'un parseur XML standard Schema 57

58 Objectifs des schémas Reprendre les acquis des DTD Plus riche et complet que les DTD Permettre de typer les données Eléments simples et complexes Attributs simples Permettre de définir des contraintes Existence, obligatoire, optionnel Domaines, cardinalités, références Patterns,... S'intégrer à la galaxie XML Espace de noms Infoset (structure d'arbre logique) Schema 58

59 Le modèle des schémas Déclaration des éléments et attributs Nom Typage similaire à l'objet Spécification de types simples Grande variété de types Génération de types complexes Séquence (Sequence) Choix (Choice) Tas (All) Schema 59

60 Les types simples (1) string Confirm this is electric normalizedstring Confirm this is electric token Confirm this is electric byte -1, 126 unsignedbyte 0, 126 base64binary GpM7 hexbinary 0FB7 integer , -1, 0, 1, positiveinteger 1, negativeinteger , -1 nonnegativeinteger 0, 1, nonpositiveinteger , -1, 0 int -1, unsignedint 0, Schema 60

61 Les types simples (2) long -1, unsignedlong 0, short -1, unsignedshort 0, decimal -1.23, 0, 123.4, float -INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN double -INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN boolean true, false 1, 0 time 13:20:00.000, 13:20: :00 datetime T13:20: :00 duration P1Y2M3DT10H30M12.3S date gmonth gyear 1999 Schema 61

62 Les types simples (3) gyearmonth gday gmonthday Name shipto QName po:usaddress NCName USAddress anyuri language en-gb, en-us, fr ID "A212" IDREF "A212" IDREFS "A212" "B213" ENTITY ENTITIES NOTATION NMTOKEN, NMTOKENS US Brésil Canada Mexique Schema 62

63 Commandes de base xsd: element : association d'un type à une balise attributs name, type, ref, minoccurs, maxoccurs,... attribute : association d'un type à un attribut attributs name, type type simple : les multiples types de base entier, réel, string, time, date, ID, IDREF,, extensibles par des contraintes type complexe : une composition de types définit une agrégation d'éléments typés Schema 63

64 Les types complexes Définition d'objets complexes <sequence> : collection ordonnée d'éléments typés <all> : collection non ordonnée d'éléments typés <choice>: choix entre éléments typés Exemple <xsd:complextype name="addressefr"> <xsd:sequence> </xsd:sequence> <xsd:element name="nom" type="xsd:string"/> <xsd:element name="rue" type="xsd:string"/> <xsd:element name="ville" type="xsd:string"/> <xsd:element name="codep" type="xsd:decimal"/> <xsd:attribute name="pays" type="xsd:nmtoken" fixed="fr"/> </xsd:complextype> Schema 64

65 Héritage de types Définition de sous-types par héritage Par extension : ajout d'informations Par restriction : ajout de contraintes Possibilité de contraindre la dérivation Exemple : <complextype name="adressepays"> <complexcontent> <extension base="adresse"> <sequence> <element name="pays" type="string"/> </sequence> </extension> </complexcontent> </complextype> Schema 65

66 Les patterns Contraintes sur type simple prédéfini Utilisation d'expression régulières Similaires à celles de Perl Exemple <xsd:simpletype name="numitem"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[a-z]{2}"/> </xsd:restriction> </xsd:simpletype> Schema 66

67 XML Schema : exemple (1) <xsd:schema xmlns:xsd="http://www.w3.org/1999/xmlschema"> <xsd:element name="commande" type="commandetype"/> <xsd:element name="commentaire" type="xsd:string"/> <xsd:complextype name="commandetype"> <xsd:sequence> <xsd:element name="livrer" type="adresse"/> <xsd:element name="facturer" type="adresse"/> <xsd:element ref="commentaire" minoccurs="0"/> <xsd:element name="produits" type="produittype"/> </xsd:sequence> <xsd:attribute name="date_com" type="xsd:date"/> </xsd:complextype> Schema 67

68 XML Schema : exemple (2) <xsd:complextype name="produittype"> <xsd:sequence> <xsd:element name="produit" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> <xsd:element name="nom_prod" type="xsd:string"/> <xsd:element name="quantite"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="prix" type="xsd:decimal"/> <xsd:element ref="commentaire" minoccurs="0"/> <xsd:element name="date_livraison" type="xsd:date" minoccurs="0"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:schema> <xsd:attribute name="num_prod" type="xsd:positiveinteger" use="required"/> Schema 68

69 Diagramme XML Spy Schema 69

70 Diagramme de type (XML Spy) Séquence Choix Tas Schema 70

71 Réutilisation de déclarations Possibilité de référencer un élément plus global <element ref="nom" /> (ci-dessus) Importe l'élément et son type Possibilité d'inclure les types associés à un espace de noms <import namespace = "http://..." schemalocation = "http://..." /> Possibilité d'étendre un schéma <redefine schemalocation="http://..."/>... Extensions... </redefine> Schema 71

72 Autres possibilités... Mixed Content Empty Content anytype Annotations Attribute Groups Nil Values Abstract Elements & Types Target Namespaces & Unqualified Locals Qualified Locals Global vs. Local Declarations Undeclared Target Namespaces Substitution Groups Schema 72

73 Comment concevoir DTD/Schema? A la main syntaxe complexe, devient illisible Interface graphique IDE partir d'un fichier d'exemples générer un premier schéma via l'outil modifier le schéma graphiquement A partir de UML décrire données avec UML générer un modèle logique hiérarchique Schema 73

74 Rappels UML Modélisation de données et traitements Concepts pour les données paquetage (package) classe attribut association agrégation généralisation Contraintes associations 0..* ou 1..* (*,+) attributs avec nul possible (?) généralisation exclusive Diagramme de classes SClasse1 Classe1 Attribut1 Attribut2 {exclusif} SClasse2 1..* Classe3 * Classe4 Schema 74

75 Conception UML de schémas Possible à partir d'une modélisation UML Définir des paquetages de classes et associations Orienter les associations arbre Préciser les types de données Possibilité d'hériter de stéréotypes XML Voir "Modeling XML Applications with UML" David Carlson, A. Wesley Intégrer aux produits Rose, Objecteering, Designer, HyperModel... Schema 75

76 De UML à XML : les choix Choix des messages (documents) agrégation d'éléments classes fortement liées N instances Choix des identifiants et liens références pour associations Attributs versus éléments les attributs jouent un rôle descriptif ("méta") Choix des cardinalités obligatoire ou optionnel (?) 0..* (*) ou 1..* (+) Schema 76

77 Exemple: Publier une BD Package Commandes Package Client Commande num int statut : char total : float 1..* 0..* passer Client code : int nom : text type : CCC livrer gérer Ligne 1..* quantite : int article : CCNNN statut : char total : FRF Magasin 0..* numero : int rue : text complement : text code_postal : int ville : text Schéma UML Schema 77

78 Vue hiérarchique Orientation des associations obtenir un arbre éviter les duplicats Génération des liens attributs IDREF externes ou hyperliens Package Commandes Commande num int statut : char total : float Client refid Magasin refid Ligne 1..* quantite : int article : CCNNN statut : char total : FRF Schema 78

79 Définition des types complexes <!-- Types de base--> <!ENTITY % int "(#PCDATA)"> <!ENTITY % float "(#PCDATA)"> <!ENTITY % char "(#PCDATA)"> <!ENTITY % string "(#PCDATA)"> <!-- Classe Commande --> <!ELEMENT Commande (cstatut, ctotal, Ligne+)> <!ATTLIST Commande NUM ID #REQUIRED> <!ELEMENT cstatut %char;> <!ELEMENT ctotal %float;> <!-- Classe Ligne --> <!ELEMENT Ligne (article, quantite, statut?, total?)> <!ELEMENT article %string;> <!ELEMENT quantite %int;> <!ELEMENT lstatut %char;> <!ELEMENT ltotal %float;> Schema 79

80 Composition du message <?xml version="1.0" standalone="yes"?> <!DOCTYPE MESSAGE [ <!ELEMENT MESSAGE (Commande*)> <!ENTITY %Type SYSTEM "Type.dtd"> %Type; ]> <MESSAGE> <Commande NUM="1"> <cstatut> A </cstatut> <ctotal>1000</ctotal> <Ligne> <article>212</article> <quantite>100</quantite> </Ligne> </Commande> <Commande NUM="2"> <cstatut> B </cstatut> <ctotal>1000</ctotal> <Ligne> <article>212</article> <quantite>300</quantite> </Ligne> <Ligne> <article>412</article> <quantite>400</quantite> </Ligne> </Commande> </MESSAGE> Schema 80

81 Produits: HyperModel De XML à UML et vice-versa Représentation XMI du modèle UML XMI = jargon XML de l'omg pour modèle objet Traduction en toute sorte de modèle logique Ajoutable à Eclipse Schema 81

82 HyperModel et Eclipse Schema 82

83 4. Les outils de développement IDE = Integrated Developement Environment Des éditeurs De texte XML, parfois avec structure séparée De schéma XML, avec interface graphique De règles XSL, avec moteur de transformation De requêtes XQuery, avec moteur sur document De description WSDL, avec wrapper Web Service Des interfaces XML Aux fichiers Aux bases de données Aux applications Le plus fameux : XML Spy (voir démo.) 83

84 Quelques outils de travail Editeur Outil Support Tibco Altova SyncRO Ltd. Data Junction Turbo XML XMLSpy Oxygen XML Junction DTD, XSL, XQuery Schéma DTD, Schéma XSL, XQuery DTD, Schéma XSL, XQuery Schéma Insight Soft. XML Mind XMLMate XMLMind Editor DTD, Schéma, XSL, XPath DTD, Schéma, XSL, XPath Schema 84

85 Stylus Studio Editeur graphique de XML et schéma XQuery requête, edition, debaugage et profilage Interrogation et mise à jour de BD relationnelles Support de XPath 2.0 Editeur et moteur XSLT Composeur d appel de Web service 85

86 Oxygen Editeur XML textuel et arborescent Editeur XSLT 2.0, validation, transformation, debogage, moteurs variés (Xalan, Saxon, XSLTProc, MSXML, ) Editeur XQuery, débogueur, moteur doc. Editeur et validateur XML Schema (diagramme), Relax NG (diagramme), NRL, DTD, Schematron. Moteur de validation multiples: Xerces, XSV, LIBXML, MSXML, MSXML.NET, Saxon, SQC XML Diff et Merge. 86

87 Principaux poduits de Altova Altova XMLSpy 2006 is the industry standard XML development environment for modeling, editing, debugging and transforming all XML technologies, then automatically generating runtime code in multiple programming languages. Altova MapForce 2006 is the premier data mapping and Web services implementation tool with the power to integrate any combination of XML, database, text, and/or EDI files, and build Web services by mapping between WSDL operations. Altova StyleVision 2005 is the ultimate electronic forms, database report, and stylesheet designer for transforming XML and database content into HTML, PDF and Word/RTF output. StyleVision supports XSLT 1.0/2.0, XSL:FO, and all major database Altova UModel 2006 is the starting point for successful software development. Visually design application models and generate Java or C# code, or reverse engineer existing programs into UML 2.1 diagrams. It is the simple, cost-effective way to draw on UML. Altova DiffDog 2005 is the dedicated differencing utility for developers and power users. This easy, powerful synchronization tool quickly compares files and folders then highlights differences and merges content via an elegant GU Altova Authentic 2005 is a FREE content editor that allows non-technical users to modify content in XML documents and databases. Just fill in electronic forms using the intuitive, word-processor style interface, and your data is instantly updated. 87

88 Bilan DTD, Schéma, IDE Les DTD définissent la grammaire des documents Elles sont de plus en plus souvent remplacées par des schémas Le standard est un peu complexe (Relax) mais suivi Un IDE est indispensable Et de moins en moins gratuit Questions? Schema 88

XML : documents et outils

XML : documents et outils XML : documents et outils Pierre-Alain Reynier Université de Provence pierre-alain.reynier@lif.univ-mrs.fr http://www.lif.univ-mrs.fr/~preynier/xml Cours adapté du travail de Rémi Eyraud, Silvano Dal Zilio...

Plus en détail

Programmation des Applications Réparties. XML, DTDs, XML Schema

Programmation des Applications Réparties. XML, DTDs, XML Schema Programmation des Applications Réparties XML, DTDs, XML Schema Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 XML XML

Plus en détail

Conception et Manipulations des Documents

Conception et Manipulations des Documents Conception et Manipulations des Documents 1. Introduction 2. 3. Schéma 4. Outils 1. Introduction Un document XML peut être associé à : une ou un schéma pour décrire les balises Une feuille de style pour

Plus en détail

XML Les documents semi-structurés

XML Les documents semi-structurés XML Les documents semi-structurés XML - extensible Markup Language XSL(T) - extensible Stylesheet Language XSD XML Schema DTD Document Type Definition Ivan Madjarov, IUT-R&T, 2006-2008 XML dérive d'un

Plus en détail

V 1.2. XML Schema. XML Schema. André Schaaff ENSPS. Partie 3 2006-07

V 1.2. XML Schema. XML Schema. André Schaaff ENSPS. Partie 3 2006-07 XML Schema XML Schema André Schaaff ENSPS Buts 2 Une alternative aux DTD La syntaxe utilisée pour décrire des DTD est spécifique Typage des données restreint au minimum Pénalisant pour l échange de données

Plus en détail

DTD & XML Schema. Sébastien Laborie Sebastien.Laborie@iutbayonne.univ- pau.fr. Christian Sallaberry Christian.Sallaberry@univ- pau.

DTD & XML Schema. Sébastien Laborie Sebastien.Laborie@iutbayonne.univ- pau.fr. Christian Sallaberry Christian.Sallaberry@univ- pau. DTD & XML Schema Sébastien Laborie Sebastien.Laborie@iutbayonne.univ- pau.fr Christian Sallaberry Christian.Sallaberry@univ- pau.fr DTD Le rôle d une DTD (Document Type Definition) est de définir la structure

Plus en détail

Résumé DTD. A- Définir des éléments complexes ( = éléments possédant des éléments fils)

Résumé DTD. A- Définir des éléments complexes ( = éléments possédant des éléments fils) DTD, Document Type Definition 1-Utilité de la DTD La DTD permet la définition de la STRUCTURE d un type de documents. C est une forme de grammaire qui va servir à spécifier les noms des éléments et la

Plus en détail

1 ère partie : XML SCHEMA

1 ère partie : XML SCHEMA 1 ère partie : XML SCHEMA Structure globale d'un schéma XML Description des éléments Déclaration d'un élément simple Déclaration d'un élément copmlexe Déclaration d'un élément quelconque Validation d'un

Plus en détail

Document structuré (représentation arborescente) XML : la norme. Document XML (2) Document structuré en XML. Document XML, DTD et schémas XML APPLI

Document structuré (représentation arborescente) XML : la norme. Document XML (2) Document structuré en XML. Document XML, DTD et schémas XML APPLI Document structuré (représentation arborescente) APPLI XML : la norme Document XML, DTD et schémas XML ENTETE TITRE TOP UID LISTE_FORM FORMULAIRE NOM_TABLE MODE ATTRIBUT 1 2 Document structuré en XML

Plus en détail

2 ème partie: XML SCHEMA

2 ème partie: XML SCHEMA 2 ème partie: XML SCHEMA Les types de données Description des éléments, les compositeurs Déclaration d'attributs Déclaration d'un élément sans sous éléments Création d'un type complexe à partir d'un type

Plus en détail

GÉNIE MULTIMÉDIA: XML Schema - Partie II

GÉNIE MULTIMÉDIA: XML Schema - Partie II GÉNIE MULTIMÉDIA: XML Schema - Partie II Définition de types simples Types prédéfinis Types dérivés personnalisés Divers problèmes Outils pour XML Schema Rappel: Types simples Les types simples définissent

Plus en détail

XML. XSL(T) - extensible Stylesheet Language XSD XML Schema

XML. XSL(T) - extensible Stylesheet Language XSD XML Schema XML Les documents semi-structurésst XML - extensible Markup Language g XSL(T) - extensible Stylesheet Language XSD XML Schema DTD Document Type Definition Ivan Madjarov, IUT-R&T, 2006-2008 XML extensible

Plus en détail

Bertrand DAVID : Interaction Humain-Machine

Bertrand DAVID : Interaction Humain-Machine Interaction Humain-Machine Xml La transformation avec Xslt Les parseurs les outils pour Xml Transformation de documents dans les applications multimédia 1 XML extensible Markup Langage Un langage universel

Plus en détail

XML. Language. Markup. Mohamed Quafafou. ESIL Département :: Internet Dec.. 2006 DTD

XML. Language. Markup. Mohamed Quafafou. ESIL Département :: Internet Dec.. 2006 DTD XML extensible Markup Language Mohamed Quafafou ESIL Département :: Internet Nov.-Dec Dec.. 2006 DTD Définition du type de document Vérifier qu un un document XML est conforme à une syntaxe donnée Cela

Plus en détail

Le Langage XML: Fondations pour les Plateformes elearning. Le Langage XML (ou Technologies XML)

Le Langage XML: Fondations pour les Plateformes elearning. Le Langage XML (ou Technologies XML) Le Langage XML: Fondations pour les Plateformes elearning XML et les Technologies Associées Najib Tounsi Ecole Mohammadia d'ingénieurs Bureau W3C Maroc, Rabat 28 Nov. 2005 Deuxième Workshop annuel de l'ircam

Plus en détail

Bases de Données Avancées

Bases de Données Avancées Bases de Données Avancées Enseignant / chargé de TD : Dario COLAZZO www.lri.fr/~colazzo Chargée de TP : Jesús CAMACHO-RODRIGUEZ www.lri.fr/~camacho Plan Tuning d index Concurrence Reprise sur panne Données

Plus en détail

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE XML/ SOA/ Web services TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE Réf: PXM Durée : 4 jours (7 heures) OBJECTIFS DE LA FORMATION XML est devenu une technologie incontournable tant sur le poste utilisateur

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

II- Validation d'un document XML. Prof. M.D. RAHMANI Technologies XML Master IT 2013-2014 1

II- Validation d'un document XML. Prof. M.D. RAHMANI Technologies XML Master IT 2013-2014 1 II- Validation d'un document XML DTD (Document Type Definition) 1 Validation d'un document XML par une DTD Document XML valide Types de DTD (interne, externe) Déclarations d'éléments Déclaration d'attributs

Plus en détail

XML, DTD. Dan VODISLAV. Université de Cergy-Pontoise. Licence Informatique L3. Plan

XML, DTD. Dan VODISLAV. Université de Cergy-Pontoise. Licence Informatique L3. Plan XML, DTD Dan VODISLAV Université de Cergy-Pontoise Licence Informatique L3 Plan XML: pourquoi et comment Principes et caractéristiques de base Comparaison avec HTML et les BD relationnelles Le format XML

Plus en détail

7.5 Quelques notions sur XML Schema

7.5 Quelques notions sur XML Schema 7.5 Quelques notions sur XML Schema WMK-schema est une autre façon de spécifier des données XML (une autre façon d écrire un schéma). N.B. : Un XML-schéma est lui-même un document XML! Mais il spécifie

Plus en détail

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

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises XML, extensible Markup Language 1-Origine de XML On trouve l origine des langages à balises dans la nécessité d échanger des informations dont la structure est trop complexe pour être simplement mise sous

Plus en détail

Les schémas pour XML

Les schémas pour XML Les schémas pour XML Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Les schémas pour XML p.1/53 Limitations des DTD Les DTD posent de nombreux problèmes : syntaxe non XML pas

Plus en détail

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés XHTML Les bases Jean-François Ramiara INP-ENM 04/10/2012 Toulouse 1 Généralités Jean-François Ramiara XML 2 jours Initiation à XML Contenu Cours Exercices Support PDF Horaires Tour de table 2 Sommaire

Plus en détail

INTRODUCTION. méta-langage

INTRODUCTION. méta-langage INTRODUCTION renault twingo Bic 1999 etc.. XML : extensible

Plus en détail

Licence Pro SIL - IUT XML

Licence Pro SIL - IUT XML Licence Pro SIL - IUT Structure et échange d informations XML Julien Pinquier, pinquier@irit.fr Plan Organisation Introduction à XML Structure d un document XML Déclarations de Type de Documents (DTD)

Plus en détail

Technologie du Web. Structuration de documents (20h) HTML XML Création d application Web (20h) JavaScript PHP. A. Belaïd

Technologie du Web. Structuration de documents (20h) HTML XML Création d application Web (20h) JavaScript PHP. A. Belaïd Technologie du Web Structuration de documents (20h) HTML XML Création d application Web (20h) JavaScript PHP Objectif Créer une application Web Ce sera votre projet Agenda électronique avec carnet d adresses

Plus en détail

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

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

XML Schema Dan VODISLAV Université de Cergy-Pontoise Licence Informatique L3 Plan

XML Schema Dan VODISLAV Université de Cergy-Pontoise Licence Informatique L3 Plan XML Schema Dan VODISLAV Université de Cergy-Pontoise Licence Informatique L3 Plan XML Schema DTD vs. XML Schema Types simples Types complexes Contraintes d'intégrité UCP, Licence L3: XML Schema 2 XML Schema

Plus en détail

Conception et développement XML - TD3: Schéma W3C. TD3: Schéma W3C

Conception et développement XML - TD3: Schéma W3C. TD3: Schéma W3C TD3: Schéma W3C EX1: Déclarations simples Objectif: Mise en jambe Q : Qu'est ce? Q : Qu'est ce?

Plus en détail

" extensible Markup Language " XML

 extensible Markup Language  XML " extensible Markup Language " XML Sylvie Vignes, Département Informatique et Réseaux École Nationale Supérieure des Télécommunications 46, rue Barrault 75634 Paris cedex 13 Département Informatique et

Plus en détail

XML (extensible Markup Language)

XML (extensible Markup Language) XML (extensible Markup Language) Références : XML, Micro Application e-poche http://giles.chagnon.free.fr/cours/xml/base.html http://www.cgmatane.qc.ca/forgetj/formation/int4/xml.php 1. Qu est-ce que XML?

Plus en détail

1 XML : Une première définition. 2.1 SGML... 1 2.2 HTML... 2 2.3 Feuille de style CSS... 3. 3 XML : extensible Markup Language 4

1 XML : Une première définition. 2.1 SGML... 1 2.2 HTML... 2 2.3 Feuille de style CSS... 3. 3 XML : extensible Markup Language 4 Introduction au Table des matières 1 : Une première définition 1 2 Historique d 1 2.1 SGML................................................. 1 2.2 HTML................................................. 2

Plus en détail

XML : l ASCII de demain

XML : l ASCII de demain Carrefour de l information XML : l ASCII de demain Philippe Mabilleau ing. 3 octobre 2002 Le langage XML Historique : De l ASCII à XML XML : Le langage XML : La programmation XML : Les transformations

Plus en détail

Écriture de pages Web

Écriture de pages Web Écriture de pages Web Le langage HTML / XHTML Laurent Tichit Janvier 2011 Laurent Tichit 2005-2010 1 Comment fonctionne le Web? C'est un mécanisme client-serveur. Logiciel serveur : programme qui a pour

Plus en détail

extensible Mark-up Language

extensible Mark-up Language extensible Mark-up Language Cours 1 : Introduction au langage XML (XML, DTD, XML-Schema) Novembre 2013 - Version 4.0 - PRESENTATION DU COURS 1 : Introduction au langage XML : XML : le langage, et quelques

Plus en détail

Internet statique et dynamique XML. Programmation de sites web statiques et dynamiques. extended Markup Language (XML) Jean CARTIER MASTER INI

Internet statique et dynamique XML. Programmation de sites web statiques et dynamiques. extended Markup Language (XML) Jean CARTIER MASTER INI Programmation de sites web statiques et dynamiques extended Markup Language () Jean CARTIER MASTER INI jcartier@laposte.net 1 extented Markup Language () Le HTML est un langage très bien adapté à la diffusion

Plus en détail

WSIA? 6 cours de 3h 5 séances de TD/TP 3h. 1 séance de soutenance de 3h. Evaluation?

WSIA? 6 cours de 3h 5 séances de TD/TP 3h. 1 séance de soutenance de 3h. Evaluation? 2008-2009 Master 1 Info. Info 2 WSIA Cours 1 : Introduction à XML et aux DTD Jérôme Nobécourt jerome.nobecourt@gmail.com Sylvie Després sylvie.despres@lipn.univ-paris13.fr WSIA? 6 cours de 3h 5 séances

Plus en détail

XML, DOM & XSL Synthèse de lecture

XML, DOM & XSL Synthèse de lecture Dorine MAZEYRAT XML, DOM & XSL Synthèse de lecture Novembre 2008 NFE107 - Urbanisation des SI 0 SOMMAIRE 1. LE LANGAGE XML...2 1.1. Définition...2 1.2. Historique...2 1.3. Objectif...2 1.4. Présentation

Plus en détail

XML Schéma. XML Schema. Types Simples. Restrictions de Types Simples. Séparation entre types et éléménts (grammaire d arbre à types uniques)

XML Schéma. XML Schema. Types Simples. Restrictions de Types Simples. Séparation entre types et éléménts (grammaire d arbre à types uniques) 26 27 XML Schéma Séparation entre types et éléménts (grammaire d arbre à types uniques) Types complexes, abstraits et anonymes Sous-typage par extension et restriction XML Schema Contraintes d intégrité

Plus en détail

Introduction à la conception de sites web. Yannick Prié UFR Informatique Université Claude Bernard Lyon 1

Introduction à la conception de sites web. Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 Introduction à la conception de sites web Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 Objectifs Introduction aux langages à balises Introduction à (X)HTML / CSS Introduction à la gestion

Plus en détail

TD3 : XML_DTD_XMLSchemas

TD3 : XML_DTD_XMLSchemas TD3 : XML_DTD_XMLSchemas Exercice 1 : L entreprise «EntX» déménage. Chaque employé de cette entreprise a un numéro d ancien bureau et un numéro de nouveau bureau. Par exemple, l employé Ali a pour ancien

Plus en détail

NSY107 - Intégration des systèmes client-serveur

NSY107 - Intégration des systèmes client-serveur NSY107 - Intégration des systèmes client-serveur Cours du 10/06/2006, 4 heures, Thème : XML Emmanuel DESVIGNE Document sous licence libre (FDL) Plan du cours «XML» Introduction/Généralités

Plus en détail

Théorie des langages, compilation... Extensible Markup Language. Et les données? Et les données? Pierre Genevès

Théorie des langages, compilation... Extensible Markup Language. Et les données? Et les données? Pierre Genevès Théorie des langages, compilation Extensible Markup Language Conception d un langage de programmation Analyse syntaxique Compilation Pierre Genevès CNRS pierre.geneves@inria.fr Master 2R Université Joseph

Plus en détail

extensible Markup Language

extensible Markup Language Informatique S7-S8 Module SI extensible Markup Language XML Alexis NEDELEC LISYC EA 3883 UBO-ENIB-ENSIETA Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest enib c 2009 nedelec@enib.fr

Plus en détail

Plan. 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD. Référence :

Plan. 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD. Référence : Définitions de types de documents : DTD Plan 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD Référence : Extensible Markup Language (XML)

Plus en détail

Comparaison entre DTD et XML Schema

Comparaison entre DTD et XML Schema maisons.xml LABD Master Info M1 2014-2015 Cours 3 : Typer les données avec XML-Schema evier Inox. Mobilier

Plus en détail

Introduction à XML. 1. Notions de base. Introduction à XML

Introduction à XML. 1. Notions de base. Introduction à XML Introduction à XML INTRODUCTION À XML 1. NOTIONS DE BASE 2. EXEMPLE SIMPLE 3. SYNTAXE XML 3.1. LES CARACTÈRES SPÉCIAUX 4. DTD 5. DOCUMENT XML AVEC FEUILLE DE STYLE CSS 6. XLS ET XSLT 6.1. EXEMPLE DE DOCUMENT

Plus en détail

INTRODUCTION. Plan du cours. Introduction à XML XML? XML

INTRODUCTION. Plan du cours. Introduction à XML XML? XML Plan du cours Introduction à XML Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine 1. XML : (a) introduction (b) le langage (c) les DTD (d) les espaces de noms 2. les schémas

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Olivier Beaudoux 4 septembre 2008 1 Introduction 1.1 Propos Dans ce mini-projet, nous proposons de construire différentes briques logicielles

Plus en détail

Introduction. Introduction et HTML. A l issue de ce module vous devriez... Ce cours n est pas...

Introduction. Introduction et HTML. A l issue de ce module vous devriez... Ce cours n est pas... Introduction et HTML Technologies du Web 1 Jean-Christophe Routier Licence 1 SESI Université Lille 1 Introduction Objectifs : Présentation des bases de la création de documents web par la découverte des

Plus en détail

Ce qu on ne sait pas faire avec le Web

Ce qu on ne sait pas faire avec le Web Ce qu on ne sait pas faire avec le Web Le principal langage du Web est HTML HTML est un langage pour présenter des informations à l écran. 1. il ne permet pas d échanger des données 2. il ne permet pas

Plus en détail

REPRESENTATION DES CONNAISSANCES

REPRESENTATION DES CONNAISSANCES REPRESENTATION DES CONNAISSANCES Cours préparé pour l Université de Stendhal, Grenoble (France) Cédric Lopez clopez@objetdirect.com Frédérique Segond fsegond@objetdirect.com www.viseo.net 1 RAPPELS (1/3)

Plus en détail

XML Schema. Originaux. Auteurs et version. Prérequis. Abstract. Objectifs

XML Schema. Originaux. Auteurs et version. Prérequis. Abstract. Objectifs XML Schema XML Schema xml-schema Code: xml-schema Originaux url: http://tecfa.unige.ch/guides/tie/html/xml-schema/xml-schema.html url: http://tecfa.unige.ch/guides/tie/pdf/files/xml-schema.pdf Auteurs

Plus en détail

Programmation d applications pour le Web

Programmation d applications pour le Web Programmation d applications pour le Web Cours 2 ème année ING ISI-Tunis Chapitre 3 La technologie XML Année universitaire 2011/2012 Semestre 2 1 Définition exensible Markup Language Un méta langage permettant

Plus en détail

Mise à Niveau XML. Sana Sellami sana.sellami@univ-amu.fr

Mise à Niveau XML. Sana Sellami sana.sellami@univ-amu.fr Mise à Niveau XML Sana Sellami sana.sellami@univ-amu.fr M2PRO SIR 2015-2016 2 Pourquoi? Vous rafraîchir la mémoire Qu est ce qu un document XML? Qu est ce qu un schéma XML? Comment manipuler un document

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Web et présentation d information spatiale

Web et présentation d information spatiale Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Web et présentation d information spatiale Format XML Jean-Michel FOLLIN jmfollin@univ-lr.fr Limitations HTML Limitations

Plus en détail

Master IT 2013/2014. Prof. M.D. RAHMANI

Master IT 2013/2014. Prof. M.D. RAHMANI TECHNOLOGIES XML Master IT 2013/2014 Prof. M.D. RAHMANI 1 PLAN Les bases de XML Syntaxe, éléments, attributs, arbres, document bien formé, Espace de noms Les Grammaires XML Document XML valide (DTD, XML

Plus en détail

X.M.L. Extensible Markup Language

X.M.L. Extensible Markup Language X.M.L. Extensible Markup Language Syntaxe générique de format de données Site Web Echange de données Dessins vectoriels Représentation arborescente Avantages Méta-langage document texte Chaînes de caractères

Plus en détail

Représentation UML avancée pour XML Schema

Représentation UML avancée pour XML Schema A Représentation UML avancée pour XML Schema Nous présentons dans cette annexe les notations UML à utiliser en regard de tous les mécanismes autorisés mais avancés de XML Schema. Nous analysons chaque

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

par Philippe Poulard Présentation XML 1 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard Présentation XML 1 Philippe.Poulard@sophia.inria.fr Philippe Poulard 1 Philippe.Poulard@sophia.inria.fr Philippe Poulard Mise en bouche Voici à quoi ressemble un document XML : Cours

Plus en détail

Jeudi 13 Janvier Jean-Marie Favreau Thomas Petazzoni

Jeudi 13 Janvier Jean-Marie Favreau Thomas Petazzoni XHTML / CSS Un duo gagnant pour un Web moderne Jeudi 13 Janvier Jean-Marie Favreau Thomas Petazzoni XML : extensible Markup Language Meta-language : permet de définir des languages Normalisé par le W3C

Plus en détail

XML. Nicolas Singer. Maître de conférence, université Champollion

XML. Nicolas Singer. Maître de conférence, université Champollion XML Nicolas Singer Maître de conférence, université Champollion XML? Langage de description de documents électroniques : Pour stocker et échanger des documents Par extension, pour représenter tout type

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD

XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD MAREDJ Azze-Eddine, KHOUATMI-BOUKHATEM Samia, ADJERAD Halima Douniazed Centre de Recherche sur l Information Scientifique et Technique CERIST

Plus en détail

XML Les bases en pratique

XML Les bases en pratique 1 XML Les bases en Avril 2003 Direction des systèmes d'information Tous les exemples présentés peuvent être obtenus par mail : rousse@dsi.cnrs.fr L ensemble des exemples présentés dans les parties Transformations

Plus en détail

Le langage XML. Sébastien Jean. IUT de Valence Département Informatique. v3.3, 10 novembre 2008

Le langage XML. Sébastien Jean. IUT de Valence Département Informatique. v3.3, 10 novembre 2008 Le langage XML Sébastien Jean IUT de Valence Département Informatique v3.3, 10 novembre 2008 Qu est ce que XML? Généralités XML = extensible Markup Language Spécification du W3C Version 1.0 (1998-2004)

Plus en détail

Introduction à la conception de sites web

Introduction à la conception de sites web Introduction à la conception de sites web Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 9-16 janvier 2006 1- Les grands principes du web (1) Client / serveur réseau programmes communicants

Plus en détail

Plusieurs façons de communiquer AJAX? Communication, manière facile. AJAX en jquery

Plusieurs façons de communiquer AJAX? Communication, manière facile. AJAX en jquery Programmation web AJAX Jean-Christophe Dubacq IUT de Villetaneuse S3 2013 AJAX A Jean-Christophe Dubacq (IUTV) Programmation web S3 2013 1 / 33 Le modèle classique Jean-Christophe Dubacq (IUTV) Programmation

Plus en détail

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

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

2. XML. Cours Web. extended Markup Language (XML) 2. XML 2. XML. extented Markup Language (XML) Lionel Seinturier. Université Pierre & Marie Curie

2. XML. Cours Web. extended Markup Language (XML) 2. XML 2. XML. extented Markup Language (XML) Lionel Seinturier. Université Pierre & Marie Curie Cours Web extended Markup Language (XML) Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr extented Markup Language (XML) Constat sur HTML langage très bien adapté à la diffusion

Plus en détail

Concepteur Développeur Informatique Option Nomade

Concepteur Développeur Informatique Option Nomade Concepteur Développeur Informatique Option Nomade Module : Espace ouvert de formation (2 semaines) Ce module est composée de plusieurs parties : - le module développement durable (14 heures), qui traite

Plus en détail

Limites des DTD. XML : Une introduction (2) Exemple. Espaces de noms. Description de documents XML

Limites des DTD. XML : Une introduction (2) Exemple. Espaces de noms. Description de documents XML Limites des DTD XML : Une introduction (2) Description de documents XML http://kiwi.emse.fr/3a/dn.html J.J. Girardot Syntaxe spécifique Analyseurs XML non appropriés Typage Pas de possibilité de typer

Plus en détail

Manipuler les donne es : XML et CSV

Manipuler les donne es : XML et CSV Open data : séquence n 2 Manipuler les donne es : XML et CSV Conditions Travail en groupe Durée : 2h La diffusion des données doit respecter un certains nombres de règles. Les données doivent être documentées

Plus en détail

Création de sites web. INF0326 Outils bureautiques, logiciels et Internet

Création de sites web. INF0326 Outils bureautiques, logiciels et Internet Création de sites web INF0326 Outils bureautiques, logiciels et Internet Plan Création de pages web HTML et CSS Création de sites web avec WordPress Créer des pages web Partie 1 Système hypertexte Un système

Plus en détail

HTML/XHTML/XML. Olivier Aubert 1/26

HTML/XHTML/XML. Olivier Aubert 1/26 HTML/XHTML/XML Olivier Aubert 1/26 Liens http://www.brics.dk/~amoeller/xml/overview.html http://www.w3.org/tr/xhtml1/#guidelines : annexe C, compatibility guidelines http://www710.univ-lyon1.fr/~exco/cours/cours/htm

Plus en détail

Schémas XML, XPath, et autres...

Schémas XML, XPath, et autres... Schémas XML, XPath, et autres... Plan de ce cours Rappels/approfondissement du cours précédent Codage des caractères Espace de noms Schémas XML Les Outils de Développement XPath 2 En Résumé

Plus en détail

Introduction au langage XML. Nhan Le Thanh

Introduction au langage XML. Nhan Le Thanh Introduction au langage XML Nhan Le Thanh 1 Plan du cours extensible Markup Language Éléments de base du XML DTD : Document Type Description S1 XPath : XML Path Language XML Schema S2 XSLT : Transformations

Plus en détail

//////////////////////////////////////////////////////////////////// Développement Web

//////////////////////////////////////////////////////////////////// Développement Web ////////////////////// Développement Web / INTRODUCTION Développement Web Le développement, également appelé programmation, désigne l'action de composer des programmes sous forme d'algorithme (codage).

Plus en détail

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

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht. Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques

Plus en détail

DTD (Document Type Definition) - XML (extensible Markup Language)

DTD (Document Type Definition) - XML (extensible Markup Language) DTD (Document Type Definition) - XML (extensible Markup Language) Références : XML, Micro Application e-poche http://giles.chagnon.free.fr/cours/xml/base.html http://www.cgmatane.qc.ca/forgetj/formation/int4/xml.php

Plus en détail

Chapitre III RDF. Chapitre III RDF. 1 Présentation. 2 Syntaxes. 3 Nœuds nuls. 4 Littéraux typés. 5 Définition de ressources.

Chapitre III RDF. Chapitre III RDF. 1 Présentation. 2 Syntaxes. 3 Nœuds nuls. 4 Littéraux typés. 5 Définition de ressources. Chapitre III RDF 1 Présentation 2 Syntaxes 3 Nœuds nuls 4 5 Définition de ressources 6 Conteneurs 7 Réification Web Sémantique M1 2015-2016 RDF 28 Présentation Chapitre III RDF 1 Présentation 2 Syntaxes

Plus en détail

SII Stage d informatique pour l ingénieur

SII Stage d informatique pour l ingénieur SII Stage d informatique pour l ingénieur Création d un site Web École nationale supérieure de techniques avancées SII Stage d informatique pour l ingénieur 1 / 15 L informatique et le temps qui passe...

Plus en détail

Initiation à l'encodage XML-TEI. Lou Burnard

Initiation à l'encodage XML-TEI. Lou Burnard Initiation à l'encodage XML-TEI Lou Burnard Objectifs de cette formation 1 Préciser ce que c'est que l'encodage textuel 2 Présenter les concepts fondamentaux de TEI-XML 3 Offrir beaucoup d' experimentation

Plus en détail

Introduction. Transformer des documents XML. XPath. XPath. Langage d'expressions de chemins dans un. permet de désigner un noeud (sous-arbre)

Introduction. Transformer des documents XML. XPath. XPath. Langage d'expressions de chemins dans un. permet de désigner un noeud (sous-arbre) Introduction Transformer des documents 1 Désignation d un nœud (sous-arbre) d un document : XPATH Associer une présentation à un document : CSS Transformer un document en un autre document (HTML) : XSLT

Plus en détail

Apprendre à développer avec JavaScript

Apprendre à développer avec JavaScript Présentation du langage JavaScript 1. Définition et rapide historique 11 2. Pré-requis pour un apprentissage aisé du langage 13 3. Outillage nécessaire 14 4. Positionnement du JavaScript face à d autres

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

XML et Bases de données. Les bases de données XML natives.

XML et Bases de données. Les bases de données XML natives. XML et Bases de données. Les bases de données XML natives. Introduction. Une définition de l'expression «Base de données XML Native» : Une base de données XML native définit un modèle (logique) de document

Plus en détail

Langages du Web. Que savez vous???

Langages du Web. Que savez vous??? Langages du Web Que savez vous??? Le WEB World Wide Web ouwww ouweb Toile d'araignée mondiale ou la toile Le Web utilise le réseau Internet pour relier des serveurs qui, grâce aux protocoles HTTP, HTTPS,

Plus en détail

IV. Localisation des composants avec XPath

IV. Localisation des composants avec XPath IV. Localisation des composants avec XPath 90 Langage XPath Est un langage d expression (non XML) Standard du W3C: XPath1.0 (1999), XPath2.0 (2010), XPath3.0 (2014) Objectif: exprimer des requêtes pour

Plus en détail

Méthodes de modélisation des connaissances

Méthodes de modélisation des connaissances Méthodes de modélisation des connaissances Structuration des données en fonction des supports : Base de données : SGBD Fichiers : XML Langages de description de modèles : Merise, UML. Méthodes de modélisation

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

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

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

Langages à balises. Aurélien Tabard - Université Claude Bernard Lyon 1

Langages à balises. Aurélien Tabard - Université Claude Bernard Lyon 1 Langages à balises 1 Objectifs du cours Comprendre les grands principes de la représentation de données et de documents numériques à l aide d un langage à balises Apprendre les bases d HTML pour la génération

Plus en détail

Le langage JAVASCRIPT

Le langage JAVASCRIPT Le langage JAVASCRIPT I Introduction Vous vous dites encore un langage alors qu il y en a déjà un nombre non négligeable. En effet un de plus, mais à chaque langage son utilisation et sa particularité.

Plus en détail