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

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 match="@* node()"> <xsl:copy> <xsl:apply-templates select="@* 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 match="@* node()"> <xsl:copy> <xsl:apply-templates select="@* node()"/> </xsl:copy> <xsl:template match="planete"> <xsl:text disable-output-escaping="yes"><</xsl:text> <xsl:value-of select="@nom"/> <xsl:text disable-output-escaping="yes">></xsl:text> <xsl:apply-templates/> <xsl:text disable-output-escaping="yes"></</xsl:text> <xsl:value-of select="@nom"/> <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 match="@* 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 match="@* node()"> <xsl:copy> <xsl:apply-templates select="@* 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>

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés

Plus en détail

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

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante

Plus en détail

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

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante: 420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

Les outils de création de sites web

Les outils de création de sites web Tuto 1ère séance - p1 Les outils de création de sites web Sources : Réalisez votre site web avec HTML5 et CSS3 de Mathieu Nebra (Edition Le Livre du Zéro) site fr.openclassrooms.com (anciennement «site

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

Livre Blanc WebSphere Transcoding Publisher

Livre Blanc WebSphere Transcoding Publisher Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,

Plus en détail

Programmation des Applications Réparties. Parsers XML DOM et SAX

Programmation des Applications Réparties. Parsers XML DOM et SAX Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment

Plus en détail

La balise object incorporer du contenu en HTML valide strict

La balise object incorporer du contenu en HTML valide strict Qu'est ce que la balise object La balise object incorporer du contenu en HTML valide strict Beaucoup de monde insère des médias dans leur page web avec la balise non standard . Pourtant il existe

Plus en détail

HTML. Notions générales

HTML. Notions générales 1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS

Plus en détail

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense, QlikView,

Plus en détail

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

Initiation à html et à la création d'un site web Initiation à html et à la création d'un site web Introduction : Concevoir un site web consiste à définir : - l'emplacement où ce site sera hébergé - à qui ce site s'adresse - le design des pages qui le

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Voici les objectifs de la séance d'aujourd'hui :

Voici les objectifs de la séance d'aujourd'hui : Bienvenue au module de formation en ligne sur l export de données dans le cadre de la gestion externe de cas dans le LaMPSS. Le module vous donnera un aperçu de la fonction «export de données» introduite

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES IMPRTATIN, CRÉATIN, MANIPULATIN, EXPRTATIN DE DNNÉES STATISTIQUES Bernard Dupont Bernard.Dupont@univ-lille1.fr ahm.bahah@yahoo.fr Bien que l'analyse et le traitement des données ne soient pas sa vocation

Plus en détail

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte» Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte» Espace collaboratif Co-Ment Date : 01/12/2013 Référence du Projet : Chef de Projet : www.cndp.fr/climatscolaire Caroline

Plus en détail

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité

Plus en détail

Configuration d'un annuaire LDAP

Configuration d'un annuaire LDAP Le serveur Icewarp Configuration d'un annuaire LDAP Version 10.3 Juillet 2011 Icewarp France / DARNIS Informatique i Sommaire Configuration d'un annuaire LDAP 1 Introduction... 1 Qu'est-ce que LDAP?...

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1 Instructions et spécifications pour la transmission en format XML de déclarations par lots 30 mai 2015 MODULE 1 Table des matières Modifications apportées dans la présente... 3 1 Renseignements généraux...

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Créer un sondage en ligne

Créer un sondage en ligne Créer un sondage en ligne Par Clément JOATHON Dernière mise à jour : 02/04/2015 Que cela soit pour récolter l'avis des membres d'une association ou encore les idées de vos visiteurs, il est toujours intéressant

Plus en détail

Module ebay pour PrestaShop Guide du vendeur

Module ebay pour PrestaShop Guide du vendeur Module ebay pour PrestaShop Guide du vendeur Basé sur le module d'extension version 1.7.1, publié en 04/2014 Version du document : 1.4, 08/2014 1 Informations et aide Généralités Pour obtenir des informations

Plus en détail

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015 TABLE DES MATIERES Incorporer une feuille de calcul dans un fichier créé avec l Éditeur de texte de PLACE... 1 Avantages :... 1 Contraintes :... 2 Accéder à Microsoft OneDrive :... 2 Créer un classeur

Plus en détail

Outils logiciels pour l'ingénierie documentaire

Outils logiciels pour l'ingénierie documentaire Ingénierie Documentaire Outils logiciels pour l'ingénierie documentaire http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - L'IDE XML Oxygen 5 A. Fichiers XML...5 B. Schémas XML...6

Plus en détail

Guide de démarrage Janvier 2012

Guide de démarrage Janvier 2012 Guide de démarrage Janvier 2012 2012 Logicim Inc. Tous droits réservés. Table des Matières Table des Matières i Guide de Démarrage 1 Introduction 1 Respecter l ordre de la formation 1 Ouvrir XLGL 1 Différentes

Plus en détail

Travaux pratiques avec RapidMiner

Travaux pratiques avec RapidMiner Travaux pratiques avec RapidMiner Master Informatique de Paris 6 Spécialité IAD Parcours EDOW Module Algorithmes pour la Fouille de Données Janvier 2012 Prise en main Généralités RapidMiner est un logiciel

Plus en détail

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER. COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER. 1. Comment déplacer ou copier un fichier sur Windows Vous aurez régulièrement besoin de déplacer ou dupliquer des fichiers sur votre ordinateur. Par exemple

Plus en détail

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs Dans la série Les tutoriels libres présentés par le site FRAMASOFT Automatisation d'une Facture 4 Liste Déroulante Remises Case à cocher Calculs Logiciel: Version: Licence: Site: OpenOffice.org Calc :

Plus en détail

Programmation Internet Cours 4

Programmation Internet Cours 4 Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web

Plus en détail

Débuter avec OOo Base

Débuter avec OOo Base Open Office.org Cyril Beaussier Débuter avec OOo Base Version 1.0.7 Novembre 2005 COPYRIGHT ET DROIT DE REPRODUCTION Ce support est libre de droit pour une utilisation dans un cadre privé ou non commercial.

Plus en détail

Guide de réalisation d une campagne e-mail marketing

Guide de réalisation d une campagne e-mail marketing Guide de réalisation d une campagne e-mail marketing L ère des envois d e-mails en masse est révolue! Laissant la place à une technique d e-mail marketing ciblé, personnalisé, segmenté et pertinent. La

Plus en détail

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

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Extrait Alimenter l'entrepôt de données avec SSIS Business

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

www.geomaticien.com Par Daniel FAIVRE WebMapper ... Publication de cartes pour Internet avec ArcGis

www.geomaticien.com Par Daniel FAIVRE WebMapper ... Publication de cartes pour Internet avec ArcGis www.geomaticien.com. Par Daniel FAIVRE WebMapper......... Publication de cartes pour Internet avec ArcGis WebMapper Publication de cartes pour le web Fonctionnalités de l'application WebMapper exporte

Plus en détail

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014 Identification du contenu des évaluations Septembre 2014 Tous droits réservés : Université de Montréal Direction des ressources humaines Table des matières Excel Base version 2010... 1 Excel intermédiaire

Plus en détail

Création de formulaires interactifs

Création de formulaires interactifs SESSION 16 Création de formulaires interactifs Programme de la session Lancer un sondage en utilisant divers éléments d'entrée de formulaire Traiter les entrées utilisateur Activer un script à partir d'un

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Télécharger et Installer OpenOffice.org sous Windows

Télécharger et Installer OpenOffice.org sous Windows Télécharger et Installer OpenOffice.org sous Windows Version Date Auteur Commentaires 1.00 15/11/2008 Denis Bourdillon Création du document. Mise en forme de texte 1/15 Saison 2008-2009 Table des matières

Plus en détail

Dans l'article précédent, vous avez appris

Dans l'article précédent, vous avez appris Pour les débutants Les différents formats de sortie proposés par PHPExcel La bibliothèque orientée objet PHPExcel permet de lire et créer des fichiers pour tableurs. Dans cette série d articles, vous apprendrez

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3 Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

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

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une

Plus en détail

TeamViewer 9 Manuel Management Console

TeamViewer 9 Manuel Management Console TeamViewer 9 Manuel Management Console Rév 9.2-07/2014 TeamViewer GmbH Jahnstraße 30 D-73037 Göppingen www.teamviewer.com Sommaire 1 A propos de la TeamViewer Management Console... 4 1.1 A propos de la

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Utilisation d'un réseau avec IACA

Utilisation d'un réseau avec IACA Utilisation d'un réseau avec IACA Réseau IACA composé d'un ou plusieurs serveurs et de station 95 ou 98 ou ME ou NTWS ou 2000 ou XP Pro. Le réseau Le serveur est un ordinateur sur lequel a été installé

Plus en détail

Le codage informatique

Le codage informatique Outils de Bureautique Le codage informatique (exemple : du binaire au traitement de texte) PLAN 3) Le codage binaire 4) Représentation physique des bits 5) Le bit est un peu court... 6) Codage de texte

