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



Documents pareils
BD et XML : Exercices

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Consolidation d un modèle conceptuel de données de Master Data Management

Programmation de services sensibles au contexte en téléphonie sur IP

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

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

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

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

ech-0148 Motifs d annonce Entreprises - taxes de domaine

AdressePostale 1.2 Description d une adresse postale 16/01/2004

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

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

Outils logiciels pour l'ingénierie documentaire

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

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

Master d Informatique Corrigé du partiel novembre 2010

L'essentiel de XML. Cours XML. Olivier Carton

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

Annexe C Spécification pour les fichiers importés en format XML

Document Object Model (DOM)


Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Programmation des Applications Réparties. Parsers XML DOM et SAX

Optimisation des échanges et traitements XML

Génie Logiciel avec Ada. 4 février 2013

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

OASIS Date de publication

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

XML : documents et outils

TP 1. Prise en main du langage Python

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

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Le langage UML : Les cas d utilisation

Web Application Models

Gestion Électronique de Documents et XML. Master 2 TSM

STAGE IREM 0- Premiers pas en Python

Préparation d'un fichier XML pour le reporting des activités avec l'étranger concernant les services, les transferts et les marchandises. Ed.

TP1. Outils Java Eléments de correction

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Spécification de Harvard. Version française: Scriptol.fr

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

Générer du code à partir d une description de haut niveau

Learning Object Metadata

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

Séance 1 Introduction aux bases de données

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Approche Contract First

des Données et Référentiels sur l'eau Service d'administration Nationale

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Définitions. Numéro à préciser. (Durée : )

UML (Diagramme de classes) Unified Modeling Language

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

1 Introduction au codage

OCL - Object Constraint Language

Introduction aux «Services Web»

Service d'authentification LDAP et SSO avec CAS

Lancement de la simulation SIMBA

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

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Guide de création de site web optimisé

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

Eole - gestion des dictionnaires personnalisés

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

Application de lecture de carte SESAM-Vitale Jeebop

Utilitaires méconnus de StrataFrame

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

4. SERVICES WEB REST 46

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Conception des bases de données : Modèle Entité-Association

Premiers pas avec Mathematica

Information utiles. webpage : Google+ : digiusto/

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

Guide de référence pour la Belgique relatif au Format XML du virement européen. version janvier

Chap III : Les tableaux

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

Programmation Internet Cours 4

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Manuel d intégration API SOAP SMS ALLMYSMS.COM

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Le standard d'échange de données pour l'archivage (SEDA)

UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS

Parcours FOAD Formation EXCEL 2010

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

TD : Codage des images

Les outils de création de sites web

Initiation à JAVA et à la programmation objet.

Création d objet imbriqué sous PowerShell.

Langage SQL : créer et interroger une base

L architecture des services Web

A. À propos des annuaires

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

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Module http MMS AllMySMS.com Manuel d intégration

< Atelier 1 /> Démarrer une application web

Transcription:

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 XML? Comment analyser un document XML?

3 Document XML prologue Élément racine Élément Corps du document attribut

Document XML Schéma XML XSLT SAX Document XML Prologue? <?xml version="1.0" encoding="iso-8859-1 standalone="yes"?> Optionnel mais conseillé Paramètre Version: Version de XML utilisée pour décrire le document soit 1.0 soit 1.1 Paramètre encoding: Le jeu/codage de caractères utilisé. L encodage est basé sur la norme ISO 10646 (http://www.unicode.org). Les analyseurs XML reconnaissent automatiquement l'encodage UTF-8 et UTF-16. Paramètre standalone: Une indication de traitement qui précis si le fichier est autonome.

5 Elément Combien d éléments racine? Comment déclarer un élément? Une balise de début qui contient le nom de l élément (dont le premier caractère est soit une lettre, soit un espace souligné soit un deux points) et une balise de fin Que peut comporter un élément? Eventuellement des attributs: codepostal= 13013 D un contenu: vide (pas de contenu sauf des attributs), du texte, du texte et des éléments (élément mixte), un mélange de tout ça (élément complexe).

