0% ont trouvé ce document utile (0 vote)
8 vues59 pages

Module2 XML

Le document présente un cours sur XML, abordant ses concepts, langages d'interrogation comme XQuery, et outils de programmation tels que SAX et DOM. Il décrit également les standards connexes à XML, les métadonnées via RDF, et les liens entre fragments XML avec XLink. Enfin, il illustre des exemples pratiques d'utilisation de XQuery et des fonctionnalités de SAX et DOM.

Transféré par

Amidou Bagayogo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues59 pages

Module2 XML

Le document présente un cours sur XML, abordant ses concepts, langages d'interrogation comme XQuery, et outils de programmation tels que SAX et DOM. Il décrit également les standards connexes à XML, les métadonnées via RDF, et les liens entre fragments XML avec XLink. Enfin, il illustre des exemples pratiques d'utilisation de XQuery et des fonctionnalités de SAX et DOM.

Transféré par

Amidou Bagayogo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chargé de Cours

Dr Yacouba GOITA
Année 2018

XML
concept - techniques

Module7-2:

© eni-abt Dr Yacouba GOITA 1


Plan
❶Résumé des concepts du cours précédent
❷Langages d’interrogation(Xquery)
❸ liens entre fragments XML (Xlink)
❹ Métadonnées(RDF)
❺Outils de programmation XML:
 SAX
 DOM
 SOAP

© eni-abt Dr Yacouba GOITA 2


XML (1/3)

un standard défini par l'organisme de


normalisation W3C (World Wide Web Consortium)
dérivé des standards HTML et SGML
séparation du fond et de la forme (du
contenu et de la présentation)
semi-structuré
arborescent
structure plus ou moins définie

Dr Yacouba GOITA 3
XML (2/3)

un langage balisé


Déclaration format XML <?xml version="1.0" encoding="ISO-8859-1"?>
Déclaration schéma associé <!DOCTYPE biblio SYSTEM "bibliot_1.dtd">
Déclaration feuille de style <?xml-stylesheet type="text/xsl" href="style.xsl"?>
Elements <bibliotheque>
Balise ouvrante <livre isbn="2-212-08932-5">
Contenu
<titre>Programmation Linux 2.0</titre>
Attribut
<prix devise="EUR">28.88</prix>
Nom d'attribut
Valeur d'attribut </livre>
</bibliotheque>
Balise fermante

Dr Yacouba GOITA 4
XML (3/3)

Plus strict que HTML, moins que SGML


Un document XML DOIT être bien formé :
une seule racine
balises correctement imbriquées
attributs correctement spécifiés
caractères XML valides
un document XML PEUT être valide :
structure et les contenus du document conformes à des
règles spécifiées par un "vocabulaire (DTD ou XML-
Schéma)

Dr Yacouba GOITA 5
Standards connexes à XML - résumé

Décrire la structure d'un document XML


 DTD : anciennement
 XML-Schema : intègre typage et contraintes
Présenter un document XML
 XSL/XSLT Transformation d'un document XML en un autre document
XML ou un document dans un autre format (HTML, PDF)
Se repérer dans un document XML
 XPath Navigation dans un document XML à l'aide d'expressions et de
prédicats simples
Différencier les documents XML
 XML Namespace Distinction de vocabulaires différents

Dr Yacouba GOITA 6
Standards XML émergents

Normalisé et produits existants,


 utilisation industrielle spécialisée
Etudes de quelques normes
XQuery
XLink
RDF

© eni-abt Dr Yacouba GOITA 7


Langages d’interrogation

Besoins :
Opérateurs standards de requêtes sur bases de données
Navigation dans les données
Recherche par motifs
Interrogation du schéma et des données
Construction du résultat
Type de langages
Extension de langages classiques : SGMLQL, HyOQL,
LOREL/OEM-QL
Conçus pour le semi-structuré : XML-QL, XQL, QUILT
Normalisation : XPath, XQuery

Dr Yacouba GOITA 8
Langage de requête sur XML : XQuery

•Collection d’arbres utilisés


•Equivalent du FROM de SQL F for $var in
•Mémorisation d’arbres L expr
•Affectation de variables locales
W let $var :=
•Condition (élagage) expr
•Equivalent du WHERE de SQL O

