97

Documents, données semi-structurées et usage

Embed Size (px)

Citation preview

Page 1: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 1/97

Page 2: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 2/97

Page 3: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 3/97

Moteurs de recherche courant = mots-clés:

Taux de rappel élevé, faible précision,

Sensible au vocabulaire, Insensible au contenu implicite.

Des difficultés à trouver, présenter l‟accès ou de maintenirles ressources documentaires électroniques disponiblessur le web,

Nécessité d‟une représentation des données pourpermettre aux produits logiciels (agents) de fournir unaccès intelligent à l‟information hétérogènes etdistribuées.

Motivations

327/02/2012

Page 4: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 4/97

Les êtres humains ne peuvent pas transférer des

connaissances directement:

Externaliser comme des informations Présenter de l'information

Décisions de présentation: le format, etc

Les humains le faire assez bien

Les ordinateurs ne peut-être à mieux communiquer les couches inférieures

Le transfert des connaissances

(1/5)

427/02/2012

Page 5: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 5/97

Le transfert des connaissances

(2/5)

Information

LecteurAuteur

Présentation

Connaissance

527/02/2012

Page 6: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 6/97

Le transfert des connaissances

(3/5)

Information

LecteurAuteur

Présentation

Connaissance

extériorisation

stylisation

627/02/2012

Page 7: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 7/97

Le transfert des connaissances

(4/5)

Information

LecteurAuteur

Présentation

Connaissance

extériorisation

stylisation

internalisation

interprétation

727/02/2012

Page 8: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 8/97

Le transfert des connaissances

(5/5)

Information

LecteurAuteur

Présentation

Connaissance

extériorisation

stylisation

internalisation

interprétation

827/02/2012

Page 9: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 9/97

Le balisage est à l'origine une activité typographique,

l'insertion des signes spécifiques dans un manuscrit pour direaux compositeurs comment ils devraient l'imprimer

(composition: choix des polices, etc.), informations sur la façon dont l'information devait être

présenté, Avec l'automatisation de l'impression, le balisage est devenu

un système de signes dans le texte de conduire le processusd'impression, une structure de balisage exprimé plutôt que la présentation,

Le balisage est l'ajout du contenu d'un document qui ditquelque chose sur la façon dont les différentes parties dudocument doivent être présentés.

Origine & évolution

927/02/2012

Page 10: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 10/97

un langage est un milieu complexe de transmettre une

signification,

la connaissance est une marque particulière de sens, Les langages sont utilisés pour transmettre des

connaissances, Les langages sont aggravés de la syntaxe et la

sémantique.

Langages

1027/02/2012

Page 11: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 11/97

Objectif commun: est d'imposer une structure d'untexte, afin d'agir sur cette structure. SGML: toujours pour édition et publication de documents

techniques, HTML: pour donner un texte d'une structure (logique) et del'afficher en conformité avec cette structure dans la fenêtred'un navigateur,

XML: pour définir une structure logique sur un contenutextuel, sans aucune référence à l'affichage visuel.

Les langages de balisage

SGML = Standard Generalized Markup Language (ISO 8879) [1986] HTML = Hyper Text Markup Language [1991]

XML = eXtensible Markup Language [1998] 

1127/02/2012

Page 12: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 12/97

Formats de livraison multiples la réutilisation de l'informationDe multiples sources d'information présentation cohérenteRéduire le temps passé avec violon présentation

Les applications peuvent faire usage de documents

27/02/2012 12

Avantages de la structure de

séparation & Présentation

Page 13: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 13/97

27/02/2012 13

Discussion TBL à XML 2000

Page 14: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 14/97

HTML XML

HTML est utilisé pour marquer le textede sorte qu'il peut être affiché aux

utilisateurs

XML est utilisé pour marquer lesdonnées de sorte qu'elles puissent être

traitées par des ordinateurs

HTML décrit à la fois la structure (parexemple <p>, <h2>, <em>) etl'apparence (par exemple <br>, <font>,<i>)

XML ne décrit que le contenu, ou "sens"

HTML utilise un fixe, inchangeableensemble de balises

Dans le langage XML, permettent auxutilisateurs de spécifier leurs propresmots-clés ou des attributs afin deparamétrer ou autrementsémantiquement qualifier leurs données

27/02/2012 14

HTML vs XML (1/3)

Page 15: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 15/97

27/02/2012 15

HTML vs XML (2/3)

HTML et XML se ressemblent, parce qu'ils sont les deuxlangages SGML (SGML = Standard Generalized MarkupLanguage)

Les deux langages HTML et XML utilisent les élémentsenfermés dans les balises (par exemple <body> Il s'agit d'unélément </ body>)

Les deux langages utilisent les attributs de la balised'utilisation (par exemple, <font face="Verdana" size="+1"color="red">)

