Nous nous intéresserons ici aux sources de données additionnelles, ainsi qu'à la manière d'utiliser vos propres fichiers RDF comme sources de données.
Autres sources de données pour Mozilla
Mozilla fournit nativement plusieurs sources de données. Certaines sont indiquées ici, avec quelques exemples. Leur fonctionnement est très similaire à celui des marque-pages, bien que les champs soient différents à chaque fois.
La liste d'historique de navigation
Cette source de données fournit l'accès à la liste d'historique de l'utilisateur, qui est une liste d'URLs que l'utilisateur a consulté récemment. On peut se référer à cette ressource en utilisant rdf:history
comme source de données. La table ci-dessous montre les ressources (ou champs) que vous pouvez récupérer depuis la source de donnée "history". Utilisez les URLs ci-dessous là où vous souhaitez que la valeur de la ressource soit utilisée.
Date | rdf:https://home.netscape.com/NC-rdf#Date | Date de la dernière visite |
Name | rdf:https://home.netscape.com/NC-rdf#Name | Titre de la page |
Page | rdf:https://home.netscape.com/NC-rdf#Page | Nom de la page |
Referrer | rdf:https://home.netscape.com/NC-rdf#Referrer | Page d'origine (referrer) |
URL | rdf:https://home.netscape.com/NC-rdf#URL | URL de la page |
Visit Count | rdf:https://home.netscape.com/NC-rdf#VisitCount | Nombre de visites de la page |
Une liste d'historique typique affichera un arbre doté d'une sélection de ces champs. Pour les utiliser, placez les URL ci-dessus dans l'attribut label
des boutons ou des cellules d'un arbre. Vous pouvez utiliser 'NC:HistoryRoot' comme valeur de l'attribut ref
. Vous pouvez également utiliser la valeur 'NC:HistoryByDate' pour obtenir la liste d'historique triée par jour.
Exemple d'utilisation de la liste historique
Voyons un exemple d'affichage de la liste d'historique. Nous afficherons l'historique dans un arbre avec les trois colonnes Nom, URL et Date.
<tree flex="1" datasources="rdf:history" ref="NC:HistoryRoot"> <treecols> <treecol id="name" label="Nom" flex="1"/> <treecol id="url" label="URL" flex="1"/> <treecol id="date" label="Date" flex="1"/> </treecols> <template> <rule> <treechildren> <treeitem uri="rdf:*"> <treerow> <treecell label="rdf:https://home.netscape.com/NC-rdf#Name"/> <treecell label="rdf:https://home.netscape.com/NC-rdf#URL"/> <treecell label="rdf:https://home.netscape.com/NC-rdf#Date"/> </treerow> </treeitem> </treechildren> </rule> </template> </tree>
Autres sources de données
Les tableaux ci-dessous listent quelques-unes des autres sources de données disponibles avec Mozilla. Vous pouvez les utiliser comme vous voulez.
Marque-pages ('rdf:bookmarks') :
Les marque-pages sont générés depuis la liste de marque-pages de l'utilisateur.
Ressources
Date d'ajout | rdf:https://home.netscape.com/NC-rdf#BookmarkAddDate | Date à laquelle le marque-page a été ajouté |
Description | rdf:https://home.netscape.com/NC-rdf#Description | Description du marque-page |
Dernière modification | rdf:https://home.netscape.com/WEB-rdf#LastModifiedDate | Date de la dernière modification |
Dernière visite | rdf:https://home.netscape.com/WEB-rdf#LastVisitDate | Date de la dernière visite |
Nom | rdf:https://home.netscape.com/NC-rdf#Name | Nom du marque-page |
Raccourci URL | rdf:https://home.netscape.com/NC-rdf#ShortcutURL | Champ de mots-clés personnalisés |
URL | rdf:https://home.netscape.com/NC-rdf#URL | L'URL vers laquelle pointe le lien |
Racines possibles pour les marque-pages
- 'NC
- BookmarksRoot' : La racine de la hiérarchie des marque-pages
- 'NC
- IEFavoritesRoot' : Le dossier de marque-pages correspondant aux « Favoris IE » de l'utilisateur
- 'NC
- PersonalToolbarFolder' : Le dossier de marque-pages correspondant au dossier de la barre d'outils personnelle
Fichiers('rdf:files') :
Une vue des fichiers de l'utilisateur.
Ressources
Nom | rdf:https://home.netscape.com/NC-rdf#Name | Nom du fichier |
URL | rdf:https://home.netscape.com/NC-rdf#URL | URL du fichier |
Racine possible des fichiers
- 'NC
- FilesRoot' : Racine du système de fichiers (habituellement une liste de disques)
- 'URL d'un fichier'
- En utilisant une URL de fichier pour l'attribut
ref
, vous pouvez choisir un répertoire/dossier à retourner. Par exemple, vous pouvez utiliser file:///windows ou file:///usr/local
La source de données de fichiers est un exemple de source de données qui ne détermine ses ressources que lorsque cela est nécessaire. Nous ne voulons pas que tous les fichiers du système de fichiers soient évalués avant d'afficher les données. Seuls nous intéressent les fichiers et répertoires que l'arbre (ou tout autre élément) doit afficher à un instant donné.
Sources de données composites
Vous pouvez spécifier plusieurs sources de données dans l'attribut datasources
en les séparant par des espaces, comme dans l'exemple ci-dessous. Les données seront ainsi lues dans toutes les sources de données mentionnées.
<tree datasources="rdf:bookmarks rdf:history animals.rdf" ref="NC:BookmarksRoot">
Cet exemple lit les ressources des marque-pages, de l'historique et d'un fichier nommé 'animals.rdf'. Celles-ci sont combinées en une source de données composite et peuvent être utilisées comme une unique source de données.
La source de donnée spéciale rdf:null
correspond à une source vide. Vous pouvez utiliser cette source de données si vous voulez gérer dynamiquement la source via un script, sans avoir à l'initialiser tout de suite ou parce que vous ne connaissez pas son URL exacte.
Sources de données RDF personnalisées
Vous pouvez utiliser chacune des sources de données internes ci-dessus si vous le désirez. Il en existe plusieurs autres, pour le courrier électronique, les carnets d'adresses, les recherches... Cependant, vous pouvez utiliser votre propre source de données RDF, enregistrée dans un fichier RDF. Le fichier peut être local ou distant. Il suffit d'indiquer l'URL du fichier RDF dans l'attribut datasources
.
L'utilisation des fichiers RDF apporte les mêmes fonctionnalités que n'importe quelle source de données interne. Vous pouvez utiliser des règles pour retrouver un type spécifique de contenu. Les attributs de l'élément rule
seront respectés s'ils correspondent aux attributs d'un élément RDF Description
. Vous pouvez également créer des fichiers RDF hiérarchiques.
Exemple d'utilisation d'un fichier RDF
Ce qui suit est un exemple d'utilisation d'un fichier RDF comme source de données. Le fichier RDF est relativement gros et peut être consulté séparément : Source RDF
<tree flex="1" width="200" height="200" datasources="animals.rdf" ref="https://www.some-fictitious-zoo.com/all-animals"> <treecols> <treecol id="name" label="Nom" primary="true" flex="1"/> <treecol id="species" label="Espèces" flex="1"/> </treecols> <template> <rule> <treechildren> <treeitem uri="rdf:*"> <treerow> <treecell label="rdf:https://www.some-fictitious-zoo.com/rdf#name"/> <treecell label="rdf:https://www.some-fictitious-zoo.com/rdf#species"/> </treerow> </treeitem> </treechildren> </rule> </template> </tree>
Ici, les données sont générées depuis le fichier RDF. L'attribut ref
a été positionné sur l'élément racine de ce fichier, qui est la balise de premier niveau Seq
. Nous obtenons une liste complète d'animaux. Si nous avions voulu, nous aurions pu positionner l'attribut ref
sur n'importe quelle valeur de l'attribut about
afin de limiter la quantité de données retournées. Par exemple, pour afficher seulement les reptiles, nous pouvons utiliser la valeur 'https://www.some-fictitious-zoo.com/reptiles'.
Exemple de définition de l'attribut ref
L'exemple ci-dessous montre comment afficher des éléments particuliers d'une source de données RDF en définissant l'attribut ref
.
<window id="example-window" title="Mammifères du zoo" xmlns:ANIMALS="https://www.some-fictitious-zoo.com/rdf#" xmlns="https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <button label="Cliquez ici pour voir les mammifères du zoo" type="menu" datasources="animals.rdf" ref="https://www.some-fictitious-zoo.com/mammals"> <template> <rule ANIMALS:specimens="0"></rule> <rule> <menupopup> <menuitem uri="rdf:*" label="rdf:https://www.some-fictitious-zoo.com/rdf#name"/> </menupopup> </rule> </template> </button> </window>
Dans le cas présent, nous voulons seulement la liste des mammifères, nous sélectionnons donc l'URI de la liste des mammifères. Vous remarquerez que la valeur de l'attribut ref
de notre exemple est 'https://www.some-fictitious-zoo.com/mammals', ce qui correspond à l'un des éléments Seq
du fichier RDF. Seuls les descendants de cette liste seront retournés.
Nous avons utilisé deux règles ici. La première filtre toutes les ressources dont l'attribut ANIMALS:specimen
est positionné à '0'. Vous pouvez voir cet attribut dans le fichier RDF pour chacun des éléments Description
. Certains d'entre eux ont une valeur de '0'. Dans ce cas, la première règle s'applique. Puisque cette règle n'a pas de contenu, rien ne sera affiché pour les éléments concernés. Ainsi, nous pouvons cacher les données que nous ne voulons pas afficher.
La seconde règle s'applique aux autres ressources et crée une rangée dans un menu surgissant. Le résultat final est un menu surgissant contenant tous les mammifères dont le spécimen n'est pas positionné à '0'.
Dans la prochaine section, nous examinerons la syntaxe des règles complètes.
Interwiki