INU3011 Documents structurés



Documents pareils
Gestion Électronique de Documents et XML. Master 2 TSM

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

SII Stage d informatique pour l ingénieur

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

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

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

Quelques formats de fichiers courants

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

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

XML : documents et outils

Les outils de création de sites web

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Programmation Internet Cours 4

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

Les types de fichiers

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

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

Les services usuels de l Internet

L'essentiel de XML. Cours XML. Olivier Carton

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Présentation de Firefox

Introduction à Microsoft InfoPath 2010

Gestion documentaire (Extraits du CCI version 1.2)

«Expertise de ressources «pour l édition de revues numériques

7.0 Guide de la solution Portable sans fil

Plan. Contexte technologique. Introduction. Environnement réseauté. Documents structurés. L écrit électronique. Introduction.

Formats de fichiers adaptés à l'archivage électronique à moyen et long terme

Petite définition : Présentation :

Manuel d intégration API FTP SMS ALLMYSMS.COM

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Programmation Web. Madalina Croitoru IUT Montpellier

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

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Adobe Technical Communication Suite 5

Installation de DocBook sur un système Linux

Sana Sellami. Licence Professionnelle SIL

Pelleas : Le projet XML pour le systeme d information documentaire du polytechnicum de Marne- la Vallée

Bernard Lecomte. Débuter avec HTML

XML et travail collaboratif : vers un Web sémantique

Bibliothèque numérique de l enssib

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

XML et recherche d information

CHRONIQUE de la société royale LE VIEUX-LIÈGE

Le codage informatique

Système de gestion de contenu

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

Préparation à l examen EFA en Macro

les techniques d'extraction, les formulaires et intégration dans un site WEB

Exemple de charte d intégration web

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

Fichiers, dossiers, enregistrer et arborescence

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

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

Master Technologies numériques appliquées à l'histoire Deuxième année

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

< Atelier 1 /> Démarrer une application web

Stockez et créez vos documents

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

source : Lexique des termes numériques Atelier du SNE janvier 2010

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Tablette Pegasus PC Notes. Code : Conrad sur INTERNET Version 02/ Conditions du système.

Notes pour l utilisation d Expression Web

ODF EN PRATIQUE POUR LES UTILISATEURS FINAUX

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

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

Introduction aux concepts d ez Publish

Couches 4 à 7 : Traitement des données

Projet Gestion des Formats de Fichier

Comment récupérer un document OOo corrompu. Distribué par Le projet OpenOffice.org

Guide de réalisation d une campagne marketing

Voici les objectifs de la séance d'aujourd'hui :

Les avantages du format d'opendocument (ODF)

Le réseau Internet.

FileMaker Server 12. publication Web personnalisée avec XML

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

La balise object incorporer du contenu en HTML valide strict

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

creer votre site internet en html/css

MANIPULER LES FICHIERS EXCEL

Module http MMS AllMySMS.com Manuel d intégration

Publipostage avec Calc

DESS Arts, création et technologies

IBM Software Business Analytics. IBM Cognos FSR Automatisation du processus de reporting interne

Optimiser les s marketing Les points essentiels

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Comment échanger des données (fichiers) en format «STANDARD» lisibles par tous, quelque soit le programme et la version utilisés

MEMOIRE pour obtenir le Titre professionnel "Chef de projet en ingénierie documentaire" INTD niveau I. présenté et soutenu par Stéphane Héroult

! Text Encoding Initiative

Livre Blanc WebSphere Transcoding Publisher

Partie II Approche théorique

Métadonnées, ontologies et documents numériques

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Gestion collaborative de documents

Guide utilisateur i-milo >> Décisionnel

Transcription:

INU3011 Documents structurés Cours 1 Hiver 2016 Copyright 2010-2016 Yves Marcoux - Reproduction interdite 1

Plan Introduction à XML En quoi ce cours peut vous être utile dans votre carrière? Contextes et historique de XML Notions syntaxiques XML de base Copyright 2010-2016 Yves Marcoux - Reproduction interdite 2

Introduction à XML XML est un ensemble de conventions servant à représenter de l information sous forme de fichier(s) informatique(s) de la manière la plus utile possible utile = versatile, rentable, réutilisable, etc. Copyright 2010-2016 Yves Marcoux - Reproduction interdite 3

Que peut-on peut faire avec XML? Quatre exemples (parmi des milliers) Œuvres de Carl Maria von Weber Lois canadiennes AquaBase.org* CV commun canadien N.B.: Le XML n est pas nécessairement visible par l utilisateur Copyright 2010-2016 Yves Marcoux - Reproduction interdite 4

XML est partout Montre d entraînement Juste pour voir, recherchez les fichiers nommés *.xml sur votre ordi surprise! Par exemple, dans C:\ProgramData Voir XML Essentials (1 ère lecture pour la semaine prochaine) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 5

XML par analogies Deux analogies: Bases de données Traitement de texte Copyright 2010-2016 Yves Marcoux - Reproduction interdite 6

Analogie 1: Base de données Copyright 2010-2016 Yves Marcoux - Reproduction interdite 7

Vue hiérarchique des mêmes données Employés Employé Employé... Employé no nom adresse... no nom adresse... no nom adresse... Copyright 2010-2016 Yves Marcoux - Reproduction interdite 8

En XML <Employés> <Employé> <no>1</no> <nom>roy, Lucie</nom> <adresse>1 rue Bray</adresse>... </Employé> <Employé> <no>2</no> <nom>bray, Luc</nom> <adresse>2 rue Roy</adresse>... </Employé>... </Employés> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 9

Analogie 2: Traitement de texte Mes dernières vacances J ai mangé de la dinde, beaucoup de dinde, et j ai bu du café, beaucoup de café! Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 10

Pour indiquer que c est un titre On sélectionne Mes dernières vacances J ai mangé de la dinde, beaucoup de dinde, et j ai bu du café, beaucoup de café! Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 11

Pour indiquer que c est un titre Puis on applique le style voulu Mes dernières vacances J ai mangé de la dinde, beaucoup de dinde, et j ai bu du café, beaucoup de café! Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 12

Pour indiquer l emphase On sélectionne Mes dernières vacances J ai mangé de la dinde, café, beaucoup de café! beaucoup de dinde, et j ai bu du Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 13

Pour indiquer l emphase Puis, on applique le style voulu Mes dernières vacances J ai mangé de la dinde, beaucoup de dinde, et j ai bu du café, beaucoup de café! Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 14

Pour indiquer l emphase Même chose pour l autre mot «beaucoup» Mes dernières vacances J ai mangé de la dinde, beaucoup de dinde, et j ai bu du café, beaucoup de café! Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 15

Pour la signature On sélectionne Mes dernières vacances J ai mangé de la dinde, beaucoup de dinde, et j ai bu du café, beaucoup de café! Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 16

Pour la signature Puis on applique le style voulu Mes dernières vacances J ai mangé de la dinde, beaucoup de dinde, et j ai bu du café, beaucoup de café! Le Goinfre Copyright 2010-2016 Yves Marcoux - Reproduction interdite 17

En XML Au lieu de sélectionner et d appliquer un style, on «marque» les bouts de texte avec des balises avant et après <titre>mes dernières vacances</titre> J ai mangé de la dinde, <emphase>beaucoup</emphase> de dinde, et j ai bu du café, <emphase>beaucoup</emphase> de café! <signature>le Goinfre</signature> Note: Ceci n est pas un document XML bien-formé, car il manque un élément de plus haut niveau. Copyright 2010-2016 Yves Marcoux - Reproduction interdite 18

En XML C est une «application XML» (un logiciel) qui s occupe, plus tard, d interpréter les balises et d appliquer les styles appropriés C est comme si on divisait le travail en deux: l auteur fournit le contenu et la structure (les balises) l application informatique interprète et formate Copyright 2010-2016 Yves Marcoux - Reproduction interdite 19

En quoi ce cours peut vous être utile dans votre carrière? Copyright 2010-2016 Yves Marcoux - Reproduction interdite 20

Raison 1 Omniprésence L information est de plus en plus disponible en XML (big data ou autre) Les chances que vous ayez à traiter de l information en XML sont très grandes Plus vous en connaissez sur XML, mieux vous serez en mesure de traiter adéquatement cette information Copyright 2010-2016 Yves Marcoux - Reproduction interdite 21