Les deux langages utilisent les entités (&lt;, &gt;, &amp;, &quot;, &apos;) signifie respectivement (<,>, &, ", ')

Plus précisément, HTML est défini en SGML XML est un sous-ensemble (très petite) de SGML

Page 16: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 16/97

27/02/2012 16

HTML vs XML (3/3)

HTML est pour les humains, HTML décrit les pages Web, Vous ne voulez pas voir les messages d'erreur sur les pages Web

que vous visitez, Les navigateurs ignorent et / ou de corrigent de nombreuses

erreurs de HTML comme ils peuvent, si HTML est souvent bâclée.

XML est destiné aux ordinateurs, XML décrit des données, Les règles sont strictes et les erreurs ne sont pas autorisés,

De cette façon, XML, c'est comme un langage de programmation, Les versions actuelles de la plupart des navigateurs peuvent

afficher XML, Cependant, le soutien de navigateur XML est au mieux inégale.

Page 17: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 17/97

27/02/2012 17

XML: définissable par l'utilisateur

& balisage de domaine spécifiqueHTML:

<H1> Introduction XML </H1> 

<UL>  <LI> Teacher: Zayani Amel

<LI> assistant professor

</UL>

XML:<course> 

<title> Introduction XML </title> 

<teacher> Zayani Amel </teacher> 

<degree> assistant professor </degree> 

</course>

Page 18: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 18/97

27/02/2012 18

XML: document = arbre étiqueté

<course date=“...”> 

<title> XML </title> 

<teacher>

<name> Z.A.</name>

<degree> AP </degree> 

</teacher> 

</course> 

course

teachertitle

name degree

=

nœud = label + attr /valeurs + contenu

Racine unique

Nœud et feuille

Feuilles

Page 19: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 19/97

Structure logique

éléments

Structure physique Entités

Structures physiques et logiques sont correctementimbriqués

La valeur d'une entité doit être autorisé à être le contenud'un élément

Éléments ne peuvent pas être répartis sur plusieursentités

27/02/2012 19

Structure logique vs physique

Page 20: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 20/97

La structure logique est une hiérarchie d'éléments

nommés,

peut être représentée comme un arbre, L'élément racine est un élément du document , Les relations entre les éléments sont décrits en

termes de parents et les enfants, les ancêtres, etc.

27/02/2012 20

Structure d‟un élément 

Page 21: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 21/97

Au plus haut niveau de la structure physique est l'entité

document qui peut faire référence à des entités différentes, Les entités peuvent contenir des données analysables ou des

données non analysées, Utile pour rassembler un document et la réutilisation, Texte par rapport aux données analysées

Toutes les données analysées est un texte, mais un texte peut êtrenon analysée de données,

Les données analysables est un texte XML,

Des données analysables se composent de caractères, Les données analysables se compose de données de marquage et

de caractère, Des données non analysées a une notation qui lui est associée.

27/02/2012 21

Structure d‟une entité 

Page 22: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 22/97

Chaque élément doit avoir à la fois une balise de début et une

balise de fin, par exemple <name> ... </name>

Mais les éléments vides peuvent être abrégées : <break /> Les balises XML sont sensibles à la casse Les balises XML peuvent pas commencer par les lettres xml, dans

n'importe quelle combinaison de cas

Les éléments doivent être correctement imbriqués, EX. pas<b><i>bold and italic</b></i>

Chaque document XML doit avoir un et un seul élément racine Les valeurs des attributs doivent être entre guillemets simples

ou doubles, par exemple <time unit="days">

Les données de caractères ne peut pas contenir < ou & 

27/02/2012 22

XML bien formé

Page 23: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 23/97

balise de début, balise de fin,

Balises d'éléments vides, Les références d'entités, Les références de caractères,Commentaires,

délimiteurs CDATA,Déclarations de type de document, Les instructions de traitement.

27/02/2012 23

Types de balisage

Page 24: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 24/97

Cinq caractères spéciaux doivent être rédigés comme

des entités:

&amp;  pour &  (presque toujours nécessaire)&lt; pour < (presque toujours nécessaire)&gt; pour > (généralement pas nécessaire)&quot; pour " (nécessaire à l'intérieur des guillemets&apos; pour '  (nécessaire à l'intérieur des guillemets simples)

Ces entités peuvent être utilisées même dans lesendroits où ils ne sont pas absolument nécessaires,

Ce sont les seules entités prédéfinies en XML.

27/02/2012 24

Entités

Page 25: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 25/97

La déclaration XML ressemble à ceci:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  La déclaration XML n'est pas exigée par les navigateurs,

mais il est tenu par la plupart des processeurs XML (donc del'inclure!)

S'il est présent, la déclaration XML doit être le premier --même pas l'espacement devrait le précéder

Notez que les parenthèses sont <? et ?>

version="1.0" est nécessaire (ce qui est la seule version à ce jour)  encoding peut être "UTF-8"  (ASCII) ou "UTF-16"  (Unicode),

ou autre chose, ou il peut être omis standalone indique s‟il y a une DTD distincte

27/02/2012 25

déclaration XML

Page 26: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 26/97

27/02/2012 26

Tableau d‟encodage 

Standard ISO Code de pays

UTF-8 (Unicode) Jeu de caractères universel, mondial

ISO-8859-1 (Latin-1) Europe occidentale, Amérique latine

ISO-8859-15 ISO-8859-1 avec symbole euro ( €)

ISO-8859-2 (Latin-2) Europe centrale et orientale

ISO-8859-3 (Latin-3) Europe du sud-est

ISO-8859-4 (Latin-4) Scandinavie, pays baltes

ISO-8859-5 CyrilliqueISO-8859-6 Arabe

BIGS Chinois traditionnel

[…]  […] 

Page 27: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 27/97

IP (Les instructions de traitement) peuvent se produire

n'importe où dans le document XML (mais le plus souvent enpremier) ,

Un PI est une commande pour le programme du traitementdu document XML pour y faire face d'une certaine manière ,

Documents XML sont généralement générée par plus d'unprogramme,

Les programmes qui ne reconnaissent pas une PI donnée doit

simplement l'ignorer Format général d'un PI: <?target instructions?>  Exemple: 

<?xml-stylesheet type="text/css“ href="mySheet.css"?> 

27/02/2012 27

Les instructions de traitement

Page 28: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 28/97

<-! Ceci est un commentaire à la fois HTML et XML ->,

Les commentaires peuvent être placés n'importe où dans un documentXML,

Les commentaires sont utiles pour: Expliquer la structure d'un document XML, Commentant sur  les parties du XML au cours du développement et de

test, Commentaires ne sont pas des éléments et ne pas avoir une balise de

fin, Les flans après <!-- Et avant --> sont optionnels,

La séquence de caractères -- ne peut se produire dans le commentaire, Le support de fermeture doit être -->, Les commentaires ne sont pas affichés par les navigateurs, mais il peut

être vu par n'importe qui regarde le code source.

27/02/2012 28

Commentaires

Page 29: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 29/97

Par défaut, tous les textes à l'intérieur d'un document XML est

analysé, Vous pouvez forcer le texte à être traités comme des données de

caractères non analysées en l'enfermant dans <![CDATA[ ... ]]> Tous les caractères, même & et <, peut se produire dans un

CDATA, Les espaces dans un CDATA est (généralement) conservés, La seule restriction, c'est que la séquence de caractères ]]> ne

peut pas se produire dans un CDATA, CDATA est utile lorsque votre texte a beaucoup de caractères

illégaux (par exemple, si votre document XML contient du texteHTML).

27/02/2012 29

CDATA

Page 30: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 30/97

Noms (tel qu'il est utilisé pour les balises et les attributs)

doit commencer par une lettre ou un trait desoulignement, et peut se composer de:

Lettres, à la fois romaine (en anglais) et à l'étranger Chiffres romains, à la fois et à l'étranger

. (point)- (Trait d'union)

 _ (Trait de soulignement)

: (Deux points) doit être utilisé uniquement pour lesespaces de noms

La combinaison de caractères et des diluants (non utilisé enanglais)

27/02/2012 30

Les noms en XML

Page 31: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 31/97

27/02/201231

Un exemple de document

Exetensible Markup Language (XML)

http://www.w3.org/XML/

Extensible Markup Language (XML) is a simple, veryflexible text format derived from SGML (ISO 8879)

Originally designed to meet the challenges of large-

scale electronic publishing, XML is also playing anincreasingly important role in the exchange of a widevariety of data on the Web and elsewhere.

There is more detail about each of these Working

Groups in the Activity Statement and also on theindividual Working Group public web pages.

titre

url

auteur W3C

Introduction section

paragraphe

paragraphe

 Working Groups section

paragraphe

Page 32: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 32/97

27/02/2012 32

Un exemple de document XML

Page 33: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 33/97

Un document XML peut commencer avec un ou plusieurs

instructions de traitement (PIs) ou les directives:

<?xml version="1.0"?><?xml-stylesheet type="text/css" href="ss.css"?> 

À la suite des directives, il doit y avoir exactementun élément racine contenant tout le reste del'XML(instance de document):

<document>

……… 

</document>

27/02/2012 33

Structure générale

Page 34: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 34/97

Mis à part les directives, un document XML est construit à

partir de:

éléments: paragraphe  dans <paragraphe number="1"> …</paragraphe>

balises, par paires: <paragraphe number="1"> …</paragraphe> 

attributs: <paragraphe number="1"> …</paragraphe> 

entités: <titre>Exetensible Markup Language &amp;(XML)</titre> 

des données de caractères, qui peuvent être: analysée (traités comme du XML) -- c'est la valeur par défaut non analysée (tous les caractères se=tenir pour eux-mêmes)

27/02/2012 34

Blocs de construction XML

Page 35: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 35/97

Les attributs et les éléments sont un peu interchangeables Exemple d'utilisation seulement des éléments:

<auteur>

<nom>W3C</nom></auteur> 

Exemple utilisant les attributs:<auteur nom=“W3C“/> 

Vous trouverez que les éléments sont plus faciles à utiliser dansvos programmes - c'est une bonne raison de les préférer,

Attributs contiennent souvent des métadonnées, telles que desidentifiants uniques,

De manière générale, les navigateurs affichent uniquement leséléments (valeurs délimitées par des balises), pas les balises et lesattributs.

27/02/2012 35

Les éléments et attributs

Page 36: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 36/97

Espaces de noms sont un mécanisme simple pour créer des

noms uniques au monde pour les éléments et attributs de votrelangage de balisage.

Il y a deux façons d'appliquer un espace de noms à undocument: Fixer le préfixe à chaque élément et d'attribut dans le document, Ou déclarer un espace de noms par défaut pour le document.

Un espace de noms par défaut est déclaré en éliminant lepréfixe de la déclaration.

Ceci est important pour deux raisons: Retirer conflit entre la signification des noms identiques dans différents

langages de marquage, Autoriser différents langages de marquage pour être mélangés entre

eux, sans ambiguïté, Malheureusement, les espaces de noms n'étaient pas pleinement

compatibles avec les DTD, et par conséquent leur adoption a été lente.27/02/2012 36

espaces de noms XML

Page 37: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 37/97

37

espaces de noms XML (2/3)

ce XML porte d'informations de table HTML:

<table><tr><td> First Name</td>

<td> Second Name</td></tr>

</table>

ce XML comporte des informations sur une table

<table><name> List of students </name><width> 80 </width>

<length> 120 </length></table>

Les conflits de noms en XML peut facilement êtreévité en utilisant un préfixe de nom,

Le préfixe peut changer d'un document d'instance àun autre: Le préfixe est simplement une abréviation

(alias) pour l'espace de noms réelle, qui estl'URI (Uniform Resource Identifier),

Espaces de noms sont mis en œuvre en exigeant detous les noms XML se composent de deux parties: unpréfixe et une partie locale.

Un nom d'élément complet, i.e. h:table and l:table

La partie locale est l'identifiant pour les métadonnéesi.e. ("table ") 

<h:table><h:tr><h:td> First Name</h:td><h:td> Second Name</h:td>

</h:tr></h:table>

<l:table><l:name> List of students </l:name><l:width> 80 </l:width><l:length> 120 </l:length>

</l:table>

Page 38: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 38/97

27/02/2012 38

espaces de noms XML (3/3)

La déclaration d'espace de noms a la syntaxesuivante xmlns: prefix =₺URI₺, 

<root><h:table xmlns:h=₺http://www.w3.org/TR/html4/₺>

<h:tr>

<h:td> First Name</h:td><h:td> Second Name</h:td>

</h:tr></h:table><f:table xmlns:f=₺http://www.w3University.com/students₺><f:name> List of students </f:name>

<f:width> 80 </f:width><f:length> 120 </f:length>

</f:table></root>

Dans l‟exemple, l'attribut xmlns dans la balise<table> donner le h: et f: un espace de nomsqualifié préfixes,

<rootxmlns:h=₺http://www.w3.org/TR/html4/₺>xmlns:f=₺http://www.w3University.com/students₺> 

<h:table><h:tr>

<h:td> First Name</h:td><h:td> Second Name</h:td></h:tr>

</h:table><f:table><f:name> List of students </f:name>

<f:width> 80 </f:width><f:length> 120 </f:length>

</f:table>

</root>

Quand un espace de noms est défini pour unélément, tous les éléments enfants avec lemême préfixe sont associés avec le mêmeespace de noms,

Les espaces de noms peuvent être déclaréesdans les éléments où ils sont utilisés ou dansl'élément racine XML.

Page 39: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 39/97

est une chaîne de caractères qui identifie une adresse

de domaine Internet,

L‟espace de noms URI n'est pas utilisé parl'analyseur pour rechercher des informations,

le but est de donner l'espace de noms d'un nomunique,

Cependant, souvent, les entreprises utilisent l'espacede noms comme un pointeur vers une page Webcontenant des informations d'espace de noms.

27/02/2012 39

Uniform Resource Identifier

(URI)

Page 40: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 40/97

Commencez par <? Xml version = "1"?>,

XML est sensible à la casse,

Vous devez avoir exactement un élément racine quientoure tout le reste de l'XML,

Chaque élément doit avoir une balise de fermeture, Les éléments doivent être correctement imbriqués, Les valeurs des attributs doivent être entre

guillemets doubles ou simples, Il y a seulement cinq entités pré-déclarés.

27/02/2012 40

Révision des règles XML

Page 41: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 41/97

XML est conçu pour être traitées par des programmes

informatiques, à ne pas être affichée à l'homme, Néanmoins, presque tous les navigateurs actuels peuvent

afficher des documents XML, ils n'ont pas tous afficher de la même manière, Ils ne peuvent pas l'afficher du tout si elle comporte des

erreurs, Pour de meilleurs résultats, mettre à jour vos navigateurs

pour les versions les plus récentes, Rappelez-vous:

HTML est conçu pour être vu, XML est conçu pour être utilisé.

27/02/2012 41

Affichage d'un XML

Page 42: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 42/97

DTD (Document Type Definition) et XML Schema sont utilisées

pour définir des balises XML juridiques et leurs attributs pourdes buts particuliers,

CSS (Cascading Style Sheets) décrivent comment afficher lecode HTML ou XML dans un navigateur,

XSLT (eXtensible Stylesheet Language Transformations) etXPath sont utilisés pour traduire d'une forme de XML à un

autre,

DOM (Document Object Model), SAX (Simple API for XML, et JAXP (  Java API for XML Processing) sont toutes les API pourl'analyse XML.

27/02/2012 42

Technologies XML connexes

Page 43: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 43/97

Vous pouvez définir vos propres jeux de balises XML,

mais voici certaines sont déjà disponibles: XHTML: HTML redéfinies en XML, SMIL: Synchronized Multimedia Integration Language, MathML: Mathematical Markup Language, SVG: Scalable Vector Graphics, DrawML: Drawing MetaLanguage, ICE: Information and Content Exchange, ebXML: Electronic Business with XML, cxml: Commerce XML, CBL: Common Business Library.

27/02/2012 43

Normes de document étendues

Page 44: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 44/97

SGML: Standard Generalized Markup Language, XML : Extensible Markup Language, DTD: Document Type Definition, élément: (element) une balise de début et de fin, ainsi que leur contenu, attribut: (attribute) une valeur donnée dans la balise de début d'un

élément, entité: (entity) une représentation d'un caractère particulier ou une

chaîne, PI: (Processing Instruction) une instruction de traitement, pour être

éventuellement utilisés par un programme qui traite XML,

Espace de noms :(namespace) une chaîne unique qui fait référence à uneDTD, XML bien formé: XML qui suit les règles de syntaxe de base, XML valide: XML bien formé qui est conforme à une DTD.

27/02/2012 44

vocabulaire

Page 45: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 45/97

Page 46: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 46/97

Vous pouvez faire vos propres balises XML et les attributs, mais ...,

... tout programme qui utilise le XML doit savoir à quoi s'attendre!, Une DTD (Document Type Definition) définit les balises qui sont légales

et où ils peuvent se produire dans le fichier XML, Un document XML ne nécessite pas une DTD XML est bien structuré si elle suit certaines règles syntaxiques simples

(donnée plus tôt), En outre, XML est valide s‟il déclare un DTD et est conforme à cette DTD, Une DTD peut être inclus dans le fichier XML, mais il est généralement un

document distinct,

Un DTD (Document Type Definition) décrit la structure d'un ou plusieursdocuments XML. Plus précisément, un DTD décrit: Éléments Attributs entités

27/02/2012 46

XML valide

Page 47: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 47/97

<novel>

<foreword><paragraph> This is the great Tunisian novel </ paragraph>

</foreword><chapter number="1">

<paragraph> Civil unrest has calmed in Tunisia </paragraph><paragraph> Keep in touch with the latest news and travel advisories!</paragraph>

</chapter></novel>

Un document XML contient (et la DTD décrit): Éléments, tels que novel et paragraph, constitué de balises et le contenu Attributs, tels que number="1“, constitué d'un nom et une valeur Entités (non utilisé dans cet exemple)

27/02/2012 47

Un exemple XML

Page 48: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 48/97

<!DOCTYPE novel [

<!ELEMENT novel (foreword, chapter+)><!ELEMENT foreword (paragraph+)><!ELEMENT chapter (paragraph+)><!ELEMENT paragraph (#PCDATA)><!ATTLIST chapter number CDATA #REQUIRED>

]>

novel se compose d'un foreword et un ou plusieurs chapters, dans cet ordre, foreword est constitué d'un ou plusieurs paragraphs,  chapter est également constitué d'un ou plusieurs paragraphs,  paragraph se compose de données textuelles analysables (texte qui ne peut pas

contenir d'autres éléments), Chaque chapter doit avoir un attribut number.

27/02/2012 48

Un exemple DTD

Page 49: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 49/97

suffixes:

? Optionnel foreword? 

+ un ou plusieurs chapter+  * zéro ou plus appendix* 

Séparateurs: , les deux, dans l‟ordre foreword?, chapter+ 

| ou section|chapter Regroupement:

() regroupement (section|chapter)+

27/02/2012 49

descriptions des éléments

„ELEMENT‟ 

Page 50: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 50/97

La syntaxe est <! ELEMENT name category >, 

Le nom est le nom de l'élément utilisé dans les balises de

début et de fin, category peut être vide (EMPTY ): Dans lE DTD: <! ELEMENT br EMPTY>,  Dans le XML: <br> </ br> ou tout simplement <br />, 

Dans le XML, un élément vide ne peut avoir aucun

contenu entre la balise de début et la balise de fin, Un élément vide peut (et habituellement) possède des

attributs.

27/02/2012 50

Éléments sans enfants

Page 51: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 51/97

La syntaxe est <! ELEMENT name category >, 

La catégorie peut être n'importe quel (ANY ), Cela indique que tout contenu --des données de caractères, des

éléments, des éléments, même des éléments non déclarés--peuvent être utilisés, Depuis le point de l'ensemble de l'utilisation d'un DTD est de

définir la structure d'un document, ANY doit être évitée autantque possible,

Category  peut être (# PCDATA ), indiquant que les données decaractères ne doit être réalisée

Dans le DTD: <!ELEMENT paragraph (#PCDATA)> Dans le XML: <paragraph>A shot rang out!</paragraph>

Les parenthèses sont obligatoires ( required) !, Remarque: Dans (# PCDATA ), les espaces sont conservés exactement

comme entrée, Les éléments peuvent pas être utilisés dans les données de caractères

analysées,

Les entités sont des données de caractères, et peut être utilisé. 27/02/2012 51

Éléments ayant des enfants non

structurées

Page 52: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 52/97

category  peut décrire un ou plusieurs enfants:

<!ELEMENT novel (foreword, chapter+)>  Les parenthèses sont nécessaires, même si il y a un seul enfant Un espace doit précéder la parenthèse ouvrante Les virgules (,) entre les éléments signifie que tous les enfants doivent

apparaître, et doit être dans l'ordre spécifié "|" Séparateurs désigne tout enfant, ne peut être utilisé Tous les éléments enfants doivent eux-mêmes être déclarée

Les enfants peuvent avoir des enfants Les parenthèses peuvent être utilisées pour le regroupement:

<!ELEMENT novel (foreword, (chapter+|section+))>

27/02/2012 52

Éléments ayant des enfants

Page 53: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 53/97

#PCDATA décrit les éléments avec les données de

caractères seulement,

#PCDATA peut être utilisé dans une "ou" groupement: <!ELEMENT note (#PCDATA|message)*>

C'est ce qu'on appelle un contenu mixte Certains (plutôt grave) des restrictions s'appliquent: # PCDATA doit être le premier,

Les séparateurs doivent être₺

|₺,

  Le groupe doit être étoilé (sens zéro ou plus).

27/02/2012 53

Éléments à contenu mixte

Page 54: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 54/97

Tous les noms des éléments, attributs et entités, à la fois dans la

DTD et le XML, sont formées comme suit: Le nom doit commencer par une lettre ou un trait de soulignement

Le nom peut contenir que des lettres, des chiffres, des points, traitsd'union, de soulignement, et deux-points (et, pour les languesétrangères, en combinant les caractères et les prolongateurs)

DTD ne connaît pas les espaces de noms -- dans la mesure où ilsait, deux points est juste une partie du nom

Ce qui suit sont différents (et à la fois juridique):

<!ELEMENT chapter (paragraph+)>  <!ELEMENT myBook:chapter (myBook:paragraph+)>

Évitez les deux points dans les noms, sauf pour indiquer lesespaces de noms

27/02/2012 54

Les noms et les espaces de noms

Page 55: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 55/97

<!DOCTYPE novel [

<!ELEMENT novel(foreword, chapter+, biography?, criticalEssay*)>

<!ELEMENT foreword (paragraph+)><!ELEMENT chapter (section+|paragraph+)><!ELEMENT section (paragraph+)><!ELEMENT biography(paragraph+)><!ELEMENT criticalEssay (section+)>

<!ELEMENT paragraph (#PCDATA)>]>

27/02/2012 55

Un exemple élargi DTD

Page 56: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 56/97

En plus des éléments, DTD peut déclarer les attributs et

les entités, Cette diapositive montre des exemples, nous allons discuter

chacun en détail, Un attribut décrit les informations qui peuvent être mis dans labalise de début d'un élément,

Dans le langage XML: <dog name="Spot" age="3"></dog>  En DTD: <!ATTLIST dog

name CDATA #REQUIREDage CDATA #IMPLIED >

Une entité décrit le texte doit être remplacé par: Dans le langage XML: : &copyright;  Dans le DTD: <!ENTITY copyright "Copyright Dr. Dave"> 

27/02/2012 56

Attributs et entités

Page 57: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 57/97

Le format d'un attribut est la suivante:

<!ATTLIST element-namename type requirementname type requirement> 

où name-type-requirement peut être répété autant de fois quedésiré,

Notez que (uniquement) les espaces que séparent les parties, element-name indique quel élément peut avoir ces attributs name est le nom de l'attribut

Chaque élément a un type, tels que CDATA (données decaractères) Chaque élément peut être nécessaire required, optional, ou “fixed Dans XML, les attributs peuvent se produire dans n'importe quel

ordre.

27/02/2012 57

Attributs

Page 58: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 58/97

Il y a dix types d'attributs voici les plus importantes:

CDATA  La valeur est des données de caractère

(man|woman|child) La valeur est l'un de cette liste

ID  La valeur est un identifiant unique

ID; les valeurs doivent être des noms XML légales etdoivent être unique dans le document

NMTOKEN  La valeur est un nom XML légal Ceci est parfois utilisé pour interdire les espaces dans le nom Elle aussi interdit les numéros, car un nom XML ne peut pas

commencer par un chiffre

27/02/2012 58

Types d'attributs importants

Page 59: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 59/97

IDREF L'ID d'un autre élément IDREFS Une liste d'autres ID

NMTOKENS Une liste de noms XML valides  ENTITY Une entité ENTITIES Une liste des entitésNOTATION Une notation xml: Une valeur prédéfinie XML

27/02/2012 59

Types d'attributs sont moinsimportantes

Page 60: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 60/97

Rappelez-vous que l'attribut a la forme<!ATTLIST element-name name type requirement>

L'exigence est l'un des:

Une valeur par défaut, entre guillemets Exemple: <!ATTLIST degree CDATA "PhD"> 

#REQUIRED  L'attribut doit être présent

#IMPLIED  L'attribut est facultative

#FIXED "value"  L'attribut a toujours la valeur donnée Si cela est spécifié dans le fichier XML, la même valeur doit

être utilisé 

27/02/2012 60

exigences

Page 61: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 61/97

Il y a exactement cinq entités prédéfinies: &lt;, &gt;, &amp;, &quot;, et &apos;

Entités supplémentaires peuvent être définis dans la DTD:<!ENTITY copyright "Copyright Dr. Dave">

Les entités peuvent être définis dans un autre document:<!ENTITY copyright SYSTEM "MyURI">

Exemple d'utilisation dans le fichier XML: This document is &copyright; 2002. 

Les entités sont un moyen d'inclure le texte fixe (parfois appelé « passe-partout » , “boilerplate”)

Les entités ne devraient pas être confondu avec des références decaractères, qui sont des valeurs numériques entre & and # 

Exemple: &233#; or &xE9#; d'indiquer le caractère é

27/02/2012 61

entités

Page 62: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 62/97

27/02/2012 62

Un autre exemple: XML

<?xml version="1.0"?><!DOCTYPE weatherReport SYSTEM

"http://www.mysite.com/mydoc.dtd">

<weatherReport><date>05/29/2002</date><location>

<city>Philadelphia</city>, <state>PA</state><country>USA</country>

</location><temperature-range>

<high scale="F">84</high><low scale="F">51</low>

</temperature-range></weatherReport>

Page 63: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 63/97

27/02/2012 63

Le DTD pour cet exemple

<!ELEMENT weatherReport (date, location,temperature-range)>

<!ELEMENT date (#PCDATA)>

<!ELEMENT location (city, state, country)><!ELEMENT city (#PCDATA)><!ELEMENT state (#PCDATA)><!ELEMENT country (#PCDATA)><!ELEMENT temperature-range

((low, high)|(high, low))><!ELEMENT low (#PCDATA)>

<!ELEMENT high (#PCDATA)><!ATTLIST low scale (C|F) #REQUIRED><!ATTLIST high scale (C|F) #REQUIRED>

Page 64: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 64/97

Si un DTD est utilisé uniquement par un seul

document XML, il peut être mis directement dans cedocument:

<?xml version="1.0"><!DOCTYPE myRootElement [

<!-- DTD content goes here -->]><myRootElement>

<!-- XML content goes here -->

</myRootElement>Une DTD interne peut être utilisé que par le

document dans lequel il se produit.

27/02/2012 64

DTD interne

Page 65: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 65/97

Une DTD externe (une DTD qui est un document séparé) est

déclarée avec SYSTEM ou une commande PUBLIC :<!DOCTYPE myRootElement SYSTEM

"http://www.mysite.com/mydoc.dtd">   Le nom qui apparaît après DOCTYPE (dans cet exemple,myRootElement) doit correspondre au nom de l'élément racine dudocument XML,

Utilisez SYSTEM pour DTD externes que vous définissez vous-même, et utilisez PUBLIC pour les officiels, les DTD publiés,

DTD externes peut seulement être référencé avec une URL,

L'extension du fichier pour une DTD externe est .dtd

DTD externes sont presque toujours préférable que le DTDinterne, car ils peuvent être utilisés par plus d'un document

27/02/2012 65

DTD externe

Page 66: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 66/97

DTD sont des langages de spécification très faibles,

DTD ne permettent pas d'exprimer tout type de données,

DTD ne permettent pas d'exprimer toutes les contraintes, DTD n‟utilisent pas le paradigme OO, DTD ne prévoient pas de modularisation,

Ennuyant: DTD ne sont pas des documents XML, Si vous voulez faire une validation, vous avez besoin d'un

analyseur syntaxique pour le langage XML et l'autre pour le DTD, Cela rend l'analyse XML plus difficile qu'il n'y a besoin d'être, DTD ne sont pas « les espaces de nommage » et non extensible,

la solution: il s'agit d'une technologie plus récente et pluspuissante, recommandation W3C XML Schema.

27/02/2012 66

Limitations des DTD

Page 67: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 67/97

67

Exemple

Un fort basique DTD

même représentation à l'aide d'un XML Schema

Page 68: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 68/97

Page 69: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 69/97

est un langage de définition , permet de limiter les documents conformes à XML à un

vocabulaire spécifique et la structure hiérarchique.

définit les types d'éléments, les types d'attributs, et la compositiondes deux types de composites en (appelés types complexes). est analogue à un schéma de base, qui définit les noms de colonnes

et les types de données dans les tables de base de données. XML Schema est devenu une recommandation du W3C (synonyme

de standard), le 5 mai 2001. XML Schema 1.1 introduit un nouveau namespace, l'espace denoms de contrôle de version:

http://www.w3.org/2007/XMLSchema-versioning

27/02/2012 69

Qu'est-ce que XML Schema?(1/2)

Q ' t XML S h ?

Page 70: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 70/97

Nous avons deux types de documents:

un document de schéma (ou document de définition)

documents d'instances multiples qui sont conformes auschéma

A la fois, le document de schéma et le documentd'instance utilisent la syntaxe XML (balises, deséléments et des attributs).

Avoir une syntaxe unique pour les deux (documentde définition et document d‟instance) permet unanalyseur simple à utiliser pour les deux.

27/02/2012 70

Qu'est-ce que XML Schema?(1/2)

Page 71: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 71/97

Pour faire référence à une DTD dans un document XML,

la référence va avant l'élément racine:<?xml version="1.0"?>

<!DOCTYPE rootElement SYSTEM "url"><rootElement> ... </rootElement> 

Pour faire référence à un XML Schema dans un documentXML, la référence va dans l'élément racine:

<?xml version="1.0"?><rootElement

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" (The XML Schema Instance reference is required) xsi:noNamespaceSchemaLocation="url.xsd"> 

(This is where your XML Schema definition can be found) ...

</rootElement>

27/02/2012 71

Référence à un schéma

Page 72: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 72/97

Comme le XSD est écrit en XML, il peut porter à confusion

dont nous parlons,

Sauf pour les ajouts à l'élément racine de notre document dedonnées XML, le reste de cette conférence est sur  le documentde schéma XSD,

L'extension du fichier est .xsd  L'élément racine est <schema>  Le XSD commence comme ceci:

<?xml version="1.0"?><xs:schema xmlns:xs="http://www.w3.rg/2001/XMLSchema"> 

27/02/2012 72

Le document XSD

Page 73: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 73/97

Structurel

espaces de noms

les types primitifs et intégration du schéma structurel Héritage

Type de données entiers, dates, ... (comme dans les langages) définie par l'utilisateur (restreindre certaines propriétés)

Conformité processeurs, de la validité

27/02/2012 73

Les exigences de XML Schema

Page 74: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 74/97

Plus expressif que les DTD Exprimé en XML

Auto-descriptionUtilisable par diverses applications XML assez simple

27/02/2012 74

Principes de conception

L XML S h

Page 75: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 75/97

Les XML Schema sont extensibles, tout comme XML,

parce qu'ils sont écrits en XML.

Avec une définition de schéma extensible, vouspouvez: Réutiliser votre schéma dans d'autres schémas, Créez vos propres types de données dérivées de types

standard, Référence de plusieurs schémas du même document.

27/02/2012 75

Les XML Schema sontExtensibles

Q d i l hé

Page 76: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 76/97

Un XML Schema utilise une syntaxe XML pour

déclarer un ensemble de déclarations de type

simples et complexes: Un type est un modèle nommé qui peut contenir une ouplusieurs valeurs: Les types simples tenir une valeur, Les types complexes sont composés de plusieurs types

simples. Donc, un type a deux caractéristiques principales: un

nom et un ensemble de valeurs juridiques.

27/02/2012 76

Que doit les schémasressemblent?

Page 77: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 77/97

Un type simple est une déclaration d'élément qui comprend son nom et des

contraintes de valeur. Voici un exemple d'un élément appelé author qui peut contenir n'importe quel

nombre de caractères textuels:

<xsd:element name=”author” type=”xsd:string” /> La déclaration d'élément précédent permet une instance de document d'avoirun élément comme ceci:

<author> Fred Bloggs</author>  Notez que le type attribué à la déclaration d'élément déclare le type à

xsd:string:  Une chaîne est une séquence de caractères.

Il y a beaucoup de haut-types de données définies dans la spécification XMLSchema. Les éléments et les attributs ont des types.

Vous pouvez spécifier un type prédéfini simple ou faire vos propres. XML Schema a beaucoup de haut-types de données.

27/02/2012 77

Types simples prédéfinis

Page 78: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 78/97

XSDL types intégrés

≈ CDATA *  * 

* *  * 

*: Types d'attributs

XML

NB: Les valeurs dans les

documents représentés par

strings

C XML S h T

Page 79: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 79/97

Communes XML Schema Typesde données primitifs

Page 80: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 80/97

Un élément simple ne peut pas avoir des attributs, Un élément simple ne peut pas avoir d'autres éléments dans

leur contenu,

Un élément simple est définie comme<xs:element name="name" type="type" /> où:

name est le nom de l'élément les valeurs les plus courantes pour type sont

xs:boolean xs:integerxs:date xs:stringxs:decimal xs:time 

D'autres attributs d'un élément simple peut avoir: default="default value" si aucune autre valeur n'est spécifiée fixed="value" aucune autre valeur peut être spécifiée

27/02/2012 80

Définition d'un élément simple

Page 81: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 81/97

Les attributs eux-mêmes sont toujours déclarés comme

des types simples

Un attribut est défini comme<xs:attribute name="name" type="type" />

où: name et le type  sont les mêmes que pour xs:element 

D'autres attributs d'un élément simple peut avoir: default="default value"  si aucune autre valeur n'est spécifiée fixed="value"  aucune autre valeur peut être spécifiée use="optional " l'attribut n'est pas nécessaire default)

use="required" l'attribut doit être présent

27/02/2012 81

Définition d'un attribut

Page 82: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 82/97

Une énumération limite la valeur d'être partie d'un

ensemble fixe de valeurs Exemple:

<xs:element name="season"><xs:simpleType>

<xs:restriction base="xs:string"><xs:enumeration value="Spring"/><xs:enumeration value="Summer"/><xs:enumeration value="Autumn"/><xs:enumeration value="Fall"/><xs:enumeration value="Winter"/>

</xs:restriction></xs:simpleType>

</xs:element>

27/02/2012 82

Enumération

Page 83: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 83/97

La forme générale pour mettre une restriction à une

valeur de texte est le suivant:<xs:element name="name"> (or xs:attribute ) 

<xs:restriction base="type">... the restrictions ... </xs:restriction>

</xs:element> 

Par exemple:<xs:element name="age">

<xs:restriction base="xs:integer"><xs:minInclusive value="0"><xs:maxInclusive value="140">

</xs:restriction></xs:element>

27/02/2012 83

Restrictions ou "facettes"

Page 84: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 84/97

minInclusive -- nombre doit être ≤ à la valeur donnée

(value) ,

minExclusive -- nombre doit être < à la valeur donnée ,maxInclusive -- nombre doit être ≥ à la valeur donnée ,

maxExclusive -- numéro doit être > à la valeur donnée ,

totalDigits -- numéro doit avoir exactement les chiffres , fractionDigits -- nombre ne doit pas avoir plus de chiffres

après la virgule.

27/02/2012 84

Restrictions sur le nombre

Page 85: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 85/97

length -- la chaîne doit contenir exactement des caractères,

minLength -- la chaîne doit contenir au moins des caractères,

maxLength -- la chaîne ne doit pas contenir plus de caractères, pattern -- «value» est une expression régulière que la chaîne doit

correspondre whiteSpace -- pas vraiment une "restriction" -- dit quoi faire avec un

espace value="preserve" Gardez tous les espaces, value="replace"  Changer tous les caractères d'espacement aux espaces, value="collapse"  Retirer espaces initiaux et finaux, et de remplacer

toutes les séquences d'espaces blancs par un seul espace.

27/02/2012 85

Restrictions sur les chaînes

M dèl ( i é liè )

Page 86: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 86/97

Une facette intéressante est le modèle, ce qui permet

des restrictions fondées sur une expression régulière,Cette expression régulière spécifie un mot normal

d'un ou plusieurs caractères:<xs:element name="Word"> 

<xs:simpleType name="WordType"> <xs:restriction base="xs:string"> 

<xs:pattern value="[a-zA-Z]+"/> </xs:restriction> 

</xs:simpleType> </xs:element> 

27/02/2012 86

Modèles (expressions régulières)(1/2)

Modèles (expressions régulières)

Page 87: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 87/97

Les caractères individuels peuvent être répétées un

certain nombre de fois dans l'expression régulière. L'expression régulière suivante restreint (limite) la

chaîne à exactement 8 caractères alpha-numériques:<xs:element name="password"> 

<xs:simpleType> <xs:restriction base="xs:string"> 

<xs:pattern value="[a-zA-Z0-9]{8}"/> </xs:restriction> </xs:simpleType> 

</xs:element> 27/02/2012 87

Modèles (expressions régulières)(1/2)

Page 88: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 88/97

Un élément avec des attributs a toujours une définition de type complexe Est un élément XML qui contient d'autres éléments, d'attributs ou d'autres

(comme C struct, ou OO class) Décrire la structure d'un document, plutôt que le contenu

Il y a quatre sortes d'éléments complexes: Vide ceux qui ne contiennent que d'autres éléments, ceux qui contiennent du texte uniquement, ceux qui contiennent (les deux) autres éléments et du texte.

Chacun des quatre types peuvent contenir des attributs aussi bien. Définition de Type complexe

<sequence>: collection ordonnée d‟ éléments typés = A B C <all>: collection non ordonnée d‟ éléments typés = (A B C) <choice>: choix entre éléments typés = A | B | C

Type complexe

É

Page 89: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 89/97

Un élément complexe est défini comme

<xs:element name="name"><xs:complexType>

... information about the complex type... </xs:complexType>

</xs:element> Exemple:

<xs:element name="person"><xs:complexType>

<xs:sequence><xs:element name="firstName" type="xs:string" /><xs:element name="lastName" type="xs:string" />

</xs:sequence>

</xs:complexType></xs:element>

<xs:sequence> indique que les éléments doivent se produire dans cetordre précis

Rappelez-vous que les attributs sont toujours des types simples. 

27/02/2012 89

Éléments complexes

Page 90: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 90/97

Les éléments déclarés au "niveau supérieur" d'un <schema>  sontdisponibles pour une utilisation tout au long du schéma,

Les éléments déclarés dans un xs:complexType  correspondent à cetype

Ainsi, dans<xs:element name="person">

<xs:complexType><xs:sequence>

<xs:element name="firstName" type="xs:string" /><xs:element name="lastName" type="xs:string" />

</xs:sequence></xs:complexType></xs:element>

Les éléments firstName  et lastName sont seulement localementdéclarée,

L'ordre des déclarations à la "plus haut niveau" d'un <schema> ne

précise pas l'ordre dans le document de données XML.

90

Définitions globales et locales

Page 91: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 91/97

Pour utiliser un type que nous avons déclaré,

l'utiliser comme la valeur du type="..."

Exemples: <xs:element name="student" type="person"/>

<xs:element name="professor" type="person"/>

Portée est important: vous ne pouvez pas utiliser untype si est local à un autre type

27/02/2012 91

Définitions globales et locales

Page 92: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 92/97

xs:all --permet aux éléments d'apparaître dans n'importe

quel ordre,<xs:element name="person">

<xs:complexType>

<xs:all><xs:element name="firstName" type="xs:string" /><xs:element name="lastName" type="xs:string" />

</xs:all></xs:complexType>

</xs:element>  En dépit de nom, les membres d'un groupe xs: all peut se

produire une fois ou pas du tout, Vous pouvez utiliser minOccurs="n" et maxOccurs="n" pour

spécifier combien de fois un élément peut se produire(valeur par défaut 1),

Dans ce contexte, n peut seulement être 0 ou 1

27/02/2012 92

xs:all

Page 93: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 93/97

Une fois que vous avez défini un élément ou un

attribut (avec name="..."), vous y référer à elle avecref="..."

Exemple: <xs:element name="person">

<xs:complexType><xs:all>

<xs:element name="firstName" type="xs:string" /><xs:element name="lastName" type="xs:string" />

</xs:all> </xs:complexType></xs:element>

<xs:element name="student" ref="person"> Ou juste: <xs:element ref="person">

27/02/2012 93

Référencement

Élément de texte avec des

Page 94: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 94/97

Si un élément de texte possède des attributs, il n'est

plus un type simple,<xs:element name="population">

<xs:complexType><xs:simpleContent>

<xs:extension base="xs:integer"><xs:attribute name="year" type="xs:integer">

</xs:extension>

</xs:simpleContent></xs:complexType>

</xs:element>

27/02/2012 94

Élément de texte avec desattributs

Page 95: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 95/97

Les éléments vides sont (ridiculement) complexe,

<xs:complexType name="counter"><xs:complexContent>

<xs:extension base="xs:anyType"/><xs:attribute name="count" type="xs:integer"/>

</xs:complexContent></xs:complexType>

27/02/2012 95

Les éléments vides

Page 96: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 96/97

Les éléments mixtes peuvent contenir à la fois du texte et

des éléments, Nous ajoutons mixed="true"  pour l'élément

xs:complexType,

Le texte lui-même n'est pas mentionné dans l'élément, etpeut aller n'importe où (il est fondamentalement ignoré)<xs:complexType name="paragraph" mixed="true"> 

<xs:sequence><xs:element name="someName" type="xs:anyType"/>

</xs:sequence></xs:complexType>

27/02/2012 96

Eléments mixtes

Page 97: Documents, données semi-structurées et usage

5/14/2018 Documents, donn es semi-structur es et usage - slidepdf.com

http://slidepdf.com/reader/full/documents-donnees-semi-structurees-et-usage 97/97

Vous pouvez baser un type complexe sur un autre

type complexe 

<xs:complexType name="newType"><xs:complexContent><xs:extension base="otherType">

...new stuff...

</xs:extension>

</xs:complexContent></xs:complexType>

Extensions