•Ordonnancement R
where expr
•Equivalent de ORDER-BY de SQL
order-by $var
•Sous-arbres sélectionnés return expr
•Présentation des sous-arbres
•Equivalent du SELECT de SQL avec une reconstruction
Dr Yacouba GOITA 9
<hotel>
Exemple XQuery (1) <nom>Le Loir</nom>
<adresse>
<rue>Nid</rue>
 Lister la liste des hôtels de Paris, <ville>Paris</ville>
</adresse>
et les trier par nom descendant <telephone>0112345678</telephone>
for $h in collection (« hotels »)/hotel <commentaire>On y dort bien !</>
</hotel>
where $h/adresse/ville = « Paris »
Requête

return <hotel>
<nom>La Marmotte</nom>

Données
<hotelparisien> <adresse>
{$h/nom} <rue>Terrier</rue>
<ville>Versailles</ville>
</hotelparisien> </adresse>
Collection
order-by "hotels"
(nom descending) <telephone>0124680246</telephone>
<telephone>01642086421</telephone>
hotel <hotelparisien> </hotel>
Schéma

La Marmotte
Résultat

nom <hotel>
adresse </hotelparisien> <nom>La Marmotte</nom>
rue <hotelparisien> <adresse>
ville Le Loir <rue>Terrier</rue>
</hotelparisien> <ville>Paris</ville>
telephone </adresse>
<telephone>0187654321</telephone> 10
Exemples XQuery (2)

 Noms de tous les restaurants sous forme de fragments XML


collection (« restaurants »)/restaurant/nom
 Lister l’adresse des restaurants dans le 20eme arrondissement
de Paris Collection "restaurants"
for $r in collection (« restaurant »)/restaurant restaurant
where $r/adresse/codepostal = « 75020 » nom
adresse
return $r/adresse
rue
 codepostal
for $r in collection menu
(« restaurants »)/restaurant[adresse/codepostal=«75020 »]
return $r/adresse

Dr Yacouba GOITA 11
Exemples XQuery (3)

Lister les noms des hôtels, le nom et le menu des


restaurants dans la même rue Collection "hotels"
for $r in collection (« restaurants »)/restaurant hotel
for $h in collection (« hotels »)/hotel nom
where $h/adresse/rue = $r/adresse/rue adresse
return rue
ville
<hotelresto> telephone
{$h/nom}
Collection "restaurants"
{$r/nom}
{$r/menu} restaurant
</hotelresto> nom
adresse
rue
codepostal
Dr Yacouba GOITA menu 12
XQuery - fonctionnalités

 Expression de chemin XPath : /a//b[c = 5]


 Expressions FLWR : FOR ... LET ... WHERE ... RETURN
 Constructeurs d'éléments : <a> ... </a>
 Variables et constantes: $x, 5
 Operateurs et appels de fonctions: x + y, -z, foo(x, y)
 Expressions conditionnelles : IF ... THEN ... ELSE
 Quantifieurs: EVERY var IN expr SATISFIES expr
 Expressions d'ordonnancement : expr ORDER-BY (expr
ASCENDING , ... )
 Quelques propositions pour INSERT, REPLACE, DELETE

Dr Yacouba GOITA 13
XLink

Exprimer des liens entre fragments XML


Aller au delà du simple usage des
identificateurs
Différents types de liens
Généricité

Dr Yacouba GOITA 14
Xlink : exemple

[ ... ] <livre id="z42">


<titre>The Design of the UNIX Operating System</titre>
<chapitre>General overview of the system</chapitre>
<chapitre>Introduction to the kernel</chapitre>
<chapitre>The buffer cache</chapitre>
[...]
</livre> [...]

http://.../fichier_livre.xml#ID(z42),CHILD(3,CHAPTER)

Dr Yacouba GOITA 15
RDF

RDF (Ressource Description Framework) : cadre


permettant de décrire et d’échanger les
métadonnées.
Une ressource (Ressource) est tout ce qui peut
avoir une URI.
ex : http://www.w3.org/index.html
Un Type de propriété (Property Type) est une
ressource qui a un nom et peut être utilisé comme
propriété. ex : Auteur, Titre

Dr Yacouba GOITA 16
RDF

Une propriété (Property) est une combinaison


