Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu des documents

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu des documents"

Transcription

1 6 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu des documents Prenons l'exemple d'une entreprise dont le site d'e-commerce a été réalisé avec la solution XML Commerce One, qui utilise JMS (Java Message Service) pour ses communications sécurisées sur Internet Cette entreprise connaît une telle réussite qu'elle vient de racheter son concurrent Or, ce dernier emploie une autre solution XML, celle de RosettaNet, pour son site de vente en ligne Bien que les commandes des deux sites soient en XML, elles sont rédigées dans des dialectes différents ; il est donc nécessaire de traduire les commandes xcbl de Commerce One en commandes RosettaNet XSLT constitue une solution parfaitement adaptée à ce cas de figure d'un type nouveau De telles transformations sont de plus en plus fréquentes Comme un nombre d'entreprise toujours croissant recourent à JMS pour leurs communications sécurisées sur Internet et que JMS s'exécute en Java, l'interfaçage le plus approprié est celui réalisé avec des processeurs XSLT écrits en Java, tels que Xalan et Saxon Les transformations XML vers HTML et XML vers texte simple ont déjà été abordées dans ce livre, mais nous allons examiner ces processus plus en détail dans le présent chapitre Il y sera également question d'un autre type de transformation : XML vers JavaScript Au chapitre 10, nous étudierons les transformations XML vers bases de données SQL et, au chapitre 11, les transformations XML vers XSL-FO

2 246 XSLT par la pratique Dans une large mesure, il est davantage question, avec XSLT, de réorganisation du contenu XML que de substitution d'éléments À titre d'exemple, pour reclasser le contenu de planetesxml selon la densité des planètes, vous emploierez XSLT pour générer le document XML suivant : <?xml version="10" encoding="iso "?> <DONNEES> <DENSITE> <VALEUR>983</VALEUR> <NOM>Mercure</NOM> <MASSE>0553</MASSE> <JOUR>5865</JOUR> <RAYON>1516</RAYON> </DENSITE> <DENSITE> <VALEUR>943</VALEUR> <NOM>Vénus</NOM> <MASSE>815</MASSE> <JOUR>11675</JOUR> <RAYON>3716</RAYON> </DENSITE> <DENSITE> <VALEUR>1</VALEUR> <NOM>Terre</NOM> <MASSE>1</MASSE> <JOUR>1</JOUR> <RAYON>2107</RAYON> </DENSITE> </DONNEES> En fait, nous allons aborder dans ce chapitre une transformation qui va complètement modifier le contenu de planetesxml ; seuls la partie du code HTML et le code JavaScript nécessaires à l'affichage des boutons dans le navigateur Web resteront inchangés Jusqu'à présent, les nouveaux éléments ont été créés uniquement à l'aide d'éléments résultats littéraux, c'est-à-dire en considérant les nouveaux éléments comme du texte destiné à être incorporé dans une feuille de style Comme vous le verrez dans ce chapitre, il n'est pas toujours possible de connaître les noms des éléments à créer On peut assembler tant bien que mal des éléments créés à la volée en les traitant comme du texte brut, mais il s'agit là d'une méthode rudimentaire qui revient à traiter le balisage comme du texte Dans ce chapitre, nous allons nous servir des éléments XSLT <xsl:element>, <xsl:attribute>, <xsl:processinginstruction> et <xsl:comment> pour créer des éléments, des attributs, des instructions de trai-

3 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE tement et des commentaires La réorganisation d'un contenu XML requiert une bonne connaissance des possibilités de ces éléments Nous nous intéresserons pour finir aux modes XSLT, qui permettent d'appliquer plusieurs transformations à un même document ou de traiter ses éléments de manière différenciée L'essentiel de ce chapitre explore les possibilités offertes par <xsl:output> : c'est pourquoi notre exposé sur l'exploitation de XSLT pour les transformations XML débute par la présentation de cet élément L'élément <xsl:output> Nous avons rencontré pour la première fois l'élément <xsl:output> dans le chapitre 2, où il a principalement servi à définir le type du document résultat La spécification du type indique au processeur XSLT s'il lui faut écrire, par exemple, l'instruction de traitement <?xml version="10"?> au début du document, et détermine le type MIME (text/xml, text/html, etc) des documents générés Par ailleurs, si le type de la sortie est HTML, la plupart des processeurs XSLT savent que les éléments du code généré n'ont pas tous besoin de balises d'ouverture et de fermeture, etc La liste suivante décrit les attributs de <xsl:output> : cdata-section-elements (facultatif) Noms des éléments dont le contenu doit être généré en tant que sections CDATA Il faut spécifier une liste de QName délimités par des espaces doctype-public (facultatif) Identificateur public à utiliser dans la déclaration <!DOCTYPE> du document résultat Il faut spécifier une chaîne de caractères doctype-system (facultatif) Identificateur système à utiliser dans la déclaration <!DOCTYPE> du document résultat Il faut spécifier une chaîne de caractères encoding (facultatif) Codage des caractères Il faut spécifier une chaîne de caractères indent (facultatif) Indique si la transformation doit indenter l'arbre du document résultat pour mettre en évidence sa structure hiérarchique Les valeurs possibles sont yes ou no media-type (facultatif) Type MIME du document résultat Il faut spécifier une chaîne de caractères method (facultatif) Format du document résultat Les valeurs possibles sont xml, html, text ou un QName valide omit-xml-declaration (facultatif) Indique si la déclaration XML doit être incluse dans le document résultat Les valeurs possibles sont yes ou no

4 248 XSLT par la pratique standalone (facultatif) Indique si une déclaration de type standalone doit être incluse dans le document résultat et donne sa valeur Les valeurs possibles sont yes ou no version (facultatif) Définit la version du document résultat Il faut spécifier un NMToken valide L'attribut le plus utilisé de cet élément est method, qui définit le type de l'arbre de sortie Officiellement, il prend par défaut la valeur html si les trois conditions suivantes sont satisfaites : Le nœud racine de l'arbre résultat a un enfant élément Le nom de l'élément document de l'arbre résultat a une partie locale html (quelles que soient la combinaison des lettres majuscules et minuscule) et un URI d'espace de noms nul Tous les nœuds texte précédant le premier enfant élément du nœud racine ne contiennent que des espaces Si ces trois conditions sont satisfaites, alors la méthode de sortie prend par défaut la valeur HTML Sinon, elle prend la valeur XML Il n'est toutefois pas conseillé de se reposer sur le paramétrage par défaut de method ; mieux vaut affecter une valeur à cet attribut Les trois valeurs les plus courantes, html, xml et text, sont étudiées dans les sections qui suivent La méthode de sortie HTML Le processeur XSLT est supposé entreprendre certaines actions si la méthode de sortie est HTML Ainsi, par exemple, pour cette méthode de sortie, l'attribut version indique la version du code HTML La valeur par défaut de cet attribut est 40 Cette méthode de sortie ne doit pas ajouter de balise de fermeture à des éléments vides (en HTML 40, les éléments vides sont <AREA>, <BASE>, <BASEFONT>, <BR>, <COL>, <FRAME>, <HR>, <IMG>, <INPUT>, <ISINDEX>, <LINK>, <META> et <PARAM>) Elle doit aussi reconnaître les noms des éléments HTML quelle que soit leur casse En outre, selon le W3C, la méthode de sortie HTML ne doit pas ajouter de caractères d'échappement au contenu des éléments <SCRIPT> ou <STYLE> Par exemple, l'élément résultat littéral suivant : <SCRIPT> if (x < y) {} </SCRIPT> ou celui-ci, qui se sert d'une section CDATA :

5 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE <SCRIPT> <![CDATA[if (x < y) {}]]> </SCRIPT> doit être transformé en : <SCRIPT> if (x < y) {} </SCRIPT> La méthode de sortie HTML ne doit pas non plus considérer comme caractères d'échappement les signes < présents dans les valeurs d'attributs Lorsque cette méthode de sortie est sélectionnée, le processeur doit analyser l'attribut indent Si la valeur de cet attribut est yes, alors le processeur XSLT peut ajouter (ou supprimer) des espaces de manière à indenter le document résultat dans la mesure où l'opération n'affecte pas son apparence visuelle dans un navigateur Par défaut, la valeur de cet attribut est fixée à yes pour la méthode de sortie HTML Comme vous vous y attendez, la méthode de sortie HTML doit terminer chaque instruction de traitement par > plutôt que par?> et gérer les attributs autonomes comme le fait HTML Par exemple, la balise : <TD NOWRAP="NOWRAP"> doit être transformée en : <TD NOWRAP> Il est en outre possible de définir l'attribut media-type, dont la valeur par défaut est text/html La méthode de sortie HTML doit tenir compte du caractère & immédiatement suivi d'une accolade figurant dans les valeurs d'attributs L'attribut encoding spécifie quant à lui le codage à employer Si un élément <HEAD> est présent, la méthode de sortie doit le faire suivre d'un élément <META> spécifiant le codage de caractères : <HEAD> <META http-equiv="content-type" content="text/html; charset=iso ">

6 250 XSLT par la pratique Il est également possible d'utiliser les attributs doctype-public ou doctype-system pour générer une déclaration de type de document juste avant le premier élément, comme nous allons le montrer avec la transformation XML vers XHTML Les règles indiquées ici concernent la génération d'une sortie HTML L'exemple de transformation XML vers HTML qui suit offre un petit «plus» : la feuille de style va écrire le code JavaScript afin de montrer comment se servir de XSLT pour générer du JavaScript Dans ce cas, il s'agit de lire planetesxml et de créer un document HTML qui affichera trois boutons portant chacun le nom d'une des planètes de planetesxml Le but est le suivant : lorsque l'utilisateur clique sur un bouton, la page doit afficher la masse de la planète sélectionnée Nous n'avons besoin que de deux éléments <xsl:for-each> : un premier qui traite itérativement les trois planètes et crée un bouton pour chacune, et un autre qui traite itérativement les planètes et crée une fonction JavaScript pour chacune Chaque planète donnera son nom à la fonction JavaScript correspondante ; lorsqu'une de ces fonctions sera appelée, elle affichera la masse de «sa» planète Remarquez que l'écriture du code JavaScript ne requiert qu'un élément, <xsl:value-of>, pour obtenir les noms et les masses des planètes Nous ferons également appel à deux autres éléments XSLT, que nous présenterons dans la suite du chapitre : <xsl:element> et <xsl:attribute-set> Ils servent à créer un nouvel élément et à lui affecter un ensemble d'attributs Listing 61 Exemple de transformation XML vers HTML avec JavaScript <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="html" encoding="iso "/> <xsl:template match="/planetes"> <HTML> <HEAD> <TITLE> La page des masses </TITLE> <SCRIPT LANGUAGE='javascript'> <xsl:for-each select="planete"> <xsl:text> function </xsl:text><xsl:if test="not(contains(nom, 'é'))"> <xsl:value-of select="nom"/></xsl:if> <xsl:if test="contains(nom, 'é')"> <xsl:value-of select="translate(nom, 'é', 'e')"/> </xsl:if><xsl:text>() { displayinnerhtml = 'La masse de </xsl:text> <xsl:value-of select="nom"/>

