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

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

Présentations similaires


Présentation au sujet: "Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Un méta-langage pour des documents structurés."— Transcription de la présentation:

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

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

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

4 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

5 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="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

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

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

8 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

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

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

11 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

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

13 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

14 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

15 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

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

17 Cours MIAGE Henry Boccon-Gibod 17 long –-1, 12678967543233 unsignedLong –0, 12678967543233 short –-1, 12678 unsignedShort –0, 12678 decimal –-1.23, 0, 123.4, 1000.00 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.000-05:00 dateTime –1999-05-31T13:20:00.000-05:00 duration –P1Y2M3DT10H30M12.3S date –1999-05-31 gMonth –--05-- gYear –1999 Schema Les types simples (2)‏

18 Cours MIAGE Henry Boccon-Gibod 18 gYearMonth –1999-02 gDay –---31 gMonthDay –--05-31 Name –shipTo QName –po:Address NCName –Address anyURI –http://www.example.com/,http://www.example.com/ –http://www.example.com/doc.html#I D5http://www.example.com/doc.html#I 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)‏

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

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

28 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

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

30 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

31 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 = "http://..." – schemaLocation = "http://..." /> Possibilité d’inclure ou d'étendre un schéma – –.... Extensions... – Réutilisation

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

33 Cours MIAGE Henry Boccon-Gibod 33 Les espaces de noms

34 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

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

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

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

38 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=''http://www.domain.name/qualifier''http://www.domain.name/qualifier 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="http://www.w3.org/2001/XMLSchema" xmlns:po="http://www.example.com/PO1" targetNamespace="http://www.example.com/PO1" elementFormDefault="qualified" attributeFormDefault="unqualified"> Le processus de qualification

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

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

41 Cours MIAGE Henry Boccon-Gibod 41 Divers

42 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

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

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

45 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

46 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)‏

47 Cours MIAGE Henry Boccon-Gibod 47 Schema Diagramme XML Spy

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

49 Cours MIAGE Henry Boccon-Gibod 49 –Schematron Langage de schema orienté règles Pattern de contraintes de structure http://www.ascc.net/xml/resource/schematron/ –Relax NG Langage de schema orienté grammaire Langage simple de schema spécifiant des modèles de contenus http://www.relaxng.org/ –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 –http://dsdl.orghttp://dsdl.org Modéliser : d'autres modalités d'expressions

50 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

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

52 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

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

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

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

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

57 Cours MIAGE Henry Boccon-Gibod 57 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <xsl:output name="toc-format" method="xhtml" indent="yes" doctype system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"/> <xsl:output name="section-format" method="xhtml" indent="no" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="- //W3C//DTD XHTML 1.0 Transitional//EN"/> Table of Contents Table of Contents

58 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

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

60 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

61 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)‏

62 Cours MIAGE Henry Boccon-Gibod 62 Exercice 1 Copyright (c) 2004-2006 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.

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

64 Cours MIAGE Henry Boccon-Gibod 64 Exercice 2 Copyright (c) 2004-2006 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.

65 Cours MIAGE Henry Boccon-Gibod 65 Corrigé exercice 2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" Auteur: Remarque: Procédure Ingrédients: --> Opérations: -->

66 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

67 Cours MIAGE Henry Boccon-Gibod 67 Exercice 3 Copyright (c) 2004-2006 Gilles Chagnon Soleil G2 5 Mercure 0.4 0.06 0.4 Vénus 0.7 0.8 0.9 Terre 149600000 5.98e24 12756 1 Mars 1.5 0.1 0.5 2 Jupiter 5.2 318 11 16 Saturne 9.6 95 9.4 18 Uranus 19.2 14.5 4 15 Neptune 30.1 17.2 3.8 8 Pluton 39.4 0.002 0.2 1 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.

68 Cours MIAGE Henry Boccon-Gibod 68 Hery Jean-Francois 19571007 Angers 28 19810901 jfh.jpg Laleuf Jean-Claude 19530901 Paris 29 19800415 jcl.jpg Exercice 4

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

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

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

72 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

73 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)‏

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

75 Cours MIAGE Henry Boccon-Gibod 75 Fin du module


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

Présentations similaires


Annonces Google