Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Fonctionnement de find:datasource

Envoyé par : guyzmo

Date : 25/03/2006 16:17

Bonjour, est ce quelqu'un a compris le fonctionnement utilisé pour la recherche dans l'historique et les bookmarks de firefox ? La recherche est faite en mettant l'attribut ref de l'arbre avec qqchose ressemblant à

 arbre.setAttribute("ref","find:datasource=history&match=Name&method=contains&text=" + encodeURIComponent(recherche)); 

Je n'ai pas reussit à trouver dans les sources de Mozilla ou se comportement est codé, par contre, j'ai vu qu'il y a plusieurs façons de l'utiliser:

Je n'arrive pas à utiliser cette recherche avec mes arbres et mes sources de données (même si cette source est un composant xpcom accessible par rdf:la_source). tree.setAttribute("ref", "find:datasource=history&groupby=Hostname"); http://lxr.mozilla.org/seamonkey/source/(..)

  3796 // convert the query in mQuery into a find URI
3797 // if there is a groupby= in the query, then convert that
3798 // into the start of another search term
3799 // for example, in the following query with one term:
3800 //
3801 // term[0] = { history, AgeInDays, is, 0 }
3802 // groupby = Hostname
3803 //
3804 // we generate the following uri:
3805 //
3806 //  find:datasource=history&match=AgeInDays&method=is&text=0&datasource=history
3807 //   &match=Hostname&method=is&text=
3808 //
3809 // and then the caller will append some text after after the  "text="
3810 //

http://lxr.mozilla.org/seamonkey/source/(..).

Est-ce que je doit définir ce comportement dans le code de mon composant de ma source de données ? Est-ce qu'il faut que j'oublie cette méthode ? Comment ce fait-il que ce comportement ne soit pas référencé sur xulplanet ? Pourquoi ça marche pas avec mes sources de données ?

Donc si quelqu'un pourrait m'éclaircir, ça serait sympa.

Modif: Voici le code de la source de données de l'historique http://lxr.mozilla.org/seamonkey/source/(..)

# Re: Fonctionnement de find:datasource

Envoyé par : laurentj

Date : 27/03/2006 10:34

Tiens je ne connaissais pas ça :-)

Je ne sais pas comment tout ceci est implémenté. J'ai l'impression toutefois que c'est un hack en dur spécifique pour les bookmarks et l'historique.

Une chose dont je suis à peu prés certain : si il est possible d'utiliser find: pour n'importe quel source de donnée, je pense qu'il faut fournir le code qui va effectuer la recherche. En effet, si j'ajoute foo=bar dans l'url, comment le moteur rdf/template sait sur quel type de triple chercher ?

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.