7 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Listing 61 Exemple de transformation XML vers HTML avec JavaScript (suite) <xsl:text> est égale à </xsl:text> <xsl:value-of select="masse"/> <xsl:text> fois celle de la Terre'</xsl:text> } </xsl:for-each> </SCRIPT> </HEAD> <BODY> <CENTER> <H1>La page des masses</h1> </CENTER> <xsl:for-each select="planete"> <P/> <xsl:element name="input" use-attribute-sets="attribs"/> </xsl:for-each> <P/> <P/> <DIV ID='display'></DIV> </BODY> </HTML> <xsl:attribute-set name="attribs"> <xsl:attribute name="type">button</xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="nom"/></xsl:attribute> <xsl:attribute name="onclick"><xsl:if test="not(contains(nom, 'é'))"> <xsl:value-of select="nom"/></xsl:if> <xsl:if test="contains(nom, 'é')"> <xsl:value-of select="translate(nom, 'é', 'e')"/> </xsl:if>()</xsl:attribute> </xsl:attribute-set> </xsl:stylesheet> Voici le document résultat, avec l'élément <SCRIPT> qui contient le code JavaScript : Listing 62 Le document résultat et son code JavaScript <HTML> <HEAD> <META http-equiv="content-type" content="text/html; charset=iso "> <TITLE> La page des masses

8 252 XSLT par la pratique Listing 62 Le document résultat et son code JavaScript (suite) </TITLE> <SCRIPT LANGUAGE="javascript"> function Mercure() { displayinnerhtml = 'La masse de Mercure est égale à 0553 fois celle de la Terre' } function Venus() { displayinnerhtml = 'La masse de Vénus est égale à 815 fois celle de la Terre' } function Terre() { displayinnerhtml = 'La masse de la Terre est égale à 1 fois celle de la Terre' } </SCRIPT> </HEAD> <BODY> <CENTER> <H1>La page des masses</h1> </CENTER> <P></P> <input type="button" value="mercure" onclick="mercure()"> <P></P> <input type="button" value="vénus" onclick="venus()"> <P></P> <input type="button" value="terre" onclick="terre()"> <P></P> <P></P> <DIV ID="display"></DIV> </BODY> </HTML> Le code JavaScript obtenu associe donc à chaque bouton l'affichage d'informations sur la planète correspondante Ainsi, lorsque l'utilisateur clique sur un des trois boutons, la masse de la planète sélectionnée apparaît (voir la figure 61)

9 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Figure 61 La transformation XML vers HTML avec JavaScript La méthode de sortie XML Officiellement, avec la méthode de sortie XML, le processeur XSLT crée une entité générale externe XML bien formée Si le nœud racine de l'arbre résultat n'a qu'un enfant nœud élément et aucun enfant nœud texte, alors l'entité doit être une entité document XML bien formée Lorsque la méthode de sortie est XML, l'attribut version définit la version de XML à utiliser pour la sortie Si le processeur XSLT ne prend pas en charge pas la version spécifiée, il doit employer la version qu'il gère La valeur par défaut de cet attribut est 10 L'attribut encoding définit le codage de caractères à utiliser pour le document résultat Les processeurs XSLT sont supposés accepter au minimum les valeurs UTF-8 et UTF-16 Si d'autres valeurs sont spécifiées mais qu'elles ne sont pas prises en charge par le processeur XSLT, celui-ci peut signaler une erreur ; s'il ne le fait pas, il doit employer à la place UTF-8 ou UTF- 16 Le processeur XSLT ne doit pas utiliser de codage de caractères non approuvé par le W3C (dans le document wwww3org/tr/rec-xml) Si la valeur de l'attribut encoding n'est pas fournie, le processeur XSLT doit prendre par défaut la valeur UTF-8 ou UTF-16 La prise en charge des caractères inconnus Si le document résultat contient un caractère qui ne peut pas être représenté dans le codage de caractères utilisé par le processeur XSLT pour la sortie, ce caractère doit être produit en tant que référence de caractère S'il ne peut le faire, le processeur XSLT doit générer une erreur

10 254 XSLT par la pratique Si la valeur de l'attribut indent est yes, alors la méthode de sortie XML peut, tout comme la méthode de sortie HTML, ajouter ou supprimer des espaces dans l'arbre résultat afin de créer un document correctement indenté La valeur par défaut est no Il convient de remarquer que l'apparence finale du document XML produit doit être la même, que des espaces aient ou non été ajoutés ou supprimés pour indenter le document L'indentation de documents à contenu mixte Il est généralement déconseillé de définir indent à yes si vous avez affaire à des documents XML comportant des éléments à contenu mixte : en effet, le processus d'indentation pourrait ajouter des espaces au texte du document d'origine, et pas seulement au balisage XML qui contient ce texte L'attribut cdata-section-elements permet de spécifier une liste de noms d'éléments séparés par des espaces et dont le contenu doit être traité en tant que sections CDATA Par exemple, si l'on attribue cdata-section-elements à DONNEES : <xsl:output cdata-section-elements="donnees"/> alors cet élément résultat littéral : <DONNEES><DOCUMENT></DONNEES> doit être transformé en : <DONNEES><![CDATA[<DOCUMENT>]]></DONNEES> En outre, la méthode de sortie XML doit générer une déclaration XML dans le document résultat, à moins que l'attribut omit-xml-declaration ait été défini à yes En général, la déclaration XML insérée dans le document résultat mentionne la version de XML (ce qui est obligatoire) et les informations de codage (bien que techniquement, celles-ci soient facultatives dans les documents XML) Si l'attribut standalone est spécifié, le document résultat doit inclure une déclaration de document de type standalone ayant la même valeur que l'attribut standalone Si l'attribut doctype-system est présent, le processeur XSLT doit créer une déclaration de type de document juste avant le premier élément Dans ce cas, le nom qui suit <!DOCTYPE- est celui de l'élément racine Il convient de remarquer que si l'on utilise aussi l'attribut doctype-public, le processeur XSLT génère la chaîne de caractères PUBLIC, suivie de l'identificateur public et de l'identificateur système S'il n'est pas fait appel à l'attribut doctype-public, alors le processeur XSLT génère la chaîne de caractères SYSTEM, suivie de l'identificateur système Normalement, l'attribut doctype-public doit être ignoré, sauf si l'attribut doctype-system est aussi

11 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE spécifié ; mais la majorité des processeurs XSLT ne semblent pas procéder de cette manière Dans ce chapitre, nous verrons comment exploiter à la fois les attributs doctype-public et doctype-system dans les transformations XML vers XHTML Enfin, la valeur par défaut de l'attribut media-type est text/xml pour la méthode de sortie XML Il a déjà été question de plusieurs tranformations XML vers XML dans cet ouvrage Celle qui suit, extraite du chapitre 4, se contente de copier un document XML dans un autre Vous noterez que la méthode de sortie est XML : <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="xml" encoding="iso "/> <xsl:template node()"> <xsl:copy> <xsl:apply-templates node()"/> </xsl:copy> </xsl:stylesheet> L'exemple suivant a été vu au début de ce chapitre Les données de planetesxml ont été réorganisées en fonction de la densité des planètes : <?xml version="10" encoding="iso "?> <DONNEES> <DENSITE> <VALEUR>983</VALEUR> <NOM>Mercure</NOM> <MASSE>0553</MASSE> <JOUR>5865</JOUR> <RAYON>1516</RAYON> </DENSITE> <DENSITE> <VALEUR>943</VALEUR> <NOM>Vénus</NOM> <MASSE>815</MASSE> <JOUR>11675</JOUR> <RAYON>3716</RAYON> </DENSITE> <DENSITE> <VALEUR>1</VALEUR>

12 256 XSLT par la pratique <NOM>Terre</NOM> <MASSE>1</MASSE> <JOUR>1</JOUR> <RAYON>2107</RAYON> </DENSITE> </DONNEES> Voici la feuille de style qui crée cette transformation : Listing 63 Réorganisation de planetesxml en fonction des densités <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="xml" encoding="iso " indent="yes"/> <xsl:template match="planetes"> <DONNEES> <xsl:apply-templates/> </DONNEES> <xsl:template match="planete"> <DENSITE> <VALEUR> <xsl:value-of select="densite"/> </VALEUR> <xsl:apply-templates/> </DENSITE> <xsl:template match="nom"> <NOM> <xsl:value-of select=""/> </NOM> <xsl:template match="masse"> <MASSE> <xsl:value-of select=""/> </MASSE> <xsl:template match="rayon"> <RAYON> <xsl:value-of select=""/> </RAYON>

13 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Listing 63 Réorganisation de planetesxml en fonction des densités (suite) <xsl:template match="jour"> <JOUR> <xsl:value-of select=""/> </JOUR> <xsl:template match="densite"> <xsl:template match="distance"> </xsl:stylesheet> L'exemple suivant a été vu pour la première fois au chapitre 5 Ici, nous nous contentons de répertorier les planètes de planetesxml Toutefois, ici, le document résultat n'affiche pas Les trois premières planètes sont : Mercure Vénus Terre, mais Les trois premières planètes sont : Mercure, Vénus, et Terre À cette fin, nous recourons à des éléments <xsl:if> : <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="xml" encoding="iso "/> <xsl:template match="planetes"> <DOCUMENT> <TITLE> Les planètes </TITLE> <PLANETES> Les trois premières planètes sont : <xsl:apply-templates select="planete"/> </PLANETES> </DOCUMENT> <xsl:template match="planete"> <xsl:value-of select="nom"/> <xsl:if test="position()!=last()">, </xsl:if> <xsl:if test="position()=last()-1">et </xsl:if> <xsl:if test="position()=last()"></xsl:if> </xsl:stylesheet>

