Re: Variables dans document()

[email protected]
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Je pense que ca risque de peter à un moment ou un autre. Car a chaque
fois, faut parcourir tout les fichiers.

Cependant ce n'est plus notre problème aprés, nous sommes obligés de tout
gérer à l'aide de fichiers XML... Je suis pas pour mais bon... c'est pas
moi qui décide. Ce projet, c'est juste mon stage de 2eme année de BTS...
Alors bien entendu je veux faire un truc performant mais bon, je crois que
là on a pas le choix.

> Le jeudi 23 février 2006 à 15:32 +0100, [email protected] a écrit :
>> En fait, "Pour le mot..." c'est simplement pour m'aider a debugguer...
>>
>> Tout ce que je veux, c'est une liste de fichier en fait, peut importe le
>> mot.
> Dans ce cas, essayez la dernière solution que je propose. Je ne l'ai pas
> testé et elle peut contenir des erreurs, mais le principe devrait
> fonctionner.
>
> Notez que je suis toujours très réservé sur le résultat que cela va
> donner en terme de temps de réponse quand vous aurez "pas mal de gros
> documents"!
>
>> En reprenant l'exemple que j'ai donné : Le script doit me retourner
>> uniquement le fichier article_2.xml une seule fois. C'est tout. Peu
>> importe les mots clefs :D Apres si je peux trier lesfichiers selon le
>> plus
>> de mots clefs commun ca serait le top mais sinon c'est pas grave.
>
> Il faut rajouter un xsl:sort :
>
> <xsl:template match="liste">
>         <xsl:for-each
> select="theme/fichier[document(.)/ARTICLE/motclefs//mot =
> document($article_origine)/ARTICLE/motclefs//mot">
>                 <xsl:sort
> select="count(document(.)/ARTICLE/motclefs//mot[.=document($article_origine)/ARTICLE/motclefs//mot])"
> order="descendi"/>
>                 <p><font color="#FF0000"><b><xsl:value-of
> select="."/></b></p>
>         </xsl:for-each>
> </xsl:template>
>
>> > Le jeudi 23 février 2006 à 15:15 +0100, [email protected] a écrit :
>> >> OKI Parfait, ca marche nickel.
>> >>
>> >> Cependant j'ai un petit soucis.
>> >>
>> >> Imaginons : J'ai 2 fichiers article_1.xml et article_2.xml
>> >>
>> >> article_1.xml possède les mot clefs suivant : a,b,c
>> >> article_2.xml possède les mots clefs suivant : a,b
>> >> article_3.xml possède les mots clefs suivant : d
>> >>
>> >> Je cherche à afficher les articles qui ont des mots clefs en communs
>> >> avec
>> >> article_1.xml
>> >>
>> >> J'ai fait cela :
>> >>
>> >> <xsl:template match="liste">
>> >>
>> >> 	<xsl:variable name="liste" select="."/>
>> >>
>> >> 	<xsl:for-each
>> >> select="document($article_origine)/ARTICLE/motclefs//mot">
>> >> 		<p><font color="#FF0000"><b>Pour le mot : <xsl:value-of select="."
>> >> /></b></font></p>
>> >>
>> >> 		<xsl:apply-templates
>> >> select="$liste/theme/fichier[.!=$article_origine]">
>> >> 			<xsl:with-param name="mot_en_cours" select="."/>
>> >> 		</xsl:apply-templates>
>> >>
>> >> 	</xsl:for-each>
>> >> </xsl:template>
>> >>
>> >> <xsl:template match="fichier">
>> >> 	<xsl:param name="mot_en_cours"/>
>> >>
>> >> 	<xsl:apply-templates
>> >> select="document(.)/ARTICLE/motclefs//mot[.=$mot_en_cours]">
>> >> 		<xsl:with-param name="fichier" select="."/>
>> >> 		<xsl:with-param name="titre" select="document(.)/ARTICLE/id"/>
>> >> 	</xsl:apply-templates>
>> >>
>> >> </xsl:template>
>> >>
>> >> <xsl:template match="mot">
>> >> 	<xsl:param name="fichier"/>
>> >> 	<xsl:param name="titre"/>
>> >> 	<b><xsl:value-of select="$fichier" /></b><br/>
>> >> </xsl:template>
>> >>
>> >> Ca me retourne bien article_2.xml cependant ca me le retourne en
>> double
>> >> car ils ont 2 mots en commun.
>> >>
>> >> Y'a t-il moyen de virer ce double affichage?
>> > Vous pouvez raisonner de manière ensembliste et non mot par mot :
>> >
>> > <xsl:template match="liste">
>> >         <xsl:for-each
>> > select="theme/fichier[document(.)/ARTICLE/motclefs//mot =
>> > document($article_origine)/ARTICLE/motclefs//mot">
>> >                 <p><font color="#FF0000"><b><xsl:value-of
>> > select="."/></b></p>
>> >         </xsl:for-each>
>> > </xsl:template>
>> >
>> > Mais vous n'associez plus un fichier commun à un mot clé et j'avais
>> > l'impression que c'était ce que vous vouliez faire puisque vous
>> > affichiez "pour le mot... suivi d'une liste de fichiers".
>> >
>> > Cordialement,
>> >
>> > Eric van der Vlist
>> > --
>> > GPG-PGP: 2A528005
>> > Have you ever thought about unit testing XSLT templates?
>> >                                                      http://xsltunit.org
>> > ------------------------------------------------------------------------
>> > Eric van der Vlist       http://xmlfr.org
>> http://dyomedea.com
>> > (ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
>> > (W3C) XML Schema ISBN:0-596-00252-1
>> http://oreilly.com/catalog/xmlschema
>> > ------------------------------------------------------------------------
>> >
>> >
>> > -- Attached file included as plaintext by Ecartis --
>> >
>> > -----BEGIN PGP SIGNATURE-----
>> > Version: GnuPG v1.4.1 (GNU/Linux)
>> >
>> > iD8DBQBD/cZFDvn+ZCpSgAURAh2sAKCSDBZf0I84KBLK/EjdG3aFf3f7WACeMB+x
>> > TBWXhFE1gHkrwW5qM7uZRqs=
>> > =xqCN
>> > -----END PGP SIGNATURE-----
>> >
>> >
>> > --
>> > Devenez redacteur <XML>fr et contribuez au developpement du
>> > xml francophone (http://xmlfr.org/infos/redacteurs/) !
>> >
>> > Liste de diffusion "[email protected]" (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 [email protected]
>> > (mailto:[email protected]?Subject=unsubscribe)
>> >
>> >
>>
>>
>>
>> --
>> Devenez redacteur <XML>fr et contribuez au developpement du
>> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>>
>> Liste de diffusion "[email protected]" (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 [email protected]
>> (mailto:[email protected]?Subject=unsubscribe)
>>
>>
> --
> GPG-PGP: 2A528005
> Le premier annuaire des apiculteurs 100% XML!
>                                                 http://apiculteurs.info/
> ------------------------------------------------------------------------
> Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
> (ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
> (W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
> ------------------------------------------------------------------------
>
>
> -- Attached file included as plaintext by Ecartis --
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQBD/csWDvn+ZCpSgAURAs8kAJ9FsvHY/Aq1QfRyQojNvgJK98TApACdEIpu
> M9Zu9hdIcvdAUArAVWsrIzA=
> =aW42
> -----END PGP SIGNATURE-----
>
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "[email protected]" (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 [email protected]
> (mailto:[email protected]?Subject=unsubscribe)
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.