Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours développement web

Introduction à XML pas à pas

Introduction à XML pas à pas
Participez au vote ☆☆☆☆☆★★★★★

Carrefour de l’information

Le langage XML

z Historique : De l’ASCII à XML z XML : Le langage z XML : La programmation z XML : Les transformations z XML : Les applications

De l’ASCII …

z ASCII = American Standards Committee for

Information Interchange z Échange d’information textuelle

–  Structure rudimentaire z Lignes de texte

–  Aucune mise en forme z Universel et très utilisé

–  Fichiers dits « de texte » z Sources des programmes, fichiers de commandes z Fichiers de configuration z Pages HTML

… vers XML

z  Besoin de représenter une information plus

complète

–  Au niveau de la structure z Structures de données complexes

–  Arbres – Bases de données

–  Au niveau de la mise en forme z « Markup » universel

z  Solution de remplacement = Formats spécifiques aux

applications

– Word, WordPerfect, FrameMaker…

z  La solution définitive = XML

Un langage « extensible »

z  XML = eXtensible Markup Language z C’est un méta-langage

–  Il permet de définir des langages dérivés de luimême

z  Il va permettre de représenter des données

intelligemment

–  Avec une structure plus complexe

–  Adaptée à l’information que l’on veut représenter z C’est un langage de représentation de

l’information

La constellation XML

CSS

SGML                                             XSL-FO

XSL

XSLT

XML

VoiceXML

HTML

XHTML

Le langage XML

z Historique : De l’ASCII à XML z XML : Le langage z XML : La programmation z XML : Les transformations z XML : Les applications

Structure d’un document XML

z C’est un fichier texte

–    ASCII et toutes ses variantes étendues pour représenter du texte dans toutes les langues

z Il représente une structure d’arbre

–    À partir d’une racine

–    Chaque nœud peut être une feuille ou un autre arbre

–    Structure récursive

Le langage

z  Très simple : 2 énoncés z Les balises

–     Identifient les nœuds de l’arbre

–     Encadrent le contenu de chaque nœud

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

z  Les attributs

–     Attachés à chaque nœud

–     Prennent une chaîne de caractères comme valeur z Caractères d’échappement

z  & < > " et ‘ remplacés par

&amp; &lt; &gt; &quot; et &apos;

Exemple de document XML

<Racine>

<NoeudA attr1="val1">

Contenu du nœud A

</NoeudA>

<NoeudB attr1="val1" attr2="val2"> Contenu du nœud B

</NoeudB>                            NoeudA             Contenu du nœud A

</Racine>                               attr1="val1"

Racine

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

Document bien formé et document valide

z  La syntaxe XML défini des documents bien

formés

z  Un document valide se conforme à des

règles qui déterminent quel arbre il peut représenter

–  Nature des nœuds

–  Nature des paramètres

–  Contenu des nœuds

–  Valeurs des paramètres

Deux manières d’énoncer les règles de validité

z  Dans un DTD (Document Type Definition)

–  Nature des nœuds et des attributs

–  Décrit dans un document XML avec un format spécifique qui peut être séparé ou inclus dans le document qu »il valide

z  Dans un schéma

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

–  Décrit dans un document XML dans un langage dérivé de XML et spécifié par un 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

>

Le langage XML

z Historique : De l’ASCII à XML z XML : Le langage z XML : La programmation z XML : Les transformations z XML : Les applications

XML et la programmation

z Support standard intensif au niveau de la

programmation

–     Pour analyser des fichiers XML

–     Pour créer des fichiers XML

–     Pour valider des fichiers XML

–     En Java, C#, C++, … z Deux types d’analyseurs

–     SAX

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

–     DOM (Document Object Model)

z Le document XML est associé à un arbre

SAX

<Racine>

<NoeudA attr1="val1">

Contenu du nœud A

</NoeudA>

<NoeudB attr1="val1" attr2="val2"> Contenu du nœud B

</NoeudB>

</Racine>                 Analyseur

SAX

SAX génère des événements en parcourant le document XML

Début Racine

Début NoeudA Contenu NoeudA

Fin NoeudA

Début NoeudB Contenu NoeudB

Fin NoeudB

Fin Racine

DOM

<Racine>

<NoeudA attr1="val1">

Contenu du nœud A

</NoeudA>

<NoeudB attr1="val1" attr2="val2"> Contenu du nœud B

</NoeudB>

</Racine>                 Analyseur

DOM

Objet NoeudA

Objet Racine

DOM établi un lien entre les objets du programme et les nœuds de

Objet NoeudB

l’arbre représenté dans le document XML

Le langage XML

z Historique : De l’ASCII à XML z XML : Le langage z XML : La programmation z XML : Les transformations z XML : Les applications