Raison 2 Modélisation Le design de tout système d information inclut une partie modélisation, qui détermine directement les traitements possibles XML = meilleur cadre possible pour comprendre l'impact des décisions de modélisation sur les traitements possibles Comprendre ce lien fera de vous un meilleur interlocuteur avec les équipes de développement, peu importent les technologies utilisées Copyright 2010-2016 Yves Marcoux - Reproduction interdite 22

Raison 3 Avant-gardisme Pour peu que vous œuvriez au sein d une organisation le moindrement avantgardiste, vous pourriez vous-même avoir à intervenir sur des systèmes XML: modélisation, traitement avec XSLT, publication sous différentes formes, bases de données XML Copyright 2010-2016 Yves Marcoux - Reproduction interdite 23

Contextes et historique de XML Copyright 2010-2016 Yves Marcoux - Reproduction interdite 24

Qu est-ce que XML? extensible Markup Language = Langage de balisage généralisable Définie par le W3C en février 1998 (v1.0) W3C = World Wide Web Consortium Format de documents numériques (c est-à-dire de fichiers informatiques) Format de documents structurés Format normalisé Copyright 2010-2016 Yves Marcoux - Reproduction interdite 25

Format de fichiers (ou de documents numériques) 1/3 Format = ensemble de conventions ou règles permettant d'interpréter correctement le contenu d'un fichier En réalité, on peut distinguer 2 niveaux: règles pour vérifier si le contenu d'un fichier a une forme acceptable = niveau formel (ou syntaxique, ou morphologique) conventions pour interpréter le contenu des fichiers dont la forme est effectivement acceptable = niveau sémantique Copyright 2010-2016 Yves Marcoux - Reproduction interdite 26

Format de fichiers (ou de documents numériques) 2/3 Exemples: Formats texte selon un jeu de caractères donné ASCII pur sur 8 bits Unicode-UTF-16-BE Word, PowerPoint PDF, SMIL, JPEG, MPEG, MP3, etc. Copyright 2010-2016 Yves Marcoux - Reproduction interdite 27

Format de fichiers (ou de documents numériques) 3/3 Exemple: texte ASCII pur sur 8 bits Niveau formel: Quels codes (de 8 bits) peuvent se trouver dans un fichier texte ASCII pur sur 8 bits? Niveau sémantique: À quels caractères ces codes correspondent-ils? Copyright 2010-2016 Yves Marcoux - Reproduction interdite 28

XML = format de documents structurés Un format utilisant le balisage par dessus un format texte (Unicode-UTF-8) Les documents XML sont aussi des fichiers texte Unicode-UTF-8 * Balises (à la <HTML>) identifient début et fin des éléments constitutifs du document Un exemple: un mémo *D autres jeux de caractères sont aussi possibles Copyright 2010-2016 Yves Marcoux - Reproduction interdite 29

Un mémo en XML <mémo> <auteur> Julia Royer </auteur> <destinataires> <nom> Jean Picard </nom> <nom> Émilie Dugré </nom> </destinataires> <sujet> Invitation </sujet> <corps> <para> Veuillez noter que la prochaine réunion du conseil d administration se tiendra le 27 septembre 2024. </para> <para> SVP, avisez-moi dans les plus brefs délais si vous ne pouvez pas y assister. </para> </corps> </mémo> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 30

mémo auteur destinataires sujet corps "Julia Royer" "Invitation" nom nom para para "Jean Picard" "Émilie Dugré" "Veuillez noter que... le 27 septembre 2024." "SVP, avisez-moi... pouvez pas y assister." Copyright 2010-2016 Yves Marcoux - Reproduction interdite 31

XML = format normalisé Recommandations du W3C de 1998 XML 1.0 1 e éd. février 1998 5 e éd. novembre 2008 XML 1.1 1 e éd. février 2004 2 e éd. septembre 2006 Ajouts mineurs par rapport à XML 1.0 Encore très peu utilisée Copyright 2010-2016 Yves Marcoux - Reproduction interdite 32

