FR2826754A1 - Analysis and indexing of parts of HTML or XML documents in which parts and attributes of a section of a document are memorized in memory zone - Google Patents

Analysis and indexing of parts of HTML or XML documents in which parts and attributes of a section of a document are memorized in memory zone Download PDF

Info

Publication number
FR2826754A1
FR2826754A1 FR0108700A FR0108700A FR2826754A1 FR 2826754 A1 FR2826754 A1 FR 2826754A1 FR 0108700 A FR0108700 A FR 0108700A FR 0108700 A FR0108700 A FR 0108700A FR 2826754 A1 FR2826754 A1 FR 2826754A1
Authority
FR
France
Prior art keywords
document
address
size
data
opening tag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0108700A
Other languages
French (fr)
Other versions
FR2826754B1 (en
Inventor
Jean Jacques Moreau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0108700A priority Critical patent/FR2826754B1/en
Publication of FR2826754A1 publication Critical patent/FR2826754A1/en
Application granted granted Critical
Publication of FR2826754B1 publication Critical patent/FR2826754B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Abstract

Has a memory stage during which is memorized the number of parts of a section in a memory zone (ZM). During the memorization stage the number of attributes in the section in memory zone (ZM) is memorized. Method of a section of a document represented in a markup language. The section is delimited by opening and closing markers and eventually includes data. The method consists of getting the address of the opening marker (E1510) and eventually the address of data in the document; getting the size of the opening marker (1520) and eventually the size of the data ; memorizing in a zone (ZM) of; the addresses of the opening marker and data; the sizes of the opening marker and data Independent claims are also included for (1) document analysis and indexing systems; (2) a mobile phone (3) personal digital assistant with a document analysis system.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

La présente invention se situe dans le domaine du traitement des documents représentés avec un langage de balisage.  The present invention is in the field of processing documents represented with a markup language.

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).  It will be recalled first of all that a markup language is a language for structuring documents with a view to their use on the Web. The invention relates in particular to the processing of HTML and XML documents, these languages being defined by the World Wide Web Consortium (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).  More precisely, the invention relates to a method for analyzing and indexing a document represented with a markup language, this method being particularly adapted to be implemented in a digital data processing apparatus having little memory, such as a mobile phone or PDA (Personal Digital Assistant, "PDA").

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.  Indeed, and conventionally, the analysis and indexing of documents represented with a markup language require, especially during a parsing phase, a significant use of memory.

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.  In order to illustrate this problem, we will describe with reference to FIGS. 1A and 1B an example of a DOM tree ("Document Object Model") built by a classical XML parser for the representation of an XML document.

La figure 1A est un exemple d'un document XML 10.  Figure 1A is an example of an XML document 10.

Le document XML 10 comporte une partie P1 délimitée par une balise ouvrante < mère > et une balise fermante < /mère > .  The XML document 10 has a part P1 delimited by a opening tag <mother> and a closing tag </ mother>.

La partie P1 comprend une partie fille P2 délimitée par une balise ouvrante < balise > et une balise fermante < /balise > , cette balise ouvrante comportant un attribut déterminé par un nom"test"et une valeur"oui".  The part P1 comprises a daughter part P2 delimited by an opening tag <tag> and a closing tag </ tag>, this opening tag having an attribute determined by a name "test" and a value "yes".

Cette partie P2 comporte deux parties filles P3 et P4 respectivement délimitées par les balises ouvrante < fille 1 > < fille2 > et fermantes < /fille1 > < /fille2 > .  This part P2 has two daughter parts P3 and P4 respectively delimited by the opening tags <daughter 1> <daughter2> and closing </ daughter1> </ daughter2>.

<Desc/Clms Page number 2> <Desc / Clms Page number 2>

La partie de document P3 délimitée par les balises < fille1 > et < /fille1 > comprend des données"Ma première fille". La partie de document P4 délimitée par les balises < fille2 > et < /fille2 > comprend des données"Ma seconde fille".  The document part P3 delimited by the <daughter1> and </ daughter1> tags includes "My first daughter" data. The document portion P4 delimited by the <daughter2> and </ daughter2> tags includes "My second daughter" data.

La figure 1B représente un arbre DOM 20 de représentation du document XML 10 de la figure 1A.  FIG. 1B represents a DOM tree 20 representing the XML document 10 of FIG. 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.
This representation is known to those skilled in the art
Each opening tag of the XML document 10 is associated with a node of the DOM tree 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.  In addition, each node associated with the opening tag of a given part has as its child the nodes associated with the opening tags of the child parts of this part.

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.  Thus, the vertex of the DOM tree 20 is a node N1 associated with the opening tag of the document part P1. This node N1 has a single child N2 associated with the document part 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.  For simplification of language, it will also be said that node N2 has two child nodes N3 and N4 respectively associated with document parts P3 and P4.

Le noeud N2 a en outre un fils N7 associé à son attribut (test = "oui") contenu dans la balise ouvrante < balise test ="oui" > .  Node N2 also has a child N7 associated with its attribute (test = "yes") contained in the opening tag <test tag = "yes">.

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.  The node N3 has a son N5 representing the data "My first daughter" of the part P3; likewise, the node N4 has a son N6 representing the data "My second daughter" of the part 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é.  It thus appears, with reference to these FIGS. 1A and 1B, that all the information contained in the document 10 is found in the DOM tree 20 associated with it.

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.  In particular, the data "My first daughter" and "My second daughter" of the parts P3 and P4 are present in the DOM 20 tree.

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  This representation has a disadvantage in the case of a digital data processing apparatus having little memory, because this parsing requires a duplication of all the

<Desc/Clms Page number 3><Desc / Clms Page number 3>

informations contenues dans le document représenté avec un langage de balisage, et en particulier des données.  information contained in the document represented with a markup language, and in particular data.

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.  In order to solve this problem, the invention proposes a syntax analysis allowing a compact representation of a document represented with a markup language.

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.  More specifically, the invention provides a method for analyzing a portion of a document represented with a markup language, the portion being delimited by an opening tag and a closing tag and possibly including data.

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.  The analysis method comprises: a step of obtaining: the address of said opening tag and possibly the address of the data in the document; and - the size of the opening tag and possibly the size of the data; and a storage step in a memory zone of: the address of the opening tag and possibly the address of the data; and - the size of the opening tag and possibly the size of the data.

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.  Thus, the analysis method according to the invention does not copy the data contained in the document part but stores, instead of these data themselves, the address and the size of these data. This saves memory space and therefore has a significant advantage when this analysis method is implemented in a digital data processing apparatus with little memory.

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.  According to a particular characteristic of the analysis method according to the invention, during the storage step, the number of daughter parts of the document part and the number of attributes of its tag are memorized in the memory area. opens.

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  This particular characteristic makes it possible to find directly, during a step of a method of using a part of a document

<Desc/Clms Page number 4><Desc / Clms Page number 4>

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.  represented with a markup language according to the invention, the number of daughter parts and attributes of this part, without it being necessary to restart the parsing of this 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.  According to another particular characteristic of the analysis method according to the invention, the opening tag comprising at least one attribute determined by a name and a value, - during the obtaining step, one obtains: - the size and the address of the name of the attribute in the document; - the size and address of the value of the attribute in the document; and during the storage step, the memory area is memorized by: the size and the address of the name of the attribute in the document; and - the size and address of the value of the attribute in the 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.  This particular feature makes it possible to avoid the duplication of the name and the value of the attribute, and thus to save space in memory, by memorizing only the address and the size of this information.

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.  According to a particular characteristic of the analysis method according to the invention, the document comprising a sister part of the part, this sister part being consecutive to the said part in the document, - during the obtaining step, one obtains a value representative of the address of the sister party in the document; and during the storage step, the value representative of the address of the sister part is stored in the memory area.

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.  This particular characteristic makes it possible to find directly, during a step of a method of using a portion of a document represented with a markup language according to the invention, the sister part of this part, without which it is necessary to restart the parsing of the document.

<Desc/Clms Page number 5> <Desc / Clms Page number 5>

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.  According to a preferred embodiment of the analysis method according to the invention, the value representative of the address of the sister part is obtained from the difference between the address of the sister part and the address of the party. in the 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.  This particular feature makes it possible to reduce the size of the data stored in the memory area, particularly in the case of indexing an important document, by saving offsets, and not physical addresses.

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.  The invention also relates to a method for indexing a document represented with a markup language, the document comprising a first part, the indexing method comprising, successively and recursively: a step of analyzing the first part ; a step of analyzing each daughter part of said first part, according to a previously described analysis method.

