documents, données semi-structurées et usage
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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 (<, >, &, ", ') signifie respectivement (<,>, &, ", ')
Plus précisément, HTML est défini en SGML XML est un sous-ensemble (très petite) de SGML
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.
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>
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
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
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
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é
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é
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
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:
& pour & (presque toujours nécessaire)< pour < (presque toujours nécessaire)> pour > (généralement pas nécessaire)" pour " (nécessaire à l'intérieur des guillemets' 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
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
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
[…] […]
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
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
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
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
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
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
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
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 &(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
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
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
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>
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.
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)
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
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
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
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
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
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
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
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
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
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‟
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
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
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
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
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
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
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: : ©right; Dans le DTD: <!ENTITY copyright "Copyright Dr. Dave">
27/02/2012 56
Attributs et entités
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
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
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
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
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: <, >, &, ", et '
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 ©right; 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
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>
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>
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
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
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
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
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
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 ?
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)
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
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
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
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
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é
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?
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
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
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
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
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
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
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"
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
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è )
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)
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)
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
É
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
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
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
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
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
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
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
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
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