• Aucun résultat trouvé

[PDF] Introduction à XML pas à pas documentation de formation | Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Introduction à XML pas à pas documentation de formation | Cours informatique"

Copied!
32
0
0

Texte intégral

(1)

XML : l’ASCII de demain

XML : l’ASCII de demain

Philippe

Philippe

Mabilleau ing

Mabilleau ing

.

.

3 octobre 2002 3 octobre 2002 Carrefour de l’information

(2)

Le langage XML

Le langage XML

z

z

Historique : De l’ASCII à XML

Historique : De l’ASCII à XML

z

z

XML : Le langage

XML : Le langage

z

z

XML : La programmation

XML : La programmation

z

z

XML : Les transformations

XML : Les transformations

z

(3)

De l’ASCII …

De l’ASCII …

z

z

ASCII =

ASCII =

American

American

Standards

Standards

Committee

Committee

for

for

Information

Information

Interchange

Interchange

z

z

Échange d’information textuelle

Échange d’information textuelle

Structure rudimentaire

Structure rudimentaire

z

z

Lignes de texte

Lignes de texte

Aucune mise en forme

Aucune mise en forme

z

z

Universel et très utilisé

Universel et très utilisé

Fichiers dits «

Fichiers dits «

de texte

de texte

»

»

z

z

Sources des programmes, fichiers de commandes

Sources des programmes, fichiers de commandes

z

z

Fichiers de configuration

Fichiers de configuration

z

(4)

… vers XML

… vers XML

z

z

Besoin de représenter une information plus

Besoin de représenter une information plus

complète

complète

Au niveau de la structure

Au niveau de la structure

z

z

Structures de données complexes

Structures de données complexes

Arbres

Arbres

Bases de données

Bases de données

Au niveau de la mise en forme

Au niveau de la mise en forme

z

z

«

«

Markup

Markup

» universel

» universel

z

z

Solution de remplacement = Formats spécifiques aux

Solution de remplacement = Formats spécifiques aux

applications

applications

Word, WordPerfect,

Word, WordPerfect,

FrameMaker

FrameMaker

z

(5)

Un langage «

Un langage «

extensible

extensible

»

»

z

z

XML = eXtensible

XML = eXtensible

Markup Language

Markup Language

z

z

C’est un méta

C’est un méta

-

-

langage

langage

Il permet de définir des langages dérivés de lui-

Il permet de définir des langages dérivés de lui

-même

même

z

z

Il va permettre de représenter des données

Il va permettre de représenter des données

intelligemment

intelligemment

Avec une structure plus complexe

Avec une structure plus complexe

Adaptée à l’information que l’on veut représenter

Adaptée à l’information que l’on veut représenter

z

z

C’est un langage de représentation de

C’est un langage de représentation de

l’information

(6)

La constellation XML

La constellation XML

SGML

SGML

XML

XML

HTML

HTML

XHTML

XHTML

XSL

XSL

XSL

XSL

-

-

FO

FO

CSS

CSS

VoiceXML

VoiceXML

XSLT

XSLT

(7)

Le langage XML

Le langage XML

z

z

Historique : De l’ASCII à XML

Historique : De l’ASCII à XML

z

z

XML : Le langage

XML : Le langage

z

z

XML : La programmation

XML : La programmation

z

z

XML : Les transformations

XML : Les transformations

z

(8)

Structure d’un document XML

Structure d’un document XML

z

z

C’est un fichier texte

C’est un fichier texte

ASCII et toutes ses variantes étendues

ASCII et toutes ses variantes étendues

pour représenter du texte dans toutes les

pour représenter du texte dans toutes les

langues

langues

z

z

Il représente une structure d’arbre

Il représente une structure d’arbre

À partir d’une racine

À partir d’une racine

Chaque nœud peut être une feuille ou un

Chaque nœud peut être une feuille ou un

autre arbre

autre arbre

(9)

Le langage

Le langage

z

z

Très simple : 2 énoncés

Très simple : 2 énoncés

z

z

Les balises

Les balises

Identifient les nœuds de l’arbre

Identifient les nœuds de l’arbre

Encadrent le contenu de chaque nœud

Encadrent le contenu de chaque nœud

z

z

Qui peut être des données ou d’autres

Qui peut être des données ou d’autres

noeuds

noeuds

z

z

Les attributs

Les attributs

Attachés à chaque nœud

Attachés à chaque nœud

Prennent une chaîne de caractères comme valeur

Prennent une chaîne de caractères comme valeur

z

z

Caractères d’échappement

Caractères d’échappement

z

z

& < >

& < >

" et

" et

‘ remplacés par

‘ remplacés par

&

(10)

Exemple de document XML

Exemple de document XML

<Racine>

</Racine>

<NoeudA attr1="val1">

