La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les outils de base : XPath, XSL, XLink, XForms 1. XPATH 2. XSLT 3. XSLFO 4. XLink 5. XForms 6. Conclusion.

Présentations similaires


Présentation au sujet: "Les outils de base : XPath, XSL, XLink, XForms 1. XPATH 2. XSLT 3. XSLFO 4. XLink 5. XForms 6. Conclusion."— Transcription de la présentation:

1

2 Les outils de base : XPath, XSL, XLink, XForms 1. XPATH 2. XSLT 3. XSLFO 4. XLink 5. XForms 6. Conclusion

3  G. Gardarin III.2 1. XPath : l'adressage XML uXPath l Expressions de chemins dans un arbre XML l Permet de sélectionner des nœuds par navigation XPath Document XML ?

4  G. Gardarin III.3 XPath uXML Path Language l recommandation W3C pour expressions de chemins l acceptée le 16 novembre 1999 l version 2 en cours d'élaboration uExpressions de chemins communes à : l XSL l Xpointer (liens) l XQuery (queries) uXpath permet l de rechercher un élément dans un document l d'adresser toute sous partie d'un document XPath

5  G. Gardarin III.4 XPath - Parcours d'arbre uXPath opère sur l'arbre d'un document Les chatiments Buonaparte Neige … racine section Auteur = "Hugo" livre Buonaparte chapitre Neige chapitre section Les chatiments titre XPath

6  G. Gardarin III.5 XPath - Expression de chemins uUne expression de chemins spécifie une traversée de l'arbre du document : l depuis un nœud de départ l vers un ensemble de nœuds cibles l les cibles constituent la valeur du cheminement uUn chemin peut être : l absolu ucommence à la racine u/étape1/…/étapeN l relatif ucommence à un nœud courant uétape1/…/étapeN XPath