Ce procédé d'indexation permet avantageusement d'indexer un document XML en utilisant une représentation compacte du document d'origine.  This indexing method advantageously makes it possible to index an XML document by using a compact representation of the original document.

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. It is particularly suitable for being implemented in a digital data processing apparatus having little memory.

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.  The invention also relates to a method of using a part of a document represented with a markup language, this part being identified by a name of an opening tag and the document being associated with a table obtained by a method of indexing as described above.

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 ;  The method of use comprises: a step of searching for the opening tag in the document from information contained in said table; optionally a step of reading at least one attribute of this opening tag from: an address in the document and a size of the name of this attribute, an address in the document and a the size of the value of this attribute, these addresses and these sizes being obtained from the table;

<Desc/Clms Page number 6><Desc / Clms Page number 6>

- é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.  possibly a step of reading the data of the part from an address in the document and a size of these data, this address and this size being obtained from the table; and recursively, a step of using the daughter parts of the game.

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.  This method of use makes it possible to reconstruct a part of a document represented with a markup language from a table obtained by an indexing method as briefly described and from the document itself without having to start the analysis again. this 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.  This method of use is particularly advantageous when it is implemented in a data processing apparatus having only a small amount of memory. In this case indeed, the document itself can be stored on another device, only the parts of interest being downloaded into the device as and when they are used.

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.  The invention also relates to a device for analyzing a portion of a document represented with a markup language, the part being delimited by an opening tag and a closing tag and possibly including data.

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.  The analysis device comprises: means for obtaining: the address of the opening tag and possibly the address of the data in the document; and - the size of the opening tag and possibly the size of the data; and storage means in a memory area: the address of the opening tag and possibly the address of the data; and - the size of the opening tag and possibly the size of the data.

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 :  The invention also relates to a device for indexing a document represented with a markup language, the document comprising a first part. The indexing device comprises:

<Desc/Clms Page number 7><Desc / Clms Page number 7>

- 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.  a device for analyzing a part of a document represented with a markup language as described above, adapted to analyze, successively and recursively: the first part; - each girl part of the first part.

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.  The invention also relates to a device for using a portion of a document represented with a markup language, the part being identified by a name of an opening tag and the document being associated with a table obtained by a device. indexing as described above. The device of use comprises: means for searching the opening tag in the document from information contained in the table; means for reading an attribute of the opening tag from: an address in the document and a size of the name of this attribute; an address in the document and a size of the value of this attribute, these addresses and these sizes being obtained from the table; means for reading the data of the part from an address in the document and a size of these data, this address and this size being obtained from the table.

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.  The invention also relates to a computer system comprising an analysis device, an indexing device or a device for use as described above.

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.  This computer system may for example consist of a mobile phone, a personal digital assistant, or a computer.

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.  The invention also relates to an information carrier, possibly totally or partially removable, readable by a computer system, characterized in that it contains instructions of a computer program, allowing the implementation of a method of analysis, an indexing method or a method of use as described above, when this program is loaded and executed by a computer system.

<Desc/Clms Page number 8> <Desc / Clms Page number 8>

Ce support d'information peut être un CD-ROM, ou un support magnétique, tel un disque dur ou une disquette.  This information medium may be a CD-ROM, or a magnetic medium, such as a hard disk or a floppy disk.

En variante, ce support peut être un support transmissible, tel un signal électrique ou optique.  In a variant, this support may be a transmissible medium, such as an electrical or optical signal.

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.  The invention also relates to a computer program stored on an information medium, the program comprising instructions for implementing an analysis method, an indexing method or a method of use as described above, when loaded and executed by a computer system.

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.  The advantages of these devices, mobile phone, personal digital assistant, computer system, information carrier, and computer program being identical to those of the processes as briefly outlined above, they will not be recalled here.

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 ;  Other aspects and advantages of the present invention will appear more clearly on reading the description of a particular embodiment which follows, this description being given by way of nonlimiting example and with reference to the accompanying drawings, on which: - Figure 1A already described is an example of an XML document; FIG. 1B represents a DOM tree of representation of the document of FIG. 1A; FIG. 2 represents a flowchart describing the main steps of a document indexing method according to the invention; FIG. 3 is a flowchart representing the main steps of a procedure for analyzing a header of an XML document according to the invention; FIG. 4 is a flowchart representing the main steps of a procedure for analyzing a part of a document according to the invention; FIG. 5 represents the main steps of an opening tag processing procedure according to the invention; FIG. 6 is a flowchart representing the main steps of a procedure for processing an attribute according to the invention;

<Desc/Clms Page number 9><Desc / Clms Page number 9>

- 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 ;.  FIG. 7 is a flowchart representing the main steps of a data processing procedure according to the invention; FIG. 8 represents the table obtained by the indexing method according to the invention for the document of FIG. 1A; FIG. 9 is a flowchart representing the main steps of a method of using a portion of a document represented with a markup language according to the invention; FIG. 10 is a flowchart representing the main steps of FIG. a search procedure of a part of a document according to the invention; FIG. 11 represents the main steps of a procedure for displaying a part of a document according to the 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.  FIG. 12 is a flowchart representing the main steps of a procedure for displaying an opening tag according to the invention; FIG. 13 represents the main steps of a procedure for displaying the attributes of an opening tag according to the invention; FIG. 14 represents the main steps of a closing tag display procedure according to the invention; FIG. 15 represents a device for analyzing a portion of a document represented with a markup language according to the invention; FIG. 16 represents an indexing device of a document represented with a markup language according to the invention; FIG. 17 represents a device for using a part of a document according to the invention; and - Figure 18 shows a computer system according to the 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.  FIG. 2 represents a flowchart describing the main steps E200 to E240 of a document indexing method according to the 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.  During a first step E200, a table T is created. This table T is stored in a non-volatile memory 1810 described later with reference to FIG. 18.

<Desc/Clms Page number 10> <Desc / Clms Page number 10>

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.  Alternatively, the table T can be stored in a register of a volatile memory RAM 1820 also described with reference to FIG. 18.

L'étape E200 est suivie par une étape E210 au cours de laquelle une variable i est initialisée à la valeur 1.  Step E200 is followed by a step E210 in which a variable i is initialized to the value 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.  This variable i is stored in a register of the same name of a volatile memory RAM 1820 described later with reference to FIG. 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" < ".  Step E210 is followed by a step E220 in which document D is traversed until the first occurrence of the "<" character.

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.  Step E220 is followed by step E225 of calling a procedure for analyzing a header of document D which will now be described with reference to FIG.

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.  FIG. 3 is a flowchart representing the main steps E300 to E340 of a procedure for analyzing a header of an XML document according to the invention.

De façon connue l'en-tête d'un document XML commence par les caractères" < ?" et se termine par les caractères " ? > ".  In known manner the header of an XML document begins with the characters "<?" and ends with the characters "?>".

Le caractère" < "ayant été lu au cours de l'étape E220 précédemment décrite, on obtient au cours de l'étape E300 le caractère suivant le caractère" < "dans le document D.  Since the character "<" has been read during step E220 described above, during step E300, the character following the character "<" in document D is obtained.

Ce caractère C est mémorisé dans un registre du même nom de la mémoire volatile RAM 1820.  This character C is stored in a register of the same name of the volatile memory 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" ?".  Step E300 is followed by a step E310 in which it is verified that the character C read in step E300 is the "?" Character.

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.  If this is not the case, it means that the XML document is malformed, and the header analysis procedure ends with a step of generating an error message not shown.

Si le caractère C lu à l'étape E300 est le caractère " ? ", le résultat du test E310 est positif.  If the character C read in step E300 is the "?" Character, the result of the test E310 is positive.

Ce test est alors suivi par une étape E320 au cours de laquelle le document D est parcouru jusqu'au caractère" ?" suivant.  This test is then followed by a step E320 during which the document D is traversed up to the character "?" following.

<Desc/Clms Page number 11> <Desc / Clms Page number 11>

L'étape E320 est suivie d'une étape E330 au cours de laquelle le caractère" > "est lu.  Step E320 is followed by a step E330 in which the ">" character is read.

Ce caractère marque la fin de l'en-tête du document XML.  This character marks the end of the XML document header.

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" > ",

Figure img00110001

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. In the case where a "?" additional is present in the header, or if the character read in step E330 is different from the ">" character,
Figure img00110001

this means that the XML document is malformed, and the header parsing procedure ends with a step of generating an error message.

L'étape E330 est suivie par une étape E340 au cours de laquelle d'éventuels séparateurs sont parcourus.  Step E330 is followed by a step E340 in which any separators are traversed.

Ces séparateurs sont constitués entre autres par les caractères d'espace"", de tabulation"-""et de retour chariot"J".  These separators are constituted inter alia by the space characters "", tab "-" "and carriage return" 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.  Step E340 is followed by step E230 of the document indexing method which will now be described in Figure 2.

