Anda di halaman 1dari 97

Motivations

Moteurs de recherche courant = mots-cls: Taux de rappel lev, faible prcision, Sensible au vocabulaire, Insensible au contenu implicite. Des difficults trouver, prsenter laccs ou de maintenir les ressources documentaires lectroniques disponibles sur le web, Ncessit dune reprsentation des donnes pour permettre aux produits logiciels (agents) de fournir un accs intelligent linformation htrognes et distribues.
27/02/2012 3

Le transfert des connaissances (1/5)

Les tres humains ne peuvent pas transfrer des connaissances directement:


Externaliser comme des informations Prsenter de l'information
Dcisions de prsentation: le format, etc

Les humains le faire assez bien Les ordinateurs ne


peut-tre mieux communiquer les couches infrieures

27/02/2012

Le transfert des connaissances (2/5)

Auteur
Connaissance

Lecteur

Information

Prsentation
27/02/2012 5

Le transfert des connaissances (3/5)

Auteur
Connaissance extriorisation Information

Lecteur

stylisation
Prsentation
27/02/2012 6

Le transfert des connaissances (4/5)

Auteur
Connaissance extriorisation Information

Lecteur

internalisation

stylisation
Prsentation
27/02/2012

interprtation

Le transfert des connaissances (5/5)

Auteur
Connaissance extriorisation Information

Lecteur

internalisation

stylisation
Prsentation
27/02/2012

interprtation

Origine & volution


Le balisage est l'origine une activit typographique,

Avec l'automatisation de l'impression, le balisage est devenu un systme de signes dans le texte de conduire le processus d'impression, Le balisage est l'ajout du contenu d'un document qui dit quelque chose sur la faon dont les diffrentes parties du document doivent tre prsents.
27/02/2012

l'insertion des signes spcifiques dans un manuscrit pour dire aux compositeurs comment ils devraient l'imprimer (composition: choix des polices, etc.), informations sur la faon dont l'information devait tre prsent,

une structure de balisage exprim plutt que la prsentation,

Langages

un langage est un milieu complexe de transmettre une signification, la connaissance est une marque particulire de sens, Les langages sont utiliss pour transmettre des connaissances, Les langages sont aggravs de la syntaxe et la smantique.

27/02/2012

10

Les langages de balisage

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

Objectif commun: est d'imposer une structure d'un texte, 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 de l'afficher en conformit avec cette structure dans la fentre d'un navigateur, XML: pour dfinir une structure logique sur un contenu textuel, sans aucune rfrence l'affichage visuel.
27/02/2012 11

Avantages de la structure de sparation & Prsentation

Formats de livraison multiples la rutilisation de l'information De multiples sources d'information prsentation cohrente Rduire le temps pass avec violon prsentation Les applications peuvent faire usage de documents

27/02/2012

12

Discussion TBL XML 2000

27/02/2012

13

HTML vs XML (1/3)

HTML XML
HTML est utilis pour marquer le texte XML est utilis pour marquer les de sorte qu'il peut tre affich aux donnes de sorte qu'elles puissent tre utilisateurs traites par des ordinateurs HTML dcrit la fois la structure (par XML ne dcrit que le contenu, ou "sens" exemple <p>, <h2>, <em>) et l'apparence (par exemple <br>, <font>, <i>) HTML utilise un fixe, inchangeable Dans le langage XML, permettent aux ensemble de balises utilisateurs de spcifier leurs propres mots-cls ou des attributs afin de paramtrer ou autrement smantiquement qualifier leurs donnes
27/02/2012 14

HTML vs XML (2/3)


HTML et XML se ressemblent, parce qu'ils sont les deux langages SGML (SGML = Standard Generalized Markup Language)

Les deux langages HTML et XML utilisent les lments enferms dans les balises (par exemple <body> Il s'agit d'un lment </ body>) Les deux langages utilisent les attributs de la balise d'utilisation (par exemple, <font face="Verdana" size="+1" color="red">) Les deux langages utilisent les entits (&lt;, &gt;, &amp;, &quot;, &apos;) signifie respectivement (<,>, &, ", ') HTML est dfini en SGML XML est un sous-ensemble (trs petite) de SGML
15

Plus prcisment,

27/02/2012

HTML vs XML (3/3)

HTML est pour les humains,


HTML dcrit 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 bcle.

XML est destin aux ordinateurs,


