Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Un méta-langage pour des documents structurés.

Slides:



Advertisements
Présentations similaires
Le modèle de communication
Advertisements

Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
Cours MIAGE Henry Boccon-Gibod1 XML, langage de structuration Modélisation structurelle en XML de Messages et de Documents.
Cours MIAGE Henry Boccon-Gibod 1 XML, Un méta-langage pour des documents structurés.
Extensible Mark up Language
Cours MIAGE Henry Boccon-Gibod 1 XML, langage de structuration documentaire Langage de transformation et langage d'interrogation.
Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Modélisation structurelle de Messages e t de Documents en XML XML Schema.
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Urbanisation de Systèmes d'Information
Cours MIAGE Henry Boccon-Gibod 1 XML, Extensible Mark up Language Un esperanto des langages informatiques.
Les espaces de nommage XML par Philippe Poulard 1
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
Cours 1.2 : Introduction au langage XML
le langage les éléments
Le typage orienté objet pour les données XML
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Manipulation d’XML avec XSL
XML-Family Web Services Description Language W.S.D.L.
Introduction à la conception de Bases de Données Relationnelles
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
28 novembre 2012 Grégory Petit
RDF(S)
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg.
Xpath XML Path language par Yves Bekkers
XSLT Langage de transformation darbre par Yves Bekkers.
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Les feuilles de style CSS
Initiation à XML Sebti Foufou.
8 - XML Cours XML.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
X xx yyy Document XML Résolution d'entités Résolution espaces de nommages Reader Parsing Contrôle de validité structurelle Contrôle arbre bien formé Contrôle.
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Seminaire XML B. Rothenburger A. Nouvel XML XSD XSL IRIT Toulouse Disponible Consultable dans l'équipe 21...
Web sémantique est pratique documentaire
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Introduction à XML Yves Bekkers. Plan Introduction - structurer l’information Les langages à balises - un peu d’histoire XML - concepts de base Outils.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
XSD XML Schema Definition Année universitaire UP web.
Page 1 © Expert-IT s.a. - Développer des projets en XML Pratique.
eXtensible Markup Language. Généralités sur le XML.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod XSL 2.0 XPath 2.0 Xml Stylesheet Language.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 1 Rappels sur XML,
Chapitre 2 Rappels objet et Présentation des diagrammes UML
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
ACCARY-BARBIER / CNAM - Cycle C ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : XPath.
Nouvelles Technologies Internet & Mobile
Introduction à la Programmation Orientée Objet
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Introduction Module 1.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
DTD EAD.
INF2005– Programmation web– A. Obaid Variantes de HTML.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
DTD - Y. Bekkers - IFSIC1 DTD Document Type Definition Yves Bekkers Mise à jour : 31 mai 2016.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Un méta-langage pour des documents structurés

Cours MIAGE Henry Boccon-Gibod 2 Origine du méta langage XML XML est issu d'une filiation : – De GML – unsystème de balisage de documents développé par IBM)‏ Dont est issu SGML (qui est une standardisation de GML)‏ – Dont est issu HTML ( qui est une DTD de SGML) – Dont est issu XML ( par une restriction de libertés informatiques) XHTML ( redressement de HTML)‏ »Dont est issu XSD modélisation de structures XML »Dont est issu RDF représentation de réseaux XML »Dont est issu RDFS/OWL modélisation de réseaux sémantiques RDF Un langage dont la pérennité pourrait-elle être mise en question ?

Cours MIAGE Henry Boccon-Gibod 3 Modélisation de Messages et Documents en XML XML Schema

Cours MIAGE Henry Boccon-Gibod 4 Définir un nouveau mécanisme de support à la modélisation Reprenant les acquis des DTD en termes de définition de modèles Arbres d'objets typés et valués Permettant d'exprimer des contraintes fortes Typage de données plus puissant et évolutif Utilisant XML pour définir les modèles eux-mêmes Factorisation des outils et des méthodes Apporter en plus, de : Permettre de définir des contraintes incomplètes Complémentarité aux DTD : outil de validation de données S'intégrer à l’ensemble des spécifications W3C Prise en compte des espaces de noms Se rendre indépendant du format XML sérialisé validation appliquée à une structure logique basée sur les XML InfoSet Objectifs

