La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours de cycle C CNAM de Lyon XML et gestion de contenus Web

Présentations similaires


Présentation au sujet: "Cours de cycle C CNAM de Lyon XML et gestion de contenus Web"— Transcription de la présentation:

1 Cours de cycle C CNAM de Lyon XML et gestion de contenus Web
Tiphaine Accary-Barbier accary. ACCARY-BARBIER / CNAM - Cycle C

2 Programme du cours Technologies XML Gestion de contenus Web
XML et les DTD 2 séances cours/ TD-TP Schémas XML 1 séance cours/TD XPath et XSLT 2 séances cours/TD Applications XML 1 séance cours Gestion de contenus Web XML Dynamique 1 séance cours/TP Interrogation de documents (XQuery) et stockage de données XML 2 séances cours/TP Nouvelles architectures et techniques d'exploitation du Web services web, web sémantique, médiation et architectures pair à pair (6 séances) Notation : Note TP + Note examen Volume horaire total : 15 séances de 3h ACCARY-BARBIER / CNAM - Cycle C

3 1ère partie : Technologies XML
CHAPITRE 1 : XML et DTD CHAPITRE 2 : Schémas XML CHAPITRE 3 : XPath et XSLT CHAPITRE 4 : Applications XML ACCARY-BARBIER / CNAM - Cycle C

4 Chapitre 1 : XML et DTD 1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

5 Qu'appelle t'on "Document" ?
Un document est à la fois un contenu et un contenant : Structure logique : squelette sémantique -> (SGML) Structure physique : "mise en forme" -> (HTML) Logiques Physiques Modèles de document DEA p2 PFE - entête - intro - état-art -spécif-générales -spécif-détaillées -maquette -conclusion -biblio p1 année nom "titre" entreprise format A4 documents spécifiques ACCARY-BARBIER / CNAM - Cycle C

6 Un exemple de document INSA le 1/4/2003 Direction à Paul Haddock
réf. JD/PRF/C-INSA/1 P 2 / 2 INSA le 1/4/2003 Direction bbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbb. ccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccc à Paul Haddock sujet : Médiathèque Cher collègue aaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaa. Sincères salutations bbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbb Jean Dupont Directeur Général réf. JD/PRF/C-INSA/1 P 1 / 2 ACCARY-BARBIER / CNAM - Cycle C

7 Structure logique INSA le 1/4/2003 date Direction exp Entête
bbbb bbb. INSA le 1/4/2003 date Direction exp à Paul Haddock dest sujet : Médiathèque sujet Cher collègue titre aaaa aaaa. §a cccc ccccc §c Sincères salutations formule sign Jean Dupont nom-s Directeur Général tit-s bbbb bbb. §b Corps fin Entête racine logique spécif. ACCARY-BARBIER / CNAM - Cycle C

8 Structure physique logo INSA le 1/4/2003 date exp Direction c-ent
bbbb bbb. P 2 / 2 P 1 / 2 réf. JD/PRF/C-INSA/1 INSA le 1/4/2003 date Direction exp à Paul Haddock dest sujet : Médiathèque sujet Cher collègue titre aaaa aaaa. §a cccc ccccc §c Sincères salutations formule sign Jean Dupont nom-s Directeur Général tit-s bbbb bbb. §b1 corps1 corps2 c-ent racine phys. spécif. logo hp1 np1 §b2 hp2 np2 bp2 bp1 p1 p2 ACCARY-BARBIER / CNAM - Cycle C

9 Définitions du Multimédia
télécommunications Information et documentation Micro informatique Audio-visuel Technologies fédératrices : numérisation & modélisation MULTIMEDIA Document multimédia : Document utilisant au moins 2 médias ACCARY-BARBIER / CNAM - Cycle C

10 Métiers du multimédia Multimédia formation :
nouvelles technologies éducatives auto-formation formation "juste à temps" Infoloisir : s'informer et/ou se distraire jeux visites (musée, ...) encyclopédies l'information revue de presse: que je veux quand je veux où je veux services et commerces catalogues communication entre entreprises Multimédia Documentation accès au contenu des documents (distant) bibliothèque virtuelle aide à la recherche d'information communication courrier électronique audio messagerie visio conférences échange de documents ACCARY-BARBIER / CNAM - Cycle C

11 Origines de l'hypertexte
Concept d’hypertexte : 1945 Vannevar Bush (conseiller de Roosevelt) décrit un bureau électromécanique futuriste appelé MEMEX Destiné à étendre les capacités de la mémoire. Ce bureau devait contenir des microfilms et les retrouver automatiquement à partir d'un index. Possibilité de créer un index pour toute paire de microfilms, ce qui revient à créer des hyperliens. Gestion informatique dans les années 1960 (Engelbart, Nelson, ...) invention du terme "hypertexte" et de la souris. Terme hypertexte inventé en 1965 par Ted Nelson : Réseau constitué par un ensemble de documents informatiques (originaux, citations, annotations) liés entre eux  Hypertexte non linéaire, par opposition à un livre. Popularité grâce L'application HyperCard publiée par Apple en 1987 ATTENTION : système hypertexte (logiciel) ≠ hyperdocument textuel (données) système hypermédia (logiciel) ≠ hyperdocument multimédia (informations) ACCARY-BARBIER / CNAM - Cycle C

