• Aucun résultat trouvé

W3C et XML

N/A
N/A
Protected

Academic year: 2022

Partager "W3C et XML"

Copied!
76
0
0

Texte intégral

(1)

1

XML

ENST - BDA - Option XML Bernd Amann

2003/04

(2)

Objectifs du cours

Apprendre XML et le(s) modèle(s) sous-jacent(s).

Comprendre l’utilisation XML dans le contexte d’une application Web.

Etudier et mettre en oeuvre quelques outils (langages) pour la manipulation (programmation) de XML.

(3)

3

Plan du cours

XML: syntaxe, modèles DOM et SAX, DTD (cours: 27 février) Le rôle de XML dans les applications Web (cours: 27 février) XPath : extraction de fragments XML (cours + TP: 12 mars) XSLT: transformation de documents XML (cours + TP: 19 mars)

XQuery: interrogation de documents XML (cours: 17 mars)

(4)

XML (eXtensible Markup Language)

(5)

5

W3C et XML

Le World Wide Web Consortium (W3C) http://www.w3.org

400 partenaires industriels, parmi lesquels les plus grands comme Oracle, IBM, Compaq, Xerox, Microsoft

Laboratoires de recherche: MIT pour les États Unis, INRIA pour l’Europe, université Keio (Japon) pour l’Asie

XML : recommendation W3C pour

les documents Web (généralisation de HTML),

mais aussi pour l’échange, la transformation, l’intégration et l’interrogation des données sur le Web.

(6)

Notion de balisage structurel

Principe clé de XML :

séparer la structure d’un document de sa présentation documents structurés

structurer l’information données (semi-)structurées Avantages:

transformation : indépendance entre les outils de présentation (clients) et les outils de gestion de l’information (serveurs);

différentes présentations sont possibles pour le même document

interrogation : requêtes plein-texte et (semi-)structurées

(7)

7

Document XML (forme sérialisée)

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

<CINEMA>

<NOM>

Epée de Bois

</NOM>

<ADRESSE>

100, rue Mouffetard

</ADRESSE>

<METRO>

Censier-Daubenton

</METRO>

</CINEMA>

Cette représentation facilite l’échange de l’information.

(8)

Document XML (forme arborescente)

Un arbre :

/

CINEMA

NOM

Épée de bois

ADRESSE

100, rue Mouffetard

METRO

Censier-Daubenton

(9)

9

Document XML (arbre DOM)

Les noeuds dans un document XML sont typés. Le modèle DOM distingue entre la racine du documents, les éléments, le text, les commentaires, ... :

Document -

Element CINEMA

Element NOM

Texte - Epée de Bois

Element ADRESSE

Texte -

100, rue Mouffetard

Element METRO

Texte -

Censier-Daubenton

(10)

La syntaxe XML

La syntaxe XML définit la représentation sérialisée d’un arbre DOM :

représentation des noeuds (document, élements, texte, commentaires, attributs, ...)

représentation de la structure (eg. imbrication des balises)

(11)

11

La déclaration XML

Tout document XML peut être précédé par une déclaration XML :

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

l’attribut encoding indique le jeu de caractères utilisé dans le document

l’attribut optionnel standalone indique si le document est composé de plusieurs entités.

(12)

Éléments

Dans la forme sérialisée, un élément est une balise ouvrante avec un nom, puis un contenu, puis une balise fermante

Dans la forme arborescente, un élément est un noeud qui a un nom et

qui est la racine de l’arbre représentant son contenu.

(13)

13

Exemple

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

<A>Le texte de A

<B>Le texte de B</B>

</A>

Element A

Text - Le texte de A

Element B

Text - Le texte de B

Text -

(14)

Quelques remarques sur les éléments

Un nom d’élément ne contient pas de blanc, ni de caractère accentué

On distingue les majuscules et les minuscules (pas comme dans HTML)

Il existe une forme abrégée pour les éléments sans contenu :

<C></C> peut s’écrire <C/>.

Tout document comprend un seul élément racine

(15)

15

Attributs

Les attributs constituent un autre moyen de représenter de l’information.

<A att1=’1’ att2=’2’>

l’ordre des attributs n’est pas important

il doit toujours y avoir une valeur, encadrée par des quotes simples ou double-quotes (différent de HTML)

il ne peut pas y avoir deux attributs avec le même nom dans un élément.

(16)

Attribut ou element?

Souvent on a le choix entre l’utilisation d’un attribut ou d’un élément pour représenter une information.