Cours MIAGE Henry Boccon-Gibod 5 Approche par l’exemple 1 Un Document XML : Le Modèle XMLSchema référencé par ce document <xs:schema xmlns:xs=" elementFormDefault="qualified">

Cours MIAGE Henry Boccon-Gibod 6 Approche par l’exemple 1-bis

Cours MIAGE Henry Boccon-Gibod 7 Approche par l’exemple 2

Cours MIAGE Henry Boccon-Gibod 8 Approche par l’exemple 3 pomme de terre oignon sel peler les patates précuire les patates à la vapeur peler les oignons faire revenir les oignons

Cours MIAGE Henry Boccon-Gibod 9 Approche par l’exemple 4

Cours MIAGE Henry Boccon-Gibod 10 Approche par l’exemple 5

Cours MIAGE Henry Boccon-Gibod 11 –Sequence : séquence ordonnée d’éléments (ET logique)‏ –Choice : choix parmi un ensemble d'éléments (OU logique)‏ –All : séquence non ordonnée –Utilisable uniquement au niveau le plus haut d’un modèle de contenu et sur des éléments avec maxOccurs à 1 ; pas sur d’autres groupes. –Contrôle des occurrences : minOccurs, maxOccurs Ordonnancement

Cours MIAGE Henry Boccon-Gibod 12 Si nous reprenons l'exemple culinaire, l'ordonnancement des ingredients peut se présenter comme suit : Exemple

Cours MIAGE Henry Boccon-Gibod 13 –Utilisation dans les déclarations d’éléments ou d’attributs Objectifs : définir des types pour les utiliser dans des modèles de contenus ou des déclarations d’attributs Un type est identifié et référencé par son nom ou directement défini (type anonyme) ‏ Simple Complex e Notion de type

Cours MIAGE Henry Boccon-Gibod 14 –Apport de l’approche "Objet" –Optimise la modularité –Dérivations de types Simples et complexes Par extension (ajout d’éléments, d’attributs)‏ Par restriction (interdiction d’éléments, d’attributs, ajout de contraintes, facets sur les types simples)‏ –Des types abstraits Utilisés comme des interfaces <element name="DEMANDE" type="string"/> Types et dérivation

Cours MIAGE Henry Boccon-Gibod 15 Toutes les définitions de types se font par référence ou par construction à partir de types existants, d'où les deux possibilités : –Extension : on ajoute des informations à un type existant, –Restriction : on façonne un type existant afin de le contraindre par rapport aux valeurs qu'il peut prendre. Types et dérivation

Cours MIAGE Henry Boccon-Gibod 16 Les types simples prédéfinis

Cours MIAGE Henry Boccon-Gibod 17 long –-1, unsignedLong –0, short –-1, unsignedShort –0, decimal –-1.23, 0, 123.4, float –-INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN double –-INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN boolean –true, false 1, 0 time –13:20:00.000, 13:20: :00 dateTime – T13:20: :00 duration –P1Y2M3DT10H30M12.3S date – gMonth – gYear –1999 Schema Les types simples (2)‏

Cours MIAGE Henry Boccon-Gibod 18 gYearMonth – gDay –---31 gMonthDay – Name –shipTo QName –po:Address NCName –Address anyURI – – D5http:// D5 language –en-GB, en-US, fr ID –"A212" IDREF –"A212" IDREFS –"A212" "B213" ENTITY ENTITIES NOTATION NMTOKEN, NMTOKENS –US –Brésil Canada Mexique Les types simples (3)‏

Cours MIAGE Henry Boccon-Gibod 19 Decrivons les différents types d'unités de mesure (gramme, kilogramme, litre respectivement 3, 2, 2 digits) : Exemples de simpleTypes