14 258 XSLT par la pratique Voici le résultat : <?xml version="10" encoding="iso "?> <DOCUMENT> <TITLE> Les planètes </TITLE> <PLANETES> Les trois premières planètes sont: Mercure, Vénus, et Terre </PLANETES> </DOCUMENT> Bien que de nombreux livres ne s'intéressent qu'aux transformations XML vers HTML, il faut savoir que les transformations XML vers XML deviennent de plus en plus courantes C'est pourquoi nous nous y intéressons autant dans cet ouvrage La méthode de sortie texte Le type de sortie texte génère du texte Dans le cas présent, le document résultat se résume à une version «texte brut» de l'arbre en entrée En l'occurrence, le processeur XSLT crée l'arbre résultat en se contentant d'afficher la valeur de la chaîne de caractère de chaque nœud texte, sans aucune mise en forme ni autre traitement La valeur par défaut de l'attribut media-type est text/plain Cet attribut définit le codage utilisé par le processeur XSLT pour convertir les séquences de caractères et les séquences d'octets Soulignons que si le document résultat contient un caractère qui ne peut être représenté dans le codage employé, le processeur XSLT doit générer une erreur Voici un exemple de conversion de planetesxml en texte brut avec la méthode de sortie texte : Listing 64 Exemple de transformation XML vers texte brut <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="text" encoding="iso " indent="yes"/> <xsl:template match="planete"> <xsl:text>la masse de </xsl:text> <xsl:value-of select="nom"/> <xsl:text>représente </xsl:text> <xsl:value-of select="masse"/>

15 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Listing 64 Exemple de transformation XML vers texte brut (suite) <xsl:text> fois celle de la Terre Son rayon est de </xsl:text> <xsl:value-of select="rayon"/> <xsl:text> miles Les journées ont une durée égale à </xsl:text> <xsl:value-of select="jour"/> <xsl:text> journée(s) terrestre(s)</xsl:text> </xsl:stylesheet> Voici le résultat en texte brut, sans balisage, sans caractère d'échappement ni instruction de traitement : La masse de Mercure représente 0553 fois celle de la Terre Son rayon est de 1516 miles Les journées ont une durée égale à 5865 journée(s) terrestre(s) La masse de Vénus représente 815 fois celle de la Terre Son rayon est de 3716 miles Les journées ont une durée égale à journée(s) terrestre(s) La masse de Mercure représente 1 fois celle de la Terre Son rayon est de 2017 miles Les journées ont une durée égale à 1 journée(s) terrestre(s) Par ailleurs, la méthode de sortie texte n'est pas réservée à la création de documents de type texte brut ; elle permet aussi de générer des documents de type texte non-html et non-xml Comme nous l'avons vu au chapitre 2, nous pouvons nous en servir pour créer des documents RTF (Rich Text Format) Le format RTF intègre des codes qui permettent de spécifier le formatage du texte et inexploitables avec la méthode de sortie texte Nous avons présenté la feuille de style qui suit pour la première fois au chapitre 2, où elle nous a servi à convertir planetesxml au format RTF Vous êtes désormais mieux à même de comprendre cette opération Dans le cas présent, la conversion de planetesxml en planetesrtf est réalisée à l'aide des codes RTF utilisés en tant qu'éléments résultats littéraux : <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="text" encoding="iso "/> <xsl:strip-space elements="*"/> <xsl:template match="/planetes">{\rtf1\ansi\deff0{\fonttbl {\f0\fnil\fcharset0 Courier New;}} \viewkind4\uc1\pard\lang1033\b\f0\fs36 Le tableau des planètes\par \b0\fs20 Nom\tab Masse\tab Rayon\tab Jour\par <xsl:apply-templates/> \par