Préoccupations liées au format accessibilité le document est dans un format qui est compris par une communauté de lecteurs la plus grande possible pérennité le document demeurera accessible dans le futur réutilisabilité on peut récupérer un document archivé et continuer à travailler dessus pour créer un nouveau document des documents Copyright 2010-2016 Yves Marcoux - Reproduction interdite 33

Normalisation Un format normalisé a plus de chance de répondre à ces préoccupations qu un format non normalisé Spécifications et évolution non contrôlées par un seul producteur ou un petit groupe Copyright 2010-2016 Yves Marcoux - Reproduction interdite 34

Rappel: XML est partout Documents textuels (rapports, mémoires) Fiches, dossiers (médical, d employé) Métadonnées (MARC, RDDA, GILS) Formulaires, documents administratifs (PV) Communication savante (revues) Référence (dictionnaires, encyclopédies) Multimédia, hypermédia (présentations) etc. etc. Copyright 2010-2016 Yves Marcoux - Reproduction interdite 35

Quelques modèles XML «documentaires» très utilisés TEI (Text Encoding Initiative) http://www.tei-c.org/ DocBook http://www.docbook.org/ EAD (Encoded Archival Description) http://www.loc.gov/ead/ Journal Article Tag Suite http://dtd.nlm.nih.gov/ MARC21 http://www.loc.gov/standards/marcxml/ Copyright 2010-2016 Yves Marcoux - Reproduction interdite 36

Normes afférentes SGML (Standard Generalized Markup Language: ISO/IEC 8879:1986) Stylage: DSSSL, XSL, XSLT, XPath Web: HTML, XHTML, XForms Métadonnées: RDF Documents bureautiques: ODF, OOXML Copyright 2010-2016 Yves Marcoux - Reproduction interdite 37

SGML = ISO/IEC 8879:1986 Standard Generalized Markup Language Plus complexe que XML; légèrement plus puissant Développé à partir de GML (1969), un produit d IBM GML = auteurs Goldfarb, Mosher, Lorie! Toutes les «saveurs» de HTML sont basées sur SGML, et non XML Sauf XHTML (basée sur XML) et HTML5 (basée ni sur SGML, ni sur XML) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 38

HTML (1/2) HTML = HyperText Markup Language Pourquoi «hypertexte»? Permet de créer des liens hypertextuels entre les documents C est une famille de formats Il existe plusieurs versions de HTML Toutes les versions (sauf XHTML et HTML5) sont des applications (i.e. des DTD) SGML Copyright 2010-2016 Yves Marcoux - Reproduction interdite 39

HTML (2/2) Une des versions les plus utilisées est le «HTML 4.01» C est une recommandation du W3C du 24 décembre 1999 Il existe aussi (depuis 2000) une version du HTML normalisée par ISO/IEC C est la norme internationale ISO/IEC 15445:2000 Copyright 2010-2016 Yves Marcoux - Reproduction interdite 40

Historique du HTML HTML 1 : 1989 (texte, hyperliens) Inventé par Tim Berners-Lee, reconnu comme le créateur du Web HTML 2 : 1994 (images, formulaires) HTML 3 : 1996 (son, applets) HTML 4 : 1998 (vidéo, CSS) XHTML : 2000 HTML5 : 28 octobre 2014 (recom. W3C) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 41

XHTML (1/2) Extensible Hypertext Markup Language Version qui a succédé à HTML 4.01 au sein du W3C HTML 4 comme telle n est plus développée Essentiellement, c est une réécriture de HTML 4.01 comme application (i.e. DTD) XML, plutôt que SGML Copyright 2010-2016 Yves Marcoux - Reproduction interdite 42

XHTML (2/2) XHTML 1.0 (2 e édition): Extensible HyperText Markup Language Recommandation W3C janvier 2000 (révisée en août 2002) "A Reformulation of HTML 4 in XML 1.0" XHTML 1.1: Module-based XHTML Recommandation W3C mai 2001 Introduit la possibilité d extensions modulaires (par exemple, XForms pour les formulaires) Encore peu répandue Copyright 2010-2016 Yves Marcoux - Reproduction interdite 43

Langages de balisage normalisés SGML simplification application (DTD) XML HTML (<5) application (DTD) ajustements mineurs XHTML Copyright 2010-2016 Yves Marcoux - Reproduction interdite 44