Au cours de cette étape E230, on parcourt le document D jusqu'au caractère" < "suivant.  During this step E230, document D is scanned to the next character "<".

Ce caractère" < "marque le début d'une partie P du document D.  This "<" character marks the beginning of a P part of document D.

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.  Step E230 is followed by step E240 of calling an analysis procedure of this part P which will now be described with reference to FIG. 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.  Fig. 4 is a flowchart showing the main steps E400 to E446 of a procedure for analyzing a part of a document according to the 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.  During the first step E400, a variable j is initialized with the value of the variable i. This variable j is stored in a register of the same name of the volatile memory 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" < b > "et une balise fermante dont le format est de la forme" < /b > ".  As known, part of the XML document is delimited by an opening tag whose format is of the form "<b>" and a closing tag whose format is of the form "</ b>".

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.  The step E400 is followed by the step E402 of calling an opening tag processing procedure delimiting the part P of the document.

Cette procédure de traitement de balise ouvrante va maintenant être décrite en référence à la figure 5.  This opening beacon processing procedure will now be described with reference to FIG. 5.

<Desc/Clms Page number 12> <Desc / Clms Page number 12>

La figure 5 représente les principales étapes E500 à E540 de la procédure de traitement de balise ouvrante.  Figure 5 shows the main steps E500 to E540 of the opening tag processing procedure.

Au cours de l'étape E500 le contenu de la case d'index i du tableau T est initialisée à 0.  During step E500, the contents of index box i of table T are initialized to 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.  This box is the first box C1 of the table T modified since the beginning of the analysis procedure of the part 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.  This first box C1 is provided for storing the index of the first box C1 of the table T corresponding to the first sister part PS of the part P. Its contents will eventually be modified later in the step E422 described later.

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.  The step E500 is followed by a step E510 in which one reads: on the one hand the address A of the current character C of the document D; and on the other hand the word M starting with this character 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.  In the preferred embodiment described here, the address A corresponds to the position, expressed in number of characters, of the current character C in the 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.  According to the format of the tags described above, the current word starting with this character C is the name of the opening tag defining the part P of the document D.

Par exemple, en référence à la figure 1A déjà décrite, au cours de

Figure img00120001

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. For example, with reference to FIG. 1A already described, during
Figure img00120001

the analysis of the part P1 of the document 10, the current word M is the word "mother", the current character C is the first letter of the word "mother" is "m" and the current address A is 2 because "m "is the second character of the 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.  The step E510 is followed by a step E520 during which: the address A read during the step E510 is stored in a box C2 of the table T, the box C2 having index i + 1; and - the box C3 of the table T is initialized with the number of characters of the current word M read in step E510.

<Desc/Clms Page number 13> <Desc / Clms Page number 13>

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.  Boxes C2 and C3 of table T are provided respectively for storing the address and the length of the name of the opening tag of parts P of 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".  In the example of the part P1 of the document 10 of FIG. 1A, these values are respectively 2 as we have already seen and 4.4 being the number of characters of the word "mother".

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.  The step E520 is followed by a step E530 in which the boxes C4 and C5 of the table T respectively of index i + 3 and i + 4 are initialized to 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.  These boxes are respectively provided to memorize the number of attributes of the opening tag of the part P being analyzed, and the number of girls parts of this part. The contents of these boxes will be modified later.

L'étape E530 est suivie par une étape E540 au cours de laquelle la variable i est incrémentée de 5 unités.  Step E530 is followed by a step E540 in which the variable i is incremented by 5 units.

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.  This step E540 is the last step in the process of processing an opening tag. This is followed by step E404 of the part-of-document analysis procedure which will now be described back in FIG. 4.

. Au cours de l'étape E404 la variable N est affectée à la valeur 0.  . During the step E404 the variable N is assigned to the value 0.

Cette variable est mémorisée dans un registre du même nom de la mémoire volatile RAM 1820.  This variable is stored in a register of the same name of the volatile memory 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.  Step E404 is followed by a step E406 during which any separators placed behind the name of the tag are traversed.

Cette étape est similaire à l'étape E340 déjà décrite.  This step is similar to step E340 already described.

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.  The step E406 is followed by a step E408 in which the character C immediately following the possible separators read in the previous step E406 is obtained.

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" > ".  Step E408 is followed by an E410 test in which it is checked whether the character C read in step E408 is the "/" character or the ">" character.

<Desc/Clms Page number 14> <Desc / Clms Page number 14>

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.  If this is the case, it means that the opening tag of the P part does not contain any attributes. The result of the E410 test is then positive and this test is followed by a step E414 which will be described later.

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.  On the other hand, if the character C read during the step E408 differs from the characters "/" and ">" the result of the test E410 is negative. This test is then followed by the call step E411 of an attribute processing procedure which will now be described with reference to FIG. 6.

La figure 6 est un organigramme des principales étapes E600 à E614 d'une procédure de traitement d'un attribut conforme à l'invention.  FIG. 6 is a flowchart of the main steps E600 to E614 of an attribute processing procedure according to the 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.

Figure img00140001
During step E600, we read: on the one hand, the address A of the current character C; - and on the other hand, the word M starting with this character C.
Figure img00140001

Cette étape est identique à l'étape E510 déjà décrite. This step is identical to the step E510 already described.

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. The step E600 is followed by a step E602 in which the boxes A 1 and A2 of the table T are initialized with the values A and M obtained previously during the step E600. The indexes of these boxes A 1 and A2 are respectively i and 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.  These boxes A 1 and A2 are provided for storing the address and the length of the name of an attribute of the opening tag of the part P of the 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.  Step E602 is followed by a step E604 in which the characters "=" "are read, depending on the format of the attributes in an XML document, these characters immediately precede the value of the attribute whose name was read in during the step 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.  Step E604 is followed by a step E608 in which it reads: on the one hand, the current A address of the character C current in the document D; - and on the other hand, the word M starting with this character C.

Cette étape est identique à l'étape E510 déjà décrite.  This step is identical to the step E510 already described.

<Desc/Clms Page number 15> <Desc / Clms Page number 15>

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.  The step E608 is followed by a step E610 in which the boxes A3 and A4 of the table T of respective indices i + 2 and i + 3 are initialized with the address A and the length of the word 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.  These boxes A3 and A4 are indeed intended to store the address in the document D and the length of the value, an attribute of the opening tag of the part P of the 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.  Step E610 is followed by a step E612 during which the "" character is read, which character marks the end of the attribute being processed.

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.  Thus, with reference to part P2 of the document shown in FIG. 1A, the attribute "test =" yes "", this attribute being determined by its name "test" and its value "yes", would be treated by the procedure attribute processing as follows: - address of the name of the attribute in the document D: 17; - length of the name of the attribute: 4; - address of the value of the attribute: 23; - length of the attribute value: 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.  Step E612 is followed by a step E614 in which the variable i is incremented by 4 units. This step E614 completes the attribute processing procedure according to the invention. This is followed by step E412 of the document part analysis procedure which will now be described back to FIG. 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.  During step E412 the variable N is incremented by one unit, this variable N being provided for storing the number of attributes of the opening tag of the part P being analyzed.

L'étape E412 est suivie par les étapes E406, E408 et E410 déjà décrites.  Step E412 is followed by steps E406, E408 and E410 already described.

Lorsque tous les attributs de la balise ouvrante de la partie P ont été traités, le résultat du test E410 est positif.  When all the attributes of the opening tag of the P part have been processed, the result of the E410 test is positive.

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.  This test E410 is then followed by a step E414 in which the box C4 of index j + 3 of the table T is set to the value N, this value N storing the number of attributes of the opening tag of the part P .

<Desc/Clms Page number 16> <Desc / Clms Page number 16>

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.  In this regard, it is recalled that, since the variable j having been initialized to the value i during the step E400, the index box j + 3 corresponds to the box C4 previously described, the contents of the box C4 having been temporarily initialized to the value 0 in step 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.  Now that the number of attributes of the opening tag of the part P being analyzed is known, the contents of the box C4 of the table is modified during this step 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"/".  Step E414 is followed by a step E416 during which the current character C read previously in step E408 is compared with the character "/".

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.

Figure img00160001
When these characters are identical, it means that the part P being analyzed does not include any daughter PF or data.
Figure img00160001

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. Indeed, the character "/" is, according to the XML format, the second character of the closing tag associated with the opening tag treated previously in step 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.  The test E416 is followed in this case by a first step E418 in which the character "/" is read, then by a step E420, during which the character ">" is read.