7  G. Gardarin III.6 Syntaxe et sémantique uCheminement élémentaire l direction::sélecteur[predicat] uDirections l parent, ancestor, ancestor-or-self l child, descendant, descendant-or-self l preceding, preceding-sibling l following, following-sibling l self, attribute, namespace uSélecteur l nom de nœud sélectionné (élément uPrédicat l [Fonction(nœud) = valeur] XPath

8  G. Gardarin III.7 XPath - Exemples uSections d'un chapitre l /child::livre/child::chapitre/child::section l /livre/chapitre/section uTexte du chapitre 1 section 2 l /descendant::chapitre[position() = 1] /child::section[position() = 2]/child::text() l //chapitre[1]/section[2]/text() XPath

9  G. Gardarin III.8 XPath - Synthèse XPath

10  G. Gardarin III.9 2. XSLT : la présentation uPermet de transformer un document l régulier ou irrégulier l de XML à XML, XHTML est un cas particulier l De XML à présentation (HTML, texte, rtf, pdf, etc.) uUn document est un arbre uLe processeur XSL parcourt l'arbre et applique les règles de transformations vérifiées (à condition vraie) aux nœuds sélectionnés uUn autre arbre est produit en sortie XSLT

11  G. Gardarin III.10 Publications avec XSL uPlusieurs formats de publication d’un même jeu de données uIl permet la présentation sur des terminaux variés XSL Processor XML Document Format ( PDF) Format (XML) application e.Commerce format (WML) Browser Netscape/IE (XHTML, DHTML, HTML) Format (XML) pour Word, Excel XSL Stylesheet XSL

12  G. Gardarin III.11 Architectures Fichier Base de données Affichage Traitement SERVEURSERVEUR XML Programme XML ASP ou JSP XSL Processeur XSL Affichage HTML XML Processeur XSL

13  G. Gardarin III.12 Les feuilles de style uUne feuille de style XSL l est un document XML de racine l contient une liste de règles de transformation uChaque règle ( ) est définie par: l Une condition spécifiant le sous-arbre du document d’entrée auquel elle s’applique l Une production spécifiant le résultat de l’application de la règle uUtilisation d'un nom de domaine spécifique l Le préfixe généralement utilisé est xsl: XSLT

14  G. Gardarin III.13 Exemple de document Le Romantique Cabourg Calvados Les TroisGros Roanne Loire XSLT

15  G. Gardarin III.14 Exemple de feuille de style XSL ESSAI XSL BONJOUR LE GROUPE XML SUIVEZ LE GUIDE Restaurant : XSLT

16  G. Gardarin III.15 Les règles de production uDéfinition des règles par uAttributs l match: condition de sélection des nœuds sur lesquels la règle s'applique (XPath) l name: nom de la règle, pour invocation explicite (en conjonction avec ) l mode: permet d'appliquer à un même élément des règles différentes en fonction du contexte l priority: priorité, utilisé en cas de conflit entre deux règles ayant la même condition uExemples l XSLT

17  G. Gardarin III.16 La génération du résultat uLe contenu de l'élément est la production de la règle l Les éléments du namespace xsl sont des instructions qui copient des données du document source dans le résultat l Les autres éléments sont inclus tels quels dans le résultat uInstructions pour: l Parcourir l'arbre du document source l Copier le contenu du document source dans le résultat uParcours de l'arbre: l uCopie du contenu du nœud sélectionné l XSLT

18  G. Gardarin III.17 Résumé des commandes u, définir une règle et son contexte u, appliquer les transformations aux enfants du nœud courant u, extrait la valeur d'un élément sélectionné à partir du nœud courant u, définir un traitement itératif u, générer une processing instruction u, générer un élément u, générer un attribut u, définir un traitement conditionnel XSLT

19  G. Gardarin III.18 Quelques éditeurs XSLT

20  G. Gardarin III.19 IBM XSL Editor XMLXSLT Rendu XSLT

21  G. Gardarin III.20 Bilan XSLT uXSLT est un langage très puissant de transformation d'un arbre XML en un autre uXSLT permet en particulier de publier des données XML sur le Web par transformation en un document HTML standard uXSLT est utilisé : l Pour publier des contenus XML l Pour transformer des données (EAI, B2B) XSLT

22  G. Gardarin III XSLFO : le formatage uLes Objets de mise en forme sont multiples : l utilisé pour les paragraphes, les titres… l ligne de séparation l zone rectangulaire contenant graphisme uIls possèdent de nombreuses propriétés l Pour un block on peut définir ula marge gauche et droite ul’espace avant et après le paragraphe ula couleur du texte ………... XSLFO

23  G. Gardarin III.22 XSLFO : principes uIls sont appliqués à un nœud de l ’arbre résultat uIls sont appelés par l ’espace nominale fo uSyntaxe : [instructions-de-traitement] XSLFO

24  G. Gardarin III.23 XSLFO : Exemple uDéfinition de propriétés pour la racine l

25  G. Gardarin III.24 Les outils XSL uProcesseurs XSLT conformes à la spécification: l Apache Group (www.apache.org): Xalan l Oracle XDK (www.oracle.com): XML Parser l James Clark (www.jclark.com): XT l Microsoft Internet Explorer 5.0 et plus l Netscape 6 supporte XSLT uProcesseur XSLFO l Apache Group : FOP (Formating Object Processor) Génère du PDF l JFOR (Open Source) Génère du RTF XSL

26  G. Gardarin III.25 Bilan XSL uXML = SGML léger pour la production de publications web importantes : l production d’une source unique en XML ; l XSLT = génération automatique de présentations web multiples ; l XSLFO = génération automatique sur d’autres supports. uQuestions ? XSL

27  G. Gardarin III Autres spécifications uXLink = liens externes entre documents uXPointer = pointeurs internes à un document uXForms = saisie de formulaires avec XML XLink et plus

28  G. Gardarin III.27 Xlink et les liens uExprimer des liens entre documents XML l pointe sur une URL l l'URL peut inclure une partie Xpointer l tout élément peut être un lien uDifférents types de liens l simple xlink:type = "simple" l étendu xlink:type = "extended" l De véritables associations l 1-1 en simple, k-n en étendu l avec rôles possibles l avec comportements possibles XLink et plus

29  G. Gardarin III.28 Exemples simples u 1 u Georges Gardarin u uLes attributs doivent être définis dans la DTD l si le document en possède une XLink et plus

30  G. Gardarin III.29 Les liens étendus u Associations orientées de M vers N l Permettent de relier des éléments entre eux par des arcs étiquetés et ainsi de composer des graphes étiquetés orientés l Éléments ressource et locator définissant les nœuds l Éléments arc définissant les liens u Ressource l contenu de l'élément uLocator l u Arc l contenu XLink et plus

31  G. Gardarin III.30 Les attributs de XLink uxlink:type l type de lien uhref l référence de l'URL utitle l titre du document cible urole l rôle du document cible ushow l en place, interne ou nouveau document uactuate l manuel ou automatique ulabel l étiquette des arcs ufrom l source de l'arc uto l cible de l'arc XLink et plus

32  G. Gardarin III.31 XPointer uPermet de référencer un élément particulier d'un document l le document est spécifié par Xlink l le Xpointer est ajouté à l'URI séparée par # ou | uPointeur absolue l id() : référence un élément d'identifiant donné l root() : pointe sur la racine d'un document l html() : référence un document HTML uPointeur relatif = XPath l child, descendant, ancestor, preceding, following, … l Exemple :

33  G. Gardarin III.32 XForms uNouvelle génération de formulaires Web uAssemblage de formulaires à partir de schéma l Schéma = structure + type l Contraintes = Dépendances, expressions et calculs u XForms User Interfaces est la partie apparente pour l’utilisateur (présentation) l XForms User Interfaces intègre toutes les commandes de XHTML l Ajoute en plus des contrôles (tags) spécifiques au niveau présentation. XForms

34  G. Gardarin III.33 Saisie des formulaires uGénération et contrôle du message XML uContrôle sur le client ou le serveur XForms Model XForms User Interface Instance data XForms Submit Protocol XForms

35  G. Gardarin III Conclusion uXSL pour transformer et présenter l puissant mais complexe l problème de performance des processeurs ? uRecommandation XSL version 1.0 l uRecommandation XPath version 1.0 l uRecommandation Xlink version 1.0 l Références

36  G. Gardarin III.35

37  G. Gardarin III.36 EXERCICES ET COMPLEMENTS uModèle des documents en entrée uModèle des documents en sortie uStructure d’une feuille de style uMise en œuvre des transformations

38  G. Gardarin III.37 Modèle de document en entrée uLe document transformé doit être un document XML bien formé l Document XML: arbre dont les nœuds sont les éléments et leur contenu (texte) l Pour XSL, la racine du document, les attributs, les namespaces, les instructions de traitement et les commentaires sont aussi vus comme des nœuds uTypes de nœuds traités par XSL: uRacine du document (différent de l’élément racine!) uÉléments uTexte uAttributs uNamespaces uInstructions de traitement uCommentaires

39  G. Gardarin III.38 Exemple de document XML JT …

40  G. Gardarin III.39 Arbre correspondant Les attributs apparaissent comme des fils de l’élément auquel ils s’appliquent Racine Catalogue Article ReferencePrix Tax="TTC" Prix="FFR" 1874JT3006 Article

41  G. Gardarin III.40 Modèle de document en sortie uEn général, le document produit est un document XML l Document complet l Fragment de document bien formé uLa norme prévoit deux autres types de documents produits: l Un type HTML, qui permet de transformer le HTML bien formé (ex: ) en HTML standard (ex: ) l Un type texte, qui permet de générer des formats non balisés de type RTF, Postscript, TeX.  Le type de format de sortie est contrôlé par l’élément xsl:output

42  G. Gardarin III.41 Structure d’une feuille XSL uUne feuille de style XSL contient une liste de règles de transformation uChaque règle (template) est définie par: l Une condition spécifiant le sous-arbre du document d’entrée auquel elle s’applique l Une production spécifiant le résultat de l’application de la règle uXSL utilise XML pour décrire les règles de transformation: l est l’élément racine d’une feuille de style XSL l Toutes les instructions XSL sont des éléments du namespace "http://www.w3.org/1999/XSL/Transform" l Le préfixe généralement utilisé est xsl

43  G. Gardarin III.42 Exemple de feuille de style Style1.xsl

44  G. Gardarin III.43 Que fait l'exemple? uLa première règle: l Remplace l'élément racine par l'élément l Le contenu de est le résultat de la transformation du contenu de par les autres règles de la feuille de style uLa seconde règle: l Remplace chaque élément par un élément l Le contenu de est le texte (sans les balises) contenu dans les descendants de l'élément (règle par défaut)

45  G. Gardarin III.44 Mise en œuvre uTrois types de mise en œuvre possible: l Transformation statique l Transformation dynamique sur le serveur Web l Transformation dynamique sur le client uLe choix de l'approche dépend: l De l'utilisation des documents produits (impression papier, publication Web) l Du type de données XML manipulées (statique ou dynamique) l Des capacités du serveur Web utilisé l Des capacités du client Web utilisé

46  G. Gardarin III.45 Architectures Fichier Base de données Affichage Traitement Affichage SERVEURSERVEUR XML Programme XML ASP ou JSP Processeur XSL Affichage HTML XML Processeur XSL WML PS PDF Processeur XSL XML HTML

47  G. Gardarin III.46 Transformation statique uLes documents XML sont transformés à l'avance: l Impression papier l Stockage HTML sur un site Web standard uAvantages: l Pas de problèmes de performance l Serveur et client Web standards uInconvénients l Impossibilité de gérer des données XML dynamiques l Cohérence entre source et résultat

48  G. Gardarin III.47 Transformation sur le serveur uLes documents XML sont transformés à la demande par le serveur: l Publication Web en HTML l Échanges inter-application uAvantages: l Permet de gérer des données XML dynamiques l Client Web standard (HTML) uInconvénients: l Nécessite un serveur compatible XSL l Problèmes de performances sur le serveur

49  G. Gardarin III.48 Transformation sur le client uLe document XML et la feuille XSL sont transmises par le serveur avant transformation: l Publication Web uAvantages: l Permet de gérer des données dynamiques l Serveur Web standard l Pas de problèmes de performances sur le serveur uInconvénients: l Nécessite un client Web compatible XSL l Les données XML ne sont pas filtrées avant envoi

50  G. Gardarin III.49 Association document-feuille XSL uTransformation statique: l Le document XML et la feuille XSL sont deux paramètres du programme de transformation uTransformation dynamique: l L'association est gérée par une instruction de traitement dans le fichier XML l

51  G. Gardarin III.50 LES RÈGLES XSL uDéfinition d'une règle uLa génération du résultat uL'élément

52  G. Gardarin III.51 Définition d'une règle uDéfinition des règles avec, avec les attributs: l match: condition de sélection des nœuds sur lesquels la règle s'applique l name: nom de la règle, pour invocation explicite (en conjonction avec ) l mode: permet d'appliquer à un même élément des règles différentes en fonction du contexte l priority: priorité, utilisé en cas de conflit entre deux règles ayant la même condition uAu moins un des attributs match ou name doit être présent uL'attribut match permet de spécifier des expressions complexes XPath pour sélectionner les nœuds

53  G. Gardarin III.52 La génération du résultat uLe contenu de l'élément est la production de la règle l Les éléments du namespace xsl sont des instructions qui copient des données du document source dans le résultat l Les autres éléments sont inclus tels quels dans le résultat uInstructions pour: l Parcourir l'arbre du document source l Copier le contenu du document source dans le résultat uParcours de l'arbre: l uCopie du contenu l

54  G. Gardarin III.53 L'élément uL'élément permet d'appliquer récursivement les règles aux fils de l'élément sélectionné par la règle courante uIl a deux attributs optionnels: l select: permet de sélectionner les descendants à traiter l mode: permet de sélectionner les règles à appliquer uL'attribut select permet de définir des expressions complexes pour sélectionner des nœuds l Similaire à l'attribut match de l Expressions XPath

55  G. Gardarin III.54 Utilisation du select Style2.xsl

56  G. Gardarin III.55 L'élément uL'élément calcule la valeur d'une expression et la copie dans le résultat l L'expression est évaluée dans le contexte de l'élément courant uIl a deux attributs: l select: attribut obligatoire spécifiant l'expression XPath à évaluer l disable-output-escaping: attribut optionnel gérant la copie des caractères spéciaux (valeur: yes ou no) uLa valeur d'un nœud est une string, sa valeur exacte dépend du type de nœud: l Pour un élément, c'est tout le texte compris entre les balises de début et de fin

57  G. Gardarin III.56 Utilisation de

58  G. Gardarin III.57 L'élément uL'élément ne devrait être appliqué qu'à des expressions retournant un nœud unique: l Dans le cas contraire, seule la valeur du premier nœud est retournée uL'élément permet d'itérer sur un ensemble d'éléments défini par l'attribut: l select: attribut obligatoire permettant de sélectionner les nœuds à traiter uLe contenu de l'élément est copié n fois dans le résultat: l Les instructions xsl sont traitées comme dans une règle u permet de réduire le nombre de règles, dans le cas de documents réguliers

59  G. Gardarin III.58 Utilisation de Style3.xsl

60  G. Gardarin III.59 La sélection des éléments uL'attribut match des éléments permet de spécifier des conditions complexes pour sélectionner les éléments auxquels appliquer une règle uLa syntaxe de l'attribut select, utilisée par plusieurs instructions, permet de sélectionner des éléments parmi les descendants de l’élément courant auquel s’applique la règle

61  G. Gardarin III.60 Exemples d'expressions  para : tout élément para  *: tout élément  chapter|appendix: tout élément chapter ou appendix  olist/item: tout élément item avec un père olist  appendix/*/para: tout élément para avec un grand-père appendix  appendix//para: tout élément para avec un ancêtre appendix  /: le nœud racine  text(): tout nœud texte  processing-instruction(): toute instruction de traitement  node(): tout nœud  id("W11"): élément d'ID W11

62  G. Gardarin III.61 Exemples avec tests  para[1]: tout élément para qui est le premier fils para de son père  *[position()=1 and self::para]: idem  para[last()=1]: tout élément para qui est le seul fils para de son père  items/item[position()>1]: tout élément item qui à un père items et qui n'est pas le premier fils item de son père  item[position() mod 2 = 1]: tout élément item qui est un fils item impair tout attribut class tout attribut  tout élément p avec un ancêtre div dont l'attribut class vaut appendix


Télécharger ppt "Les outils de base : XPath, XSL, XLink, XForms 1. XPATH 2. XSLT 3. XSLFO 4. XLink 5. XForms 6. Conclusion."

Présentations similaires


Annonces Google