XML origine - concept - techniques

59
XML origine - concept - techniques Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin <[email protected]> Cours 2/2

description

XML origine - concept - techniques. Tuyêt Trâm DANG NGOC. Laboratoire PRiSM Université de Versailles-Saint-Quentin. . Cours 2/2. Récapitulatif XML. Résumé des concepts du cours précédent. XML (1/3). - PowerPoint PPT Presentation

Transcript of XML origine - concept - techniques

Page 1: XML origine - concept - techniques

XMLorigine - concept - techniques

Tuyêt Trâm DANG NGOC

Laboratoire PRiSMUniversité de Versailles-Saint-Quentin

<[email protected]>

Cours 2/2

Page 2: XML origine - concept - techniques

Récapitulatif XML

Résumé des concepts du cours précédent

Page 3: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 3Saturday, April 22, 2023

XML (1/3)

un standard défini par l'organisme de normalisation W3C (World Wide Web Consortium)

dérivé des standards HTML et SGMLséparation du fond et de la forme (du

contenu et de la présentation)semi-structuré

arborescentstructure plus ou moins définie

Page 4: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 4Saturday, April 22, 2023

XML (2/3)

un langage balisé<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE biblio SYSTEM "bibliot_1.dtd">

<?xml-stylesheet type="text/xsl" href="style.xsl"?>

<bibliotheque>

<livre isbn="2-212-08932-5">

<titre>Programmation Linux 2.0</titre>

<prix devise="EUR">28.88</prix>

</livre>

</bibliotheque>

Déclaration format XMLDéclaration schéma associéDéclaration feuille de styleElementsBalise ouvrante

AttributContenu

Balise fermante

Nom d'attributValeur d'attribut

Page 5: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 5Saturday, April 22, 2023

XML (3/3)

Plus strict que HTML, moins que SGML Un document XML DOIT être bien formé :

une seule racinebalises 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)

Page 6: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 6Saturday, April 22, 2023

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

Page 7: XML origine - concept - techniques

Standards XML émergents

Normalisé et produits existants, mais peu d'utilisation industrielle encore ou alors très spécialiséeEn cours de normalisationEtudes de quelques normes

XQueryXLinkRDF

Page 8: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 8Saturday, April 22, 2023

Langages d’interrogation

Besoins :Opérateurs standards de requêtes sur bases de donnéesNavigation dans les donnéesRecherche par motifs Interrogation du schéma et des donnéesConstruction du résultat

Type de langagesExtension de langages classiques : SGMLQL, HyOQL,

LOREL/OEM-QLConçus pour le semi-structuré : XML-QL, XQL, QUILTNormalisation : XPath, XQuery

Page 9: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 9Saturday, April 22, 2023

Langage de requête sur XML : XQuery

for $var in exprlet $var := exprwhere exprorder-by $varreturn expr

•Ordonnancement•Equivalent de ORDER-BY de SQL

O

•Sous-arbres sélectionnés•Présentation des sous-arbres•Equivalent du SELECT de SQL avec une reconstruction

R

F•Collection d’arbres utilisés•Equivalent du FROM de SQL

L•Mémorisation d’arbres•Affectation de variables locales

W•Condition (élagage)•Equivalent du WHERE de SQL

Page 10: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 10Saturday, April 22, 2023

Exemple XQuery (1) Lister la liste des hôtels de Paris,

et les trier par nom descendant

hotel

adressenom

rueville

telephone

Collection "hotels"

Sché

ma

for $h in collection (« hotels »)/hotelwhere $h/adresse/ville = « Paris »return

<hotelparisien>{$h/nom}

</hotelparisien>order-by (nom descending)

Req

uête

<hotelparisien> La Marmotte</hotelparisien><hotelparisien> Le Loir</hotelparisien>

Rés

ulta

t <hotel> <nom>La Marmotte</nom> <adresse> <rue>Terrier</rue> <ville>Paris</ville> </adresse> <telephone>0187654321</telephone></hotel>

<hotel> <nom>La Marmotte</nom> <adresse> <rue>Terrier</rue> <ville>Versailles</ville> </adresse> <telephone>0124680246</telephone> <telephone>01642086421</telephone></hotel>