Ce caractère marque en effet la fin de la balise fermante délimitant le partie P en cours d'analyse.  This character marks the end of the closing tag delimiting the part P being analyzed.

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.  The step E420 is followed by a step E422 during which the index box j of the table T is set to the value 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.  It is recalled that: - the variable j stores, since step E400, the index of the first box C1 of the table T filled during the analysis procedure of the part P; and that the variable i stores the index in the table T of the box which will be used for the analysis of the part following the part P, that is to say the sister part PS of the part 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  Thus, by assigning with the value i-j, the box C1 index j of the table T, is stored in this box C1, the shift to be traveled in the

<Desc/Clms Page number 17><Desc / Clms Page number 17>

tableau T pour obtenir la première case du tableau T associée à la partie soeur PS suivant la partie P.  table T to obtain the first box of the table T associated with the sister part PS following the part 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.  This allows, during the reading of the table T, to be positioned simply, without having to analyze again the document D, on the first box of the part of the table T associated with the sister part PS immediately following a given part P of 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.  When during step E416, we find that the character C is different from the character "l", the result of this test is negative. This means that the part P of the document D being analyzed comprises data and / or a daughter part PF. This test is then followed by step E424.

Au cours de l'étape E424, le caractère" > "est lu. Ce caractère ferme la balise ouvrante traitée à l'étape E402.  In step E424, the ">" character is read. This character closes the opening tag processed in step 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.  Step E424 is followed by a step E426 in which any separators are traversed. This step is similar to step E406 previously described.

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.  The step E426 is followed by a step E428 during which a variable K is initialized to 0. This variable K is stored in a register of the same name of the volatile memory 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.  Step E428 is followed by the calling step E429 of a data processing procedure which will now be described with reference to FIG. 7.

La figure 7 représente les principales étapes E700 à E730 d'une procédure de traitement de données selon l'invention.  FIG. 7 represents the main steps E700 to E730 of a data processing procedure according to the invention.

Au cours de l'étape E700 on lit l'adresse A du caractère C courant dans le document D.  During the step E700, the address A of the current character C is read in the 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" < ". Dans la suite de la description on considère que p caractères ont été lus au cours de cette étape E710.  Step E700 is followed by a step E710 during which the characters of document D are read until the character "<" is found. In the rest of the description, it is considered that p characters were read during this step E710.

L'étape E710 est suivie par un test E715 au cours duquel on teste si la variable p est strictement positive.  Step E710 is followed by an E715 test in which it is tested whether the variable p is strictly positive.

<Desc/Clms Page number 18> <Desc / Clms Page number 18>

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.  If this is not the case, this means that part P does not contain data at address A in step E700, and the data processing procedure ends.

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.  On the contrary, if the variable p is strictly positive, the result of the test E715 is positive. This test is then followed by a step E720 during which the cells 01 is D2 of the table T, these boxes respectively having for index i and i + 1 are set to the values A and 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.  The boxes 01 and D2 of the table T are in fact provided for storing the address A of the data of the part P being analyzed, and the length of these data.

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.  In the example of the analysis of the part P3 of the document 10 of FIG. 1A, the processing of the data "My first daughter" of this part P3 gives: - A = 39 because the character "M", corresponding to the first character of these data, occupies the 39th position in the document 10; and - P = 17 because the data "My first daughter" has 17 characters.

L'étape E720 est suivie par une étape E730 au cours de laquelle la variable i est incrémentée de 2 unités.  Step E720 is followed by a step E730 in which the variable i is incremented by 2 units.

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.  This step E730 completes the data processing procedure according to the invention. This is followed by step E430 of the part-of-document analysis procedure which will now be described in Figure 4.

Au cours de l'étape E430 on lit le caractère" < ".  In step E430, the character "<" is read.

Cette étape E430 est suivie par l'étape E432 au cours de laquelle on obtient le caractère C suivant le caractère" < "lu à l'étape E430.  This step E430 is followed by step E432 in which the character C is obtained following the character "<" read in step E430.

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"/".  This step E432 is followed by an E434 test in which the character C read in step E432 is compared with the character "/".

Lorsque ces caractères sont identiques, cela signifie, conformément au format XML, que le caractère" < "lu à l'étape E430 était le premier caractère de la balise de fermeture de la partie P du document D.  When these characters are identical, it means, in accordance with the XML format, that the "<" character read in step E430 was the first character of the closing tag of part P of document D.

<Desc/Clms Page number 19> <Desc / Clms Page number 19>

Ce test E434 est alors suivi par une étape E440 qui sera décrite ultérieurement.  This test E434 is then followed by a step E440 which will be described later.

Dans le cas où le résultat du test E434 est négatif, cela signifie que le caractère" < "lu à l'étape E430 est le premier caractère d'une balise d'ouverture délimitant une partie fille PF de la partie P en cours d'analyse.  In the case where the result of the test E434 is negative, it means that the character "<" read in step E430 is the first character of an opening tag delimiting a daughter part PF of the part P in progress. analysis.

Ce test E434 est alors suivi par les étapes E400 à E446 d'analyse de cette partie fille PF.  This test E434 is then followed by the steps E400 to E446 analysis of this daughter 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.  Indeed, in accordance with the invention, the indexing of a document represented by a markup language is done, recursively, by analysis of the first part of the document D then, by analysis of each daughter part of this first part .

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" < "suivant.  At the end of the analysis of the daughter part PF above, during a step E436, the document is scanned to the next character "<".

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.  The step E436 is followed by step E438 during which the variable K is incremented by one unit, the variable K being used to memorize the number of data and daughter parts PF of the part P being analyzed.

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.  Step E438 is followed by the calling step E429 of the data processing procedure described above.

Cette procédure de traitement de données, est, comme précédemment décrite, suivie par les étapes E430, E432 et E434.  This data processing procedure is, as previously described, followed by steps E430, E432 and 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.  When all daughter PF parts of part P have been analyzed, the result of the E434 test is positive. This test is then followed by the step E440 during which the box C5 of the table T, this box having for index j + 4, is set to the value 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.  It should be remembered that this box C5 is provided for storing the number K of daughter parts PF and data of the part P being analyzed.

Cette étape E440 est suivie par une étape E442 au cours de laquelle on lit le caractère"/".  This step E440 is followed by a step E442 during which the character "/" is read.

Ce caractère "f'est en effet, le deuxième caractère de la balise de fermeture de la partie en cours d'analyse.  This character is indeed the second character of the closing tag of the part being analyzed.

<Desc/Clms Page number 20> <Desc / Clms Page number 20>

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.  This step E442 is followed by a step E444 during which the current word is read, this word corresponding to the name of the tag processed in step 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.  The step E444 is followed by a step E446 reading the character ">", this character being the last character of the closing tag of the part P being analyzed.

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.  Step E446 is followed by step E422 already described, this step E422 being the last step of the procedure for analyzing a part of a document according to the invention.

La figure 8 représente le tableau T obtenu par le procédé d'indexation pour le document 10 de la figure 1A.  Fig. 8 shows the table T obtained by the indexing method for document 10 of Fig. 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.  It is divided into four blocks, each block containing information associated with a part of a document, or, in other words, with an opening tag.

Nous allons décrire en détail le bloc associé à la balise < fille1 > associé à la partie P3, la description pour les autres blocs n'étant pas répétée car identique.  We will describe in detail the block associated with the tag <fille1> associated with the part P3, the description for the other blocks not being repeated because identical.

Ainsi, pour la partie P3 :

Figure img00200001

- 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 < fille 1 > 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 ; Thus, for part P3:
Figure img00200001

- Box C1 contains the value 7, because the index in the table of the box C1 associated with the sister part P4 of P3 is obtained by a shift of 7 boxes from the current box C 1; the box C2 contains the value 32, this value corresponding to the address of the name of the opening tag <daughter 1> of the part P3, this address being counted in number of characters; - box C3 contains the value 6 corresponding to the number of characters of the string "fiiiel"; - Box C4 contains the value 0 because the part P3 has no attributes; the box C5 contains the value 1 because the part P3 contains a block of data but has no daughter part; the block associated with the part P3 does not include boxes A 1 to A4 because this part has no attributes;

<Desc/Clms Page number 21><Desc / Clms Page number 21>

- 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".  the box D1 comprises the value 39, corresponding to the position of the first character of the data of the part P3; and - the box D2 comprises the value 17 corresponding to the size of the string of characters constituted by these data, namely "My first daughter".

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.  We will now describe with reference to FIG. 9 the main steps E900 to E920 of a method of using a part P of a document represented with a markup language according to the invention, this part P being identified by the name of its opening tag.

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.  In the embodiment described here, the part P is displayed. Of course, alternatively, the part P may undergo other treatments, such as for example the translation into another language.