Contenu du nœud A

</NoeudA>

<NoeudB attr1="val1" attr2="val2">

Contenu du nœud B

</NoeudB>

Racine Racine NoeudA NoeudA NoeudB NoeudB Contenu du nœud A Contenu du nœud B attr1="val1" attr1="val1" attr2="val2"

(11)

Document bien formé et

Document bien formé et

document valide

document valide

z

z

La syntaxe XML défini des documents bien

La syntaxe XML défini des documents bien

formés

formés

z

z

Un document valide se conforme à des

Un document valide se conforme à des

règles qui déterminent quel arbre il peut

règles qui déterminent quel arbre il peut

représenter

représenter

Nature des nœuds

Nature des nœuds

Nature des paramètres

Nature des paramètres

Contenu des nœuds

Contenu des nœuds

(12)

Deux manières d’énoncer les

Deux manières d’énoncer les

règles de validité

règles de validité

z

z

Dans un DTD (Document Type

Dans un DTD (Document Type

Definition

Definition

)

)

Nature des nœuds et des attributs

Nature des nœuds et des attributs

Décrit dans un document XML avec un format

Décrit dans un document XML avec un format

spécifique qui peut être séparé ou inclus dans le

spécifique qui peut être séparé ou inclus dans le

document qu

document qu

»il valide

»il valide

z

z

Dans un schéma

Dans un schéma

Nature et valeur des nœuds, des attributs et des

Nature et valeur des nœuds, des attributs et des

contenus

contenus

Décrit dans un document XML dans un langage

Décrit dans un document XML dans un langage

dérivé de XML et spécifié par un DTD

(13)

Exemple de DTD

Exemple de DTD

<?xml version="1.0" encoding="ISO-8859-1"?>

<!--Commentaire décrivant l'élément Racine-->

<!ELEMENT Racine (NoeudA, NoeudB)>