d’une ressource, d’un type de propriété et d’une
valeur.
ex : W3C Ressource Description Framework comme titre
pour http://www.w3.org/RDF

<RDF: Description href=‘http://www.w3.org/RDF’>


<Titre>W3C Ressource Description Framework</Titre>
<Home-Page RDF: href=‘http://www.w3.org’>
</RDF:Description>
Dr Yacouba GOITA 17
Outils de programmation XML

DOM
SAX
SOAP

© eni-abt Dr Yacouba GOITA 18


Outils de programmation XML

Interfaces de programmation spécifiées par le


W3C
Interfaces de programmation XML en Java,
C++, Perl, ...
Implémentation diverses
Apache
IBM
...

Dr Yacouba GOITA 19
Document XML – Flux SAX – Arbre DOM
startDocument ()
<personne> startElement (personne)
<nom> startElement (nom)
characters (Cover) personne
Cover
endElement (nom) nom
</nom> #text: Cover
<prenom> startElement (prenom)
characters (Harry) prenom
Harry
endElement (prenom) #text: Harry
</prenom>
startElement (adresse) adresse
<adresse>
startElement (rue) rue
<rue> #text: Stendhal
Stendhal characters (Stendhal)
endElement (rue) ville
</rue> #text: Paris
<ville> startElement (ville)
Paris characters (Paris)
</ville> endElement (ville)
</adresse> endElement (adresse)
</personne> endElement (personne)
Dr Yacouba GOITA endDocument () 20
SAX (Sample API for XML)

Modèle simplifié d'événement.


Types d'événement :
début et fin de document ;
début et fin d'éléments ;
attributs, chaîne de caractères.
Utilisé dans les implémentations des parseurs
XML du domaine public.

Dr Yacouba GOITA 21
SAX

Fonctionne sur le principe des callbacks (rétro-appels)


Au fur et à mesure de la lecture document XML, le parseur
appelle des fonctions correspondants aux évènements
rencontrés avec les paramètres appropriés
Ces fonctions sont définies par une interface standards et
doivent être implémentées de telle sorte à répondre aux
besoins de l'application
startDocument début du document
endDocument fin de document
startElement début element
endElement fin élément
characters
Dr Yacouba GOITA contenu d'élément 22
<livre isbn="2-212-08932-5" Application Handler
date="1995">
<titre> startDocument () {
Linux Kernel 2.0 Afficher "Debut -"}
</titre>
<auteur id="1"> startElement (nom_balise,
<nom> tableau_attributs){
Card Afficher nom_balise
</nom>
</auteur>
Afficher attributs entre crochets
</livre> Afficher ':'
XML Ouvrir parenthèse}
characters (contenu,
startDocument () Parseur SAX debut, longueur){
startElement ("livre", [isbn="2-212-08932-5", Afficher contenu en bleu}
date="1995">])
startElement ("titre", []) endElement (nom_balise){
characters ("Linux Kernel 2.0", 0, 16) Fermer parenthèse}
endElement ("titre")
startElement ("auteur", [id="1"]) endDocument () {
startElement ("nom", [])
characters ("Card", 0, 4) Afficher "- Fin"}
endElement ("nom") Résultat
endElement ("auteur") Debut - livre [2-212-089-5, 1995]: (
endElement ("livre")
endDocument () titre [] : ( Linux Kernel 2.0 ) auteur [1] : (
Dr Yacouba GOITA nom [] : ( Card )) ) - Fin 23
DOM (Document Object Model)

API d'accès aux documents XML


Interfaces d'accès en IDL
Modèle de traitement d'arbres pour l'accès et
la mise à jour
API de manipulation d'arbres, d'objets typés
avec des attributs
parcours
ajout
suppression

Dr Yacouba GOITA 24
Modèle DOM

Dans le modèle DOM, toute les classes dérivent du


type Node.
La classe Document représente le document XML
La classe Element représente les éléments du
document XML.
Document ne peut posséder qu’un seul fils de type
Element (XML n'a qu'une seule racine du document)
Attribute représente les attributs d'un élément
La classe Text représente le contenu textuel d'un
Element ou d'un Attribute