Nous supposerons par la suite que ce document D a été indexé précédemment par un procédé d'indexation conforme à l'invention.  We will assume later that this document D has been indexed previously by an indexing method according to the 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.  We will also assume that during this indexing process, a table T has been created in accordance with the indexing method described above. We will now say that this table T is associated with the 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.  The method of using a part P of the document D, consists in finding in the document D, and in the embodiment described here, to display, for the part P and all the daughter parts PF of this part P, to from the information saved in table T: - the opening and closing tags of these parts; - the attributes of the opening tags of these parts; - the data of these parts.

Au cours d'une première étape E900, la variable i est initialisée à la valeur 1.  During a first step E900, the variable i is initialized to the value 1.

L'étape E900 est suivie par une étape E905 d'appel à une procédure de recherche de la partie P.  Step E900 is followed by a step E905 of calling a search procedure of part P.

Cette procédure de recherche de la partie P va maintenant être décrite en référence à la figure 10.  This search procedure of the part P will now be described with reference to FIG.

<Desc/Clms Page number 22> <Desc / Clms Page number 22>

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.  Fig. 10 is a flowchart showing the main steps E1000 to E1070 of a procedure for searching a part P of a document D according to the 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.  During the first step E1000, we begin by reading the contents of the box C2 of index i + 1 of the table T.

Cette case contient l'adresse dans le document D de la balise ouvrante de la première partie P du document D.  This box contains the address in the document D of the opening tag of the first part P of the document D.

Au cours de cette même étape E1000 on se place dans le document D à l'adresse lue précédemment.  During this same step E1000 is placed in the document D at the address read previously.

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.
Then, in the document D, from this address, a number of characters are read, this number corresponding to the content of the box C3 of index i + 2 of the table T;
This string is, during this same step E1000, assigned to a variable S, the variable S being stored in a register of the same name of the volatile memory 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.  At the end of this step E1000, the variable S thus contains the name of the opening tag of the first part P of the 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.  The step E1000 is followed by a step E1010 in which it is checked whether the name of the tag obtained in step E1000 corresponds to the name of the opening tag identifying the part P.

Ce test E1010 consiste à comparer la chaîne de caractères S et le nom de la balise ouvrante de la partie P.  This test E1010 consists of comparing the string S and the name of the opening tag of the part 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.  If these strings are identical, the result of the E1010 test is positive and the search procedure for an opening tag is complete.

Dans le cas contraire, le résultat du test E1010 est négatif.  Otherwise, the result of the E1010 test is negative.

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.  This test is then followed by a step E1020 during which the content of box C5 of index i + 4 of table T is assigned to variable K, the content of box C5 corresponding to the number of data and daughter parts. of the first part of document D, as described above with reference to step E440.

<Desc/Clms Page number 23> <Desc / Clms Page number 23>

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.  Step E1020 is followed by a step E1030 during which the content of box C4 of index i + 3 of table T is assigned to variable N, the content of box C4 corresponding to the number of attributes of the opening tag of the part P, as described above with reference to step 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.  During this same step E1030, the variable i is set to the value i + 5 + (4xN). The variable i thus contains the index of the first box C1 of the part of the table T containing information relating to the daughter part PF of the first part of the document D.

L'étape E1030 est suivie par un test E1040 au cours duquel on teste si la variable K est strictement positive.  Step E1030 is followed by an E1040 test in which it is tested whether the variable K is strictly 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.
If this is not the case, the result of the E1040 test is negative and the opening tag search procedure ends
When K is strictly positive, the result of the E1040 test is positive. This test is then followed by a calling step E1050 of the search procedure of the daughter part PF of the part 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.  At the end of step E1050, during a step E1060, it is tested whether the desired opening tag has been found in the daughter part PF of the part 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.  This test can be done by reading an indicator updated during step E1010 of the opening beacon search procedure in the PF daughter part, this indicator not being shown here.

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é.  If the desired opening tag has not been found, the result of the E1060 test is negative. This test is then followed by a step E1070 in which the variable K is decremented by one unit.

L'étape E1070 est suivie par le test E1040 déjà décrit.  Step E1070 is followed by the test E1040 already described.

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.  On the other hand, when the searched opening tag has been found, the result of the test E1060 is positive and the search procedure of the part P ends.

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.  At the end of the search procedure of the part P previously described, the variable i contains the index in the table T of the box C 1 of the part of the table T associated with the part P.

<Desc/Clms Page number 24> <Desc / Clms Page number 24>

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.  The search procedure of the part P is followed by the step E920 of calling a display procedure of the part P, this procedure will now be described with reference to FIG. 11.

La figure 11 représente les principales étapes E1100 à E1170 d'une procédure d'affichage d'une partie P.  FIG. 11 represents the main steps E1100 to E1170 of a procedure for displaying a part 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.  During the first step EU 00, a procedure is called for displaying the opening tag of the part P which will now be described with reference to FIG. 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.

Figure img00240001
Fig. 12 is a flow chart showing the main steps E1200 to E1230 of a display procedure of an opening tag according to the invention.
Figure img00240001

11 < 11 Au cours de la première étape E1200, on affiche le caractère
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.
11 <11 During the first step E1200, the character is displayed
Step E1200 is followed by step E1210 during which the contents of box C2 of index i + 1 of table T are read first.

Cette case C2 mémorise l'adresse dans le document D du nom de la balise ouvrante.  This box C2 stores the address in the document D of the name of the opening tag.

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.  During this same step E1210 is read in the document D, from the address obtained above, a number of characters, this number being contained in the box C3 index i + 2 Table T.

Ces caractères ainsi lus, sont ensuite affichés. Ils correspondent au nom de la balise ouvrante de la partie P.  These characters read in this way are then displayed. They correspond to the name of the opening tag of part 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.  Step E1210 is followed by a step E1220 of calling a procedure for displaying the attributes of the opening tag which will now be described with reference to FIG. 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.  FIG. 13 represents the main steps E1300 to E1380 of a procedure for displaying the attributes of an opening tag according to the 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.  During the first step E1300, the content of the box C4 of index i + 3 of table T is assigned to the variable N.

Cette case C4 contient le nombre d'attributs de la balise ouvrante en cours d'affichage.  This box C4 contains the number of attributes of the opening tag being displayed.

L'étape E1300 est suivie par une étape E1305 au cours de laquelle la variable j est mise à la valeur i+5.  The step E1300 is followed by a step E1305 in which the variable j is set to the value i + 5.

<Desc/Clms Page number 25> <Desc / Clms Page number 25>

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.  The variable j thus contains the index in the table T of the box A 1 corresponding to the address in the document D of the first attribute of the opening tag.

L'étape E1305 est suivie par un test E1310 au cours duquel on teste si la variable N est strictement positive.  Step E1305 is followed by an E1310 test in which it is tested whether the variable N is strictly positive.

Si ce n'est pas le cas, cela signifie que tous les attributs de la balise ouvrante ont été affichés.  If this is not the case, it means that all the attributes of the opening tag have been displayed.

Dans ce cas, la procédure d'affichage d'attributs se termine.  In this case, the attribute display procedure ends.

Dans le cas où N est strictement positif, le résultat du test E1310 est positif.  In the case where N is strictly positive, the result of the E1310 test is positive.

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.  This test is then followed by a step E1315 during which the "space" character is displayed in order to separate an attribute from the name of the opening tag or two consecutive attributes.

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.  The step E1315 is followed by a step E1320 during which is read in the document D, at the address contained in the box A 1 index j of the table T, a number of characters, this number being contained in box A2 of index j + 1 of table T.

Ces caractères sont affectés à la variable S.  These characters are assigned to the variable S.

Ainsi, à l'issue de l'étape E1320, la variable S contient le nom du premier attribut de la balise ouvrante.  Thus, at the end of step E1320, the variable S contains the name of the first attribute of the opening tag.

L'étape E1320 est suivie par étape E1330 au cours de laquelle on affiche le contenu de la variable S.  The step E1320 is followed by step E1330 during which the contents of the variable S are displayed.

L'étape E1330 est suivie par une étape E1340 au cours de laquelle on affiche les caractères"="".  Step E1330 is followed by a step E1340 in which the characters "=" "are displayed.

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.  Step E1340 is followed by a step E1350 during which a number of characters are read in document D at address A3 of index j + 2 of table T. This number is contained in box A4 d index j + 3 of this table T.

Ces caractères sont affectés à variable S.  These characters are assigned to 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.  Thus, at the end of step E1350, the variable S contains the value of the first attribute of the opening tag currently being displayed.

<Desc/Clms Page number 26> <Desc / Clms Page number 26>

L'étape E1350 est suivie par une étape E1360 au cours de laquelle on affiche le contenu de la variable S.  The step E1350 is followed by a step E1360 during which the contents of the variable S are displayed.

