Langage XML cours de base sur les concepts et pratiques pour reviser et s'entrainer


Télécharger Langage XML cours de base sur les concepts et pratiques pour reviser et s'entrainer

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Langage XML cours de base sur les concepts et pratiques pour réviser et s'entraîner

I.1. Origine de XML

Qu’est-ce qu’XML ?

Pourquoi s’y intéresser ?

Importance de XML dans un Internet en évolution

Faiblesses d’HTML

Inadapté au commerce électronique

SGML (Standard Generalized Markup Language), et relation avec XML

Améliorations apportées par XML par rapport à SGML et HTML

Avantages de XML pour les non-programmeurs

Évolution du World Wide Web

Des simples pages Web …

… au commerce électronique

Pas seulement commander à partir d’une page Web

Utiliser l’Internet pour regrouper les différentes parties d’une entreprise en une seule entité

Échange d’information sur des transactions financières (transactions de cartes de crédit, bancaires, etc.)

Échange de données médicales (entre médecins, hôpitaux, etc.)

Distribution de logiciels par le Web (pas d’installation, modularisation des logiciels et paiement des parties qu’on utilise)

Limites de HTML

HTML a été et reste un succès fantastique

Conçu pour afficher du texte dans un browser

Web.

Reproches usuels (justifiés ou non !)

Manque de vérification syntaxique (pas de validation)

Manque de structure

HTML non-orienté contenu : pas d ’info sémantique

Pas international

Inadapté à l’échange de données

Absence d’un mécanisme de liens robuste

Non réutilisable

Limites de TeX, PDF, RTF

TeX : communautés scientifiques

PDF : Adobe

RTF : Microsoft

Formats propriétaires

Non ouverts

Non standardisés

SGML (Standard Generalized

Markup Language)

Objectif : stockage de données indépendant de tout vendeur ou package logiciel

Meta language : description de langages de markup

HTML est une application de SGML

Très nombreux langages de markup définis à partir de

SGML (QML : FAQ markup language)

Déclaration SGML : distinction données / markup

Pourquoi pas SGML ?

Tentative de « SGML sur le Web »

Échec

SGML trop compliqué pour être utilisé à grande échelle sur le Web

Investissement trop important en temps, outils et formation

Pourquoi XML ?

XML utilise les fonctionnalités de SGML dont il a besoin et incorpore les leçons apprises d’HTML

XML peut-être utilisé avec les protocoles (HTTP, MIME) et les mécanismes (URLs) du Web

Supporte une grande variété d’applications

Compatible avec SGML

Facile d’écrire des programmes qui traitent des docs XML (Java, SmallTalk, C, C++, JavaScript, Tcl, Perl, Python …)

Documents XML faciles à créer

Lisibilité des documents XML XML - 08/02/2002 12

Qu’ajoute XML à SGML/HTML ?

Modularité : combinaisons de fragments de DTDs et de documents

Extensibilité : cible du lien pas nécessairement dans l’objet (pas forcément de droits d’écriture), nouvelles applications

Distribution : notion de document composite, dont le contenu est créé automatiquement : séparation contenu / présentation

Internationalité : basé sur Unicode (et non ASCII)

Orienté données : doit être facilement lisible par les machines (création facile par les machines, pour le commerce électronique)

But : faciliter le traitement automatisé des données

XML est-il réservé aux programmeurs ?

Nouvelles applications utilisables avec des données XML

Les données doivent être disponibles en XML pour en bénéficier !

XML peut être encore plus simple qu’HTML !

Pas de balises prédéfinies

Choix du nombre, des noms des balises

I.2. Concepts de base

Qu ’est- ce qu ’XML ?

Extensible Markup Language

Une syntaxe pour les documents

Un « meta-markup language »

Un langage structurel et sémantique, pas un langage de formatage

Pas seulement pour les pages Web

Meta Markup Language

Pas comme HTML, LaTeX : création de nouvelles applications

Création des balises en fonction des besoins

Les balises créées peuvent être documentées dans une Document Type

Definition (DTD)

Syntaxe meta pour des langages de markup spécifiques comme MusicML, MathML, CML

Description de la structure et de la sémantique, pas du formatage

Les documents XML forment un arbre

Éléments et attributs reflètent le contenu d ’un élément

Le formatage peut être ajouté avec une feuille de style