Cours MIAGE Henry Boccon-Gibod 20 list : pour structurer un contenu textuel comme une liste –Sur lequel on peut imposer des contraintes union : pour fusionner plusieurs types simples Pierre Paul Jacques Liste et union de types simples

Cours MIAGE Henry Boccon-Gibod 21 Contraintes sur type simple prédéfini Utilisation de facettes –Taille fixe, minimale, maximale, nombre de chiffres après la virgule –Domaine de valeurs (bornes min et max) pour les types ordonnés –Expressions régulières Perl Exemple Dérivation de types simples

Cours MIAGE Henry Boccon-Gibod 22 Décrivons les types d'unités de mesure possibles avec les abréviations communes (gr pour gramme, kg pour kilogramme, l pour litre...) en utilisant le méchanisme de dérivation : Exemple

Cours MIAGE Henry Boccon-Gibod 23 Définition d'objets complexes – : collection ordonnée d'éléments typés – : collection non ordonnée d'éléments typés – : choix entre éléments typés Caractérisation du modèle de contenu –Mixed –Nillable –Empty Exemple Les types complexes

Cours MIAGE Henry Boccon-Gibod 24 Définition de sous-types par héritage –Par extension : ajout d'informations –Par restriction : ajout de contraintes Possibilité de contraindre la dérivation –Final : interdit la dérivation du type –Block : empêche la substitution de types Exemple : Dérivation de types complexes

Cours MIAGE Henry Boccon-Gibod 25 Decrivons un ingrédient par extension en ajoutant une information de type conservation qui possède les attributs temperature et temps : Exemple

Cours MIAGE Henry Boccon-Gibod 26 En XML schema il est possible (comme avec les DTD) de déclarer des attributs qui sont aussi soumis au processus de typage –Un attribut peut être déclaré au sein de l'élement (de manière anonyme): <xs:element.... –Sa déclaration peut être factorisée : <xs:element.... Les attributs

Cours MIAGE Henry Boccon-Gibod 27 Définition en XML Schema des attributs de l'élement ingredient... Exemple

Cours MIAGE Henry Boccon-Gibod 28 Un schéma fournit –Des définitions de types –Des déclarations d’éléments et d’attributs appartenant à un espace de noms Chaque instance de document: –Utilise un ou plusieurs espaces de noms –Peut associer chaque espace de nom à un schéma … Champs lexicaux : Espaces de Noms

Cours MIAGE Henry Boccon-Gibod 29 Contraintes sur type simple prédéfini Utilisation d'expression régulières –Similaires à celles de Perl, Python, Tcl, Java Exemple Les patrons, dits « patterns »

Cours MIAGE Henry Boccon-Gibod 30 L'utilisation des expressions régulières permet de définir de manière plus ou moins précise les contenus possibles pour un type. Décrivons le type temperature pour qu'il n'accepte que la forme nn,nnC° : De même pour le type gramme : Exemple

Cours MIAGE Henry Boccon-Gibod 31 Possibilité de référencer localement un élément global – (Nom défini au premier niveau)‏ –Importe l'élément et son type Définition de modèles réutilisables dans un schéma –group –attributeGroup Possibilité d'importer les types associés à un espace de noms –<import nameSpace = " – schemaLocation = " /> Possibilité d’inclure ou d'étendre un schéma – –.... Extensions... – Réutilisation

Cours MIAGE Henry Boccon-Gibod 32 Réutilisation d'un schema existant déclarant des ingredients : <import nameSpace = " recette.cuisine.org'' schemaLocation = " Exemple

Cours MIAGE Henry Boccon-Gibod 33 Les espaces de noms

Cours MIAGE Henry Boccon-Gibod 34 Un espace de nom est aux expressions informatiques ce qu'un champ lexical est aux langues vivantes Un espace de nom (namespace) : –permet de garantir l'unicité d'un vocabulaire, –est dépositaire du modèle (de nommage) via l'association d'une URI qui documente et versionne ce dernier, –permet de poser des choix de conception d'un XML Schema pour guider la réutilisabilité des élements qu'il déclare, on parle alors : De forme qualifiée, Et de forme non qualifiée. –... est une forme qualifiée, –... ne l'est pas s'il n'y a pas de déclaration implicite. => importance de l'utilisation des espaces de noms ! Notion d’espace de noms