12 Liens hypertextuels auteur : Vannevar Bush date : juillet 1945
éditeur : Atlantic Monthly pages : Résumé : V. Bush présente un système graphique de gestion de notes manuscrites, nommé le MEMEX (Memory Extension) --- P1 ARTICLE : As we may think As we may think Vannevar Bush Vannevar Bush était le conseillé du président Roosevelt. On lui attribue les premiers travaux sur les hypertextes. En 1945, il publia un article "As we may think" dans lequel il présente son système MEMEX A1 AUTEUR : Vannevar Bush Le concept d'hypertexte est simple: des fenêtres dans un écran sont associées à des objets appelés noeuds. Ces noeuds sont reliés par des liens, C1 Concept : Hypertexte ACCARY-BARBIER / CNAM - Cycle C

13 Définition d'un Hyperdocument
Généralisation du concept d'hypertexte aux documents Ensemble structuré de noeuds et de liens Associés à des contenus Textuels (avec ou sans formules) Graphiques (géométrique ou photographique) Sonores ou vidéos Structure (hypergraphe - graphe – arbre) définie par les liens (typés) entre les nœuds Conception différente de celle d'un document Plusieurs vues possibles Nécessité de chemins pour guider le lecteur Document hypermédia : Fusion des concepts d’hyperdocument et de multimédia ACCARY-BARBIER / CNAM - Cycle C

14 Liens et Hyperliens Liens de composition (partage de l’information)
Fort : pas de partage de l'objet composé Faible : partage de l'objet composé avec d'autres objets Liens signifiant un remplacement (gestion de versions d’objets) Liens d'association : portent une sémantique Hyperliens (h-lien) définissent un parcours dans un hyperdocument Liens exprimant des rapprochements sémantiques Voisinage, Equivalence ou similitude Etc. ACCARY-BARBIER / CNAM - Cycle C

15 Internet Réunit actuellement :
Des centaines de millions d'utilisateurs Dans presque tous les pays Structure complexe Aspect hiérarchique Interconnections transversales Supporte diverses applications Dont le WEB (WWW) réseaux locaux (Dépt IF) réseaux inter-établissement (ROCAD) réseaux d'établissement (INSA) réseaux régionaux (EN : ARAMIS ) réseau mondial (INTERNET) réseaux nationaux (EN : RENATER) ACCARY-BARBIER / CNAM - Cycle C

16 Histoire du World-Wide Web (W3)
Système d'information hypermédia sur INTERNET; Conçu en 1989 par Tim Berners-Lee (au CERN) pour permettre aux chercheurs-visiteurs du CERN d'échanger des informations scientifiques (articles, rapports) après leur séjour Fondé sur l'extension du concept "hyperdocument" aux réseaux internationaux (hyperdocument réparti) Amélioration de l'existant (mais pas révolution) : permet un accès plus convivial à des serveurs existants (WAIS, GOPHER, FTP, ...existaient avant mais exigeaient des "clients" spécifiques) ACCARY-BARBIER / CNAM - Cycle C

17 Architecture du Web Le Web est un système d’information en réseau constitué d’agents (programme agissant pour une personne, une entité ou un processus) qui échangent de l’information. Les trois piliers de l’architecture du Web : Identification Ressources identifiées par un schéma d’adressage universel et unique, les URIs [RFC2396] Interaction Ressources échangées selon des protocoles comme HTTP, FTP, SMTP,… Représentation Ressources représentées via un ensemble non-exclusif de formats XML participe à la représentation des ressources sur le Web ACCARY-BARBIER / CNAM - Cycle C

18 URL : Universal Resource Locator
Le WEB permet d'établir des liens entre documents Stockés sur n'importe quel serveur d'INTERNET, Accessibles par différents protocoles (HTTP, FTP, GOPHER, ...); Ces documents peuvent être: Des fichiers, Des résultats d'interrogation de B.D., Des résultats de programmes, .... Accès aux documents via leur URL : adresse d'un document ACCARY-BARBIER / CNAM - Cycle C

19 Format d'une URL méthode: //machine :port/fichier[#ancre | ?paramètres] 80 par défaut ou un nombre entre 1023 et 65537 méthode protoc. d'accès à la ressource File ftp http telnet Gopher wais news local FTP HTTP TELNET GOPHER WAIS NNTP liste des paramètres (requêtes) nom du pointeur dans le doc. HTML nom de la machine Chemin d'accès (relatif ou absolu) ACCARY-BARBIER / CNAM - Cycle C

20 Principes généraux de fonctionnement du Web
Modèle classique "client - serveur". Serveur WEB : Programme qui "tourne" sur un ordinateur dont le seul but est de répondre aux requêtes des Client. Demande de transfert de fichier Résultat de l'exécution d'un programme sur le serveur originalité du WEB qui permet son interfaçage avec pratiquement n'importe quel logiciel Client WEB : Programme qui permet à un utilisateur: De soumettre des requêtes à un serveur WEB De visualiser les résultats De naviguer dans un document HTML De dialoguer avec d'autres types de serveurs (FTP, Mail, ...) éventuellement d'autres services (selon le type de client) ACCARY-BARBIER / CNAM - Cycle C