<hotel> <nom>Le Loir</nom> <adresse> <rue>Nid</rue> <ville>Paris</ville> </adresse> <telephone>0112345678</telephone> <commentaire>On y dort bien !</></hotel>

Don

nées

Page 11: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 11Saturday, April 22, 2023

Exemples XQuery (2)

Noms de tous les restaurants sous forme de fragments XMLcollection (« restaurants »)/restaurant/nom

Lister l’adresse des restaurants dans le 20eme arrondissement de Parisfor $r in collection (« restaurant »)/restaurantwhere $r/adresse/codepostal = « 75020 »return $r/adresse

for $r in collection

(« restaurants »)/restaurant[adresse/codepostal=«75020 »]return $r/adresse

restaurant

adressenom

ruecodepostal

menu

Collection "restaurants"

Page 12: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 12Saturday, April 22, 2023

Exemples XQuery (3)

Lister les noms des hôtels, le nom et le menu des restaurants dans la même ruefor $r in collection (« restaurants »)/restaurantfor $h in collection (« hotels »)/hotelwhere $h/adresse/rue = $r/adresse/ruereturn

<hotelresto>{$h/nom}{$r/nom}{$r/menu}

</hotelresto>

hotel

adressenom

rueville

telephone

Collection "hotels"

restaurant

adressenom

ruecodepostal

menu

Collection "restaurants"

Page 13: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 13Saturday, April 22, 2023

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

Page 14: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 14Saturday, April 22, 2023

XLink

Exprimer des liens entre fragments XMLAller au delà du simple usage des

identificateursDifférents types de liensGénéricité

Page 15: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 15Saturday, April 22, 2023

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)

Page 16: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 16Saturday, April 22, 2023

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

Page 17: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 17Saturday, April 22, 2023

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>

Page 18: XML origine - concept - techniques

Outils de programmation XML

DOMSAXSOAP

Page 19: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 19Saturday, April 22, 2023

Outils de programmation XML

Interfaces de programmation spécifiées par le W3C

Interfaces de programmation XML en Java, C++, Perl, ...

Implémentation diversesApacheIBM...

Page 20: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 20Saturday, April 22, 2023

Document XML – Flux SAX – Arbre DOM

<personne> <nom> Cover </nom> <prenom> Harry </prenom> <adresse> <rue> Stendhal </rue> <ville> Paris </ville> </adresse></personne>

personnenom

prenom

adresserue

ville

#text: Cover

#text: Paris

#text: Stendhal

#text: Harry

startDocument ()startElement (personne)startElement (nom)characters (Cover)endElement (nom)startElement (prenom)characters (Harry)endElement (prenom)startElement (adresse)startElement (rue)characters (Stendhal)endElement (rue)startElement (ville)characters (Paris)endElement (ville)endElement (adresse)endElement (personne)endDocument ()

Page 21: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 21Saturday, April 22, 2023

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.

Page 22: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 22Saturday, April 22, 2023

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 documentendDocument fin de document

startElement début elementendElement fin élémentcharacters contenu d'élément

Page 23: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 23Saturday, April 22, 2023

Application Handler

startDocument () { Afficher "Debut -"}

startElement (nom_balise, tableau_attributs){Afficher nom_baliseAfficher attributs entre crochetsAfficher ':'Ouvrir parenthèse}

characters (contenu, debut, longueur){Afficher contenu en bleu}

endElement (nom_balise){Fermer parenthèse}

endDocument () {Afficher "- Fin"}

startDocument ()

Debut -

startElement ("livre", [isbn="2-212-08932-5", date="1995">])

livre [2-212-089-5, 1995]: (

<livre isbn="2-212-08932-5" date="1995"><titre> Linux Kernel 2.0</titre><auteur id="1"> <nom> Card </nom></auteur></livre>

endDocument () - Fin

startElement ("titre", [])

titre [] : ( Linux Kernel 2.0

characters ("Linux Kernel 2.0", 0, 16)

)

endElement ("titre")

characters ("Card", 0, 4)

Card

startElement ("auteur", [id="1"])

auteur [1] : (

startElement ("nom", [])

nom [] : (

endElement ("auteur")

)

endElement ("nom")

)endElement ("livre")

)

Parseur SAX

XML

Résultat

Page 24: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 24Saturday, April 22, 2023

DOM (Document Object Model)

API d'accès aux documents XMLInterfaces d'accès en IDLModèle de traitement d'arbres pour l'accès et

la mise à jourAPI de manipulation d'arbres, d'objets typés

avec des attributsparcoursajoutsuppression

Page 25: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 25Saturday, April 22, 2023

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

Page 26: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 26Saturday, April 22, 2023

<livre isbn="2-212-08932-5" date="1995"><titre> Linux Kernel 2.0</titre><auteur id="1"> <nom> Card </nom></auteur></livre>

Document

nodeValue : []

Element

nodename : livrenodevalue : []

Element

nodename : titrenodevalue : []

Element

nodename : auteurnodevalue : []

Element

nodename : nomnodevalue : []

Attribute

name : isbnnodeValue : []

Text

Value : "2-212-08932-5"

Attribute

name : datenodeValue : []

Text

Value : "1995"

Attribute

name : idnodeValue : []

Text

Value : "1"

Text

Value : "Card"

Value : "Linux Kernel 2.0"

Text

Page 27: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 27Saturday, April 22, 2023

Invocation de services

Invocations d'objetsRPC (1980)CORBA Java RMIMicrosoft DCOM

Format spécifique Protocole de transport

spécifique

Servicesregistry

service

serviceservice

service

Applicationcliente

requetereponse

publier

publier

publier

publier

chercher

Page 28: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 28Saturday, April 22, 2023

Invocation de services

Format XML ?Système de typage

(XML-Schema)Format de codage

universelSécurisation

Authentification, Gestion de clef

Chiffrement, SignatureContrôle de transaction

Protocole HTTP : protocole web SMTP : protocole de mail

Servicesregistry

service

serviceservice

service

Applicationcliente

requetereponse

publier

publier

publier

publier

chercher

WSDL

UDDI

SOAP

WSDL

WSDLWSDL

Page 29: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 29Saturday, April 22, 2023

SOAP (Simple Object Access Protocol)

Défini par le W3CEnvoi de message formaté en XML en

utilisant HTTP pour les véhiculerPour invoquer des services webPour récupérer des réponses en XML

Utilisation de XML comme format universel d'encodage

Possibilités de contrôles (transaction, sécurité)

Page 30: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 30Saturday, April 22, 2023

WSDL, USSDI

WSDL (Web Service Description Language) :description d'une API en XMLré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

Page 31: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 31Saturday, April 22, 2023

Protocole SOAP

Application cliente

Serveur d'application

Parseur XML

HTTP

<requete/>

<réponse/>

Serveur Web

Port deconnexion

RPC local

TraducteurSOAP

Internet

Pare-feux (firewall)

Page 32: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 32Saturday, April 22, 2023

Composition d'un message SOAP

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

En-tête SOAP

Corps du message

Page 33: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 33Saturday, April 22, 2023

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>

Page 34: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 34Saturday, April 22, 2023

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>

Page 35: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 35Saturday, April 22, 2023

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

...

Definition WSDL

Page 36: XML origine - concept - techniques

Langages XML

VMLMathMLSMILXHTML

Page 37: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 37Saturday, April 22, 2023

Langages XML

XML est un méta-langageChacun peut créer son propre langage à l'aide

de XMLCertains langages basés sur XML sont

standardisés et spécialisés

Page 38: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 38Saturday, April 22, 2023

VML (Vector Markup Language)

XML et les données spatiales

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

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

Page 39: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 39Saturday, April 22, 2023

MathML (Math Markup Language)

<reln> <eq/> <ci>A</ci> <matrix> <matrixrow> <ci>x</ci> <ci>y</ci> </matrixrow> <matrixrow> <ci>z</ci> <ci>w</ci> </matrixrow> </matrix></reln>

•Recommandation W3C depuis avril 1998•Approche mixte présentation / sémantique•exploitable par des logiciels mathématiques très utilisés. ex. Mathematica, Maple

<apply><plus/> <apply><power/> <ci>x</ci> <cn>2</cn> </apply> <apply> <times/> <cn>4</cn> <ci>x</ci> </apply> <cn>4</cn></apply>

xx22 + 4x + 4 =0 + 4x + 4 =0

Page 40: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 40Saturday, April 22, 2023

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><audio src="titre1.rm"/><textstream src="lyrics/paroles1.rt" .../><img src="http://www.musique.com/images/album3.gif"/>