Description d ’une chanson en HTML

Hot Cop

by Jacques Morali, Henri Belolo, and Victor

Willis

 

 

  • Producer: Jacques Morali

 

 

  • Publisher: Polygram Records

 

 

  • Length: 6:20

 

 

  • Written: 1978

 

 

  • Artist: Village People

 

 

Description d ’une chanson en XML

 

Hot Cop

Jacques Morali

Henri Belolo

Victor Willis

Jacques Morali

Polygram Records

6:20

1978

Village People

 

Pour quoi utilise-t ’on XML ?

Langages de markup spécifiques à un domaine

Données auto-descriptives

Échange de données entre applications

Structuration et intégration de données

Langages de markup spécifiques à un domaine

Pas de format propriétaire

Création de nouveaux langages pour des domaines spécifiques

Données auto-descriptives

Beaucoup de données sont perdues à cause de problèmes de format

XML est très simple

XML est auto-descriptif

XML est bien documenté

Échange de données entre applications

Problème des applications distribuées : pas de standard uniforme pour transférer des données structurées

Standards utilisés par les applications souvent incompatibles

Exemple : commerce électronique

Structuration et intégration de données

Spécification de relations entre les éléments

Assemblage de données à partir de sources multiples

I.3. Applications XML

Applications XML

Application XML : langage de markupspécifique utilisant la meta-syntaxe XML

Les différentes applications XML ont leurs propres syntaxes et vocabulaires, avec des contraintes spécifiques

Applications XML "réelles"

Scalable Vector Graphics (SVG)

The Open Software Description (OSD)

The Internet Open Trading Protocol (OTP)

The Java Speech Markup Language (JSML)

The Health Level 7 (HL7)

The Open Financial Exchange Specification (OFE)

The Handheld Device Markup Language (HDML)

The Channel Definition Format (CDF)

Visual XML (VXML)

The Signed Document Markup Language (SDML)

The Translation Mempry Exchange (TMX)

Applications XML "réelles" (2)

The Platform for Privacy Preferences (P3P)

WebBroker

The Development Markup Language (DML)

The XML Query Language (XML-QL)

The Bioinformatic Sequence Markup Language (BSML)

The Chemical Markup Language (CML)

The Synchronized Multimedia Integration Language (SMIL)

The Mathematics Markup Language (MathML)

Points essentiels

  1. Présentation de XML
  2. Anatomie d'un document XML / Visualisation

III. Feuilles de style

  1. Vérification d ’un document XMLdocument bien-formévalidation : DTD / Schéma
  2. Liens XML
  3. Traitement de XML

VII. XML Schemas

VIII. Conclusion et références

  1. Anatomie d'un document XML

II.1. Étude d'un document XML



II.2. Visualisation de XML dans des browsers

Anatomie d’un document XML

Markup

Composants d’un document XML

Extension standard : .xml

Édition possible avec tout éditeur de texte

Markup

Ajout de caractères à un morceau d’information, qui peut être utilisé pour traiter cette information.

Très simple : séparateurs de champs pour importer dans une BD (virgules)

Très riche : Text Encoding Initiative (versions, traductions, interprétation de documents historiques)

Orienté contenu / orienté présentation

Caractères de markup en XML : < & > ‘ "

Tout ce qui n'est pas du markup est du contenu

II.1. Étude d'un document XML

Exemple de document XML

 

 

 

 

My Home Page

 

 

 

 

 

Welcome to My Home Page

 

 

 

 

Sorry, this home page is still under construction. Please come back soon!

 

 

 

 

 

Affichage avec

Internet Explorer 5

Déclaration XML (ligne 1)

 

Identification de la suite comme du code XML

Trois attributs possibles : version : numéro de version du standard XML auquel le document se conforme (1.0). (Obligatoire)

encoding : nom de l'encodage de caractères employé dans le fichier (UTF-8, UTF-16, …)

standalone : vaut "no" si le document XML fait référence à une DTD ou à des entités définies dans un autre fichier, vaut "yes" sinon.

Déclaration XML = instruction de traitement

(Processing Instruction)

Élément racine (lignes 2 à 23)

Premier élément déclaré dans le document XML

1 seul élément racine

Tous les autres y sont inclus

Les éléments doivent être parfaitement imbriqués

