Vous êtes sur la page 1sur 86

Chap.

5 Noyau XML
1.Origines et Objectifs
2. SGML et HTML
3. Introduction à XML
4. XML pour quoi faire ?
5) Structuration XML de base
6) Domaines nominaux
7) Schémas XML

1
1. Origine et objectifs
• XML est issu de la Gestion de Documents (GED)
• Séparation du fond de la forme.
– Forme = présentation à partir de la structure (style)
– Fond = structure + données (contenu)
• Multiples précurseurs dont les plus connues :
– SGML(Standard Generalized Markup Language) (pour la
structuration
– HTML (Hypertext Markup Language) pour la présentation
– Approches mélangeant parfois le fond et la forme !

2
Origines
Présentation et Structuration
Titre XML: Des BD aux Services Web

Auteur Georges Gardarin

Section 1. Introduction
Paragraphe Ces dernières années ont vu l'ouverture des systèmes
d'information à l'Internet. Alors que depuis les années
1970, ces systèmes se développaient, le choc Internet …

Ainsi, on a vu apparaître une myriade de technologies


Paragraphe nouvelles attrayantes mais peu structurantes voir
perturbantes. Certaines n'ont guère survécues …

L'urbanisation passe avant tout par la standardisation des


échanges : il faut s'appuyer sur des standards ouverts,
solides, lisibles, sécurisés, capable d'assurer
Paragraphe l'interopérabilité avec l'Internet et les systèmes
d'information …

2. La société ProXML

Section
3
Origines
Vue Balisée
<Livre>
<Titre> XML : Des BD aux Services Web</Titre>
<Auteur>Georges Gardarin</Auteur>
<Section titre = "Introduction">
<Paragraphe>Ces dernières années ont vu l'ouverture des systèmes d'information à l'Internet.
Alors que depuis les années 1970, ces systèmes se développaient, le choc Internet …
</Paragraphe>
<Paragraphe>Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais
peu structurantes voir perturbantes. Certaines n'ont guère survécues … </Paragraphe>
<Paragraphe>L'urbanisation passe avant tout par la standardisation des échanges : il faut
s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer
l'interopérabilité avec l'Internet et les systèmes d'information … </Paragraphe>
</Section>
<Section titre= "La Société ProXML"> …
</Section>
</Livre>
4
Origines
XML : objectifs
• XML= un nouveau langage d'échange basé sur le
balisage
• XML= plus simple que SGML
• XML= plus ouvert que HTML englobé (XHTML)
• XML = développé par XML Working Group dirigé
par le W3C (depuis 1996)
• XML 1.0 = recommandation officielle du W3C
depuis le 10 février 1998
5
Origines
les 10 objectifs de conception:
• XML doit pouvoir être utilisé sans difficulté sur
Internet
• XML doit soutenir une grande variété
d'applications
• XML doit être compatible avec SGML et HTML
• Il doit être facile d'écrire des programmes traitant
les documents XML
• Le nombre d'options dans XML doit être réduit au
minimum, idéalement à aucune
6
Origines
les 10 objectifs de conception
• Les documents XML doivent être lisibles par
l'homme et raisonnablement clairs
• La spécification de XML doit être disponible
rapidement
• La conception de XML doit être formelle et concise
• Il doit être facile de créer des documents XML
• La concision dans le balisage de XML est peu
importante
7
Origines
Forces de XML
• Séparation de la structure et de la présentation

• Moins confus que HTML

• Plus simple que SGML

• Idéal pour l'échange de données semi-structurées

• Utilisable entre machines

8
Origines
2. SGML et HTML
• 1969 C. Goldfarb, E. Mosher, R. Lorie inventent
GML chez IBM
• GML a été créé pour éditer des documents, les
mettre en page et les partager au sein de
systèmes de gestion éditoriaux
• 1978 Goldfarb prend la tête d’un comité
« Computer Language for the Processing of Text »
au sein de l’American National Standards Institute
(ANSI).

9
SGML
Qu'est-ce que SGML ?
• Une norme internationale :
– Standard Generalized Markup Language
– ISO 8879 - 1989
• Un métalangage de balisage de documents
– lisible par l’être humain et traitable par une machine
– permet de définir des langages de balisage
• Les documents sont balisés conformément à la grammaire (la DTD)
– instances de DTD
– permet un balisage sémantique du fond.
• Implique la notion de validité d'un document

10
SGML
SGML : objectifs
• Séparation du fond et de la forme
– possibilité de multiples présentations
– un seul document en SGML
– plusieurs formats : Postcript, HTML, etc.
• Support de traitements sur le contenu des documents
sans prise en compte de la forme
• Proposition d’un cadre défini pour l’expression des
modèles documentaires (validité, contrôle)
• Intégration d'un format de stockage et d’échange
normalisé

11
SGML
SGML : critiques
• Très lourd et complexe pour la mise en œuvre de
documents respectant ce format
• Une grande rigueur est demandée à l'entrée des
documents
• Standard complexe et complet pour le traitement
des documents
• Liens hypertextes possibles mais complexes

12
SGML
HTML : présentation
• Proposé par le W3C comme <HTML>
<HEAD>
format de documents sur le <TITLE> Exemple </TITLE>
Web. </HEAD>
• Langage simple avec des <BODY>
<H1>Contenu du document</H1>
balises standardisées <A HREF = "http://www.server.fr/Info
permettant la mise en forme /dir/test.html"> une référence externe
d’un texte. </A>
</BODY>
• Standard reconnu par tous les </HTML>
navigateurs.
• Langage très populaire sur le
Web

13
HTML
HTML : inconvénients
• Normalisation des différentes balises difficile :
– les constructeurs ont eu tendance à définir leurs propres balises pour
répondre à leurs besoins (incompatibilité)
– HTML 4.0
• boutons, tables, applets, objects, graphiques, maths, ...
• styles, frames, protections, ...
• Mises à jour difficiles :
– données utiles et mises en forme ;
– restructuration ou remise en forme de l’ensemble des pages du site
fastidieux.
• Mélange le fond et la forme
– méta-données avec la présentation
– Pages conçues pour 1 type de terminal

14
HTML
Feuilles de style
• Introduite pour diversifier les présentations
• CSS (Cascading Style Sheet)
– mécanisme d'héritage entre nœuds
– une balise hérite de la parente
– seulement ce qu'elle spécifie est redéfini
• Recommandation W3C en décembre 1996
• Mécanisme simple pour ajouter un style aux
documents Web
– fonte, taille, couleur, etc.
• Utilisables avec XML

15
HTML
Exemple de CSS
<LINK
<LINKREL="stylesheet"
REL="stylesheet"HREF="fichier.css">
HREF="fichier.css"> [[......]]
TD,
TD,TH TH{{
@import
@import"truc.css"
"truc.css" font-family:
font-family:"Helvetica",
"Helvetica",
BODY
BODY{{ sans-serif
sans-serif
color: line-height:
line-height:1.35
1.35;;
color:#000
#000; ;
}}
background:
background:#FBFBFF
#FBFBFF; ;
margin-left:
margin-left:9%9%; ; H1,
H1,H2 H2{{
margin-right:
margin-right:6% 6%; ; margin-top:
margin-top:1.2em
1.2em;;
font-family:
font-family:"Helvetica",
"Helvetica",sans-serif
sans-serif; ; margin-left:
margin-left:-7%
-7%;;
line-height: color:
color:#900
#900;;
line-height:1.35
1.35; ; clear:
}} clear:both
both;;
}}
[[......]]

16
HTML
SGML et HTML : Résumé

• SGML
– langage de la GED plutôt complexe
– très utilisé dans l'industrie
• HTML
– spécialisation de SGML
– adapté à la présentation
– inadapté à l'échange entre programmes

17
HTML
3. XML: définitions de base
• XML est un méta-langage universel pour représenter les données
échangées sur le Web qui permet au développeur de délivrer du contenu
depuis les applications à d'autres applications ou aux navigateurs
• XML standardise la manière dont l'information est :
– échangée
– présentée
– archivée
– retrouvée
– transformée
– cryptée
– ...

18
XML
XML : exemple simple
Document bien formé:
<Blé>
<Type>Dur</Type>
<Region> <Nom>Ouest</Nom>
<Capitale>Oran</Capitale>
</Region>
<année>1995</année>
<Prix Unite = "DA"> 50.5 </Prix>
</Blé>

Les utilisateurs peuvent définir


leurs propres tags
Il est possible d'imposer une grammaire
spécifique (DTD, Schéma)
Les tags indiquent la signification des
sections marquées
19
XML
Concepts du modèle
• Balise (ou tag ou label)
– Marque de début et fin permettant de repérer un élément textuel
– Forme: <balise> de début, </balise> de fin
• Elément de données
– Texte encadré par une balise de début et une de fin
– Les éléments de données peuvent être imbriquées
<producteur>
<adresse>
<rue>A. Benali</rue>
<ville>Oran</ville>
</adresse>
</producteur>
• Attribut
– Doublet nom="valeur" qualifiant une balise
• <producteur no="160017" region="Ouest">
20
XML
Les noeuds élément
<?xml version="1.0" encoding="ISO-8859-1"?>
<cours>
<intervenant>
Monser
</intervenant>
<separateur/>
<chapitre>
Formation XML
<para>Un paragraphe</para>
<para>Autre paragraphe</para>
</chapitre>
</cours>
• cours : élément racine contenant trois éléments fils : intervenant, separateur et chapitre ;
• intervenant : élément contenant du texte ;
• separateur : élément sans contenu ;
• chapitre : élément contenant du texte et des éléments fils para ;
• para : élément contenant du texte.
Si maintenant nous nous penchons sur la syntaxe, nous avons donc :
• <element> : balise ouvrante.
• </element> : balise fermante.
• <element/> : balise ouverte et fermée que l’on nomme balise autofermée. C’est l’équivalent
de <element></element>. Elle désigne donc un élément vide.
21
Les attributs d’un élément
<auteur nom="bey" prenom="amine">…</auteur>
<contact email='a@a.fr'/>
nom et prenom sont des attributs de l’élément auteur alors que
email est un attribut de l’élément contact.
Choix entre éléments et attributs
On peut définir cependant quelques règles simples pour
déterminer s’il est préférable d’utiliser un attribut ou un
élément. Lorsqu’une valeur est de taille modeste, a peu de
chance d’évoluer vers une structure plus complexe, et n’est pas
répétée, alors l’attribut peut tout à fait convenir. Dans tous les
autres cas, l’élément reste incontournable. Si vous avez un
doute entre un attribut et un élément, alors choisissez toujours
l’élément qui est le plus ouvert et garantira le plus facilement
une évolution. 22
Quelques règles de syntaxe

Ces règles de syntaxe sont à respecter impérativement pour qu’un


document XML soit bien formé.
• Le nom d’un élément ne peut commencer par un chiffre.
• Si le nom d’un élément est composé d’un seul caractère il doit être
dans la plage [a-z A-Z]
• Avec au moins 2 caractères, le nom d’un élément peut contenir _,
-, . et : plus les caractères alphanumériques (attention, le caractère :
est réservé à un usage avec les espaces de nom que nous aborderons
par la suite).

23
• Tous les éléments ouverts doivent être fermés.
• Un élément parent est toujours fermé après la fermeture
des éléments fils.
Voici un contre-exemple où l’élément fils b est
incorrectement fermé après la fermeture de son
élément parent a : <a><b></a></b>.
Pour connaître plus précisément les caractères autorisés,
vous pouvez vous reporter à la
grammaire XML du W3C disponible à l’adresse
http://www.w3.org/TR/2006/REC-xml-20060816/ #sec-
well-formed.

24
Quelques conventions de nommage
Voici quelques conventions souvent employées dans les documents
XML :
• Employer des minuscules pour les attributs et les éléments.
• Éviter les accents dans les noms d’attributs et d’éléments pour des
raisons de compatibilité avec les outils du marché qui proviennent
souvent d’un univers anglo-saxon.
• Préférer les guillemets délimitant les valeurs d’attribut.
• Séparer les noms composés de plusieurs mots par les caractères -, _, .
ou une majuscule.
Essayer d’être homogène dans votre document en gardant la même
convention.
Exemples :
<value-of/>
<valEntier></valEntier>
25
26
Exemple complet

27
Modèle arborescent
@Type ALgérien

@Catégorie ***

Nom Safir

Restaurant
Manager Kadi

No 7

Adresse Rue Liberté

Ville Alger

28
XML
Présentation textuelle
<Restaurant Type= " algérien" Categorie="***">
<Nom>Safir</Nom>
<Manager>Kadi</Manager>
<Adresse>
<No> 7</No>
<Rue>Liberté</Rue>
<Ville>Alger</Ville>
</Adresse> Arbre sérialisé
</Restaurant>
29
XML
Présentation externe

<prix>6.05</prix>
30
XML
Espaces de noms
• Comment mixer des tags issus de différents langages?

Le préfixe permet de retrouver le langage

<tag xmlns:mic="http://www.michelin.com/2001/Guide",
xmlns:pj="http://www.pagejaune.com/2001/Annuaire">
<mic:Adresse><ville>Mougins</ville><zip>06212</zip></mic:Adresse>
<pj:Adresse>Le Moulin 06 Mougins</pj:Adresse>

• Mécanisme intéressant pour l'intégration de contenus


31
XML
4. Pourquoi XML?
• Définir vos propres langages d’échange
– Commande, facture, bordereau de livraison, etc.
• Modéliser des documents et des messages
– Modèle logique de données
– Eléments typés agrégés (DTD, XML Schema)
– Passerelle avec Unified Modelling Language (UML)
• Publier des informations
– Neutre du point de vue format
– Mise en forme avec des feuilles de style
• Archiver des données
– Auto-description des archives

32
Pourquoi XML ?
• Un standard d'échange
– Lisible : texte balisé avec marquage
– Clair : séparation du fond et de la forme
– Extensible : supporte les évolutions applicatives
– Sécurisé : pare-feu, encryption, signature
• Développé par le W3C
– Pour le Web (Internet, Intranet)
– S'étend à l'entreprise et ses partenaires
• Supporté par les grands constructeurs
– IBM, Microsoft .net, SUN, BEA, etc.
– Des outils génériques et ouverts

33
Pourquoi XML ?
Forces et faiblesses de XML
• Une technologie structurante • Une syntaxe bavarde
• Clarifie tous les échanges • Un méta-langage, mais de nombreux
langages
• Des standards internes et
externes • Coûteux en CPU
– Parsing
• Transversale à l'entreprise
• Coûteux en mémoire
– Échanges de données
– Instanciation
– Bureautique
• Format compressé à l’étude
– GED
– Sites Web
– Bases de données
– Intégration e-business
– …

34
Pourquoi XML ?
5. Structuration XML de base
5.1 Modèle logique : Document Type Definition

35
36
37
5.2 Objets logiques XML : Element

38
39
40
5.3 Attributs

41
42
5.4 Objets réutilisables: Entity

43
44
45
46
47
5.5) Instance XML
L'instance XML est le texte balisé qui contient les données finales
 Elle doit respecter les règles définies dans la DTD (cette validité peut
être vérifiée à l'aide d'un "PARSEUR XML")
 ou être un document XML bien formé (balise ouvrant balise fermante)
 Elle est structurée en éléments (déclarés dans la DTD)
 Elle peut référencer des entités générales
 Elle peut contenir des instructions spécifiques ignorées par XML et traitées
par un logiciel associé (SGBD, visualiseur, formateur). Leur forme est :

<?cible, arg1,..., argn ?>


exemple <?xml-stylesheet href="rapportstyle.ccs" type="text/css" ?>
Notion de document bien formé
• sa structure exprimée par son balisage peut être interprétée comme un
arbre d'éléments correctement imbriqués.
• ces éléments peuvent avoir des attributs
• la DTD d'un document bien formé peut être inconnue (inexistante)
• Conséquences
un fragment XML
-reste exploitable sans sa DTD
-n'est pas nécessairement valide au sens XML
48
5.6) Exemple et recommandations

49
50
51
52
53
6. Domaines nominaux

54
55
56
57
58
59
Ces ressources sont identifiées :

60
61
7. Schéma XML

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

Vous aimerez peut-être aussi