Le Langage XML: Fondations pour les Plateformes eLearning


(XML et les technologies associées)




Najib Tounsi
Ecole Mohammadia d'Ingénieurs
Bureau W3C Maroc, Rabat

Logo Bureau W3C Maroc
28 Nov. 2005
Deuxième Workshop annuel de l'IRCAM
http://www.w3c.org.ma/Talks/ircam-1105/

Sommaire

Le Langage  XML (ou Technologies XML)

C'est quoi XML?

Syntaxe XML

<?xml version="1.0"?>
<personne>
<prénom>Ali</prénom>
<nom>Benali</nom>
<adresse>23, rue Med-V, Rabat</adresse>
<tel>090 12 34 56</tel>
</personne>

source

Syntaxe XML (suite)

source

Syntaxe XML (suite)

<?xml version="1.0" encoding="utf-8"?>
‏<شخص>
<إسم>علي</إسم>
<لقب>بنعلي</لقب>
<عنوان>13، محمد 5، الرباط</عنوان>
<هاتف>090 12 34 56</هاتف>
</شخص>‏
source

Syntaxe XML (Structure de XML)

Infoset

Structure d'un document XML (~ Infoset)

Qui définit les balises (tags) XML?

Les Modèle de document XML

Exemple de DTD

<!ELEMENT personnes (personne)*>
<!ELEMENT personne (prénom, nom, adresse, tel)>
<!ELEMENT prénom (#PCDATA)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT adresse (#PCDATA)>
<!ELEMENT tel (#PCDATA)>
<!ATTLIST tel type CDATA #IMPLIED>

Exemple de schéma XML

<xsd:element name="personne">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="prénom" type="xsd:string" />
<xsd:element name="nom" type="xsd:string" />
<xsd:element name="adresse" type="AdrType" />
<xsd:element name="tel">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="0[6,7][0-9] [0-9][0-9]{3}"/>
</xsd:restriction>
</xsd:simpleType>
  </xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

<xsd:simpleType name="AdrType">
<xsd:sequence>
<xsd:element name="numéro" type="xsd:integer" />
<xsd:element name="rue" type="xsd:string" />
<xsd:element name="ville" type="xsd:string" />
</xsd:sequence>
</xsd:simpleType>
source complet

Espaces de noms (namespaces)

<xsd:sequence> <agenda:prénom> <agenda:tel> <agenda:type> ...
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<agenda:personne xmlns:agenda="http://www.exemple.org/monAgenda">
... <agenda:nom>Benali</agenda:nom> ...

<agenda:personne xmlns:agenda="http://www.exemple.org/monAgenda"
xmlns:marque="http://www.exemple.org/marques">
... <agenda:nom>Benali</agenda:nom> ...
... <marque:nom>CocaCola</marque:nom> ...

Espaces de noms (suite)

XML vs HTML

La famille XML

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
... définition de l'affichage en html ...
</xsl:template>
</xsl:stylesheet>

source XML stylé, XSL associé

La famille XML (suite)

/personne/adresse[ville="rabat"]/rue
/personne/tel[@type="personnel"]

La famille XML (suite)

Transform

La famille XML (suite)

<Result> 
{ for $p in document("Personnes.xml")
return
<ResultTuple>
{ $p/nom, $p/prénom, $p/ville }
</ResultTuple>
 }
</Result>
<Result>
{ for $cmd in document("Commande.xml")
$cl in document("Client.xml")//client[num = $cmd/numCli],
return
<ResultTuple>
{ $cl/nomCli, $cmd/qté }
</ResultTuple>
 }
</Result>

Les Langages dérivés de XML

Illustration

Ex-Tech-XML

Les Applications XML

Les Services Web et le Web Sémantique

Web Services

Web Sémantique

Exemple

WS et SW

Les produits XML

XML Langage de choix des plateformes e-Learning

En savoir plus



MERCI

ntounsi@emi.ac.ma
tounsi@w3.org