21 Exemple de fonctionnement pour HTTP
HyperText Transfer Protocol défini pour gérer les échanges entre serveurs et clients WEB : tout serveur WWW écoute en permanence les requêtes des clients potentiels sur un port TCP le client effectue une connexion TCP sur le port HTTP du serveur ciblé le serveur accepte la connexion le client émet une requête (commande GET & URL du document demandé) le serveur expédie le document demandé ("fichier" HTML) le serveur coupe la connexion. ACCARY-BARBIER / CNAM - Cycle C

22 Chapitre 1 : XML et DTD 1.2. Pourquoi XML : SGML, HTML
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

23 Origines de XML : SGML Standard Generalized Markup Language
Norme ISO 8879 en 1986, révisée en 1988 et 1994 Métalangage de balisage de documents Lisible par l’être humain et traitable par une machine Permettant de définir des langages de balisage <titre>Le corbeau et le renard</titre> Objectifs : Définir un modèle de structure logique pour coder l’information Coder l’information selon ce modèle Assurer la pérennité des informations Assurer l’indépendance des informations vis-à-vis des matériels et des logiciels ACCARY-BARBIER / CNAM - Cycle C

24 Document SGML Composants du document SGML
DTD (Definition de Type de Document) Précise la structure du document Instance du document Texte du document + élément définis dans la DTD Instance conforme à 1 seule DTD Synthèse du document Options, jeu de caractère, fonctions similaires… SGML est un langage documentaire répandu Encyclopédie, AAP, ATA, DoD, EDF, SNCF, ONU, etc. ACCARY-BARBIER / CNAM - Cycle C

25 Limites de SGML Inadapté pour une gestion Hyperdocumentaire
Très complexe et lourd d’options inutiles Pauvreté du mécanisme de liaison Liens internes par le biais d'identifiants et d'entités Pas de liens vers l'extérieur du document Pas de notion d'ancre Uniquement des liens contextuel Pas de mécanismes d’Hyperliens Mal adapté aux applications WEB Pas de Browser/Editeur SGML du domaine public Solutions propriétaires “onéreuses” N'utilise pas de notion de fragment Obligation de connaître la DTD liée à une instance dans un contexte WEB, il est difficile de transmettre les DTD associées à chaque fragment (DTD volumineuse, définie pour un document complet, calcul dynamique complexe) ACCARY-BARBIER / CNAM - Cycle C

26 HyperText Markup Language
Modèle de représentation d'hyperdocuments Utilisé par les serveurs et les clients WEB Défini selon le standard SGML Conçu pour la représentation d'hyperdocuments Modèle en constante évolution : HTML-1 (1989) : du texte, quelques styles, des liens hypertextes HTML-2 (1994) : HTML-1 + des images, des formulaires interactifs HTML-3 (1996) : HTML-2 + des graphiques vectoriels, du son, des applets HTML-4 (1998) : HTML-3 + vidéo, outils pour INTRANET, ---- Amené à disparaître en faveur de XHTML (norme XML) ACCARY-BARBIER / CNAM - Cycle C

27 La "DTD" HTML Définit la structure "logico-physique" d'un "document" HTML Structure simple avec un nombre réduit de types d'éléments SGML Noeud : <HTML> contenu du noeud </HTML> entête : <HEAD> contenu entête </HEAD> titre : <TITLE> titre </TITLE> paragraphe : <P> texte du paragraphe </P> ancre : <A URL> texte-ancre </A> etc. Les formats des images, des polices, des enrichissements, ... sont prédéfinis (JPEG, GIF, ....) ACCARY-BARBIER / CNAM - Cycle C

28 Exemple de document HTML
<HTML> <HEAD> <TITLE>Le Corbeau et le Renard </TITLE> <AUTHOR> <A Jean de la Fontaine </A> <AUTHOR> </HEAD> <BODY> <UL> <LI> Maître Corbeau sur un arbre perché,</LI> <LI> tenait en son bec un fromage, </LI> </UL> </BODY> </HTLM> ACCARY-BARBIER / CNAM - Cycle C

29 Limites de HTML HTML est limité :
Orienté vers la présentation hypertextuelle Application SGML figée : Impossibilité de définir de nouvelles balises Adaptations difficile aux applications particulières du client Difficultés à trouver l’information recherchée Critères de sélection (résumé, mots-clés…etc.) Pauvreté des types d’hyperliens ACCARY-BARBIER / CNAM - Cycle C

30 Limites sémantiques de HTML
Modélisations logique et physique confondues besoin d'une sémantique <Langage> HTML </Langage> besoin de dissocier la présentation Tag Langage, Style:Italique <HTML> <HEAD> <TITLE>Rapport PFE</TITLE> </HEAD> <BODY> <H1>Dossier Médical</H1> <P> Limites du langage <I>HTML</I> </P> </BODY> Dossier Médical Limites du langage HTML ACCARY-BARBIER / CNAM - Cycle C

