j'ai écrit un peu vite, il fallait évidement lire :
<xsl:for-each select="liste/membre[contains(types,'journalisme')]">
Stéphane (qui devrait tourner sept fois sa souris avant d'envoyer un mail)
Stephane Bonhomme wrote:
>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)
>
>
>
>
--
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 22:21:45 2005