IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[Débutant] Mise en forme avec XSL


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut [Débutant] Mise en forme avec XSL
    Bonjour,

    où je peux trouver les propriétes de mise en forme d'un document XML à l'aide de XSL, à l'instar du CSS, permettant de colorer des titres, souligner, mettre en gras, mettre en boîte des blocs, insérer des images background, ...etc.

    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    en faite le xsl va permettre de transformer ton fichier xml en fichier xhtml (par exemple) donc soit:
    * tu ajoutes dans ton xsl les balises couleurs ...
    * tu génères un fichier html et dans lequel tu fait référence à un fichier css

    exemple
    fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <a>
    <tutu>titi</tutu>
    <tutu>titi</tutu>
    <tutu>titi</tutu>
    <toto>titi</toto>
    </a>
    fichier xsl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output 
      		encoding="ISO-8859-15"
      		method="xml"
      		indent="yes" />
     
    	<xsl:template match="/">
                   <html><body>
    			<xsl:apply-templates select="*"/>
    		</body></html>
    	</xsl:template>
     
    	<xsl:template match="tutu">
                   <h1 style="color:olive"><xsl:value-of select="."/></h1>
    	</xsl:template>
     
    	<xsl:template match="toto">
                   <h2 style="color:red"><xsl:value-of select="."/></h1>
    	</xsl:template>
    </xsl:stylesheet>
    et la tu obtiens un fichier avec des styles différents
    soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output 
      		encoding="ISO-8859-15"
      		method="xml"
      		indent="yes" />
     
    	<xsl:template match="/">
                   <html><head>
     
    	       <link rel="StyleSheet" href="essai.css" type="text/css">
                   </head><body>
    			<xsl:apply-templates select="*"/>
    		</body></html>
    	</xsl:template>
     
    	<xsl:template match="tutu">
                   <h1 style="color:olive"><xsl:value-of select="."/></h1>
    	</xsl:template>
     
    	<xsl:template match="toto">
                   <h2 style="color:red"><xsl:value-of select="."/></h1>
    	</xsl:template>
    </xsl:stylesheet>
    et tu as un fichier essai.css
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    h1 { 
    color: olive;
    }
    h2 { 
    color: red;
    }
    je préfère personnellement la deuxième solution (avec css) car comme cela je différencie la mise en forme du contenu (en faite un designer de site peux par la suite intervenir sans modifier la feuille xsl)

  3. #3
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Merci fraoustin,

    est-ce que je peux utiliser uniquement du XSL pour la mise en forme d'un document XML ? Positionner des blocs, insérer des images background ? Car le travail qui m'a été confié exige le XSL et pas de CSS, je ne crois pas que c'est une bonne solution !!!

    Juste une question de validité Xhtml 1.0 : le code écrit, en bleu, est-il obligatoire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Document XSL
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
      ...
      </html>
    <xsl:template>
    <xsl:stylesheet>
    À bientôt.

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    A savoir :

    XSLT n'est pas là pour faire de la mise en page... à la base, XSLT est là pour transformer un arbre XML (un document XML) en un autre OU en texte OU en HTML.

    Ensuite, pour tout ce qui est mise en page/mise en forme, le CSS est en général nettement mieux adapté

    Sinon au niveau du XHTML, oui, le code en bleu est obligatoire d'un point de vue validation, cf la norme XHTML ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Merci Swoög,

    donc, comment peut-on inclure les deux fichiers XSL et CSS à un document XML ?

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Pour le CSS, il te suffit d'utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml-stylesheet type="text/css" href="cd_catalog.css"?>
    Pour XSLT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml-stylesheet type="text/xsl" href="simple.xsl"?>
    Il te suffit de mettre la balise qui t'intéresse juste après le prologue XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" ... ?>
    Par contre, je doute qu'il soit possible d'utiliser ET un CSS ET un XSLT dans le même XML... (logique puisque les deux ont un impact non compatible sur l'affichage du XML )

    Bonne Continuation
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  7. #7
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Bonsoir,

    on peut écrire ce code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Document XML
    <?xml version="version" encoding="ISO-5988-1" ?>
    <?xml-stylesheet type="text/xsl" href="style.xsl"?>
    <?xml-stylesheet type="text/css" href="style.css"?>
    ...
    style.xsl : transformer le document XML en XHTML,
    style.css : mise en page du document (couleur, mise en valeur, positionnement, mise en boîte, ...etc.)

    Sinon, comment dois-je procéder pour réaliser un petit site web statique avec XML en utilisant impérativement le XSL ?

    Merci de votre patience.

  8. #8
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Bonjour,

    pour clore ce sujet, je voudrais savoir une chose : est-il possible de positionner des blocs <div></div> uniquement avec XSL / XSLT ?

    Merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JAVA][XSL-FO] Mise en forme avec FOP
    Par toMuch dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 08/09/2010, 13h18
  2. [WebForms][2.0] Mise en forme avec du css
    Par kakid dans le forum Général Dotnet
    Réponses: 12
    Dernier message: 26/01/2006, 18h49
  3. [débutant]XML vers XML avec XSL
    Par tokamak dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 11/07/2005, 10h27
  4. Mise en forme avec Netscape et Mozilla
    Par seb30 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/10/2004, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo