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 :

[debutant][XSLT] afficher en utilsant des templates


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 7
    Points
    7
    Par défaut [debutant][XSLT] afficher en utilsant des templates
    bonjour,
    j ai ceci et je voudrai afficher dans un xsl que la table x3455 avec des templates mais je ne vois pas comment faire (je suis un pur debutant)



    Code XML : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="exercice2.xsl"?>
    <materiels famille='serveur rack'>
       <!--<url>http://www.ibm.com/common/ssi/fcgi-bin/ssalias?infotype=pm & subtype=sp</url>-->
     
    	<materiel type='IBM System x3250'>
    		<nom>IBM System x3250</nom>
    		<descriptif> 	
     
    L’IBM System x3250 est un serveur mono-socket, particulièrement économique et fiable, pour les solutions Web et d’infrastructure.
     
    Il convient parfaitement aux applications suivantes: services Web, infrastructure réseau et équilibrage des charges.
    		</descriptif>
    		<processeur>Choix de Intel® Xeon®, Intel Pentium® ou Intel Celeron®</processeur>
    		<nbre> 1</nbre>
    		<hauteur>1U</hauteur>
    		<nbre_max_dd>4</nbre_max_dd>
    		<IMAGE>x306m_140x140.jpg</IMAGE>
     
    	</materiel>
     
     
    	   <materiel type='IBM System x3455'>
    			<nom>IBM System x3455</nom>
    			<descriptif>Le serveur IBM System x3455 offre des performances exceptionnelles dans un boîtier 1U économique, idéal pour les environnements de calcul intensif.
    Principaux secteurs d’activité concernés : Pétrochimie, sciences de la vie, services financiers, aéronautique et automobile, recherche publique, recherche universitaire, simulation météo et géologique, média/divertissements. 
    			</descriptif>
    			<processeur>    	 	Processeur AMD Dual-Core Opteron</processeur>
    			<nbre>  	2 (Dual-Core)</nbre>
    			<hauteur>1U</hauteur>
    			<nbre_max_dd>2 </nbre_max_dd>
    			<IMAGE>x306m_140x140.jpg</IMAGE>
    		</materiel>
     
     
    	   <materiel type='IBM System x3550'>
    			<nom>IBM System x3550</nom>
    			<descriptif>Le x3550 est un système à haute densité, idéal pour les centres de données
    Il convient parfaitement aux applications suivantes : e-business, collaboration, traitement de fichiers et impression, gestion de bases de données distribuées et virtualisation.
    			</descriptif>
    			<processeur>  	Intel® Xeon® dual-core ou quadri-core</processeur>
    			<nbre> 2</nbre>
    			<hauteur>1U</hauteur>
    			<nbre_max_dd>2 </nbre_max_dd>
    			<IMAGE>x306m_140x140.jpg</IMAGE>
    		</materiel> 
    </materiels>


    Si quelqu un peut m expliquer et eclaire ma lanterne je le remercie

    si y ades fautes dans le xml dites le moi

  2. #2
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Bonjour,

    Tu veux récupérer quelles données de ton XML ??

    Pourrais tu faire un exemple du résultat que tu souhaites obtenir au final ???
    Merci

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    simplement a partir de ce que j ai au dessus je voudrai ecrire le template qui permet de selectionner le materiel dont l 'attribut type vaut "IBM System x3455"

    avec tous ses champs, mais deja est ce mon fichier xml est juste ?

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    Citation Envoyé par Gamerz
    simplement a partir de ce que j ai au dessus je voudrai ecrire le template qui permet de selectionner le materiel dont l 'attribut type vaut "IBM System x3455"

    avec tous ses champs, mais deja est ce mon fichier xml est juste ?
    il ya quoi dans exercice2.xsl?

    sinon c'est un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:template match="//materiel[@type='IBM System x3455']">
     
    </xsl:template>

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    en faite y a rien parce j essaie de comprendre le xml de chercher


    je fais des tests etc ....


    mais la je trouve je suis un peu perdu aussi.

    J'aimerai l afficher juste ma table etc... comment faire :s

  6. #6
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par Gamerz

    J'aimerai l afficher juste ma table etc... comment faire :s
    Désolé mais la tu donnes l'impression qu'on doit te faire ton programme (devoir ?) à ta place
    Si tu ne fournis pas une base plus concrète, le xslt sur lequel tu as du commencé à travailler, même incomplet, tu ne donnes pas envie de t'aider

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    le souci que j ai c est juste comme je fais pour utiliser les templates


    je suis pas un as de la prog, j essaie de comprendre en allant sur plein de site .

    Code xml : 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
    25
    26
    27
    28
    29
    30
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
        <xsl:for-each select="fiche_technique/materiel">
        <TABLE BORDER="1" CELLPADDING="5" BORDERCOLOR="blue" WIDTH="100%">
          <TR onMouseOver="style.backgroundColor='#FFFFCC'"
              onMouseOut="style.backgroundColor='#FFFFFF'">
            <TD>
              <TABLE WIDTH="100%">
                <TR>
                  <TD ROWSPAN="2">
                    <IMG>
                      <xsl:attribute name="src">
                        <xsl:value-of select="IMAGE" />
                      </xsl:attribute>
                    </IMG>
                  </TD>
    			</TR>
                <TR>
                  <TD>
                    <B>Matériel : </B>
                    <xsl:value-of select="nom" /><BR />
                    <B>Processeur : </B><xsl:value-of select="processeur" /><BR />
                  </TD>
                </TR>
             </TABLE>
            </TD>
          </TR>
        </TABLE>
     </xsl:for-each>
    </HTML>


    ca marche sans les templates mais avec les templates j essaie de faire comme ca

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <html xmlns:xsl="http://www.w3.org/TR/WD-xsl">
     
    <xsl:template match="//materiel[@type='IBM System x3455']">  
     
     
    				<IMG>
                      <xsl:attribute name="src">
                        <xsl:value-of select="IMAGE" />
                      </xsl:attribute>
                    </IMG>
     
     
     </xsl:template></html>

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    Citation Envoyé par Gamerz
    ca marche sans les templates
    si tu veux dire un xsl sans template? je suis pas certain de ça mais bon.

    as tu créer un fixhier xsl ?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    oui j ai un fichier xsl

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?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="//materiel[@type='IBM System x3455']">  
     </xsl:template>
    	  <xsl:attribute-set name="nom">
         <xsl:attribute name="align">center</xsl:attribute>
         <xsl:attribute name="style">color:red</xsl:attribute>
    	</xsl:attribute-set> 
    </xsl:stylesheet>

    quand je fais ca il m affiche tous ce qu il y a dans x3455 en vrac alors que je voudrai afficher que certain champs

  10. #10
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Ou la, il va y avoir un gros problème avec le site que tu montre en exemple.
    <HTML xmlnssl="http://www.w3.org/TR/WD-xsl">
    le xmlnssl indique que tu travailles sur la version draft de xslt qui est obsolète depuis presque 10 ans

    Ne prends jamais pour exemple ce type de XSLT

    Citation Envoyé par valal
    si tu veux dire un xsl sans template? je suis pas certain de ça mais bon.
    C'est la forme simplifié de xslt voir:
    http://www.w3.org/TR/xslt#result-element-stylesheet

    par contre le squelette doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html xsl:version="1.0"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
          xmlns="http://www.w3.org/TR/xhtml1/strict">
    ....
    </html>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <xsl:stylesheet version="1.0"
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns="http://www.w3.org/TR/xhtml1/strict">
    <xsl:template match="/">
    <html>
      .....
    </html>
    </xsl:template>
    </xsl:stylesheet>
    les deux sont equivalents, mais la deuxième est plus courante et plus lisible

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <xsl:stylesheet version="1.0"
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns="http://www.w3.org/TR/xhtml1/strict">
    <xsl:template match="/materiel[@type='IBM System x3455']">
    <html>
      <head>
      </head>
      <body>
        <p>Nom <xsl:value-of select="nom"/></p>
      </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

    quand je fais ca il m affiche bien le nom mais il affiche tous le reste des champs j ai un bug non ou erreur de pro g?

  12. #12
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    non la forme classique c'est plutot

    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
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/strict">
    	<xsl:template match="/">
    		<html>
    			<head>  </head>
    			<body>
    				<xsl:apply-templates select="//materiel[@type='IBM System x3455']"></xsl:apply-templates>
    			</body>
    		</html>
    	</xsl:template>
    	<xsl:template match="materiel"> 
     
    	ce que tu veux faire sur ce type de noeud
     
    	  </xsl:template>
    </xsl:stylesheet>

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    ca me donne ceci et ca marche plutot bien j ai compris le principe

    Code xml : 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" xmlns="http://www.w3.org/TR/xhtml1/strict">
    	<xsl:template match="/">
    		<html>
    			<head>  </head>
    			<body>
    				<xsl:apply-templates select="//materiel[@type='IBM System x3455']"></xsl:apply-templates>
    			</body>
    		</html>
    	</xsl:template>
    	<xsl:template match="materiel"> 
     
     
    	 <IMG>
                      <xsl:attribute name="src">
                        <xsl:value-of select="IMAGE" />
                      </xsl:attribute>
                    </IMG>
     
     
    <font face="helevetica" color ="red">	Nom : <xsl:value-of select="nom"/><br/></font>
    	<br/>
    	Descriptif : <xsl:value-of select="descriptif"/>
    	  </xsl:template>
    </xsl:stylesheet>


    Question stupide est il possible en html de faire des if pour choisir dans un select l attribut que l on veut ?

    du style if il y a tel nom(avec xsl template ) j affiche ca

    if etc ......


    encore merci pour tout

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

Discussions similaires

  1. [XSLT] afficher des attributs ajouter
    Par BOLARD dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 15/12/2010, 12h44
  2. [débutante][XSLT] Afficher des attributs
    Par Lith6 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 13/11/2007, 23h30
  3. [Debutant][Système]Récupérer la valeur des variables systeme
    Par cameleon2002 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/02/2007, 09h57
  4. [debutant] Comment afficher un integer a l'ecran
    Par Johngame dans le forum DirectX
    Réponses: 1
    Dernier message: 05/06/2003, 20h35
  5. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19

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