</par></body></smil>

synchronisation :en parallèle

sons

affichage textuel

image

Page 41: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 41Saturday, April 22, 2023

XHTML (eXtendel Hyper-Text Markup Language)

Langage HTML rendu conforme à XMLUn XML-Schéma a été associé à XHTML

Voici ma photo

C'est tout

Mon CV

Rendu

<html> <head> <title>Mon CV</title> </head> <body> <p>Voici ma photo<br> <img src="photo.jpg"> <p>C'est tout

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD html 4.0 transitional//fr"><html> <head> <title>Mon CV</title> </head> <body> <p>Voici ma photo <br/> <img src="photo.jpg"></img> </p> <p>C'est tout</p></body></html>

XHTML

Page 42: XML origine - concept - techniques

Déploiement d'un site web avec XML

Page 43: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 43Saturday, April 22, 2023

Scénario courant

Base de données existante relationnelle(postgres, oracle, sybase, ...)

Navigateur

Serveur Web public Script1

(CGI-BIN, MS ASP, Servlet,...)

HTML"public"

Serveur Web interne

Navigateur

Script2

HTML"interne"

Script3

PDFpublic

Script4

PDFinterne

HTTP (GET, POST)

SQL(ODBC, PLSQL...) TUPLES

Page 44: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 44Saturday, April 22, 2023

Scénario avec XML

Base de données existante relationnelle(postgres, oracle, sybase, ...)

Navigateur

Serveur Web public

Serveur Web interne

Navigateur

HTTP (GET, POST)

SQL TUPLES

Programme d'interrogation et récupération XML

PDFpublic

XSL

PDFinterne

XSL

XML

HTML"interne"

XSL

Processeur XML

XSL

HTML"public"

Page 45: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 45Saturday, April 22, 2023

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èresLogiques Acteurs

I. Document (statique, requête SQL)II. Traitements (filtrage, ajout, ...)II. Présentation (HTML, PDF, WML)

RédacteurProgrammeurWeb designer.

Page 46: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 46Saturday, April 22, 2023

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

Page 47: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 47Saturday, April 22, 2023

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é

Page 48: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 48Saturday, April 22, 2023

Environnement classique/cocoon : statique

<XML/><XML/><XML/>

<XSLT><XSLT><XSL>

<HTML>Transform.

XSL

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

IDocuments

IITraitement

IIIPrésentation

Page 49: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 49Saturday, April 22, 2023

Environnement classique/cocoon : dynamique

<XML/><XML/><XML/>

<XSLT><XSLT><XSL>

<HTML>Transform.

XSL

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

IDocuments

IITraitement

IIIPrésentation

ProcesseurXSP

XSP tagsJava

Processeur

PerlShell Tcl

Page 50: XML origine - concept - techniques

Outils XML

Page 51: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 51Saturday, April 22, 2023

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 NotepadEditeur simple de documents XML-based data. Freeware.http://msdn.microsoft.com/xml/notepad/download.asp

XML ProEditeur XML assez complet. Sharewarehttp://www.vervet.com/demo.html

XMetal

FrameMaker

Page 52: XML origine - concept - techniques

Conclusion

Qu'est ce que XML ?Quand est-ce que ça sert ?Quand est-ce que ça ne sert pas ?

Page 53: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 53Saturday, April 22, 2023

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 nouveau, mais pas tant que ça XML est license-free, indépendant de toute

plateforme et bien supporté

Page 54: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 54Saturday, April 22, 2023

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

Page 55: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 55Saturday, April 22, 2023

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

Page 56: XML origine - concept - techniques

Références XML

Page 57: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 57Saturday, April 22, 2023

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/

Page 58: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 58Saturday, April 22, 2023

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

Page 59: XML origine - concept - techniques

Tuyêt Trâm DANG NGOC - Université de Versailles 59Saturday, April 22, 2023

XQuery

W3C XQueryhttp://www.w3.org/TR/xquery.html

W3C XML Query Use Caseshttp://www.w3.org/TR/xmlquery-use-cases.html

W3C XML Query Requirements http://www.w3.org/TR/xmlquery-req.html

W3C XML Query Data Modelhttp://www.w3.org/TR/query-datamodel.html

W3C XML Query Algebrahttp://www.w3.org/TR/query-algebra.html