6 Elément Complexe <element-complexe> <element1> textuel </element1> <element2> <!--exemple d élément imbriqué complexe-- > <sous-element>encore un élément textuel </sous-element> </element2> </ element-complexe >

7 Commentaires <!-- commentaire--> Instructions de traitement Destinées aux applications qui traitent les documents XML. Elles sont l'analogue des directives #... du langage C qui s'adressent au compilateur Commence par <? Suivi du nom de l instruction de traitement suivi de ses éventuels paramètres suivis de?> <?xml-stylesheet href= unefeuille.css type= text/css?>

8 Document Bien Formé? Doit commencer par une déclaration XML Toutes les balises avec et sans contenu doivent être fermées Doit contenir un et un seul élément racine Les balises ne doivent pas se chevaucher Les valeurs d attributs doivent être entre guillemets ou apostrophes La casse doit être respectée pour toutes les occurrences de noms de balise (MAJUSCULES ou minuscules). Le nom d un élément ne peut commencer par un chiffre. Si le nom d un élément est composé d un seul caractère il doit être dans la plage [a-za-z] ou _ ou :. Avec au moins 2 caractères, le nom d un élément peut contenir _, -,. et : plus les caractères alphanumériques (attention, le caractère : est réservé à un usage avec les espaces de nom). Document Valide? Par rapport une DTD, un schéma XML

9 Schéma XML Qu est ce qu un schéma XML? Est un document XML bien formé(arbre) avec : Une racine schema (xs:schema ou xsd:schema), L'espace de noms des schémas XML est identifié par l'url http://www.w3.org/2001/xmlschema. Généralement associé, au préfixe xsd ou à xs. Une suite de définitions de types, d'éléments et d'attributs <?xml version= 1.0 encoding= iso-8859-1?> <xsd:schema xmlns:xsd= http://www.w3.org/2001/xmlschema > <! déclarations d éléments, d attributs et définitions de types -->.. </xsd:schema>

10 Comment lier un schéma XML à un document XML? Un document XML décrit par un XSD est appelé instance document. Dans le document XML: Il faut déclarer le namespace xsi: ( XMLSchema-instance) 2 façons de lier un schéma XSD à un document XML: Sans espace de noms Avec espace de noms

11 Comment lier un schéma XML à un document XML? Sans espace de noms La balise ouvrante de l élément racine du document XML contient des informations sur le schéma L attribut xsi:nonamespaceschemalocation définit l URL de votre unique XSD permettant de valider l intégralité du document. Le document XML: Le schéma XML (maisons.xsd):

12 Comment lier un schéma XML à un document XML? Avec espace de noms Le document XML doit inclure en plus : une déclaration pour le XMLSchema-instance namespace un attribut xsi:schemalocation qui dit où trouver XSD Cet attribut peut contenir plusieurs pairs "namespace-url " Le schéma XML (maisons.xsd)

13 Qu est ce qu on déclare dans un schéma XML? Des éléments Des attributs Leurs types: Simples pour les attributs Simples ou complexes pour les éléments Qui peuvent être définis par extension ou par restriction Des groupes d éléments et d attributs

14 Comment on déclare les éléments? Syntaxe: <xs:element/> Éléments parents: schema, choice, all, sequence

15 Déclaration locale ou globale Comment on fait référence à un élément global? <!-- Déclaration globale de l'élément title --> <xsd:element name="title type="titletype"/>... <!-- Définition d'un type global ou local --> <xsd:complextype... >... <!-- Utilisation de l'élément title --> <xsd:element ref="title"/>... </xsd:complextype>

16 Comment on déclare les attributs? Syntaxe: <xs:attribute/>

17 Déclaration d attributs Comment indiquer qu un attribut est optionnel? Use: dire si l attribut est optionnel (optional), obligatoire (required) ou interdit (prohibited) <xs:attribute name="lang" type="xs:string" use=" optional"/> Comment préciser qu un attribut a une valeur par défaut? <xs:attribute name="lang" type="xs:string" default="en"/> Par défaut un attribut est optionnel Comment on peut affecter une valeur fixe à un attribut? <xs:attribute name="lang" type="xs:string" fixed="en"/>