XML dcrit des donnes, Les rgles sont strictes et les erreurs ne sont pas autoriss,
De cette faon, XML, c'est comme un langage de programmation,

Les versions actuelles de la plupart des navigateurs peuvent afficher XML,

27/02/2012

Cependant, le soutien de navigateur XML est au mieux ingale.


16

XML: dfinissable par l'utilisateur & balisage de domaine spcifique

HTML:

<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>
17

27/02/2012

XML: document = arbre tiquet


nud = label + attr /valeurs + contenu

<course date=...> <title> XML </title> <teacher> = <name> Z.A.</name> <degree> AP </degree> </teacher> </course>

course title teacher name

Racine unique Nud et feuille

degree

Feuilles

27/02/2012

18

Structure logique vs physique

Structure logique
lments

Structure physique
Entits

Structures physiques et logiques sont correctement imbriqus


La valeur d'une entit doit tre autoris tre le contenu d'un lment lments ne peuvent pas tre rpartis sur plusieurs entits
27/02/2012 19

Structure dun lment

La structure logique est une hirarchie d'lments nomms,


peut tre reprsente comme un arbre,

L'lment racine est un lment du document , Les relations entre les lments sont dcrits en termes de parents et les enfants, les anctres, etc.

27/02/2012

20

Structure dune entit


Au plus haut niveau de la structure physique est l'entit document qui peut faire rfrence des entits diffrentes, Les entits peuvent contenir des donnes analysables ou des donnes non analyses, Utile pour rassembler un document et la rutilisation, Texte par rapport aux donnes analyses
Toutes les donnes analyses est un texte, mais un texte peut tre non analyse de donnes, Les donnes analysables est un texte XML,

Des donnes analysables se composent de caractres, Les donnes analysables se compose de donnes de marquage et de caractre, Des donnes non analyses a une notation qui lui est associe.
27/02/2012 21

XML bien form

Chaque lment doit avoir la fois une balise de dbut et une balise de fin, par exemple <name> ... </name> Mais les lments vides peuvent tre abrges : <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 lments doivent tre correctement imbriqus, EX. pas <b><i>bold and italic</b></i> Chaque document XML doit avoir un et un seul lment racine Les valeurs des attributs doivent tre entre guillemets simples ou doubles, par exemple <time unit="days"> Les donnes de caractres ne peut pas contenir < ou &
27/02/2012 22

Types de balisage

balise de dbut, balise de fin, Balises d'lments vides, Les rfrences d'entits, Les rfrences de caractres, Commentaires, dlimiteurs CDATA, Dclarations de type de document, Les instructions de traitement.
27/02/2012 23

Entits
Cinq caractres spciaux doivent tre rdigs comme des entits:
&amp; &lt; &gt; &quot; &apos; pour pour pour pour pour & < > " ' (presque toujours ncessaire) (presque toujours ncessaire) (gnralement pas ncessaire) (ncessaire l'intrieur des guillemets (ncessaire l'intrieur des guillemets simples)

Ces entits peuvent tre utilises mme dans les endroits o ils ne sont pas absolument ncessaires, Ce sont les seules entits prdfinies en XML.

27/02/2012

24

dclaration XML