Cours MIAGE Henry Boccon-Gibod 35 La qualification des éléments dépend des choix de conception d'un XML Schema : –Un même document XML peut être validé par deux Schémas XML différents. Faut-il qualifier ou non ?

Cours MIAGE Henry Boccon-Gibod 36 Les deux schémas précédents peuvent être équivalents –Le premier déclare deux éléments globaux : purchaseOrder et comment –Le second déclare plus d'élements globaux : PurchaseOrder ShipTo BillTo Comment Name street Les élements globaux sont considérés comme des racines potentielles pour un document XML ! Les déclarations locales (i.e. Au sein de la déclaration d'un élement) restent ''anonymes'' et leur portée contextuelle, Les déclarations globales sont visibles de tous et peuvent générer des conflits ! Faut-il qualifier ou non ?

Cours MIAGE Henry Boccon-Gibod 37 Plus il y a d'élements globaux, plus le risque d'entrer en conflit avec un autre XML Schema est grand : –Si la définition fait partie d'un ensemble, il est conseillé de qualifier pour éviter les conflits, –Si elle représente un modèle unique de documents, avec peu voir pas d'utilisations de vocabulaires externes : Il est possible de ne rien qualifier, Dans le doute, éviter de multiplier les élements globaux et qualifier la racine uniquement. Faut-il qualifier ou non ?

Cours MIAGE Henry Boccon-Gibod 38 Lorsque l'on crée un XML Schema, il faut lui associer un espace de nom cible : –Il identifiera de facon unique le modèle –Syntaxe : targetNameSpace='' Tout document se réclamant instance de ce modèle doit importer cet espace de noms. Si l'on veut qualifier les élements et/ou les attributs : –ElementFormDefault = ''true|false'' –AttributeFormDefaut = ''true|false'' Syntaxe complète : <schema xmlns=" xmlns:po=" targetNamespace=" elementFormDefault="qualified" attributeFormDefault="unqualified"> Le processus de qualification

Cours MIAGE Henry Boccon-Gibod 39 Exemple de document utilisant une forme qualifiée explicite : <apo:purchaseOrder xmlns:apo=" orderDate=" "> Alice Smith 123 Maple Street Robert Smith 8 Oak Avenue Hurry, my lawn is going wild! Le processus de qualification

Cours MIAGE Henry Boccon-Gibod 40 Exemple de document utilisant une forme qualifiée implicite : <purchaseOrder xmlns=" orderDate=" "> Alice Smith 123 Maple Street Robert Smith 8 Oak Avenue Hurry, my lawn is going wild! Le processus de qualification

Cours MIAGE Henry Boccon-Gibod 41 Divers

Cours MIAGE Henry Boccon-Gibod 42 Wildcards –any –anyAttribute Annotations Unicité et références –unique –key –keyRef Types et éléments abstraits Substitution Autres fonctionnalités

Cours MIAGE Henry Boccon-Gibod 43 Mixed Content Empty Content anyType Annotations Attribute Groups Nil Values Specifying Uniqueness Defining Keys & their References Namespaces, Schemas & Qualification Target Namespaces & Unqualified Locals Qualified Locals Global vs. Local Declarations Undeclared Target Namespaces Substitution Groups Abstract Elements & Types Schema Autres possibilités...

Cours MIAGE Henry Boccon-Gibod 44 Bilan en l’état de l’art

Cours MIAGE Henry Boccon-Gibod 45 –Intérêt Conception : modélisation de classe d’objets –Lisibilité –Compatibilité XML et espaces de noms –Pouvoir de description des structures et des types –Pouvoir d'expression de contraintes –Très modulaire »Mécanisme de modularisation des modèles (inclusions et dérivation)‏ »Permet des architectures de modèles ouvertes –XML comme langage »Toute l’ingénierie réutilisable Exploitation : validation et utilisation multiples –Coopération : plusieurs schémas sur une même instance (modularité)‏ –Application spécifique : une instance validée et utilisée dans un contexte applicatif précis Bilan