16 260 XSLT par la pratique } <xsl:template match="planete"> <xsl:value-of select="nom"/> \tab <xsl:value-of select="masse"/> \tab <xsl:value-of select="rayon"/> \tab <xsl:value-of select="jour"/> \tab \par </xsl:stylesheet> La figure 62 montre le document résultat, planetesrtf, dans Microsoft Word 2000 Vous noterez que la méthode de sortie est ici text et non rtf : Figure 62 Planetesrtf dans Microsoft Word <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="text" encoding="iso "/> <xsl:strip-space elements="*"/> <xsl:template match="/planetes">{\rtf1\ansi\deff0 {\fonttbl{\f0\fnil\fcharset0 Courier New;}} \viewkind4\uc1\pard\lang1033\b\f0\fs36 Le tableau des planètes\par

17 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Vous remarquerez également que les codes RTF suivent immédiatement l'élément <xsl:template> : en effet, il faut inclure les codes RTF au tout début des documents RTF Si les codes RTF avaient été insérés sur la ligne suivante, comme ici : <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="text" encoding="iso "/> <xsl:strip-space elements="*"/> <xsl:template match="/planetes"> {\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}} \viewkind4\uc1\pard\lang1033\b\f0\fs36 Le tableau des planètes\par le fichier RTF produit résulté aurait commencé par un espace ou une ligne blanche qui aurait empêché sa lecture directe dans un traitement de texte (comme Microsoft Word, par exemple) Génération d'un document XHTML Le W3C a mis au point XHTML pour qu'il succède à HTML XHTML définit uniquement une syntaxe XML pour HTML Les noms de balises restent identique (html, body, p, etc), et celles-ci gardent la même sémantique XHTML définit également des règles de «sérialisation» qui spécifient comment écrire un document XHTML pour que celui-ci soit reconnu par un navigateur HTML Par exemple, un paragraphe vide doit être écrit <p></p> et non <p/> Les deux syntaxes correspondent à du XHTML valide, mais seule la première sera reconnue par un parseur HTML Malheureusement, ni la recommandation XSLT 10, ni la version de travail XLST 11 ne mentionnent de prise en charge particulière des transformations XML vers XHTML Cette prise en charge existera néammoins dans la version XSLT 20 Pour en savoir plus sur XHTML Pour plus d'informations sur HTML, vous pouvez vous reporter à Total HTML, du même auteur (Éditions Eyrolles, 2001) Consultez également l'ouvrage XHTML, Guide de référence du langage, de Ian Graham (Éditions Eyrolles, 2001) Vous pouvez aussi prendre directement connaissance des recommandations XHTML 10 à l'adresse wwww3corg/tr/xhtml1/, et XHTML 11 à l'adresse wwww3corg/tr/ xhtml11/ Vous devez vous assurer non seulement que votre document est conforme aux règles XHTML (nécessité d'écrire toutes les paires valeur-attribut, mise entre guillemets des valeurs d'attributs, utilisation des minuscules, obligation qu'à toute balise d'ouverture corresponde une

18 262 XSLT par la pratique balise de fin, conformité aux règles d'écriture de XML, etc), mais aussi, et surtout, qu'un élément <!DOCTYPE> est présent dans le document résultat Voici les trois éléments <!DOCTYPE> à utiliser avec les trois types de XHTML 10 : strict, transitional et frameset voir l'ouvrage XHTML, Guide de référence du langage, de Ian Graham (Éditions Eyrolles, 2001) pour plus d'informations sur les différences entre ces versions <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Strict//EN" " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Frameset//EN" " Voici l'élément <!DOCTYPE> pour XHTML 11 : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 11//EN" " Les éléments <!doctype> et HTML 40 En toute rigueur, même les documents HTML doivent commencer par un élément <!DOCTYPE> Officiellement, il existe trois versions de HTML 401 : strict, transitional et frameset Voici les élémens <!DOCTYPE> complets de ces versions : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401//EN" " html4/strictdtd">, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" " et <!DOCTYPE HTML PUBLIC "-// W3C//DTD HTML 401 Frameset//EN" " Pour produire des documents HTML strictement conformes, vous devez insérer cet élément dans vos documents Pour plus d'informations, visitez wwww3org/tr/html40/struct/globalhtml Les attributs doctype-system et doctype-public de l'élément <xsl:output> peuvent être utilisés pour créer un élément <!DOCTYPE> si la méthode de sortie est XML Voici l'élément <xsl:output> qui crée l'élément <!DOCTYPE> pour XHTML 10 transitional : <xsl:output method="xml" doctype-system=" doctype-public="-//w3c//dtd XHTML 10 Transitional//EN" indent="yes"/>

19 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Voici la feuille de style qui utilise l'élément <xsl:output> pour convertir planetesxml en un document XHTML valide, planeteshtml : Listing 65 Transformation de planetesxml vers XHTML <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="xml" doctype-system=" doctype-public="-//w3c//dtd XHTML 10 Transitional//EN" encoding="iso " indent="yes"/> <xsl:template match="/planetes"> <html> <head> <title> Le tableau des planètes </title> </head> <body> <h1> Le tableau des planètes </h1> <table> <tr> <td>nom</td> <td>masse</td> <td>rayon</td> <td>jour</td> </tr> <xsl:apply-templates/> </table> </body> </html> <xsl:template match="planete"> <tr> <td><xsl:value-of select="nom"/></td> <td><xsl:apply-templates select="masse"/></td> <td><xsl:apply-templates select="rayon"/></td> <td><xsl:apply-templates select="jour"/></td> </tr> <xsl:template match="masse"> <xsl:value-of select=""/> <xsl:text> </xsl:text>

20 264 XSLT par la pratique Listing 65 Transformation de planetesxml vers XHTML (suite) <xsl:value-of <xsl:template match="rayon"> <xsl:value-of select=""/> <xsl:text> </xsl:text> <xsl:value-of <xsl:template match="jour"> <xsl:value-of select=""/> <xsl:text> </xsl:text> <xsl:value-of </xsl:stylesheet> Voici le fichier XHTML résultat : <?xml version="10" encoding="iso "?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" " <html> <head> <title> Le tableau des planètes </title> </head> <body> <h1> Le tableau des planètes </h1> <table> <tr> <td>nom</td> <td>masse</td> <td>rayon</td> <td>jour</td> </tr> <tr> <td>mercure</td> <td>0553 (Terre = 1)</td> <td>1516 miles</td> <td>5865 jours</td>

21 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE </tr> <tr> <td>vénus</td> <td>815 (Terre = 1)</td> <td>3716 miles</td> <td>11675 jours</td> </tr> <tr> <td>terre</td> <td>1 (Terre = 1)</td> <td>2107 miles</td> <td>1 jour</td> </tr> </table> </body> </html> Ce document, planeteshtml, est un document XHTML 10 transitional bien formé et valide selon le programme de validation HTML et XHTML du W3C (voir file-uploadhtml) Du fait que les documents XHTML sont aussi des documents XML bien formés, nous pouvons nous servir de la méthode de sortie XML pour faciliter cette transformation ; la seule étape qui requiert un peu d'attention est la création de l'élément <!DOCTYPE> Modification de la structure du document résultat en fonction du contenu en entrée Jusqu'ici, les modèles créés étaient fondés sur un schéma quelque peu rigide qui spécifiait exactement le contenu du document résultat et l'ordre d'insertion de ses différents composants Mais nous pouvons aussi nous servir d'éléments XSLT tels que <xsl:element>, <xsl:attribute>, <xsl:text>, etc, pour créer des nœuds «à la volée» en fonction de la teneur du document de départ Nous avons déjà rencontré un procédé de ce type au chapitre 3, où nous avons recouru à des modèles d'attributs Comme nous l'avons vu, il est possible d'utiliser des modèles d'attributs pour affecter à un attribut la valeur d'une expression XPath si cette expression est mise entre accolades { et } Par exemple, nous pouvons affecter à l'attribut NOM la chaîne de caractères d'un élément <DESCRIPTION> enfant du nœud contextuel par l'expression NOM={DESCRIPTION} Il est cependant temps d'aborder la création d'éléments et d'attributs à la volée avec les éléments <xsl:element> et <xsl:attribut>

22 266 XSLT par la pratique Génération d'éléments à la volée : l'élément <xsl:element> La possibilité de créer des éléments avec l'élément <xsl:element> est très intéressante lorsque vous avez besoin de déterminer le nom d'un nouvel élément au moment de la transformation Cet élément compte trois attributs : name (obligatoire) Nom de l'élément à créer Il faut spécifier un modèle d'attribut qui retourne un QName namespace (facultatif) URI de l'espace de noms du nouvel élément Il faut spécifier un modèle d'attribut qui retourne un URI use-attribute-sets (facultatif) Définit les ensembles d'attributs qui contiennent les attributs de cet élément Il faut spécifier une liste de QName séparés par des espaces L'élément <xsl:element> permet de créer, dans l'arbre généré, un nœud élément dont le nom et les attributs peuvent être générés lors de l'exécution Pour en comprendre l'intérêt, supposons que l'on souhaite enregistrer les noms des planètes dans des attributs NOM plutôt que dans un élément <NOM> dans planetesxml, comme suit : <?xml version="10" encoding="iso "?> <?xml-stylesheet type="text/xml" href="planetesxsl"?> <PLANETES> <PLANETE NOM="Mercure"> <MASSE UNITE="(Terre = 1)">0553</MASSE> <JOUR UNITE="jours">5865</JOUR> <RAYON UNITE="miles">1516</RAYON> <DENSITE UNITE="(Terre = 1)">983</DENSITE> <DISTANCE UNITE="millions de miles">434</distance><!--au périhélie--> </PLANETE> Supposons à présent que nous voulions utiliser la valeur de cet attribut pour créer des noms d'éléments dans le document résultat, tels que <Mercure>, <Vénus> et <Terre> : <?xml version="10" encoding="iso "?> <?xml-stylesheet type="text/xml" href="planetesxsl"?> <PLANETES> <Mercure> <MASSE UNITE="(Terre = 1)">0553</MASSE> <JOUR UNITE="jours">5865</JOUR>

23 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE <RAYON UNITE="miles">1516</RAYON> <DENSITE UNITE="(Terre = 1)">983</DENSITE> <DISTANCE UNITE="millions de miles">434</distance><!--au périhélie--> </Mercure> Le nom de l'élément à générer est inconnu jusqu'à l'exécution, c'est pourquoi il n'est possible d'utiliser qu'un élément résultat littéral Nous pouvons ainsi «bricoler» un nouvel élément en le considérant comme du texte et faire appel à l'attribut disable-output-escaping de l'élément <xsl:output> pour générer des caractères tels que < : <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="xml" encoding="iso "/> <xsl:template node()"> <xsl:copy> <xsl:apply-templates node()"/> </xsl:copy> <xsl:template match="planete"> <xsl:text disable-output-escaping="yes"><</xsl:text> <xsl:value-of <xsl:text disable-output-escaping="yes">></xsl:text> <xsl:apply-templates/> <xsl:text disable-output-escaping="yes"></</xsl:text> <xsl:value-of <xsl:text disable-output-escaping="yes">></xsl:text> </xsl:stylesheet> Mais il s'agit là d'un procédé peu commode qui traite le balisage comme du texte brut Une autre possibilité consiste à créer un élément avec le nom d'une planète à l'aide de <xsl:element> Celui-ci récupère l'attribut name de la manière suivante : Listing 66 Exemple d'utilisation de <xsl:element> <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="xml" encoding="iso "/> <xsl:template node()">

24 268 XSLT par la pratique Listing 66 Exemple d'utilisation de <xsl:element> (suite) <xsl:copy> <xsl:apply-templates node()"/> </xsl:copy> <xsl:template match="planete"> <xsl:element name="{nom}"> <xsl:apply-templates/> </xsl:element> </xsl:stylesheet> Ce procédé est plus rigoureux et plus simple Voici le document résultat contenant les nouveaux éléments ; chacun des ces éléments porte le nom d'une planète différente et a été généré au cours de l'exécution : <?xml version="10" encoding="iso "?> <?xml-stylesheet type="text/xml" href="planetesxsl"?> <PLANETES> <Mercure> <MASSE UNITE="(Terre = 1)">0553</MASSE> <JOUR UNITE="jours">5865</JOUR> <RAYON UNITE="miles">1516</RAYON> <DENSITE UNITE="(Terre = 1)">983</DENSITE> <DISTANCE UNITE="millions de miles">434</distance><!--au périhélie--> </Mercure> <Vénus> <MASSE UNITE="(Terre = 1)">815</MASSE> <JOUR UNITE="jours">11675</JOUR> <RAYON UNITE="miles">3716</RAYON> <DENSITE UNITE="(Terre = 1)">943</DENSITE> <DISTANCE UNITE="millions de miles">668</distance><!--au périhélie--> </Vénus> <Terre> <MASSE UNITE="(Terre = 1)">1</MASSE> <JOUR UNITE="jours">1</JOUR> <RAYON UNITE="miles">2107</RAYON> <DENSITE UNITE="(Terre = 1)">1</DENSITE> <DISTANCE UNITE="millions de miles">1284</distance><!--au périhélie--> </Terre> </PLANETES>

25 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE L'élément <xsl:element> permet de créer des éléments et de les nommer au moment de l'exécution de la transformation XSLT Génération d'attributs : l'élément <xsl:attribute> L'élément <xsl:attribute> offre les mêmes possibilités que <xsl:attribute>, mais pour les attributs Cet élément compte deux attributs : name (obligatoire) Nom de l'attribut à créer Il faut spécifier un modèle d'attribut qui retourne un QName namespace (facultatif) URI de l'espace de noms du nouvel attribut Il faut spécifier un URI L'élément <xsl:attribute> permet de générer un arbre dans lequel les valeurs des attributs sont définies au moment de l'exécution de la transformation L'exemple suivant illustre la création de nouveaux éléments <PLANETE> dont les attributs correspondent aux noms des différentes planètes et dont les valeurs proviennent de l'attribut COULEUR des éléments <PLANETE> de départ : Listing 67 Exemple d'utilisation de <xsl:attribute> <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output encoding="iso "/> <xsl:template match="planetes"> <HTML> <HEAD> <TITLE> Les planètes </TITLE> </HEAD> <BODY> <xsl:apply-templates select="planete"/> </BODY> </HTML> <xsl:template match="planete"> <PLANETE>

26 270 XSLT par la pratique Listing 67 Exemple d'utilisation de <xsl:attribute> (suite) <xsl:attribute name="{nom}"> <xsl:value-of </xsl:attribute> </PLANETE> </xsl:stylesheet> Le document résultat ci-dessous contient bien les nouveaux attributs, créés à la volée à partir des noms des planètes : <HTML> <HEAD> <META http-equiv="content-type" content="text/html; charset=iso "> <TITLE> Les planètes </TITLE> </HEAD> <BODY> <PLANETE Mercure="ROUGE"> </PLANETE> <PLANETE Vénus="BLANCHE"> </PLANETE> <PLANETE Terre="BLEUE"> </PLANETE> </BODY> </HTML> Génération de commentaires : l'élément <xsl:comment> Il est aussi possible de créer des commentaires à la volée avec l'élément <xsl:comment> Cet élément qui n'a pas d'attribut définit le texte du commentaire Dans l'exemple suivant, les éléments <PLANETE> sont remplacés par des commentaires et le nom de la planète est indiqué dans le texte du commentaire :

27 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Listing 68 Exemple d'utilisation de <xsl:comment> <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10"xmlns:xsl=" <xsl:output encoding="iso "/> <xsl:template match="planetes"> <HTML> <HEAD> <TITLE> Les planètes </TITLE> </HEAD> <BODY> <xsl:apply-templates select="planete"/> </BODY> </HTML> <xsl:template match="planete"> <xsl:comment>ici était inséré l'élément <xsl:value-of select="nom"/></xsl:comment> </xsl:stylesheet> Voici le résultat : <HTML> <HEAD> <META http-equiv="content-type" content="text/html; charset=iso "> <TITLE> Les planètes </TITLE> </HEAD> <BODY> <!-- Ici était inséré l'élément Mercure--> <!-- Ici était inséré l'élément Vénus--> <!-- Ici était inséré l'élément Terre--> </BODY> </HTML>

28 272 XSLT par la pratique Génération d'instructions de traitement : l'élément <xsl:processing-instruction> L'élément <xsl:processing-instruction> permet de créer des instructions de traitement Cet élément est doté d'un attribut : name (obligatoire) Nom de l'instruction de traitement à créer Il faut spécifier un modèle d'attribut qui retourne un NCName Dans l'exemple suivant, l'instruction <?xml-stylesheet?> a été supprimée du début de planetesxml : <?xml version="10" encoding="iso "?> <PLANETES> <PLANETE> <NOM>Mercure</NOM> <MASSE UNITE="(Terre = 1)">0553</MASSE> <JOUR UNITE="jours">5865</JOUR> <RAYON UNITE="miles">1516</RAYON> <DENSITE UNITE="(Terre = 1)">983</DENSITE> <DISTANCE UNITE="millions de miles">434</distance><!--au périhélie--> </PLANETE> <PLANETE> <NOM>Vénus</NOM> <MASSE UNITE="(Terre = 1)">815</MASSE> <JOUR UNITE="jours">11675</JOUR> <RAYON UNITE="miles">3716</RAYON> <DENSITE UNITE="(Terre = 1)">943</DENSITE> <DISTANCE UNITE="millions de miles">668</distance><!--au périhélie--> </PLANETE> Pour rétablir l'instruction de traitement, nous pouvons faire appel à l'élément <xsl:processing-instruction> Les éléments type et href d'une instruction de traitement telle que <?xmlstylesheet type="text/xml" href="planetesxsl"?> ne sont pas de véritables attributs ; c'est pourquoi, plutôt que de déterminer leur valeur avec <xsl:attribute>, nous avons recours à la méthode qui les traite comme du texte brut :

29 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Listing 69 Exemple d'utilisation de <xsl:processing-instruction> <?xml version="10" encoding="iso "?> <xsl:stylesheet version="10" xmlns:xsl=" <xsl:output method="xml" encoding="iso "/> <xsl:template match="/"> <xsl:processing-instruction name="xml-stylesheet"> <xsl:text>type="text/xml" href="planetesxsl"</xsl:text> </xsl:processing-instruction> <xsl:apply-templates/> <xsl:template node()"> <xsl:copy> <xsl:apply-templates node()"/> </xsl:copy> </xsl:stylesheet> Voici le résultat L'instruction de traitement <?xml-stylesheet?> y figure de nouveau : <?xml version="10" encoding="iso "?> <?xml-stylesheet type="text/xml" href="planetesxsl"?> <PLANETES> <PLANETE> <NOM>Mercure</NOM> <MASSE UNITE="(Terre = 1)">0553</MASSE> <JOUR UNITE="jours">5865</JOUR> <RAYON UNITE="miles">1516</RAYON> <DENSITE UNITE="(Terre = 1)">983</DENSITE> <DISTANCE UNITE="millions de miles">434</distance><!--au périhélie--> </PLANETE> <PLANETE> <NOM>Vénus</NOM> <MASSE UNITE="(Terre = 1)">815</MASSE> <JOUR UNITE="jours">11675</JOUR> <RAYON UNITE="miles">3716</RAYON> <DENSITE UNITE="(Terre = 1)">943</DENSITE> <DISTANCE UNITE="millions de miles">668</distance><!--au périhélie--> </PLANETE>

30 274 XSLT par la pratique Génération de plusieurs documents en sortie : l'élément <xsl:document> La version de travail XSLT 11 a introduit un nouvel élément, <xsl:document>, pour permettre la génération de plusieurs documentsun élément similaire (pour l'instant appelé <xsl:result-document>) sera intégré à XSLT 20 Il comporte les attributs suivants : href (obligatoire) Emplacement du nouveau document Il faut spécifier un URI relatif ou absolu, sans identificateur de fragment method (facultatif) Méthode de sortie à utiliser pour générer le document résultat les valeurs possibles sont xml, html, text ou un QName qui n'est pas un NCName version (facultatif) Version du document résultat Il faut spécifier un NMToken valide encoding (facultatif) Codage de caractères Il faut spécifier une chaîne de caractères omit-xml-declaration (facultatif) Indique si la déclaration XML doit figurer dans le document résultat Les valeurs possibles sont yes ou no cdata-section-elements (facultatif) Noms des éléments dont le contenu doit être généré en tant que sections CDATA Il faut spécifier une liste de QName séparés par des espaces doctype-public (facultatif) Identificateur public à utiliser dans la déclaration <!DOCTYPE> du document résultat Il faut spécifier une chaîne de caractères doctype-system (facultatif) Identificateur système à utiliser dans la déclaration <!DOCTYPE> du document résultat Il faut spécifier une chaîne de caractères indent (facultatif) Précise si l'arbre du document résultat doit être indenté de façon à faire apparaître sa structure hiérarchique Les valeurs possibles sont yes ou no media-type (facultatif) Type MIME du document résultat Il faut spécifier une chaîne de caractères standalone (facultatif) Indique si une déclaration de type standalone doit être incluse dans le document résultat et donne sa valeur le cas échéant La valeur possibles sont yes ou no Cet élément contient un corps de modèle L'exemple suivant, qui fait appel à une feuille de style simplifiée, génère un document HTML comprenant deux cadres et les deux documents HTML destinés à être affichés dans ces cadres (cadre1html et cadre2html) Le premier cadre et le document qui lui est destiné sont créés à l'aide de <xsl:document> Vous noterez qu'ici, l'attribut version est défini à 11 parce que nous faisons appel à une fonctionnalité uniquement disponible dans le document de travail