La dclaration XML ressemble ceci:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
La dclaration XML n'est pas exige par les navigateurs, mais il est tenu par la plupart des processeurs XML (donc de l'inclure!) S'il est prsent, la dclaration XML doit tre le premier -mme pas l'espacement devrait le prcder Notez que les parenthses sont <? et ?> version="1.0" est ncessaire (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 sil y a une DTD distincte
27/02/2012 25

Tableau dencodage

Standard ISO UTF-8 (Unicode) ISO-8859-1 (Latin-1) ISO-8859-15 ISO-8859-2 (Latin-2) ISO-8859-3 (Latin-3) ISO-8859-4 (Latin-4) ISO-8859-5 ISO-8859-6 Code de pays Jeu de caractres universel, mondial Europe occidentale, Amrique latine ISO-8859-1 avec symbole euro () Europe centrale et orientale Europe du sud-est Scandinavie, pays baltes Cyrillique Arabe

BIGS
[]
27/02/2012

Chinois traditionnel
[]
26

Les instructions de traitement

IP (Les instructions de traitement) peuvent se produire n'importe o dans le document XML (mais le plus souvent en premier) , Un PI est une commande pour le programme du traitement du document XML pour y faire face d'une certaine manire , Documents XML sont gnralement gnre par plus d'un programme, Les programmes qui ne reconnaissent pas une PI donne doit simplement l'ignorer Format gnral d'un PI: <?target instructions?> Exemple: <?xml-stylesheet type="text/css href="mySheet.css"?>
27/02/2012 27

Commentaires

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

Les commentaires peuvent tre placs n'importe o dans un document XML, Les commentaires sont utiles pour:
Expliquer la structure d'un document XML, Commentant sur les parties du XML au cours du dveloppement et de test,

Commentaires ne sont pas des lments et ne pas avoir une balise de fin, Les flans aprs <!-- Et avant --> sont optionnels, La squence de caractres -- ne peut se produire dans le commentaire, Le support de fermeture doit tre -->, Les commentaires ne sont pas affichs par les navigateurs, mais il peut tre vu par n'importe qui regarde le code source.
27/02/2012 28

CDATA

Par dfaut, tous les textes l'intrieur d'un document XML est analys, Vous pouvez forcer le texte tre traits comme des donnes de caractres non analyses en l'enfermant dans <![CDATA[ ... ]]> Tous les caractres, mme & et <, peut se produire dans un CDATA, Les espaces dans un CDATA est (gnralement) conservs, La seule restriction, c'est que la squence de caractres ]]> ne peut pas se produire dans un CDATA, CDATA est utile lorsque votre texte a beaucoup de caractres illgaux (par exemple, si votre document XML contient du texte HTML).
27/02/2012 29

Les noms en XML