18 Types de données Quels types de données sont déclarés dans un schéma XML? a) Types simples: Utilisés pour les déclarations d attributs, d éléments dont le contenu se limite à des données atomiques. Ne peuvent pas contenir d autres éléments ou attributs 2 catégories Types de base: entier, chaine de caractères, etc. À définir b) Types complexes: Type composé d autres éléments ou contenant des attributs Permet de définir des séquences d éléments, des ensembles, des cardinalités, etc

19 Types Simples Types de base Les chaînes et les données xs:string: toute chaîne de caractères xs:normalizedstring: suite de blancs compactée xs:token: idem plus les blancs devant et derrière Les décimaux et les durées xs:time (HH:MM:SS.sss) xs:date (YYYY-MM-DD) xs:datetime (datettime) Les entiers Les noms Les clefs et les références: xs:id; xs:idref, xs:idrefs Les données de la DTD: xs:entity, xs: NMTOKEN, etc.

20 Types Simples

21 Types Simples Comment peut on définir un type simple? Syntaxe: <xs:simpletype> Peut être Nommé: défini directement sous la racine et muni de l attribut name qui donne son nom. <xs:simpletype name="montype"> Anonyme <xs:simpletype> sera inclus dans les déclarations xs:element ou xs:attribute des éléments ou attributs qu il sert à typer.

22 Types Simples Comment peut on déclarer un ensemble de valeurs de même type séparés par un blanc? Les listes <xs:list/> La liste 10 20 333 4 3 est donc bien cohérente avec ce type

23 Types Simples Comment déclarer plusieurs types? Type Union: <xs:union/> Les types simples sont spécifiés par leur nom (attribut membertypes) <xsd:simpletype name= " numérodetéléphonetechnique "> <xsd: union membertypes= "xsd:string numérodetéléphone"/> </xsd:simpletype> Instance valide: <téléphone>18</téléphone> <téléphone>pompiers </téléphone>

24 Types Complexes Comment peut on définir un type complexe? Syntaxe: <xs:complextype/>

25 Types Complexes Quand est ce qu on considère qu un élément est de type complexe? 1. Éléments vides (contenant des attributs) <product pid="1345"/> 2. Éléments qui contiennent d autres éléments <employee> <firstname>john</firstname> <lastname>smith</lastname> </employee> 3. Éléments qui contiennent seulement du texte et des attributs <food type="dessert">ice cream</food> 4. Éléments qui contiennent d autres éléments et du texte (Mixte) <description> It happened on <date lang="norwegian">03.03.99</date>... </description>

26 Types Complexes 1. Elément vide Ne peut contenir que des attributs Définition d un élément vide: Doc valide Doc valide Doc non valide

27 Types Complexes 2. Eléments composés d éléments est un type complexe contenant un élément qui contient seulement d autres éléments Exemple : élément "person" contenant d autres éléments On peut définir l élément "person" dans un schéma comme suit :?

28 Types Complexes 3. Éléments qui contiennent seulement du texte et des attributs Met en commun 2 principes contradictoires: le contenu est du texte (type simple)+ un typage complexe puisque l élément contient un attribut Se fait par dérivation une extension de type L'extension de type est similaire à l'héritage des langages de POO. Elle permet de définir un nouveau type en ajoutant des éléments et/ou des attributs à un type.

29 Types Complexes 4. Types complexes à contenu mixte Peut contenir des sous éléments, des attributs et du texte Afin de spécifier qu'il peut contenir également du texte, on utilise l'attribut mixed de l'élément xs:complextype. Par défaut, mixed="false"; il faut dans ce cas forcer mixed="true". Par exemple: L élément letter:

30 Types Complexes Comment définir une séquence d éléments? Indicateurs d ordre pour définir comment les éléments devraient se produire Sans ordre: (xs:all) Les choix: (xs:choice) Les séquences (xs:sequence)

31 Types Complexes Comment définir un nombre d occurrences pour un élément? 2 indicateurs: maxoccurs et minoccurs L infini est caractérisé par la chaîne unbounded

32 Dérivations de types Comment dériver de nouveaux types? Par extension Par restriction