Dr Yacouba GOITA 25
Document Attribute Text
nodeValue : [] name : isbn Value : "2-212-08932-5"
nodeValue : []
Element
Attribute Text
nodename : livre
nodevalue : [] name : date Value : "1995"
nodeValue : []
Element
nodename : titre Text
nodevalue : [] Value : "Linux Kernel 2.0"
<livre isbn="2-212-08932-5"
date="1995">
<titre> Element Attribute Text
Linux Kernel 2.0 name : id Value : "1"
</titre> nodename : auteur
<auteur id="1"> nodevalue : [] nodeValue : []
<nom>
Card
Element Text
</nom>
</auteur> nodename : nom
</livre> Value : "Card"
Dr Yacouba GOITA
nodevalue : []
26
Invocation de services

Invocations d'objets service service


RPC (1980)
publier
CORBA service publier

Java RMI publier


Microsoft DCOM publier Services
service
Format spécifique registry
requete
Protocole de transport reponse
spécifique chercher

Application
cliente
Dr Yacouba GOITA 27
Invocation de services
Format XML ?
Système de typage service service
(XML-Schema) publier
service publier
Format de codage WSDL
universel
WSDL
publier
WSDL
Sécurisation publier Services
Authentification, Gestion service
WSDL registry
de clef requete UDDI
Chiffrement, Signature reponse
Contrôle de transaction SOAP chercher
 Protocole
 HTTP : protocole web Application
 SMTP : protocole de mail cliente
Dr Yacouba GOITA 28
SOAP (Simple Object Access Protocol)

Défini par le W3C


Envoi de message formaté en XML en
utilisant HTTP pour les véhiculer
Pour invoquer des services web
Pour récupérer des réponses en XML
Utilisation de XML comme format universel
d'encodage
Possibilités de contrôles (transaction,
sécurité)

Dr Yacouba GOITA 29
WSDL, USSDI

WSDL (Web Service Description Language) :


description d'une API en XML
récupérable par l'intermédiaire d'un registry UDDI
UDDI (Universal Description, Discovery and
Integration)
répertoire de services (spécifiés en documents
XML)
défini en WSDL

Dr Yacouba GOITA 30
Protocole SOAP
Serveur Web

Port de
<requete/> connexion

Traducteur Serveur
HTTP
SOAP d'application
Application <réponse/> RPC local
cliente
Parseur
XML

Internet

Pare-feux (firewall)
Dr Yacouba GOITA 31
Composition d'un message SOAP

En-tête du protocole
(HTTP, SMTP)

En-tête SOAP

Corps du message

Dr Yacouba GOITA 32
Requête SOAP

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:chercherAuteur xmlns:m="http://livre.com">
<titre>La Huitieme Couleur</titre>
<edition>Atalante</edition>
</m:chercherAuteur>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Dr Yacouba GOITA 33
Réponse SOAP

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:chercherAuteurReponse xmlns:m="http://ns.livre.com">
<auteur>Terry Pratchett</auteur>
</m:chercherAuteurReponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Dr Yacouba GOITA 34
... Definition WSDL
<wsdl:types>
<xsd:element name="chercherAuteur">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="titre" type="string"/>
<xsd:element name="edition" type="string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="chercherAuteurReponse">
<xsd:complexType>
<xsd:all>
<xsd:element name="auteur" type="string"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
... Dr Yacouba GOITA 35
Langages XML

WML
VML
MathML
SMIL
XHTML

© eni-abt Dr Yacouba GOITA 36


Langages XML

XML est un méta-langage


Chacun peut créer son propre langage à l'aide
de XML
Certains langages basés sur XML sont
standardisés et spécialisés

Dr Yacouba GOITA 37
VML (Vector Markup Language)

XML et les données spatiales


<v:shape type="#downArrow"
style='position: absolute; left: 77; top: 16; width: 64; height: 128'
/>
<v:shape type="#downArrow"
style='position: absolute; left: 149; top: 16; width: 64; height: 128'
adj=", 9450"
/>

<v:shape style='top: 0; left: 0; width: 250; height: 250'


stroke="true" strokecolor="red" strokeweight="2" fill="true"
fillcolor="green" coordorigin="0 0" coordsize="175 175">
<v:path v="m 8,65
l 72,65,92,11,112,65,174,65,122,100,142,155,92,121,42,155,60,100
x e"/>
</v:shape>
Dr Yacouba GOITA 38
MathML (Math Markup Language)
<reln>
<eq/>
•Recommandation W3C <ci>A</ci>
depuis avril 1998 <matrix>