31 Solution : XML HTML et SGML : Solutions imparfaites pour l'échange d'information documentaire structurée sur Internet ou intranet XML = Extensible Markup Language développé par le W3C Sous-ensemble restreint de SGML adapté aux applications WEB qui offre la liberté dans la définition du langage de balisage Rend possible le traitement des fragments documentaires sans connaître leur DTD -> vise à permettre sur le WEB : la diffusion de fragments d'instance SGML sans en développer la DTD la réception et le traitement d'instance SGML sans en connaître la DTD ACCARY-BARBIER / CNAM - Cycle C

32 Chapitre 1 : XML et DTD 1. XML : contexte et origine
1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

33 Objectifs de XML Standard développé par le W3 Consortium qui doit :
Être facilement utilisable sur le Web Supporter une grande variété d’applications Être compatible avec SGML Être facilement traitable par des programmes annexes Avoir le minimum d'option (idéalement zéro) Permettre des document lisibles et raisonnablement clairs Être rapide à concevoir Décrire les documents de manière formelle et concise Permettre de créer facilement des documents Ne pas tenir compte de la concision du balisage ACCARY-BARBIER / CNAM - Cycle C

34 Langages dérivés et applications
Présenter/transformer : XSL, XSLT Localiser des fragments de documents : Xpath Décrire des liens : Xlink, Xpointer (HyTime, HTML) Décrire un schéma : Schémas Et aussi : SAX, DOM, RDF, SOAP, ... Applications : Échanges de données Bureautique Sites Web Bases de données E-commerce, ... ACCARY-BARBIER / CNAM - Cycle C

35 Avantages et limites de XML
Productivité Réutilisabilité Pérennité Intégrité Partage Portabilité Limites : XML n’est qu’une syntaxe XML ne porte aucune sémantique Description de structures uniquement Pas de types ACCARY-BARBIER / CNAM - Cycle C

36 Structure, contenu et présentation
Trois aspects dans les documents : Le contenu La structure logique La présentation XML permet de représenter les contenus textuels et la structure logique Les autres contenus sont des ressources externes (photos, vidéo, sons...) La présentation est décrite par des moyens complémentaires (CSS, XSL) La présentation peut changer, indépendamment des contenus et de la structure ACCARY-BARBIER / CNAM - Cycle C

37 Structure d'un document
Prologue Déclaration XML Déclarations de modèle de document : DTD Instructions de traitement Arbre des élément Éléments Attributs, Entités,… Commentaires ACCARY-BARBIER / CNAM - Cycle C

38 Chapitre 1 : XML et DTD 2.1.1. Prologue 1. XML : contexte et origine
1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

39 Déclaration XML Contient les infos de traitement pour le processeur XML: <?xml version="1.0" [encoding = "encodage"] [standalone = "yes|no"] ?> Elle indique : La conformité du document à une version de la norme XML. xml version="1.0" le jeu de caractères utilisés dans le document encoding (par défaut "UTF-8") La présence ou non de références (DTD) externes Standalone (par défaut "no") ACCARY-BARBIER / CNAM - Cycle C

40 Déclaration de DTD DTD XML facultative définit la structure du document Elément racine du document Ensemble des éléments utilisables et règles d'utilisations Déclaration de DTD Interne <!DOCTYPE element_racine [ contenu de la DTD ]> Déclaration de DTD externe (dans plusieurs documents) SYSTEM : DTD stockée sur l'ordinateur à l'adresse précisée. PUBLIC :DTD publiée (par ex par le W3C), le processeur utilise le nom ou l'URI pour retrouver la DTD <!DOCTYPE element_racine SYSTEM "uri_DTD"> <!DOCTYPE element_racine PUBLIC "nom" "uri_DTD"> ACCARY-BARBIER / CNAM - Cycle C

41 Instruction de traitement (processing instruction)
Les Processing instructions (PIs) sont généralement utilisées dans le prologue du document. permettent de passer des instructions aux applications <?NomAppli paramètres?> Exemples : lien vers les feuilles de style <?xml-stylesheet type="text/xsl" href="biblio.xsl"?> <?xml-stylesheet href="biblio.css" type="text/css"?> ACCARY-BARBIER / CNAM - Cycle C

42 Chapitre 1 : XML et DTD 2.2.2. Arbre des élément
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

43 Structure Document XML est une structure logique arborescente
Elément racine unique + fils (constituants logiques) Contenu structuré en eléments qualifiés par des attributs avec des valeurs Élément : paire de balises (tags) et son contenu : <chapitre>...</chapitre> Les balises ouvrantes portent les attributs : <chapitre version="provisoire" date="16/06/03"> Eléments terminaux : vides ou chaînes de caractères L’imbrication et l’ordre des éléments reflètent la structure Eléments choisis en fonction du type de document LivreCuisine, Plat, Recette, Ingrédient, Temps, Préparation, Étape, etc. ACCARY-BARBIER / CNAM - Cycle C