Plus en détail

1 Introduction. Business Intelligence avec SharePoint Server 2010

1 Introduction. Business Intelligence avec SharePoint Server 2010 Business Intelligence avec SharePoint Server 2010 1 Introduction Dans le chapitre précédent, nous avons créé une collection de sites et activé les fonctions de restitution décisionnelles du serveur SharePoint

Plus en détail

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT BADPLUS V5 Imports de données joueurs à partir de la base fédérale en ligne Poona MANUEL D'UTILISATION Stéphan KIEFFER - Dominique BOSSERT Sommaire Pages RECHERCHE DE JOUEURS...- 3-1. RECHERCHE A PARTIR

Plus en détail

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012 GUIDE MEMBRE ESPACE COLLABORATIF Février 2012 Ce document est disponible sur le site WEB de l Agence de la santé et des services sociaux de la Montérégie, à l adresse suivante : http://extranet.santemonteregie.qc.ca/userfiles/file/espace-collabo/2012-02-04guide-membre-espace-collaboratif.pdf

Plus en détail

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique Document technique : Guide d'initiation aux certificats ssl Document technique Guide d'initiation aux certificats SSL Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en

Plus en détail

Logiciel Enterprise Guide Version 1.3 Windows

Logiciel Enterprise Guide Version 1.3 Windows Configuration requise Logiciel Enterprise Guide Version 1.3 Windows Ce document indique la configuration requise pour l'installation et l'exécution du logiciel Enterprise Guide. Vous devez mettre votre

Plus en détail

MODE D'EMPLOI DU CONTRIBUTEUR WEB UAPV "CONTRIBUER DANS UNE RUBRIQUE DU SITE WEB"

MODE D'EMPLOI DU CONTRIBUTEUR WEB UAPV CONTRIBUER DANS UNE RUBRIQUE DU SITE WEB MODE D'EMPLOI DU CONTRIBUTEUR WEB UAPV "CONTRIBUER DANS UNE RUBRIQUE DU SITE WEB" Quelques conseils pour bien contribuer 1 Paramétrer votre navigateur web 2 Accéder au module de gestion des pages web 2

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

Mode d'emploi détaillé

Mode d'emploi détaillé Mode d'emploi détaillé Sommaire Accéder au site de la liste les_vpah Contacter le propriétaire Envoyer des messages Lire les archives Rechercher dans les archives Gérer ses préférences Partager des fichiers

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

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

STID 2ème année : TP Web/PHP STID 2ème année : TP Web/PHP Plan de travail et aide mémoire jean.arnaud@inria.fr Ce document est composé de cinq parties : Un aide mémoire sur les aspects pratiques de la création de sites Une introduction

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

SAP Lumira Version du document : 1.23 2015-03-06. Guide de l'utilisateur de SAP Lumira

SAP Lumira Version du document : 1.23 2015-03-06. Guide de l'utilisateur de SAP Lumira SAP Lumira Version du document : 1.23 2015-03-06 Contenu 1 A propos de SAP Lumira....6 2 Guide de démarrage de SAP Lumira.... 7 2.1 Menus sur la page d'accueil.... 7 2.2 Étapes générales pour la visualisation

Plus en détail

Votre site Internet avec FrontPage Express en 1 heure chrono

Votre site Internet avec FrontPage Express en 1 heure chrono 1.1. Précautions préliminaires Votre site Internet avec FrontPage Express en 1 heure chrono Le contenu de ce site n'est pas très élaboré mais il est conçu uniquement dans un but pédagogique. Pour débuter,

Plus en détail