Il est conseillé d’utiliser des éléments quand l’information est structurée (un arbre)

répétitive (une séquence d’éléments)

grande (eg. une chaîne de caractères de plusieurs KO)

“affichable”

Il est conseillé d’utiliser des attributs comme identificateurs ou références

“paramètres” (eg. pour l’affichage)

(17)

17

Commentaires et instructions de traitement

Les commentaires :

<!-- Ceci est un commentaire -->

Instructions de traitement :

<?xml-stylesheet href="prog.xslt"

type="text/xslt">

(18)

Les sections littérales CDATA

On veut placer dans le contenu d’un document XML des caractères comme ’<’, ’>’, ou ’&’.

Incorrecte :

<?xml version=’1.0’?>

<PROGRAMME>

if ((i < 5) && (j > 6)) printf("error");

</PROGRAMME>

Correcte : utilisation d’une section CDATA

<?xml version=’1.0’?>

<PROGRAMME>

<![CDATA[if ((i < 5) && (j > 6)) printf("error"); ]]>

</PROGRAMME>

CDATASection -

if ((i < 5) && (j > 6)) printf("error");

(19)

19

Résumé : structure d’un document XML

Un document XML comprend trois parties :

le prologue, avec la déclaration XML, la DTD, des

commentaires, des instructions de traitements (optionnels) un élément racine avec son contenu

un épilogue avec des commentaires, ou des instructions de traitements (optionnels)

Le contenu du document proprement dit est le contenu de l’élément racine.

(20)

Déclaration du Type de Document (DTD)

(21)

Déclaration du Type de Document (DTD) 21

Documents XML valides et bien-formés

Document XML bien-formé:

la structure est imbriquée (arborescence) Document XML valide:

le document respecte une DTD qui décrit pour chaque élément la structure de son contenu et ses attributs

intégrité référentielle :

toutes les valeurs d’attributs de type ID sont distinctes toutes les références sont valides

(22)

Exemples

Un cinéma a

un nom, une adresse optionnelle et une suite de séances.

<!ELEMENT cinéma (nom,adresse?,(séance)*)>

Une personne a

un nom, plusieurs numéros de téléphone et au moins une adresse email

<!ELEMENT personne (nom,tel*,email+)>

(23)

Déclaration du Type de Document (DTD) 23

DTD: Exemple