31 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE XSLT 10, mais 11 deviendra probablement à terme une valeur invalide ; si <xsl:document> est bien intégré à XSLT 20, il faudra affecter à version la valeur 20 <HTML xmlns:xsl=" xsl:version="11"> <HEAD> <TITLE> Deux cadres </TITLE> </HEAD> <FRAMESET cols="50%, 50%"> <FRAME src="cadre1html"/> <xsl:document href="cadre1html"> <HTML> <HEAD> <TITLE> Cadre 1 </TITLE> </HEAD> <BODY> <H1>Voici le cadre 1</H1> </BODY> </HTML> </xsl:document> Ensuite, nous créons le second cadre, cadre2html, et le document destiné à être affiché dans ce cadre : Listing 610 Exemple d'utilisation de <xsl:document> <HTML xmlns:xsl=" xsl:version="11"> <HEAD> <TITLE> Deux cadres </TITLE> </HEAD> <FRAMESET cols="50%, 50%"> <FRAME src="cadre1html"/> <xsl:document href="cadre1html">

32 276 XSLT par la pratique Listing 610 Exemple d'utilisation de <xsl:document> (suite) <HTML> <HEAD> <TITLE> Cadre 1 </TITLE> </HEAD> <BODY> <H1>Voici le cadre 1</H1> </BODY> </HTML> </xsl:document> <FRAME src="cadre2html"/> <xsl:document href="cadre2html"> <HTML> <HEAD> <TITLE> Cadre 2 </TITLE> </HEAD> <BODY> <H1>Voici le cadre 2</H1> </BODY> </HTML> </xsl:document> </FRAMESET> </HTML> Un exemple uniquement valide en XSLT 11 L'exemple précédent n'est valide que vis-à-vis de la version de travail XSLT 11 En effet, à notre connaissance, aucun des processeurs XSLT actuellement disponibles ne prend en charge l'élément <xsl:document>

33 Transformations XML vers XML, HTML, XHTML, RTF et modification du contenu CHAPITRE Génération de déclarations d'espaces de noms : l'élément <xsl:namespace> XSLT 20 a également introduit l'élément <xsl:namespace> Cet élément permet d'insérer des déclarations d'espaces de noms dans le document résultat Toutefois, nous ne disposons pas d'autres informations sur cet élément au moment de la rédaction de cet ouvrage et ne sommes donc pas en mesure de le décrire en détail Nous vous invitons à consulter régulièrement le site du W3C Génération d'ensembles d'attributs : l'élément <xsl:attribute-set> Lors de la création d'un élément, on souhaite parfois ajouter plusieurs attributs à la fois à l'élément créé L'élément <xsl:attribute-set> permet de réaliser facilement cette opération Cet élément compte deux attributs : name (obligatoire) Nom de l'ensemble d'attributs Il faut spécifier un QName use-attribute-sets (facultatif) Noms des autres ensembles d'attributs à inclure dans l'ensemble en cours de création Il faut spécifier une liste de QName séparés par des espaces L'élément <xsl:attribute-set> contient un élément <xsl:attribute> pour chacun des attributs à créer Si nous utilisons cet élément dans le but de créer un nouvel ensemble d'attributs pour un élément, nous donnons un nom à l'ensemble d'attributs Nous pouvons ensuite attribuer ce nom à l'attribut use-attribute-sets des éléments <xsl:copy>, <xsl:element> et <xsl:for-each> (et même à l'élément <xsl:attribute-set> lui-même), afin que ceux-ci utilisent cet attribute-set lors de la création du nouvel élément Au début de ce chapitre, nous avons vu un exemple qui utilisait les ensembles d'attributs dans le modèle qui créait du code JavaScript Dans cet exemple, un élément <xsl:attribute-set> était employé pour spécifier les attributs des boutons HTML des planètes Cet ensemble d'attributs était ensuite repris dans un élément <xsl:element> pour créer ces boutons : <BODY> <CENTER> <H1>La page des masses</h1> </CENTER> <xsl:for-each select="planete"> <P/> <xsl:element name="input" use-attribute-sets="attribs"/> </xsl:for-each>

XML (extensible Markup Language)

XML (extensible Markup Language) XML (extensible Markup Language) Références : XML, Micro Application e-poche http://giles.chagnon.free.fr/cours/xml/base.html http://www.cgmatane.qc.ca/forgetj/formation/int4/xml.php 1. Qu est-ce que XML?

Plus en détail

Introduction à XML. 1. Notions de base. Introduction à XML

Introduction à XML. 1. Notions de base. Introduction à XML Introduction à XML INTRODUCTION À XML 1. NOTIONS DE BASE 2. EXEMPLE SIMPLE 3. SYNTAXE XML 3.1. LES CARACTÈRES SPÉCIAUX 4. DTD 5. DOCUMENT XML AVEC FEUILLE DE STYLE CSS 6. XLS ET XSLT 6.1. EXEMPLE DE DOCUMENT

Plus en détail

Créer des documents XML

Créer des documents XML 1 Créer des documents XML La spécification XML définit comment écrire un document au format XML. XML n est pas un langage en lui-même mais, en revanche, un document XML est écrit dans un langage à balises

Plus en détail

Programmation d applications pour le Web

Programmation d applications pour le Web Programmation d applications pour le Web Cours 2 ème année ING ISI-Tunis Elaboré par: Hela LIMAM Chapitre 3 Partie 2 XML+XSL Année universitaire 2011/2012 Semestre 2 1 Le XML ne fait rien. Il faudra passer

Plus en détail

Les technologies XML. Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT. Novembre 2010 - Version 3.2 -

Les technologies XML. Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT. Novembre 2010 - Version 3.2 - Les technologies XML Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT Novembre 2010 - Version 3.2 - SOMMAIRE DU COURS TRANSFORMATIONS DE DOCUMENTS XML Introduction à XSL Noeuds

Plus en détail

DTD (Document Type Definition) - XML (extensible Markup Language)

DTD (Document Type Definition) - XML (extensible Markup Language) DTD (Document Type Definition) - XML (extensible Markup Language) Références : XML, Micro Application e-poche http://giles.chagnon.free.fr/cours/xml/base.html http://www.cgmatane.qc.ca/forgetj/formation/int4/xml.php

Plus en détail

XSL Langage de transformation de XML. Approfondissements

XSL Langage de transformation de XML. Approfondissements XSL Langage de transformation de XML Approfondissements http://www.zvon.org/xxl/xsltreference/output/index.html Retour sur les modèles (template) Une feuille de style peut contenir plusieurs modèles Chaque

Plus en détail

" extensible Markup Language " XML

 extensible Markup Language  XML " extensible Markup Language " XML Sylvie Vignes, Département Informatique et Réseaux École Nationale Supérieure des Télécommunications 46, rue Barrault 75634 Paris cedex 13 Département Informatique et

Plus en détail

Le langage XML. Sébastien Jean. IUT de Valence Département Informatique. v3.3, 10 novembre 2008

Le langage XML. Sébastien Jean. IUT de Valence Département Informatique. v3.3, 10 novembre 2008 Le langage XML Sébastien Jean IUT de Valence Département Informatique v3.3, 10 novembre 2008 Qu est ce que XML? Généralités XML = extensible Markup Language Spécification du W3C Version 1.0 (1998-2004)

Plus en détail

Université de Reims Champagne-Ardenne. XML - Introduction. F. Nolot Licence professionnelle CMSII 1

Université de Reims Champagne-Ardenne. XML - Introduction. F. Nolot Licence professionnelle CMSII 1 Université de Reims Champagne-Ardenne XML - Introduction F. Nolot Licence professionnelle CMSII 1 Université de Reims Champagne-Ardenne XML - Introduction Historique F. Nolot Licence professionnelle CMSII