Formats bureautiques Office Open XML File Formats (OOXML) ISO/IEC 29500:2008 Office Open XML File Formats Filiation avec Microsoft Office Énorme polémique autour de son adoption Open Document Format for Office Applications (OpenDocument ou ODF) ISO/IEC 26300:2006 Open Document Format for Office Applications (OpenDocument) v1.0 Filiation avec le format natif de OpenOffice N.B.: Ces deux normes ISO sont disponibles gratuitement au <http://standards.iso.org/ittf/publiclyavailablestandards/> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 45

Notions syntaxiques XML de base Yves MARCOUX EBSI - Université de Montréal Copyright 2010-2016 Yves Marcoux - Reproduction interdite 46

Un document XML: d'abord un fichier texte <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Accès au dossier contenant les exemples de cette section Copyright 2010-2016 Yves Marcoux - Reproduction interdite 47

Déclaration XML (optionnelle) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 48

Déclaration de type de documents (optionnelle) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 49

Balises * de début parfois appelées «balises ouvrantes» <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO * Note: SYSTEM On entend "Memo-dtd1.dtd"> parfois «étiquette» au lieu de «balise» <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 50

Balises de fin parfois appelées «balises fermantes» <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 51

Identificateurs génériques <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 52

Spécification d'attribut <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 53

Nom d'attribut <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 54

Valeur d'attribut <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 55

Appels d'entité <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 56

Entités prédéfinies (1/2) Certains appels d entité permettent d utiliser comme texte les caractères normalement réservés au balisage: Appel Nom de l entité Caractère représenté < lower than < > greater than > & ampersand (en français, esperluette) & &apos; apostrophe ' " quotation mark " Ex.: B&G B&G Copyright 2010-2016 Yves Marcoux - Reproduction interdite 57

Entités prédéfinies (2/2) N.B.: Les deux seules entités prédéfinies vraiment essentielles sont & et < En effet: ' " > peuvent être inscrits directement comme contenu textuel dans un document XML Comme à peu près tous les autres caractères, incluant: /! : - _ $ % \?... et les lettres accentuées (é, ç, È, etc.) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 58

Entités caractères Une des deux formes suivantes: &#nnnnn; &#xhhhhh; où nnnnn et hhhhh représentent le numéro Unicode du caractère voulu: nnnnn hhhhh numéro Unicode en décimal numéro Unicode en hexadécimal Ex.: et désignent tous deux le symbole de l euro ( ) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 59

L esperluette (&) L esperluette (&) ne doit survenir que dans un appel d entité L utiliser dans n importe quel autre contexte constitue une erreur de bien-formé.* Ex.: recherche & développement Erreur : document mal formé *: sauf dans un commentaire, une section CDATA ou une instruction de traitement, voir plus loin Copyright 2010-2016 Yves Marcoux - Reproduction interdite 60

Exemple d'élément <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 61

Autre exemple d'élément <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 62

Commentaires (ignorés) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <!-- <NOM>Émilie Dugré</NOM> --> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CC> <NOM>Luc Royer</NOM> <NOM>Jonas Dupras</NOM> </CC> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 63

Instructions de traitement <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <?xml-stylesheet href="unefeuille.css" type="text/css"?> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> Les instructions de traitement (processing instructions) <DESTINATAIRES> ressemblent à la déclaration XML, mais ne servent pas le <NOM COURRIEL="sp@picard.com">Sylvie même but et ne sont pas nécessairement Picard</NOM> situées au tout <NOM>Émilie début Dugré</NOM> du document XML. </DESTINATAIRES> <SUJET>Votre présence Elles servent nous tient à indiquer à cœur à certaines!</sujet> applications spécifiques <CC> des traitements particuliers (ici, elle indique à l application </CC> <CORPS> </CORPS> </MÉMO> <NOM>Luc de Royer</NOM> formater le document en utilisant une feuille de style donnée). <PAR>Veuillez Le nom noter après que le la "<?" prochaine s appelle réunion la cible du de CAl'instruction de se traitement. tiendra chez B&G le 27 septembre 2024.</PAR> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 64

