<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>



Documents pareils
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Master d Informatique Corrigé du partiel novembre 2010

XML : documents et outils

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Formation HTML / CSS. ar dionoea

Gestion Électronique de Documents et XML. Master 2 TSM

Production de documents avec XSLT. Production de documents p.1/??

HTML, CSS, JS et CGI. Elanore Elessar Dimar

WORDPRESS : réaliser un site web

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

SII Stage d informatique pour l ingénieur

Normes techniques 2011

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML et DOM. Matériel de cours. mars 1999 version 0.3 dernière modification: 24/3/99

Ateliers Bureautique et Internet

Tutoriel : Feuille de style externe

CREATION d UN SITE WEB (INTRODUCTION)

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

ING & NEWSLETTER NEWSLETTER RESPONSIVE

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

L alternative, c est malin 1. Comment faire plein de choses pour pas cher sur MacIntosh

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Initiation à html et à la création d'un site web

imovie 11 Créer un projet Menu / Fichier / Nouveau projet... Choisir le format : Standard (16/9). Importer des «!plans!» 1.

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

RESPONSIVE WEB DESIGN

Programmation Internet Cours 4

< Atelier 1 /> Démarrer une application web

Les outils de création de sites web

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Les types de fichiers

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

HTML. Notions générales

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

ENVOI EN NOMBRE DE Mails PERSONNALISES

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Créer un diaporama avec OpenOffice.org Impress

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Support Infrastructure des applications - 1 / 18 - I. Introduction...2

Les services usuels de l Internet

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

BES WEBDEVELOPER ACTIVITÉ RÔLE

Modules Multimédia PAO (Adobe)

Bureautique Initiation Excel-Powerpoint

Sana Sellami. Licence Professionnelle SIL

Responsive Web Design. Responsive Design avec HTML 5.0 et CSS3

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

L'essentiel de XML. Cours XML. Olivier Carton

Installation de DocBook sur un système Linux

CxF - Color exchange Format - Format d'échange de teintes. Le langage universel pour communiquer les teintes de manière numérique.

Optimiser les s marketing Les points essentiels

Présentation du Framework BootstrapTwitter

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Programme de formation Photoshop : Initiation 24 heures de formation (3 jours) 1/2

TP JAVASCRIPT OMI4 TP5 SRC

Guide de réalisation d une campagne marketing

Pack Fifty+ Normes Techniques 2013

FileMaker Server 12. publication Web personnalisée avec XML

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Introduction à Microsoft InfoPath 2010

SOUTENANCE ORALE RAPPORT DE PROJET D INFORMATIQUE

Outils logiciels pour l'ingénierie documentaire

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

L interface Outils, palettes, règles, repères, grille Paramétrer les préférences

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

Diffuser un contenu sur Internet : notions de base... 13

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Optimiser moteur recherche

Optimiser pour les appareils mobiles

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Création d un document PublishView

Maîtriser l'utilisation des outils bureautiques. Maîtriser le logiciel de traitement de texte - Word. Maitriser le logiciel tableur - Excel

creer votre site internet en html/css

Comment optimiser dans ImageReady?

Intégrateur Web HTML5 CSS3

OASIS Date de publication

Le codage informatique

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

SharePoint 2013 L'environnement de travail collaboratif

L optimisation d une PowerBoutique pour le référencement

STID 2ème année : TP Web/PHP

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Soyez accessible. Manuel d utilisation du CMS

Transcription:

Multimédia XML Benoît Piranda Équipe SISAR Université de Marne La Vallée XML l avenir de HTML? Extensible Markup Language, entre HTML et SGML tente de se servir des principes de simplicité du HTML et de la souplesse SGML Richesse sémantique plus structuré que HTML langage de mise en forme permet l écriture de ses propres DTD Adapté à la réalisation de documents pour Internet moins lourds à mettre en œuvre que SGML conserve la structure initiale de HTML (balises prédéfinies) XML 1.0 est recommandé officiellement par W3C depuis 1998. XML Caractéristique importante : la mise en forme des données est totalement séparée des données elles-mêmes. Cela permet de séparer complètement l'information (le contenu) de son apparence (le contenant), et donc de fournir plusieurs types de sortie pour un même fichier de données, en fonction de l'utilisateur ou de l'application (tableau, graphique, image, animation multimédia, fichier HTML,, fichier PDF...). La norme XML La DTD si le document contient une DTD il doit la respecter il doit respecter un formalisme plus rigoureux que HTML pas de balise d ouverture sans fermeture (et vice et versa) Les feuilles de style Structuration des données pour l affichage CSS : issus de l HTML XSL : avec langage de programmation Encore en cours de développement Des liens hypertextes étendus XLL liens multidirectionnels liens multidirectionnels pour retourner au point de départ d un lien inclusion d un sous-document lié dans le document courant Format XML Entête Version Codage du jeu de caractères ISO-8859-1 : europe de l ouest Référence DTD externe ou interne Standalone="yes" : DTD dans la page Standalone="no" : DTD dans un fichier externe <?xml version="1.0" encoding="iso-8859-1" standalone="yes"? La DTD Document Type Definition Grammaire permettant de vérifier la conformité d un document Document valide si vérifiant sa DTD Document bien formé si il répond aux règles de XML Emplacement de la DTD Forme interne : dans le fichier <?xml version="1.0" standalone="yes"? <!DOCTYPE élément-racine [déclaration des éléments] Forme externe : dans un fichier accessible par son URL <?xml version="1.0" standalone="no"? <!DOCTYPE élément-racine SYSTEM "nom_du_fichier.dtd" Langage simple permettant de définir les règles de dérivation 1

Règle de définition de la DTD Déclarer un élément <! ELEMENT Nom Modèle Nom : intitulé de l élément Modèle Type du contenu ANY #PCDATA EMPTY Liste des sous-balises possibles <!ELEMENT personne (nom,prenom,telephone),email? <!ELEMENT nom (#PCDATA) <!ELEMENT prenom (#PCDATA) <!ELEMENT telephone (#PCDATA) <!ELEMENT email (#PCDATA) Règle de définition de la DTD Règle d énumération? : facultatif *,+ : tuples : ou, : séparateur de liste <!ELEMENT recettes (liste_ingredients, suite_instructions) <!ELEMENT liste_ingredients (ingredient)+ <!ELEMENT ingredient (#PCDATA) <!ELEMENT suite_instructions (instruction)* <!ELEMENT instruction (#PCDATA) Exemples <!ELEMENT adresses (adresse)* <!ELEMENT adresse (titre?,nom,(boite_postale numero_rue),cp_ville) <!ELEMENT titre (#PCDATA) <!ELEMENT nom (#PCDATA) <!ELEMENT boite_postale (#PCDATA) <!ELEMENT numero_rue (#PCDATA) <!ELEMENT cp_ville (#PCDATA) <?xml version="1.0" encoding="iso-8859-1"? <!DOCTYPE adresses SYSTEM "adresses.dtd dtd" <adresses <adresse <nomsociété Générale</nom <boite_postale7001</boite_postale <cp_ville13100 Aix en Provence</cp_ville </adresse <adresse <titremonsieur</titre <nomluc Minighetti</nom <numero_rue112 rue de Lyon</numero_rue <cp_ville13000 Marseille</cp_ville </adresse </adresses Exemple : ordre libre, contenu mixte <!ELEMENT texte (#PCDATA menace rire question cynique)* <!ELEMENT menace (#PCDATA) <!ELEMENT rire (#PCDATA clignant_oeil)* <!ELEMENT question (#PCDATA) <!ELEMENT clignant_oeil (#PCDATA) <!ELEMENT cynique (#PCDATA) <?xml version="1.0" encoding="iso-8859-1"? <!DOCTYPE text t SYSTEM "texte.dtd" t <texte Quelquefois la conscience nous dit: <menacetu dois penser davantage aux femmes et aux hommes.</menace Alors, bien sûr, on se demande parfois, <questionpourquoi il y a là tant matière à reflexion,</question mais quelquefois aussi, on obéit et réfléchit. La femme dit à l'homme: <rireoh chéri, <clignant_oeiltu vaux ton poids d'or!</clignant_oeil </rire Et l'homme répond: <cyniqueoui, parce que je pousse le chariot et que j'y ai mis une pièce de dix francs!</cynique La femme rétorque: <riretu as tout compris!</rire </texte Exemple : ANY / EMPTY <!ELEMENT anytext ANY <!ELEMENT anglais (#PCDATA) <!ELEMENT italiano (#PCDATA) <?xml version="1.0" encoding="iso-8859-1"? <!DOCTYPE anytext SYSTEM "anytext.dtd" <anytext c'est un peu de texte qui signifie en anglais: <anglaisthis is some text</anglais et en italien: <italianociò iò è un certo testo</italiano </anytext Les entités Abréviations définies Exemple HTML : Schéma de définition <!ENTITY [%] Nom [SYSTEM PUBLIC] "valeur" [mentions supplémentaires] Utilisation &Nom; <!ELEMENT lignes_texte (#PCDATA nouvelle_ligne)* <!ELEMENT nouvelle_ligne EMPTY <?xml version="1.0" encoding="iso-8859-1"? <!DOCTYPE lignes_texte SYSTEM "lignes_texte.dtd" <lignes_texte Ceci est le texte, mais où commence la <nouvelle_ligne / nouvelle ligne? </lignes_texte 2