44 Exemple : Structure et balises
|____ livre (lang="fr) (ref="ASI2002) | |___ achat (date="10/11/2003") (lieu="FNAC") | |___ titre (type="roman") (genre="SF) | | |____ "Prélude à fondation" | |___ auteurs | | |____ auteur | | |_____ nom | | | |_____ "Asimov" | | |_____ prénom | | |_____ "Isaac" | |___ éditeur | |____ "Livre de Poche" <livre lang="fr" ref="ASI2002"> <achat date="10/11/2003" lieu="FNAC" /> <titre type="roman" genre="SF"> Prélude à fondation </titre> <auteurs> <auteur> <nom> Asimov </nom> <prénom> Isaac </prénom> </auteur> </auteurs> <éditeur> Pocket </éditeur> </livre> ACCARY-BARBIER / CNAM - Cycle C

45 <achat date="08/06/2001" />
Éléments <nom_élément> contenu de l'élément </nom_élément> Règles syntaxiques sur les éléments : Balises ouvrante et fermante doivent correspondre : <titre>...</titre> Imbrication correcte (pas de chevauchement) : <livre>...<titre>...</titre>...</livre> Casse importante : <titre> différent de <TITRE> Nom d'élément Doit commencer par une lettre ou un souligné Ne peut comporter que des chiffres, des lettres, des traits d'union, des points, des double points ou des soulignés. Elément sans contenu = élément vide. peut s'écrire avec une balise ouvrante terminé par la chaîne "\>" <achat date="08/06/2001" /> ACCARY-BARBIER / CNAM - Cycle C

46 <achat date="10/11/2003" lieu="FNAC" />
Attributs <achat date="10/11/2003" lieu="FNAC" /> Un attribut Sert à préciser l'élément et son contenu (langue,...) Possède un nom et une valeur obligatoirement spécifiée. Est porté par la balise ouvrante de l'élément Dans un élément 0 à n attributs non ordonnés Chaque attribut ne peut apparaître qu'une fois Certains attributs sont prédéfinis xml:lang, xml:space, xmlns On peut « cacher » du contenu dans les attributs Ex : <auteur prénom="Jean" nom="Dupont"/> ACCARY-BARBIER / CNAM - Cycle C

47 Identificateurs et références
Attribut prédéfinis permettant des relations non hiérarchiques dans la structure du document : ID : identificateur unique dans le document (ex : ref) IDREF : référence à un élément portant un attribut de type ID (ex : item) Exemple : Référence à un ouvrage de biblio.xml <Para> ...voir <Livre item="MOL1999"/> en fin d’ouvrage... </Para> ... <livre lang="en" ref="MOL1999"> […] </livre> ACCARY-BARBIER / CNAM - Cycle C

48 Entités Substituts pour des séquences d'information.
Définies dans l'en-tête du document ou dans la DTD Peuvent être référencées à plusieurs reprises Appel avec la syntaxe &nom_entite; Exemple : Il fait 25°C. Permet d'afficher 25°C Caractères ambigus -> Entités prédéfinies : < pour le caractère < (lighter) > pour le caractère > (greater) & pour le caractère & (ampersand) " pour le caractère " (quotation mark) &apos; pour le caractère ‘ (apostrophe) Lettres accentuées et alphabets latins : entités numériques du type &#code_car; (code_car = code ISO) Exemple : A code l'entité numérique pour le caractère A. ACCARY-BARBIER / CNAM - Cycle C

49 Chapitre 1 : XML et DTD 2.2.3. Commentaires
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

50 Commentaires et CDATA Commentaires : <!-- commentaire -->
Autorisés partout sauf dans le prologue et dans une balise. <p <!-- balise ouvrante --> > est illégal Contient n'importe quel type de données sauf le -- <!-- mes livres préférés --> <livre>Fondation<!-- a relire --></livre> Sections CDATA : <![CDATA[ ... ]]> Données que le processeur XML n'interprétera pas passer des caractères réservés à une application. Echapper un fragment de texte entier <![CDATA[<Bande_Dessinée> a compléter </Bande_Dessinée>]]> ACCARY-BARBIER / CNAM - Cycle C

51 Espaces, sauts de ligne et affichage
Pour rendre le code XML lisible, on le formate souvent avec des sauts de ligne et des espaces. Les sauts de ligne sont équivalents à des espaces Les espaces sont interprétés par l’application Le document peut contenir des attributs xml:space (valeur default ou preserve) Le document ne contient aucune information concernant l'affichage, c'est sa feuille de style qui définira la présentation sur un média. ACCARY-BARBIER / CNAM - Cycle C

52 Chapitre 1 : XML et DTD 2.2. Documents bien formés, documents valides
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

53 DTD d'un document DTD (Document Type Definition) :
définit les éléments et les règles d'utilisation (noms des éléments, attributs possibles pour un élément, imbrications). Si un document n'a pas de DTD et qu'il suit les règles définies par XML il est bien formé. Si il est bien formé et qu’il fait référence à une DTD à laquelle il est conforme, il est dit valide. Dès qu’il rencontre une erreur, le processeur XML s’arrête ACCARY-BARBIER / CNAM - Cycle C

54 Documents bien formés Un document XML est bien formé (well-formed), s’il respecte les règles de la syntaxe XML Il contient Une déclaration XML, Un ou plusieurs éléments, Un élément racine encapsulant tous les autres éléments et leurs attributs, Eléments : Les éléments non vides Ont une balise de début et de fin, Sont correctement imbriqués <P> <EM> ... </EM> </P> Les éléments vides ont un / à la fin de la balise, Les noms des balises ouvrantes et fermantes correspondent, ACCARY-BARBIER / CNAM - Cycle C

55 Règles définies par XML
Attributs : un nom d'attribut n’apparaît que dans la balise ouvrante et une seule fois, Les valeurs des attributs sont entre guillemets ou apostrophes, la valeur des attributs n'appelle pas d'entités externes, Entités : les caractères réservés sont remplacés par des références d'entités (par ex. < pour <), Les références à des entités non binaires commencent par & et finissent par ; sans DTD, les seules entités utilisées sont celles réservées de XML & < > &apos; " ACCARY-BARBIER / CNAM - Cycle C

56 Document sans DTD Un document XML peut ne pas avoir de DTD,
Balisage définit de manière informelle. Document doit cependant être bien formé, sinon il ne sera pas affiché par un navigateur. Lorsque aucune DTD n'est utilisée le document doit préciser dans la déclaration XML qu'il est autonome (Standalone Document Declaration ou SDD). ACCARY-BARBIER / CNAM - Cycle C

57 Chapitre 1 : XML et DTD 3. Les DTD 1. XML : contexte et origine
1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

58 A quoi sert la DTD ? La DTD donne la grammaire de l'application XML.
les éléments types Les noms de balises autorisés L'ordre autorisé pour les balises Quels éléments peuvent contenir quels éléments Quels éléments sont optionnels les attributs pour chaque élément Noms des attributs autorisés, obligatoires / optionnels, leur type, valeur par défaut, etc. les entités binaires ou textuelles pouvant être incluses dans un document Par exemple les caractères non ASCII les notations qui servent à identifier les types spécifiques de données externes binaires. Rappel : DTD pas nécessaire pour afficher le document XML mais obligatoire pour l’interpréter. ACCARY-BARBIER / CNAM - Cycle C

59 Déclarations de DTD DTD interne au document
<!DOCTYPE ouvrage [ …déclarations… ]> DTD externe : dans un autre fichier Privée (accès en local) <!DOCTYPE livre SYSTEM "biblio.dtd"> Publique (accès via une URI) <!DOCTYPE livre PUBLIC "nom_connu" "URL"> On peut combiner : Une partie de DTD interne et une partie SYSTEM Une partie de DTD interne et une partie PUBLIC ACCARY-BARBIER / CNAM - Cycle C

60 DTD interne déclarations spécifiques au document :
<?xml version="1.0" standalone="yes"> <!DOCTYPE racine [ <!-- sous-ensemble DTD internes --> ]> <racine> ... </racine> Il n'y a pas à rechercher de DTD externe déclarations spécifiques au document : entités spécifiques graphiques ; attributs et entités supplémentaires servant uniquement au document le définissant. permet de modifier localement le document. priorité sur le sous-ensemble externe Pas d’effet sur les autres documents. ACCARY-BARBIER / CNAM - Cycle C

61 <?xml version="1.0" standalone="no">
DTD externe <?xml version="1.0" standalone="no"> déclarations générales la majorité des déclarations d'éléments ; la majorité des déclarations des attributs ; les déclarations d'entités dont chaque document peut avoir besoin. s'applique à plusieurs documents modification d’un élément s'applique à tous les documents 2 cas : DTD privée DTD publique ACCARY-BARBIER / CNAM - Cycle C

62 DTD externe privée <!DOCTYPE racine SYSTEM "url"> SYSTEM est utilisé pour donner l'adresse du fichier qui contient la DTD. <!DOCTYPE racine SYSTEM " ACCARY-BARBIER / CNAM - Cycle C

63 <!DOCTYPE racine PUBLIC "identifiant_public" "url"?>
DTD externe publique <!DOCTYPE racine PUBLIC "identifiant_public" "url"?> DTD norme ou enregistrée comme norme ISO. identifiant_public : (var séparées par //) type_enregistrement : selon la norme ISO 9070 : signe + sinon : signe - propriétaire : nom du propriétaire DTD description : description textuelle avec espaces langue : code de langue ISO 639. url non obligatoire mais conseillée. Ex : document qui utilise la DTD XHTML1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " ACCARY-BARBIER / CNAM - Cycle C

64 Exemple de DTD <!DOCTYPE bibliothèque [ <!ELEMENT bibliothèque (livre)* > <!ELEMENT livre (achat,titre,auteurs,éditeur?) > <!ATTLIST livre ref ID #IMPLIED lang (fr | en) #IMPLIED > <!ELEMENT achat EMPTY> <!ATTLIST achat date CDATA "01/01/1900" lieu CDATA #IMPLIED > <!ELEMENT titre (#PCDATA) > <!ATTLIST titre type (recherche | roman | essai | inclassable) "inclassable" genre (SF | Historique | Enfants | Fantastique) #IMPLIED> <!ELEMENT auteurs (auteur)+> <!ELEMENT auteur (nom,prénom+)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prénom (#PCDATA)> <!ELEMENT éditeur (#PCDATA)> ]> ACCARY-BARBIER / CNAM - Cycle C

65 Chapitre 1 : XML et DTD 3.1. Déclaration d’éléments
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

66 Déclaration d'éléments
Élément permet de structurer le document (par exemple livre est un élément d'un document bibliothèque). La déclaration d'éléments est de la forme Contenus d'éléments particuliers : Un élément vide ne contient aucun texte, aucun autre élément, comme les éléments IMG, HR, BR de HTML. Un élément libre peut contenir tout élément déclaré dans la DTD et du texte. <!ELEMENT nom_element modele_de_contenu> <!ELEMENT nom_element EMPTY> <!ELEMENT nom_element ANY> ACCARY-BARBIER / CNAM - Cycle C

67 <!ELEMENT nom_element (#PCDATA)>
Contenu des éléments Uniquement des données (Parsed Character DATA) Uniquement d’autres éléments Définition des éléments Ordre d’apparition : (élément1, élément2,…) Occurrence : ? (0 ou 1 fois), * (0 ou n fois), + (1 ou n fois) Choix : utilisation du | Contenu mixte <!ELEMENT nom_element (#PCDATA)> <!ELEMENT nom_element ( element1 , element2 , element3 )> <!ELEMENT nom_element ( element1 | element2 | element3 )> <!ELEMENT nom_element ( element1? , element2+ , element3* )?> <!ELEMENT nom_element ( #PCDATA | element-enfant )* > ACCARY-BARBIER / CNAM - Cycle C

68 Chapitre 1 : XML et DTD 3.2. Déclaration d’attributs
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

69 Déclaration d'attribut
Déclaration d'attributs donne pour un élément cible : Les noms d'attributs autorisés Le type de chaque attribut La valeur par défaut de l'attribut Déclaration séparée ou sous forme de liste Mot clé de déclaration : ATTLIST <!ATTLIST element_cible nom_attribut type_attribut valeur_par_défaut> ACCARY-BARBIER / CNAM - Cycle C

70 Valeur d'attribut Attribut possède Un nom, Un type,
<!ATTLIST element nom_attribut CDATA "valeur"> <!ATTLIST element nom_attribut CDATA #REQUIRED> <!ATTLIST element nom_attribut CDATA #IMPLIED> <!ATTLIST element nom_attribut CDATA #FIXED "valeur"> Attribut possède Un nom, Un type, Une valeur par défaut (facultative) ou un mot clé de remplacement : #REQUIRED : valeur d'attribut doit être spécifiée #IMPLIED : valeur d'attribut peut rester non spécifiée #FIXED 'val' : valeur de l'attribut fixée à "val" et non modifiable par l'utilisateur Exemples <!ATTLIST achat date CDATA "01/01/1900"> <!ATTLIST achat lieu CDATA #IMPLIED > ACCARY-BARBIER / CNAM - Cycle C

71 Types d’attributs Données textuelles Enumération de valeurs
CDATA Données textuelles (Valeur|...|ValeurN) Enumération de valeurs ID Identificateur unique IDREF et IDREFS Référence(s) à un(plusieur) ID ENTITY et ENTITIES Entité ou liste d'entités séparées par des espaces (blancs), déclarée dans la DTD NMTOKEN et NMTOKENS invoque un(plusieurs) TOKEN(s) NOTATION Notation déclarée dans la DTD ACCARY-BARBIER / CNAM - Cycle C

72 Chaînes de caractères et Enumérations
<!ATTLIST element nom_attribut CDATA "valeur" > CDATA : chaîne de caractères Type le plus courant Ex : <!ATTLIST achat lieu CDATA #IMPLIED > Énumérations de valeurs possibles Liste énumérée de valeur séparées par | <!ATTLIST titre genre (SF | Historique | Enfants | Fantastique) #IMPLIED> <!ATTLIST element_cible nom_attribut (val1 |... | valN) "valdefaut" > ACCARY-BARBIER / CNAM - Cycle C

73 Identificateurs et Références
<!ATTLIST element_cible nom_attribut ID> <!ATTLIST element_cible nom_attribut IDREF> <!ATTLIST element_cible nom_attribut IDREFS> ID : identificateur unique d'élément La valeur de l’attribut distingue l'élément de tous les autres dans le document XML courant. Permet la mise en correspondance des éléments entre eux à l'instar d'une base de données. IDREF et IDREFS permet à une valeur d'attribut de faire référence à un ou plusieurs identificateurs (ID) d'un autre élément. <!ATTLIST livre ref ID #IMPLIED > ACCARY-BARBIER / CNAM - Cycle C

74 Entités ENTITY et ENTITIES : nom (liste de noms) d'entités (séparées par des blancs), précédemment déclarées dans la DTD. La déclaration : <!ENTITY image SYSTEM " <!ENTITY image2 SYSTEM " <!ENTITY imageN SYSTEM " <!ATTLIST album source ENTITIES #REQUIRED> permet d'écrire dans le document XML : <album source="image image2 imageN"/> ACCARY-BARBIER / CNAM - Cycle C

75 <!ATTLIST image type NOTATION(GIF | JPEG | PNG) "GIF">
Token et Notations NMTOKEN et NMTOKENS : noms (listes de noms) symboliques tel qu'un format de date, un format de fichier ou encore une abréviation Nom constitués de caractères autorisés par XML Lettres, Chiffres, Soulignés (_), Tirets (-), Points (.) et des deux points (:) NOTATION : l'attribut attend une notation qui apparaît dans la DTD dans une déclaration NOTATION Si une liste de valeurs est préfixée par le mot NOTATION les notations listées comme des valeurs possibles doivent toutes avoir déjà été déclarées : <!ATTLIST image type NOTATION(GIF | JPEG | PNG) "GIF"> ACCARY-BARBIER / CNAM - Cycle C

76 Chapitre 1 : XML et DTD 3.3. Déclaration d’entités
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

77 Il existe plusieurs formats d’entités : Générales, Paramétriques
Entités permettent : De définir des alias D'utiliser des caractères réservés dans le document XML et dans la DTD. Il existe plusieurs formats d’entités : Générales, Paramétriques Caractères. Les entités peuvent être interne ou externe. La définition d'une entité peut éventuellement faire référence à d'autres entités la substitution s'effectue de proche en proche. ACCARY-BARBIER / CNAM - Cycle C

78 Entités générales internes
<!ENTITY nom "chaîne_de_remplacement"> symboles utilisés comme raccourcis d'écriture Définis complètement dans la DTD Appelés uniquement dans le document XML L'appel de l'entité dans le document XML se fait par l'appel &nom; Chaîne automatiquement remplacée lors du traitement par sa valeur "chaîne_de_remplacement". ACCARY-BARBIER / CNAM - Cycle C

79 Entités paramètriques internes
<!ENTITY % nom "chaîne_de_remplacement"> Entités analysables Définies complètement dans la DTD Appelés uniquement dans la DTD Déclaration se fait avec un % devant le nom L'appel de l'entité dans la DTD se fait par l'appel %nom; ACCARY-BARBIER / CNAM - Cycle C

80 <!ENTITY nom SYSTEM "URI"> <!ENTITY % nom SYSTEM "URI">
Entités externes Symboles définis dans un autre fichier Déclarées par le mot clef SYSTEM suivi de l'adresse du fichier contenant la déclaration d'entité. Entités générales (utilisées dans un document XML ) Permettent de construire un document XML à partir de plusieurs autres documents XML complémentaires. Entités paramètres (utilisées dans la DTD) Permettent de construire une DTD complexe et volumineuse à partir de plusieurs autres DTD complémentaires. L'appel à l'entité idem que pour une entité interne. &nom; pour une entité générale externe %nom; pour une entité paramètre externe <!ENTITY nom SYSTEM "URI"> <!ENTITY % nom SYSTEM "URI"> ACCARY-BARBIER / CNAM - Cycle C

81 Entités caractères Permettent de nommer facilement des caractères non représentables dans l'alphabet utilisé ou non disponibles au clavier Définies dans la DTD Appelés dans le document XML par la notation &nom; Rappel : &, <, >, ", ', sont déjà prédéfinis dans la DTD <!ENTITY eacute "é"> permet d'écrire le caractère "é" via l'appel é ACCARY-BARBIER / CNAM - Cycle C

82 Chapitre 1 : XML et DTD 3.4. Déclaration de notations
1. XML : contexte et origine 1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

83 Déclaration de notations
<!NOTATION nom_notation SYSTEM ""> permettent d'identifier par un nom le format des entités non analysées par le parseur XML. de définir le format des données et les applications qui permettent de les traiter. <!NOTATION GIF SYSTEM "GIF"> <!NOTATION GIF89a PUBLIC "-//Compuserve//NOTATION Graphics Interchange Format 89a//EN"> Recommandation : regrouper toutes les notations dans un fichier unique <!ENTITY %mesentites SYSTEM "entites.ent"> ACCARY-BARBIER / CNAM - Cycle C

84 Chapitre 1 : XML et DTD En savoir plus… 1. XML : contexte et origine
1.1. Document, multimédia ,hyperdocuments et web 1.2. Pourquoi XML : SGML, HTML 2. Présentation de XML 2.1. Structure d'un document XML Prologue Arbre des élément Commentaires 2.2. Documents bien formés, documents valides 3. Les DTD 3.1. Déclaration d’éléments 3.2. Déclaration d’attributs 3.3. Déclaration d’entités 3.4. Déclaration de notations En savoir plus… ACCARY-BARBIER / CNAM - Cycle C

85 En savoir plus… W3 Consortium : http://www.w3.org
Boukhors, Anelyse, et al., XML. La synthèse, Dunod. Eckstein, Robert, et Michel Casabianca, XML précis et concis, O'Reilly. Harold, Elliote Rusty, XML. Le guide de l'utilisateur. Eyrolles. Michard, Alain, XML. Langage et applications, Eyrolles. …. ACCARY-BARBIER / CNAM - Cycle C


Télécharger ppt "Cours de cycle C CNAM de Lyon XML et gestion de contenus Web"

Présentations similaires


Annonces Google