Pseudo-attributs <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> Dans la déclaration XML (et dans certaines instructions <AUTEUR>Julia Royer</AUTEUR> de traitement), les paires: <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie nom="valeur" Picard</NOM> <NOM>Émilie Dugré</NOM> </DESTINATAIRES> sont appelées «pseudo-attributs». Ceux-ci ont la même <SUJET>Votre présence forme que nous les tient spécifications à cœur d attributs,!</sujet> mais comme ils <CC> ne sont pas dans des balises de début, ce ne sont pas <NOM>Luc véritablement Royer</NOM> des attributs, d où leur nom. <NOM>Jonas Dupras</NOM> </CC> Ici, dans la déclaration XML de l exemple, il y a deux <CORPS> pseudo-attributs (version et encoding). <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 65

Pseudo-attribut «encoding» dans la déclaration XML <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> Dans la déclaration XML, le pseudo-attribut «encoding» <AUTEUR>Julia Royer</AUTEUR> doit correspondre au jeu de caractères utilisé à la <DESTINATAIRES> sauvegarde du document XML en tant que fichier texte. <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> <NOM>Émilie Plusieurs Dugré</NOM> valeurs sont acceptées comme «encoding», </DESTINATAIRES> mais les deux plus fréquentes sont: <SUJET>Votre présence nous tient à cœur!</sujet> <CC> iso-8859-1 <NOM>Luc Royer</NOM> </CC> <CORPS> <NOM>Jonas et Dupras</NOM> UTF-8 <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> </CORPS> </MÉMO> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 66

Pseudo-attribut «encoding» dans la déclaration XML encoding="iso-8859-1" doit être spécifié si on a sauvegardé le fichier en ANSI Dans Bloc-notes: Copyright 2010-2016 Yves Marcoux - Reproduction interdite 67

Pseudo-attribut «encoding» dans la déclaration XML encoding="utf-8" doit être spécifié si on a sauvegardé le fichier en UTF-8 Dans Bloc-notes: Copyright 2010-2016 Yves Marcoux - Reproduction interdite 68

Sections CDATA (ou littérales) Si on a un passage avec beaucoup de caractères spéciaux, au lieu d utiliser un appel d entité prédéfinie pour chacun, on peut inclure le passage entre les délimiteurs <![CDATA[ et ]]> Une section CDATA «désactive» tous les caractères normalement réservés au balisage (y compris les délimiteurs de commentaires) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 69

Exemple avec section CDATA <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE MÉMO SYSTEM "Memo-dtd1.dtd"> <MÉMO> <AUTEUR>Julia Royer</AUTEUR> <DESTINATAIRES> <NOM COURRIEL="sp@picard.com">Sylvie Picard</NOM> </DESTINATAIRES> <SUJET>Votre présence nous tient à cœur!</sujet> <CORPS> <PAR>Veuillez noter que la prochaine réunion du CA se tiendra chez B&G le 27 septembre 2024.</PAR> <PAR>On parlera des balises <![CDATA[<MÉMO>, </SUJET> & </PAR>]]>.</PAR> </CORPS> </MÉMO> Autre exemple avec une section CDATA Copyright 2010-2016 Yves Marcoux - Reproduction interdite 70

Notes (1/6) En XML, toute balise de début doit obligatoirement avoir une balise de fin correspondante et le même identificateur générique doit figurer dans ces deux balises: <foo> </foo> «Fausse» exception : balises d élément vide (voir plus loin) Attention: En HTML, certaines balises de début n'ont pas de balises de fin correspondantes, ex.: <BR>, <HR> et <IMG>. Ce n est pas possible en XML (ni en XHTML)! Copyright 2010-2016 Yves Marcoux - Reproduction interdite 71

Notes (2/6) Un élément part d'une balise de début et va jusqu'à la balise de fin correspondante (inclusivement) Le contenu d'un élément est ce qu'il y a entre les balises de début et de fin de l'élément Un élément peut donc en contenir (imbriquer) d'autres Copyright 2010-2016 Yves Marcoux - Reproduction interdite 72

Notes (3/6) La casse des lettres (majuscules versus minuscules) est significative, notamment dans les identificateurs génériques, les noms d entités et les noms d attributs Ex.: <a> n est pas équivalent à <A> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 73

