Brevet FR2826754A1 — publié le 20030103

La présente invention se situe dans le domaine du traitement des documents représentés avec un langage de balisage. On rappellera tout d'abord qu'un langage de balisage est un langage permettant de structurer des documents en vue notamment de leur utilisation sur le Web. L'invention se rapporte notamment au traitement de documents HTML et XML, ces langages étant définis par le Consortium du World Wide Web (W3C). Plus précisement, l'invention se rapporte à un procédé d'analyse et d'indexation d'un document représenté avec un langage de balisage, ce procédé étant particulièrement adapté pour être mis en oeuvre dans un appareil de traitement de données numériques disposant de peu de mémoire, tel un téléphone portable ou un assistant numérique personnel (Personal Digital Assistant,"PDA", en anglais). En effet, et de manière classique, l'analyse et l'indexation de documents représentés avec un langage de balisage nécessitent, en particulier pendant une phase d'analyse syntaxique ("parsing"en anglais), une utilisation importante de mémoire. Afin d'illustrer ce problème, nous allons décrire en référence aux figures 1A et 1 B un exemple d'arbre DOM ("Document Object Model"en anglais) construit par un analyseur syntaxique XML classique pour la représentation d'un document XML. La figure 1A est un exemple d'un document XML 10. Le document XML 10 comporte une partie P1 délimitée par une balise ouvrante et une balise fermante . La partie P1 comprend une partie fille P2 délimitée par une balise ouvrante et une balise fermante , cette balise ouvrante comportant un attribut déterminé par un nom"test"et une valeur"oui". Cette partie P2 comporte deux parties filles P3 et P4 respectivement délimitées par les balises ouvrante et fermantes . La partie de document P3 délimitée par les balises et comprend des données"Ma première fille". La partie de document P4 délimitée par les balises et comprend des données"Ma seconde fille". La figure 1B représente un arbre DOM 20 de représentation du document XML 10 de la figure 1A. Cette représentation est connue de l'homme du métier Chaque balise ouvrante du document XML 10 est associée à un noeud de l'arbre DOM 20. Par ailleurs, chaque noeud associé à la balise ouvrante d'une partie donnée a pour fils les noeuds associés aux balises ouvrantes des parties filles de cette partie. Ainsi, le sommet de l'arbre DOM 20 est un noeud N1 associé à la balise ouvrante de la partie de document P1. Ce noeud N1 a un fils unique N2 associé à la partie de document P2. Par simplification de langage, on dira aussi que le noeud N2 a deux noeuds fils N3 et N4 associés respectivement aux parties de document P3 et P4. Le noeud N2 a en outre un fils N7 associé à son attribut (test = "oui") contenu dans la balise ouvrante . Le noeud N3 a un fils N5 représentant les données"Ma première fille" de la partie P3 ; de même, le noeud N4 a un fils N6 représentant les données"Ma seconde fille"de la partie P4. Il apparaît ainsi, en référence à ces figures 1A et 1 B, que l'ensemble des informations contenues dans le document 10 se retrouve dans l'arbre DOM 20 qui lui est associé. En particulier, les données"Ma première fille"et"Ma seconde fille" des parties P3 et P4 sont présentes dans l'arbre DOM 20. Cette représentation présente un inconvénient dans le cas d'un appareil de traitement de données numériques disposant de peu de mémoire, car cette analyse syntaxique nécessite une duplication de l'ensemble des informations contenues dans le document représenté avec un langage de balisage, et en particulier des données. Afin de résoudre ce problème, l'invention propose une analyse syntaxique permettant une représentation compacte d'un document représenté avec un langage de balisage. Plus précisément, l'invention vise un procédé d'analyse d'une partie d'un document représenté avec un langage de balisage, la partie étant délimitée par une balise ouvrante et une balise fermante et comprenant éventuellement des données. Le procédé d'analyse comporte : - une étape d'obtention : - de l'adresse de ladite balise ouvrante et éventuellement de l'adresse des données dans le document ; et - de la taille de la balise ouvrante et éventuellement de la taille des données ; et - une étape de mémorisation dans une zone de mémoire : - de l'adresse de la balise ouvrante et éventuellement de l'adresse des données ; et - de la taille de la balise ouvrante et éventuellement de taille des données. Ainsi, le procédé d'analyse selon l'invention ne recopie pas les données contenues dans la partie de document mais mémorise, au lieu de ces données elles-mêmes, l'adresse et la taille de ces données. Ceci permet de gagner de la place mémoire et présente donc un avantage important lorsque ce procédé d'analyse est mis en oeuvre dans un appareil de traitement de données numériques disposant de peu de mémoire. Selon une caractéristique particulière du procédé d'analyse selon l'invention, au cours de l'étape de mémorisation, on mémorise dans la zone de mémoire, le nombre de parties filles de la partie de document et le nombre d'attributs de sa balise ouvrante. Cette caractéristique particulière permet, de retrouver directement, au cours d'une étape d'un procédé d'utilisation d'une partie d'un document représenté avec un langage de balisage selon l'invention, le nombre de parties filles et d'attributs de cette partie, sans qu'il soit nécessaire de recommencer l'analyse syntaxique de ce document. Selon une autre caractéristique particulière du procédé d'analyse conforme à l'invention, la balise ouvrante comportant au moins un attribut déterminé par un nom et une valeur, - au cours de l'étape d'obtention, on obtient : - la taille et l'adresse du nom de l'attribut dans le document ; - la taille et l'adresse de la valeur de l'attribut dans le document ; et - au cours de l'étape de mémorisation, on mémorise, dans la zone de mémoire : - la taille et l'adresse du nom de l'attribut dans le document ; et - la taille et l'adresse de la valeur de l'attribut dans le document. Cette caractéristique particulière permet d'éviter la duplication du nom et de la valeur de l'attribut, et donc de gagner de la place en mémoire, en mémorisant uniquement l'adresse et la taille de ces informations. Selon une caractéristique particulière du procédé d'analyse selon l'invention, le document comprenant une partie soeur de la partie, cette partie soeur étant consécutive à ladite partie dans le document, - au cours de l'étape d'obtention, on obtient une valeur représentative de l'adresse de la partie soeur dans le document ; et - au cours de l'étape de mémorisation, on mémorise la valeur représentative de l'adresse de la partie soeur dans la zone de mémoire. Cette caractéristique particulière permet de retrouver directement, au cours d'une étape d'un procédé d'utilisation d'une partie d'un document représenté avec un langage de balisage selon l'invention, la partie soeur de cette partie, sans qu'il soit nécessaire de recommencer l'analyse syntaxique du document. Selon un mode préféré de réalisation du procédé d'analyse conforme à l'invention, la valeur représentative de l'adresse de la partie soeur est obtenue à partir de la différence entre l'adresse de la partie soeur et l'adresse de la partie dans le document. Cette caractéristique particulière permet de réduire la taille des données mémorisées dans la zone de mémoire notamment dans le cas de l'indexation d'un document important, en sauvegardant des décalages, et non pas des adresses physiques. L'invention vise également un procédé d'indexation d'un document représenté avec un langage de balisage, le document comportant une première partie, le procédé d'indexation comportant, successivement et de façon récursive : - une étape d'analyse de la première partie ; - une étape d'analyse de chaque partie fille de ladite première partie, selon un procédé d'analyse précédemment décrit. Ce procédé d'indexation permet avantageusement d'indexer un document XML en utilisant une représentation compacte du document d'origine. Il est particulièrement adapté à être mis en oeuvre dans un appareil de traitement de données numériques disposant de peu de mémoire. L'invention vise également un procédé d'utilisation d'une partie d'un document représenté avec un langage de balisage, cette partie étant identifiée par un nom d'une balise ouvrante et le document étant associé à un tableau obtenu par un procédé d'indexation tel que décrit précédemment. Le procédé d'utilisation comporte : - une étape de recherche de la balise ouvrante dans le document à partir d'informations contenues dans ledit tableau ; - éventuellement une étape de lecture d'au moins un attribut de cette balise ouvrante à partir : - d'une adresse dans le document et d'une taille du nom de cet attribut, - d'une adresse dans le document et d'une taille de la valeur de cet attribut, ces adresses et ces tailles étant obtenues à partir du tableau ; - éventuellement une étape de lecture des données de la partie à partir d'une adresse dans le document et d'une taille de ces données, cette adresse et cette taille étant obtenues à partir du tableau ; et - récursivement, une étape d'utilisation des parties filles de la partie. Ce procédé d'utilisation permet de reconstruire une partie d'un document représenté avec un langage de balisage à partir d'un tableau obtenu par un procédé d'indexation tel que brièvement décrit et du document lui-même sans avoir à recommencer l'analyse syntaxique de ce document. Ce procédé d'utilisation est particulièrement avantageux lorsqu'il est mis en oeuvre dans un appareil de traitement de données ne disposant que de peu de mémoire. Dans ce cas en effet, le document lui-même peut être mémorisé sur un autre dispositif, seules les parties d'intérêt étant téléchargées dans l'appareil au fur et à mesure de leur utilisation. L'invention vise aussi un dispositif d'analyse d'une partie d'un document représenté avec un langage de balisage, la partie étant délimitée par une balise ouvrante et une balise fermante et comprenant éventuellement des données. Le dispositif d'analyse comporte : - des moyens d'obtention : - de l'adresse de la balise ouvrante et éventuellement de l'adresse des données dans le document ; et - de la taille de la balise ouvrante et éventuellement de la taille des données ; et - des moyens de mémorisation dans une zone de mémoire : - de l'adresse de la balise ouvrante et éventuellement de l'adresse des données ; et - de la taille de la balise ouvrante et éventuellement de la taille des données. L'invention vise aussi un dispositif d'indexation d'un document représenté avec un langage de balisage, le document comportant une première partie. Le dispositif d'indexation comporte : - un dispositif d'analyse d'une partie d'un document représenté avec un langage de balisage tel que décrit précédemment, adapté à analyser, successivement et de façon récursive : - la première partie ; - chaque partie fille de la première partie. L'invention vise également un dispositif d'utilisation d'une partie d'un document représenté avec un langage de balisage, la partie étant identifiée par un nom d'une balise ouvrante et le document étant associé à un tableau obtenu par un dispositif d'indexation tel que décrit précédemment. Le dispositif d'utilisation comporte : - des moyens de recherche de la balise ouvrante dans le document à partir d'informations contenues dans le tableau ; - des moyens de lecture d'un attribut de la balise ouvrante à partir : - d'une adresse dans le document et d'une taille du nom de cet attribut, - d'une adresse dans le document et d'une taille de la valeur de cet attribut, ces adresses et ces tailles étant obtenues à partir du tableau ; - des moyens de lecture des données de la partie à partir d'une adresse dans le document et d'une taille de ces données, cette adresse et cette taille étant obtenues à partir du tableau. L'invention vise également un système informatique comportant un dispositif d'analyse, un dispositif d'indexation ou un dispositif d'utilisation tels que décrits précédemment. Ce système informatique peut par exemple être constitué d'un téléphone mobile, d'un assistant numérique personnel, ou d'un ordinateur. L'invention vise aussi un support d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il contient des instructions d'un programme d'ordinateur, permettant la mise en oeuvre d'un procédé d'analyse, d'un procédé d'indexation ou d'un procédé d'utilisation tels que décrits précédemment, lorsque ce programme est chargé et exécuté par un système informatique. Ce support d'information peut être un CD-ROM, ou un support magnétique, tel un disque dur ou une disquette. En variante, ce support peut être un support transmissible, tel un signal électrique ou optique. L'invention vise aussi un programme d'ordinateur stocké sur un support d'informations, le programme comportant des instructions permettant de mettre en oeuvre un procédé d'analyse, un procédé d'indexation ou un procédé d'utilisation tels que décrits précédemment, lorsqu'il est chargé et exécuté par un système informatique. Les avantages de ces dispositifs, téléphone mobile, assistant numérique personnel, système informatique, support d'informations, et programme d'ordinateur étant identiques à ceux des procédés tels que succinctement exposés ci-dessus, ils ne seront pas rappelés ici. D'autres aspects et avantages de la présente invention apparaîtront plus clairement à la lecture de la description d'un mode particulier de réalisation qui va suivre, cette description étant donnée à titre d'exemple non limitatif et faite en référence aux dessins annexés, sur lesquels : - la figure 1A déjà décrite est un exemple de document XML ; - la figure 1 B représente un arbre DOM de représentation du document de la figure 1A ; - la figure 2 représente un organigramme décrivant les principales étapes d'un procédé d'indexation de document selon l'invention ; - la figure 3 est un organigramme représentant les principales étapes d'une procédure d'analyse d'un en-tête d'un document XML selon l'invention ; - la figure 4 est un organigramme représentant les principales étapes d'une procédure d'analyse d'une partie d'un document conformément à l'invention ; - la figure 5 représente les principales étapes d'une procédure de traitement de balise ouvrante selon l'invention ; - la figure 6 est un organigramme représentant les principales étapes d'une procédure de traitement d'un attribut selon l'invention ; - la figure 7 est un organigramme représentant les principales étapes d'une procédure de traitement de données selon l'invention ; - la figure 8 représente le tableau obtenu par le procédé d'indexation selon l'invention pour le document de la figure 1A ; - la figure 9 est un organigramme représentant les principales étapes d'un procédé d'utilisation d'une partie d'un document représenté avec un langage de balisage selon l'invention, - la figure 10 est un organigramme représentant les principales étapes d'une procédure de recherche d'une partie d'un document conformément à l'invention ; - la figure 11 représente les principales étapes d'une procédure d'affichage d'une partie d'un document selon l'invention ;. - la figure 12 est un organigramme représentant les principales étapes d'une procédure d'affichage d'une balise ouvrante selon l'invention ; - la figure 13 représente les principales étapes d'une procédure d'affichage des attributs d'une balise ouvrante selon l'invention ; - la figure 14 représente les principales étapes d'une procédure d'affichage de balise fermante selon l'invention ; - la figure 15 représente un dispositif d'analyse d'une partie d'un document représenté avec un langage de balisage selon l'invention ; - la figure 16 représente un dispositif d'indexation d'un document représenté avec un langage de balisage selon l'invention ; - la figure 17 représente un dispositif d'utilisation d'une partie d'un document selon l'invention ; et - la figure 18 représente un système informatique conforme à l'invention. La figure 2 représente un organigramme décrivant les principales étapes E200 à E240 d'un procédé d'indexation de document selon l'invention. Au cours d'une première étape E200, on crée un tableau T. Ce tableau T est mémorisé dans une mémoire non volatile 1810 décrite ultérieurement en référence à la figure 18. En variante, le tableau T peut être mémorisé dans un registre d'une mémoire volatile RAM 1820 décrite elle aussi en référence à la figure 18. L'étape E200 est suivie par une étape E210 au cours de laquelle une variable i est initialisée à la valeur 1. Cette variable i est mémorisée dans un registre du même nom d'une mémoire volatile RAM 1820 décrite ultérieurement en référence à la figure 18. L'étape E210 est suivie par une étape E220 au cours de laquelle le document D est parcouru jusqu'à la première occurrence du caractère" L'étape E220 est suivie par l'étape E225 d'appel d'une procédure d'analyse d'un en-tête du document D qui va maintenant être décrite en référence à la figure 3. La figure 3 est un organigramme représentant les principales étapes E300 à E340 d'une procédure d'analyse d'un en-tête d'un document XML selon l'invention. De façon connue l'en-tête d'un document XML commence par les caractères" ". Le caractère" Ce caractère C est mémorisé dans un registre du même nom de la mémoire volatile RAM 1820. L'étape E300 est suivie par une étape E310 au cours de laquelle on vérifie que le caractère C lu à l'étape E300 est le caractère" ?". Si tel n'est pas le cas, cela signifie que le document XML est mal formé, et la procédure d'analyse de l'en-tête se termine par une étape de génération d'un message d'erreur non représentée. Si le caractère C lu à l'étape E300 est le caractère " ? ", le résultat du test E310 est positif. Ce test est alors suivi par une étape E320 au cours de laquelle le document D est parcouru jusqu'au caractère" ?" suivant. L'étape E320 est suivie d'une étape E330 au cours de laquelle le caractère" > "est lu. Ce caractère marque la fin de l'en-tête du document XML. Dans le cas où un caractère" ?" supplémentaire est présent dans l'en-tête, ou bien si le caractère lu à l'étape E330 est différent du caractère" > ", cela signifie que le document XML est mal formé, et la procédure d'analyse de l'en-tête se termine par une étape de génération d'un message d'erreur. L'étape E330 est suivie par une étape E340 au cours de laquelle d'éventuels séparateurs sont parcourus. Ces séparateurs sont constitués entre autres par les caractères d'espace"", de tabulation"-""et de retour chariot"J". L'étape E340 est suivie par l'étape E230 du procédé d'indexation de document que nous allons décrire maintenant de retour à la figure 2. Au cours de cette étape E230, on parcourt le document D jusqu'au caractère" Ce caractère" L'étape E230 est suivie par l'étape E240 d'appel d'une procédure d'analyse de cette partie P qui va maintenant être décrite en référence à la figure 4. La figure 4 est un organigramme représentant les principales étapes E400 à E446 d'une procédure d'analyse d'une partie d'un document conformément à l'invention. Au cours de la première étape E400, on initialise une variable j, avec la valeur de la variable i. Cette variable j est mémorisée dans un registre du même nom de la mémoire volatile RAM 1820. De façon connue, une partie de document XML est délimitée par une balise ouvrante dont le format est de la forme" "et une balise fermante dont le format est de la forme" ". L'étape E400 est suivie par l'étape E402 d'appel d'une procédure de traitement de la balise ouvrante délimitant la partie P du document. Cette procédure de traitement de balise ouvrante va maintenant être décrite en référence à la figure 5. La figure 5 représente les principales étapes E500 à E540 de la procédure de traitement de balise ouvrante. Au cours de l'étape E500 le contenu de la case d'index i du tableau T est initialisée à 0. Cette case est la première case C1 du tableau T modifiée depuis le début de la procédure d'analyse de la partie P. Cette première case C1 est prévue pour mémoriser l'index de la première case C1 du tableau T correspondant à la première partie soeur PS de la partie P. Son contenu sera éventuellement modifié ultérieurement au cours de l'étape E422 décrite ultérieurement. L'étape E500 est suivie par une étape E510 au cours de laquelle on lit : - d'une part l'adresse A du caractère C courant du document D ; et - d'autre part le mot M commençant par ce caractère C. Dans le mode préféré de réalisation décrit ici, l'adresse A correspond à la position, exprimée en nombre de caractères, du caractère courant C dans le document D. Selon le format des balises décrit ci-dessus, le mot courant commençant par ce caractère C est le nom de la balise ouvrante délimitant la partie P du document D. Par exemple, en référence à la figure 1A déjà décrite, au cours de l'analyse de la partie P1 du document 10, le mot M courant est le mot "mère", le caractère C courant est la première lettre du mot "mère" soit "m" et l'adresse A courante est 2 car"m"est le deuxième caractère du document 10. L'étape E510 est suivie par une étape E520 au cours de laquelle : - l'adresse A lue au cours de l'étape E510 est mémorisée dans une case C2 du tableau T, la case C2 ayant pour index i + 1 ; et - la case C3 du tableau T est initialisée avec le nombre de caractères du mot courant M lu à l'étape E510. Les cases C2 et C3 du tableau T sont prévues respectivement pour mémoriser l'adresse et la longueur du nom de la balise ouvrante des parties P du document D. Dans l'exemple de la partie P1 du document 10 de la figure 1A, ces valeurs sont respectivement 2 comme nous l'avons déjà vu et 4,4 étant le nombre de caractères du mot"mère". L'étape E520 est suivie par une étape E530 au cours de laquelle les cases C4 et C5 du tableau T respectivement d'index i+3 et i+4 sont initialisées à 0. Ces cases sont respectivement prévues pour mémoriser le nombre d'attributs de la balise ouvrante de la partie P en cours d'analyse, et le nombre de parties filles de cette partie. Le contenu de ces cases sera modifié ultérieurement. L'étape E530 est suivie par une étape E540 au cours de laquelle la variable i est incrémentée de 5 unités. Cette étape E540 est la dernière étape de la procédure de traitement d'une balise ouvrante. Elle est suivie par l'étape E404 de la procédure d'analyse d'une partie de document que nous allons maintenant décrire de retour à la figure 4. . Au cours de l'étape E404 la variable N est affectée à la valeur 0. Cette variable est mémorisée dans un registre du même nom de la mémoire volatile RAM 1820. L'étape E404 est suivie par une étape E406 au cours de laquelle d'éventuels séparateurs placés derrière le nom de la balise sont parcourus. Cette étape est similaire à l'étape E340 déjà décrite. L'étape E406 est suivie par une étape E408 au cours de laquelle on obtient le caractère C suivant immédiatement les éventuels séparateurs lus au cours de l'étape précédente E406. L'étape E408 est suivie par un test E410 au cours duquel on vérifie si le caractère C lu à l'étape E408 est le caractère"/"ou le caractère" > ". Si tel est le cas, cela signifie que la balise ouvrante de la partie P ne contient pas d'attributs. Le résultat du test E410 est alors positif et ce test est suivi par une étape E414 qui sera décrite ultérieurement. En revanche, si le caractère C lu au cours de l'étape E408 diffère des caractères"/"et" > "le résultat du test E410 est négatif. Ce test est alors suivi par l'étape E411 d'appel d'une procédure de traitement d'attributs qui va maintenant être décrite en référence à la figure 6. La figure 6 est un organigramme des principales étapes E600 à E614 d'une procédure de traitement d'un attribut conforme à l'invention. Au cours de l'étape E600, on lit : - d'une part, l'adresse A du caractère C courant ; - et d'autre part, le mot M commençant par ce caractère C. Cette étape est identique à l'étape E510 déjà décrite. L'étape E600 est suivie par une étape E602 au cours de laquelle les cases A 1 et A2 du tableau T sont initialisées avec les valeurs A et M obtenues précédemment au cours de l'étape E600. Les index de ces cases A 1 et A2 sont respectivement i et i + 1. Ces cases A 1 et A2 sont prévues pour mémoriser l'adresse et la longueur du nom d'un attribut de la balise ouvrante de la partie P du document D. L'étape E602 est suivie par une étape E604 au cours de laquelle les caractères"=""sont lus. Selon le format des attributs dans un document XML, ces caractères précèdent immédiatement la valeur de l'attribut dont le nom à été lu au cours de l'étape E600. L'étape E604 est suivie par une étape E608 au cours de laquelle on lit : - d'une part, l'adresse A courant du caractère C courant dans le document D ; - et d'autre part, le mot M commençant par ce caractère C. Cette étape est identique à l'étape E510 déjà décrite. L'étape E608 est suivie par une étape E610 au cours de laquelle les cases A3 et A4 du tableau T d'index respectifs i+2 et i+3 sont initialisées avec l'adresse A et la longueur du mot M. Ces cases A3 et A4 sont en effet prévues pour mémoriser l'adresse dans le document D et la longueur de la valeur, d'un l'attribut de la balise ouvrante de la partie P du document D. L'étape E610 est suivie par une étape E612 au cours de laquelle le caractère"""est lu. Ce caractère marque en effet la fin de l'attribut en cours de traitement. Ainsi, en référence à la partie P2 du document 10 représenté à la figure 1A, l'attribut"test="oui"", cet attribut étant déterminé par son nom"test"et sa valeur"oui", serait traité par la procédure de traitement d'attribut de la façon suivante : - adresse du nom de l'attribut dans le document D : 17 ; - longueur du nom de l'attribut : 4 ; - adresse de la valeur de l'attribut : 23 ; - longueur de la valeur de l'attribut : 3. L'étape E612 est suivie par une étape E614 au cours de laquelle la variable i est incrémentée de 4 unités. Cette étape E614 termine la procédure de traitement d'attributs selon l'invention. Elle est suivie par l'étape E412 de la procédure d'analyse d'une partie de document qui va maintenant être décrite de retour à la figure 4. Au cours de l'étape E412 la variable N est incrémentée d'une unité, cette variable N étant prévue pour mémoriser le nombre d'attributs de la balise ouvrante de la partie P en cours d'analyse. L'étape E412 est suivie par les étapes E406, E408 et E410 déjà décrites. Lorsque tous les attributs de la balise ouvrante de la partie P ont été traités, le résultat du test E410 est positif. Ce test E410 est alors suivi par une étape E414 au cours de laquelle la case C4 d'index j+3 du tableau T est mise à la valeur N, cette valeur N mémorisant le nombre d'attributs de la balise ouvrante de la partie P. On rappelle à cet égard, que la variable j ayant été initialisée à la valeur i au cours de l'étape E400, la case d'index j+3 correspond à la case C4 précédemment décrite, le contenu de la case C4 ayant été temporairement initialisé à la valeur 0 au cours de l'étape E530. Maintenant que le nombre d'attributs de la balise ouvrante de la partie P en cours d'analyse est connu, le contenu de la case C4 du tableau est modifié au cours de cette étape E414. L'étape E414 est suivie par une étape E416 au cours de laquelle le caractère courant C lu précédemment à l'étape E408 est comparé avec le caractère"/". Lorsque ces caractères sont identiques, cela signifie que la partie P en cours d'analyse ne comprend ni partie fille PF ni données. En effet, le caractère "/" est, selon le format XML, le deuxième caractère de la balise fermante associée à la balise ouvrante traitée précédemment à l'étape E402. Le test E416 est suivi dans ce cas par une première étape E418 au cours de laquelle le caractère "/" est lu, puis par une étape E420, au cours de laquelle le caractère" > "est lu. Ce caractère marque en effet la fin de la balise fermante délimitant le partie P en cours d'analyse. L'étape E420 est suivie par une étape E422 au cours de laquelle la case d'index j du tableau T est mise à la valeur i-j. On rappelle en effet : - que la variable j mémorise, depuis l'étape E400, l'index de la première case C1 du tableau T remplie au cours de la procédure d'analyse de la partie P ; - et que la variable i mémorise l'index dans le tableau T de la case qui sera utilisée pour l'analyse de la partie suivant la partie P, c'est-à-dire la partie soeur PS de la partie P. Ainsi, en affectant avec la valeur i-j, la case C1 d'index j du tableau T, on mémorise dans cette case C1, le décalage à parcourir dans le tableau T pour obtenir la première case du tableau T associée à la partie soeur PS suivant la partie P. Ceci permet, au cours de la lecture du tableau T, de se positionner simplement, sans avoir à analyser une nouvelle fois le document D, sur le premier case de la partie du tableau T associée à la partie soeur PS immédiatement successive à une partie donnée P du document D. Lorsque au cours de l'étape E416, on trouve que le caractère C est différent du caractère "l", le résultat de ce test est négatif. Cela signifie que la partie P du document D en cours d'analyse comprend des données et/ou une partie fille PF. Ce test est alors suivi par l'étape E424. Au cours de l'étape E424, le caractère" > "est lu. Ce caractère ferme la balise ouvrante traitée à l'étape E402. L'étape E424 est suivie par une étape E426 au cours de laquelle d'éventuels séparateurs sont parcourus. Cette étape est similaire à l'étape E406 précédemment décrite. L'étape E426 est suivie par une étape E428 au cours de laquelle une variable K est initialisée à 0. Cette variable K est mémorisée dans un registre du même nom de la mémoire volatile RAM 1820. L'étape E428 est suivie par l'étape E429 d'appel d'une procédure de traitement de données qui va maintenant être décrite en référence à la figure 7. La figure 7 représente les principales étapes E700 à E730 d'une procédure de traitement de données selon l'invention. Au cours de l'étape E700 on lit l'adresse A du caractère C courant dans le document D. L'étape E700 est suivie par une étape E710 au cours de laquelle on lit les caractères du document D jusqu'à trouver le caractère" L'étape E710 est suivie par un test E715 au cours duquel on teste si la variable p est strictement positive. Si tel n'est pas le cas, cela signifie que la partie P ne contient pas de données à l'adresse A lue à l'étape E700, et la procédure de traitement de données se termine. Au contraire, si la variable p est strictement positive, le résultat du test E715 est positif. Ce test est alors suivi par une étape E720 au cours de laquelle les cases 01 est D2 du tableau T, ces cases ayant respectivement pour index i et i+1 sont mises aux valeurs A et p. Les cases 01 et D2 du tableau T sont en effet prévues pour mémoriser l'adresse A des données de la partie P en cours d'analyse, et la longueur de ces données. Dans l'exemple de l'analyse de la partie P3 du document 10 de la figure 1A, le traitement des données"Ma première fille"de cette partie P3 donne : - A = 39 car le caractère"M", correspondant au premier caractère de ces données, occupe la 39ème position dans le document 10 ; et - P = 17 car les données"Ma première fille"comporte 17 caractères. L'étape E720 est suivie par une étape E730 au cours de laquelle la variable i est incrémentée de 2 unités. Cette étape E730 termine la procédure de traitement de données selon l'invention. Elle est suivie par l'étape E430 de la procédure d'analyse d'une partie de document que nous allons décrire maintenant de retour à la figure 4. Au cours de l'étape E430 on lit le caractère" Cette étape E430 est suivie par l'étape E432 au cours de laquelle on obtient le caractère C suivant le caractère" Cette étape E432 est suivie par un test E434 au cours duquel on compare le caractère C lu à l'étape E432 avec le caractère"/". Lorsque ces caractères sont identiques, cela signifie, conformément au format XML, que le caractère" Ce test E434 est alors suivi par une étape E440 qui sera décrite ultérieurement. Dans le cas où le résultat du test E434 est négatif, cela signifie que le caractère" Ce test E434 est alors suivi par les étapes E400 à E446 d'analyse de cette partie fille PF. En effet, conformément à l'invention, l'indexation d'un document représenté par un langage de balisage se fait, de façon récursive, par analyse de la première partie du document D puis, par analyse de chaque partie fille de cette première partie. A l'issue de l'analyse de la partie fille PF précitée, on parcourt, au cours d'une étape E436, le document jusqu'au caractère" L'étape E436 est suivie par étape E438 au cours de laquelle la variable K est incrémentée d'une unité, la variable K étant utilisée pour mémoriser le nombre de données et de parties filles PF de la partie P en cours d'analyse. L'étape E438 est suivie par l'étape E429 d'appel de la procédure de traitement de données décrite précédemment. Cette procédure de traitement de données, est, comme précédemment décrite, suivie par les étapes E430, E432 et E434. Lorsque toutes les parties filles PF de la partie P ont été analysées, le résultat du test E434 est positif. Ce test est alors suivi par l'étape E440 au cours de laquelle la case C5 du tableau T, cette case ayant pour index j+4, est mise à la valeur K. On rappelle en effet, que cette case C5 est prévue pour mémoriser le nombre K de parties filles PF et de données de la partie P en cours d'analyse. Cette étape E440 est suivie par une étape E442 au cours de laquelle on lit le caractère"/". Ce caractère "f'est en effet, le deuxième caractère de la balise de fermeture de la partie en cours d'analyse. Cette étape E442 est suivie par une étape E444 au cours de laquelle on lit le mot courant, ce mot correspondant au nom de la balise traitée à l'étape E402. L'étape E444 est suivie par une étape E446 de lecture du caractère" > ", ce caractère étant le dernier caractère de la balise de fermeture de la partie P en cours d'analyse. L'étape E446 est suivie par l'étape E422 déjà décrite, cette étape E422 étant la dernière étape de la procédure d'analyse d'une partie d'un document selon l'invention. La figure 8 représente le tableau T obtenu par le procédé d'indexation pour le document 10 de la figure 1A. Il est divisée en quatre blocs, chaque bloc contenant des informations associées à une partie de document, ou, autrement dit à une balise ouvrante. Nous allons décrire en détail le bloc associé à la balise associé à la partie P3, la description pour les autres blocs n'étant pas répétée car identique. Ainsi, pour la partie P3 : - la case C1 contient la valeur 7, car l'index dans le tableau de la case C1 associée à la partie soeur P4 de P3 est obtenu par un décalage de 7 cases à partir de la case C 1 courante ; - la case C2 contient la valeur 32, cette valeur correspondant à l'adresse du nom de la balise ouvrante de la partie P3, cette adresse étant comptée en nombre de caractères ; - la case C3 contient la valeur 6 correspondant au nombre de caractères de la chaîne"fiiiel" ; - la case C4 contient la valeur 0 car la partie P3 n'a pas d'attributs ; - la case C5 contient la valeur 1 car la partie P3 contient un bloc de données mais n'a pas de partie fille ; - le bloc associé à la partie P3 ne comprend pas de cases A 1 à A4 car cette partie n'a pas d'attributs ; - la case D1 comprend la valeur 39, correspondant à la position du premier caractère des données de la partie P3 ; et - la case D2 comprend la valeur 17 correspondant à la taille de la chaîne de caractères constituée par ces données, à savoir"Ma première fille". Nous allons maintenant décrire en référence à la figure 9 les principales étapes E900 à E920 d'un procédé d'utilisation d'une partie P d'un document représenté avec un langage de balisage selon l'invention, cette partie P étant identifiée par le nom de sa balise ouvrante. Dans le mode de réalisation décrit ici, la partie P est affichée. Bien entendu, en variante, la partie P peut subir d'autres traitements, comme par exemple la traduction dans un autre langage. Nous supposerons par la suite que ce document D a été indexé précédemment par un procédé d'indexation conforme à l'invention. Nous supposerons également qu'au cours de ce procédé d'indexation, un tableau T a été crée conformément au procédé d'indexation décrit précédemment. Nous dirons maintenant que ce tableau T est associé au document D. Le procédé d'utilisation d'une partie P du document D, consiste à retrouver dans le document D, et dans le mode de réalisation décrit ici, à afficher, pour la partie P et toutes les parties filles PF de cette partie P, à partir des informations sauvegardées dans le tableau T : - les balises ouvrantes et fermantes de ces parties ; - les attributs des balises ouvrantes de ces parties ; - les données de ces parties. Au cours d'une première étape E900, la variable i est initialisée à la valeur 1. L'étape E900 est suivie par une étape E905 d'appel à une procédure de recherche de la partie P. Cette procédure de recherche de la partie P va maintenant être décrite en référence à la figure 10. La figure 10 est un organigramme représentant les principales étapes E1000 à E1070 d'une procédure de recherche d'une partie P d'un document D conformément à l'invention. Au cours de la première étape E1000, on commence par lire le contenu de la case C2 d'index i+1 du tableau T. Cette case contient l'adresse dans le document D de la balise ouvrante de la première partie P du document D. Au cours de cette même étape E1000 on se place dans le document D à l'adresse lue précédemment. Puis, on lit dans le document D, à partir de cette adresse, un certain nombre de caractères, ce nombre correspondant au contenu de la case C3 d'index i+2 du tableau T ; Cette chaîne de caractères est, au cours de cette même étape E1000, affectée à une variable S, la variable S étant mémorisée dans un registre du même nom de la mémoire volatile RAM 1820. A l'issue de cette étape E1000 la variable S contient donc le nom de la balise ouvrante de la première partie P du document D. L'étape E1000 est suivie par une étape E1010 au cours de laquelle on vérifie si le nom de la balise obtenue à l'étape E1000 correspond au nom de la balise ouvrante identifiant la partie P. Ce test E1010 consiste à comparer la chaîne de caractères S et le nom de la balise ouvrante de la partie P. Si ces chaînes de caractères sont identiques, le résultat du test E1010 est positif et la procédure de recherche d'une balise ouvrante est terminée. Dans le cas contraire, le résultat du test E1010 est négatif. Ce test est alors suivi par une étape E1020 au cours de laquelle on affecte le contenu de la case C5 d'index i+4 du tableau T à la variable K, le contenu de la case C5 correspondant au nombre de données et de parties filles de la première partie du document D, tel que décrit précédemment en référence à l'étape E440. L'étape E1020 est suivie par une étape E1030 au cours de laquelle on affecte le contenu de la case C4 d'index i+3 du tableau T à la variable N, le contenu de la case C4 correspondant au nombre d'attributs de la balise ouvrante de la partie P, tel que décrit précédemment en référence à l'étape E414. Au cours de cette même étape E1030, la variable i est mise à la valeur i+5+ (4xN). La variable i contient ainsi, l'index de la première case C1 de la partie du tableau T contenant des informations relatives à la partie fille PF de la première partie du document D. L'étape E1030 est suivie par un test E1040 au cours duquel on teste si la variable K est strictement positive. Si tel n'est pas le cas, le résultat du test E1040 est négatif et la procédure de recherche de balise ouvrante se termine Lorsque K est strictement positif, le résultat du test E1040 est positif. Ce test est alors suivi par une étape E1050 d'appel de la procédure de recherche de la partie fille PF de la partie P. A l'issue de l'étape E1050, on teste, au cours d'une étape E1060, si la balise ouvrante recherchée a été trouvée dans la partie fille PF de la partie P. Ce test peut se faire en lisant un indicateur mis à jour au cours de l'étape E1010 de la procédure de recherche de balise ouvrante dans la partie fille PF, cet indicateur n'étant pas représenté ici. Si la balise ouvrante recherchée n'a pas été trouvée, le résultat du test E1060 est négatif. Ce test est alors suivi par une étape E1070 au cours de laquelle la variable K est décrémentée d'une unité. L'étape E1070 est suivie par le test E1040 déjà décrit. En revanche, lorsque la balise ouvrante recherchée a été trouvée, le résultat du test E1060 est positif et la procédure de recherche de la partie P se termine. A l'issue de la procédure de recherche de la partie P précédemment décrite, la variable i contient l'index dans le tableau T de la case C 1 de la partie du tableau T associée à la partie P. La procédure de recherche de la partie P est suivie par l'étape E920 d'appel à une procédure d'affichage de la partie P, cette procédure allant maintenant être décrite en référence à la figure 11. La figure 11 représente les principales étapes E1100 à E1170 d'une procédure d'affichage d'une partie P. Au cours de la première étape EU 00, on appelle une procédure d'affichage de la balise ouvrante de la partie P qui va maintenant être décrite en référence à la figure 12. La figure 12 est un organigramme représentant les principales étapes E1200 à E1230 d'une procédure d'affichage d'une balise ouvrante selon l'invention. 11 L'étape E1200 est suivie par étape E1210 au cours de laquelle on commence par lire le contenu de la case C2 d'index i+1 du tableau T. Cette case C2 mémorise l'adresse dans le document D du nom de la balise ouvrante. Au cours de cette même étape E1210 on lit dans le document D, à partir de l'adresse obtenue précédemment, un certain nombre de caractères, ce nombre étant contenu dans la case C3 d'index i+2 du tableau T. Ces caractères ainsi lus, sont ensuite affichés. Ils correspondent au nom de la balise ouvrante de la partie P. L'étape E1210 est suivie par une étape E1220 d'appel à une procédure d'affichage des attributs de la balise ouvrante qui va maintenant être décrite en référence à la figure 13. La figure 13 représente les principales étapes E1300 à E1380 d'une procédure d'affichage des attributs d'une balise ouvrante selon l'invention. Au cours de la première étape E1300, le contenu de la case C4 d'index i+3 du tableau T est affecté à la variable N. Cette case C4 contient le nombre d'attributs de la balise ouvrante en cours d'affichage. L'étape E1300 est suivie par une étape E1305 au cours de laquelle la variable j est mise à la valeur i+5. La variable j contient ainsi l'index dans le tableau T de la case A 1 correspondant à l'adresse dans le document D du premier attribut de la balise ouvrante. L'étape E1305 est suivie par un test E1310 au cours duquel on teste si la variable N est strictement positive. Si ce n'est pas le cas, cela signifie que tous les attributs de la balise ouvrante ont été affichés. Dans ce cas, la procédure d'affichage d'attributs se termine. Dans le cas où N est strictement positif, le résultat du test E1310 est positif. Ce test est alors suivi par une étape E1315 au cours de laquelle on affiche le caractère "espace" afin de séparer un attribut du nom de la balise ouvrante ou deux attributs consécutifs. L'étape E1315 est suivi par une étape E1320 au cours de laquelle on lit dans le document D, à l'adresse contenue dans la case A 1 d'index j du tableau T, un certain nombre de caractères, ce nombre étant contenu dans la case A2 d'index j+1 du tableau T. Ces caractères sont affectés à la variable S. Ainsi, à l'issue de l'étape E1320, la variable S contient le nom du premier attribut de la balise ouvrante. L'étape E1320 est suivie par étape E1330 au cours de laquelle on affiche le contenu de la variable S. L'étape E1330 est suivie par une étape E1340 au cours de laquelle on affiche les caractères"="". L'étape E1340 est suivie par une étape E1350 au cours de laquelle on vient lire dans le document D à l'adresse A3 d'index j+2 du tableau T un certain nombre de caractères, ce nombre étant contenu dans la case A4 d'index j+3 de ce tableau T. Ces caractères sont affectés à variable S. Ainsi, à l'issue de l'étape E1350, la variable S contient la valeur du premier attribut de la balise ouvrante en cours d'affichage. L'étape E1350 est suivie par une étape E1360 au cours de laquelle on affiche le contenu de la variable S. L'étape E1360 est suivie par une étape E1370 au cours de laquelle on affiche le caractère""". L'étape E1370 est suivie par une étape E1380 au cours de laquelle : - la variable j est incrémentée de 4 unités ; et - la variable N est décrémentée d'1 unité. A l'issue de cette étape E1380, la variable j contient l'index dans le tableau T de la case contenant l'adresse du nom de l'attribut suivant de la balise en cours d'affichage ; la variable N contient le nombre d'attributs de la balise en cours d'affichage restant à afficher. Cette étape E1380 est suivie par le test E1310 déjà décrit. Lorsque tous les attributs de la balise ouvrante en cours d'affichage ont étés affichés, le résultat du test E1310 est négatif, et la procédure d'affichage d'attributs se termine. Le test E1310 est alors suivi par l'étape E1230 de la procédure d'affichage de balise qui va maintenant être décrite de retour à la figure 12. Au cours de l'étape E1230 on affiche le caractère" > ". Ce caractère est le dernier de la balise ouvrante à afficher. Cette étape E1230 est suivie par l'étape EU 05 qui va maintenant être décrite de retour à la figure 11. Au cours de l'étape E1105, on affecte le contenu de la case C5 d'index i+4 du tableau T à la variable K. L'étape E1105 est suivie par une étape E1110 au cours de laquelle : - d'une part, on affecte le contenu de la case C4 d'index i+3 du tableau T à la variable N ; et - d'autre part la variable j est mise à la valeur i+5+ (4xN). L'étape E1110 est suivie par une étape E1120, on cours de la quelle on teste si la valeur K est strictement positive. Si tel n'est pas la cas, le test E1120 est suivi par une étape E1125 d'appel à une procédure d'affichage d'une balise fermante de la partie P qui sera décrite ultérieurement en référence à la figure 14. Lorsque K est strictement positif, le résultat du test E1120 est positif. Ce test est alors suivi par un test EU 30, au cours duquel on teste si le caractère précédent le caractère C courant est le caractère" * Si tel est le cas, cela signifie que le caractère C courant correspond au premier caractère d'une partie fille PF de la partie P. Dans ce cas, le test E1130 est suivi par une étape E1180 d'appel à une procédure d'affichage de la partie fille PF. Cette étape EU 80 est suivie par une étape EU 70 décrite ultérieurement. Lorsque le résultat du test E1130 est négatif, cela signifie que le caractère C courant est le premier caractère de données de la partie P Le test E1130 est dans ce cas suivi par une étape E1140 au cours de laquelle on affecte à la variable S un certain nombre de caractères lus à l'adresse contenue dans la case d'index j du tableau T, ce nombre de caractères correspondant à la case d'index j+1 du tableau T. A l'issue de cette étape E1140, la variable S contient les données de la partie P. L'étape E1140 est suivie par une étape E1150 au cours de laquelle le contenu de la variable S est affiché. L'étape E1150 est suivie par une étape E1160 au cours de laquelle la variable j est incrémentée de deux unités. L'étape E1160 est suivie par une étape E1170 au cours de laquelle la variable K est décrémentée d'une unité. L'étape E1170 est suivie par le test E1120 déjà décrit. Lorsque le résultat du test E1120 devient négatif, ce test est suivi par une étape E1125 d'appel à une procédure d'affichage d'une balise fermante de la partie P qui va maintenant être décrite en référence à la figure 14. La figure 14 représente les principales étapes E1400 à E1420 d'une procédure d'affichage de balise fermante. On rappelle que cette procédure est appelée lorsque le résultat du test EU 20 est négatif. Au cours de la première étape E1400 on affiche les caractères " L'étape E1400 est suivie par une étape E1410 au cours de laquelle on lit, dans le document D, à l'adresse contenue dans la case C3 d'index i+2 du tableau T un certain nombre de caractères, ce nombre de caractères étant contenu dans la case C2 d'index i+1 du tableau T. Cette étape E1410 est similaire à l'étape EU 10 déjà décrite. L'étape E1410 est suivie par une étape E1420 au cours de laquelle on affiche le caractère" > ". Cette étape E1420 est la dernière étape d'une procédure d'affichage de balise fermante selon l'invention. C'est également la dernière étape de la procédure d'utilisation d'une partie d'un document D selon l'invention. La figure 15 représente un dispositif d'analyse 1500 d'une partie P d'un document D représenté avec un langage de balisage. Le dispositif d'analyse 1500 comporte un module d'obtention 1510 de l'adresse A d'une chaîne de caractères. Ce module d'obtention 1510 de l'adresse d'une chaîne de caractères est adapté à obtenir l'adresse de la balise ouvrante de la partie P du document D. Ce module d'obtention 1510 de l'adresse d'une chaîne de caractères est également adapté à obtenir l'adresse d'éventuelles données de la partie P. Le dispositif d'analyse 1500 comporte également un module d'obtention 1520 de la taille d'une chaîne de caractères. Ce module d'obtention 1520 de la taille d'une chaîne de caractères est adapté à obtenir la taille de la balise ouvrante de la partie P et éventuellement la taille de ses données. Le dispositif d'analyse 1500 comporte un module de mémorisation 1530 adapté à mémoriser différentes informations dans une zone de mémoire ZM. Ce module de mémorisation 1530 est en particulier adapté à mémoriser dans la zone de mémoire ZM, l'adresse de la balise ouvrante de la partie P et éventuellement l'adresse des données de la partie P, ces adresses ayant été obtenues par le module d'obtention 1510 de l'adresse d'une chaîne de caractères. Ce module de mémorisation 1530 est également adapté à mémoriser dans la zone de mémoire ZM la taille de la balise ouvrante et éventuellement la taille des données de la partie P, ces tailles ayant été obtenues par le module d'obtention 1520 de la taille d'une chaîne de caractères. La figure 16 représente un dispositif d'indexation 1600 d'un document D représenté avec un langage de balisage. Le dispositif d'indexation 1600 comprend un dispositif d'analyse 1500 tel que décrit précédemment. Ce dispositif d'analyse 1500 est en particulier adapté à analyser successivement et de façon récursive une première partie P du document D, chaque partie fille PF de la première partie P, et chaque partie soeur PS de la première partie P. Le dispositif d'indexation 1600 comporte en outre un module de création 1610 d'un tableau T, et un module de sauvegarde 1620 adaptés à sauvegarder progressivement dans le tableau T, le contenu des zones de mémoire ZM obtenu par le dispositif d'analyse 1500. Le dispositif d'indexation 1600 peut être utilisé pour indexer un document en langage XML. Le dispositif d'indexation 1600 peut être incorporé dans un téléphone mobile, un assistant numérique personnel ou un système informatique. La figure 17 représente un dispositif d'utilisation 1700 d'une partie P d'un document D, la partie P étant identifiée par le nom de sa balise ouvrante. Le document D est associé à un tableau T obtenu par un dispositif d'indexation 1600 tel que décrit précédemment. Le dispositif d'utilisation 1700 comporte un module 1710 de recherche d'une balise ouvrante dans le document D à partir d'informations contenues dans le tableau T. Ce module 1710 de recherche d'une balise ouvrante est en particulier adapté à lire le contenu des cases C2 et C3 du tableau T, ces cases contenant respectivement l'adresse et la taille d'une balise ouvrante dans le document D. Le module 1710 de recherche d'une balise ouvrante est également adapté à comparer le nom de la balise ouvrante identifiant la partie P avec une chaîne de caractères. Le dispositif d'utilisation 1700 comporte aussi un module 1720 de lecture : - d'un attribut de la balise ouvrante identifiant la partie P ; - et des données de la partie P. Ce module de lecture 1720 est en particulier adapté à lire le contenu des cases A 1, A2, A3, A4, 01 et D2 du tableau T. Les différents moyens décrits en référence aux figures 15,16 et 17 sont adaptés à être incorporés dans un système informatique, qui va maintenant être décrit en référence à la figure 18. Selon le mode de réalisation choisi et représenté à la figure 18, un système informatique mettant en oeuvre l'invention est par exemple un microordinateur 1800. Le système informatique 1800 comporte un bus de communication 1802 auquel sont reliés : - une unité centrale 1803 (microprocesseur) ; - une mémoire morte 1804, comportant un programme"Progr", permettant de mettre en oeuvre un procédé d'analyse, un procédé d'indexation et un procédé d'utilisation selon l'invention ; - une mémoire non volatile Flash 1810, comportant en particulier un registre pour mémoriser le tableau T ; - une mémoire vive RAM 1820, comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme précité ; - un écran 1808 permettant de visualiser un document représenté avec un langage de balisage, par exemple au cours d'une procédure d'affichage telle que précédemment décrite ; - un clavier 1817 ; - un disque dur 1812 ; - un lecteur de disquette 1814 adapté à recevoir une disquette 1816 ; - une interface de communication 1818 avec un réseau de communication 1807 permettant de transmettre le document numérique à un client. Le bus de communication permet la communication entre les différents éléments inclus dans le système informatique 1800 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du microordinateur 1800 directement ou par l'intermédiaire d'un autre élément du microordinateur 1800. Le programme noté"Progr"permettant au système informatique 1800 de mettre en oeuvre l'invention, peut être stocké par exemple en mémoire morte 1804 (appelée ROM sur le dessin) comme représenté sur la figure 18. Selon une variante, la disquette 1816, tout comme le disque dur 1812 peuvent contenir le programme"Progr". En seconde variante, le programme"Progr"pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 1807. Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un CD-ROM ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre les procédés d'analyse, d'indexation et d'utilisation selon l'invention. De manière plus générale, le programme pourra être chargé dans un des moyens de stockage du dispositif 1800 avant d'être exécuté. L'unité centrale 1803 va exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 1804 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes d'ordinateur décrits brièvement ci-dessus, qui sont stockés dans une mémoire non volatile, par exemple la mémoire ROM 1804, sont transférés dans la mémoire vive RAM 1820 qui contiendra alors le code exécutable de l'invention, ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. La mémoire vive RAM 1820 comporte en particulier les registres i, j, N, C, K, S et éventuellement T pour mémoriser les variables de même noms déjà décrites. REVENDICATIONS 1. Procédé d'analyse d'une partie (P) d'un document (D) représenté avec un langage de balisage, ladite partie (P) étant délimitée par une balise ouvrante et une balise fermante et comprenant éventuellement des données, caractérisé en ce qu'il comporte : - une étape d'obtention : - de l'adresse de ladite balise ouvrante (E510) et éventuellement de l'adresse desdites données (E700) dans ledit document (D) ; et - de la taille de ladite balise ouvrante (E520) et éventuellement de la taille desdites données (E710) ; et - une étape de mémorisation dans une zone de mémoire (ZM) : - de ladite adresse de ladite balise ouvrante (E520) et éventuellement de ladite adresse desdites données (E720) ; et - de ladite taille de ladite balise ouvrante (E520) et éventuellement de ladite taille desdites données (E720). 2. Procédé d'analyse selon la revendication 1, caractérisé en ce que au cours de ladite étape de mémorisation, on mémorise en outre (E440) le nombre de parties filles (PF) de ladite partie (P) dans ladite zone de mémoire (ZM). 3. Procédé d'analyse selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que au cours de ladite étape de mémorisation, on mémorise (E412) le nombre d'attributs de ladite partie (P) dans ladite zone de mémoire (ZM). 4. Procédé d'analyse selon la revendication 3, ladite balise ouvrante comportant au moins un attribut déterminé par un nom et une valeur, caractérisé en ce que ; - au cours de ladite étape d'obtention, on obtient : - la taille et l'adresse du nom dudit au moins un attribut dans ledit document (E600) ; - la taille et l'adresse de la valeur dudit au moins un attribut dans ledit document (E608) ; et en ce que : - au cours de ladite étape de mémorisation, on mémorise, dans ladite zone de mémoire (ZM) : - la taille et l'adresse du nom dudit au moins un attribut dans ledit document (E602) ; et - la taille et l'adresse de la valeur dudit au moins un attribut dans ledit document (E610). 5. Procédé d'analyse selon l'une quelconque des revendications 1 à 4, ledit document comprenant une partie soeur (PS) de ladite partie (P), ladite partie soeur (PS) étant consécutive à ladite partie (P), caractérisé en ce que : - au cours de ladite étape d'obtention, on obtient (E422) une valeur représentative de l'adresse de ladite partie soeur (PS) dans ledit document (D) ; et en ce que : - au cours de ladite étape de mémorisation, on mémorise (E422) ladite valeur représentative de ladite adresse de ladite partie soeur (PS) dans ladite zone de mémoire (ZM). 6. Procédé d'analyse selon la revendication 5, caractérisé en ce que ladite valeur représentative de ladite adresse de ladite partie soeur est obtenue à partir de la différence entre : - un index de mémorisation dans ladite zone de mémoire (ZM) de l'adresse de la balise ouvrante de ladite partie soeur (PS) ; et - un index de mémorisation dans ladite zone de mémoire (ZM) de l'adresse de la balise ouvrante de ladite partie (P). 7. Procédé d'indexation d'un document (D) représenté avec un langage de balisage, ledit document (D) comportant une première partie (P), caractérisé en ce qu'il comporte, successivement et de façon récursive : - une étape (E420) d'analyse de ladite première partie (P) ; et - une étape d'analyse (E435) de chaque partie fille (PF) de ladite première partie (P), selon un procédé d'analyse conforme à l'une quelconque des revendications 1 à 6. 8. Procédé d'indexation selon la revendication 7, caractérisé en ce qu'il comporte une étape préalable (E200) de création d'un tableau (T), et en ce que l'on sauvegarde, au fur et à mesure desdites étapes d'analyse, et progressivement dans ledit tableau (T), le contenu desdites zones de mémoire (ZM) obtenu au cours desdites étapes d'analyse. 9. Procédé d'indexation selon l'une quelconque des revendications 7 ou 8 pour l'indexation d'un document en langage XML. 10. Procédé d'utilisation d'une partie (P) d'un document (D) représenté avec un langage de balisage, ladite partie (P) étant identifiée par un nom d'une balise ouvrante et ledit document (D) étant associé à un tableau (T) obtenu par un procédé d'indexation conforme à la revendication 8, caractérisé en ce qu'il comporte : - une étape de recherche (E1 01 0) de ladite balise ouvrante dans ledit document (D) à partir d'informations contenues dans ledit tableau (T) ; - éventuellement une étape de lecture (E1320, E1350) d'au moins un attribut de ladite balise ouvrante à partir : - d'une adresse dans ledit document et d'une taille du nom dudit au moins un attribut, - d'une adresse dans ledit document et d'une taille de la valeur dudit au moins un attribut, ces adresses et ces tailles étant obtenues à partir dudit tableau ; - éventuellement une étape de lecture (E1140) des données de ladite partie (P) à partir d'une adresse dans ledit document (D) et d'une taille desdites données, cette adresse et cette taille étant obtenues à partir dudit tableau (T) ; et - récursivement, une étape (E1180) d'utilisation des parties filles (PF) de ladite partie (P). 11. Dispositif d'analyse (1500) d'une partie (P) d'un document (D) représenté avec un langage de balisage, ladite partie (P) étant délimitée par une balise ouvrante et une balise fermante et comprenant éventuellement des données, caractérisé en ce qu'il comporte : - des moyens d'obtention : - de l'adresse de ladite balise ouvrante et éventuellement de l'adresse desdites données dans ledit document (1510) ; et - de la taille de ladite balise ouvrante et éventuellement de la taille desdites données (1520) ; et - des moyens (1530) de mémorisation dans une zone de mémoire (ZM) : - de ladite adresse de ladite balise ouvrante et éventuellement de ladite adresse desdites données ; et - de ladite taille de ladite balise ouvrante et éventuellement de ladite taille desdites données. 12. Dispositif d'analyse (1500) d'une partie (P) d'un document (D) représenté avec un langage de balisage, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre un procédé d'analyse conforme à l'une quelconque des revendications 1 à 6. 13. Dispositif d'indexation (1600) d'un document (D) représenté avec un langage de balisage, ledit document (D) comportant une première partie (P), caractérisé en ce qu'il comporte : - un dispositif d'analyse (1500) d'une partie d'un document (D) représenté avec un langage de balisage conforme à l'une quelconque des revendications 11 ou 12, adapté à analyser, successivement et de façon récursive : - ladite première partie (P) ; - chaque partie fille (PF) de ladite première partie (P). 14. Dispositif d'indexation (1600) selon la revendication 13, caractérisé en ce qu'il comporte en outre des moyens (1610) de création d'un tableau (T), et des moyens (1620) de sauvegarde adaptés à sauvegarder, progressivement dans ledit tableau (T), le contenu desdites zones de mémoire (ZM) obtenu par ledit dispositif d'analyse (1500). 15. Utilisation du dispositif d'indexation (1600) conforme à l'une quelconque des revendications 13 ou 14 pour l'indexation d'un document (D) en langage XML. 16. Dispositif d'utilisation (1700) d'une partie (P) d'un document (D) représenté avec un langage de balisage, ladite partie (P) étant identifiée par un nom d'une balise ouvrante et ledit document (D) étant associé à un tableau (T) obtenu par un dispositif d'indexation conforme à la revendication 14, caractérisé en ce qu'il comporte : - des moyens (1710) de recherche de ladite balise ouvrante dans ledit document (D) à partir d'informations contenues dans ledit tableau (T) ; - des moyens (1720) de lecture d'au moins un attribut de ladite balise ouvrante à partir : - d'une adresse dans ledit document (D) et d'une taille du nom dudit au moins un attribut, - d'une adresse dans ledit document (D) et d'une taille de la valeur dudit au moins un attribut, ces adresses et ces tailles étant obtenues à partir dudit tableau (T) ; - des moyens (1720) de lecture des données de ladite partie à partir d'une adresse dans ledit document (D) et d'une taille desdites données, cette adresse et cette taille étant obtenues à partir dudit tableau (T). 17. Téléphone mobile caractérisé en ce qu'il comporte un dispositif d'analyse (1500) selon la revendication 11 ou 12. 18. Assistant numérique personnel caractérisé en ce qu'il comporte un dispositif d'analyse (1500) selon les revendications 11 ou 12. 19. Système informatique (1800) caractérisé en ce qu'il comporte un dispositif d'analyse (1500) selon les revendications 11 ou 12. 20. Téléphone mobile caractérisé en ce qu'il comporte un dispositif d'indexation (1600) selon la revendication 13 ou 14. 21. Assistant numérique personnel caractérisé en ce qu'il comporte un dispositif d'indexation (1600) selon la revendication 13 ou 14. 22. Système informatique (1800) caractérisé en ce qu'il comporte un dispositif d'indexation (1600) selon la revendication 13 ou 14. 23. Téléphone mobile caractérisé en ce qu'il comporte un dispositif d'utilisation (1700) selon la revendication 16. 24. Assistant numérique personnel caractérisé en ce qu'il comporte un dispositif d'utilisation (1700) selon la revendication 16. 25. Système informatique (1800) caractérisé en ce qu'il comporte un dispositif d'utilisation (1700) selon la revendication 16. 26. Support d'informations lisible par un système informatique, éventuellement totalement ou partiellement amovible, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il contient des instructions d'un programme d'ordinateur, permettant la mise en oeuvre d'un procédé d'analyse selon l'une quelconque des revendications 1 à 6, lorsque ce programme est chargé et exécuté par un système informatique. 27. Support d'informations lisible par un système informatique, éventuellement totalement ou partiellement amovible, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il contient des instructions d'un programme d'ordinateur, permettant la mise en oeuvre d'un procédé d'indexation selon l'une quelconque des revendications 7 à 9, lorsque ce programme est chargé et exécuté par un système informatique. 28. Support d'informations lisible par un système informatique, éventuellement totalement ou partiellement amovible, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il contient des instructions d'un programme d'ordinateur, permettant la mise en oeuvre d'un procédé d'utilisation selon la revendication 10, lorsque ce programme est chargé et exécuté par un système informatique. 29. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en oeuvre le procédé d'analyse selon l'une quelconque des revendications 1 à 6, lorsqu'il est chargé et exécuté par un système informatique. 30. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en oeuvre le procédé d'indexation selon l'une quelconque des revendications 7 à 9, lorsqu'il est chargé et exécuté par un système informatique. 31. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en oeuvre le procédé d'utilisation selon la revendication 10, lorsqu'il est chargé et exécuté par un système informatique.