1 <!ELEMENT Officiel (#PCDATA | cinéma | film)*>

2 <!ELEMENT cinéma (nom, adresse, (séance)*)>

3 <!ELEMENT nom (#PCDATA) >

4 <!ELEMENT adresse (ville, rue, (numéro)?)>

5 <!ELEMENT séance EMPTY>

6 <!ATTLIST séance heure NMTOKEN #REQUIRED

7 ref_film IDREF #REQUIRED>

8 <!ELEMENT film (titre, année>

9 <!ATTLIST film film_id ID #REQUIRED>

10 acteurs IDREFS #IMPLIED>

(24)

DTD: Utilisation

On ajoute au début du document XML la clause DOCTYPE.

Définition locale:

<!DOCTYPE Officiel [

<!ELEMENT Officiel (#PCDATA|cinéma|film)*>

<!ELEMENT cinéma (nom, adresse, (séance)*)>

...]>

Définition externe :

<!DOCTYPE Officiel SYSTEM "officiel.dtd">

Définition mixte :

<!DOCTYPE Officiel SYSTEM "officiel.dtd" [

<!ELEMENT Officiel (#PCDATA|cinéma|film)*> ]>

(25)

Déclaration du Type de Document (DTD) 25

DTD: Pourquoi Validation?

Une DTD est une description de l’interface entre le producteurs et les consommateurs des données/documents XML :

le producteur peut contrôler la qualité des données/documents produits

le consommateur peut séparer la vérification syntaxique des données/documents (parseur) de la logique de l’application

(26)

ELEMENT : Déclaration du Type de Élément

Un élément est défini par un nom et un modèle de contenu : Expression régulière sur l’alphabet des noms d’éléments;

EMPTY = élément vide;

ANY = toute combinaison de tous les éléments;

#PCDATA = texte

Contenu mixte : (#PCDATA | A | B ...)*

(27)

Déclaration du Type de Document (DTD) 27

Expressions régulières (rappel)

Expressions régulières sur un alphabet :

Chaque symbol est une expression régulière (e.r.);

Si est une expression régulière, alors

,

et

sont des expressions régulières;

Si et sont des expressions régulières, alors et

sont des expressions régulières;

(28)

Langages réguliers (1)

Chaque expression régulière sur un alphabet définit un ensemble de mots (langages)

sur :

pour tous les dans ;

: désigne le mot vide;

: tous les mots composés d’un mot dans

suivi d’un mot dans

: tous les mots dans

et dans

(union)

(29)

Déclaration du Type de Document (DTD) 29

Langages réguliers (2)

: tous les mots composés de mots dans

;

; Exemples :

,

(30)

ATTLIST : Déclaration des Attributs

<!ATTLIST élément nom type mode [defaut]>

Les éléments de type séance ont un attribut heure et un attribut ref_film :

<!ATTLIST séance heure NMTOKEN #REQUIRED ref_film IDREF #REQUIRED>

Les éléments de type film ont un attribut film_id et un attribut acteurs:

<!ATTLIST film film_id ID #REQUIRED

acteurs IDREFS #IMPLIED>

(31)

Déclaration du Type de Document (DTD) 31

Types d’attributs

Chaînes de caractères : CDATA

Énumérations : séquences de valeurs alternatives séparées par

ID, IDREF, IDREFS : identifiants et références ENTITY/ENTITIES : entité(s)

NMTOKEN/NMTOKENS : chaîne(s) de caractères sans blancs NOTATION : notation

(32)

ATTLIST : Mode

Modes d’attributs:

#REQUIRED : la valeur doit être définie

#IMPLIED : la valeur est optionnelle

#FIXED : la valeur est constante

<!ATTLIST séance heure NMTOKEN #REQUIRED ref_film IDREF #REQUIRED>

<!ATTLIST film film_id ID #REQUIRED acteurs IDREFS #IMPLIED

langue (AN|FR|AL|ES|IT) #IMPLIED>

<!ATTLIST adresse ville CDATA #IMPLIED ’Paris’>

(33)

Déclaration du Type de Document (DTD) 33

Entités

<!DOCTYPE Officiel [

<!ENTITY copyright ’Copyright B. Amann’>

<!ELEMENT Officiel (p, année) >

<!ELEMENT p (#PCDATA) >

<!ENTITY % text ’#PCDATA’>

<!ELEMENT année (%text;) >

]>

<Officiel>

<p> &copyright; </p>

<année>2000</année>

</Officiel>

(34)

Entités externes

Segmentation du document en plusieurs sous-documents Réutilisation de DTDs et de déclarations

Références vers données non-XML (NOTATION) Adressage:

URL : <!ENTITY pariscope SYSTEM ’http://pariscope.fr/ext.xml’ >

FPI (formal public identifier) :

<!ENTITY planning PUBLIC ’-//CNAM//Texte libre//FR’>

(35)

Déclaration du Type de Document (DTD) 35

Entités caractères

Déclaration entité Référence Car.

<!ENTITY lt "&#60;"> &lt; <

<!ENTITY gt "&#62;"> &gt; >

<!ENTITY amp "&#38;"> &amp; &

<!ENTITY apos "&#39;"> &apos; ’

<!ENTITY quot "&#34;"> &quot "

Table 1:

(36)

Résumé sur les DTDs

Une DTD décrit la structure d’un ensemble de documents XML valides ;

Tous les parseurs XML permettent de valider un document XML par rapport à une DTD ;

Une DTD n’est pas un document XML ;

Il existent des langages plus riches pour la description d’un document XML : XML Schema, Relax NG grammaires d’arbres régulières

(37)

Document Object Model (DOM) 37

Document Object Model (DOM)

(38)

Le modèle DOM

DOM est décomposé en plusieurs niveaux ; Le niveau 1 fournit

une définition de la structure logique d’un document sous forme d’une arborescence

des interfaces, méthodes, attributs et objets pour la création et modification de documents XML (DOM core) et HTML (DOM HTML)

Il ne fournit pas de notions d’événement, de persistance, d’interrogation etc. niveaux 2 ou plus

(39)

Document Object Model (DOM) 39

Passage de la forme sérialisée à la représentation DOM

Le document sérialisé est analysé pour créer une représentation arborescente :

le nœud racine est de type Document

les catégories syntaxiques (commentaires, balises, texte) se traduisent par différents types de nœuds (Comment, Element, Text)

les nœuds constituent un arbre qui reflète l’imbrication des éléments dans la forme sérialisée

(40)

Le modèle DOM

Un parseur DOM prend en entrée un document XML et construit un arbre formé d’objets :

chaque objet appartient à une sous-classe de Node des opérations sur ces objets permettent de créer de nouveaux nœuds, ou de naviguer dans le document

= éditeurs XML, processeurs XSLT

(41)

Document Object Model (DOM) 41

Les types de noeuds DOM

Leaf

Processing Instruction

Text

CData Comment

Entity

Reference Element Document Document Type

Entity

Attribute TreeNode

Node

Data Character

Container

Notation

(42)

Types de noeuds DOM

Type de Nœuds Catégorie syntaxique XML Document document XML (racine)

DocumentType type du document (DTD) ProcessingInstruction instruction de traitement

Element élément XML

Attribute attribut XML

Entity déclaration d’entité Table 2: Types de nœuds DOM

(43)

Document Object Model (DOM) 43

Types de noeuds DOM (suite)

Type de Nœuds Catégorie syntaxique XML EntityReference référence vers entité

Comment commentaire

CharacterData commentaire et section de texte

Text section de texte

CDataSection section CDATA

DocumentFragment fragment de document XML Notation notation

(44)

Propriétés d’un noeud

Propriété Type

nodeType unsigned short nodeName DOMString

nodeValue DOMString

attributes NamedNodeMap

Table 4: Propriétés du type Node

(45)

Document Object Model (DOM) 45

Propriétés d’un node (structure)

Propriété Type parentNode Node firstChild Node

lastChild Node

childNodes NodeList previousSibling Node

nextSibling Node

Table 5: Propriétés du type Node

(46)

Programmation XML avec les APIs DOM et SAX

(47)

Programmation XML avec les APIs DOM et SAX 47

Programmer avec XML

Les deux principales interfaces de programmation XML :

DOM (Document Object Model), basé sur une représentation arborescente

SaX (Simple API for XML), basé sur des déclencheurs

“événement/action”

(48)

Les API XML

L’API DOM :

Construit une représentation du document en mémoire sous forme d’arbre

Adaptée aux applications qui modifient ou traitent dans leur globalité un document.

L’API SaX :

Définit des triggers qui se déclenchent sur certaines balises.

Adaptée aux applications qui extraient de l’information d’un document

(49)

Programmation XML avec les APIs DOM et SAX 49

Opérations du type Node

Résultat Méthode Paramètres

Node insertBefore() Node nouv, Node fils Node replaceChild() Node nouv,

Node anc Node removeChild() Node fils

Node appendChild() Node nouv boolean hasChildNodes()

Node cloneNode() boolean prof

(50)

DOM : Exemple de code

Ajoute

<adventure type="epic">&adventure1;</adventure>

avant le 4e élément du document :

var racine = myDocument.documentElement;

var enfants = racine.childNodes;

var el_nouv = createElement("adventure") ;

var ent_ref = createEntityReference("adventure1");

el_nouv.setAttribute("type", "epic");

el_nouv.appendChild(ent_ref)

insertBefore(el_nouv, enfants.item(3));

(51)

Programmation XML avec les APIs DOM et SAX 51

DOM et SaX

Toutes les applications XML passent par une phase préalable d’analyse

Parseur SaX DOM Parseur

Document XML

Processeur XSLT Editeur XML

...

flux de données

Base de données Déclenchement

d’opérations

(52)

Architecture SAX

Associer des événements aux balises : Document

XML

Fonctions

<ELT1> </ELT1> <ELT2> ...

Parseur SAX Evénements

Accumulateur Données

(53)

Programmation XML avec les APIs DOM et SAX 53

Les événements SAX

Un parseur SAX génère un événement à chaque fois qu’il rencontre

le début et la fin de document, le début et la fin d’un élément, une instruction de traitements un commentaire, ...

Les fonctions s’exécutent indépendamment = il faut leur faire partager une zone mémoire (« accumulateur »)

(54)

Les événements SAX: exemple

import java.io.*;

import org.xml.sax.*;

import org.xml.sax.helpers.*;

import org.apache.xerces.parsers.SAXParser;

public class Trace extends DefaultHandler { // début de document

public void startDocument() {

System.out.println("start document");

}

// fin de document

public void endDocument() {

System.out.println("end document");

}

(55)

Programmation XML avec les APIs DOM et SAX 55

Exemple programmation SAX

// balise d’ouverture

public void startElement(String uri, String localName, String qName, Attributes attributes) {

System.out.println("starting element: " + qName);

}

// balise de fermeture

public void endElement(String uri,

String localName, String qName) {

System.out.println("end element: " + qName);

}

(56)

Exemple programmation SAX

// espace blanc

public void ignorableWhitespace(char[] ch, int start, int length) {

System.out.println("whitespace, length " + length);

}

// instruction de traitement

public void processingInstruction(String target, String data) {

System.out.println("processing instruction: " + target);

}

(57)

Programmation XML avec les APIs DOM et SAX 57

Exemple programmation SAX

// texte

public void characters(char[] ch, int start, int length){

System.out.println("character data, length " + length);

}

// procédure principale

public static void main(String[] args) { Trace t = new Trace();

SAXParser p = new SAXParser();

p.setContentHandler(t);

try { p.parse(args[0]); }

catch (Exception e) {e.printStackTrace();}

}

(58)

Exemple type : insertion dans une BD

À partir d’un flux XML contenant des films :

<FILMS>

...<FILM>

<TITRE>Alien</TITRE>

<ANNEE>1979</ANNEE>

<AUTEUR>Ridley Scott</AUTEUR>

<GENRE>Science-fiction</GENRE

<PAYS>USA</PAYS>

</FILM>

...

</FILMS>

(59)

Programmation XML avec les APIs DOM et SAX 59

Les événements

Début de document : connexion à la base et début de transaction

Balise FILM : création d’un enregistrement Film Balise TITRE : on affecte Film.titre

Balise ANNEE : on affecte Film.annee etc..

Balise /FILM : insertion de l’enregistrement dans la base, destruction de Film

(60)

Le rôle de XML dans les applications Web

(61)

Programmation XML avec les APIs DOM et SAX 61

Applications Web

Commerce électronique : catalogue/achat en-ligne (B2C), échanges commerciales (B2B)

Éducation : formation/enseignement à distance

Recherche : organisation de conférences, journaux électroniques

Médias : information en directe, archivage

Archivage, veille technologique (entrepôts thématiques)

Problème commun : Comment échanger et gérer des informations sur le Web ?

(62)

Architecture générale d’une application Web

Contenu

Mise−à−jour

Gestion

Transactions Sessions

Web

Integration

Acquisition

Souscription Exploration Transformation

Distribution

Publication

Entrepot

Recherche Formulaires Services

IInteraction

Requetes

(63)

Programmation XML avec les APIs DOM et SAX 63

XML comme modèle de données pour les applications Web

Un document XML

peut être échangé facilement (format ASCII) ;

permet de représenter pratiquement toute information structurée ;

n’est pas lié à un mode d’utilisation : chacun peut se définir ses propres « structures » ;

peut être stocké, transformé, interrogé “facilement”

(64)

XML = le modèle de données pour le Web

La technologie XML peut contribuer à tous les niveaux d’une application Web :

Modèle de données : entrepôts/BD XML, XML Schéma, XQuery

Pogrammation d’applications : XPath/XQuery (interrogation), DOM/SAX (programmation), XSLT (transformation)

Format d’échange entre applications : services Web (SOAP) Format de publication de données : XHTML, SMIL, SVG, RDF...

(65)

Programmation XML avec les APIs DOM et SAX 65

Première etude de cas : Site web cinématographiques

Un cinéma veut diffuser sa programmation sur le Web : informations sur les films, salles et horaires

différentes formats de diffusion : navigateur Web, téléphone portable, RealPlayer, papier

(66)

Le cinéma

Cinema.xml:

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

<!DOCTYPE CINEMA SYSTEM "Cinema.dtd" [

<!ENTITY salle1 SYSTEM "Salle1.xml">

<!ENTITY salle2 SYSTEM "Salle2.xml">

]>

<CINEMA>

<NOM>Epée de bois</NOM>

<ADRESSE>100, rue Mouffetard</ADRESSE>

<METRO>Censier-Daubenton</METRO>

&salle1;

&salle2;

</CINEMA>

(67)

Programmation XML avec les APIs DOM et SAX 67

Une salle de cinéma

Salle1.xml :

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

<!DOCTYPE SALLE SYSTEM "Salle.dtd" [

<!ENTITY gladiator SYSTEM "Gladiator.xml">

]>

<SALLE NO=’2’ PLACES=’120’>

&gladiator;

<SEANCES>

<SEANCE>22:00</SEANCE>

</SEANCES>

</SALLE>

(68)

Un film

Gladiator.xml:

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

<FILM FILMID=’4’>

<TITRE>Gladiator</TITRE>

<AUTEUR>Ridley Scott</AUTEUR>

<ANNEE>2000</ANNEE>

<GENRE>Aventure</GENRE>

<PAYS>Etats Unis</PAYS>

<RESUME>

Un gladiateur romain se tient au centre de l’immense Colisée, le regard tourné vers l’empreur, suspendu à sa décision. Détenant le pouvoir de vie et de mort le césar tient son pouce levé, une expression implacable sur le visage. Il semble prêt à donner au gladiateur l’ordre d’achever son adversaire vaincu.

Cette scène, représentée par le peintre Jean-Léon Gérôme dans son tableau Pollice verso au 19eme siècle a emflammé l’imagination du réalisateur Ridley Scott et l’a incité à diriger le péplum Gladiator.

</RESUME>

</FILM>

(69)

Programmation XML avec les APIs DOM et SAX 69

Publication : La fiche du film Gladiator

La fiche du film peut être publiée en HTML pour Netscape/IE en WML pour le portables WAP en SMIL pour Realplayer

L’information est la même sous des formes différentes: il faut pouvoir transformer le document Gladiator.xml XSLT

(70)

Deuxième etude de cas : Moteur de recherche cinématographique

On veut créer un moteur de recherche pour chercher des séances, des films, des horaires proposés par les sites de cinéma

Démonstration: SallesEnLigne.com

(71)

Programmation XML avec les APIs DOM et SAX 71

Architecture de l’application

réponse

requête

www.sallesenligne.fr www.cine−marseille.fr

www.epee−de−bois.fr

(72)

Moteur de recherche relationnel

XSLT

XSLT

Client web

Client web Client Flux XML web

Documents XML DTD 1

DTD 2

Intégration

BD Moteur de recherche

Recherche

import SQL

(73)

Programmation XML avec les APIs DOM et SAX 73

Moteur de recherche XML

( Démo )

XSLT

XSLT

Client web

Client web Client Flux XML web

Documents XML DTD 1

DTD 2

Intégration Moteur de recherche

Recherche

XQuery

BD XML

(74)

Intégration

Pour interroger les informations, ils doivent d’abord être transformées dans un format unique :

On définit une DTD pour le moteur de recherche

<!ELEMENT FILM ( TITRE, CINEMA, VILLE, URL?, HEURE+ ) >

<!ELEMENT TITRE ( #PCDATA ) >

<!ELEMENT CINEMA ( #PCDATA ) >

<!ELEMENT VILLE ( #PCDATA ) >

<!ELEMENT URL ( #PCDATA ) >

<!ELEMENT HEURE ( #PCDATA ) >

Les cinémas fournissent leurs informations dans ce format (transformation XSLT)

(75)

Programmation XML avec les APIs DOM et SAX 75

Le document intégrateur

Le moteur de recherche interroge un document XML (XQuery) :

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

<!DOCTYPE MOTEUR [

<!ENTITY EpeeDeBois

SYSTEM "http://epee-de-bois.fr/EDB.xml">

<!ENTITY CineMarseille

SYSTEM "http://cine-marseille.fr/CM.xml">

]>

<MOTEUR>

<CINEMA>

&EpeeDeBois;

</CINEMA>

<CINEMA>

&CineMarseille;

</CINEMA>

</MOTEUR>

(76)

Récapitulons !

XML = format d’échange de données entre application

Permet de définir des « langages » pour décrire des données (« méta-langage »)

De nombreux outils d’analyse, parsing, transformation, interrogation, ...

Transformation d’un langage à un autre avec XSLT

= Bien adapté au web.

Références

Documents relatifs

On évalue le pourcentage de lymphocytes T (CD8) spécifiques du virus de la grippe, du pneumovirus ou du virus de la chorio-méningite dans le sang d’une souris n’ayant jamais

Quant à XSLT, il s'agit d'un langage basé sur un modèle qui vous permet de mapper un certain modèle dans le document source et d'écrire le résultat en XML, en HTML ou en texte

Cliquez ici pour telecharger le

Thirdly, such systems are typically query- intensive, that is, they focus on the efficient execution of complex queries on large distributed

Pour un contenu mixte, ni le nombre, ni l'ordre des éléments ne peuvent être spécifiés explicitement et le mot clé #PCDATA. doit être

While this allows for user agents to make keys stored on secure elements like TPMs available to web applications originating from a given domain under a known name, none of

We can then encode PRUNE(d, D) using a breadth-first traversal, in such a way that each repetition node is encoded by a number of bits, say B, encoding the number of children of

L'élément imapServerName contient le FQDN du serveur du protocole d'accès à la messagerie Internet (IMAP, Internet Mail Access Protocol) qui devrait être utilisé pour se connecter