Notes (4/6) Un élément vide (c.-à-d. dont le contenu est vide) peut être représenté par une balise d'élément vide, qui est fait une contraction des balises de début et de fin de l'élément; exemple: <a/> est strictement équivalent à <a></a> Une balise d'élément vide peut, comme une balise de début, contenir une ou des spécifications d'attributs Copyright 2010-2016 Yves Marcoux - Reproduction interdite 74

Notes (5/6) Tout document XML doit avoir un unique élément de plus haut niveau (qui englobe, c.-à-d. contient, tous les autres éléments) Cet élément s appelle élément-racine ou élément-document On peut avoir plusieurs spécifications d attribut dans la même balise de début: <xref target="chap1" mode="tab">chapitre 1</xref> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 75

Notes (6/6) Mais on ne peut pas spécifier deux fois le même attribut dans une balise de début: MAL FORMÉ: <épicerie item="sucre" item="café"></épicerie> Un commentaire ne peut pas contenir deux tirets de suite! MAL FORMÉ: <!-- Attention aux "--"! --> Copyright 2010-2016 Yves Marcoux - Reproduction interdite 76

Règles sur les sections CDATA Une section CDATA peut survenir n importe où dans le contenu textuel d un élément (et seulement là) Elle ne peut pas se retrouver dans une valeur d attribut: mal formé <a b="<![cdata[&&]]>" /> En fait, une valeur d attribut ne peut jamais contenir directement le caractère "<" (mais peut contenir l appel d entité <) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 77

Instructions de traitement et commentaires Peuvent survenir à l intérieur de l'élémentdocument ou en dehors (avant * ou après) Si à l intérieur de l'élément-document: Ne peuvent survenir qu à l extérieur des balises (ne peuvent pas être imbriqués dans une balise) Ex.: <mémo <?a?> > *** MAL FORMÉ *** Ne sont pas considérés comme du contenu textuel (sont donc complètement ignorés en tant que contenu textuel) *Tout ce qui vient avant l'élément-document s'appelle le prologue du document Copyright 2010-2016 Yves Marcoux - Reproduction interdite 78

Instructions de traitement, commentaires et sections CDATA (1/2) Le "contenu" d'un commentaire, d'une instruction de traitement ou d une section CDATA, c.-à-d.: tout ce qui se trouve entre "<!--" et "-->" ou tout ce qui se trouve entre "<?" et "?>" ou tout ce qui est entre "<![CDATA[" et "]]>" n'est jamais interprété comme du balisage Copyright 2010-2016 Yves Marcoux - Reproduction interdite 79

Instructions de traitement, commentaires et sections CDATA (2/2) Exemples: <!-- Je vous dis <allo />! --> <?salut Je vous dis <allo />!?> <?MSdoc & R&D?> Dans ces exemples: Les chaînes "<allo />" ne sont pas des balises (même si elles en ont l'air) "&" n est pas un appel d entité "R&D" n est pas une erreur de bien-formé Copyright 2010-2016 Yves Marcoux - Reproduction interdite 80

Règles sur les noms XML (1/3) Ces règles s appliquent à tous les noms XML, c est-à-dire aux: Identificateurs génériques Noms d attributs Noms d entités Cibles d instructions de traitement Copyright 2010-2016 Yves Marcoux - Reproduction interdite 81

Règles sur les noms XML (2/3) Un nom XML: Ne peut contenir que: Des lettres, avec ou sans diacritiques Des chiffres Les caractères _. - Certains autres caractères, ex.: lettres non latines Pas d espace ou autres caractères spéciaux Doit commencer par une lettre ou _ (souligné) Copyright 2010-2016 Yves Marcoux - Reproduction interdite 82

Règles sur les noms XML (3/3) Le «:» est permis dans un nom XML, mais avec règles particulières Sert pour les espaces de nommage XML (XML namespaces), vus en fin de session Donc: Dans les documents XML que vous créez, utilisez des noms XML sans «:» Il n y aura pas de nom avec «:» dans les quiz Attendez-vous d en rencontrer: Dans certains exemples du cours Dans des documents XML dans la «vraie vie» Copyright 2010-2016 Yves Marcoux - Reproduction interdite 83