Noms (tel qu'il est utilis pour les balises et les attributs) doit commencer par une lettre ou un trait de soulignement, 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 les espaces de noms La combinaison de caractres et des diluants (non utilis en anglais)
27/02/2012 30

Un exemple de document
titre
url auteur section paragraphe paragraphe Exetensible Markup Language (XML) http://www.w3.org/XML/

W3C
Introduction Extensible Markup Language (XML) is a simple, very flexible text format derived from SGML (ISO 8879) Originally designed to meet the challenges of largescale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere. Working Groups There is more detail about each of these Working Groups in the Activity Statement and also on the individual Working Group public web pages.
31

section
27/02/2012

paragraphe

Un exemple de document XML

27/02/2012

32

Structure gnrale

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 exactement un lment racine contenant tout le reste de l'XML(instance de document):
<document> </document>
27/02/2012 33

Blocs de construction XML

Mis part les directives, un document XML est construit partir de:
lments: paragraphe dans <paragraphe number="1"> </paragraphe> balises, par paires: <paragraphe number="1"> </paragraphe> attributs: <paragraphe number="1"> </paragraphe> entits: <titre>Exetensible Markup Language &amp;(XML)</titre> des donnes de caractres, qui peuvent tre:
analyse (traits comme du XML) -- c'est la valeur par dfaut non analyse (tous les caractres se=tenir pour eux-mmes)

27/02/2012

34

Les lments et attributs

Les attributs et les lments sont un peu interchangeables Exemple d'utilisation seulement des lments: <auteur> <nom>W3C</nom> </auteur> Exemple utilisant les attributs: <auteur nom=W3C/> Vous trouverez que les lments sont plus faciles utiliser dans vos programmes - c'est une bonne raison de les prfrer, Attributs contiennent souvent des mtadonnes, telles que des identifiants uniques, De manire gnrale, les navigateurs affichent uniquement les lments (valeurs dlimites par des balises), pas les balises et les attributs.
27/02/2012 35

espaces de noms XML


Espaces de noms sont un mcanisme simple pour crer des noms uniques au monde pour les lments et attributs de votre langage de balisage. Il y a deux faons d'appliquer un espace de noms un document:
Fixer le prfixe chaque lment et d'attribut dans le document, Ou dclarer un espace de noms par dfaut pour le document.

Un espace de noms par dfaut est dclar en liminant le prfixe de la dclaration. Ceci est important pour deux raisons:
Retirer conflit entre la signification des noms identiques dans diffrents langages de marquage, Autoriser diffrents langages de marquage pour tre mlangs entre eux, sans ambigut, Malheureusement, les espaces de noms n'taient pas pleinement compatibles avec les DTD, et par consquent leur adoption a t lente.

27/02/2012

36

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> Les conflits de noms en XML peut facilement tre vit en utilisant un prfixe de nom, Le prfixe peut changer d'un document d'instance un autre: Le prfixe est simplement une abrviation (alias) pour l'espace de noms relle, qui est l'URI (Uniform Resource Identifier), Espaces de noms sont mis en uvre en exigeant de tous les noms XML se composent de deux parties: un prfixe et une partie locale. Un nom d'lment complet, i.e. h:table and l:table La partie locale est l'identifiant pour les mtadonnes i.e. ("table ")

ce XML comporte des informations sur une table <table> <name> List of students </name> <width> 80 </width> <length> 120 </length> </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>

37

espaces de noms XML (3/3)


La dclaration d'espace de noms a la syntaxe suivante 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>

Quand un espace de noms est dfini pour un lment, tous les lments enfants avec le mme prfixe sont associs avec le mme espace de noms, Les espaces de noms peuvent tre dclares dans les lments o ils sont utiliss ou dans l'lment racine XML.
<root xmlns: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> 38 </root>

Dans lexemple, l'attribut xmlns dans la balise <table> donner le h: et f: un espace de noms qualifi prfixes,
27/02/2012

Uniform Resource Identifier (URI)

est une chane de caractres qui identifie une adresse de domaine Internet, Lespace de noms URI n'est pas utilis par l'analyseur pour rechercher des informations, le but est de donner l'espace de noms d'un nom unique, Cependant, souvent, les entreprises utilisent l'espace de noms comme un pointeur vers une page Web contenant des informations d'espace de noms.
27/02/2012 39

Rvision des rgles XML


Commencez par <? Xml version = "1"?>, XML est sensible la casse, Vous devez avoir exactement un lment racine qui entoure tout le reste de l'XML, Chaque lment doit avoir une balise de fermeture, Les lments doivent tre correctement imbriqus, Les valeurs des attributs doivent tre entre guillemets doubles ou simples, Il y a seulement cinq entits pr-dclars.
27/02/2012 40

Affichage d'un XML

XML est conu pour tre traites par des programmes informatiques, ne pas tre affiche l'homme, Nanmoins, presque tous les navigateurs actuels peuvent afficher des documents XML,
ils n'ont pas tous afficher de la mme manire, Ils ne peuvent pas l'afficher du tout si elle comporte des erreurs, Pour de meilleurs rsultats, mettre jour vos navigateurs pour les versions les plus rcentes,

Rappelez-vous:
HTML est conu pour tre vu, XML est conu pour tre utilis.
27/02/2012 41

Technologies XML connexes


DTD (Document Type Definition) et XML Schema sont utilises pour dfinir des balises XML juridiques et leurs attributs pour des buts particuliers, CSS (Cascading Style Sheets) dcrivent comment afficher le code HTML ou XML dans un navigateur, XSLT (eXtensible Stylesheet Language Transformations) et XPath sont utiliss 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 pour l'analyse XML.
27/02/2012 42

Normes de document tendues

Vous pouvez dfinir vos propres jeux de balises XML, mais voici certaines sont dj disponibles:

27/02/2012

XHTML: HTML redfinies 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.

43

vocabulaire
SGML: Standard Generalized Markup Language, XML : Extensible Markup Language, DTD: Document Type Definition, lment: (element) une balise de dbut et de fin, ainsi que leur contenu, attribut: (attribute) une valeur donne dans la balise de dbut d'un lment, entit: (entity) une reprsentation d'un caractre particulier ou une chane, PI: (Processing Instruction) une instruction de traitement, pour tre ventuellement utiliss par un programme qui traite XML, Espace de noms :(namespace) une chane unique qui fait rfrence une DTD, XML bien form: XML qui suit les rgles de syntaxe de base, XML valide: XML bien form qui est conforme une DTD.

27/02/2012

44

XML valide

Vous pouvez faire vos propres balises XML et les attributs, mais ..., Une DTD (Document Type Definition) dfinit les balises qui sont lgales et o ils peuvent se produire dans le fichier XML, Un document XML ne ncessite pas une DTD XML est bien structur si elle suit certaines rgles syntaxiques simples (donne plus tt), En outre, XML est valide sil dclare un DTD et est conforme cette DTD, Une DTD peut tre inclus dans le fichier XML, mais il est gnralement un document distinct, Un DTD (Document Type Definition) dcrit la structure d'un ou plusieurs documents XML. Plus prcisment, un DTD dcrit:
lments Attributs entits ... tout programme qui utilise le XML doit savoir quoi s'attendre!,

27/02/2012

46

Un exemple XML

<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 dcrit):
lments, tels que novel et paragraph, constitu de balises et le contenu Attributs, tels que number="1, constitu d'un nom et une valeur Entits (non utilis dans cet exemple)
47

