1 / 21

Les technologies XML

Les technologies XML. Cours 6 : Quelques langages XML Janvier 2009 - Version 1.0 -. SOMMAIRE DE PRESENTATION DE QUELQUES LANGAGES XML. Présentation de quelques langages XML XQuery XMI XUL Typologie des outils XML. INTERACTION XML et AUTRES TECHNOLOGIES.

asta
Télécharger la présentation

Les technologies XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Les technologies XML Cours 6 : Quelques langages XML Janvier 2009 - Version 1.0 -

  2. SOMMAIRE DE PRESENTATION DE QUELQUES LANGAGES XML • Présentation de quelques langages XML • XQuery • XMI • XUL • Typologie des outils XML

  3. INTERACTION XML et AUTRES TECHNOLOGIES • Nécessité d’interagir avec des technologies existants : • XML + SQL  XQuery • XML + UML  XMI • XML + IHM XUL

  4. XQUERY 1/8 • Objectifs du groupe de travail XML Query : • trouver un modèle de données pour les documents XML, • des opérateurs de requêtes pour ce modèle de données, • et un langage de requêtes basé sur ces opérateurs de requêtes. • XQuery est une spécification du W3C. • XQuery est un langage XML de requête qui ressemble à SQL et qui est représentée sous la forme d’une expression.

  5. XQUERY 2/8 • Les composantes du langage XQuery : • expression de cheminement (XPath) • litéraux (Entiers, Flottants, Doubles, Chaînes…), • variables (Notation $nom), • opérateurs • définition et appel de fonctions • expressions FLWR • expressions conditionnelles • conditions «Some» et «Every» • constructeur d’élément

  6. XQUERY 3/8 • Exemple de document XML : • Exemple de requête Xquery : • Exemple de résultat : • Evaluation de {…} <book isbn="isbn-0060229357"> <title>Harold and the Purple Crayon</title> <author> <first>Crockett</first> <last>Johnson</last> </author> </book> <example> <p> Here is a query. </p> <eg> $i//title </eg> <p> Here is the result of the above query. </p> <eg>{ $i//title }</eg> </example> <example> <p> Here is a query. </p> <eg> $i//title </eg> <p> Here is the result of the above query. </p> <eg> Harold and the Purple Crayon </eg> </example>

  7. XQUERY 4/8 • XQuery fournit des opérateurs sur les éléments • Logiques : and or • Arithmetiques : + - * div mod • Comparaison : > < = <= >= • Comparaison sur les nœuds : == !== • Ordre sur les nœuds : << >> • XQuery intègre des listes d’éléments • Exemple : [$A, $B, $C] • Operateurs : union, intersect, except • Commentaires XQuery • {-- Ceci est un commentaire pour XQuery --}

  8. XQUERY 5/8 • Expression FLWR (FLoWeR) : • FOR…LET…WHERE…RETURN… • Exemple : for $b in $input//book where $b/author = $a return $b/title • Classement : • SORTBY…ASCENDING/DESCENDING • Exemple : //book[price > 100] sort by((author[1], title)ascending)

  9. XQUERY 6/8 • Conditions : • IF…THEN…ELSE… • Exemple : if ($widget1/unit-cost < $widget2/unit-cost) then $widget1 else $widget2 • Typeswitch… case… default… • Exemple : typeswitch ($animal) case element duck return quack($animal) case element dog return woof($animal) default return "No sound"

  10. XQUERY 7/8 • Fonctions • Exemple : define function summary(element employee* $emps) returns element dept* { for $d in distinct-values($emps/deptno) let $e := $emps[deptno = $d] return <dept> {$d} <headcount> {count($e)} </headcount> <payroll> {sum($e/salary)} </payroll></dept> } summary(document("acme_corp.xml")//employee [location = "Denver"])

  11. XQUERY 7/8 • Sélection SOME (il existe) • Exemple : {-- Retourner les titres des livres où --} {--Sailing et Windsurfing sont dans le même paragraphe--} FOR $b IN //book      WHERE SOME $p IN $b//para SATISFIES contains($p, "sailing") AND contains($p, "windsurfing") RETURN $b/title • Sélection EVERY (pour tout) • Exemple : {-- Retourner les book où sailing est mentionné --} {-- dans tous les paragraphes--} FOR $b IN //book      WHERE EVERY $p IN $b//para SATISFIES contains($p, "sailing") RETURN $b/title

  12. XML + UML = XMI 1/2 • XMI (XML Metadata Interchange) • Standard OMG • Permet de sauvegarder des données UML en XML • Objectifs de XMI • Indépendance des applications • Indépendance de la visualisation • Les Outils qui implémentent XMI • Rational Rose • Together • IBM VisualAge for Java, WebSphere • Oracle Designer…

  13. XML + UML = XMI 2/2 • Exemple de document XMI : • <XMI xmi.version="1.1" xmlns:UML="org.omg/standards/UML"> • <XMI.header> • <XMI.metamodel name="UML" version="1.3" • href="UML.xml"/> • <XMI.model name="vehicule" version="1"  • href="vehicule.xml"/> • </XMI.header> • <XMI.content> • <UML:Class name="Voiture"> • <UML:Classifier.feature> • <UML:Attribute name="immatriculation" visibility="private"/> • </UML:Classifier.feature> • </UML:Class> • </XMI.content> • </XMI>

  14. XUL 1/2 • XUL (XML-based User Interface Language, prononcé zool) est un langage dedescription d'interfaces homme/machine : • Sa puissance de description est telle qu'elle permet de définir une application aussi complexe qu'un navigateur web (XUL est au cœur de Mozilla et de Netscape 6). • Certains voient en XUL le concurrent de java sur le poste client : il existe des interpréteurs pour toutes les plates-formes, XUL est donc un langage de descriptions d'interface portable. • De plus XUL étant un dialecte XML il ne nécessite pas de compétences en informatique pointues.

  15. XUL 2/2 Exemple de document XUL :

  16. TYPOLOGIE DES OUTILS XML • Les éditeurs : • pour documents XML, • pour feuilles de style XSL (XSLT et XSL FO), • pour les DTD et/ou les schémas, • pour XLink et XPointer • ils sont wysiwig ou non • ils sont validants ou non • Quelques produits : • Emacs avec sxml-mode, xslide et tdtd • Stylus Studio, XML Spy • Visual XML de IBM…

  17. TYPOLOGIE DES OUTILS XML • Les visualisateurs : • Navigateurs : Internet Explorer 5.x+, Netscape 6+, Mozilla, Amaya, InDelv XML Browser, Opera… • ils intègrent plus ou moins les différentes normes (XML, XSLT, DTD, Schémas, XSL FO…) • Les convertisseurs : • DTD  Schémas, • HTML  XML + XSL : WH2FO de Open Source HP • RTF  FO : RTF2FO de Novosoft • Modèle Rational XMI : XMI Add-in • …

  18. TYPOLOGIE DES OUTILS XML • Les API XML : • DOM XML (Document Objet Model) • SAX (Simple API for XML) • JAXP (Java API for XML Parsing) • SAXON • Les parseurs XML : • Xerces de Apache XML Project (XML 1.0, DOM 1 et 2, SAX 1.0, JDK 1.1.x pour la version Java) • ProjectX de Sun (XML 1.0, DOM 1 et 2, Sax 1.0 et 2.0, JDK 1.1.6 à 1.2) • XML for Java de IBM (XML 1.0, DOM 1 et 2, SAX 1.0) • XML parser for Java de Oracle (XML 1.0, DOM 1, SAX1.0, JDK 1.1) ... • MSXML parser 4.0 de Microsoft

  19. TYPOLOGIE DES OUTILS XML • Les processeurs XSLT et formatteurs XSL FO : • Xalan de Apache XML Project • Fop de Apache XML Project • XT de James Clarck • XSL:P de Keith Visco • MSXML parser 4.0 de Microsoft • Xslt Compiler de Sun ... • Koala XSL engine • Les bases de données : • SQL Server 2000 de Microsoft • DB2 UDB V7.2 d’IBM : XML Extenders

  20. TYPOLOGIE DES OUTILS XML • Les plate-formes de développement : • WSAD • JBuilder 5.1+ • VB.NET 1.0 • Les serveurs d’applications : • WebSphere • WebLogic • Cocoon • Jonas • JBoss

  21. RESUME : LES OUTILS XML • Principaux outils pour XML et XSLT : • Editeurs : Emacs, Stylus Studio, Morphon XML Editor,XML Notepad • Navigateurs : IE6, Netscape 6, Mozilla, Amaya • API de parsing : SAX, DOM, JDOM, JAXP • Parsers XML : Xerces … • Processeurs XSLT : XT, Xalan, Saxon • Serveurs XML : Cocoon …

More Related