Exemple d entités <!ELEMENT blocs_de_texte (#PCDATA) <!ENTITY jpa "Je vous prie d'agréer mes cordiales salutations" <?xml version="1.0" encoding="iso-8859-1"? <!DOCTYPE blocs_de_texte SYSTEM "blocs_de_texte.dtd" <blocs_de_texte En l'attente, &jpa; </blocs_de_texte Exemple d entité <!ENTITY % article "numero_article, nom_article, quantite_article" <!ENTITY % additif "description classe_produit" <!ELEMENT stock (entree sortie)* <!ELEMENT entree (numero_entree, (%article;), (%additif;)) <!ELEMENT sortie (numero_sortie, (%article;), (%additif;)) <!ELEMENT numero_entree (#PCDATA) <!ELEMENT numero_sortie (#PCDATA) <!ELEMENT numero_article (#PCDATA) <!ELEMENT nom_article (#PCDATA) <!ELEMENT quantite_article (#PCDATA) <!ELEMENT description (#PCDATA) <!ELEMENT classe_produit (#PCDATA) <?xml version="1.0" encoding="iso-8859-1"? <!DOCTYPE stock SYSTEM "stock.dtd" <stock <entree <numero_entree452</numero_entree <numero_article45-234</numero_arcicle <nom_articlefauteuil de bureau "ministre"</nom_article <quantite_article10</quantite_article <classe_produitc-iii</classe_produit </entree <sortie <numero_sortie318</numero_sortie <numero_arcicle37-917</numero_arcicle <nom_articlearmoire à glaces "Narcisse"</nom_article < tit ti l 3</ tit ti l Règle de définition des attributs Attributs : paramètres de la balise Déclaration d attributs <! ATTLIST Elément Attribut Type Type représente le type de donnée de l'attribut, il en existe trois : CDATA : une chaîne de caractères ID : identifiant unique IDREF : référence à un identifiant existant Liste de valeurs possibles <! ATTLIST Elément Attribut (Valeur1 Valeur2... ) "val.def." Niveau de nécessité de l'attribut : #IMPLIED : optionnel #REQUIRED : obligatoire #FIXED : affectation d'une valeur par défaut s'il n'est pas défini Exemple d attributs <!ELEMENT autos (auto)* <!ELEMENT auto EMPTY <!ATTLIST auto type CDATA #REQUIRED annee_construction CDATA #REQUIRED km CDATA #REQUIRED puissance CDATA #REQUIRED prix_vente CDATA #REQUIRED <?xml version="1.0" encoding="iso-8859-1"? <!DOCTYPE autos SYSTEM "autos.dtd" <autos <auto type="audi 80" annee_construction="1992" km="125000" puissance="90" prix_vente="6250 Euros" / </autos Exemple d attributs <!ELEMENT hotels (hotel)* <!ELEMENT hotel (#PCDATA) <!ATTLIST hotel nom CDATA #REQUIRED categorie (I II III IV V) #REQUIRED chambre_simple (oui non) #IMPLIED chambre_double (oui non) "oui" <?xml version="1 1.0" encoding="iso-8859-1"? <!DOCTYPE hotels SYSTEM "hotels.dtd" <hotels <hotel nom="au lion d'or" categorie="iv"hôtel situé en lisière de forêt, 150 lits, calme et cher. </hotel <hotel nom="arabesque" categorie="ii" chambre_double="oui" chambre_simple="oui" hôtel en ville simple, 400 chambres, satisfaisant, sans confort particulier.</hotel <hotel nom="lancelot" categorie="iii" chambre_simple="non"hôtel situé dans le centre, 100 lits, agréable, facilement accessible. </hotel </hotels Exemple d attributs avec identifiant <!ELEMENT livres (livre)* <!ELEMENT livre (#PCDATA) <!ATTLIST livre isbn ID #REQUIRED titre CDATA #REQUIRED auteur CDATA #REQUIRED <?xml version="1 1.0" encoding="iso-8859-1"? <!DOCTYPE livres SYSTEM "livres.dtd" <livres <livre isbn="nr_3-90193-3949-7" titre="fleurette facile" auteur="professeur Trouvetout" Une introduction entre le génie et la folie. </livre <livre isbn="nr_3-90193-3950-2" titre="fleurette facile II" auteur="professeur Trouvetout" Une autre introduction entre le génie et la folie. </livre </livres 3

Exemple d attributs avec référence <!ELEMENT liste (point)* <!ELEMENT point (#PCDATA) <!ATTLIST point nom ID #REQUIRED point_parent IDREF #IMPLIED <?xml version="1 1.0" encoding="iso-8859-1"? <!DOCTYPE liste SYSTEM "liste.dtd" <liste <point nom="racine"contenu</point <point nom="introduction" point_parent="racine"introduction</point <point nom="histoire" point_parent="introduction"histoire</point <point nom="aujourd_hui" point_parent="introduction"etat actuel</point <point nom="pas" point_parent="racine"premiers pas</point <point nom="exemple" point_parent="pas"un petit exemple</point </liste Règle de définition de la DTD <!ELEMENT img EMPTY <!ATTLIST img %attrs; src %URI; #REQUIRED alt %Text; #REQUIRED longdesc %URI; #IMPLIED height %Length; #IMPLIED width %Length; #IMPLIED usemap %URI; #IMPLIED ismap (ismap) #IMPLIED Exemple de définition d attributs La balise img est une balise vide dont les attributs sont src pour le lien (obligatoire) alt pour le texte (obligatoire) Longdesc (facultatif) height ht (facultatif) tif) weight (facultatif) usemap (facultatif) ismap (facultatif) XML principe Un premier exemple simple Liste d informations avec champs facultatifs Liste de musiques Pas toujours de photo de l album <?xml version="1.0" encoding="iso-8859-1"? <music SUBJECT="XML" <album <artistejohnny Hallyday</artiste <titrea la vie, A la mort!</titre <photoalavie.jpg</photo <date2002</date <piste<numero1</numero<chansonentre nous</chanson</piste <piste<numero2</numero<chansondis-le moi</chanson</piste <piste<numero3</numero<chansonmarie</chanson</piste <piste<numero11</numero<chansonceux qui parlent aux étoiles</chanson</piste <piste<numero12</numero<chansonsi c'était à refaire</chanson</piste </album <album <artistejohnny Hallyday</artiste <titresang pour sang</titre <photosangpoursang.jpg</photo <date2000</date XML principe Utilisation d une feuille de style CSS album { position:relative; display:block; width:620px; top:10px; left:40px; background-color:#c0c0c0; padding:2px; } artiste t { position:relative; width:200px; background-color:#808080; color:#000000; font-family:tahoma,arial,helvetica,sans-serif; font-size:14pt; padding:5px; } titre { position:relative; width:300px; background-color:#808080; color:#ffffff; font-family:tahoma,arial,helvetica,sans-serif; font-size:14pt; padding:5px; } Lien avec une feuille de style xsl Affichage des données Extraction des informations </head <body <xsl:for-each select="music/album" <hr / <table class="type1" <tr<thnum</th<th<xsl:value-of select="@artiste" / </th</tr <xsl:for-each select="piste" <TR<TD[<xsl:value-of select="numero" /]</TD <TD<xsl:value-of select="chanson" /</TD </TR </xsl:for-each </table </xsl:for-each </body </html </xsl:template Plusieurs mises en forme des données En changeant le ficher xsl associé <?xml version="1.0" encoding="iso-8859-1"? <?xml-stylesheet href="model1.xsl" type="text/xsl"? <music SUBJECT="XML" </xsl:stylesheet 4

Description de scène 3D Problème assez complexe Liste d objets dont on donne des informations sur la géométrie, la radiométrie (couleur) Géométrie : sphère, bloc, cylindre Chaque type a des paramètres propres Rayon, hauteur Radiométrie Composante diffuse, spéculaire Peuvent être des couleurs, ou des textures Objet miroir, transparent? On l affiche en HTML <html<head</head <body bgcolor=#777777 <h2liste des objets</h2 <ul <li<isphere</i, rayon 2, origine en (1.,0.,2.), <font color=#cc4c99couleur diffuse(0.8,0.3,0.6)</font,,, <font color=#e5e5e5couleur spéculaire(0.9,0.9,0.9)</font </li <li<ipavé</i, coté 1, origine en (2.,-3.,2.), texture diffuse (bois.png), <font color=#e5e5e5couleur spéculaire(0.9,0.9,0.9)</font, miroir</li <li<icylindre</i, rayon 2, hauteur 2, origine en (1.,0.,0.), <font color=#cc4c99couleur diffuse(0.8,0.3,0.6)</font</li </ul </body </html Les balises ne servent qu à la mise en page Pas d information sémantique Pas de lien entre les données d une ligne Utilisons le langage XML pour décrire les informations Données uniquement Pas de mise en forme pour l instant Règles Les balises Simples <X </X Vides Objet miroir : pas de paramètre Avec paramètres : attributs <OBJET id="1" </OBJET Guillemets obligatoires Choix de structuration de la SCENE OBJET @id, @nom GEOMETRIE @type (sphere, bloc, cylindre) Paramètres simple (VALEUR) @type Paramètres vecteur (VEC3D) @type RADIOMETRIE @type (diffus, spéculaire, miroir) Paramètre de COULEUR R,V,B Paramètre de TEXTURE NOM Transformations 2D DTD correspondante <!ELEMENT objet geometrie,(radiometrie)+ <!ATTLIST objet id CDATA #REQUIRED nom CDATA #IMPLIED <!ELEMENT geometrie (valeur vec3d)* <!ATTLIST geometrie type (sphere bloc cylindre) #REQUIRED <!ELEMENT valeur (#PCDATA) <!ATTLIST valeur type CDATA #REQUIRED <!ELEMENT vec3d (x,y,z) <!ATTLIST vec3d type CDATA #REQUIRED <!ELEMENT radiometrie (texture couleur) <!ATTLIST radiometrie type (diffus speculaire miroir) #REQUIRED 5

<?xml version="1.0" encoding="iso-8859-1"? <SCENE SUBJECT="XML" <OBJET id="1" nom="boule" <GEOMETRIE type="sphere" <VALEUR type="rayon"1.</valeur <VEC3D type="origine"<x1.</x<y0.</y<z2.</z</vec3d </GEOMETRIE <RADIOMETRIE type="diffus" <COULEUR<R0.8</R<V0.3</V<B0.6</B</COULEUR</RADIOMETRIE <RADIOMETRIE type="spéculaire" <COULEUR<R0.9</R<V0.9</V<B0.9</B</COULEUR</RADIOMETRIE 9</V<B0 9</B</COULEUR</RADIOMETRIE </OBJET <OBJET id="2" nom="pavé" <GEOMETRIE type="bloc" <VEC3D type="dimensions"<x1.</x<y1.</y<z3.</z</vec3d <VEC3D type="origine"<x1.</x<y0.</y<z2.</z</vec3d </GEOMETRIE <RADIOMETRIE type="diffus" <TEXTURE<NOMbois.png</NOM<VEC2D type="echelle"<s1.</s<t1.</t</vec2d <VEC2D type="décalage"<s0.</s<t0.5</t</vec2d</texture</radiometrie <RADIOMETRIE type="spéculaire" <COULEUR<R0.9</R<V0.9</V<B0.9</B</COULEUR</RADIOMETRIE <RADIOMETRIE type="miroir"/ </OBJET </SCENE Visualisation dans un navigateur Les balises ont une signification Elles sont organisées hiérarchiquement Mise en page des données Feuille de style CSS XSL : extensible Style Language Mêmes propriétés que CSS Langage de transformation XSLT Vocabulaire XML pour la sémantique de formatage Exemple de XSL <?xml version="1.0" encoding="iso-8859-1"? <xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl" <!-- Feuille de style pour la scène 3D -- <xsl:template match="/" <html<head <style table.type1 { border-style:groove; border-collapse:collapse; background-color:white; font-family: Times,Helvetica; font-size: 14; line-height: 14pt; } </style</head <body<titleliste des objets</title <h1liste des objets</h1 <table class="type1" <xsl:for-each select="scene/objet" <TR<TD[<xsl:value-of select="@id" /]"<xsl:value-of select="@nom" /"</TD <TD<xsl:apply-templates select="geometrie"/</td <TD<xsl:apply-templates select="radiometrie"/</td </TR </xsl:for-each </table</body</html </xsl:template Exemple de XSL (suite) Combinaison XML avec XSL <xsl:template match="geometrie" <i<xsl:value-of select="@type" /</i <xsl:apply-templates select="valeur"/ <xsl:apply-templates select="vec3d"/ </xsl:template <xsl:template match="vec3d" <xsl:value-of select="@type" /=(<xsl:value-of select="x" /,<xsl:value-of select="y" /,<xsl:value-of select="z"/) </xsl:template <?xml version="1.0" encoding="iso-8859-1"? <?xml-stylesheet href="model1.xsl" type="text/xsl"? <?xml version="1.0" encoding="iso-8859-1"? <SCENE SUBJECT="XML" <OBJET id="1" nom="boule" <GEOMETRIE type="sphere" <xsl:template match="valeur" <xsl:value-of select="@type" /=<xsl:value-of/ </xsl:template <xsl:template match="texture" texture nom = "<xsl:value-of select="nom" /" <xsl:apply-templates select="vec2d"/ </xsl:template <xsl:template match="radiometrie" [<i<xsl:value-of select="@type" /</i <xsl:apply-templates/] </xsl:template </xsl:stylesheet 6

Issus du langage XPATH Définir une règle associée à une balise <xsl:template match="pattern"... </xsl:template <xsl:template match="vec3d" <xsl:value-of l select="@type" /=(<xsl:value-of l select="x" /,<xsl:value-of select="y" /,<xsl:value-of select="z"/) </xsl:template Exécuter une règle <xsl:apply-template template Relance récursivement l application des règles Option : select permet de filtrer le flux d entrée <xsl:template match="geometrie" <i<xsl:value-of select="@type" /</i <xsl:apply-templates select="valeur"/ <xsl:apply-templates select="vec3d"/ </xsl:template Afficher le contenu d une balise <xsl:value-of select="expression"/ Option : disable-output-escaping="yes no" Mode d affichage du caractère < Réaliser une boucle <xsl:for-each select="pattern" instructions... </xsl:for-each Répète instructions pour toutes les instances de «pattern» disponibles dans le flux courant // affichage de l attribut type <xsl:value-of select="@type" / // affichage du contenu de la balise VALEUR <xsl:apply-templates select="valeur"/ <xsl:for-each select="scene/objet" <TR <TD[<xsl:value-of select="@id"/</td <TD<xsl:apply-templates select="geometrie"/</td <TD<xsl:apply-templates select="radiometrie"/</td </TR </xsl:for-each Instructions conditionnelles <xsl:if test="condition" Instructions... </xsl:if <xsl:choose <xsl:when test="condition1" " instr1... </xsl:when <xsl:when test="condition2" " instr2... </xsl:when... <xsl:otherwise instr3... </xsl:otherwise </xsl:choose Trier des balises <xsl:sort select="pattern" lang="langue" data-type="text number nom" order="ascending descending" case-order="upper-first lower-first"/ first"/ Uniquement dans les instructions <xsl:for-each et <xsl:apply-template 7

XML pour ses propres applications Parser XML Existe sur tous les systèmes Libxml2 sous linux Exemple : Description de scène 3D Multimédia Support Director Benoît Piranda Équipe SISAR Université de Marne La Vallée Réalisation de document multimédia Un logiciel spécifique : Macromédia Director structuration des média (les acteurs) données générales géométrie instants d apparition et de disparition méthode d insertion dans la scène (mélange des couleurs) données spécifiques organisation des acteurs en tenant compte du temps placement géométrique position, orientation, déformation placement temporel instant d entrée et de sortie informations géométriques et de couleurs pour plusieurs images clés interpolation entre les images clés Macromédia Director Gestion des média incorporation d un très grand nombre de format de média images images animées séquences de films sons organisation des données en mémoire (les distribution) chargement dynamique optimisation des animations (chargement unique des média utilisés plusieurs fois) exportation sous forme d un fichier exécutable MS Windows ou mac prêt à graver pour créer un CD ROM Macromédia Director Interactivité très forte notion de comportement rôle que l on peut associer à un acteur lié à un événement (souris, clavier ) indépendant (mouvement aléatoire) pilotage d un média de haut niveau (lecture, arrêt d une animation QuickTime, réglage du niveau sonore...) bibliothèque de comportement et langage de programmation (LINGO) La boite à outils La scène Le scénario La distribution L inspecteur de propriétés 8

La distribution Regroupement des média utilisables dans l animation la mémoire de l animation La scène Partie visible de l animation interface avec l utilisateur organisation géométrique des acteurs Le scénario Organisation temporelle des acteurs Pistes vitesse palette transition son script Instant courant Le scénario Interpolation des informations géométriques suivant une trajectoire dirigée par des images clés Image clé Arrière plan Profondeur des objets dans la scène Premier plan Les propriétés des acteurs Propriétés générales communes à tous les acteurs géométriques, temporelles, colorimétriques spécifiques éifi au média vitesse d animation Comportements associés à un événement automatique pilotage d autres média Comportements 9