v7.1 SP2 Guide des Nouveautés

v7.1 SP2 Guide des Nouveautés v7.1 SP2 Guide des Nouveautés Copyright 2012 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Pluridisciplinarité. Classe de BTS DATR 1 -----------------------------------------------------------------------

Pluridisciplinarité. Classe de BTS DATR 1 ----------------------------------------------------------------------- Pluridisciplinarité Classe de BTS DATR 1 ----------------------------------------------------------------------- Module M53: Diagnostic de territoire cible dans le secteur des services. -----------------------------------------------------------------------

Plus en détail

Auguria_PCM Product & Combination Manager

Auguria_PCM Product & Combination Manager Auguria_PCM Product & Combination Manager Guide utilisateurs v1.5 Auguria 9, rue Alfred Kastler 44300 NANTES FRANCE +33251135012 contact@auguria.net Plan 1 Description générale du module...3 2 Mise en

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Cours Modélisation et Programmation avec tableur

Cours Modélisation et Programmation avec tableur Cours Modélisation et Programmation avec tableur Eléments de base du tableur Excel Avertissement : Ce document ne prétend pas être exhaustif et remplacer la documentation d'excel ou l'aide en ligne; son

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Desktop Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense,

Plus en détail

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris Diffusé par Le Projet Documentation OpenOffice.org Table des matières 1. Définir les plages...3 2. Sélectionner une plage...4

Plus en détail

Gestion Électronique de Documents et XML. Master 2 TSM

Gestion Électronique de Documents et XML. Master 2 TSM Gestion Électronique de Documents et XML Master 2 TSM I n t r o d u c t i o n Les formats de données F o r m a t s d e d o n n é e Format de donnée : manière de représenter des informations dans un document

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments

Plus en détail

Installation et configuration de Vulture Lundi 2 février 2009

Installation et configuration de Vulture Lundi 2 février 2009 Installation et configuration de Vulture Lundi 2 février 2009 V1.0 Page 1/15 Tables des matières A. Informations (Page. 3/15) B. Installation (Page. 3/15) 1- Téléchargement des paquets nécessaires. 2-

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT Animé par A.COMLAN ADCOSOFT 14/02/2014-15H 1 Programme du webséminaire : Introduction Partie I Optimisation des Balises TITLE et META Partie II Optimisation du

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

Les tablettes et l'extranet Intermixt Mode d'emploi

Les tablettes et l'extranet Intermixt Mode d'emploi Les tablettes et l'extranet Mode d'emploi Ce document vous présente les étapes vous permettant d avoir accès aux documents disponibles sur l'extranet d'. Vous pouvez éventuellement les télécharger pour

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 3. ème partie : RAPPORTS MENU D'ACCUEIL - MIGRATION Table des matières 1. Les RAPPORTS...2 1.1 Création d'un rapport basé sur une Requête...3 1.2 Imprimer,

Plus en détail

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs Installation sur le serveur Eva-web s'appuie sur SPIP, qui lui-même utilise PHP

Plus en détail

Nuxeo Enterprise Platform: Guide utilisateur

Nuxeo Enterprise Platform: Guide utilisateur Nuxeo Enterprise Platform: Guide utilisateur Copyright 2000-2008, Nuxeo SAS. Vous pouvez copier, diffuser et/ou modifier ce document selon les termes de la GNU Free Documentation License, Version 1.2;

Plus en détail

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR HISTORIQUE DES VERSIONS Vers. Date Rédacteur Objet de la modification 1.00 Juillet 2007 GTBO_AGRI Création du document 1.01 Février 2009 SAMOA

Plus en détail

Guide de démarrage de Business Objects Crystal Decisions

Guide de démarrage de Business Objects Crystal Decisions Guide de démarrage de Business Objects Crystal Decisions Business Objects Crystal Decisions Brevets Marques Copyright Tiers contributeurs Business Objects est propriétaire des brevets américains suivants,

Plus en détail

Formulaire pour envoyer un mail

Formulaire pour envoyer un mail Formulaire pour envoyer un mail AVERTISSEMENT : Ce tuto est une compilation de plusieurs sources trouvées sur internet, dont les références sont données à la fin de cet article. Le but de ce tutoriel n'est

Plus en détail