Plus en détail

XML. Nicolas Singer. Maître de conférence, université Champollion

XML. Nicolas Singer. Maître de conférence, université Champollion XML Nicolas Singer Maître de conférence, université Champollion XML? Langage de description de documents électroniques : Pour stocker et échanger des documents Par extension, pour représenter tout type

Plus en détail

96 Feuilles de style en cascade

96 Feuilles de style en cascade Microsoft Expression Web (version 2) 96 Feuilles de style en cascade Définir les styles Dans la création de pages Web valides, un principe fondamental apparaît : le contenu doit être séparé de sa présentation.

Plus en détail

PHP et XML. Traitements de XML

PHP et XML. Traitements de XML PHP et XML XML et PHP 1 Traitements de XML Deux approches pour manipuler des documents XML: Approche DOM: Utilise un analyseur (Parser) qui transforme le document XML en structure d'arbre. Il faut parcourir

Plus en détail

Programmation Web IMAC 2015-2016 TD 1 : HTML. 30 septembre 2015

Programmation Web IMAC 2015-2016 TD 1 : HTML. 30 septembre 2015 Programmation Web IMAC 2015-2016 TD 1 : HTML 30 septembre 2015 Objectif: Ce TD a pour but d aborder les premières notions du langage HTML. Il est important de noter que le HTML n est pas un langage de

Plus en détail

Devoir XML / XSLT / Unicode

Devoir XML / XSLT / Unicode Devoir XML / XSLT / Unicode Frédérik Bilhaut Université de Caen Département d'informatique Les fichiers fournis pour réaliser le devoir sont à récupérer ici : http://www.info.unicaen.fr/~fbilhaut/ens/radi/devoir.tgz

Plus en détail

STRUCTURE D UNE PAGE HTML/CSS

STRUCTURE D UNE PAGE HTML/CSS STRUCTURE D UNE PAGE HTML/CSS C01 1. STRUCTURE Le langage Html est composé de balises ou (tags) qui permettent de structurer le texte, de le mettre en forme et d insérer des images. Ces instructions sont

Plus en détail

Exercices et corrections. Licence QCI - module O21

Exercices et corrections. Licence QCI - module O21 Exercices et corrections Licence QCI - module O21 Exercice 1 Ecrivez le squelette d une page avec les caractéristiques suivantes - encodage : utf-8 - titre de la page : première page XHTML - auteur : vous

Plus en détail

Rapport TP4. Nicolas LERMÉ nicolas.lerme@ig-edu.univ-paris13.fr. Dernière MAJ : 16 avril 2007 @ 22:58. Cours de Web Sémantique

Rapport TP4. Nicolas LERMÉ nicolas.lerme@ig-edu.univ-paris13.fr. Dernière MAJ : 16 avril 2007 @ 22:58. Cours de Web Sémantique Cours de Web Sémantique Nicolas LERMÉ nicolas.lerme@ig-edu.univ-paris13.fr Dernière MAJ : 16 avril 2007 @ 22:58 A propos de ce document Cet article est généré par LATEX, un outil de compilation open-source

Plus en détail

Présentation de XQuery

Présentation de XQuery 97 Chapitre 5 Présentation de XQuery 1. Présentation de XQuery Présentation de XQuery XML Query (plus communément appelé XQuery) est une spécification du W3C. De nos jours, de nombreux documents sont au

Plus en détail

Internet statique et dynamique XML. Programmation de sites web statiques et dynamiques. extended Markup Language (XML) Jean CARTIER MASTER INI

Internet statique et dynamique XML. Programmation de sites web statiques et dynamiques. extended Markup Language (XML) Jean CARTIER MASTER INI Programmation de sites web statiques et dynamiques extended Markup Language () Jean CARTIER MASTER INI jcartier@laposte.net 1 extented Markup Language () Le HTML est un langage très bien adapté à la diffusion

Plus en détail

Université de Reims Champagne-Ardenne XML. DTD : Document Type Definition. F. Nolot Licence professionnelle CMSII 2004-2005 1

Université de Reims Champagne-Ardenne XML. DTD : Document Type Definition. F. Nolot Licence professionnelle CMSII 2004-2005 1 Université de Reims Champagne-Ardenne XML DTD : Document Type Definition F. Nolot Licence professionnelle CMSII 2004-2005 1 Qu'est qu'une DTD? Permet de vérifier qu'un document XML est conforme à une syntaxe

Plus en détail

LA TYPOGRAPHIE du WEB

LA TYPOGRAPHIE du WEB DOSSIERS de VEILLE TECHNOLOGIQUE J.C.Sohm URL : http://cerig.efpg.inpg.fr/icg/dossiers/typo/chap5.htm CERIG Avril 2000 LA TYPOGRAPHIE du WEB 5- Les feuilles de style Définition, structure et fonctionnalités

Plus en détail

XML, DTD. Dan VODISLAV. Université de Cergy-Pontoise. Licence Informatique L3. Plan

XML, DTD. Dan VODISLAV. Université de Cergy-Pontoise. Licence Informatique L3. Plan XML, DTD Dan VODISLAV Université de Cergy-Pontoise Licence Informatique L3 Plan XML: pourquoi et comment Principes et caractéristiques de base Comparaison avec HTML et les BD relationnelles Le format XML

Plus en détail

Le XML et ses normes associées partie I

Le XML et ses normes associées partie I Le XML et ses normes associées partie I TechnofuturTIC (formateur : Luc Libert, ULB) Exercice à distance Version complète (et plus complexe) Le but de l exercice est de mettre en pratique de manière concrète

Plus en détail

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant DOCUMENTATION TECHNIQUE Comparateur de documents XML SOMMAIRE 1 Introduction... 3 2 Langage et choix de programmation... 4 2.1 Le langage PHP...

Plus en détail

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr Cours HTML/PHP E.Coquery emmanuel.coquery@liris.cnrs.fr Pages Web Pages Web statiques Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis son navigateur. Adresse tapée, clic

Plus en détail

Séance d Exercices Dirigés HTML et JavaScript

Séance d Exercices Dirigés HTML et JavaScript Séance d Exercices Dirigés HTML et JavaScript EXERCICE 1 1) le but de cet exercice est de construire l'interface suivante en html: 2) Par la suite on veut un document composé de deux frames, l'une nommée

Plus en détail

Eclipse et quelques notions de Jquerry

Eclipse et quelques notions de Jquerry Eclipse et quelques notions de Jquerry Tout d abord, une petite présentation s impose. Eclipse est un outil de développement qui permet d éditer du code et de visualiser le résultat grâce à des émulateurs

Plus en détail

Utiliser un modèle d état prédéfini

Utiliser un modèle d état prédéfini Chapitre 8 Etats rapides Certains boutons sont désactivés, en fonction du type de cellule sélectionné. 4 Répétez les étapes 2 et 3 pour chaque bordure à paramétrer. 5 Cliquez sur le bouton OK pour valider

Plus en détail

1- CRÉER UN SITE WEB FRONTPAGE

1- CRÉER UN SITE WEB FRONTPAGE 1- CRÉER UN SITE WEB FRONTPAGE 1.1 Caractéristiques d un site Web FrontPage FrontPage 2003 est un logiciel de gestion de sites Web qui offre plusieurs outils pour simplifier les tâches de conception, de

Plus en détail

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration statiques LIF4 - Initiation aux Bases de données : E.Coquery emmanuel.coquery@liris.cnrs.fr http ://liris.cnrs.fr/ ecoquery Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis

Plus en détail

Dom, XML, Lecture de fichiers

Dom, XML, Lecture de fichiers Projet de développement web : Développement côté client Chapitre 4 Dom, XML, Lecture de fichiers Page 1 / 11 Table des matières Table des matières Introduction DOM : Document Object Model Structure habituelle

Plus en détail

I. Définition du site

I. Définition du site I. Définition du site Utilisation de Dreamweaver La création du site ne devrait se faire qu'une seule fois. En effet, sur un ordinateur personnel, cette définition est enregistrée dans le profil de l'utilisateur

Plus en détail

Partie 2 : Transmettre des données de page en page 141/361. Les cookies

Partie 2 : Transmettre des données de page en page 141/361. Les cookies Partie 2 : Transmettre des données de page en page 141/361 Les cookies Travailler avec des cookies fonctionne à peu près de la même façon qu'avec des sessions, à quelques petites différences près que nous

Plus en détail

Le langage JavaScript TD N 3. Module IntegWEB MMI 1 2013/2014

Le langage JavaScript TD N 3. Module IntegWEB MMI 1 2013/2014 1 Le langage JavaScript TD N 3 Module IntegWEB MMI 1 2013/2014 Jeu les tables de multiplication 2 Code HTML 3 apprendre les tables de multiplication

Plus en détail

HTML : Mini tutoriel

HTML : Mini tutoriel HTML : Mini tutoriel I. Introduction HTML est un langage de formatage de texte adapté à la conception de pages web. Le HTML est un langage balisé, fondé en particulier sur la notion de lien hypertexte,

Plus en détail

Le but de ce document est de donner les principes de manipulation de données XML, via XSLT à l'aide de PHP5.

Le but de ce document est de donner les principes de manipulation de données XML, via XSLT à l'aide de PHP5. Exemple XML XSLT avec PHP5 Rédacteur: Alain Messin CNRS UMS 2202 Admin06 06/09/2007 Le but de ce document est de donner les principes de manipulation de données XML, via XSLT à l'aide de PHP5. Il ne s'agit

Plus en détail

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté.

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté. Persistance en Php Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d articles (titre, auteur, texte), un article est dans une seule

Plus en détail

Séances 4a/4b Technologies du Web

Séances 4a/4b Technologies du Web Formations en Informatique de Lille 2012/2013 Séances 4a/4b Technologies du Web février 2013 Javascript Exercice 1 : Préalable : mise en place des outils Pour ce premier exercice, nous allons utiliser

Plus en détail

Atelier d initiation. Initiation au traitement de texte

Atelier d initiation. Initiation au traitement de texte Atelier d initiation Initiation au traitement de texte 1 Contenu de l atelier Qu est-ce qu un traitement de texte?... 1 Ouverture de Word... 1 Ouverture du traitement de texte... 1 Fermeture du traitement

Plus en détail

Validation de l item 4.5 : 4-5 Chercher et identifier l origine de la publication en utilisant au besoin le code source, pour exploiter un document.

Validation de l item 4.5 : 4-5 Chercher et identifier l origine de la publication en utilisant au besoin le code source, pour exploiter un document. Validation de l item 45 : document Sommaire Origine d'un page HTML Origine d'un document Word 1/2 Origine d'un document Word 2/2 Origine d'un site web Ressources Validation de l item 45 : document Origine

Plus en détail

