Bonsoir,
Tout d'abord, il est dommage que l'élément types n'est structuré avec
des sous elements ce qui faciliterait votre traitement, mais peut etre
n'etes vous pas maitre du modele de données...
En tout cas quand vous faites
<xsl:if test="contains(types,journalisme)">
Vous testez l'appartenance au noeud types (qui contient lui-meme un noeud texte) du noeud journalisme converti en texte (qui bien dur n'existe pas)
Ce que vous voulez faire est tester l'appartenance de la *chaine* journallisme :
contains(types,'journalisme')
Un petit conseil en passant : pourquoi ne pas itérer sur seulement les
memebres journaliste, plutot que de tous les parcourir et tester chacun
d'entre eux ?
...
<xsl:for-each select="liste/membre[contains(types,journalisme)]">
<tr>
<td>
....
Cordialement,
Stéphane.
Marc Dionne wrote:
>Bonjour,
>
>À partir d'un fichier comme celui-ci :
>____________________________________________________________
><?xml version="1.0" encoding="ISO-8859-1"?>
><?xml-stylesheet type="text/xsl" href="journalisme.xsl"?>
><!DOCTYPE liste [
> <!ELEMENT liste (membre+)>
> <!ELEMENT membre (nom?, tel, telec, types, domaines)>
> <!ELEMENT nom (#PCDATA)>
> <!ATTLIST nom courriel CDATA #IMPLIED>
> <!ELEMENT tel (#PCDATA)>
> <!ELEMENT telec (#PCDATA)>
> <!ELEMENT types (#PCDATA)>
> <!ELEMENT domaines (#PCDATA)>
>]>
><liste>
> <membre>
> <nom courriel="Aubin' target=_blank>mailto:nom@prenom.com">Aubin, Charles</nom>
> <tel>514 123-4567</tel>
> <telec>514 123-4568</telec>
> <types>journalisme · marketing · traduction</types>
> <domaines>allocutions et discours · brochures · économie · relations publiques · sites Web</domaines>
> </membre>
> <membre>
> <nom courriel="Bibeau' target=_blank>mailto:nom@prenom.com">Bibeau, Rita</nom>
> <tel>514 456-7890</tel>
> <telec>514 456-7891</telec>
> <types>journalisme · marketing</types>
> <domaines>économie · relations publiques · sites Web</domaines>
> </membre>
> <membre>
> <nom courriel="Carpentier' target=_blank>mailto:nom@prenom.com">Carpentier, Michel</nom>
> <tel>514 616-9596</tel>
> <telec>514 616-9597</telec>
> <types>marketing · traduction</types>
> <domaines>allocutions et discours · brochures · économie</domaines>
> </membre>
></liste>
>____________________________________________________________
>J'aimerais extraire la liste des membres dont le journalisme fait partie des types d'activité.
>
>Le contenu du XSL correspondant est le suivant :
>____________________________________________________________
><?xml version='1.0' encoding="ISO-8859-1"?>
><xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
><xsl:template match="//">
> <html>
> <table border="1">
> <tr>
> <th>Nom</th>
> <th>Téléphone</th>
> <th>Télécopieur</th>
> <th>Types</th>
> <th>Domaines</th>
> </tr>
> <xsl:for-each select="liste/membre">
> <xsl:if test="contains(types,journalisme)">
> <tr>
> <td><xsl:value-of select="nom"/></td>
> <td><xsl:value-of select="tel"/></td>
> <td><xsl:value-of select="telec"/></td>
> <td><xsl:value-of select="types"/></td>
> <td><xsl:value-of select="domaines"/></td>
> </tr>
> </xsl:if>
> </xsl:for-each>
> </table>
> </html>
></xsl:template>
></xsl:stylesheet>
>____________________________________________________________
>
>J'essais de tester si l'élément "types" contient la chaîne "journalisme", mais quelque chose cloche.
>
>Quelqu'un peut-il m'éclairer?
>
>Merci!
>
>
>Marc Dionne
>
>
>---------------------------------
>Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.
>
>
>--
>Devenez redacteur <XML>fr et contribuez au developpement du
>xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
>Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
>Cette liste est a votre disposition pour discuter en francais de
>tout sujet technique lie a XML.
>
>Pour resilier votre abonnement, envoyez un message contenant
>la commande "unsubscribe" a xml-tech-request@xmlfr.org
>(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>
>
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Thu Sep 8 21:53:40 2005