Un élément XML est constitué de 3 parties

Une balise de début

Du contenu (texte ou éléments)

Une balise de fin (nom identique à la balise de début)

Exemple d ’élément

My Home Page

Balise de début :

Contenu : « My Home Page »

Balise de fin :

Élément vide (ligne 13)

Il faut spécifier clairement qu'un élément est vide :

 

Autre possibilité :

 

Un élément vide contient des informations dans ses attributs

Attributs (lignes 7 et 22)

Nécessairement contenus dans la balise de début

Complément d'information sur l'élément

Syntaxe : nom=valeur

 

Ou

 

Guillemets/apostrophes obligatoires pour la valeur

Fusion des ensembles d'attributs pour un élément donné

La valeur d'un attribut ne peut pas être structurée

Un élément ne peut pas avoir deux attributs de même nom

Règles de nommage

Au moins une lettre : a à z ou A à Z

Peut commencer par _ ou :

La 1ère lettre peut être suivie par une ou plusieurs lettres, chiffres, tirets, underscores, points, et l'ensemble des caractères Unicode.

Pas d'espaces ni de tabulations

Seuls signes de ponctuation autorisés : tiret et point

Commentaires

Tout le contenu sera ignoré par le processeur XML

Pas d'espace dans les balises

Pas de commentaire à l'intérieur d'autre markup

> bonjour

5 entités prédéfinies (pour les caractères de markup)

& & ou &#38;

' ' ou '

> > ou >

< < ou &#60;

" " ou "

Sections CDATA

Pour garder le texte tel qu'il est :

 

Rien n'est alors reconnu comme du markup

Exemple : pour inclure du code applicatif

(JavaScript, Perl, etc.) dans le code XML (autre manière : Processing Instruction)

Processing Instructions

Déclaration XML

 

Instructions pour des applications spécifiques

 

 

This is text containing two processing instructions,

 

 

one for each interpreter.

 

Structure logique du document

Structure arborescente

Notions de parent, enfant et "sibling"

II.2. Visualisation de XML dans des browsers

Netscape 4

Netscape Mozilla 5

www.mozilla.org

Citec Information Technologies Doczilla

Internet Explorer 5

Internet Explorer 5 et XML

Entièrement conforme à la spécification XML 1.0

Data Islands

Visualisation directe avec XSL et CSS

Support des espaces de nommage

Meilleures performances

IE 5 Data Islands :

XML inclus dans HTML

 

XML Object Model in Explorer

5.0

 

 

My favorite musicians


 

 

 

Joey Baron

 

drums

 

1

 

 

 

Bill Frisell

 

guitar

3

 

 

 

Don Byron

 

clarinet

 

2

 

 

 

Dave Douglas

 

trumpet

 

1

 

 

 

 

 

 

Visualisation en utilisant le DOM

Modèle accessible par JavaScript, VBScript,

C++, Java function output_doc(node)