•Approche mixte <matrixrow>


<ci>x</ci> <ci>y</ci>
présentation / sémantique </matrixrow>

•exploitable par des <matrixrow>


<ci>z</ci> <ci>w</ci>
logiciels mathématiques </matrixrow>

très utilisés. </matrix>


</reln>
ex. Mathematica, Maple
<apply><plus/>
<apply><power/>
<ci>x</ci>
<cn>2</cn>
</apply>
x2 + 4x + 4 =0
<apply> <times/>
<cn>4</cn>
<ci>x</ci>
</apply>
<cn>4</cn>
Dr Yacouba GOITA </apply> 39
SMIL (Synchronized Multimedia Integration Language)

Format basé sur XML pour la présentation multimédia (audio, vidéo,


image, texte, etc.).

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<meta name="base" content="rtsp://helixserver.example.com
...layout information...
</head>
<body>
<par>
synchronisation : <audio src="titre1.rm"/>
en parallèle <textstream src="lyrics/paroles1.rt" .../>
<img src="http://www.musique.com/images/album3.gif"
</par>
sons </body>
</smil>
affichage textuel

image Dr Yacouba GOITA 40


XHTML (eXtendel Hyper-Text Markup Language)

Langage HTML rendu conforme à XML


Un XML-Schéma a été associé à XHTML
Mon CV <html> <!DOCTYPE html PUBLIC "-
<head> //W3C//DTD html 4.0 transitional//fr">
Voici ma photo <title>Mon CV</title> <html>
</head> <head>
<body> <title>Mon CV</title>
<p>Voici ma photo<br> </head>
<img src="photo.jpg"> <body>
C'est tout <p>C'est tout <p>Voici ma photo
<br/>
<img src="photo.jpg"></img>

Rendu HTML </p>


<p>C'est tout</p>
</body>
</html>

Dr Yacouba GOITA XHTML 41


Déploiement d'un site web avec
XML

© eni-abt Dr Yacouba GOITA 42


Scénario courant
Navigateur Navigateur

HTTP HTML
PDF PDF
(GET, POST) "public" HTML public interne
"interne"

Serveur Web
Serveur Web
Script1 interne
public
(CGI-BIN, MS Script2 Script3 Script4
ASP, Servlet,...)

SQL
(ODBC, PLSQL...) TUPLES

Base de données existante relationnelle


(postgres, oracle, sybase, ...)
Dr Yacouba GOITA 43
Scénario avec XML
Navigateur Navigateur

HTTP HTML HTML


"interne" PDF PDF
(GET, POST) "public"
public interne
XSL
Serveur Web
Serveur Web XSL
interne XSL
public XSL
Processeur XML
XML
Programme d'interrogation et récupération XML

SQL TUPLES

Base de données existante relationnelle


(postgres, oracle, sybase, ...)
Dr Yacouba GOITA 44
Pages web dynamiques

JSP, ASP et PHP : des portions de code de


programmation sont incluses dans le document
HTML
Servlets ou CGI : le document HTML est construit et
renvoyé dans un flux HTTP
Cocoon : le processus de production d'un document
Web peut se décomposer en 3 logiques particulières
Logiques Acteurs
I. Document (statique, requête SQL) Rédacteur
II. Traitements (filtrage, ajout, ...) Programmeur
II. Présentation (HTML, PDF, WML) Web designer.
Dr Yacouba GOITA 45
Cocoon

Permet de séparer le contenu et la présentation


de sites Web
Accepte de nombreuses sources de données.
fichiers, SGBD, LDAP, et des bases de données
XML natives.
Nombreux formats de sortie : HTML, WML,
PDF, RTF, etc.
Doit être installé au sein d'un moteur de
Servlets pour fonctionner (ex : Jakarta Tomcat).

Dr Yacouba GOITA 46
Cocoon (caractéristiques)

Aucune ligne de code Java n'est nécessaire