Créer mon premier squelette

Créer mon premier squelette Créer mon premier squelette Avec ce tutoriel, découvrez progressivement le fonctionnement de SPIP en construisant votre premier squelette. Pas à pas, comment créer un SPIP qui défie les limites. Créer

Plus en détail

NERIANE GESTION DOCUMENTAIRE

NERIANE GESTION DOCUMENTAIRE NERIANE GESTION DOCUMENTAIRE Le logiciel Nériane Gestion Documentaire est un logiciel offrant différents outils pour gérer des documents. Il est disponible en deux versions différentes : - Une version

Plus en détail

Les nouveautés de JSP 2.0

Les nouveautés de JSP 2.0 Les nouveautés de JSP 2.0 1 Introduction Nous avons déjà vu quelques nouveautés de la version 2.0 dans les travaux pratiques précédents (JSTL et langage d expressions). Il nous reste deux améliorations,

Plus en détail

Pour bien comprendre comment Access fonctionne dans la création d'une requête, vous

Pour bien comprendre comment Access fonctionne dans la création d'une requête, vous I / Les requêtes Les requêtes s'apparentent à ce que nous venons de faire avec les filtres car il, s'agit d interroger une table suivant certains critères Mais contrairement aux filtres qui sont volatiles,

Plus en détail

Introduction http:// www.mediaforma.com/formation-html5-et-css3

Introduction http:// www.mediaforma.com/formation-html5-et-css3 Introduction Ce livre est un concentré de code HTML5 et CSS3 prêt à l emploi 1. Il se divise en seize chapitres thématiques. Vous êtes un dévelop peur de niveau intermédiaire ou avancé? Vous y trouverez

Plus en détail

Cours Web - Javascript

Cours Web - Javascript Cours Web - Javascript Thierry Vaira BTS IRIS Avignon tvaira@free.fr v0.1 Objectifs Se familiariser avec le langage Javascript et acquérir une pratique minimale. Être capable d intégrer des scripts clients

Plus en détail

GUIDE D UTILISATION DE LA PLATEFORME D ENVOI DE COURRIELS

GUIDE D UTILISATION DE LA PLATEFORME D ENVOI DE COURRIELS GUIDE D UTILISATION DE LA PLATEFORME D ENVOI DE COURRIELS Table des matières Présentation de la plateforme d envoi de courriels... 4 1- Gestion des contacts... 5 1.1. Base de données... 5 1.1.1- Création

Plus en détail

Fusion et Publipostage... 2 A. Introduction... 2 B. Les commandes... 2 C. Le type de document... 5 D. Nouveau document en cours... 5 E.

Fusion et Publipostage... 2 A. Introduction... 2 B. Les commandes... 2 C. Le type de document... 5 D. Nouveau document en cours... 5 E. Fusion et Publipostage... 2 A. Introduction... 2 B. Les commandes... 2 C. Le type de document... 5 D. Nouveau document en cours... 5 E. Les sources de données... 6 F. Le document... 13 G. L'utilisation

Plus en détail

Configuration d une politique de sauvegarde

Configuration d une politique de sauvegarde Configuration d une politique de sauvegarde Pré-requis à cette présentation La lecture de ce guide suppose que vous avez installé l agent SFR Backup sur l équipement que vous souhaitez sauvegarder. Il

Plus en détail

Technologies du Web. Phases de travail Objectifs Activités

Technologies du Web. Phases de travail Objectifs Activités Technologies du Web Tutoriel 1 : «Structurer une page Web» PROBLEMATIQUE Créer la structure d une page Web avec un éditeur de texte. CONDITIONS DE DEROULEMENT DE L ACTIVITE Phases de travail Objectifs

Plus en détail

LE TRAITEMENT DE TEXTE : WORD. Son utilisation

LE TRAITEMENT DE TEXTE : WORD. Son utilisation 1 Didacticiel réalisé par Patricia Wasko Netsteward Administration Communale de Seneffe Service Informatique - 2004 LE TRAITEMENT DE TEXTE : WORD Son utilisation Un logiciel de traitement de texte est

Plus en détail

Les feuilles de styles

Les feuilles de styles Qu'est-ce que les feuilles de style? Les feuilles de style CSS pour Cascading Style Sheets en anglais est un langage informatique qui sert à décrire la présentation des documents HTML. L'un des objectifs

Plus en détail

TD 3 : Intégration HTML

TD 3 : Intégration HTML Programmation Web IMAC 2015-2016 TD 3 : Intégration HTML 14 octobre 2015 Objectif: Ce TD a pour but de se servir des concepts appris dans les TDs précédents pour intégrer entièrement une maquette de site

Plus en détail

Web et présentation d information spatiale

Web et présentation d information spatiale Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Web et présentation d information spatiale Format XML Jean-Michel FOLLIN jmfollin@univ-lr.fr Limitations HTML Limitations

Plus en détail

XML et arbre. Représentation d un document XML sous forme d arbre. Commençons par deux exemples... suivis des explications.

XML et arbre. Représentation d un document XML sous forme d arbre. Commençons par deux exemples... suivis des explications. XML et arbre Représentation d un document XML sous forme d arbre. Commençons par deux exemples... suivis des explications. Le texte de A Le texte de B

Plus en détail

LA CREATION SOUS ORACLE DE VOTRE DOSSIER PERSONNEL SUR LE SITE INTERNET «INTRANET.U-PARIS10.FR»

LA CREATION SOUS ORACLE DE VOTRE DOSSIER PERSONNEL SUR LE SITE INTERNET «INTRANET.U-PARIS10.FR» LA CREATION SOUS ORACLE DE VOTRE DOSSIER PERSONNEL SUR LE SITE INTERNET «INTRANET.U-PARIS10.FR» JEAN-FRANÇOIS GUEUGNON (MODEM-UNIVERSITE PARIS X-NANTERRE) 2003-03 2 LA CREATION SOUS ORACLE DE VOTRE DOSSIER

Plus en détail

Guide de démarrage rapide

Guide de démarrage rapide Guide de démarrage rapide L aspect de Microsoft Visio 2013 étant différent par rapport aux versions précédentes, nous avons créé ce guide pour vous aider à être opérationnel au plus vite. Modèles mis à

Plus en détail

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

Indications TP C2i n 3

Indications TP C2i n 3 Indications TP C2i n 3 Ind-03.1 Indications TP C2i n 3 0. Préliminaires Lisez la version PDF du TP et repérez les parties surlignées. Ce sont des éléments qui sont importants ou qui ont été modifiés. À

Plus en détail

MANUEL UTILISATEUR estat'clics

MANUEL UTILISATEUR estat'clics MANUEL UTILISATEUR estat'clics Médiamétrie-eStat Buropolis, Bât 3 1240, route des Dolines Sophia Antipolis 06560 Valbonne Tél : 04 92 38 38 20 Fax : 04 92 96 91 25 E-mail : serviceclient@mediametrie-estat.com

Plus en détail

Introduction http://www.mediaforma.com/

Introduction http://www.mediaforma.com/ Ce livre est un concentré de code HTML5 et CSS3 prêt à l emploi 1. Il se divise en seize chapitres thématiques. Vous êtes un développeur de niveau intermédiaire ou avancé? Vous y trouverez de nombreux

Plus en détail

CONSIGNES D UTILISATION D EPLAN D ELDON VERSION 1.0 - JANVIER 2013

CONSIGNES D UTILISATION D EPLAN D ELDON VERSION 1.0 - JANVIER 2013 CONSIGNES D UTILISTION D EPLN D ELDON VERSION 1.0 - JNVIER 2013 SOMMIRE 1. INTRODUCTION UX CONSIGNES D UTILISTION D EPLN D ELDON 3 2. IMPORTER DES MCROS ELDON DNS EPLN P8 4 Étape 1 : Télécharger et décompresser

Plus en détail

ALGORITHMIQUE PROGRAMMATION INTERNET - NIVEAU 1

ALGORITHMIQUE PROGRAMMATION INTERNET - NIVEAU 1 ALGORITHMIQUE PROGRAMMATION INTERNET - NIVEAU 1 Code NFA053, 6 ECTS Chapitre 05 HTML / LES FORMULAIRES Le plus grand soin a été apporté à la réalisation de ce support pédagogique afin de vous fournir une

Plus en détail

PHP 5. simplexml. A. Belaïd 1

PHP 5. simplexml. A. Belaïd 1 PHP 5 simplexml A. Belaïd 1 Introduction Dans les versions précédentes de PHP, il n y avait aucun outil permettant de manipuler simplement des fichiers XML Dans PHP 5, on trouve un mode, appelé, SimpleXML

Plus en détail

EDITEUR DE PAGE HTML NETSCAPE COMPOSER

EDITEUR DE PAGE HTML NETSCAPE COMPOSER EDITEUR DE PAGE HTML NETSCAPE COMPOSER Utilisation Netscape Composer est un éditeur de pages HTML : il vous permet de modifier et créer des pages au format HTML pour les diffuser sur le Web. Il est intégré

Plus en détail

Design Product. Guide d'utilisation. v0.3.4. Auguria 26 bis rue des Olivettes 44000 NANTES FRANCE +33251135012 contact@auguria.net

Design Product. Guide d'utilisation. v0.3.4. Auguria 26 bis rue des Olivettes 44000 NANTES FRANCE +33251135012 contact@auguria.net Design Product Guide d'utilisation v0.3.4 Auguria 26 bis rue des Olivettes 44000 NANTES FRANCE +33251135012 contact@auguria.net Plan 1 Présentation du module...3 2 Mise en place du module...4 2.1 Compatibilité

Plus en détail

Présentation Site Libraire LRB

Présentation Site Libraire LRB LE SITE LIBRAIRE LRB Un «Site Libraire»? Actuellement, beaucoup d'entreprises n'ont pas de site internet alors qu'il pourrait être bénéfique à leur activité. C'est souvent la complexité du fonctionnement

Plus en détail

CentreWare Web 5.8.107 et plus août 2013 702P01950. Xerox CentreWare Web Identification et Exécution Correctif Micrologiciel de Numérisation

CentreWare Web 5.8.107 et plus août 2013 702P01950. Xerox CentreWare Web Identification et Exécution Correctif Micrologiciel de Numérisation CentreWare Web 5.8.107 et plus août 2013 702P01950 Identification et Exécution Correctif Micrologiciel de Numérisation 2013 Xerox Corporation. Tous droits réservés. Xerox, Xerox and Design, CentreWare,

Plus en détail

Premières macros. Au sommaire de ce chapitre. Créer une macro GrasItalique. Différentes méthodes d enregistrement. Écrire la macro

Premières macros. Au sommaire de ce chapitre. Créer une macro GrasItalique. Différentes méthodes d enregistrement. Écrire la macro 2 Premières macros Au sommaire de ce chapitre Créer une macro GrasItalique Écrire la macro Stocker des macros Différentes méthodes d enregistrement Créer une macro Titre_WordArt 22 Excel 2013 et VBA L

Plus en détail

Création de page Web. Microsoft Publisher. 1. Ouvrez Microsoft Publisher. 2. Cliquez sur Sites Web. 3. Choisissez un modèle

Création de page Web. Microsoft Publisher. 1. Ouvrez Microsoft Publisher. 2. Cliquez sur Sites Web. 3. Choisissez un modèle Création de page Web Microsoft Publisher 1. Ouvrez Microsoft Publisher 2. Cliquez sur Sites Web 3. Choisissez un modèle 4. Personnalisez votre jeu de couleurs et les options 5. Cliquez sur «créer», lorsque

Plus en détail

Tice -Seconde-Page Web 2015-2016

Tice -Seconde-Page Web 2015-2016 Ouvrez une page web, cliquer doit sur la souris et faite afficher le code source de la page. Quelqu un a écrit ce code pour faire afficher cette page. Nous allons nous aussi écrire du code pour faire afficher

Plus en détail

Plan. 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD. Référence :

Plan. 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD. Référence : Définitions de types de documents : DTD Plan 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD Référence : Extensible Markup Language (XML)

Plus en détail

Résumé Du Cours Excel

Résumé Du Cours Excel St Laurent de Mure le 8 mars 2005 Page1/10 Résumé Du Cours Excel Résumé de la note : Cette note rassemble des extraits de la doc Excel, sur les sujets abordés en cours. Sommaire 1. Thèmes abordés 2 2.

Plus en détail

2014 Electronics For Imaging. Les Informations juridiques rédigées pour ce produit s appliquent au contenu du présent document.

2014 Electronics For Imaging. Les Informations juridiques rédigées pour ce produit s appliquent au contenu du présent document. 2014 Electronics For Imaging. Les Informations juridiques rédigées pour ce produit s appliquent au contenu du présent document. 9 juin 2014 Table des matières 3 Table des matières Exemples de flux d impression

Plus en détail

XML, DOM & XSL Synthèse de lecture

XML, DOM & XSL Synthèse de lecture Dorine MAZEYRAT XML, DOM & XSL Synthèse de lecture Novembre 2008 NFE107 - Urbanisation des SI 0 SOMMAIRE 1. LE LANGAGE XML...2 1.1. Définition...2 1.2. Historique...2 1.3. Objectif...2 1.4. Présentation

Plus en détail

Créer des documents pour le projet «Ermitage» : catalogue de modèles et de maquettes 1 de documents disponibles

Créer des documents pour le projet «Ermitage» : catalogue de modèles et de maquettes 1 de documents disponibles Créer des documents pour le projet «Ermitage» : catalogue de modèles et de maquettes 1 de documents disponibles Développer le projet «Ermitage», c est créer des documents et les organiser en salles. Ce

Plus en détail

Fiches Outil Acces Sommaire

Fiches Outil Acces Sommaire Fiches Outil Acces Sommaire Fiche Outil Access n 1 :... 2 Le vocabulaire d Access... 2 Fiche Outil Access n 2 :... 4 Créer une table dans la base... 4 Fiche Outil Access n 3 :... 6 Saisir et modifier des

Plus en détail

9234991 Édition 1 FR. Nokia et Nokia Connecting People sont des marques déposées de Nokia Corporation

9234991 Édition 1 FR. Nokia et Nokia Connecting People sont des marques déposées de Nokia Corporation 9234991 Édition 1 FR Nokia et Nokia Connecting People sont des marques déposées de Nokia Corporation Sélectionnez Adobe Reader. Adobe Reader pour Symbian OS vous permet d'afficher des fichiers Adobe PDF

Plus en détail

INTRODUCTION. méta-langage

INTRODUCTION. méta-langage INTRODUCTION renault twingo Bic 1999 etc.. XML : extensible

Plus en détail

Pour utiliser le système, entrez vos nom et mot de passe et cliquez le bouton login.

Pour utiliser le système, entrez vos nom et mot de passe et cliquez le bouton login. Pour utiliser le système, entrez vos nom et mot de passe et cliquez le bouton login. Pour introduire un nouveau mot de passe: après avoir entré vos nom et mot de passe, cliquez sur Nouveau mot de passe,

Plus en détail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail

Manuel. Portail de services. Version 1.2 Date : 10/10/12

Manuel. Portail de services. Version 1.2 Date : 10/10/12 Manuel Portail de services Version 1.2 Date : 10/10/12 Table des matières 1 Documents de transport... 3 1.1 Rechercher des documents... 3 1.2 Télécharger tous les documents liés à un numéro de facture...

Plus en détail

1. LES BALISES D'INSERTION D'OBJETS MULTIMEDIA

1. LES BALISES D'INSERTION D'OBJETS MULTIMEDIA S2 Intégration de fichiers multimédia dans une page HTML Pensez à sauvegarder fréquemment dans votre espace de travail les documents que vous réalisez! Le but de ce TP est d'ajouter une galerie multimédia

Plus en détail

XML - Semaine 6. XML - Semaine 6. Pierre Nerzic. février-mars 2016. 1 / 42 Pierre Nerzic

XML - Semaine 6. XML - Semaine 6. Pierre Nerzic. février-mars 2016. 1 / 42 Pierre Nerzic XML - Semaine 6 Pierre Nerzic février-mars 2016 1 / 42 Pierre Nerzic Le cours de cette semaine présente l API XML DOM permettant de produire et traiter un document XML : Principes, Création et modification

Plus en détail

Novell. Novell Teaming 1.0. novdocx (fr) 6 April 2007 EXPLORER LE PORTLET DE BIENVENUE

Novell. Novell Teaming 1.0. novdocx (fr) 6 April 2007 EXPLORER LE PORTLET DE BIENVENUE Guide de démarrage rapide de Novell Teaming Novell Teaming novdocx (fr) 6 April 2007 1.0 Juillet 2007 DÉMARRAGE RAPIDE www.novell.com Novell Teaming Dans ce document, le terme "Novell Teaming" s'applique

Plus en détail

Groupe Eyrolles, 2005, ISBN : 2-212-11594-6

Groupe Eyrolles, 2005, ISBN : 2-212-11594-6 Groupe Eyrolles, 2005, ISBN : 2-212-11594-6 23 Attributs de paragraphe Lorsque vous traitez un texte, vous organisez les caractères en mots et les mots en paragraphes. Différents attributs sont définis

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Plateforme Systempay v1.24 Personnalisation avancée de la page paiement. Version 1.2a

Plateforme Systempay v1.24 Personnalisation avancée de la page paiement. Version 1.2a Plateforme Systempay v1.24 Personnalisation avancée de la page paiement Version 1.2a Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

INITIATION ACCESS. Par Lionel COSTE ABSALON Formations

INITIATION ACCESS. Par Lionel COSTE ABSALON Formations INITIATION ACCESS Par Lionel COSTE ABSALON Formations Vocabulaire et structure d'une base de données Reprenons notre base Access. Dès sa création, avant même de saisir la moindre donnée, on peut se rendre

Plus en détail

Intranet d'établissement avec Eva-web Document pour les auteurs

Intranet d'établissement avec Eva-web Document pour les auteurs Intranet d'établissement avec Eva-web Document pour les auteurs Trois types d'utilisateurs d'eva Les administrateurs d'eva - Ils peuvent paramétrer le site, effectuer des sauvegardes, des restaurations,

Plus en détail

Pack de langue ImageNow Guide de mise en route

Pack de langue ImageNow Guide de mise en route Pack de langue ImageNow Guide de mise en route Version : 6.6.x Rédigé par : Documentation produit, R&D Date : octobre 2011 ImageNow et CaptureNow sont des marques déposées de Perceptive Software. Tous

Plus en détail

TUTORIEL OPEN OFFICE WRITER

TUTORIEL OPEN OFFICE WRITER TUTORIEL OPEN OFFICE WRITER Janvier 2012 Table des matières 1Présentation du logiciel... 3 2Création d'un document... 3 3Format des pages et pied de page... 4 3.1Format des pages... 4 3.2Pied de page...

Plus en détail

Le rapport de Tableau Croisé Dynamique

Le rapport de Tableau Croisé Dynamique Formation Microsoft Excel Le rapport de Tableau Croisé Dynamique Le tableau croisé dynamique est un outil d'excel très performant très souvent méconnu car, lorsqu'on se risque -par hasard- à lancer cette

Plus en détail

Maîtriser les premières bases de la technologie informatique.

Maîtriser les premières bases de la technologie informatique. 1 Maîtriser les premières bases de la technologie informatique. Rappel du texte de référence : Notions techniques liées aux items de ce domaine : L élève doit être capable: d utiliser à bon escient le

Plus en détail

2. XML. Cours Web. extended Markup Language (XML) 2. XML 2. XML. extented Markup Language (XML) Lionel Seinturier. Université Pierre & Marie Curie

2. XML. Cours Web. extended Markup Language (XML) 2. XML 2. XML. extented Markup Language (XML) Lionel Seinturier. Université Pierre & Marie Curie Cours Web extended Markup Language (XML) Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr extented Markup Language (XML) Constat sur HTML langage très bien adapté à la diffusion

Plus en détail

Arbres Mathématiques Informatique et Navigateurs Internet

Arbres Mathématiques Informatique et Navigateurs Internet Arbres Mathématiques Informatique et Navigateurs Internet Jacques Duma http://math.et.info.free.fr/ http://ateliermathematique.free.fr/ Arbres Expressions Mathématiques Structure arborescente de l expression

Plus en détail

Listing J-> S des Astuces Microsoft Word.

Listing J-> S des Astuces Microsoft Word. Listing J-> S des Astuces Microsoft Word. 1. Justifiez vos paragraphes par défaut 2 2. Manipuler les fichiers Office 2007 avec les versions précédentes - Office 2000/XP/2003 2 3. Mettre en valeur du texte

Plus en détail

CIM120. Http:// (Creation Web) Page 1

CIM120. Http:// (Creation Web) Page 1 CIM120 Http:// (Creation Web) Page 1 Organisation du module CIM120 Evaluation: 1 eval sur table 1 eval des TP Page 2 Le Web: un peu d'histoire D'Arpanet à Internet... http://fr.wikipedia.org/wiki/histoire_d'internet

Plus en détail

Réalisation d'un site web. Première partie : Création des pages HTML. <tv>thierry.vaira@orange.fr</tv>

Réalisation d'un site web. Première partie : Création des pages HTML. <tv>thierry.vaira@orange.fr</tv> Réalisation d'un site web Première partie : Création des pages HTML 1 Objectifs Se familiariser avec le codage HTML Acquérir une pratique minimale Être capable de mener à bien la construction d'un site

Plus en détail