{

if (node.nodeType == 0)

{

if (node.nodeName == "musicians")

{

document.write("

");

traverse(node);

document.write("");

}

else if (node.nodeName == "musician")

{

document.write("");

traverse(node);

document.write("");

}

}

Visualiser XML directement

Possibilité d'ouvrir tout fichier XML dans

IE5

Feuille de style XSL par défaut

Exemple de visualisation directe

 

 

 

Joey Baron

 

drums

 

1

 

 

 

Bill Frisell

 

guitar

 

3

 

 

 

XML - 08/02/2002 53

Autre exemple

 

 

How to use a shared network printer?

 

In Network Neighborhood, locate and double-click the computer where the printer you want to use is located.

To see which computers have shared printers attached, click the

View

menu, click

Details

, and look for printer names or descriptions in the Comment column of the Network Neighborhood window.



 

 

Double click the printer icon in the window that appears.

 

 

 

To set up the printer, follow the instructions on the screen.

 

 

 

After you have set up a network printer, you can use it as if it were attached to your computer. For related topics, look up "printing" in the Help Index.

 

XML - 08/02/2002 54

Visualisation avec la feuille de style par défaut

Points essentiels

  1. Présentation de XML
  2. Anatomie d'un document XML / Visualisation

III. Feuilles de style

  1. Vérification d ’un document XMLdocument bien-formévalidation : DTD / Schéma
  2. Liens XML
  3. Traitement de XML

VII. XML Schemas

VIII. Conclusion et références

III. Feuilles de style

XML - 08/02/2002 57

Feuilles de style

Séparation du contenu et de la présentation

Interopérabilité : affichage sur le Web, sur papier, BD, …

Réutilisabilité/ durabilité : le document ne devient pas obsolète avec l'évolution des techniques informatiques ; il pourra être traité par des applications inexistantes au départ

Feuilles de style

Séparées du document XML

CSS : Cascading Style Sheets

CSS1 : Level 1

CSS2 : Level 2

XSL : Extensible Stylesheet Language

DSSL : Document Style and Semantics

Language

CSS ou XSL ?

CSS : plus large support

CSS : plus stable

XSL : plus puissant

III.1. CSS

Feuille de style CSS

helptopic { display: block;

margin-top:3cm;

margin-left:2cm;

margin-right:2cm;

margin-bottom:6cm;

font-family:Verdana, Arial;

font-size:11pt;

padding:20pt; }

title {display: block;

font-size:20pt;

color:blue;

font-weight:bold;

text-align:center;

margin-bottom:30pt;

text-decoration:underline;}

procedure {display:block;

margin-bottom:30pt}

step {display:block;

margin-bottom:18pt}

action {display:block;

font-weight:bold;}

tip {display:block;

font-size:10pt;

margin-left:+1cm;

margin-top:12pt;

color:blue;}

icon {display:inline;

font-size:12pt;}

todo {display:inline;

color:red;}

menu {display:inline;

font-style:italic;}

Fichier XML correspondant

Après la déclaration XML, avant l'élément racine

 

 

 

 

Affichage avec la feuille de style CSS

Propriétés de CSS

Tout élément n'a pas besoin d'une règle

Élément racine : au moins display: block

III.2. XSL

XML - 08/02/2002 66

Feuille de style XSL

 

 

 

 

 

 

 

Using an XSL stylesheet

 

 

 

 

 

 

 

 

 

 

 

Entités générales internes

Symboles pouvant être définis dans une DTD et utilisés dans un document XML comme raccourcis d'écriture.

Déclaration d'entité interne :

<!ENTITY nom "texte de remplacement">

Remplacement de &nom; par le texte de remplacement lors du traitement du code XML

Exemple d'entité interne

 

 

<!ENTITY rights "All rights reserved. No part of this book, including interior design, cover design, and icons, may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording, or otherwise) without the prior permission of the publishers.">

]>

 

 

Title Page

 

 

The Title Page

(c) 1998, &rights;

 

 

Affichage avec

Internet Explorer 5

Entités paramètres

Raccourci pour les déclarations de markup

Syntaxe différente des entités caractères

Signe % (au lieu de &)

Exemple :

<!ENTITY % titre "H1 | H2 | H3 | H4 | H5 | H6 ">

<!ENTITY % contenu "(%titre | %texte )*">

<!ELEMENT BODY %contenu>

Déclaration des éléments et attributs dans la DTD interne

Déclaration d'entités internes (sortes de macros)

Déclaration d'éléments et d'attributs dans la DTD interne

Premiers pas dans le monde de la modélisation d'information

Contrôle et vérification du contenu de documents XML conformes à des DTDs

  1. Déclaration d'éléments

<!ELEMENT nom contenu>

nom : nom standard XML (cf. règles de nommage)

contenu :

Mot-clé EMPTY

Mot-clé ANY

Modèle de contenu ("content model") : séquence et répétition des éléments contenus dans cet élément

Exemple de message email

 

 

 

14 May 1998

Me

You

Test Message

 

...

 

Some smart saying

 

 

DTD pour ce message email

<!ELEMENT message (header, body, sig) >

<!ELEMENT header (date, from, to, subject) >

<!ELEMENT body (#PCDATA) >

<!ELEMENT sig (#PCDATA) >

<!ELEMENT date (#PCDATA) >

<!ELEMENT from (#PCDATA) >

<!ELEMENT to (#PCDATA) >

<!ELEMENT subject (#PCDATA) >

XML - 08/02/2002 105

Documents valides / invalides

DTD :

<!ELEMENT GREETING #(PCDATA)>

Valide :

texte sans markup

Invalide :

Invalide :

 

texte

&



73