L'étape E1360 est suivie par une étape E1370 au cours de laquelle on affiche le caractère""".  Step E1360 is followed by a step E1370 in which the character "" is displayed.

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é.  The step E1370 is followed by a step E1380 during which: the variable j is incremented by 4 units; and the variable N is decremented by 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.  At the end of this step E1380, the variable j contains the index in the table T of the box containing the address of the name of the next attribute of the tag being displayed; the variable N contains the number of attributes of the tag currently being displayed to be displayed.

Cette étape E1380 est suivie par le test E1310 déjà décrit.  This step E1380 is followed by the test E1310 already described.

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.  When all the attributes of the opening tag being displayed have been displayed, the result of the E1310 test is negative, and the attribute display procedure terminates.

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.  The test E1310 is then followed by the step E1230 of the beacon display procedure which will now be described back to FIG. 12.

Au cours de l'étape E1230 on affiche le caractère" > ".  During step E1230, the character ">" is displayed.

Ce caractère est le dernier de la balise ouvrante à afficher.  This character is the last of the opening tag to display.

Cette étape E1230 est suivie par l'étape EU 05 qui va maintenant être décrite de retour à la figure 11.  This step E1230 is followed by the step EU 05 which will now be described back to FIG. 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.  During step E1105, the content of box C5 of index i + 4 of table T is assigned to 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).  The step E1105 is followed by a step E1110 during which: on the one hand, the content of the box C4 of index i + 3 of the table T is assigned to the variable N; and on the other hand the variable j is set to the value 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.  The step E1110 is followed by a step E1120, it is tested whether the K value is strictly positive.

<Desc/Clms Page number 27> <Desc / Clms Page number 27>

Figure img00270001

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.
Figure img00270001

If this is not the case, the test E1120 is followed by a step E1125 of calling a procedure for displaying a closing tag of the part P which will be described later with reference to FIG.

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" < ".  When K is strictly positive, the result of the E1120 test is positive. This test is then followed by an EU 30 test, in which one tests if the character preceding the current character C is the character "<".

* 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. * If this is the case, it means that the current C character corresponds to the first character of a daughter part PF of part 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.  In this case, the test E1130 is followed by a step E1180 of calling a display procedure of the daughter part PF.

Cette étape EU 80 est suivie par une étape EU 70 décrite ultérieurement.  This EU step 80 is followed by an EU step 70 described later.

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.
When the result of the E1130 test is negative, it means that the current C character is the first data character of the P part
In this case, the test E1130 is followed by a step E1140 during which the variable S is assigned a number of characters read at the address contained in the index box j of the table T, this number of characters corresponding to the index j + 1 box of the table T.

A l'issue de cette étape E1140, la variable S contient les données de la partie P.  At the end of this step E1140, the variable S contains the data of the part P.

L'étape E1140 est suivie par une étape E1150 au cours de laquelle le contenu de la variable S est affiché.  The step E1140 is followed by a step E1150 during which the contents of the variable S are displayed.

L'étape E1150 est suivie par une étape E1160 au cours de laquelle la variable j est incrémentée de deux unités.  The step E1150 is followed by a step E1160 in which the variable j is incremented by two units.

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.  The step E1160 is followed by a step E1170 in which the variable K is decremented by one unit. Step E1170 is followed by the test E1120 already described.

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.  When the result of the test E1120 becomes negative, this test is followed by a step E1125 of calling a procedure for displaying a closing tag of the part P which will now be described with reference to FIG.

La figure 14 représente les principales étapes E1400 à E1420 d'une procédure d'affichage de balise fermante.  Fig. 14 shows the main steps E1400 to E1420 of a closing tag display procedure.

<Desc/Clms Page number 28> <Desc / Clms Page number 28>

On rappelle que cette procédure est appelée lorsque le résultat du test EU 20 est négatif.  Remember that this procedure is called when the result of the EU 20 test is negative.

Au cours de la première étape E1400 on affiche les caractères " < /".  During the first step E1400, the characters "</" are displayed.

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.  The step E1400 is followed by a step E1410 during which the number of characters, the number of characters, is read in the document D in the box C3 of index i + 2 of the table T. being contained in box C2 of index i + 1 of table T.

Cette étape E1410 est similaire à l'étape EU 10 déjà décrite.  This step E1410 is similar to the already described step EU 10.

L'étape E1410 est suivie par une étape E1420 au cours de laquelle on affiche le caractère" > ".  Step E1410 is followed by a step E1420 in which the character ">" is displayed.

Cette étape E1420 est la dernière étape d'une procédure d'affichage de balise fermante selon l'invention.  This step E1420 is the last step of a closing tag display procedure according to the invention.

C'est également la dernière étape de la procédure d'utilisation d'une partie d'un document D selon l'invention.  This is also the last step of the procedure for using a part of a document D according to the 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.  FIG. 15 represents an analysis device 1500 of a part P of a document D represented with a markup language.

Le dispositif d'analyse 1500 comporte un module d'obtention 1510 de l'adresse A d'une chaîne de caractères.  The analysis device 1500 comprises a module 1510 for obtaining the address A of a character string.

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.  This module for obtaining the address 1510 of a string of characters is adapted to obtain the address of the opening tag of the part P of the 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.  This module for obtaining the address 1510 of a character string is also adapted to obtain the address of any data of the part P.

Le dispositif d'analyse 1500 comporte également un module d'obtention 1520 de la taille d'une chaîne de caractères.  The analysis device 1500 also comprises a module 1520 for obtaining the size of a string of characters.

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.  This obtaining module 1520 the size of a character string is adapted to obtain the size of the opening tag of the part P and possibly the size of its data.

<Desc/Clms Page number 29> <Desc / Clms Page number 29>

Le dispositif d'analyse 1500 comporte un module de mémorisation 1530 adapté à mémoriser différentes informations dans une zone de mémoire

Figure img00290001

ZM. The analysis device 1500 includes a storage module 1530 adapted to store different information in a memory area
Figure img00290001

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.  This storage module 1530 is particularly adapted to store in the memory zone ZM the address of the opening tag of the part P and possibly the address of the data of the part P, these addresses having been obtained by the module D obtaining 1510 the address of a string of characters.

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.  This storage module 1530 is also adapted to store in the memory area ZM the size of the opening tag and possibly the size of the data of the part P, these sizes having been obtained by the obtaining module 1520 of the size of a string of characters.

La figure 16 représente un dispositif d'indexation 1600 d'un document D représenté avec un langage de balisage.  FIG. 16 represents an indexing device 1600 of a document D represented with a markup language.

Le dispositif d'indexation 1600 comprend un dispositif d'analyse 1500 tel que décrit précédemment.  The indexing device 1600 comprises an analysis device 1500 as described above.

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.  This analysis device 1500 is particularly adapted to successively and recursively analyze a first portion P of the document D, each daughter part PF of the first part P, and each sister part PS of the first part 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.  The indexing device 1600 furthermore comprises a creation module 1610 of a table T, and a backup module 1620 adapted to progressively save in the table T the contents of the memory areas ZM obtained by the analysis device 1500. .

Le dispositif d'indexation 1600 peut être utilisé pour indexer un document en langage XML.  The indexing device 1600 can be used to index a document in 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.  The indexing device 1600 can be incorporated in a mobile phone, a PDA or a computer system.

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.  FIG. 17 represents a device 1700 for using a part P of a document D, the part P being identified by the name of its opening tag.

<Desc/Clms Page number 30> <Desc / Clms Page number 30>

Le document D est associé à un tableau T obtenu par un dispositif d'indexation 1600 tel que décrit précédemment.  The document D is associated with a table T obtained by an indexing device 1600 as described above.

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.  The user device 1700 comprises a module 1710 for searching an opening tag in the document D from information contained in the table 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.  This module 1710 seeking an opening tag is particularly adapted to read the contents of boxes C2 and C3 of Table T, these boxes respectively containing the address and the size of an opening tag in the 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.  The search module 1710 of an opening tag is also adapted to compare the name of the opening tag identifying the part P with a string of characters.

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.  The user device 1700 also comprises a reading module 1720: an attribute of the opening tag identifying the part P; - and data from part 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.  This reading module 1720 is particularly adapted to read the contents of boxes A 1, A2, A3, A4, 01 and D2 of Table 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.  The various means described with reference to FIGS. 15, 16 and 17 are adapted to be incorporated in a computer system, which will now be described with reference to FIG. 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.  According to the embodiment chosen and represented in FIG. 18, a computer system implementing the invention is for example a microcomputer 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 ;  The computer system 1800 comprises a communication bus 1802 to which are connected: a central unit 1803 (microprocessor); a read only memory 1804, comprising a program "Progr", making it possible to implement an analysis method, an indexing method and a method of use according to the invention; a non-volatile flash memory 1810, in particular comprising a register for storing the table T;