Les transformations XML

z  XSL = eXtensible Stylesheet Language z XSLT = eXtensible Stylesheet Language for

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

conversion d’un document XML en un autre document XML

z  Langage de type déclaratif

–  Similaire à Prolog

–  Déclenchement de règles de conversion

–  Le langage XPath est utilisé pour spécifier des ensembles de nœuds

Transformation XSLT

                Transformation XSLT

Processeur XSLT

Document XHTML Document XML

Application : production de pages WEB depuis des documents XML

Exemple de transformation

Document source XML

<?xml version="1.0"?>

<Liste>

<Item>

<Nom>Item A</Nom>                  Résultat

ITEM

PRIX

Item A

10$

Item B

20$

Item C

5$

<Prix>10$</Prix>

</Item>

<Item>

<Nom>Item B</Nom>

<Prix>20$</Prix>

</Item>

<Item>

<Nom>Item C</Nom>

<Prix>5$</Prix>

</Item>

</Liste>

Fichier de transformation XSL

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl=";> <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>

Le langage XSL-FO

z  XSL-FO est un langage de description de

documents formatés

–  FO = Formated Output z XSL-FO est un autre langage dérivé de XML z XSL-FO est traité par un logiciel produisant le

document mis en forme (processeur FOP)

–  Formats de sortie z Actuellement PDF, PCL, PS, AWT, TXT, SVG z À venir : MIF, RTF…

z  Étant du XML il peut être obtenu par transformation d’un document XML

Transformation XSL-FO

                Transformation XSL-FO

Processeur XSLT                                                                                  Processeur FOP     

   Document PDF

                                                                                                Document FO

Document XML

Application : production de documents PDF depuis des documents XML

Exemple de document XSL-FO

?xml version="1.0" encoding="utf-8"?>

<fo:root

xmlns:fo=";>

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

Suite…

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

Résultat en PDF après traitement par FOP

Le langage XML

z Historique : De l’ASCII à XML z XML : Le langage z XML : La programmation z XML : Les transformations z XML : Les applications

Pourquoi utiliser XML ?

Peut s’éditer avec

XMLestdes outils simplescomme du texte standard  Peut être analyséet construit avecdes outils standardssimple   Est utilisable sur de petits systèmes

XMLPermet la représentationpeut représenterde documents structurésdes

données complexesPeut représenter sansdes documents issus de  perte d’informationtraitements de texte,

de chiffriers ou de bases de données

La structure des fichiers XML peut être

validée formellement

Permet la construction de nouveaux langages

Les outils qui le manipulent peuvent être adaptés à la structure des documents

Les applications de XML

z  Représentation d’informations structurées

– Bases de données

z  Format d’entreposage universel z Entreposage du contenu des sites WEB – Transformation en XHTML et en PDF

z  Échange d’informations complexes entre des

applications différentes

z  Traitement de documents z Échange de documents sur Internet – Commerce électronique

z  Fichiers de configuration

z  Utilisation d’outils et de bibliothèques standards

Exemple type

Documents distribués

Contenu du site

Documents XML

                                                        Serveur WEB

Outils d’éditionPrésentationspécialisésdu site

Documents XSL

XML l’ASCII de demain ?

z  Simple

–  Basé sur du texte

z  Standard

–  Normalisation

–  Outils d’édition

–  Bibliothèques d’analyse et de synthèse

z  Extensible

–  Spécialisation

–  Universalité

Decouvrir ces documents

  • Introduction au management des connaissances

    Introduction au management des connaissances

  • Introduction au logiciel Matlab

    Introduction au logiciel Matlab

  • Introduction à TCP IP et aux routeurs IOS

    Introduction à TCP IP et aux routeurs IOS

  • Introduction au management des operations [Eng]

    Introduction au management des operations [Eng]

  • Introduction à la programmation assembleur ARM

    Introduction à la programmation assembleur ARM

  • Cours et exercices d’introduction a l’aconomie politique

    Cours et exercices d’introduction a l’aconomie politique

  • Cours Introduction à la programmation sur iPhone

    Cours Introduction à la programmation sur iPhone

  • Tutoriel d’Introduction au logiciel MATLAB

    Tutoriel d’Introduction au logiciel MATLAB

Articles connexes

  • Questionnaire MS Access -introduction
  • Comment faire une introduction pour une analyse de texte philosophique ?
  • TD ASRA: introduction à l'utilisation de pf avec correction
  • TD 8 : Introduction aux bases de données Le langage SQL
  • Exercice introduction aux systèmes de gestion de base de données
  • Comment rédiger un rapport de stage ?
  • Comment élaborer un rétroplanning commercial ?
  • Exercices et Examens Merise : introduction aux systèmes de gestion de base de données relationnelle
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02