27/02/2012

Un exemple DTD

<!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 donnes textuelles analysables (texte qui ne peut pas contenir d'autres lments), Chaque chapter doit avoir un attribut number.

27/02/2012

48

descriptions des lments ELEMENT

suffixes:
? + * , | ()
27/02/2012

Optionnel un ou plusieurs zro ou plus les deux, dans lordre ou regroupement

foreword? chapter+ appendix* foreword?, chapter+ section|chapter (section|chapter)+


49

Sparateurs:

Regroupement:

lments sans enfants


La syntaxe est <! ELEMENT name category>,
Le nom est le nom de l'lment utilis dans les balises de dbut 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 lment vide ne peut avoir aucun contenu entre la balise de dbut et la balise de fin, Un lment vide peut (et habituellement) possde des attributs.
27/02/2012 50

lments ayant des enfants non structures


La syntaxe est <! ELEMENT name category>, La catgorie peut tre n'importe quel (ANY), Cela indique que tout contenu --des donnes de caractres, des lments, des lments, mme des lments non dclars-peuvent tre utiliss, Depuis le point de l'ensemble de l'utilisation d'un DTD est de dfinir la structure d'un document, ANY doit tre vite autant que possible, Category peut tre (# PCDATA), indiquant que les donnes de caractres ne doit tre ralise
Dans le DTD: <!ELEMENT paragraph (#PCDATA)> Dans le XML: <paragraph>A shot rang out!</paragraph> Les parenthses sont obligatoires ( required) !, Remarque: Dans (# PCDATA), les espaces sont conservs exactement comme entre, Les lments peuvent pas tre utiliss dans les donnes de caractres analyses, Les entits sont des donnes de caractres, et peut tre utilis.

27/02/2012

51

lments ayant des enfants


category peut dcrire un ou plusieurs enfants:
<!ELEMENT novel (foreword, chapter+)>
Les parenthses sont ncessaires, mme si il y a un seul enfant Un espace doit prcder la parenthse ouvrante Les virgules (,) entre les lments signifie que tous les enfants doivent apparatre, et doit tre dans l'ordre spcifi "|" Sparateurs dsigne tout enfant, ne peut tre utilis Tous les lments enfants doivent eux-mmes tre dclare Les enfants peuvent avoir des enfants Les parenthses peuvent tre utilises pour le regroupement:

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

27/02/2012

52

lments contenu mixte

#PCDATA dcrit les lments avec les donnes de caractres seulement, #PCDATA peut tre utilis dans une "ou" groupement:

<!ELEMENT note (#PCDATA|message)*> C'est ce qu'on appelle un contenu mixte Certains (plutt grave) des restrictions s'appliquent:
# PCDATA doit tre le premier, Les sparateurs doivent tre |, Le groupe doit tre toil (sens zro ou plus).

27/02/2012

53

Les noms et les espaces de noms

Tous les noms des lments, attributs et entits, la fois dans la DTD et le XML, sont formes 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, traits d'union, de soulignement, et deux-points (et, pour les langues trangres, en combinant les caractres et les prolongateurs)

DTD ne connat pas les espaces de noms -- dans la mesure o il sait, deux points est juste une partie du nom
Ce
<!ELEMENT chapter (paragraph+)> <!ELEMENT myBook:chapter (myBook:paragraph+)>

qui

suit

sont

diffrents

(et

la

fois

juridique):

vitez les deux points dans les noms, sauf pour indiquer les espaces de noms
27/02/2012 54

Un exemple largi DTD

<!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

Attributs et entits
En plus des lments, DTD peut dclarer les attributs et les entits,

Un attribut dcrit les informations qui peuvent tre mis dans la balise de dbut d'un lment,
Dans le langage XML: <dog name="Spot" age="3"></dog> En DTD: <!ATTLIST dog
name CDATA #REQUIRED age CDATA #IMPLIED >

Cette diapositive montre des exemples, nous allons discuter chacun en dtail,

Une entit dcrit le texte doit tre remplac par:


Dans le langage XML: : &copyright; Dans le DTD: <!ENTITY copyright "Copyright Dr. Dave">

27/02/2012

56

Le format d'un attribut est la suivante:


<!ATTLIST element-name name type requirement name type requirement>

Attributs

o name-type-requirement peut tre rpt autant de fois que dsir,


Notez que (uniquement) les espaces que sparent les parties, element-name indique quel lment peut avoir ces attributs name est le nom de l'attribut Chaque lment a un type, tels que CDATA (donnes de caractres) Chaque lment peut tre ncessaire required, optional, ou fixed Dans XML, les attributs peuvent se produire dans n'importe quel ordre.
57

27/02/2012

Types d'attributs importants

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


CDATA (man|woman|child) ID

La valeur est des donnes de caractre


La valeur est l'un de cette liste La valeur est un identifiant unique

ID; les valeurs doivent tre des noms XML lgales et doivent tre unique dans le document
La valeur est un nom XML lgal

NMTOKEN

Ceci est parfois utilis pour interdire les espaces dans le nom Elle aussi interdit les numros, car un nom XML ne peut pas commencer par un chiffre
58

27/02/2012

Types d'attributs sont moins importantes

IDREF IDREFS NMTOKENS ENTITY ENTITIES NOTATION xml:

L'ID d'un autre lment Une liste d'autres ID Une liste de noms XML valides Une entit Une liste des entits Une notation Une valeur prdfinie XML

27/02/2012

59

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

L'exigence est l'un des:


Une valeur par dfaut, entre guillemets #REQUIRED #IMPLIED

L'attribut doit tre prsent

Exemple: <!ATTLIST degree CDATA "PhD">

#FIXED "value"

L'attribut est facultative


L'attribut a toujours la valeur donne Si cela est spcifi dans le fichier XML, la mme valeur doit tre utilis
60

27/02/2012

entits

Il y a exactement cinq entits prdfinies: &lt;, &gt;, &amp;, &quot;, et &apos; Entits supplmentaires peuvent tre dfinis dans la DTD:
<!ENTITY copyright "Copyright Dr. Dave"> <!ENTITY copyright SYSTEM "MyURI">

Les entits peuvent tre dfinis dans un autre document: Exemple d'utilisation dans le fichier XML:
This document is &copyright; 2002.

Les entits sont un moyen d'inclure le texte fixe (parfois appel passepartout , boilerplate) Les entits ne devraient pas tre confondu avec des rfrences de caractres, qui sont des valeurs numriques entre & and #
Exemple: &233#; or &xE9#; d'indiquer le caractre

27/02/2012

61

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>

27/02/2012

62

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>

27/02/2012

63

DTD interne

Si un DTD est utilis uniquement par un seul document XML, il peut tre mis directement dans ce document:
<?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 externe

Une DTD externe (une DTD qui est un document spar) est dclare avec SYSTEM ou une commande PUBLIC :
<!DOCTYPE myRootElement SYSTEM "http://www.mysite.com/mydoc.dtd"> Le nom qui apparat aprs DOCTYPE (dans cet exemple, myRootElement) doit correspondre au nom de l'lment racine du document XML, Utilisez SYSTEM pour DTD externes que vous dfinissez vousmme, et utilisez PUBLIC pour les officiels, les DTD publis, DTD externes peut seulement tre rfrenc avec une URL,

L'extension du fichier pour une DTD externe est .dtd DTD externes sont presque toujours prfrable que le DTD interne, car ils peuvent tre utiliss par plus d'un document
27/02/2012 65

Limitations des DTD

DTD sont des langages de spcification trs faibles,


Ennuyant: DTD ne sont pas des documents XML,

DTD ne permettent pas d'exprimer tout type de donnes, DTD ne permettent pas d'exprimer toutes les contraintes, DTD nutilisent pas le paradigme OO, DTD ne prvoient pas de modularisation,

la solution: il s'agit d'une technologie plus rcente et plus puissante,


recommandation W3C XML Schema.
27/02/2012

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,

66

Exemple
Un fort basique DTD

mme reprsentation l'aide d'un XML Schema

67

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

est un langage de dfinition , permet de limiter les documents conformes XML un vocabulaire spcifique et la structure hirarchique. dfinit les types d'lments, les types d'attributs, et la composition des deux types de composites en (appels types complexes). est analogue un schma de base, qui dfinit les noms de colonnes et les types de donnes dans les tables de base de donnes. 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 de noms de contrle de version:
http://www.w3.org/2007/XMLSchema-versioning
27/02/2012 69

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

Nous avons deux types de documents:


un document de schma (ou document de dfinition) documents d'instances multiples qui sont conformes au schma

A la fois, le document de schma et le document d'instance utilisent la syntaxe XML (balises, des lments et des attributs). Avoir une syntaxe unique pour les deux (document de dfinition et document dinstance) permet un analyseur simple utiliser pour les deux.
27/02/2012 70

Rfrence un schma

Pour faire rfrence une DTD dans un document XML, la rfrence va avant l'lment racine:
<?xml version="1.0"?> <!DOCTYPE rootElement SYSTEM "url"> <rootElement> ... </rootElement>

Pour faire rfrence un XML Schema dans un document XML, la rfrence va dans l'lment 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

Le document XSD

Comme le XSD est crit en XML, il peut porter confusion dont nous parlons, Sauf pour les ajouts l'lment racine de notre document de donnes XML, le reste de cette confrence est sur le document de schma XSD, L'extension du fichier est .xsd L'lment 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

Les exigences de XML Schema

Structurel
espaces de noms les types primitifs et intgration du schma structurel Hritage

Type de donnes
entiers, dates, ... (comme dans les langages) dfinie par l'utilisateur (restreindre certaines proprits)

Conformit
processeurs, de la validit
27/02/2012 73

Principes de conception

Plus expressif que les DTD Exprim en XML Auto-description Utilisable par diverses applications XML assez simple

27/02/2012

74

Les XML Schema sont Extensibles

Les XML Schema sont extensibles, tout comme XML, parce qu'ils sont crits en XML. Avec une dfinition de schma extensible, vous pouvez:
Rutiliser votre schma dans d'autres schmas, Crez vos propres types de donnes drives de types standard, Rfrence de plusieurs schmas du mme document.

27/02/2012

75

Que doit les schmas ressemblent?

Un XML Schema utilise une syntaxe XML pour dclarer un ensemble de dclarations de type simples et complexes:
Un type est un modle nomm qui peut contenir une ou plusieurs valeurs:
Les types simples tenir une valeur, Les types complexes sont composs de plusieurs types simples.

Donc, un type a deux caractristiques principales: un nom et un ensemble de valeurs juridiques.


27/02/2012 76

Types simples prdfinis

Un type simple est une dclaration d'lment qui comprend son nom et des

contraintes de valeur. Voici un exemple d'un lment appel author qui peut contenir n'importe quel nombre de caractres textuels: <xsd:element name=author type=xsd:string /> La dclaration d'lment prcdent permet une instance de document d'avoir un lment comme ceci: <author> Fred Bloggs</author> Notez que le type attribu la dclaration d'lment dclare le type xsd:string: Une chane est une squence de caractres. Il y a beaucoup de haut-types de donnes dfinies dans la spcification XML Schema. Les lments et les attributs ont des types. Vous pouvez spcifier un type prdfini simple ou faire vos propres. XML Schema a beaucoup de haut-types de donnes.

27/02/2012

77

XSDL types intgrs

NB: Les valeurs dans les documents reprsents par strings

CDATA *

* * * * * *

*: Types d'attributs XML

Communes XML Schema Types de donnes primitifs

Dfinition d'un lment simple


Un lment simple ne peut pas avoir des attributs, Un lment simple ne peut pas avoir d'autres lments dans leur contenu, Un lment simple est dfinie comme
<xs:element name="name" type="type" />

o:

name est le nom de l'lment les valeurs les plus courantes pour type sont
xs:boolean xs:date xs:decimal xs:integer xs:string xs:time

D'autres attributs d'un lment simple peut avoir:


default="default value" fixed="value"

si aucune autre valeur n'est spcifie aucune autre valeur peut tre spcifie
80

27/02/2012

Dfinition d'un attribut

Les attributs eux-mmes sont toujours dclars comme des types simples Un attribut est dfini comme
<xs:attribute name="name" type="type" />

o:
name et le type sont les mmes que pour xs:element

D'autres attributs d'un lment simple peut avoir:



27/02/2012

default="default value" fixed="value" use="optional " use="required"

si aucune autre valeur n'est spcifie aucune autre valeur peut tre spcifie l'attribut n'est pas ncessaire default) l'attribut doit tre prsent
81

Enumration

Une numration 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

Restrictions ou "facettes"

La forme gnrale pour mettre une restriction une valeur de texte est le suivant:
<xs:element name="name"> <xs:restriction base="type"> ... the restrictions ... </xs:restriction> </xs:element> (or xs:attribute)

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 sur le nombre

minInclusive -- nombre doit tre la valeur donne (value) , minExclusive -- nombre doit tre < la valeur donne , maxInclusive -- nombre doit tre la valeur donne , maxExclusive -- numro doit tre > la valeur donne , totalDigits -- numro doit avoir exactement les chiffres , fractionDigits -- nombre ne doit pas avoir plus de chiffres aprs la virgule.
27/02/2012 84

Restrictions sur les chanes

length -- la chane doit contenir exactement des caractres, minLength -- la chane doit contenir au moins des caractres,

maxLength -- la chane ne doit pas contenir plus de caractres, pattern -- value est une expression rgulire que la chane doit correspondre whiteSpace -- pas vraiment une "restriction" -- dit quoi faire avec un espace
value="preserve" Gardez tous les espaces, value="replace" Changer tous les caractres d'espacement aux espaces, value="collapse" Retirer espaces initiaux et finaux, et de remplacer toutes les squences d'espaces blancs par un seul espace.
27/02/2012 85

Modles (expressions rgulires) (1/2)

Une facette intressante est le modle, ce qui permet des restrictions fondes sur une expression rgulire, Cette expression rgulire spcifie un mot normal d'un ou plusieurs caractres:
<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

Modles (expressions rgulires) (1/2)

Les caractres individuels peuvent tre rptes un certain nombre de fois dans l'expression rgulire. L'expression rgulire suivante restreint (limite) la chane exactement 8 caractres alpha-numriques:
<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

Type complexe
Un lment avec des attributs a toujours une dfinition de type complexe Est un lment XML qui contient d'autres lments, d'attributs ou d'autres (comme C struct, ou OO class) Dcrire la structure d'un document, plutt que le contenu Il y a quatre sortes d'lments complexes: Vide ceux qui ne contiennent que d'autres lments, ceux qui contiennent du texte uniquement, ceux qui contiennent (les deux) autres lments et du texte. Chacun des quatre types peuvent contenir des attributs aussi bien. Dfinition de Type complexe <sequence>: collection ordonne d lments typs = A B C <all>: collection non ordonne d lments typs = (A B C) <choice>: choix entre lments typs =A|B|C

lments complexes
Un lment complexe est dfini comme
<xs:element name="name"> <xs:complexType> ... information about the complex type... </xs:complexType> </xs:element> <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>

Exemple:

<xs:sequence> indique que les lments doivent se produire dans cet ordre prcis Rappelez-vous que les attributs sont toujours des types simples.
27/02/2012 89

Dfinitions globales et locales


Les lments dclars au "niveau suprieur" d'un <schema> sont disponibles pour une utilisation tout au long du schma, Les lments dclars dans un xs:complexType correspondent ce type 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 lments firstName et lastName sont seulement localement dclare, L'ordre des dclarations la "plus haut niveau" d'un <schema> ne prcise pas l'ordre dans le document de donnes XML.

90

Dfinitions globales et locales

Pour utiliser un type que nous avons dclar, l'utiliser comme la valeur du type="..."
Exemples:
<xs:element name="student" type="person"/> <xs:element name="professor" type="person"/>

Porte est important: vous ne pouvez pas utiliser un type si est local un autre type

27/02/2012

91

xs:all
xs:all --permet aux lments d'apparatre 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 dpit 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 spcifier combien de fois un lment peut se produire (valeur par dfaut 1),
Dans ce contexte, n peut seulement tre 0 ou 1
27/02/2012 92

Rfrencement

Une fois que vous avez dfini un lment ou un attribut (avec name="..."), vous y rfrer elle avec ref="..." 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

lment de texte avec des attributs

Si un lment de texte possde 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

Les lments vides

Les lments 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

Elments mixtes
Les lments mixtes peuvent contenir la fois du texte et des lments, Nous ajoutons mixed="true" pour l'lment xs:complexType, Le texte lui-mme n'est pas mentionn dans l'lment, et peut 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

Extensions

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>

27/02/2012

97

Anda mungkin juga menyukai