Souplesse et réutilisabilité grâce à la séparation totale
entre contenu du document et sa présentation
Implémentation de XSL pour le format PDF
Gestion des documents dynamiques et les outils
disponibles
Solutions simples aux incompatibilités entre
browsers
Authentification
Administration du portail par une interface web
Open-source, maintenu et de plus en plus utilisé
Dr Yacouba GOITA 47
Environnement classique/cocoon : statique

<HTML/>
<HTML/>
<HTML/> <HTML>

<XML/>
<XML/> Transform.
<XML/> <HTML>
XSL

<XSLT>
<XSLT>
<XSL>

I II III
Documents
Dr Yacouba GOITA
Traitement Présentation
48
Environnement classique/cocoon : dynamique

<HTML/>
<HTML/>
<HTML/> Processeur <HTML>
Perl
Shell
Tcl

<XML/>
<XML/> Processeur Transform.
<XML/> <HTML>
XSP XSL

Java
<XSLT>
<XSLT>
XSP tags <XSL>

I II III
Documents
Dr Yacouba GOITA
Traitement Présentation
49
Outils XML

© eni-abt Dr Yacouba GOITA 50


Outils d'édition XML

XML Spy
L'éditeur XML le plus complet. Gère les fichiers XML, les DTD, XSL, XMLSchéma
(.xsd). Version d'évaluation de 30 jours.
http://www.xmlspy.com/download.html

Microsoft XML Notepad


Editeur simple de documents XML-based data. Freeware.
http://msdn.microsoft.com/xml/notepad/download.asp

XML Pro
Editeur XML assez complet. Shareware
http://www.vervet.com/demo.html

XMetal

FrameMaker

Dr Yacouba GOITA 51
Conclusion

Qu'est ce que XML ?


Quand est-ce que ça sert ?
Quand est-ce que ça ne sert pas ?

© eni-abt Dr Yacouba GOITA 52


Résumé : Qu'est que XML ?

XML est une méthode pour mettre des données


structurées dans un fichier texte
XML N'EST PAS HTML
XML est textuel, mais n'est pas fait pour être lu tel
quel
XML est une collection de technologies
XML est verbeux, mais ce n'est pas le problème
XML est license-free, indépendant de toute
plateforme et bien supporté

Dr Yacouba GOITA 53
Quand utiliser XML ?

Quand on veut échanger des informations à


travers des applications très différentes
Si on a un site web qui va évoluer très souvent
dans son fond et sa forme
Si on crée un nouvel outil et une nouvelle
application

Dr Yacouba GOITA 54
Quand NE PAS utiliser XML ?

Si l'on n'en n'a pas besoin...


Si les logiciels qu'on utilise pour l'instant
fonctionnent correctement et qu'on n'envisage
pas d'évolution
Si c'est juste pour frimer 

Dr Yacouba GOITA 55
Références XML

© eni-abt Dr Yacouba GOITA 56


XML

 La page web de référence du W3C (documentations,


spécifications et références)
http://www.w3.org/
 Les implémentations d'Apache sur la technologie XML (open-
source)
http://xml.apache.org
 Les travaux d'Apache sur COCOON (open-source) :
http://cocoon.apache.org/2.0/
 Articles et travaux d'IBM sur XML (logiciels souvent en
Open-Source)
http://www-106.ibm.com/developerworks/xml/
 Documentation XML en francais (article et actualité +
traductions de certains documents de référence du W3C)
http://xmlfr.org/
Dr Yacouba GOITA 57
XML et les bases de données

Document sur XML et les bases de données :


http://www.rpbourret.com/xml/XMLAndDatabases.htm
Document répertoriant tous les produits sur XML et
les bases de données, et en particulier dans la section
"middleware" tous les produits se "greffant" sur une
BD classique et permettant de récupérer du XML.
http://www.rpbourret.com/xml/XMLDatabaseProds.htm

Dr Yacouba GOITA 58
XQuery

W3C XQuery
http://www.w3.org/TR/xquery.html
W3C XML Query Use Cases
http://www.w3.org/TR/xmlquery-use-cases.html
W3C XML Query Requirements
http://www.w3.org/TR/xmlquery-req.html
W3C XML Query Data Model
http://www.w3.org/TR/query-datamodel.html
W3C XML Query Algebra
http://www.w3.org/TR/query-algebra.html
Dr Yacouba GOITA 59

Vous aimerez peut-être aussi