<Desc/Clms Page number 31><Desc / Clms Page number 31>

- 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.  RAM 1820, comprising registers adapted to record modified variables during the execution of the aforementioned program; a screen 1808 making it possible to display a document represented with a markup language, for example during a display procedure as previously described; - a keyboard 1817; a hard disk 1812; a floppy disk drive 1814 adapted to receive a floppy disk 1816; a communication interface 1818 with a communication network 1807 making it possible to transmit the digital document to a 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.  The communication bus allows communication between the various elements included in the computer system 1800 or connected to it. The representation of the bus is not limiting and, in particular, the central unit is capable of communicating instructions to any element of the microcomputer 1800 directly or through another element of the microcomputer 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.  The program noted "Progr" allowing the computer system 1800 to implement the invention, can be stored for example in ROM 1804 (called ROM in the drawing) as shown in Figure 18.

Selon une variante, la disquette 1816, tout comme le disque dur 1812 peuvent contenir le programme"Progr".  According to one variant, the floppy disk 1816, just like the hard disk 1812, may contain the program "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.  In the second variant, the program "Progr" can be received to be stored in a manner identical to that described previously via the communication network 1807.

Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un CD-ROM ou une carte mémoire.  Floppies can be replaced by any information medium such as, for example, a CD-ROM or a memory card.

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,  In general, a means of storing information, readable by a computer or by a microprocessor, integrated or not into the device,

<Desc/Clms Page number 32><Desc / Clms Page number 32>

éventuellement amovible, mémorise un programme mettant en oeuvre les procédés d'analyse, d'indexation et d'utilisation selon l'invention.  optionally removable, stores a program implementing the methods of analysis, indexing and use according to the 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é.  More generally, the program can be loaded into one of the storage means of the device 1800 before being executed.

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.  The central unit 1803 will execute the instructions relating to the implementation of the invention, instructions stored in the ROM 1804 or in the other storage elements. Upon power-up, the computer programs described briefly above, which are stored in a non-volatile memory, for example the ROM 1804, are transferred into RAM 1820 which will then contain the executable code of the computer. invention, as well as registers for storing the variables necessary for the implementation of the 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. The random access memory RAM 1820 comprises in particular the registers i, j, N, C, K, S and possibly T to store the variables of the same names already described.

Claims (31)

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).  1. A method for analyzing a part (P) of a document (D) shown with a markup language, said part (P) being delimited by an opening tag and a closing tag and optionally comprising data, characterized in that it comprises: a step of obtaining: the address of said opening tag (E510) and possibly the address of said data (E700) in said document (D); and - the size of said opening tag (E520) and possibly the size of said data (E710); and a step of storage in a memory area (ZM) of: said address of said opening tag (E520) and possibly said address of said data (E720); and - said size of said opening tag (E520) and possibly said size of said data (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).  2. Analysis method according to claim 1, characterized in that during said storage step, the number of daughter parts (PF) of said part (P) in said memory area is also stored (E440) ( 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).  3. Analysis method according to any one of claims 1 or 2, characterized in that during said storing step, one stores (E412) the number of attributes of said portion (P) in said memory area (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) ;  4. Analysis method according to claim 3, said opening tag having at least one attribute determined by a name and a value, characterized in that; during said obtaining step, the following is obtained: the size and address of the name of said at least one attribute in said document (E600); <Desc/Clms Page number 34><Desc / Clms Page number 34> - 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).  the size and the address of the value of said at least one attribute in said document (E608); and in that: during said storage step, said memory zone (ZM) stores: the size and address of the name of said at least one attribute in said document (E602); and the size and address of the value of said at least one attribute in said 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).  5. Analysis method according to any one of claims 1 to 4, said document comprising a sister portion (PS) of said portion (P), said sister portion (PS) being consecutive to said portion (P), characterized in that in that: during said obtaining step, a value representative of the address of said sister part (PS) in said document (D) is obtained (E422); and in that: during said storage step, said value representative of said address of said sister part (PS) in said memory area (ZM) is memorized (E422). 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).  6. Analysis method according to claim 5, characterized in that said value representative of said address of said sister part is obtained from the difference between: a storage index in said memory area (ZM) of the address of the opening tag of said sister part (PS); and an index for storing in said memory zone (ZM) the address of the opening tag of said part (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.  7. A method of indexing a document (D) represented with a markup language, said document (D) comprising a first part (P), characterized in that it comprises, successively and recursively: - a step (E420) analyzing said first portion (P); and - an analysis step (E435) of each daughter part (PF) of said first part (P), according to an analysis method according to any one of claims 1 to 6. <Desc/Clms Page number 35> <Desc / Clms Page number 35> 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.  8. An indexing method according to claim 7, characterized in that it comprises a preliminary step (E200) for creating an array (T), and in that one saves, as and when said steps analyzing, and progressively in said table (T), the content of said memory areas (ZM) obtained during said analysis steps. 9. Procédé d'indexation selon l'une quelconque des revendications 7 ou 8 pour l'indexation d'un document en langage XML.  9. An indexing method according to any one of claims 7 or 8 for indexing a document in XML language. 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).  10. A method of using a part (P) of a document (D) represented with a markup language, said part (P) being identified by a name of an opening tag and said document (D) being associated to a table (T) obtained by an indexing method according to claim 8, characterized in that it comprises: a search step (E1 01 0) of said opening tag in said document (D) from information contained in said table (T); possibly a reading step (E1320, E1350) of at least one attribute of said opening tag from: an address in said document and a size of the name of said at least one attribute, an address in said document and a size of the value of said at least one attribute, these addresses and these sizes being obtained from said table; optionally, a step of reading (E1140) the data of said part (P) from an address in said document (D) and a size of said data, this address and this size being obtained from said table (T ); and recursively, a step (E1180) of using the daughter parts (PF) of said part (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 :  11. Device for analyzing (1500) a part (P) of a document (D) represented with a markup language, said part (P) being delimited by an opening tag and a closing tag and possibly including data characterized in that it comprises: means for obtaining: <Desc/Clms Page number 36><Desc / Clms Page number 36> - 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.  the address of said opening tag and possibly the address of said data in said document (1510); and - the size of said opening tag and optionally the size of said data (1520); and means (1530) for storing in a memory area (ZM): - said address of said opening tag and possibly said address of said data; and - said size of said opening tag and possibly said size of said data. 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.  12. Device for analyzing (1500) a part (P) of a document (D) represented with a markup language, characterized in that it comprises means adapted to implement a corresponding analysis method. in any one of claims 1 to 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).  13. Device for indexing (1600) a document (D) represented with a markup language, said document (D) comprising a first part (P), characterized in that it comprises: - an analysis device (1500) of a part of a document (D) shown with a markup language according to any one of claims 11 or 12, adapted to analyze, successively and recursively: - said first part (P); each daughter part (PF) of said first part (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).  14. An indexing device (1600) according to claim 13, characterized in that it further comprises means (1610) for creating an array (T), and means (1620) backup adapted to save, progressively in said table (T), the contents of said memory areas (ZM) obtained by said analysis device (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.  15. Use of the indexing device (1600) according to any one of claims 13 or 14 for indexing a document (D) in XML. <Desc/Clms Page number 37> <Desc / Clms Page number 37> 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).  16. A device (1700) for using a part (P) of a document (D) represented with a markup language, said part (P) being identified by a name of an opening tag and said document (D). ) being associated with a table (T) obtained by an indexing device according to claim 14, characterized in that it comprises: - means (1710) for searching said opening tag in said document (D) from information contained in said table (T); means (1720) for reading at least one attribute of said opening tag from: an address in said document (D) and a size of the name of said at least one attribute; an address in said document (D) and a size of the value of said at least one attribute, these addresses and these sizes being obtained from said table (T); means (1720) for reading the data of said part from an address in said document (D) and a size of said data, this address and this size being obtained from said table (T). 17. Téléphone mobile caractérisé en ce qu'il comporte un dispositif d'analyse (1500) selon la revendication 11 ou 12.  17. Mobile phone characterized in that it comprises an analysis device (1500) according to claim 11 or 12. 18. Assistant numérique personnel caractérisé en ce qu'il comporte un dispositif d'analyse (1500) selon les revendications 11 ou 12.  18. Personal digital assistant characterized in that it comprises an analysis device (1500) according to claims 11 or 12. 19. Système informatique (1800) caractérisé en ce qu'il comporte un dispositif d'analyse (1500) selon les revendications 11 ou 12.  19. Computer system (1800) characterized in that it comprises an analysis device (1500) according to claims 11 or 12. 20. Téléphone mobile caractérisé en ce qu'il comporte un dispositif d'indexation (1600) selon la revendication 13 ou 14.  20. Mobile phone characterized in that it comprises an indexing device (1600) according to claim 13 or 14. 21. Assistant numérique personnel caractérisé en ce qu'il comporte un dispositif d'indexation (1600) selon la revendication 13 ou 14.  21. Personal digital assistant characterized in that it comprises an indexing device (1600) according to claim 13 or 14. 22. Système informatique (1800) caractérisé en ce qu'il comporte un dispositif d'indexation (1600) selon la revendication 13 ou 14.  22. Computer system (1800) characterized in that it comprises an indexing device (1600) according to claim 13 or 14. 23. Téléphone mobile caractérisé en ce qu'il comporte un dispositif d'utilisation (1700) selon la revendication 16.  23. Mobile telephone characterized in that it comprises a device of use (1700) according to claim 16. <Desc/Clms Page number 38> <Desc / Clms Page number 38> 24. Assistant numérique personnel caractérisé en ce qu'il comporte un dispositif d'utilisation (1700) selon la revendication 16.  24. Personal digital assistant characterized in that it comprises a device of use (1700) according to claim 16. 25. Système informatique (1800) caractérisé en ce qu'il comporte un dispositif d'utilisation (1700) selon la revendication 16.  25. Computer system (1800) characterized in that it comprises a device of use (1700) according to claim 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.  26. Information medium readable by a computer system, possibly totally or partially removable, in particular a CD-ROM or magnetic medium, such as a hard disk or a diskette, or a transmissible medium, such as an electrical or optical signal, characterized in that it contains instructions of a computer program, allowing the implementation of an analysis method according to any one of claims 1 to 6, when the program is loaded and executed by a computer system. 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.  27. Information medium readable by a computer system, possibly totally or partially removable, in particular a CD-ROM or magnetic medium, such as a hard disk or a diskette, or a transmissible medium, such as an electrical or optical signal, characterized in that it contains instructions of a computer program, allowing the implementation of an indexing method according to any one of claims 7 to 9, when the program is loaded and executed by a computer system. 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.  28. Information carrier readable by a computer system, possibly totally or partially removable, in particular a CD-ROM or magnetic medium, such as a hard disk or a diskette, or a transmissible medium, such as an electrical or optical signal, characterized in that it contains instructions of a computer program, allowing the implementation of a method of use according to claim 10, when this program is loaded and executed by a computer system. 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.  29. Computer program stored on an information carrier, said program comprising instructions for carrying out the analysis method according to any one of claims 1 to 6, when it is loaded and executed by a system. computer. 30. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en oeuvre le  30. Computer program stored on an information carrier, said program comprising instructions for implementing the <Desc/Clms Page number 39><Desc / Clms Page number 39> procédé d'indexation selon l'une quelconque des revendications 7 à 9, lorsqu'il est chargé et exécuté par un système informatique.  indexing method according to any one of claims 7 to 9, when loaded and executed by a computer system. 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. 31. Computer program stored on an information carrier, said program comprising instructions for implementing the method of use according to claim 10, when it is loaded and executed by a computer system.
FR0108700A 2001-06-29 2001-06-29 METHOD AND DEVICE FOR INDEXING REPRESENTED WITH A LANGUAGE OF MARKING Expired - Fee Related FR2826754B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0108700A FR2826754B1 (en) 2001-06-29 2001-06-29 METHOD AND DEVICE FOR INDEXING REPRESENTED WITH A LANGUAGE OF MARKING

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0108700A FR2826754B1 (en) 2001-06-29 2001-06-29 METHOD AND DEVICE FOR INDEXING REPRESENTED WITH A LANGUAGE OF MARKING

Publications (2)

Publication Number Publication Date
FR2826754A1 true FR2826754A1 (en) 2003-01-03
FR2826754B1 FR2826754B1 (en) 2004-02-06

Family

ID=8864990

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0108700A Expired - Fee Related FR2826754B1 (en) 2001-06-29 2001-06-29 METHOD AND DEVICE FOR INDEXING REPRESENTED WITH A LANGUAGE OF MARKING

Country Status (1)

Country Link
FR (1) FR2826754B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745745A (en) * 1994-06-29 1998-04-28 Hitachi, Ltd. Text search method and apparatus for structured documents
JPH10301951A (en) * 1997-04-28 1998-11-13 Hitachi Medical Corp Data converting/editing device
EP0896284A1 (en) * 1997-08-05 1999-02-10 Fujitsu Limited Compressing and decompressing data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745745A (en) * 1994-06-29 1998-04-28 Hitachi, Ltd. Text search method and apparatus for structured documents
JPH10301951A (en) * 1997-04-28 1998-11-13 Hitachi Medical Corp Data converting/editing device
EP0896284A1 (en) * 1997-08-05 1999-02-10 Fujitsu Limited Compressing and decompressing data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IAN COOPER ET AL: "PDA Web Browsers: Implementation Issues", UNIVERSITY OF KENT COMPUTING LABORATORY TECHNICAL REPORT, 9 November 1995 (1995-11-09), Canterbury, Kent, UK, XP002142404 *
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 02 26 February 1999 (1999-02-26) *

Also Published As

Publication number Publication date
FR2826754B1 (en) 2004-02-06

Similar Documents

Publication Publication Date Title
FR2909198A1 (en) Electronic document&#39;s element i.e. node, filtering method for e.g. microcomputer, involves evaluating expression on document data base according to evaluation mode identification information of expression
EP1364316A2 (en) Device for retrieving data from a knowledge-based text
FR2933793A1 (en) METHODS OF ENCODING AND DECODING, BY REFERENCING, VALUES IN A STRUCTURED DOCUMENT, AND ASSOCIATED SYSTEMS.
FR2773413A1 (en) CONTEXT-DEPENDENT PHONEMIC NETWORKS FOR ENCODING VOICE INFORMATION
WO2007082948A1 (en) Method and device for retrieving data and transforming same into qualitative data of a text-based document
FR2936623A1 (en) METHOD FOR ENCODING A STRUCTURED AND DECODING DOCUMENT, CORRESPONDING DEVICES
FR2926378A1 (en) METHOD AND PROCESSING DEVICE FOR ENCODING A HIERARCHISED DATA DOCUMENT
FR3038996A1 (en) KEY WORDS EXTRACTION METHOD, DEVICE AND CORRESPONDING COMPUTER PROGRAM
FR2602363A1 (en) METHOD FOR DEFINING AND MODIFYING A PARTITION ON THE MEMORY SPACE OF A NON-ERASABLE MEDIUM
EP0568424A1 (en) Method for automatically generating an implicit representation of the prime implicants of a function
FR2930661A1 (en) METHOD FOR ACCESSING A PART OR MODIFYING A PART OF A BINARY XML DOCUMENT, ASSOCIATED DEVICES
FR2826749A1 (en) Object oriented mark-up language editing method where tags are defined by function and result of function in one language and by argument in schema language
EP1642264B1 (en) Voice recognition for large dynamic vocabularies
FR2826754A1 (en) Analysis and indexing of parts of HTML or XML documents in which parts and attributes of a section of a document are memorized in memory zone
WO2001077890A1 (en) Hypermedia resource search engine and related indexing method
FR2842623A1 (en) METHOD FOR TRANSLATING A MESSAGE FROM A FIRST LANGUAGE LANGUAGE INTO A SECOND LANGUAGE LANGUAGE
BE1013153A3 (en) Method and system for information collection.
FR2883652A1 (en) Sub markup e.g. digital image, accessing method for use during extensible markup language file, involves verifying existence of index in file, in response to request of access to sub markup, by verifying presence of index in sub markup
FR2864856A1 (en) Short text e.g. telegram, information extraction and processing system, has module to extract information, and module to process information and narrowcasting of search results of relations between informations or their comparisons
FR2604814A1 (en) LANGUAGE ANALYZER
FR2798206A1 (en) Search engine and method of indexing and searching of documents particularly on the world wide web giving faster updating of the index base
WO2001086496A1 (en) System and method for processing data for targeted access to a server from a natural language query
EP4155967A1 (en) Method for exchanging information about an object of interest between a first and a second entity, associated electronic information exchange device and computer program product
FR2911200A1 (en) Document processing method for use in local or remote computer system, involves enhancing outline of document, and detecting reference components in document using enhanced outline by using central processing unit and memories
FR2815760A1 (en) Method for forming a digital signal representative of an original audio signal and a method for searching for such digital signals within a sound database in a manner analogous to searching for text using a web browser

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140228