33 Dérivations par extension a) Type complexe à contenu Simple: lui ajouter de nouveaux attributs. Similaire à l extension de type simple (toujours <xs:extension/>) L'élément <xs:extension> est encore enfant d'un élément <xs:simplecontent> b) Type complexe à contenu Complexe: Ajouter du contenu et/ou des attributs. Le contenu est ajouté après le contenu du type de base L'élément <xs:extension> est enfant d'un élément <xs:complexcontent>

34 Dérivations par extension 1. Extension de types simples Déclaration: <xs:extension/> (enfant de xs:simplecontent) L élément auteur est un type complexe dont le contenu simple (typé xs:string) a été étendu pour lui ajouter un attribut nom.

35 Dérivations par extension 2. Extension de types complexes <xs:complextype name="avectitretype"> <xs:attribute name="titre" type="xs:string"/> </xs:complextype> tendre <xs:complextype name="sectiontype"> <xs:complexcontent> <xs:extension base="avectitretype"> <xs:sequence> <xs:group minoccurs="0" ref="auteursgrp"/> <xs:element maxoccurs="unbounded" minoccurs="2" name="chapitre" type="chapitretype"/> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype>

36 Dérivations par restriction 1. Pour les types Simples Application d une facette: créer un sous type en limitant certaines caractéristiques (e.g: longueur d une chaîne) 2. Pour les types complexes Définit des contraintes sur une définition <xs:complexcontent> avec <xs:restriction>.

Contraintes numériques Expression régulière Contraintes textuelles Document XML Schéma XML XSLT SAX 37 Dérivations par restriction: Types simples Facette Enumeration Description Définit une liste de valeurs possibles. Length Nombre exact de caractères ou d item de liste autorisés (>=0) maxlength Nombre maximum de caractères autorisés ou d item de liste autorisés (>=0) minlength Nombre minimum de caractères autorisés ou d item de liste autorisés (>=0) WhiteSpace Spécification de traitement des espaces Pattern fractiondigits maxexclusive Définit la séquence de caractères acceptables en fonction d une expression régulière. Spécifie le nombre maximal de décimales à droite du point décimal Spécifie (exclusivement) la valeur maximum légale pour le type maxinclusive minexclusive mininclusive totaldigits Spécifie (inclusivement) la valeur maximum légale pour le type Spécifie (exclusivement) la valeur minimum légale pour le type Spécifie (inclusivement) la valeur minimum légale pour le type Spécifie le nombre maximum de chiffres dans une valeur décimale

38 Dérivations par restriction: Types simples Restriction à un ensemble de valeurs et gestion des blancs Restriction du type prédéfini string Liste de 3valeurs: Audi, Golf, BMW Doc non valide (valeur non listée) Doc valide Doc non valide (attention aux espaces)

39 Dérivations par restriction: Types simples Entre 5 et 8 caractères alphanumériques Doc non valide (espaces non gérés) Doc valide

40 Dérivations par restriction: Types simples Restriction à une série de valeurs Répétition du triplet (+) (Lettre minuscule, lettre majuscule, chiffre (\d)) 6digits exactement Doc valide Doc non valide (minuscule, majuscule ensuite chiffre) et 6 caractères

41 Dérivations par restriction: Types Complexes Le type complexe, USAddress, est dérivé d'un type complexe Adress et son élément country a pour valeur US.

42 Les groupes Comment nommer des groupes d éléments et d attributs?

43 Comment peut on définir un groupe d attributs? Syntaxe: <xs:attributegroup/> Les groupes d attributs sont définis globalement utilisés par référence

44 Comment peut on définir un groupe d éléments Syntaxe: <xs:group/> L élément xs:group permet de regrouper un contenu complexe. <xs:group name="xs:ncname(?)" minoccurs="xs:nonnegativeinteger(1)" maxoccurs="xs:nonnegativeinteger unbounded(1)" > (xs:annotation?) (xs:all xs:choice xs:sequence) </xs:group>

45 TP Réalisez le TP1 (www.lsis.org/sellamis/courses.html) A faire sous Altova XML Spy