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 :

[XSLT] Tri par ordre alphabétique


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [XSLT] Tri par ordre alphabétique
    Bonjour à tous,

    J'ai un souci avec mon fichier. Y a-t-il une bonne âme qui pourrait m'aider?

    J'aimerais trier les titres par ordre alphabétique. Le souci c'est qu'ils sont bien triés mais du coup "mon number format A)" est trié en fonction du tritre. J'obtiens donc mes lettres mélangés. Cela fait une heure que j'essaye et je n'y arrive pas. En plus l'exercice me demande d'afficher que les trois premiers titres.

    NB: je ne peux pas modifier mon fichier xml !!

    Voici mon fichier xml :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <?xml-stylesheet type="text/xsl" href="EPFC_EXA_ABDELKALEK.xsl"?>
    <?xml-stylesheet type="text/css" href="Films.css"?>
    <Liste_des_films>
    <Film Origine="France">
    <Titre>Dans la peau de John Malkovitch</Titre>
    <Acteur_principal Prénom="John" Nom="Cusak"/>
    <Date_sortie Année="1999" Mois="Décembre" Jour="08"/>
    <Durée>1h 52 min</Durée>
    <Réalisateur>
    <Prénom>Spike</Prénom>
    <Nom>Jonze</Nom>
    </Réalisateur>
    <Description>Un marionnettiste trouve un nouvel emploi</Description>
    </Film>
    <Film Origine="USA">
    <Titre>Sleepy Hollow</Titre>
    <Acteur_principal Prénom="Johnny" Nom="Depp"/>
    <Date_sortie Année="2000" Mois="février" Jour="09"/>
    <Durée>1h 45 min</Durée>
    <Réalisateur>
    <Prénom>Tim</Prénom>
    <Nom>Burton</Nom>
    </Réalisateur>
    <Description>Ichabod Crane enquête sur le cavalier sans tête</Description>
    </Film>
    <Film Origine="USA">
    <Titre>American Beauty</Titre>
    <Acteur_principal Prénom="Kevin" Nom="Spacy"/>
    <Date_sortie Année="2000" Mois="février" Jour="02"/>
    <Durée>1h 45 min</Durée>
    <Réalisateur>
    <Prénom>Sam</Prénom>
    <Nom>Mendes</Nom>
    </Réalisateur>
    <Description>Lester décide de changer la vie</Description>
    </Film>
    <Film Origine="FRANCE">
    <Titre>Van Gogh</Titre>
    <Acteur_principal Prénom="Jacques" Nom="Dutronc"/>
    <Date_sortie Année="1991" Mois="février" Jour="05"/>
    <Durée>1h 49 min</Durée>
    <Réalisateur>
    <Prénom>Maurice</Prénom>
    <Nom>Pialat</Nom>
    </Réalisateur>
    <Description>Histoire de la vie de Van gogh</Description>
    </Film>
    <Film Origine="USA">
    <Titre>Pige de cristal</Titre>
    <Acteur_principal Prénom="Bruce" Nom="Willis"/>
    <Date_sortie Année="1988" Mois="septembre" Jour="21"/>
    <Durée>2h 05 min</Durée>
    <Réalisateur>
    <Prénom>John</Prénom>
    <Nom>McClane</Nom>
    </Réalisateur>
    <Description>John Mc Clane, policier, vient passer Noel Los Angeles ...</Description>
    </Film>
    </Liste_des_films>
    Et voilà mon 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <xsl:stylesheet xmlnssl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" version="html4.01" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd"/>
    <xsl:template match="/">
     
    <html>
    <head>
    <link type="text/css" rel="stylesheet" href="Films.css"/>
    <title>FilmListe</title>
    </head>
    <body>
    <h1>Les Films americains</h1>
     
    <xsl:for-each select="Liste_des_films/Film"> 
     
    <xsl:sort order="ascending" />
     
    <h2>Titre: <xsl:number level = "single" format ="A)"/> <xsl:apply-templates select="Titre"/></h2>
     
    <h3>Informations:</h3>
     
    <ul>
    <xsl:for-each select="Date_sortie/@Année"><li><i>Date de sortie:</i> <xsl:apply-templates select="." /></li></xsl:for-each>
    <xsl:for-each select="Durée"><li><i>Durée:</i> <xsl:apply-templates select="." /></li></xsl:for-each>
    <xsl:for-each select="Réalisateur/Prénom"><li><i>Réalisateur:</i> <xsl:apply-templates select="." /></li></xsl:for-each>-<xsl:for-each select="Réalisateur/Nom"><xsl:apply-templates select="." /></xsl:for-each> 
    </ul> 
    <h3>Histoire et acteur principal:</h3> 
    <ul>
    <xsl:for-each select="Description"><li><i>Description:</i> <xsl:apply-templates select="." /></li></xsl:for-each>
    <xsl:for-each select="Acteur_principal/@Prénom"><li><i>Acteur principal:</i> <xsl:apply-templates select="." /></li></xsl:for-each>-<xsl:for-each select="Acteur_principal/@Nom"><xsl:apply-templates select="." /></xsl:for-each> 
    </ul> 
    </xsl:for-each>
     
    <br /><br /> 
    </body> 
    </html>
    </xsl:template>

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    ça devrait le faire...

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    	<xsl:output method="html" version="html4.01" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd"/>
     
    	<xsl:template match="/">
    		<html>
    			<head>
    				<link type="text/css" rel="stylesheet" href="Films.css"/>
    				<title>FilmListe</title>
    			</head>
    			<body>
    				<h1>Les Films americains</h1>
    				<xsl:apply-templates select="//Film">
    					<xsl:sort select="Titre" order="ascending"/>
    				</xsl:apply-templates>
    				<br /><br />
    			</body>
    		</html>
    	</xsl:template> 
     
    	<xsl:template match="Film">
    		<xsl:if test="position() &lt; 4">
    			<h2>Titre: <xsl:number   value="position()" format="A"/><xsl:text>) </xsl:text><xsl:value-of select="Titre"/></h2>
    			<h3>Informations:</h3>
    			<ul>
    				<li><i>Date de sortie : </i><xsl:value-of select="Date_sortie/attribute::Année" /></li>
    				<li><i>Durée : </i> <xsl:value-of select="Durée" /></li>
    				<li><i>Réalisateur : </i><xsl:value-of select="Réalisateur/Prénom" /><xsl:text> </xsl:text><xsl:value-of select="Réalisateur/Nom" /></li>
    			</ul>
    			<h3>Histoire et acteur principal:</h3>
    			<ul>
    				<li><i>Description : </i><xsl:apply-templates select="Description" /></li>
    				<li><i>Acteur principal : </i><xsl:value-of select="Acteur_principal/@Prénom" /><xsl:text> </xsl:text><xsl:value-of select="Acteur_principal/@Nom" /></li>
    			</ul>
    		</xsl:if>
    	</xsl:template>
     
    </xsl:stylesheet>

Discussions similaires

  1. Tri par ordre alphabétique d'un tabular
    Par max0u86 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 21/08/2008, 22h31
  2. Tri par ordre alphabétique sans tenir compte d'une chaîne
    Par Msieurduss dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/06/2008, 10h32
  3. problème tri par ordre alphabétique
    Par bibi 8002 dans le forum Word
    Réponses: 17
    Dernier message: 18/06/2008, 15h21
  4. Réponses: 8
    Dernier message: 26/07/2007, 11h46
  5. Tri par ordre alphabétique
    Par orus8 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/04/2003, 19h27

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