Cours MIAGE Henry Boccon-Gibod 46 –Limite Spécification complexe Forme verbeuse Outils (de validation) extrêmement limités et "bogués" aujourd'hui Contraintes sur les atomes (données), mais pas sur les inter-relations –Quel est le rôle du modèle ? Quel est le rôle de l’applicatif ? Ne permet pas la fragmentation de fichiers de données –Nécessité d'une coopération avec DTD ou utilisation de Xinclude Attention compatibilité DTD –Vigilance sur fonctionnalités Schema utilisées si nécessité d’en dériver une DTD Bilan (suite)‏

Cours MIAGE Henry Boccon-Gibod 47 Schema Diagramme XML Spy

Cours MIAGE Henry Boccon-Gibod 48 Séquence Choix Tas Schema Diagramme XML Spy

Cours MIAGE Henry Boccon-Gibod 49 –Schematron Langage de schema orienté règles Pattern de contraintes de structure –Relax NG Langage de schema orienté grammaire Langage simple de schema spécifiant des modèles de contenus –DSDL (Document Description and Processing Languages)‏ –Nouveau projet ISO –Ensemble modulaire de spécifications pour décrire »La structure des documents »Les types de données »Les relations entre les différentes ressources – Modéliser : d'autres modalités d'expressions

Cours MIAGE Henry Boccon-Gibod 50 x xx yyy Document XML Résolution d'entités /Résolution espaces de noms Reader Contrôle de validité structurelle Contrôle au regard du modèle (DTD / Schéma)‏ Interfaces (SAX, DOM pour partie)‏ Application InfoSet PSVI Spécification La validation vue comme une transformation

Cours MIAGE Henry Boccon-Gibod 51 Les traitements XML Les traitements XML : transformation et interrogation XSL, spécification de transformation initialement dédiée au formatage de la présentation (XSL:FO)‏ XSLT, spécification générique de transformation –XPath langage d’accès aux éléments et attributs XML Xquery langage de requête dans une structure XML.

Cours MIAGE Henry Boccon-Gibod 52 1) Écrire le schéma validant indifféremment un livre de recettes, une recette, et un fond de cuisine. 2) décrire le principe de description en un schéma unique les différentes sortes de documents intervenant dans le cycle de vie d’un logiciel – En utilisant (import) le schéma de DocBook (documentation technique standard), – En utilisant (import) un schéma support de ressources de signature électronique, Exercices

Cours MIAGE Henry Boccon-Gibod 53 XSL 2.0 XPath 2.0 Xml Stylesheet Language

Cours MIAGE Henry Boccon-Gibod 54 XSL : De quoi s'agit il ? Qu’apporte XSL 2.0 Détails Exemples

Cours MIAGE Henry Boccon-Gibod 55 XSL – 1.0 s’appuie sur la structure XML d’une entrée pour produire une sortie – 2.0 d’une entrée en produit plusieurs, en fonction de paramètres. XPath – 1.0 navigue dans la structure – 2.0 analyse les contenus Qu’apportent XSL 2.0 et XPath 2.0 ?

Cours MIAGE Henry Boccon-Gibod 56 De XSL 1.0 à 2.0 Des fonctionnalités nouvelles –(non) traitement des éléments « blancs » –Sérialisation en XHTML –<xsl:value_of select= accepte plusieurs valeurs –<xsl:for-each traite n’importe quelle sorte de séquence, non limitée aux nœuds. –<xsl:perform-sort renvoie une liste triée d’objets –Production de plusieurs sorties <xsl:result-document href= –Appel à un « template » nommé (autorisant la mutualisation de l’appel d ’une même feuille –Possibilité de paramétrage d’appel d’une feuille de style –Et l’utilisation de Xpath 0.2…

Cours MIAGE Henry Boccon-Gibod 57 <xsl:stylesheet version="2.0" xmlns:xsl=" xmlns:xhtml=" <xsl:output name="toc-format" method="xhtml" indent="yes" doctype system=" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"/> <xsl:output name="section-format" method="xhtml" indent="no" doctype-system=" doctype-public="- //W3C//DTD XHTML 1.0 Transitional//EN"/> Table of Contents Table of Contents

Cours MIAGE Henry Boccon-Gibod 58 – Possibilité d’appel de fonctions « utilisateur » – Des fonctions nouvelles standardisées Algébriques –fn:abs(-23.4) renvoie 23.4 –fn:ceiling(23.4) renvoie 24 –fn:floor(23.4) renvoie 23 –fn:round(23.4) renvoie 23 –fn:round(23.5) renvoie 24 Booléennes –fn:not(0) renvoie fn:true()‏ –fn:not(fn:true()) renvoie fn:false()‏ –fn:not("") renvoie fn:true()‏ –fn:not((1)) renvoie fn:false()‏ De Xpath 1.0 à Xpath 2.0

Cours MIAGE Henry Boccon-Gibod 59 Fonctions (suite)‏ Traitement de chaînes de caractères –fn:concat("HT","ML") renvoie "HTML" –fn:concat("HT","ML"," ","book") renvoie "HTML book" –fn:string-join(("HTML","book")," ") renvoie "HTML book" –fn:string-join(("1","2","3"),"+") renvoie "1+2+3" –fn:substring("HTML book",6) renvoie "book" –fn:substring("HTML book",3,5) renvoie "ML b" –fn:string-length("HTML book") renvoie 9 –fn:upper-case("HTML book") renvoie "HTML BOOK" –fn:lower-case("HTML book") renvoie " html book"

Cours MIAGE Henry Boccon-Gibod 60 Fonctions (suite)‏ Expressions régulières –fn:contains("HTML book","HTML") renvoie fn:true()‏ –fn:matches("HTML book",« HTM..[a-z]*") renvoie fn:true()‏ –fn:matches("HTML book",".*Z.*") renvoie fn:false()‏ –fn:replace("HTML book","HTML","Web") renvoie "Web book" –fn:replace("HTML book","[a-z]","8") renvoie "HTML 8888« Evaluation de cardinalité –fn:exists(()) renvoie fn:false()‏ –fn:exists((1,2,3,4)) renvoie fn:true()‏ –fn:empty(()) renvoie fn:true()‏ –fn:empty((1,2,3,4)) renvoie fn:false()‏ –fn:count((1,2,3,4)) renvoie 4 –fn:count(//rcp:recipe) renvoie 5

Cours MIAGE Henry Boccon-Gibod 61 Fonctions (suite)‏ Transformations de séquences –fn:distinct-values((1, 2, 3, 4, 3, 2)) renvoie (1, 2, 3, 4)‏ –fn:insert-before((2, 4, 6, 8), 2, (3, 5)) renvoie (2, 3, 5, 4, 6, 8)‏ –fn:remove((2, 4, 6, 8), 3) renvoie (2, 4, 8)‏ –fn:reverse((2, 4, 6, 8)) renvoie (8, 6, 4, 2)‏ –fn:subsequence((2, 4, 6, 8, 10), 2) renvoie (4, 6, 8, 10)‏ –fn:subsequence((2, 4, 6, 8, 10), 2, 3) renvoie (4, 6, 8)‏

Cours MIAGE Henry Boccon-Gibod 62 Exercice 1 Copyright (c) Gilles Chagnon Casimir Recette du Gloubi-Boulga Pour une personne Remplir un saladier avec de la confiture de fraises, du chocolat râpé, des bananes écrasées, de la moutarde forte, des saucisses de Toulouse écrasées tièdes mais crues. Mélanger vigoureusement jusqu'à obtenir une bouillie marron-clair. Il est normal qu'il y ait des grumeaux. Les proportions sont environ égales pour tous les ingrédients, mais il est possible de varier selon les goûts de chacun. Créer une feuille de style XSL permettant à partir de cette fiche recette de produire une page HTML qui : a pour titre le contenu de la balise titre ; commence par un titre ayant comme contenu le contenu de l'élément titre ; donne ensuite le nom de l'auteur de la recette ; affiche ensuite le mot Remarque : puis le contenu de l'élément remarque ; affiche Procédure en niveau ; dans un paragraphe, présente la procédure à suivre.

Cours MIAGE Henry Boccon-Gibod 63 Corrigé exercice 1 Auteur: Remarque: Procédure

Cours MIAGE Henry Boccon-Gibod 64 Exercice 2 Copyright (c) Gilles Chagnon Casimir Recette du Gloubi-Boulga Pour une personne Remplir un saladier avec les ingrédients... confiture de fraises chocolat râpé bananes écrasées moutarde forte saucisses de Toulouse écrasées tièdes mais crues Mélanger vigoureusement jusqu'à obtenir une bouillie marron-clair. Il est normal qu'il y ait des grumeaux. Les proportions sont environ égales pour tous les ingrédients, mais il est possible de varier selon les goûts de chacun. Reprendre l'exercice précédent, mais cette fois-ci en affichant dans la procédure une liste des ingrédients, puis les opérations à pratiquer. Remarque : Il est également possible de réarranger par ordre alphabétique la liste des ingrédients, mais cela n'est possible qu'en appelant des commandes XSL évoluées.

Cours MIAGE Henry Boccon-Gibod 65 Corrigé exercice 2 <xsl:stylesheet version="1.0" xmlns:xsl=" Auteur: Remarque: Procédure Ingrédients: --> Opérations: -->

Cours MIAGE Henry Boccon-Gibod 66 Exercice 2 bis Produire le fichier XML de l’exercice 2 en structurant automatiquement le ficher XML de l’exercice 1

Cours MIAGE Henry Boccon-Gibod 67 Exercice 3 Copyright (c) Gilles Chagnon Soleil G2 5 Mercure Vénus Terre e Mars Jupiter Saturne Uranus Neptune Pluton A l'aide d'une boucle, présenter les données sous la forme d'une liste donnant pour chaque planète son nom, sa distance par rapport au Soleil, sa masse et son diamètre, Ajouter à la distance, la masse et le diamètre les unités employées en récupérant la valeur de l'attribut unit pour chacun de ces éléments. Effectuer pour chaque planète un test sur l'élément satellite. S'il existe, afficher le nombre de satellites Ne plus afficher les informations sur la Terre, Classer les planètes par ordre croissant de masse ;masse A l'aide d'un élément, faire un test sur le type de planète et afficher suivant le cas : "Planète de type tellurique" si la planète est de type... tellurique ; "Planète pleine de gaz!" si la planète est de type gazeuse ; "Autre type de planète" dans les cas restants.

Cours MIAGE Henry Boccon-Gibod 68 Hery Jean-Francois Angers jfh.jpg Laleuf Jean-Claude Paris jcl.jpg Exercice 4

Cours MIAGE Henry Boccon-Gibod 69 À publier comme ceci…

Cours MIAGE Henry Boccon-Gibod 70 Ou comme ça…

Cours MIAGE Henry Boccon-Gibod 71 Et encore comme ça !

Cours MIAGE Henry Boccon-Gibod 72 belle marquise, vos beaux yeux me font mourir d’amour Exercice 5 exprimer en XML les autres façons dont Monsieur Jourdain peut tourner son poème

Cours MIAGE Henry Boccon-Gibod 73 belle marquise, vos beaux yeux me font mourir d’amour Exercice 6 (le même, en moins structuré, à publier en HTML)‏

Cours MIAGE Henry Boccon-Gibod 74 Exercice 7 : le même, à publier en prose belle marquise, vos beaux yeux me font mourir d’amour

Cours MIAGE Henry Boccon-Gibod 75 Fin du module