Brevet FR2925721A1 — publié le 20090626

La présente invention concerne un procédé et un dispositif de compilation d'une pluralité d'expressions à évaluer sur un document structuré et un procédé et dispositif d'évaluation d'une pluralité d'expressions sur un document structuré. L'invention se situe dans le domaine technique des langages de balisage tels que XML (acronyme de � Extensible Markup Language �), et en particulier au domaine de l'évaluation ou du filtrage de documents XML en utilisant des expressions XPath (pour � XML Path Language �). Le langage XML est une syntaxe permettant de définir des langages informatiques, adaptés à des utilisations différentes mais pouvant être traités par les mêmes outils. XML est en train de devenir un standard pour la représentation structurée et l'échange de données sur Internet. Un document au format XML est composé d'un ensemble d'items d'information ou de noeuds selon la spécification XML (voir XML Information Set à l'adresse http://www.w3.org/TR/xml-infoset/). Chaque noeud peut être de différents types : racine pour le début d'un document, élément, attribut, texte, commentaire, instruction de traitement (en anglais, � processing instruction �) ou espace de nommage (en anglais, � namespace �). Un noeud XML peut être décomposé, notamment pour un traitement à la volée, en une suite d'évènements, comme par exemple début d'élément et fin d'élément. Par exemple, chaque élément commence par une balise ouvrante comportant le nom de l'élément (par exemple : ) et se termine par une balise fermante, comportant également le nom de l'élément (par exemple ). Chaque élément peut comporter d'autres éléments, appelés � éléments enfants �, ou des données textuelles. Ainsi, la syntaxe XML permet de définir des éléments imbriqués ayant une structure hiérarchique représentée par une relation de filiation. D'autre part, un élément peut être précisé par des attributs, chaque attribut étant défini par un nom et ayant une valeur. Par ailleurs, la syntaxe XML permet de définir des commentaires (par exemple ) et des instructions de traitement, qui peuvent préciser à une application informatique les traitements à appliquer au document XML. De plus, plusieurs langages différents basés sur XML peuvent contenir des éléments de même nom. Afin de gérer ce cas de figure, la syntaxe XML permet de définir des espaces de nommage. Ainsi, deux éléments sont identiques seulement s'ils ont le même nom et se trouvent dans le même espace de nommage. XPath est une spécification du consortium W3C (acronyme de World Wide Web Consortium �, organisation qui produit des standards pour Internet), qui définit une syntaxe pour adresser des parties d'un document XML. La syntaxe XPath, définie dans le document qui peut être trouvé à l'adresse http://www/w3.org/TR/xpath (recommandation W3C XML Path language (XPath) version 1.0, auteurs Steven DeRose, James Clark, 16 Nov. 1999), définit quatre types de données, qui sont chaîne de caractères, booléen, nombre et ensemble de noeuds, ainsi que des expressions permettant de manipuler ces données. La spécification de XPath 1.0, ainsi que la spécification XPath 2.0, définit 7 types de noeuds. Par la suite, pour simplifier, nous parlerons de 'XPath' en général, faisant référence à la fois à la syntaxe XPath 1.0 et XPath 2.0. Un noeud XPath permet de représenter les différents types d'événements XML brièvement rappelés ci-dessus. La syntaxe XPath définit une grammaire décrivant les règles de construction des expressions XPath. II est possible de regrouper les expressions XPath en deux catégories, les expressions de navigation et les expressions de calcul. Les expressions dites de navigation sont les expressions qui retournent une liste ordonnée de noeuds XPath, appelés noeuds solution. En particulier, une expression de navigation comprend un chemin de localisation (connu sous le nom de LocationPath dans la syntaxe XPath). Un chemin de localisation peut être absolu ou relatif. Un chemin de localisation absolu peut être évalué à partir de la racine d'un document, et commence par un symbole '/' ou 'I/' selon la syntaxe XPath. Un chemin de localisation relatif à un noeud courant considéré doit être évalué à partir d'un noeud appelé noeud contexte. Toute expression de type chemin de localisation est composée d'une ou plusieurs étapes de chemin (connues sous le nom de Steps en terminologie XPath). Une étape de chemin peut être mise en correspondance avec un niveau de profondeur dans un document XML. Par exemple, l'expression `/cd/title' contient deux étapes de chemin qui sont `cd', qui sera recherché dans un document XML à la profondeur 1 et 'title' qui sera recherché dans le document XML à la profondeur 2. L'évaluation d'une étape de chemin se fait par rapport au résultat de l'évaluation de l'étape de chemin parente, c'est-à-dire qui la précède dans l'expression de type chemin de localisation. Toute expression de type étape de chemin (Step) est composée de trois entités : - AxisSpecifier (ou axe en français), optionnel (child par défaut), décrit la relation de descendance ou d'ascendance entre le noeud contexte et les noeuds solution du Step. L'AxisSpecifier est un mot-clé parmi 13 mots-clés prédéfinis par la syntaxe XPath, suivi de � :: �. Par exemple : /a/child ::b ou /a/attribute ::b signifient respectivement que l'on cherche un noeud � b � fils d'un nœud � a � et un noeud attribut � b � fils d'un noeud � a �, le noeud � a � se trouvant directement sous la racine du document ; - NodeTest (ou test de noeud en français), obligatoire, définit la contrainte de type (par exemple nodeO, textO, comment() ou processinginstruction()) ou de nom (préfixe + nom) que doivent respecter des noeuds pour être considérés comme solution du Step. Par exemple, /child ::b , qui recherche des noeuds � b � fils de la racine du document, impose une contrainte de nom alors que /descendant::commentO permet de rechercher tous les noeuds de type commentaire ; - Predicate (ou prédicat en français), optionnel, permet d'imposer des conditions supplémentaires pour la recherche de nœuds solution. Une expression � prédicat � est signalée par des crochets : � [...] � et suit les mêmes règles de construction que toute expression XPath. Par exemple : /a/b[2] permet de sélectionner tous les deuxièmes fils � b � de chaque élément � a � ; /a/b[@id= � 3�] permet de sélectionner les fils � b � de � a � possédant un attribut � id � ayant une valeur égale à 3. Les expressions dites de calcul peuvent également être de plusieurs types : -expressions retournant un booléen : OrExpr, AndExpr, RelativeExpr, EqualityExpr; - expression retournant un nombre : AdditiveExpr, MultiplicativeExpr ; -expressions retournant n'importe quel type : FilterExpr et en particulier les FunctionCall. Il est également possible d'introduire la notion d'expression relative ou absolue pour une expression de calcul. Ainsi, toute expression de calcul qui contient explicitement ou implicitement comme paramètre, argument ou opérande un chemin de localisation relatif est considérée comme une expression relative. Il existe plusieurs langages définis par le consortium W3C qui s'appuient sur la syntaxe XPath pour définir des requêtes de traitement sur des documents XML. Par exemple XSLT (acronyme pour � XML Style Sheet Transformation �, défini dans la recommandation W3C 'XSL Transformations Version 1.0', auteur James Clark, publiée le 16 Novembre 1999, disponible à l'adresse http://www.w3.org/TR/xslt) permet de définir des requêtes sur des documents XML en vue de leur transformation, XPointer, défini dans la spécification W3C 'XPointer element() scheme', datée du 25 mars 2003, disponible à l'adresse http://www.w3.org/TR/WD-xptr, permet de définir des requêtes pour accéder rapidement à des sous-parties de documents XML et XQuery, défini dans la recommandation W3C 'XQuery 1.0 : An XML Query Language', datée 23 Janvier 2007, disponible à l'adresse http://www.w3.org/TR/xquery permet de définir des requêtes pour effectuer des traitements sur des parties de documents XML. La figure 1 illustre un exemple de document 1 au format XSLT, comportant des instructions permettant de créer un document intitulé 'My CD Collection', contenant les titres ('title') et noms d'artistes ('artist') de CDs dont l'année est 2007, organisés dans un tableau, ces CDs étant à partir d'un document XML contenant un élément `catalog' ayant des éléments enfants de type 'cd'. Comme montré sur la figure 1, le document 1 contient quatre expressions XPath : - Expression 1 : � I � - Expression 2 : /catalog/cd[year='2007'] -Expression 3 : � title � - Expression 4 : � artist � Les deux premières (Expression 1, Expression 2) sont des expressions absolues, et les deux suivantes (Expression 3, Expression 4) sont des expressions relatives. L'exemple de la figure 1 illustre le fait qu'un langage tel que XSLT génère une pluralité d'expressions XPath, à évaluer sur un même document XML. Il est donc nécessaire de pouvoir évaluer simultanément et efficacement une pluralité d'expressions XPath sur un ou plusieurs documents 15 XML. L'entité responsable de l'évaluation XPath est appelée `processeur XPath'. Un processeur XPath prend en entrée d'une part, une ou plusieurs expressions XPath, et d'autre part, une référence sur des données XML, lues à partir d'un fichier ou reçues via une transmission réseau, sur lesquelles la ou 20 les expressions XPath doivent être évaluées. Une implémentation possible d'un processeur XPath consisterait à construire une représentation intermédiaire des données XML sous la forme d'un arbre DOM (acronyme de `Document Object Model', défini selon la recommandation W3C http:/www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath- 25 20040226/xpath.html), et à parcourir cet arbre autant de fois que nécessaire pour extraire les noeuds XML résultat de la ou des expressions XPath à évaluer. Une telle approche pose plusieurs problèmes. D'une part, elle s'avère coûteuse en mémoire, en particulier pour le traitement de documents XML de grande taille. Ceci est un inconvénient en 30 particulier lorsque le processeur XPath est implanté dans un appareil embarqué, comme par exemple un appareil photo ou un photocopieur, qui dispose généralement de ressources mémoire limitées. D'autre part, une telle approche implique de multiples parcours de la structure arborescente stockée en mémoire, ce qui est incompatible avec le traitement des données XML à la volée (également appelée `streaming' en terminologie anglo-saxonne). Un traitement à la volée est notamment nécessaire dans le cas où les données XML proviennent des messages échangés entre appareils clients et serveurs communiquant par l'intermédiaire d'un réseau de communication. En particulier, les services Web utilisent des messages en langage XML, par exemple des messages SOAP pour la transmission et WSDL pour la description de services. Dans la demande de brevet US20060167869, intitulée 'Multi-path simultaneous XPath évaluation over data streams', est proposée une méthode d'évaluation à la volée de multiples expressions XPath sur des données XML, donc au cours d'un unique parcours du document XML. Dans cette méthode, chaque expression est représentée par un graphe de noeuds à entrées multiples. Pour les expressions relatives, seul le cas des expressions relatives multiples de même profondeur est considéré dans cette demande de brevet. La profondeur des étapes de chemin des expressions traitées est utilisée pour construire le graphe de noeuds. Cette méthode présente l'inconvénient de devoir gérer, de manière relativement complexe, l'utilisation ou non d'un contexte d'évaluation au moment de l'évaluation de chaque expression XPath. De plus, cette méthode ne permet pas de traiter efficacement des expressions relatives ayant des étapes de chemin d'un niveau de profondeur quelconque. La présente invention a pour but de permettre l'évaluation à la volée de multiples expressions XPath, absolues ou relatives. De plus, la présente invention vise à proposer une méthode efficace en termes de coût calculatoire. A cet effet, la présente invention propose un procédé de compilation d'une pluralité d'expressions à évaluer sur un document structuré, Ce procédé comprend, pour chaque expression de la pluralité d'expressions à évaluer, les étapes suivantes : - détermination du type relatif ou absolu de ladite expression, une expression relative étant une expression dont l'évaluation dépend de l'évaluation d'au moins une autre expression de la pluralité d'expressions, - si ladite expression est une expression relative, obtention d'une expression contexte associée à ladite expression relative parmi les expressions de la pluralité d'expressions traitées préalablement, - construction d'une représentation compilée pour ladite expression à évaluer, telle qu'une représentation compilée d'expression relative comprend un lien vers la représentation compilée de l'expression contexte associée. Ainsi, l'invention permet de construire une représentation compilée liant les diverses expressions à évaluer entre elles, et notamment en liant les expressions relatives aux expressions contexte associées, de manière à pouvoir conditionner l'évaluation des expressions relatives à celle des expressions contexte associées. Cette méthode a l'avantage de proposer un tel lien au niveau de la représentation compilée. Ce lien est construit une fois au moment de la compilation et peut être exploité de nombreuses fois pour l'évaluation. Ainsi, le procédé selon l'invention permet d'optimiser la complexité et le temps d'évaluation d'une pluralité d'expressions sur un document structuré. Le procédé trouve une application particulière dans le cas d'expressions XPath à évaluer sur des documents structurés en format XML. Selon des caractéristiques particulières, le document structuré comporte des éléments de type 'noeud', et le résultat de l'évaluation d'une expression contexte associée à une expression relative comprend au moins un noeud du document structuré. Dans un mode de réalisation, le procédé comprend en outre une étape d'association d'un identifiant unique à la représentation compilée de chaque expression. Ainsi, toues les expressions à évaluer peuvent être retrouvées de manière aisée lors des divers traitements à appliquer. En pratique, l'identifiant unique est un indice. Selon des caractéristiques particulières, une expression à évaluer comprend au moins une sous-expression, et l'étape de construction comprend, 30 pour une expression à évaluer, les sous-étapes de : - identification des sous-expressions de ladite expression à évaluer et -détermination du type de la sous-expression identifiée parmi les types dits de navigation et de calcul. Ainsi, il est ensuite possible de traiter différemment lors de la compilation les sous-expressions de type chemin de navigation et les sous- expressions de type calcul, ce qui permet d'améliorer encore l'efficacité globale de traitement. Selon un mode de réalisation particulier, dans lequel une sous-expression de navigation comprend au moins une étape de chemin de localisation, l'étape de construction comprend, pour une sous-expression de type navigation, une étape de représentation de chaque étape de chemin de localisation de ladite sous-expression sous la forme d'une cible de navigation compilée, une cible de navigation compilée comportant au moins une information relative au type d'étape de chemin. Le type d'étape de chemin est sélectionné parmi les types `racine' et `intermédiaire'. Une étape de chemin 'racine' est une première étape d'un chemin de localisation. Les autres étapes de chemin sont des étapes de chemin de type `intermédiaire'. Une telle représentation est particulièrement adaptée pour les étapes de chemin (Steps) de XPath. Selon une caractéristique particulière, l'étape de construction comprend en outre, pour une expression relative, une étape d'ajout d'une information indiquant un lien de descendance entre la première cible de navigation compilée de sa représentation compilée et la dernière cible de navigation compilée de la représentation compilée de l'expression contexte associée à ladite expression relative. En pratique, la dernière cible de navigation compilée de la représentation compilée de l'expression contexte est désignée comme la cible de navigation compilée parente de la première cible de navigation compilée de l'expression relative. Ainsi, dans la représentation compilée, une expression relative est liée par un lien de descendance à son expression contexte, ce qui permettre ultérieurement d'évaluer une expression relative conditionnellement à l'évaluation de son expression contexte. Selon une caractéristique particulière, l'étape de construction comporte en outre, pour une expression relative, une étape d'ajout d'une information indiquant le type `racine virtuelle' pour la première cible de navigation compilée de la représentation compilée de ladite expression relative. Ce changement de type permet de considérer la première cible de navigation compilée correspondant à une expression relative comme une cible de navigation compilée 'racine', ce qui induira par la suite un traitement particulier au moment de l'évaluation. Selon un mode de mise en oeuvre, les cibles de navigation compilées sont organisées dans un arbre de navigation, chaque cible de navigation compilée étant associée à un noeud de l'arbre de navigation. Selon un mode de réalisation, le procédé comprend, pour une sous-expression de type calcul, une étape d'insertion d'une représentation de ladite sous expression de type calcul dans un noeud d'un arbre d'instruction. L'arbre d'instructions et l'arbre de navigation sont regroupés en une représentation compilée, ladite représentation compilée comprenant en outre ledit identifiant associé à chaque expression de la pluralité d'expressions. Selon un mode de mise en oeuvre, chaque identifiant associé à une expression de la pluralité d'expressions est stocké dans un noeud de l'arbre d'instructions. Ainsi, la représentation compilée des expressions à évaluer est complète, et permet d'optimiser le temps de traitement au moment de l'évaluation, grâce aux représentations arborescentes des arbres d'instruction et de navigation, et aux liens entre ces deux structures. Selon une caractéristique de l'invention, l'étape de détermination des expressions relatives, comprend, pour une expression à évaluer, les étapes de : - analyse lexicale de ladite expression et - analyse sémantique de ladite expression. De plus, dans un mode de réalisation, le procédé de compilation selon l'invention comprend, après l'étape de construction d'une représentation compilée d'une expression courante, une étape d'empilement de l'identifiant de ladite expression courante dans une structure de mémorisation des identifiants des expressions à traiter. Dans ce même mode de réalisation l'étape d'obtention d'une expression contexte comprend une sous-étape de dépilement de l'identifiant de l'expression préalablement mémorisé dans la structure de mémorisation des identifiants des expressions à traiter. Dans ce mode de réalisation, il est aisé de retrouver l'identifiant unique de l'expression contexte d'une expression courante, de manière à retrouver rapidement une représentation compilée de l'expression contexte de l'expression relative courante. Selon un mode de réalisation, l'étape d'obtention d'une expression contexte comporte les sous-étapes de : -obtention du dernier identifiant mémorisé dans la structure de mémorisation des identifiants des expressions à traiter et -extraction de la représentation compilée de l'expression contexte compilée à partir de l'identifiant obtenu. Corrélativement, la présente invention concerne un dispositif de compilation d'une pluralité d'expressions à évaluer sur un document structuré. Ce dispositif est caractérisé en ce qu'il comprend, pour chaque expression de la pluralité d'expressions à évaluer : - des moyens de détermination du type relatif ou absolu de ladite expression, une expression relative étant une expression dont l'évaluation dépend de l'évaluation d'au moins une autre expression de la pluralité d'expressions, -des moyens d'obtention, aptes à être appliqués si ladite expression est une expression relative, d'une expression contexte associée à ladite expression relative parmi les expressions de la pluralité d'expressions traitées préalablement, - des moyens de construction d'une représentation compilée pour ladite expression à évaluer, telle qu'une représentation compilée d'expression relative comprend un lien vers la représentation compilée de l'expression contexte associée. Les avantages de ce dispositif sont les mêmes que les avantages du procédé de compilation d'une pluralité d'expressions à évaluer sur un document structuré, ils ne sont donc pas rappelés ici. Selon un second aspect, l'invention concerne un procédé d'évaluation d'une pluralité d'expressions sur un document structuré, d'évaluation d'une pluralité d'expressions sur un document structuré, caractérisé en ce qu'il comporte une étape d'évaluation mettant en oeuvre des représentations compilées des expressions de la pluralité d'expressions générées par un procédé de compilation tel que succinctement décrit ci-dessus. De plus, le procédé d'évaluation met en oeuvre également chaque lien d'une expression relative vers l'expression contexte associée. Ainsi, l'évaluation d'une pluralité d'expressions sur un document structurée est facilitée, notamment lorsqu'il s'agit d'expressions relatives dont l'évaluation dépend du résultat de l'évaluation d'une expression contexte. Grâce aux liens entre expressions relatives et expressions contexte préalablement stockés dans la structure de représentation compilée, cette dépendance est facilement prise en compte au moment de l'évaluation. Selon une caractéristique particulière, l'étape d'évaluation comprend une sous-étape de création, pour chaque cible de navigation compilée de type `racine', d'une cible d'évaluation correspondante. Selon un mode de réalisation, les cibles d'évaluation sont organisées en arbre d'évaluation en fonction des liens de parenté entre cibles de navigation compilées correspondantes. Selon un mode de réalisation particulier, chaque cible d'évaluation comporte une valeur indicative d'un statut d'activation pour l'évaluation pouvant prendre les valeurs `activé' ou `désactivé'. Dans ce mode de réalisation, l'étape d'évaluation comprend en outre les sous-étapes de : -création d'une liste de cibles d'évaluation à évaluer en fonction d'un niveau de profondeur courant dans un arbre d'évaluation, et -pour chaque cible d'évaluation de la liste, mise du statut d'activation pour l'évaluation à 'activé' en fonction de l'état d'activation pour l'évaluation de la cible d'évaluation parente de ladite cible. Grâce à l'ajout de cette caractéristique de statut d'activation pour l'évaluation, il est possible d'activer ou désactiver certaines cibles d'évaluation en fonction de l'état d'évaluation des cibles d'évaluation parentes, et donc de mettre en oeuvre une évaluation conditionnelle. Selon un mode de réalisation, le procédé d'évaluation comprend en outre une étape de désactivation pour l'évaluation d'au moins une expression de la pluralité d'expressions, ladite étape de désactivation comprenant, pour chaque sous-expression de ladite expression à désactiver, une sous-étape de marquage d'un statut d'évaluation de ladite sous-expression à 'terminé'. Dans ce mode de réalisation, dans le cas où la sous-expression de l'expression à désactiver est de type chemin de localisation, le procédé comprend une sous-étape de désactivation du statut d'activation pour l'évaluation de la première cible d'évaluation correspondant à ladite sous-expression. Selon un autre mode de réalisation, le procédé d'évaluation comprend en outre une étape de ré-activation pour l'évaluation d'au moins une expression de la pluralité d'expressions, ladite étape de ré-activation comprenant, pour chaque sous-expression de ladite expression à ré-activer, une sous-étape de marquage d'un statut d'évaluation de ladite sous-expression à 'encours'. Dans ce mode de réalisation, dans le cas où la sous-expression de l'expression à ré-activer est de type chemin de localisation, le procédé comprend une sous-étape de mise du statut d'activation pour l'évaluation de la première cible d'évaluation correspondant à ladite sous-expression à 'activé'. Corrélativement, la présente invention concerne un dispositif d'évaluation d'une pluralité d'expressions sur un document structuré, caractérisé en ce qu'il comprend des moyens d'évaluation mettant en oeuvre les représentations compilées des expressions de la pluralité d'expressions générées par un procédé de compilation tel que succinctement décrit ci-dessus. Le dispositif comporte également des moyens mettant en oeuvre chaque lien d'une expression relative vers l'expression contexte associée. Les avantages de ce dispositif sont les mêmes que les avantages du procédé d'évaluation d'une pluralité d'expressions sur un document structuré, ils ne sont donc pas rappelés ici. Corrélativement, la présente invention propose une représentation compilée d'une pluralité d'expressions à évaluer sur un document structuré, ladite représentation comprenant une expression compilée relative, comprenant un lien vers une représentation compilée d'une expression contexte associée, une expression relative étant une expression dont l'évaluation dépend d'une expression contexte associée. Corrélativement, l'invention propose une représentation compilée d'une pluralité d'expressions à évaluer sur un document structuré générée par un procédé de compilation tel que brièvement décrit ci-dessus. Les avantages de ces représentations compilées sont le mêmes que les avantages du second aspect de l'invention, et donc ils ne sont pas rappelés ici. Toujours dans le même but, la présente invention propose également un programme informatique qui, lorsqu'il est exécuté par un ordinateur ou un processeur dans un dispositif de compilation d'une pluralité d'expressions à évaluer sur un document structuré, amène le dispositif à réaliser un procédé de compilation d'une pluralité d'expressions à évaluer sur un document structuré tel que succinctement décrit ci-dessus. Un tel programme informatique peut être porté par un support physique d'informations. Toujours dans le même but, la présente invention propose également un programme informatique qui, lorsqu'il est exécuté par un ordinateur ou un processeur dans un dispositif d'évaluation d'une pluralité d'expressions à évaluer sur un document structuré, amène le dispositif à réaliser un procédé d'évaluation d'une pluralité d'expressions sur un document structuré tel que succinctement décrit ci-dessus. Un tel programme informatique peut être porté par un support physique d'informations. L'invention concerne également un support d'informations, tel qu'un moyen de stockage d'informations, pouvant être lu par un ordinateur ou un processeur, mémorisant des instructions d'un programme informatique destiné à la mise en oeuvre du procédé compilation d'une pluralité d'expressions sur un document structuré tel que décrit brièvement ci-dessus. L'invention concerne également un support d'informations, tel qu'un moyen de stockage d'informations, pouvant être lu par un ordinateur ou un processeur, mémorisant des instructions d'un programme informatique destiné à la mise en oeuvre du procédé d'évaluation d'une pluralité d'expressions sur un document structuré tel que décrit brièvement ci-dessus. L'invention concerne également un support d'informations, tel qu'un moyen de stockage d'informations, pouvant être lu par un ordinateur ou un processeur, mémorisant une représentation d'une pluralité d'expressions telle que décrite brièvement ci-dessus. Les caractéristiques et avantages particuliers de ces programmes informatiques et supports d'informations étant similaires à ceux des procédés correspondants, ils ne sont pas répétés ici. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les dessins ci-joints, dans 20 lesquels : - la figure 1, déjà décrite, montre un exemple de document en format XSLT ; - la figure 2 représente un exemple schématique d'une mise en oeuvre de l'invention dans une application traitant des requêtes en langage 25 XSLT ; - la figure 3 est un diagramme d'un dispositif 1000 de traitement adapté à mettre en oeuvre la présente invention ; - la figure 4 représente l'organigramme des principales étapes d'un procédé de compilation d'une pluralité d'expressions XPath ; 30 - la figure 5 détaille les étapes relatives à l'analyse des expressions XPath à partir d'une feuille de style XSL dans un mode de mise en oeuvre de l'invention ; - la figure 6 détaille un mode de mise en oeuvre d'une compilation d'expression XPath absolue ; - la figure 7 détaille un mode de mise en oeuvre d'une compilation d'expression XPath relative ; - la figure 8 représente schématiquement les principales étapes de l'algorithme d'évaluation d'une pluralité d'expressions XPath selon le mode de mise en oeuvre préféré de l'invention ; - la figure 9 représente un algorithme d'évaluation des expressions nécessitant des données XML pour leur évaluation ; - la figure 10 représente un algorithme de désactivation des expressions XPath compilées pour l'évaluation ; et - la figure 11 représente un algorithme pour la ré-activation d'expressions XPath compilées. La description qui suit décrit plus particulièrement une mise en oeuvre de l'invention dans son utilisation sur des requêtes extraites à partir de feuilles de style en format XSLT. Il est entendu que l'invention s'applique similairement avec d'autres langages permettant d'extraire une pluralité de requêtes sur des documents XML. De même, l'invention peut également s'appliquer si on fournit à un utilisateur la possibilité de rentrer une pluralité d'expressions XPath à évaluer sur un document, par exemple par l'intermédiaire d'une interface graphique adéquate. La figure 2 représente un exemple schématique d'une mise en oeuvre de l'invention dans une application traitant des requêtes en langage 25 XSLT. Dans ce scénario de mise en oeuvre de l'invention, on dispose, en entrée, d'un document 1 comportant des requêtes définies selon la syntaxe XSLT, à appliquer sur des données XML reçues dans un document XML 2. En sortie, un document 4 est fourni, le document 4 étant un document transformé 30 obtenu à partir du document 2, éventuellement au format XML. Dans cet exemple, le dispositif mettant en oeuvre l'invention comporte un module pour le traitement des données XSLT appelé processeur XSLT 3 et un module pour le traitement des expressions XPath appelé processeur XPath 5. Le module interpréteur XSLT 32 du processeur XSLT 3 extrait des expressions XPath 6 contenues dans le document 1, et les fournit au 5 compilateur XPath 51. Au cours de l'extraction, décrite ultérieurement en référence à la figure 5, le module analyseur lexical 33 et le module analyseur sémantique 34 du processeur XSLT 3 sont utilisés pour déterminer, pour chaque expression XPath extraite, s'il s'agit d'une expression absolue ou relative. Pour chaque 10 expression extraite, le compilateur XPath 51 est informé s'il s'agit d'une expression relative ou absolue. Le compilateur utilise ses modules analyseur lexical 511 et analyseur sémantique 512 pour obtenir une représentation compilée de chaque expression XPath, qui est intégrée dans une représentation compilée 52. 15 Lorsque l'expression XPath à compiler est une expression absolue, elle est par exemple compilée selon le mode de mise en oeuvre de la figure 6. Lorsque l'expression XPath à compiler est une expression relative, elle est compilée conditionnellement à une expression XPath contexte 35 associée, fournie par le processeur XSLT 3, comme décrit ci-après en 20 référence à la figure 7. Une représentation de l'expression XPath relative compilée est intégrée à la représentation compilée 52, avec un lien vers la représentation compilée de l'expression contexte associée. Une fois toutes que les expressions XPath 6 à traiter sont intégrées dans la représentation compilée 52, le processeur XSLT 3 lit le document XML 25 2 et en extrait des événements XML 7 en utilisant le module analyseur XML 31. Un événement XML représente un noeud XML, par exemple début d'élément, noeud texte, fin d'élément, commentaire... Les événements XML 7 sont reçus par un module évaluateur XPath 53, qui utilise la représentation compilée 52 et un gestionnaire de cibles 30 d'évaluation 54, pour détecter, parmi ces événements reçus, des résultats 8 pour une ou plusieurs expressions XPath 6 compilées. Ces résultats peuvent être de différents types, par exemple nombre, booléen, évènement XML ou chaîne de caractères. Les résultats peuvent être utilisés par le module XML writer 36 du processeur XSLT 3 pour construire un document XML transformé 4. Le module évaluateur 53 peut également contenir un module d'activation/désactivation d'expressions XPath compilées 531. Ainsi, il est donné la possibilité à l'application de limiter l'évaluation à un sous-ensemble d'expressions XPath considérées pertinentes à un instant donné. Par exemple, dans une instruction XSLT de type if, si le test est faux, il n'est pas nécessaire d'activer les expressions XPath associée. aux instructions imbriquées sous l'instruction if. La figure 3 est un diagramme d'un dispositif 1000 de traitement adapté à mettre en oeuvre la présente invention. L'appareil 1000 est par exemple un micro-ordinateur, une station de travail ou un dispositif portable léger. L'appareil 1000 comporte un bus 302 de communication auquel sont connectés : - une unité centrale 303 de traitement, comme un microprocesseur, notée CPU; - une mémoire morte 304 capable de contenir des programmes informatiques afin de mettre en oeuvre l'invention, notée ROM ; - une mémoire vive 306, notée RAM, capable de contenir le code exécutable du procédé selon l'invention ainsi que les registres prévus pour enregistrer les variables et paramètres nécessaires à la mise en oeuvre de l'invention ; et - une interface 318 de communication reliée au réseau 50 de communication sur lequel des données numériques, par exemple les données au format XML, sont transmises. Eventuellement, l'appareil 1000 peut également comprendre les composants suivants, inclus dans le mode de réalisation représenté sur la figure 3 : - un moyen 312 de stockage des données tel qu'un disque dur, capable de contenir les programmes mettant en oeuvre l'invention et les données utilisées ou produites au cours de la mise en oeuvre de l'invention ; - un lecteur 314 de disque destiné à un disque 316, ledit lecteur de disque étant prévu pour lire des données à partir du disque 316 ou pour écrire des données sur ledit disque ; - un écran 308 destiné à afficher des données et / ou servant d'interface graphique avec l'utilisateur, au moyen d'un clavier 310 ou d'un autre moyen quelconque de pointage. L'appareil 1000 peut être relié à divers périphériques, comme par exemple un appareil numérique 301 de prise de vues, relié à une carte d'entrée / sortie (non représentée). Le bus 302 de communication permet la communication et l'interopérabilité entre les divers éléments compris dans l'appareil 1000 ou reliés à celui-ci. La représentation du bus n'est pas limitative et, en particulier, l'unité centrale de traitement est capable de communiquer des instructions à un élément quelconque de l'appareil 1000 directement ou au moyen d'un autre élément de l'appareil 1000. Le disque 316 peut être remplacé par un support quelconque d'information comme par exemple un disque compact (CD-ROM) réinscriptible ou non, un disque ZIP ou une carte mémoire et, en termes généraux, par un moyen de stockage d'informations qui peut être lu par un micro-ordinateur ou par un microprocesseur, incorporé ou non à l'appareil, éventuellement amovible et prévu pour stocker un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé de compilation d'une pluralité d'expressions à évaluer sur un document structuré et du procédé d'évaluation d'une pluralité d'expressions sur un document structuré. Le code exécutable permettant à l'appareil de mettre en oeuvre l'invention peut être stocké soit dans la mémoire morte 304, soit sur le disque dur 312, soit sur un support numérique amovible comme par exemple un disque 316 comme décrit précédemment. Selon une variante, le code exécutable des programmes peut être reçu au moyen du réseau de télécommunication 50, via l'interface 318, afin d'être stocké dans l'un des moyens de stockage de l'appareil 1000 avant d'être exécuté, comme le disque dur 312. L'unité centrale 303 de traitement est prévue pour contrôler et diriger l'exécution des instructions ou des parties de code logiciel du ou des programmes selon l'invention, lesdites instructions étant stockées dans l'un des moyens de stockage susmentionnés. A la mise sous tension, le ou les programmes stockés dans une mémoire non volatile, par exemple sur le disque dur 312 ou dans la mémoire morte 304, sont transférés dans la mémoire vive 306, qui contient alors le code exécutable du ou des programmes selon l'invention ainsi que des registres destinés à stocker les variables et paramètres nécessaires à la mise en oeuvre de l'invention. Il convient d'observer que l'appareil peut également être un appareil programmé. Cet appareil contient alors le code du ou des programmes informatiques, par exemple fixé dans un circuit intégré spécifique à l'application (Application Specific lntegrated Circuit ou ASIC). La figure 4 représente l'organigramme des principales étapes d'un procédé de compilation d'une pluralité d'expressions XPath selon un mode de mise en oeuvre préféré de l'invention. Toutes les étapes de l'algorithme représentées sur la figure 4 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. A l'étape El, le processeur XSLT 3 récupère un fichier contenant une pluralité de requêtes XPath, par exemple une feuille de style XSL 1. A l'étape suivante E2, les expressions XPath 6 sont extraites de ce fichier. Il convient ensuite de considérer la première expression à l'étape E3, comme expression courante. A l'étape suivante E4, le processeur XSLT 3 détermine si l'expression courante est une expression relative ou une expression absolue. La mise en oeuvre détaillée de cette étape sera expliquée en référence à la figure 5. A l'étape E5, un test est appliqué pour déterminer si l'expression courante est une expression absolue, qui peut donc être évaluée dès le début du document. Si tel est le cas, l'étape E5 est suivie de l'étape E6, à laquelle une compilation, détaillée dans la figure 6, est appliquée. Si l'expression courante est une expression relative, l'étape E5 est suivie de l'étape E7, dans laquelle est obtenue la référence d'une autre expression de la pluralité d'expressions, qui est l'expression contexte de l'expression courante. L'étape E7 est suivie par l'étape E8 de compilation conditionnelle de l'expression courante relativement à l'expression contexte, qui sera détaillée en regard de la figure 7. Les étapes E6 et E8 sont respectivement suivies de l'étape E9, de mise à jour d'une représentation compilée 52, la représentation compilée 52 comprenant les représentations compilées des expressions XPath traitées. En particulier, pour une expression relative, on ajoute dans la représentation compilée un lien vers l'expression contexte associée. L'étape E9 est suivie de l'étape El0 à laquelle on vérifie si l'expression courante est la dernière de la pluralité d'expressions. Si c'est le cas, la compilation de la pluralité d'expressions XPath prend fin. Si la réponse est négative, on passe à l'expression suivante à l'étape El1, considérée alors comme nouvelle expression courante. Les étapes E4 à E10 sont alors itérées. La figure 5 détaille les étapes relatives à l'analyse des expressions XPath à partir d'une feuille de style XSL dans un mode de mise en oeuvre de l'invention. Toutes les étapes de l'algorithme représentées sur la figure 5 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. Un document contenant des requêtes sur des données XML, par exemple une feuille de style XSL 1, est fourni en entrée de l'algorithme au processeur XSLT 3, qui identifie une première instruction selon la syntaxe XSLT lors de l'étape E501. Les modules analyseur XML 31 et interpréteur XSLT 32 sont utilisés pour la réalisation de l'étape E501. Ensuite, à l'étape E502, l'interpréteur XSLT 32 récupère le ou les attributs associés à l'expression identifiée. Ensuite, l'interpréteur XSLT 32 vérifie si la valeur d'un de ces attributs correspond à une expression XPath lors de l'étape E503. Si ce n'est pas le cas, l'étape E503 est suivie de l'étape E504 de passage à l'instruction suivante, si elle existe (réponse oui au test de l'étape E504). Dans le cas où l'instruction en cours de traitement est la dernière instruction, c'est-à-dire si la réponse au test de l'étape E504 est négative, le traitement prend fin. De retour à l'étape E503, si une expression XPath a été trouvée, l'étape E503 est suivie de l'étape E505, dans laquelle l'expression XPath courante est analysée par l'analyseur lexical 33. Lors de cette étape, la suite de caractères de l'expression XPath courante est représentée par une liste de symboles définis par la spécification XPath. Ensuite, à l'étape E506, une analyse sémantique simple permet de déterminer si l'expression XPath courante est une expression relative ou une expression absolue. Pour cela, l'analyseur sémantique 34 identifie les sous-expressions de type chemin de localisation contenues dans l'expression courante. Il détermine ensuite le premier symbole contenu dans chacune de ces expressions de type chemin de localisation. Si ce symbole est le symbole 'l' ou , il s'agit d'une expression XPath absolue. Si le premier symbole est un axe (AxisSpecifier), un test de noeud (NodeTest), un raccourci de chemin de localisation (AbbreviatedStep) ou encore un appel de fonction avec soit un argument par défaut correspondant au noeud contexte, soit des chemins de localisation relatifs, il s'agit d'une expression relative. Si l'expression courante est une expression absolue (réponse positive au test E507), le processeur XSLT 3 envoie l'expression courante au processeur XPath 5 pour une compilation XPath décrite ultérieurement en référence à la figure 6. Dans le cas d'une expression relative (réponse 'non' au test de l'étape E507), l'expression XPath contexte de l'expression courante est obtenue lors de l'étape E509. En pratique, le processeur XSLT conserve en mémoire RAM 306 une information relative aux expressions XPath en cours de traitement (structure d'expressions XPath contexte 35), par exemple sous forme de pile de données ou de tableau de données contexte. A chaque expression XPath est associé un indice représentatif, qui est partagé avec la représentation compilée 52 obtenue après compilation. Lors de l'étape E509, on lit dans la mémoire l'indice de l'expression XPath précédemment traitée, qui est en fait l'expression contexte de l'expression XPath courante. Ceci est dû à la structure de la feuille de style XSL, dans laquelle les expressions XPath sont ordonnées séquentiellement et de manière hiérarchisée. L'expression XPath courante et l'indice représentatif de son expression contexte sont transmis au processeur XPath 5 lors de l'étape E508, pour une compilation conditionnelle qui retournera en E510 l'indice de l'expression relative compilée. Cette compilation conditionnelle sera détaillée ci-après en référence à la figure 7. Comme expliqué déjà en regard de la figure 4, les étapes de compilation sont suivies d'une étape de mise à jour de la représentation compilée 52, également mise en oeuvre par le processeur XPath 5. Lors de cette étape, l'expression XPath courante reçoit un identifiant, également sous la forme d'un indice. Cet identifiant est transmis au processeur XSLT 3 à l'étape suivante E510. Cet indice est ajouté à la structure d'expressions contexte 35, par empilement lorsque ladite structure est sous forme de pile de données lors de l'étape E511. Ensuite, l'étape suivante E512 consiste à avancer dans la feuille de style pour considérer le noeud XML suivant permettant d'identifier un début ou une fin d'instruction. On teste ensuite s'il s'agit d'une fin d'instruction lors de l'étape E513. Si ce n'est pas le cas, on passe à l'étape E502 déjà décrite, car il s'agit d'une nouvelle instruction à traiter. Sinon, il s'agit d'une fin d'instruction, l'étape E513 est suivie de l'étape E514, lors de laquelle l'interpréteur XSLT 32 dépile l'indice de la dernière expression XPath contexte stockée dans la pile de données 35. Cette étape est suivie de l'étape E512 de lecture de l'instruction suivante afin de continuer le traitement. Dans le mode de mise en oeuvre préféré décrit ci-dessus, certaines 30 étapes sont mises en oeuvre par le processeur XSLT 3 et d'autres par le processeur XPath 5. Alternativement, le processeur XPath pourrait effectuer l'analyse lexicale de l'étape E505 et l'analyse sémantique de l'étape E506 de l'expression XPath courante, pour déterminer s'il s'agit d'une expression relative ou absolue, puis récupérer l'identifiant de l'expression contexte de l'expression courante du processeur XSLT. Dans un mode de mise en oeuvre alternatif, l'expression XPath contexte pourrait être désignée par un utilisateur via une interface graphique. La figure 6 détaille l'étape E6 de la figure 4, dans un mode de mise en oeuvre d'une compilation d'expression XPath absolue. Toutes les étapes de l'algorithme représentées sur la figure 6 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. La compilation d'une expression XPath a pour but de préparer tous les tests qui devront être effectués par l'évaluateur XPath 53 ultérieurement, notamment en vue d'un traitement à la volée. En particulier, il est nécessaire d'identifier les sous-expressions dont est composée l'expression XPath, et notamment les étapes de chemin de localisation qui sont directement liées aux informations à retrouver dans un document XML 2. Une expression XPath absolue à compiler est reçue par le compilateur XPath 51 à l'étape E601. Ensuite, lors de l'étape E602, l'analyseur lexical 511 analyse l'expression XPath reçue. Un test E603 permet de détecter si des symboles non valides sont détectés. Dans ce cas, la compilation s'arrête et un signal d'expression invalide est émis. Dans le cas où les symboles trouvés sont valides, l'étape E603 est suivie de l'étape E604, pour la lecture d'un symbole suivant, jusqu'à l'identification d'une sous-expression XPath à l'étape E605. Tant qu'une sous-expression XPath n'est pas identifiée, le test E605 est suivi du test E606 qui vérifie l'existence d'un symbole suivant. En cas de réponse positive, l'étape de test E606 est suivie de l'étape E604. En cas de réponse négative, l'étape E606 est suivie de l'étape E613 décrite ci-après. Lorsqu'une sous-expression a été identifiée (réponse positive au test E605), on détermine s'il s'agit d'une sous-expression de navigation à l'étape E607. En pratique, il s'agit de vérifier lors de l'étape E607 que la sous-expression correspond à un début de chemin de localisation. En cas de réponse négative, il s'ensuit qu'il s'agit d'une expression de calcul, par exemple une expression de comparaison (EqualityExpr, RelationalExpr, AdditiveExpr, MultiplicativeExpr ou UnaryExpr) ou un appel de fonction. Dans ce cas, une représentation de cette expression de calcul est insérée dans un arbre d'instructions lors de l'étape E608. L'étape E608 est suivie de l'étape E606 déjà décrite. En cas de réponse positive à l'étape E607, cette étape est suivie de l'étape E609 de lecture du symbole suivant. Si le symbole suivant existe, il permet d'identifier une entité composant une étape de chemin parmi l'ensemble axe (AxisSpecifier), test de noeud (NodeTest) ou prédicat (Predicate) précédemment décrit lors de l'étape E610. Si le test d'identification d'une composante d'étape de chemin E610 15 échoue, cette étape est suivie de l'étape E604 précédemment décrite, afin d'identifier une nouvelle sous-expression. En cas d'identification d'une composante d'étape de chemin, l'étape E610 est suivie de l'étape E611 de construction d'une représentation compilée de l'étape courante sous forme de cible de navigation compilée. Une cible de 20 navigation compilée comprend une information qui indique sa position dans le chemin de localisation (qui peut être `racine' ou `intermédiaire'), une information indiquant son appartenance à un prédicat, un lien vers un chemin de localisation parent, des liens vers des cibles de navigation compilées enfants (si l'étape de chemin courante est suivie d'autres étapes de chemin de 25 localisation). Une étape de chemin est de type `racine' si c'est la première étape du chemin de localisation. Il est important de marquer le type des étapes de chemin dans la cible de navigation compilée, car c'est au niveau des étapes `racine' que se fait l'émission de résultats vers l'arbre d'instructions au moment de l'évaluation. 30 Une cible de navigation compilée peut également contenir des liens vers d'autres cibles de navigation compilées dépendantes, qui correspondent à des étapes de chemin appartenant à une expression XPath relative associée à l'expression courante, comme expliqué ci-après en référence à la figure 7. L'étape E611 est suivie de l'étape E612, dans laquelle la cible de navigation compilée courante est sauvegardée comme noeud dans une structure appelée arbre de navigation faisant partie de la représentation compilée 52, qui permet de définir des relations parent-enfant entre les étapes de chemin. Ainsi, la cible de navigation compilée courante pourra servir de cible de navigation compilée parente pour des cibles de navigation compilées ultérieures. L'étape E612 est suivie de l'étape E609 de lecture du symbole suivant. Si aucun symbole suivant n'est trouvé, le traitement de l'expression absolue courante est terminé. L'étape E609 est alors suivie de l'étape E613, à laquelle le compilateur XPath 51 associe à l'expression XPath courante un indice permettant d'identifier l'expression XPath courante de manière unique. Cet indice est mémorisé dans la structure de représentation interne 52. Ensuite, la compilation de l'expression XPath absolue courante prend fin. La figure 7 détaille l'étape E8 de la figure 4, dans un mode de mise en oeuvre d'une compilation d'expression XPath relative. Toutes les étapes de l'algorithme représentées sur la figure 7 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. La compilation d'une expression XPath relative se fait conditionnellement à une expression XPath contexte, comme expliqué ci-dessus en référence à la figure 4. L'expression XPath contexte peut être une expression relative ou absolue, mais son évaluation doit conduire à un résultat de type noeud ou ensemble de noeud. Dans le mode de mise en oeuvre de l'invention sur un document de requêtes au format XSLT, tel que décrit en référence à la figure 2, le compilateur XPath 51 reçoit du processeur XSLT 3 une expression XPath relative à compiler lors de l'étape E701. De plus, le processeur XPath reçoit également l'identifiant de l'expression XPath contexte de l'expression relative à traiter. Dans le mode de mise en oeuvre préféré, cet identifiant est un indice provenant de la pile d'indices d'expressions XPath contexte 35. A l'étape suivante E702, le compilateur XPath 51 récupère, à partir de la représentation compilée 52, la dernière cible de navigation compilée de la représentation compilée de l'expression contexte identifiée. Si la représentation de l'expression contexte identifiée ne contient pas de cible de navigation compilée, le test de l'étape E704 fournit une réponse négative et un message d'erreur est émis. Dans ce cas, la compilation conditionnelle ne peut pas continuer. Si au moins une cible de navigation compilée est trouvée, la réponse au test E704 est positive, et cette étape est suivie de l'étape E705. A l'étape E705, la dernière cible de navigation compilée de l'expression contexte identifiée est mémorisée, par exemple dans la mémoire RAM 306. En pratique, il suffit de mémoriser l'adresse mémoire à laquelle cette cible de navigation compilée est stockée. Ensuite, à l'étape E706, l'expression XPath relative est traitée par l'analyseur lexical 511 et par l'analyseur sémantique 512 pour en extraire des sous-expressions de type navigation et des sous-expressions de type calcul, comme expliqué ci-dessus en référence à la figure 6, étapes E602 à E606. Les sous-expressions de calcul extraites sont insérées dans l'arbre d'instructions, de manière analogue à l'étape E608 de la figure 6. Pour les chemins de localisation, leur représentation sous forme de cibles de navigation compilées est construite, avec une cible de navigation compilée par étape de chemin comme expliqué en référence aux étapes E610 à E611 de la figure 6. Les cibles de navigation compilées obtenues sont insérées dans l'arbre de navigation de la représentation compilée 52, comme expliqué ci-dessus en référence à l'étape E612 de la figure 6. A l'étape suivante E707 on considère le premier chemin de localisation extrait de l'expression à traiter comme chemin de localisation courant. Pour ce chemin de localisation courant, le compilateur XPath 51 récupère à l'étape E708, sa première cible de navigation compilée construite lors de l'étape E706. A l'étape E709, un lien indiquant comme cible de navigation compilée parente la dernière cible de navigation compilée de l'expression contexte, qui a été mémorisée préalablement (E703), est ajouté à la première cible de navigation compilée obtenue à l'étape E708. Ainsi, un lien de parenté est ajouté entre l'expression contexte et l'expression courante. Ce lien est ajouté dans la représentation compilée 52, et ainsi, il sera facilement exploitable ultérieurement pour de multiples évaluations sans nécessiter de traitements supplémentaires. Un lien de dépendance est aussi ajouté dans la représentation de la dernière cible de navigation compilée de l'expression contexte, lors de l'étape E710, indiquant que le première cible de navigation compilée courante appartient à une expression enfant de l'expression contexte. Ensuite, lors de l'étape E711, le type de la première cible de navigation compilée de l'expression courante est modifié. Son type est mis à la valeur 'racine virtuelle', indiquant ainsi que cette cible de navigation compilée est un point de départ pour l'évaluation d'une autre cible de navigation compilée. Ensuite, le traitement se poursuit à l'étape E712, où un test est effectué pour vérifier s'il existe un chemin de localisation suivant à traiter. Si la réponse est positive, cette étape est suivie de l'étape E714, où le chemin de localisation courant est initialisé avec le chemin de localisation suivant, puis les étapes E708 à E711 sont itérées. S'il ne reste pas de chemin de localisation suivant à traiter, l'étape E712 est suivie de l'étape E713, qui est analogue à l'étape E613 de la figure 6. Le compilateur XPath associe à l'expression XPath courante un indice permettant d'identifier l'expression XPath courante de manière unique. Cet indice est mémorisé dans la structure de représentation compilée 52. Ainsi, la représentation compilée 52 comprend une représentation complète de la pluralité des expressions XPath à évaluer, sous forme d'un arbre de navigation et d'un arbre d'instructions liés par des liens fonctionnels. Chaque feuille de l'arbre d'instructions correspondant à un chemin de localisation sera reliée à une et une seule cible de navigation compilée de type � racine � ou � racine virtuelle �. L'arbre de navigation comprend un ensemble de cibles de navigation compilées correspondant aux sous-expressions de navigation comprises dans chaque expression compilée, liées entre elles par des relations de filiation, chaque expression ayant un identifiant unique associé. Chaque noeud de l'arbre de navigation comprend une cible de navigation compilée. Cette représentation compilée 52 comprend également un arbre d'instructions représentatif des expressions de calcul. Chaque noeud de l'arbre d'instruction comprend une structure représentant les opérandes (liens vers autre noeuds et sous expressions) et l'opérateur, un � container � pour un résultat d'évaluation, des informations relatives au statut d'évaluation qui peut prendre les valeurs 'en cours d'évaluation' ou 'terminé' et un lien vers une expression parente. En pratique, les indices permettant d'identifier chaque expression XPath de manière unique sont stockés au premier niveau de profondeur de l'arbre d'instructions, chaque noeud de niveau de profondeur 1 de l'arbre d'instructions correspondant à une expression à évaluer. Cette représentation compilée 52 peut ensuite être utilisée pour l'évaluation de la pluralité d'expressions XPath sur des données XML. Cette évaluation peut être faite en mode dit 'push', où le processeur XPath est en attente de données XML, par exemple envoyées par le processeur XSLT 3 dans le mode de mise en oeuvre de la figure 2. Alternativement, l'évaluation peut se faire en mode `pull', où le processeur XPath pilote l'extraction des données XML via l'analyseur XML 31. La figure 8 représente schématiquement les principales étapes de l'algorithme d'évaluation d'une pluralité d'expressions XPath selon le mode de mise en oeuvre préféré de l'invention. Toutes les étapes de l'algorithme représentées sur la figure 8 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. La première étape E800 consiste pour l'évaluateur XPath 53 à récupérer le noeud racine de l'arbre d'instructions de la représentation compilée 52. Ensuite les noeuds de l'arbre sont parcourus, jusqu'à ce que le noeud suivant soit une feuille de l'arbre (test de l'étape E801). Lors de l'étape E801, le statut d'évaluation de l'expression associée au noeud considéré est mis à la valeur 'en cours d'évaluation' dans l'arbre d'instructions. Lorsqu'une feuille de l'arbre d'instructions est atteinte, l'évaluateur XPath 53 passe à l'étape E802 de lancement de l'évaluation de l'expression associée au noeud feuille. Ensuite à l'étape E803, un test est appliqué pour déterminer si un résultat est disponible sans avoir besoin de données XML. Cela se produit par exemple dans le cas de la comparaison par rapport à une constante, ou appel de fonction avec un argument constant (string/number). En cas de réponse positive, l'étape E803 se poursuit par l'étape E806, à laquelle on teste si le noeud courant de l'arbre d'instructions a un noeud parent. En cas de réponse positive, le résultat pour le noeud courant est propagé au noeud parent à l'étape E807. Si ce noeud parent possède plusieurs enfants, le résultat est mis en attente de résultats de tous ses noeuds enfants. Ensuite, l'étape E808 d'agrégation des résultats est effectuée. Ensuite, le traitement reprend à l'étape E806, pour effectuer la propagation des résultats jusqu'à atteindre le noeud racine de l'arbre d'instructions. Lorsque le noeud racine est atteint, la réponse au test de l'étape E806 est négative, et l'étape E806 est suivie de l'étape E809 d'émission de résultat. Lorsque cette étape est atteinte, cela correspond à l'obtention d'un résultat pour une des expressions de la pluralité d'expressions XPath à évaluer. Le résultat obtenu est alors envoyé au processeur XSLT 3 qui peut demander au processeur l'indice de l'expression XPath qui a produit ce résultat. Alternativement, l'identifiant unique de l'expression XPath qui a produit le résultat peut être envoyé systématiquement au processeur XSLT 3, en même temps que le résultat. De retour à l'étape E803, si le résultat est dépendant des données XML, alors la feuille de l'arbre d'instructions est mise en attente de données XML à l'étape E804. De plus, l'évaluateur XPath 53 insère dans le gestionnaire de cibles d'évaluation 54 une cible d'évaluation correspondant à la cible de navigation compilée 'racine', ou � racine virtuelle �, comme expliqué plus en détail ci-après en référence à la figure 9. En pratique, le gestionnaire de cibles d'évaluation est stocké en mémoire RAM 306. Ultérieurement, après obtention du résultat, celui-ci pourra être propagé selon le mécanisme expliqué en référence aux étapes E806 à E809, ce qui est exprimé par un lien en trait pointillé sur la figure 8. Ensuite, l'étape E805 permet de considérer le noeud parent. Si un noeud parent existe, le parcours de l'arbre d'instruction se poursuit, en itérant les étapes E801 à E804. Si aucun noeud parent n'a été trouvé, donc si le test à l'étape E805 fournit une réponse négative, le traitement de la figure 8 prend fin. La figure 9 représente un algorithme d'évaluation des expressions ou sous-expressions mises en attente à l'étape E804 qui nécessitent des données XML pour leur résolution. Toutes les étapes de l'algorithme représentées sur la figure 9 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. L'algorithme de la figure 9 est mis en oeuvre après un parcours intégral de l'arbre d'instructions et mise en attente à l'étape E804 de toutes les expressions ou sous-expressions qui nécessitent des données XML pour leur évaluation. A l'étape E900, l'évaluateur XPath 53 récupère un lien vers chaque cible de navigation compilée de type � racine � de chaque chemin de localisation mis en attente à l'étape E804 de la figure 8, à partir de l'arbre de navigation de la représentation compilée 52. En pratique, pour un chemin de localisation correspondant à un noeud feuille de l'arbre d'instructions, on utilise le lien vers sa première cible de navigation compilée, représentée dans l'arbre de navigation, et qui correspond à sa première étape de chemin. A partir de ces cibles de navigation compilées sont créées les cibles d'évaluation à l'étape suivante E901. Ces cibles d'évaluation sont insérées dans le gestionnaire de cibles d'évaluation 54, stocké dans la mémoire RAM 306, sous forme d'un arbre d'évaluation, les niveaux de profondeur de l'arbre d'évaluation étant obtenus à partir des niveaux de profondeur de l'arbre de navigation. Une cible d'évaluation est liée à la cible de navigation compilée correspondante, et comprend en plus des informations spécifiques à l'évaluation, par exemple une valeur indiquant son statut d'activation pour évaluation, qui peut être � activé � ou � désactivé �. De plus, les résultats de l'évaluation peuvent être également stockés au niveau des cibles d'évaluation, par exemple s'il reste un prédicat à évaluer pour l'événement courant. Cette séparation entre cibles de navigation compilées et cibles d'évaluation permet de conserver l'arbre de navigation intact pour de multiples évaluations ou pour des évaluations simultanées. Par exemple, dans le scénario de la figure 2, tant que la feuille de style XSL 1 ne change pas, la représentation compilée 52 peut être conservée pour tous les documents XML 2 sur lesquels l'évaluation de multiples expressions XPath doit être effectuée. L'étape E902 est suivie de l'étape E903, à laquelle une variable représentative du niveau de profondeur courant est initialisée à 0. Cet indice est représentatif du niveau de profondeur courant auquel se situe le gestionnaire de cibles d'évaluation. A l'étape E903, un nouvel événement XML, par exemple extrait par l'analyseur XML 31, est reçu par l'évaluateur XPath 53. L'évaluateur XPath 53 vérifie alors quelle est la nature de cet événement XML à traiter. A l'étape E904, un test est appliqué pour déterminer s'il s'agit d'une fin de document. En cas de réponse positive, l'évaluation prend fin. En cas de réponse négative, l'évaluation se poursuit par le test E905, 30 pour déterminer s'il s'agit d'une balise ouvrante. En cas de réponse positive, l'évaluateur XPath 53 passe à l'étape E908, à laquelle la variable indiquant le niveau de profondeur courante est incrémentée de 1. Ensuite, à l'étape E909, la liste de prochaines cibles d'évaluation est préparée. Une telle liste est créée en fonction de niveau de profondeur courant. S'il existe déjà une telle liste de cibles d'évaluation, les cibles d'évaluation de cette liste sont initialisées. Pour cela, il convient de vérifier, pour chaque cible d'évaluation courante de ladite liste, si sa cible d'évaluation parente est active et si elle a été résolue lors de l'événement XML précédent. Si ces deux conditions sont satisfaites, la cible d'évaluation courante est activée par le module 531. En pratique, son statut d'activation pour l'évaluation est mis à � activé �. Sinon, elle n'est pas activée et ne sera pas considérée lors de l'évaluation de l'événement XML courant. C'est ce mécanisme d'activation de cibles d'évaluation qui, dans le cas d'une cible d'évaluation liée à une cible de navigation compilée de type � racine virtuelle �, permet de conditionner son évaluation à l'évaluation de sa cible d'évaluation parente, donc de conditionner son évaluation à l'évaluation de l'expression XPath contexte associée. L'étape E909 est suivie de l'étape E910, à laquelle il est vérifié que la liste de cibles d'évaluation courante n'est pas vide, donc qu'au moins une cible d'évaluation activée est conservée dans la liste. Si la réponse au test E910 est négative, le processeur XPath 53 retourne à l'étape E903 pour le traitement de l'événement XML suivant. En cas de réponse positive, l'étape E909 est suivie de l'étape E911 pour l'évaluation de l'événement XML courant. Pour chaque cible d'évaluation liée à une cible de navigation compilée correspondant à la dernière étape d'un chemin de localisation, une émission de résultat de type noeud XPath a lieu à l'étape E912. Ce résultat est ensuite traité conformément aux étapes E806 à E809 de la figure 8. Ensuite, on retourne à l'étape E903 en attente de réception d'un nouvel événement XML à traiter. De retour à l'étape E905, en cas de réponse négative, l'événement XML courant n'est pas une balise ouvrante. Le processeur XPath 53 passe alors à l'étape E906, pour vérifier si l'événement XML courant correspond à une balise fermante. En cas de réponse positive, il s'agit d'une fin d'élément XML. Dans ce cas, on passe à l'étape suivante E913, au cours de laquelle le gestionnaire de cibles d'évaluation 54 traite les cibles d'évaluations actives se trouvant dans la liste des cibles d'évaluation correspondant au niveau de profondeur courant. Cette étape consiste pour l'évaluateur XPath 53 à identifier par rapport à la fin d'élément courante quels sont les chemins de localisation sans solution (par exemple des prédicats ou des arguments d'appels de fonction ou des opérandes d'expression de comparaison), quels sont les chemins de localisation dont la fin de résultat se termine avec cette fin d'élément courante (par exemple une expression composée uniquement d'un chemin de localisation ou le calcul de la représentation en chaîne de caractères d'un élément...). Tous ces cas conduiront à une émission de résultats lors de l'étape E912, précédemment décrite. Après l'étape E913, à l'étape E914 le module 54 désactive toutes les cibles d'évaluation de la liste de cibles d'évaluation courante, en mettant leur indicateur de statut d'activation pour l'évaluation à 'désactivé'. Ensuite, la variable indiquant la profondeur courante est décrémentée de 1 à l'étape E915. L'émission de résultats se fait à l'étape E912, évoquée ci-dessus. De retour à l'étape E906, si la réponse au test `balise fermante' est négative, alors le processeur XPath 53 passe à l'étape E907, à laquelle il vérifie s'il s'agit d'un noeud texte. Si ce n'est pas le cas, l'événement courant XML est ignoré, et l'étape suivante est l'étape E903 d'attente de nouvel événement XML précédemment décrite. Si la réponse au test E907 est positive, on passe à l'étape suivante E916, à laquelle le niveau de profondeur courante est incrémenté de 1. Ensuite, la liste de cibles d'évaluation au niveau de profondeur courant est préparée à l'étape E917, de manière analogue à l'étape E909. Si la liste obtenue n'est pas vide, l'évaluation est effectuée à l'étape E918 pour toutes les cibles d'évaluation actives de la liste courante. Puis, les étapes E914, E915 et E912 précédemment décrites sont effectués. La figure 10 représente un algorithme de désactivation des expressions XPath compilées pour l'évaluation. Toutes les étapes de l'algorithme représentées sur la figure 10 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. La désactivation de certaines expressions de la pluralité d'expressions peut s'avérer utile, par exemple lorsque l'on traite plusieurs documents XML 2, dont certains contiennent seulement une sous-partie des données. Dans ce cas, on peut indiquer d'avance qu'il est inutile de chercher à évaluer certaines des expressions XPath sur ces documents. L'algorithme de désactivation peut être mis en oeuvre par le module 15 531 du processeur XPath 5 de la figure 2. Lors d'une première étape E1000, un signal de désactivation, pour une ou plusieurs expressions de la pluralité d'expressions, est reçu. Ceci pourrait être réalisé par une interface graphique dans laquelle un utilisateur peut sélectionner certaines expressions XPath. Alternativement, si une 20 application utilise le processeur XPath 5, celui-ci peut lui fournir les identifiants des expressions XPath de la pluralité d'expressions sous forme d'indice, et l'application peut envoyer un signal de désactivation avec les indices d'expressions à désactiver. Ensuite, à l'étape E1001, l'évaluateur XPath 53 retrouve l'expression 25 XPath à désactiver correspondant à cet indice dans la représentation compilée 52. En pratique, à partir de la racine de l'arbre d'instructions, on parcourt les noeuds de profondeur 1 auxquels est associé un indice représentatif d'un identifiant unique pour une expression XPath. Lorsque l'indice trouvé correspond à l'indice recherché, le noeud correspondant est sélectionné en vue 30 de sa désactivation. A l'étape suivante E1002, on vérifie s'il reste encore des sous-expressions de l'expression XPath courante à traiter. Si la réponse à ce test est négative, le traitement prend fin. On note ici que par définition, une expression a au moins une sous-5 expression, donc la réponse à ce test ne peut pas être négative à la première itération. Si la réponse au test El 002 est positive, l'étape suivante est l'étape E1003, à laquelle il est vérifié si la sous-expression courante est de type chemin de localisation. En cas de réponse négative, son statut d'évaluation est 10 mis à la valeur `terminé' dans le noeud de l'arbre d'instructions correspondant à l'étape E1006. En cas de réponse positive au test E1003, donc s'il s'agit d'une sous-expression de type chemin de localisation, l'étape E1003 est suivie de l'étape E1004, à laquelle la première cible d'évaluation associée à ce chemin de 15 localisation est récupérée par l'évaluateur XPath 53. En pratique, au cours de la création de cibles d'évaluation (étape E901 précédemment décrite), l'évaluateur XPath 53 indexe chaque chemin de localisation en cours d'évaluation ainsi que sa première cible d'évaluation. Notons ici qu'alternativement, la création de cibles d'évaluation correspondant à chaque cible de navigation compilée de 20 type � racine � peut être faite dès la création des cibles de navigation compilées au moment de la compilation, par exemple après l'étape E611 de la figure 6. Ainsi, l'algorithme de la figure 10 pourrait s'appliquer après la compilation et avant l'évaluation des expressions XPath. Ensuite, à l'étape E1005, l'indicateur de statut d'activation 25 d'évaluation obtenu à l'étape E1004 est mis à 'désactivé'. L'étape E1005 est suivie de l'étape E1006 déjà décrite, à laquelle le statut d'évaluation de la sous-expression courante est mis à � terminé � dans la feuille de l'arbre d'instruction reliée à la cible de navigation compilée associée à la cible d'évaluation courante. 30 La figure 11 représente un algorithme pour la ré-activation d'expressions XPath compilées, en particulier pour la ré-activation d'expressions qui ont été désactivées conformément à l'algorithme présenté à la figure 10. Toutes les étapes de l'algorithme représentées sur la figure 11 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 303 du dispositif 1000. La première étape E1100 consiste en la réception d'un signal d'activation d'une ou plusieurs expressions de la pluralité d'expressions à évaluer. Cette étape est similaire à l'étape E1000 de la figure 10, et peut être mise en oeuvre de manière similaire. Ensuite, à l'étape E1101, l'évaluateur XPath 53, et plus particulièrement le module d'activation/désactivation 531, retrouve dans la représentation interne 52 la ou les expressions à activer, par l'intermédiaire de leur identifiant unique. On traite ici le cas d'une expression à ré-activer, les étapes étant à itérer pour le traitement de plusieurs expressions. Ensuite, à l'étape E1102, il est vérifié si une évaluation des expressions de la pluralité d'expressions est en cours. En pratique, le processeur XPath 5 vérifie le statut d'évaluation stocké dans l'arbre d'instructions pour les expressions à traiter. Si une évaluation est déjà en cours, il n'est possible de ré-activer que les expressions relatives. Donc en cas de réponse positive au test de l'étape E1102, le test E1103 consiste à déterminer si l'expression à ré-activer est une expression absolue. Si c'est le cas, le traitement soit prend fin, soit ignore la demande et continue l'évaluation normalement. Bien sûr, s'il reste d'autres expressions à ré-activer, on retourne à l'étape E1101. Si la réponse à l'un des tests E1102 et E1103 est négative (donc si on se situe en début d'évaluation ou si l'expression à évaluer est relative), ces étapes sont suivies de l'étape E1104, à laquelle on vérifie s'il reste une sous-expression suivante de l'expression à ré-activer. Si la réponse est négative à ce test, le traitement prend fin. On note ici que par définition, une expression a au moins une sous-expression, donc la réponse à ce test ne peut pas être négative à la première itération. Si la réponse est positive, on vérifie ensuite à l'étape E1106 si la sous-expression est du type chemin de localisation. En cas de réponse négative, le statut d'évaluation de la sous-expression dans l'arbre d'instructions de la représentation compilée 52 est marqué à � en cours � à l'étape E1105. Dans le cas où il s'agit d'un chemin de localisation, l'étape E1106 est suivie de l'étape 1107 à laquelle on vérifie si une évaluation est déjà en cours en vérifiant le statut d'évaluation de la sous-expression courante. En cas de réponse positive, l'étape E1107 est suivie de l'étape E1108 à laquelle, après récupération de la première cible d'évaluation correspondant à ce chemin de localisation (telle que décrit page 29 en référence à 1003 et 1004), celle-ci est réactivée. Puis le statut d'évaluation de la feuille de l'arbre d'instructions correspondant à ce chemin d'évaluation est mis à � en cours � à l'étape E1105. De plus, les statuts d'évaluation de tous les noeuds de l'arbre d'instructions situés entre ce noeud feuille et la racine de l'arbre d'instructions sont mis à � en cours � lors de cette même étape. En cas de réponse négative au test de l'étape E1107, on teste s'il s'agit d'une expression absolue lors de l'étape E1109. En cas de réponse négative, l'étape E1107 est suivie de l'étape E1105 précédemment décrite. En cas de réponse positive au test de l'étape E1107, si cette expression contient un chemin de localisation, le gestionnaire de cibles d'évaluation 54 crée une cible d'évaluation correspondant à la cible de navigation compilée racine de ce chemin de localisation à l'étape E1110. Cette étape est suivie par l'étape E1105 précédemment décrite. REVENDICATIONS 1. Procédé de compilation d'une pluralité d'expressions à évaluer sur un document structuré, caractérisé en ce qu'il comprend, pour chaque expression de la pluralité d'expressions à évaluer, les étapes de : -détermination (E4) du type relatif ou absolu de ladite expression, une expression relative étant une expression dont l'évaluation dépend de l'évaluation d'au moins une autre expression de la pluralité d'expressions, - si ladite expression est une expression relative, obtention (E7) d'une expression contexte associée à ladite expression relative parmi les expressions de la pluralité d'expressions traitées préalablement, - construction (E8) d'une représentation compilée pour ladite expression à évaluer, telle qu'une représentation compilée d'expression relative comprend un lien vers la représentation compilée de l'expression contexte associée. 2. Procédé selon la revendication 1, caractérisé en ce que le document structuré comporte des éléments de type `noeud', et en ce que le résultat de l'évaluation d'une expression contexte associée à une expression relative comprend au moins un noeud du document structuré. 3. Procédé selon l'une quelconque des revendications 1 ou 2, comprenant en outre une étape d'association (E613, E713) d'un identifiant unique à la représentation compilée de chaque expression. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel une expression à évaluer comprend au moins une sous-expression, l'étape de construction comprend, pour une expression à évaluer, les sous-étapes de : - identification (E605, E706) des sous-expressions de ladite expression à évaluer et- détermination (E607, E706) du type de la sous-expression identifiée parmi les types dits de navigation et de calcul. 5. Procédé selon la revendication 4, dans lequel une sous- expression de navigation comprend au moins une étape de chemin de localisation, l'étape de construction comprenant, pour une sous- expression de type navigation, une étape de représentation (E611, E706) de chaque étape de chemin de localisation de ladite sous-expression sous la forme d'une cible de navigation compilée, une cible de navigation compilée comportant au moins une information relative au type d'étape de chemin. 6. Procédé selon la revendication 5, dans lequel le type d'étape de chemin est sélectionné parmi les types 'racine' et 'intermédiaire', une étape de chemin de type racine étant une première étape de chemin de localisation. 7. Procédé selon la revendication 6, dans lequel, l'étape de construction comprend en outre, pour une expression relative, une étape d'ajout (E709, E710) d'une information indiquant un lien de descendance entre la première cible de navigation compilée de sa représentation compilée et la dernière cible de navigation compilée de la représentation compilée de l'expression contexte associée à ladite expression relative. 8. Procédé selon l'une quelconque des revendications 5 à 7, dans lequel l'étape de construction comporte en outre, pour une expression relative, une étape d'ajout (E711) d'une information indiquant le type `racine virtuelle' pour la première cible de navigation compilée de la représentation compilée de ladite expression relative. 9. Procédé selon l'une quelconques des revendications 5 à 8, dans lequel les cibles de navigation compilées sont organisées dans un arbre de navigation (E612), chaque cible de navigation compilée étant associée à un noeud de l'arbre de navigation. 2925721 40 . 10. Procédé selon l'une quelconque des revendications 4 à 7, comprenant, pour une sous-expression de type calcul, une étape d'insertion (E608, E706) d'une représentation de ladite sous expression de type calcul 5 dans un noeud d'un arbre d'instruction. 11. Procédé selon l'une quelconque des revendications 9 à 10, dans lequel l'arbre d'instructions et l'arbre de navigation sont regroupés en une représentation compilée (52), ladite représentation compilée comprenant en 10 outre ledit identifiant associé à chaque expression de la pluralité d'expressions. 12. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape de détermination des expressions relatives, comprend, pour une expression à évaluer, les étapes de : 15 - analyse lexicale (E505) de ladite expression - analyse sémantique (E506) de ladite expression 13. Procédé selon l'une quelconque des revendications 3 à 12, comprenant en outre, après l'étape de construction d'une représentation 20 compilée d'une expression courante, une étape d'empilement (E511) de l'identifiant de ladite expression courante dans une structure de mémorisation des identifiants des expressions à traiter. 14. Procédé selon la revendication 13, dans lequel l'étape d'obtention 25 d'une expression contexte comprend une sous-étape de dépilement (E514) de l'identifiant de l'expression préalablement mémorisé dans la structure de mémorisation des identifiants des expressions à traiter. 15. Procédé selon la revendication 14, dans lequel l'étape d'obtention 30 d'une expression contexte comporte les sous-étapes de : - obtention du dernier identifiant mémorisé dans la structure de mémorisation des identifiants des expressions à traiter et- extraction de la représentation compilée de l'expression contexte compilée à partir de l'identifiant obtenu. 16. Procédé d'évaluation d'une pluralité d'expressions sur un document structuré, caractérisé en ce qu'il comporte une étape d'évaluation mettant en oeuvre des représentations compilées des expressions de la pluralité d'expressions générées par un procédé de compilation selon l'une quelconque des revendications 1 à 15. 17. Procédé selon la revendication 16, dans lequel l'étape d'évaluation comprend une sous-étape de création, pour chaque cible de navigation compilée de type 'racine', d'une cible d'évaluation correspondante. 18. Procédé selon la revendication 17, dans lequel les cibles d'évaluation sont organisées en arbre d'évaluation en fonction des liens de parenté entre cibles de navigation compilées correspondantes. 19. Procédé selon l'une quelconque des revendications 17 ou 18, dans lequel chaque cible d'évaluation comporte une valeur indicative d'un statut d'activation pour l'évaluation pouvant prendre les valeurs 'activé' ou 'désactivé'. 20. Procédé selon la revendication 19, dans lequel l'étape d'évaluation comprend en outre les sous-étapes de : - création d'une liste de cibles d'évaluation à évaluer en fonction d'un niveau de profondeur courant dans un arbre d'évaluation, et - pour chaque cible d'évaluation de la liste, mise du statut d'activation pour l'évaluation à 'activé' en fonction de l'état d'activation pour l'évaluation de la cible d'évaluation parente de ladite cible. 21. Procédé selon l'une quelconques de revendications 19 ou 20, comprenant en outre une étape de désactivation pour l'évaluation d'au moins une expression de la pluralité d'expressions, ladite étape de désactivationcomprenant, pour chaque sous-expression de ladite expression à désactiver, une sous-étape de marquage d'un statut d'évaluation de ladite sous-expression à `terminé'. 22. Procédé selon la revendication 21, comprenant en outre, dans le cas où la sous-expression de l'expression à désactiver étant de type chemin de localisation, une sous-étape de désactivation du statut d'activation pour l'évaluation de la première cible d'évaluation correspondant à ladite sous-expression. 23. Procédé selon l'une quelconques de revendications 19 ou 20, comprenant en outre une étape de ré-activation pour l'évaluation d'au moins une expression de la pluralité d'expressions, ladite étape de ré-activation comprenant, pour chaque sous-expression de ladite expression à ré-activer, une sous-étape de marquage d'un statut d'évaluation de ladite sous-expression à `encours'. 24. Procédé selon la revendication 23, comprenant en outre, dans le cas où la sous-expression de l'expression à ré-activer étant de type chemin de localisation, une sous-étape de mise du statut d'activation pour l'évaluation de la première cible d'évaluation correspondant à ladite sous-expression à `activé'. 25. Dispositif de compilation d'une pluralité d'expressions à évaluer sur un document structuré, caractérisé en ce qu'il comprend, pour chaque expression de la pluralité d'expressions à évaluer : - des moyens de détermination (33,34) du type relatif ou absolu de ladite expression, une expression relative étant une expression dont l'évaluation dépend de l'évaluation d'au moins une autre expression de la pluralité d'expressions, -des moyens d'obtention (35), aptes à être appliqués si ladite expression est une expression relative, d'une expression contexte associée à 2925721 43 , ladite expression relative parmi les expressions de la pluralité d'expressions traitées préalablement, - des moyens de construction (51) d'une représentation compilée pour ladite expression à évaluer, telle qu'une représentation compilée d'expression 5 relative comprend un lien vers la représentation compilée de l'expression contexte associée. 26. Dispositif d'évaluation d'une pluralité d'expressions sur un document structuré, caractérisé en ce qu'il comprend des moyens d'évaluation 10 (53) mettant en oeuvre les représentations compilées des expressions de la pluralité d'expressions générées par un procédé de compilation selon l'une quelconque des revendications 1 à 15. 27. Programme d'ordinateur qui, lorsqu'il est exécuté par un 15 ordinateur ou un processeur dans un dispositif de compilation d'une pluralité d'expressions à évaluer sur un document structuré, amène le dispositif à réaliser un procédé selon l'une quelconque des revendications 1 à 15. 28. Programme d'ordinateur qui, lorsqu'il est exécuté par un 20 ordinateur ou un processeur dans un dispositif d'évaluation d'une pluralité d'expressions à évaluer sur un document structuré, amène le dispositif à réaliser un procédé selon l'une quelconque des revendications 16 à 24. 29. Représentation compilée d'une pluralité d'expressions à 25 évaluer sur un document structuré, ladite représentation comprenant une expression compilée relative, comprenant un lien vers une représentation compilée d'une expression contexte associée, une expression relative étant une expression dont l'évaluation dépend d'une expression contexte associée.