<!ELEMENT NoeudA (#PCDATA)>

<!ATTLIST NoeudA

attr1 CDATA #IMPLIED

>

<!ELEMENT NoeudB (#PCDATA)>

<!ATTLIST NoeudB

attr1 CDATA #IMPLIED

attr2 CDATA #IMPLIED

>

(14)

Le langage XML

Le langage XML

z

z

Historique : De l’ASCII à XML

Historique : De l’ASCII à XML

z

z

XML : Le langage

XML : Le langage

z

z

XML : La programmation

XML : La programmation

z

z

XML : Les transformations

XML : Les transformations

z

(15)

XML et la programmation

XML et la programmation

z

z

Support standard intensif au niveau de la

Support standard intensif au niveau de la

programmation

programmation

Pour analyser des fichiers XML

Pour analyser des fichiers XML

Pour créer des fichiers XML

Pour créer des fichiers XML

Pour valider des fichiers XML

Pour valider des fichiers XML

En Java, C#, C++, …

En Java, C#, C++, …

z

z

Deux types d’analyseurs

Deux types d’analyseurs

SAX

SAX

z

z

Les nœuds XML sont associés à des événements

Les nœuds XML sont associés à des événements

DOM (Document Object

DOM (Document

Object Model)

Model)

z

(16)

SAX

SAX

<Racine>

</Racine>

<NoeudA attr1="val1">

Contenu du nœud A

</NoeudA>

<NoeudB attr1="val1" attr2="val2">

Contenu du nœud B

</NoeudB>

Début Racine

Début Racine

Début

Début

NoeudA

NoeudA

Contenu

Contenu

NoeudA

NoeudA

Fin

Fin

NoeudA

NoeudA

Début

Début

NoeudB

NoeudB

Contenu

Contenu

NoeudB

NoeudB

Fin

Fin

NoeudB

NoeudB

Fin Racine

Fin Racine

Analyseur

Analyseur

SAX

SAX

SAX génère des événements

SAX génère des événements

en parcourant le document XML

(17)

DOM

DOM

<Racine>

</Racine>

<NoeudA attr1="val1">

Contenu du nœud A

</NoeudA>

<NoeudB attr1="val1" attr2="val2">

Contenu du nœud B

</NoeudB>

Analyseur

Analyseur

DOM

DOM

Objet RacineObjet Racine

Objet

Objet NoeudANoeudA

Objet

Objet NoeudBNoeudB

DOM établi un lien entre les objets

DOM établi un lien entre les objets

du programme et les nœuds de

du programme et les nœuds de

l’arbre représenté dans le document XML

(18)

Le langage XML

Le langage XML

z

z

Historique : De l’ASCII à XML

Historique : De l’ASCII à XML

z

z

XML : Le langage

XML : Le langage

z

z

XML : La programmation

XML : La programmation

z

z

XML : Les transformations

XML : Les transformations

z

(19)

Les transformations XML

Les transformations XML

z

z

XSL = eXtensible

XSL = eXtensible

Stylesheet Language

Stylesheet Language

z

z

XSLT = eXtensible

XSLT = eXtensible

Stylesheet Language

Stylesheet Language

for

for

Transformation

Transformation

z

z

Langages dérivés de XML décrivant la

Langages dérivés de XML décrivant la

conversion d’un document XML en un autre

conversion d’un document XML en un autre

document XML

document XML

z

z

Langage de type déclaratif

Langage de type déclaratif

Similaire à Prolog

Similaire à Prolog

Déclenchement de règles de conversion

Déclenchement de règles de conversion

Le langage

Le langage

XPath

XPath

est utilisé pour spécifier des

est utilisé pour spécifier des

ensembles de nœuds

(20)

Transformation XSLT

Transformation XSLT

Processeur XSLT Processeur XSLT Document XML Document XML Transformation XSLT Transformation XSLT Document XHTML Document XHTML

Application : production de pages WEB

Application : production de pages WEB

depuis des documents XML

(21)

Exemple de transformation

Exemple de transformation

<?xml version="1.0"?>

<Liste>

<Item>

<Nom>Item A</Nom>

<Prix>10$</Prix>

</Item>

<Item>

<Nom>Item B</Nom>

<Prix>20$</Prix>

</Item>

<Item>

<Nom>Item C</Nom>

<Prix>5$</Prix>

</Item>

</Liste>

ITEM

PRIX

Item A

10$

Item B

20$

Item C

5$

Document source XML Document source XML Résultat Résultat

(22)

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html"/>

<xsl:template match="/">

<html>

<head>

<title>Liste des prix</title>

</head>

<body bgcolor="white">

<table border="2" width="200">

<tr>

<td>ITEM</td>

<td>PRIX</td>

</tr>

<xsl:apply-templates></xsl:apply-templates>

</table>

</body>

</html>

</xsl:template>

<xsl:template match="Item">

<tr>

<td>

<xsl:value-of select="Nom"/>

</td>

<td>

<xsl:value-of select="Prix"/>

</td>

</tr>

</xsl:template>

</xsl:stylesheet>

Fichier de transformation XSL Fichier de transformation XSL

(23)

Le langage XSL

Le langage XSL

-

-

FO

FO

z

z

XSL

XSL

-

-

FO est un langage de description de

FO est un langage de description de

documents formatés

documents formatés

FO = Formated

FO =

Formated

Output

Output

z

z

XSL

XSL

-

-

FO est un autre langage dérivé de XML

FO est un autre langage dérivé de XML

z

z

XSL

XSL

-

-

FO est traité par un logiciel produisant le

FO est traité par un logiciel produisant le

document mis en forme (processeur FOP)

document mis en forme (processeur FOP)

Formats de sortie

Formats de sortie

z

z

Actuellement PDF, PCL, PS, AWT, TXT, SVG

Actuellement PDF, PCL, PS, AWT, TXT, SVG

z

z

À venir : MIF, RTF…

À venir : MIF, RTF…

z

z

Étant du XML il peut être obtenu par

Étant du XML il peut être obtenu par

transformation d’un document XML

(24)

Transformation XSL

Transformation XSL

-

-

FO

FO

Processeur XSLT Processeur XSLT Document XML Document XML Transformation XSL Transformation XSL--FOFO Document FO Document FO Processeur FOP Processeur FOP Document PDF Document PDF

Application : production de documents PDF

Application : production de documents PDF

depuis des documents XML

(25)

?xml version="1.0" encoding="utf-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="simple" page-height="29.7cm" page-width="21cm" margin-top="1cm" margin-bottom="2cm" margin-left="2.5cm" margin-right="2.5cm"> <fo:region-body margin-top="3cm"/> <fo:region-before extent="3cm"/> <fo:region-after extent="1.5cm"/> </fo:simple-page-master> </fo:layout-master-set>

Exemple

Exemple

de document XSL

de document XSL

-

-

FO

FO

Suite… Suite…

(26)

<fo:page-sequence master-reference="simple"> <fo:flow flow-name="xsl-region-body"> <fo:block font-size="18pt" font-family="sans-serif" line-height="24pt" space-after.optimum="15pt" background-color="blue" color="white" text-align="center" padding-top="3pt"> Le langage XSL-FO </fo:block> <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="justify">

Le langage XSL-FO est dérivé de XML.

Il permet la description de documents à des fins de présentation.

Il offre des possibilités de mise en page comparables à celles d'un traitement de texte </fo:block> <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="justify">

XSL-FO est peut convivial et n'est pas destiné à une production manuelle de documents. Il est fait pour être le résultat d'une tranmsformation XSLT depuis un document XML. Le fichier de tranformation XSL va contenir la mise en page en lagage XSL-FO.

Malheureusement peu d'outils existent actuellement pour créer une mise en page XSL-FO à partir d'un traitement de texte par exemple.

</fo:block> </fo:flow>

</fo:page-sequence> </fo:root>

(27)

Résultat en PDF Résultat en PDF après traitement après traitement par FOP par FOP

(28)

Le langage XML

Le langage XML

z

z

Historique : De l’ASCII à XML

Historique : De l’ASCII à XML

z

z

XML : Le langage

XML : Le langage

z

z

XML : La programmation

XML : La programmation

z

z

XML : Les transformations

XML : Les transformations

z

(29)

Pourquoi utiliser XML ?

Pourquoi utiliser XML ?

Peut s’éditer avec

Peut s’éditer avec

des outils simples

des outils simples

comme du texte standard

comme du texte standard

XML

XML

est

est

simple

simple

XML

XML

peut représenter

peut représenter

des

des

données complexes

données complexes

La structure

La structure

des fichiers XML

des fichiers XML

peut être

peut être

validée formellement

validée formellement

Est utilisable sur

Est utilisable sur

de petits systèmes

de petits systèmes

Peut être analysé

Peut être analysé

et construit avec

et construit avec

des outils standards

des outils standards

Permet la représentation

Permet la représentation

de documents structurés

de documents structurés

Peut représenter sans perte d’information

Peut représenter sans perte d’information

des documents issus de traitements de texte,

des documents issus de traitements de texte,

de chiffriers ou de bases de données

de chiffriers ou de bases de données

Les outils qui le manipulent

Les outils qui le manipulent

peuvent être adaptés à

peuvent être adaptés à

la structure des documents

la structure des documents

Permet la construction

Permet la construction

de nouveaux

de nouveaux

langages

langages

(30)

Les applications de XML

Les applications de XML

z

z

Représentation d’informations structurées

Représentation d’informations structurées

Bases de données

Bases de données

z

z

Format d’entreposage universel

Format d’entreposage universel

z

z

Entreposage du contenu des sites WEB

Entreposage du contenu des sites WEB

Transformation en XHTML et en PDF

Transformation en XHTML et en PDF

z

z

Échange d’informations complexes entre des

Échange d’informations complexes entre des

applications différentes

applications différentes

z

z

Traitement de documents

Traitement de documents

z

z

Échange de documents sur Internet

Échange de documents sur Internet

Commerce électronique

Commerce électronique

z

z

Fichiers de configuration

Fichiers de configuration

z

(31)

Exemple type

Exemple type

Documents XML Documents XML Documents XSL Documents XSL Serveur WEB Serveur WEB Outils d’édition Outils d’édition spécialisés spécialisés

Contenu du site

Contenu du site

Présentation

Présentation

du site

du site

Documents distribués

Documents distribués

(32)

XML l’ASCII de demain ?

XML l’ASCII de demain ?

z

z

Simple

Simple

Basé sur du texte

Basé sur du texte

z

z

Standard

Standard

Normalisation

Normalisation

Outils d’édition

Outils d’édition

Bibliothèques d’analyse et de synthèse

Bibliothèques d’analyse et de synthèse

z

z

Extensible

Extensible

Spécialisation

Spécialisation

Universalité

Universalité

Références

Documents relatifs

du congrès de Caen (28-31 mai 1987) organisé par la Société française d’étude de la céramique antique en Gaule, Revue archéologique, supplément 33,

romanesque que relaient, à titre de processus de textualisation, l’isotopie énonciative, l’ordre du récit et la voix narrative. Enfin, l’axe critique en fonction duquel est

D’ailleurs, mieux connaître la valeur prédictive de la motivation au début de la 3e secondaire sur le classement permettrait d’identifier plus facilement les élèves

De ce fait, il est très étonnant de voir que les lecteurs-destinataires de ces informations sont des ibères (et non des grecs ou des latins). Les ibères de- vaient donc jouer un

Située dans la même falaise que les spoulgas d’Ornolac et la grotte de l’Ermite, la grotte des églises ne comprend auacun vestiges maçonnés, mais de nombreuses mortaises

3\:' Id., par.. notion de préjudice. Dans le cas du bar l'Orage, l'intervention de l'État était justifiée sur la base de la morale sociale ou publique, entendue non pas dans un

 Dans la fenêtre client d’administration eXist , double-cliquez sur la collection XML-Auteurs.xml pour l’ouvrir , afin de visualiser le fichier tout en faisant vos requêtes

Pour produire des éléments XSLT dans le document résultat, la feuille de style déclare, d'une part, l'espace de noms XSLT associé, comme d'habitude, au préfixe xsl et elle