FR2826753A1 - Procede et dispositif de traitement d'un document informatique dans un systeme informatique - Google Patents

Procede et dispositif de traitement d'un document informatique dans un systeme informatique Download PDF

Info

Publication number
FR2826753A1
FR2826753A1 FR0108699A FR0108699A FR2826753A1 FR 2826753 A1 FR2826753 A1 FR 2826753A1 FR 0108699 A FR0108699 A FR 0108699A FR 0108699 A FR0108699 A FR 0108699A FR 2826753 A1 FR2826753 A1 FR 2826753A1
Authority
FR
France
Prior art keywords
document
tag
computer
function
argument
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
FR0108699A
Other languages
English (en)
Other versions
FR2826753B1 (fr
Inventor
Jean Jacques Moreau
Herve Ruellan
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 FR0108699A priority Critical patent/FR2826753B1/fr
Priority to US10/179,177 priority patent/US7260776B2/en
Priority to JP2002191943A priority patent/JP2003132043A/ja
Publication of FR2826753A1 publication Critical patent/FR2826753A1/fr
Application granted granted Critical
Publication of FR2826753B1 publication Critical patent/FR2826753B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • G06Q20/1085Remote banking, e.g. home banking involving automatic teller machines [ATMs]
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Un procédé de traitement d'une portion d'un document informatique dans un système informatique, le contenu du document informatique étant représenté avec un langage de balisage, chaque balise comportant un nom et une valeur, le document informatique étant associé à un second document informatique, appelé " document schéma ", dont le contenu est représenté dans un langage de balisage de type schéma, le document schéma définissant la structure de la portion considérée du document informatique. Ce procédé de traitement comporte les étapes de : sélection (E13) d'une balise, dite " balise courante ", dans la portion du document informatique; recherche (E15-E21) dans le document schéma d'au moins une balise déclarative d'une fonction associée à la balise sélectionnée du document informatique; création (E23, E25) d'une liste de fonctions applicables à la balise courante du document informatique à partir d'au moins une balise déclarative d'une fonction, trouvée dans le document schéma.

Description

La présente invention a trait de manière générale au traitement de
documents informatiques dans des réseaux de communication tels que lèlnternet. Plus particulièrement, I'invention concerne un procédé de traitement d'une portion d'un document informatique dans un système informatique. Le contenu du document informatique étant représenté avec un langage de balisage, et étant associé à un second document informatique, appelé "document schéma", dont le contenu est représenté dans un langage de balisage de type schéma, ce second document définissant la structure de la portion considérée du document informatique. L'invention concerne également
un système informatique apte à mettre en _uvre un tel procédé.
Le Worid Wide Web (Web ou WWW) constitue l'interface de prédilection pour accéder à la plupart des ressources disponibles sur Internet. Le Web (aussi appelé "Toile" en français) est un ensemble de protocoles Internet et de logiciels qui présentent l'information dans un format hypertexte. Le concept d'hypertexte s'emploie pour construire des documents informatiques qui référencent d'autres documents à l'aide de liens, aisément sélectionnables par
des utilisateurs novices.
Le langage HTML (HyperText Markup Language) est un langage à balises conçu pour décrire la manière dont des documents doivent être affichés par les navigateurs Web. Ce langage du fait de sa simplicité et de sa facilité d'utilisation, a été rapidement adopté comme un standard dans le monde Internet. Cependant, il est impossible d'étendre ce langage au-delà de ce pourquoi il a été conçu, c.-à-d., la présentation de documents. Les auteurs de documents ne sont en effet pas autorisés à créer de nouvelles balises pour
leurs besoins spécifiques.
Le langage XML (eXtensible MarFup Language) a été créé notamment pour pallier la faiblesse du langage HTML. Le langage XML est défini selon une norme de l'organisation internationale connue sous le nom de "W3 Consortium"
(W3C).
XML est un langage à balises de structuration: chaque balise correspond à un élément, qui peut être présent une ou plusieurs fois dans le document. Une balise peut contenir du texte ou d'autres balises. Dans le cas
ou elle contient d'autres balises, une balise est assimilée à un n_ud d'un arbre.
Contrairement à HTML, le nom des balises n'est pas soumis à une norme, il est défini par le programmeur. En outre, chaque balise ouvrante doit être accompagnée d'une balise fermante, ou être une balise vide. Cette contrainte permet de créer des documents ayant une structure hiérarchique qui peut être
représentée sous la forme d'un arbre.
De par sa structure hiérarchique (arborescente), le langage XML permet de représenter des données structurées. D'autre part, un docoment XML est parfaitement lisible par un humain "averti". Enfin les documents XML étant au format texte, ils peuvent être facilement échangés via le Web en utilisant les
protocoles existants comme HTTP (Hypertext Transfer Protocol).
Cependant, dans le langage XML, les données sont de types prédéterminés, en particulier il n'est pas possible à un programmeur de définir de nouveau types, en particulier des types complexes, à partir des types prédéterminés. Une des conséquences est que l'on ne peut pas directement défoir dans un document XML des fonctions applicables à un élément ou objet
représenté dans le document.
Or, avec notamment le développement du commerce électronique sur Internet, il est souhaitable de pouvoir en même temps que l'on visualise un document informatique dont le contenu est représenté en XML, directement visualiser ou être informé des fonctions qui peuvent être lancoes sur des objets
contenus dans le document.
Une solution connue pour répondre à ce besoin est de fournir dans le document XML, une adresse électronique indiquant la localisation du code exécutable d'une fonction applicable à un objet du document. Cette solution présente l'inconvénient de nocessiter une opération supplémentaire de chargement d'un autre document contenant le code exécutable représenté dans un autre langage pour pouvoir exécuter une fonction. D'autre part, pour pouvoir exécuter sur un ordinateur local la fonction appelée, il est nécessaire de disposer sur cette ordinateur d'un logiciel spécifique pour interpréter ou
compiler le code exécutable de la fonction et pouvoir ainsi l'exécuter.
En outre une fonction n'est utilisable qu'en relation avec un seul objet, sans possibilité de s'appliquer à un autre objet avec des paramètres d'entrée
(arguments) de la fonction différents.
En complément du langage XML, on trouve des langages "de schéma", ainsi désignés parce qu'ils permettent de définir une classe de document XML, le terme "document instance" étant souvent utilisé pour définir un document qui est valide par rapport à un certain schéma. Ainsi une DTD (Document Type Defnition) est un langage de schéma qui permet de spécifier quels éléments sont susceptibles d'appara^rtre dans les documents instances, quels éléments peuvent être contenus dans d'autres documents, et dans quel ordre ils doivent appara^'tre. Le plus souvent une DTD est un fichier à part, externe au document XML. Récemment, un autre langage de schéma est apparu: XML Schema, également défini par une norme W3C. XML Schema présente l'avantage par rapport aux DTD d'utiliser la syntexe XML. Autrement dit, un document exprimé en XML Schema (appelé schéma XML) est un document XML. Ainsi n'importe
quel schéma XML peut être manipulé par tout éditeur XML.
Le langage XML Schema présente, entre autres, I'avantage par rapport
au langage XML, de permettre la création de types complexes.
La présente invention a pour objet d'utiliser les possibilités de création de types complexes offertes par un langage de schéma tel que le langage XML Schema, dans le but de définir simplement des fonctions exécutables sur un objet contenu dans un document XML, et d'associer ces fonctions automatiquement au document XML, lorsque celui-ci est présenté à un utilisateur par exemple via un écran d'ordinateur, ou bien lorsque le document
est directement traité par une application informatique.
A cet effet, la présente invention concerne, selon un premier aspect, un procédé de traitement d'une portion d'un document informatique dans un système informatique, le contenu du document informatique étant représenté avec un langage de balisage, chaque balise comportant un nom et une valeur, ladite valeur pouvant inclure d'autres balises; le document informatique étant associé à un second document informatique, appelé "document schéma", dont le contenu est représenté dans un langage de balisage de type schéma, le document schéma définissant la structure de la portion considérée du
document informatique.
Conformément à l'invention, le procédé de traitement comporte les étapes suivantes: - sélection d'une balise, dite "balise courante", dans la portion du document informatique; - recherche dans le document schéma d'au moins une balise déclarative d'une fonction associée à la balise sélectionnée du document informatique; - création d'une liste de fonctions applicables à la balise courante du document informatique à partir d'au moins une balise déclarative d'une
fonction, trouvée dans le document schéma.
Dans le mode de réalisation préféré, le document informatique est un document XML, et le document schéma est un schéma XML. L'invention permet ainsi d'associer automatiquement une liste de fonctions à une balise sélectionnée d'un document XML. Cette liste est crcée automatiquement lors de l'utilisation du document XML, par exemple sa visualisation par un utilisateur
humain par l'intermédiaire d'un écran d'ordinateur.
Selon un mode préféré de réalisation, le contenu du document informatique est afffiché sur un écran d'afffichage du système informatique, la balise courante étant sélectionnée par un utilisateur sur l'écran d'affichage au moyen d'un dispositif de commande, par exemple un dispositif de pointage. Le procédé comporte alors une étape d'affichage de la liste de fonctions
applicables à la balise courante dudit document informatique.
De cette façon, un utilisateur consultant un document XML, peut par exemple, par le simple clic d'une souris pointant sur une balise choisie d'un document XML en cours de visualisation, être informé immédiatement des
fonctions exécutables qui s'appliquent à cette balise.
Selon le mode de réalisation préféré, la structure de chacune des balises contenues dans la portion du document informatique est définie dans le document schéma par des balises appropriées dans lesquelles un champ particulier contient le nom de la balise correspondante du document informatique. Ainsi, I'étape d'identification d'au moins une balise déclarative d'une fonction associée à la balise courante dans le document informatique, est effectuée rapidement par, dans un premier temps, la recherche dans le document schéma d'une balise comportant le nom de la balise courante, et dans un second temps, la recherche de balises déclaratives de fonction, en
liaison avec la balise trouvée précédemment.
Selon une caractéristique particulière de l'invention, I'étape de créstion d'une liste de fonctions applicables à la balise sélectionnce (la balise courante) du document informatique, inclut, pour chaque balise déclarative d'une fonction trouvée dans le document schéma, les sous- étapes suivantes: - lecture d'au moins une balise déclarative d'un argument de la fonction, ladite balise comportant un champ définissant le nom de l'argument, et un champ définissant le type de l'argument; - détermination de la valeur de chaque argument par affectation audit argument de la valeur d'une balise du document informatique qui est identifiée selon un mode d'identification codé dans la balise déclarative de l'argument, dans le document schéma, ou bien par affectation audit argument d'une valeur fournie par l'utilisateur au moyen d'un dispositif de commande tel qu'un clavier d'ordinateur. On peut alors faire aisément et directement des appels de fonctions à partir d'une balise courante d'un document informatique, puisque l'on dispose d'une liste de fonctions instanciées c.-à-d. dont les arguments ont une valeur déterminée. Selon une autre caractéristique préférée, le procédé de traitement selon l'invention comporte en outre une étape d'exécution d'au moins une fonction de la liste affichée, en réponse à une commande générée par une action de I'utilisateur sur un dispositif de commande tel qu'un clavier d'ordinateur ou un
dispositif de pointage.
Un utilisateur dispose ainsi d'un moyen efficace et simple d'emploi pour initier des traitements sur un document informatique (par ex. un document XML). Dans un mode de réalisation dans lequel le système informatique est relié à un réseau de communication, par exemple, I'lnternet, la fonction choisie par l'utilisateur peut être exécutée à distance sur un second système
informatique relié au premier système informatique via le réseau.
En pratique, dans le document schéma, chaque balise déclarative d'une fonction inclut en outre l'adresse électronique du code exécutable de la fonction, ou bien inclut directement le code exécutable de la fonction, le code exécutable pouvant être sous forme de code source, code objet, ou de code
intermédiaire entre code source et code objet.
Il n'est pas nécessaire, par conséquent, d'installer le code de la fonction sur un poste client relié à un réseau de communication. D'autre part, quelque soit la nature du code de la fonction, code source ou code intermédiaire entre code source et code compilé, il n'est pas nécessaire de pré-compiler, dans un poste serveur, un code de la fonction spécifique à chaque système
d'exploitation (OS) différent équipant les postes clients sur le réseau.
Selon une variante de réalisation ou bien de manière cumulative avec le procédé tel que brièvement décrit ci-dessus, un procédé de traitement d'un document informatique selon l'invention peut également être défini par les étapes principales suivantes: - sélection d'une balise, dite "balise courante", dans ladite portion du document informatique; - recherche dans le document schéma d'une balise déclarative d'une fonction prédéterminée, associée à la balise sélectionnée du document informatique;
- exécution de ladite fonction prédéterminée.
Par exemple, le nom de la fonction à exécuter pourra être connu d'une application informatique, qui assurera automatiquement la recherche de la fonction dans le document schéma, puis lancera automatiquement l'exécution de la fonction, sur le même système informatique traitant le document informatique, ou bien à distance, sur un autre système informatique, au travers
d'un réseau de communication.
Selon un deuxième aspect, I'invention concerne un système informatique, relié ou non à un réseau de communication, caractérisé en ce qu'il comporte des moyens adaptés à la mise en _uvre d'un procédé de
traitement d'un document informatique, tel que brièvement exposé supra.
La présente invention concerne encore un programme d'ordinateur sur un support d'informations. Ce programme d'ordinateur étant remarquable en ce qu'il comporte des instructions de programme adaptées à la mise en _uvre d'un procédé de traitement d'un document informatique tel que brièvement exposé supra, lorsque ce programme d'ordinateur est chargé et exécuté dans
un ordinateur.
L'invention vise aussi un support d'informations contenant un tel programme d'ordinateur. Un tel support d'informations peut comporter un moyen de mémorisation, tel qu'une ROM, par exemple un CD ROM ou une ROM semi-conducteur, ou un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, ou encore par radio ou
par d'autres moyens.
Les avantages de ce dispositif, programme d'ordinateur, et de ce support d'informations, sont identiques à ceux du procédé de traitement d'un document informatique en conformité avec l'invention, tels que brièvement exposés supra. D'autres particularités et avantages de l' invention appara^'tront encore
dans la description ci-après d'un mode préféré de réalisation de la présente
invention décrit à l'appui des dessins annexés sur lesquels: - la FIG. 1est un organigramme illustrant un procédé de traitement d'un document informatique selon l'invention; - la FIG. 2 est un organigramme détaillant l'étape de traitement (E23), représentée à la FIG. 1, des fonctions associées à une balise contenue dans un document informatique; - les FlGs. 3a et 3b détaillent l'étape d'obtention (E233) de la valeur d'un argument représentée à la FIG. 2; - la FIG. 4 est un organigramme détaillant l'étape, représentée à la FIG. 1 (E29), d'exécution de fonctions associces à une balise contenue dans un document informatique; - la FIG. 5 représente un système informatique apte à mettre en _uvre
un procédé de traitement d'un docoment informatique selon l'invention.
Dans la description qui suit, on va décrire un procédé de traitement d'un
document informatique selon l'invention.
Plus précisément, il s'agit d'un procédé de traitement d'une portion d'un document informatique dans un système informatique. Le contenu du document informatique est représenté avec un langage de balisage dans lequel chaque balise comporte un nom et une valeur. La valeur d'une balise pouvant
également contenir d'autres balises.
Ce document informatique est associé à un second document informatique, appelé "document schéma", dont le contenu est représenté dans un langage de balisage de type schéma (comme exposé plus haut). Ce document schéma définit la structure de la portion à traiter du document informatique. Dans le cadre de l'exemple d'implémentation illustré et décrit ci-après, le document informatique à traiter est un document dont le contenu est représenté en langage XML. Tandis que le document de schéma est un
document dont le contenu est représenté en langage XML Schema.
On donne ci-dessous un exemple de portion d'un document XML (livre.xml) traitée selon l'invention dans un système informatique tel qu'un microordinateur. Document informatique XML: <livre> <titre>Le Rouge et le Noir</titre> 1 5 <auteur>Stendhal</auteur> <personnages> <personnage> Julien Sorel</personnage> <personnage>MathilUe de la Mole</personnage> <personnage>Mme de Reynal</personnage> <personnage>M. de Reynal</personnage> </personnages> </livre> Cette portion de document XML, décrit un élément principal, un livre (balise "livre"), comportant des sous-balises (encore appelées "balise fille"): "titre", "auteur", "personnages". Le contenu de la balise "personnages" est constituées de plusieurs sous-balises, chacune desquelles, contenant le nom
d'un seul personnage du livre.
Ce document XML, peut être par exemble obtenu sur Internet par un utilisateur cliquant avec une souris sur un objet informatique publié par un site Web. Conformément à l'état de la technique à la date de dépôt de la présente demande, un schéma XML, appelé "livre.xsd" définissant la structure du
document XML précédent (livre.xml) est donné ci-dessous à titre d'exemple.
Document schéma "livre.xsd" selon l'état de la technique: <xs:element name="livre"> <xs:complexType> <xs:sequence> <xs:element name="titre" type="xs:string"/> <xs: element name="auteur" type="xs: string"/> <xs: e leme nt na me= "person nages"> <xs:complexType> <xs:sequence maxOccurs="unbounded"> <xs:element name="personnage" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> Comme on peut le voir dans le document schéma ci-dessus, I'élément livre est défini comme un élément de type complexe ("xs:complexType") comprenant plusieurs sous-éléments (c.-à-d. des sous-balises). Ces sous éléments sont les suivants: - élément "titre" de type "chane de caractères" (string), - élément "auteur" de type "string", - élément "person nages" de type com plexe (complexType), co m porta nt une séquence de sous-éléments: "personnage" de type "string", en nombre
maximum non borné ("unboundecl').
Ainsi chaque balise du document XML Schema (iivre.xsd), identifiée chacune par son nom (champ "name"), définit la structure d'une balise
correspondante, portant le même nom, dans le document XML (livre.xml).
Comme on peut le voir dans le document schéma ci-dessus, il n'y a aucune balise permettant de déclarer des fonctions associés à des éléments
du document XML.
Conformément à l'invention, on déclare une balise déclarative de fonction dans le document schéma XML de la façon suivante: <xs:function name="... " fexf="... "/> o: "function" est le mot clé identifiant une balise de déclaration de fonction, "name=" est un mot clé identifiant un champ dont la valeur définit le nom de la fonction, "text=" est un mot clé identifiant un champ optionnel dont la valeur est du texte destiné à être affiché pour l'utilisateur, lors de l'affichage de la liste
de fonctions.
D'autre part, à l'intérieur de chacune des balises de fonctions telles que définies ci-dessus dans le document schéma, on exprime conformément à I'invention des balises déclaratives d'un argument de la façon suivante: <xs:argument name="..." type="...'/> <xs:argument name="..." type="...'/> o: "argumenf" est le mot clé identifiant une balise de déclaration d'un argument, "name=" est un mot clé identifiant un champ dont la valeur définit le nom de l'argument, "type=" est un mot clé identifiant un champ dont la valeur
définit le type de 1'argument.
On donne ci-dessous, un exemple de schéma XML conforme à l'invention, cet exemple est issu du schéma XML "livre.xsd" précédent, modifié selon l'invention: Document schéma "livre.xsd" modifié selon l'invention: <xs: ele me nt n a me ="l ivre"> <xs:complexType> <xs:function name="purchase" text="Acheter ce livre" 1 0 href="http://oceania/web-obilobj/purchase. exe"/> <xs:arguments> <xs:argument name="auteur" type="xs:string"/> <xs:argument name="titre" type="xs:string"/> </xs:arguments> 1 5 </xs:function> <xs:function name="orderTeaser" text="Télécharger le 1er chapitre" href="http://oceania/web-obj/obj/orderTeaser.exe"/> <xs:arguments> <xs:argument name="auteur" type="xs:string"/> <xs:argument name="titre" type="xs:string"/> </xs:arguments> </xs:function> <xs:element name="titre" type="xs:string"/> <xs:element name="auteur" type="xs:string"/> <xs:element name="personnages"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="personnage" type="xs:string"/> <xs:complexType> <xs:function name="viewPicture" text="Voir la photo" href="http://oceania/webobj/obj/viewPicture.exe"/> <xs:arguments> <xs:argument name="auteur" fromTag="..J../auteu r" type="xs:string"l> <xs:argument name="titre" fromTag="..l..ltitre" type="xs:string"l> <xs:argument name="personnage" fromTag= "personnage" type="xs:string"/> <Ixs:arguments> </xs:function> <xs:function name="playText" text="Entendre le texte" 1 5 href="http:l/oceanialweb-obj/objlplayText.exe"/> <xs:arguments> <xs:argument name="auteur" fromTag="../../auteur" type="xs:string"/> <xs:argument name="titre" fromTag="..l..Jtitre" type="xs:string"/> <xs:argument name="personnage" fromTag= "personnage" type="xs:string"/> </xs:arguments> </xs:function> </xs:complexType> <Ixs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:complexType> </xs:element> Comme on peut le voir, la structure de chacune des balises "<nom>...</nom>" (par ex. "<titre>...</titre>") contenues dans la portion du document XML considérce, est définie dans le document schéma par des balises appropriées: <xs:element name="...".../> ou bien <xs:element name="..."...>... </xs:element> dans lesquelles le champ particulier, name="...", contient le nom de la
balise correspondante du document XML.
Dans l'exemple ci-dessus, les éléments supplémentaires conformes à I'invention sont représentés en gras. Ainsi le document schéma "livre. xsd" selon l'invention comporte plusieurs fonction déclarées en liaison avec la balise de nom "livre" (name="livre"): - fonction nommée "purchase" (acheter en anglais), permettant, lorsqu'elle est exécutée, d'acheter le livre; - fon ction nom mée "ord erTesser" permettant, lo rsq u 'el le est exécutée, de
télécharger le premier chapitre du livre.
Ces fonctions associées dans le document schéma à la balise de nom "livre" (name="livre") sont ainsi directement associées à la balise "livre" du
document XML (c.-à-d. Ia balise "<livre>... </livre>").
On notera ici que chacune de ces balises de fonction comporte un attribut text="...", permettant d'afficher sur un écran d'ordinateur à destination d'un utilisateur humain la chane de caractères codée dans ce champ (par ex.,
"Acheter ce livre").
De même, associées dans le document schéma à la balise de nom "personnage" se trouvent déclarces deux fonctions: - fo n ction nom mée "viewPictu re" permettant, lorsq u'el le est exécutée, de voir une photo du personnage sélectionné; - fonction nommoe "playText" permettant, lorsqu'elle est exécutée, d'entendre un enregistrement de la voix d'un acteur de théstre interprétant le personnage sélectionné et récitant un morccau de texte. Comme on peut le voir dans l'exemple de code XML Schema ci-dessus, chacune des fonctions comportent des arguments déclarés par des balises:
<xs:argument name="..." type="..."/>.
Ainsi la fonction "viewPicture" comporte trois arguments: - argument "auteur" (name="auteur"), - argument "titre" (name="titre"),
- argument"personnage" (name="personnage").
Dans cet exemple, lorsqu'une fonction comporte plus d'un argument, les balises déclarant ces arguments sont "encadrées" par deux balises de
déclaration de liste d'arguments: balise <xs:arguments>... </xs:arguments> .
Conformément à l'invention, chaque balise déclarative d'une fonction, dans le document XML Schema, inclut en outre l'adresse électronique du code
exécutable de la fonction.
En pratique, cette adresse est fournie dans un champ particulier correspondant à l'attribut "href" (href="..."). Ainsi, la fonction "playText" comporte l'attribut: href="http://oceania/web-obj/objiplayText. exe" signifiant que le code exécutable de la fonction "playText" se trouve sur un autre système informatique, le serveur"oceania", dans le répertoire "web-obj/obj/" et, dans ce répertoire, dans le fichier "playText.exe". Bien sûr, dans cet exemple le système informatique considéré est relié à un réseau de type Internet, I'adresse électronique de la fonction étant une adresse HTTP. Dans ce cas, la fonction
est alors exécutable à distance sur le réseau.
Cependant, en variante, on peut inclure directement le code exécutable de la fonction dans le document schéma. Par ailleurs, ce code exécutable peut être sous forme de code source, code objet, ou de code intermédiaire entre
code source et code objet.
Comme mentionné précédemment, chaque fonction déclarée dans le document XML Schema, comporte une déclaration d'un ou plusieurs
arguments définis par une balise du type: <xs:argument name="..."
type="..."/>. Comme on peut le voir sur l'exemple de document schéma cidessus, certaines balises d'arguments, par exemple celles associées à la fonction
"playText", comporte un attribut supplémentaire: fromTag="...".
Conformément à l'invention, la valeur de cet attribut (champ "...") est représentative d'un chemin dans le document XML permettant de trouver la balise dont la valeur est à affecter à l'argument considéré. Cela sera détaillé
plus loin dans la description, en liaison avec les FlGs. 3a et 3b.
En liaison avec la FIG. 1 on va à présent décrire un procédé de traitement d'un document informatique selon l'invention, ce procédé utilisant les possibilités nouvelles offertes par l'association à un document informatique
(XML) d'un document schéma tel que décrit ci-dessus.
Comme illustré à la FIG. 1, le procédé de traitement commence par une étape d'afffichage E11 du document XML sur un écran d'affichage associé au système informatique considéré, par ex. un micro-ordinateur. Dans une implémentation préférée, le système informatique est relié au réseau Internet, et le document XML est affiché par l'utilisation d'un logiciel de navigation
Internet (Web Browser en anglais).
A l'étape E13 qui suit on attend la sélection d'une balise par un utilisateur, par ex. au moyen d'un dispositif de commande, par ex. un dispositif de pointage tel qu'une souris. L'utilisateur pourra, par exemple, positionner le curseur directement sur une balise du document XML. La balise sélectionnée
devient alors la "balise courante" du document XML.
Dans le mode de réalisation choisi et représenté à la FIG. 1, la sélection d'une balise du document XML est effectuée par un utilisateur, cependant dans un autre mode de réalisation cette sélection peut étre effectuée automatiquement par une application logicielle auquel le nom de la balise à
sélectionner aura été préalablement fourni comme paramètre d'entrée.
Ensuite, à l'étape E15, le document schéma associé au document XML est automatiquement chargé sur l'ordinateur, I'adresse du document schéma estmentionné dans une partie prologue du document XML. Cette adresse peut être locale, ou distante, c.-à-d., pointant sur un autre système informatique accessible via le réscau. Lorsque le document schéma est chargé, on lit le nom de la balise courante (étape E17) (par ex. "livre"). Ensuite, la définition (c.-à-d. Ia structure)
de la balise courante est recherchée dans le document schéma (étape E19).
L'implémentation de la mise en correspondance d'une balise contenue dans le document XML et d'une balise du document schéma qui la définit, est en soi connue de l'homme du métier. Expliqué de façon simplifiée, pour effectuer cette mise en correspondance le logiciel peut rechercher, dans le document schéma, la balise dont l'attribut "name" contient les mémes caractères que le nom de la
balise courante, dans le document XML.
Ainsi, si la balise courante est: <personnage>Julien Sorel</personnage>, la balise <xs:elemenf name='personnage"
type="xs:string'/> est trouvoe dans le document schéma.
Ensuite, à l'étape E21, on recherche dans le document schéma les balises déclaratives d'une fonction qui sont associées à la balise courante
(sélectionnée à l'étape E13) du document informatique.
En pratique, on procède de la façon suivante: on recherche dans le document schéma une balise comportant le nom de la balise courante, puis on recherche des balises déclaratives de fonction en liaison avec la balise trouvée
qui comporte le nom de la balise courante.
Ainsi, à titre d'exemple, si la balise courante est: <personnage>Julien Sorel</personnage>, la balise trouvée dans le document schéma, à l'étape E19, est: <xs:element name="personnage" type="xs:string"/>. Les balises déclaratives de fonction trouvoes à l'étape E21 sont les suivantes: <xs:function name="viewPicturen text='oir la photo" href="http://oceania/web-obj/obj/viewPicture.exe"> et <xs:function name='p/ayText" text="Entendre /e texte" href= "http://oceania/webobj/obj/playText. exe "/>
A l'étape suivante, E23, on procède au traitement des fonctions trouvées.
Plus précisément, il s'agit du donner des valeurs aux arguments définis pour chacune des fonctions. Cette étape sera détaillée plus bas en liaison avec la
FIG. 2.
A l'étape qui suit, E25, on crée la liste des fonctions applicables à la balise courante du document XML, à partir des balises déclaratives de fonction trouvoes et traitées, respectivement aux étapes précédentes E21 et E23. Cette
liste est alors mémorisée temporairement, localement sur l'ordinateur.
Dans le mode de réalisation préféré représenté à la FIG.1, dans lequel le contenu du document XML est affiché sur un écran du système informatique pour être utilisé par un utilisateur, le procédé de traitement d'un document informatique selon l'invention, comporte une étape (E27) d'affichage de la liste de fonctions applicables à la balise sélectionnée (balise courante) du document XML. Enfin, à l'étape E29, au moins une fonction de la liste de fonctions : affichée, est exécutée, en réponse à une commande générée par une action de I'utilisateur sur un dispositif de commande tel qu'un clavier d'ordinateur ou un
dispositif de pointage.
En pratique, une nouvelle fenêtre est affichée à l'écran montrant les fonctions applicables à la balise sélectionnce du document XML. Par exemple, si la balise sélectionnée est: <livre> dans le document XML donné en exemple, il sera affiché à l'écran, le texte qui suit, indiquant à l'utilisateur la fonction applicable directement à la balise <livre>: Acheter ce livre Le code XML correspondant à cette fonction qui sera alors incorporé dans une requête d'exécution de la fonction est le suivant: <purchase> titre>Le Rouge et Le Noir</titre> <auteur> StendRal</auteur> </purchase> Le processus d'exécution d'une ou plusieurs fonctions (étape E29) sera détaillé plus loin en liaison avec la FiG.4. Dans un autre mode de réalisation, dans lequel la sélection d'une balise du document XML est automatiquement réalisoe par une application logicielle auquel le nom de la balise à sélectionner aura été préalablement fourni comme paramètre d'entrée, à l'étape E21, il est procédé à la recherche, dans le document schéma, d'une balise déclarative d'une fonction prédéterminée, associée à la balise sélectionnce du document informatique. Le nom de cette fonction prédétermince est fournie par exemple comme un paramètre d'entrce
à l'application logicielle.
Da n s ce mode de réal isation, les éta pes de création et d'affich age (E2 5,
E27) d'une liste de fonctions ne sont pas effectuées.
Enfin, dans ce mode de réalisation, à l'étape E29, la fonction prédéterminée est automatiquement exécutée, sans intervention d'un utilisateur. En liaison avec la FIG. 2, on va maintenant détailler l'étape de traitement (E23), représentée à la FIG. 1, des fonctions associées à une balise
sélectionnée dans le document XML.
Le processus de traitement illustré à la FIG. 2 est exécuté pour chaque fonction identifiée (E21) dans le document schéma, en liaison avec la balise
courante du document XML.
On commence par une étape de sélection (E230) d'une première balise de fonction dans le document schéma. Par ex. si la balise courante dans le document XML est: <personnage>Julien Sorel</personnage>, la balise trouvée dans le document schéma, à l'étape E19 (FIG. 1), est: <xs:element name="personnage" type="xs:string"/>. Les balises déclaratives de fonction trouvées à l'étape E21 sont les suivantes: <xs:function name="viewPicture" text='oir la photo" href= "http://occania/web- obj/obj/vie wPicture. exe "/> et <xs:function name='playText" text="Entendre le texte" href= "http://oceania/web-obj/obj/playText. exe "/> Ainsi, dans cet exemple, la balise relative à la fonction "viewPicture" est
d'abord sélectionnce.
Ensuite à l'étape E231, on sélectionne une balise d'argument relative à la fonction en cours. Par exemple, dans le cas de la fonction "viewPicture" les balises d'arguments sont les suivantes: <xs:argument name="auteur" fromTag=".//auteur" type="xs:string"/> <xs:argument name="titre" fromTag="././titre" type="xs:string"P <xs:argument name='personnage" fromTag= 'personnage" type="xs:string'/>
Ainsi, on commence par exemple par la balise d'argument "auteur".
Puis, on lit (E232) dans la balise d'argument sélectionnée, le nom de I'argument (attribut: name="") et le chemin, ou plus généralement le mode d'accès, pour accéder à la valeur de l'argument dans le document XML. Ce chemin est codé par ia valeur de l'attribut "fromTag". Pour la balise "auteur" ce
chemin est: "./../auteur".
A l'étape E233, la valeur de l'argument considéré est obtenue dans le document XML selon la valeur de l'attribut "fromTag". La valeur de l'attribut "fromTag" définit ainsi un mode d'identification de la valeur d'une balise du
document XML à affecter à l'argument considéré.
Le mode de détermination de la valeur d'un argument (E233), par
définition d'un chemin, sera détaillé plus loin en liaison avec les FlGs. 3a-3b.
Alternativement, la valeur d'un argument peut également être obtenue par identification dans le document XML de la balise dont le nom est identique au nom défini dans la balise déclarative de l'argument dans le document schéma. C'est par exemple le cas pour la balise d'argument: <xs:argument name="auteur" type="xs:string'I> associée à la fonction "purchase" (dans le
document schéma) qui est définie pour la balise <livre> du document XML.
Ainsi la valeur de l'argument "auteur" de la fonction "purchase" correspond à la valeur de la balise <auteur> dans le document XML, c.-à-d. Ia chane de
caractères: "Stendhal".
Selon une variante de réalisation complémentaire ou alternative aux deux qui précèdent, la valeur à affecter à un argument peut être fournie par un
utilisateur au moyen d'un dispositif de commande tel qu'un clavier d'ordinateur.
De retour à la FIG. 2, à l'étape E234, on teste si l'argument dont la valeur a été détermince est le dernier ou non des arguments définis pour la fonction en cours. Si ce n'est pas le cas, on retourne à l'étape E231 pour sélectionner une autre balise d'argument, et le processus recommence comme
précédemment exposé.
Au contraire, si c'est le cas, on passe à l'étape E235 à laquelle on
procède à la sauvegarde en mémoire de la fonction ainsi traitée (c.-à-d.
fonction et valeur des arguments correspondants).
De même, à l'étape E236 on teste si la fonction qui vient d'être mémorisée est la dernière ou non des fonctions déclarées dans le document schéma pour la balise courante dans le document XML. Dans la négative, on retourne à l'étape E230 et le processus recommence comme exposé précédemment. Dans l'affirmative, I'étape de traitement (E23) des fonctions correspondant à une balise sélectionnée dans le document XML (balise
courante) est terminée.
En liaison avec les FlGs. 3a-3b, on va à présent détailler l'étape de détermination (E233, FIG. 2) de la valeur d'un argument, dans le cas o le mode de détermination de cette valeur est codé par l'attribut "fromTag" d'une
balise d'argument dans le document XML Schema.
Conformément à l'invention, comme exposé ci-après, ie mode d'identification d'une balise du document XML dont la valeur est à affecter à un argument considéré, est codé dans la balise déclarative de cet argument, comme une information définissant un chemin dans le document XML, à partir
de la balise courante, jusqu'à la balise dont la valeur est à affecter à l'argument.
A la FIG. 3a, on commence par une étape de test E2330 à laquelle il est déterminé si l'information codée dans l'attribut "fromTag" de la balise
d'argument considérée définit ou non un chemin relatif.
Cas 1: Une première forme de chemin relatif est définie selon l'invention par la syntaxe: fromTag="../../nom_de_balise " o "nom_de_balise" désigne le nom d'une balise du document XML. Par exemple dans le document schéma on a: fromTag="../../auteur" dans la balise d'argument "auteur" associée à la
fonction "playText" dans le docament schéma.
Cas 2: Une seconde forme de chemin relatif est selon l'invention définie par la syntaxe: fromTag="nom_de_balise", par exemple, from Tag= 'personnage " comme c'est le cas dans la balise d'argument
"personnage" associce à la fonction "playText" dans le document schéma.
Cas 3: Un chemin non relatif est défini selon l'invention par la syntaxe fromTag="/nom_de_balise", par exemple, fromtag="/auteur" (non présent dans
I'exemple de document schéma donné ici).
Ainsi à l'étape E2330, si le chemin n'est pas un chemin relatif, par ex. fromTag='/auteur" (Cas 3 ci-dessus), à l'étape E2332, le programme selon l'invention pointe sur la balise de début (la balise racine) du document XML
traité. Dans l'exemple donné ici, il s'agit de la balise: <livre>.
Ensuite à l'étape E2333, on applique le chemin défini par l'attribut from Tag au document XML. Dans le cas du chemin "/auteur" on pointe alors sur la balise fille <auteur> du document XML. Ensuite à l'étape E2334,on lit la
valeur de la balise pointée à l'étape précédente, c.-à-d.: "Stendhal".
Enfin, à l'étape E2335, on renvoie cette valeur pour l'affecter à
I'argument considéré de la fonction traitée dans le document schéma.
De retour à l'étape E2330, si le chemin codé par l'attribut fromTag est un chemin relatif (Cas 1 ou 2 supra), à l'étape E2331, on pointe sur la balise
courante du document XML.
Ainsi, dans le Cas 2 supra, si la balise courante est: <p ersonnage> Julien Sorel</personnage> la valeur de l'attribut "fromTag" étant "personnage", à l'étape E2333 on reste sur cette balise et on lit à l'étape E2334 sa valeur: "Julien Sorel" que l'on
envoie à l'argument considéré de la fonction traitée (par ex. "playText").
Dans l'exemple donné plus haut avec le Cas 1, la balise courante pointée à l'étape E2331 serait par ex.: <personnage>Jullen Sorel</personnage> Puis, à l'étape E2333, on parcourt dans le document XML le chemin
défini par la valeur de l'attribut "fromTag", soit: "../../auteuR'.
En conséquence, on remonte d'abord d'un rang selon l'instruction: '../' dans la structure d'arbre définie par le document XML, et on pointe alors sur la balise <personnages>. Ensuite on remonte encore d'un rang selon la seconde instruction '../' et on aboutit alors à la balise <livre>. Finalement, selon
l'instruction '/auteur', on pointe sur la balise: <auteur> StendRal</auteur>.
Enfin on lit la valeur de la balise pointée c.-à-d., "Stendhal", à l'étape E2334, puis on renvoie (E2335) cette valeur à la balise d'argument considérée (par ex. argument "auteur") de la fonction traitée (par ex. "playText") dans le
document schéma.
La FIG. 3b illustre le traitement selon deux modes de définition de chemin codés dans une balise d'argument selon l'invention. Ces deux modes correspondent respectivement au mode relatif selon le Cas 1 supra, et au
mode non relatif selon le Cas 3 supra.
Le schéma de la FIG. 3b illustre la structure arborescente du document XML (livre.xml) exposé plus haut. Le parcours fléché 31 indique un chemin codé par: fromTag="../../auteur" (Cas 1 supra). Comme illustré, selon le parcours 31, on remonte d'un rang (../) à partir de la balise courante "personnage" de valeur "Julien Sorel", on aboutit alors à la balise "personnages", puis on remonte encore d'un rang (..), on aboutit alors à la balise "iivre"; enfin on descend d'un rang (/auteur) pour terminer sur la balise "auteur". D'autre part, le parcours fléché 30 est relatif à un chemin codé par: from Tag= '/auteur" (Cas 3 su pra). La balise cou rante est également la balise "personnage" de valeur "Julien Sorel". Comme exposé plus haut, on commence par remonter à la balise racine ("livre") et on descend vers la balise
indiquce ("auteur").
En liaison avec la FIG. 4, on va maintenant détailler l'étape d'exécution d'une fonction applicable à une balise d'un document XML (étape E29, FIG. 1). Comme mentionné plus haut en liaison avec la FIG. 1, une nouvelle fenêtre est affichée à l'écran montrant les fonctions applicables à la balise sélectionnée du document XML. Par exemple, si la balise sélectionnée dans le document XML donné en exemple est: <personnage> Jullen Sorel</personnage>, il sera affiché à l'écran, pour indiquer à l'utilisateur les fonctions qui s'appliquent directement à la balise courante, le texte suivant: Voir la photo Entendre la voix Le code XML correspondant à la première fonction ("voir la photo") qui sera alors incorporé dans une requête d'exécution de cette fonction est le suivant: <viewPfcture> <auteur>StendRal</auteur> <titre>Le Rouge et Le Noir4titre> <personnage>Julien Sorel</personnage> </viewPicture> Le code XML correspondant à la seconde fonction ("entendre la voix") qui sera alors incorporé dans une requête d'exécution de cette fonction est le suivant: <playText> <auteur>StendRal</auteur> titre>Le Rouge et Le Noir</titre> <personnage>Julien Sore</personnage> c/Play Text > Le processus d'exécution d'une fonction illustré à la FIG. 4, commence par 1'étape E290 à laquelle le programme de 1'invention se place en mode d'attente de la sélection par un utilisateur d'au moins une fonction parmi la liste affichée. Dans l'exemple ci-dessus, I'utilisateur pourra par exemple cliquer sur
"Voir la phofo" eVou "Entendre la voix".
Bien sûr, dans l'autre mode de réalisation dans lequel une (ou plusieurs) fonction prédéterminée est automatiquement exécutée par 1'application logicielle selon l'invention, cette étape d'attente d'une sélection par un
utilisateur n'est pas effectuée.
A l'étape suivante, on détermine pour chaque fonction sélectionnce, si la fonction est locale, c.-à-d. si le code exécutable de la fonction est stocké sur I'ordinateur utilisateur ou bien si le code exécutable est accessible par téléchargement depuis un système informatique serveur sur le réscau. Dans ce but, la valeur de l'attribut "href" associé à chaque fonction dans le document schéma est analysé. Dans l'exemple donné plus haut (livre.xsd), toutes les fonctions définies dans le document schéma sont exécutables à distance sur
un serveur "oceania".
Cependant, si la fonction est locale ou bien si le code exécutable de la fonction a déjà été chargé précédemment dans l'ordinateur client, I'exécution de la fonction est immédiate (étape E292). Dans le cas contraire, un message de requete d'exécution à distance est généré et envoyé au travers du réseau à destination du système serveur (étape E293). En pratique, il s'agit d'une
requête HTTP.
A l'étape E294, on se place alors dans un état d'attente d'un message de réponse (réponse HTTP) contenant soit un résultat (par ex. image numérique ou voix numérisée) eVou un message indiquant que l'exécution de la fonction s'est bien terminée ou non. Enfin à l'étape E295, le résultat de 1'exécution de la fonction est affiché, par exemple à l'intérieur d'une nouvelle fenêtre affichée à
l'écran, eVou utilisé, sur le système utilisateur.
Ainsi dans l'exemple ci-dessus, si l'utilisateur a cliqué sur "voir la photo", il reçoit en retour dans son ordinateur la photo d'un acteur de théâtre interprétant le rôle de Julien Sorel. S'il a cliqué sur"Entendre la voix", il reçoit en retour un échantillon numérisé de la voix de l'acteur de théâtre interprétant
un morccau de texte issu de la pièce.
On va maintenant décrire en relation avec la FIG. 5 un système informatique (10) ou ordinateur apte à mettre en _uvre un procédé de traitement d'un document informatique selon l'invention. Ce système
informatique est par exemple un micro-ordinateur ou une station de travail.
Dans ce mode de réalisation, le procédé de traitement d'un document selon l'invention est mis en _uvre par l'exécution d'un programme informatique
selon l'invention chargé dans ce système informatique.
Le système informatique 10 comporte classiquement un bus de communication 112 auquel sont reliés:
- Une unité centrale 100 (microprocesseur).
- Une mémoire ROM 101, dans lequel peut être mémorisé le code
exécutable du programme informatique de l'invention.
- Une mémoire RAM 102, comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme précité. - Un écran 103 permettant de servir d'interface avec un utilisateur, à l'aide d'un ciavier 104 ou de tout autre moyen, tel que par exemple une souris 105. Cet écran pourra permettre à un utilisateur de visualiser, par ex. au travers d'un logiciel de navigation sur Internet (navigateur Web), un document
informatique tel qu'un document XML.
- Un disque dur 106, dans lequel on peut stocker, de façon alternative à la mémoire ROM, le code exécutable du programme selon I'invention. Le code source du programme pourra être également stocké dans
le disque dur et compilé lors de l'exécution du programme.
- Un lecteur de disquette 107 adapté à recevoir une disquette 7. Le programme de l'invention stocké sur une disquette pourra ainsi alternativement
être chargé dans l'ordinateur 10 via le lecteur de disquettes 107.
- Un lecteur de disques CD 108 adapté à lire un disque CD 8. Le programme de l'invention (source ou exécutable) stocké sur un disque CD pourra ainsi alternativement être chargé dans l'ordinateur 10 via le lecteur de
disques CD 108.
- un lecteur de PC-CARD 109 pourra permettre de la même façon le chargement dans l'ordinateur du programme de l'invention stocké sur une carte
PC-CARD 9.
- une interface de communication 110 avec un réseau de communication 1 permettant d'envoyer/recevoir des messages vers/depuis d'autre systèmes connoctés au réseau. Il s'agit notamment, dans le cadre de l'invention, de messages de requête de documents (XML et XML Schema), de messages de requête d'exécution de fonctions distantes, et de messages de réponse suite à l'exécution de fonctions. La communication de messages sur le réseau utilise le protocole HTTP, selon le mode de réalisation préféré de l'invention. D'autre part, cette interface de communication 110 permet aussi de télécharger le programme de traitement de documents selon l'invention, depuis
un autre système informatique sur le réseau.
Il est à noter, d'une part, que le bus de communication 112 permet la communication entre les différents éléments inclus dans le système informatique 10 ou reliés à lui. D'autre part, la représentation du bus n'est pas limitative et, notamment, I'unité centrale (100) est susceptible de communiquer des instructions à tout élément de l'ordinateur 10 directement ou par
l'intermédiaire d'un autre élément de cet ordinateur.
En résumé, I'invention décrite ici concerne un procédé et un dispositif de traitement d'un document informatique dans un système informatique, ce dernier pouvant être relié à un réseau de communication. Selon le mode de réalisation préféré, les étapes du procédé sont déterminces par les instructions d'un programme de traitement d'un message selon l'invention, et le procédé est mis en _uvre lorsque ce programme est chargé dans un ordinateur dont le
fonctionnement est alors commandé par l'exécution du programme.
En conséquence, I'invention s'applique également à un programme d'ordinateur, particulièrement un programme d'ordinateur sur ou dans un support d'informations, adapté à mettre en _uvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter un procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de
stocker le programme.
Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM semi-conducteur, ou un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble
* électrique ou optique, ou encore par radio ou par d'autres moyens.
Aiternativement, le support peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter le procédé en
question, ou pour être utilisé dans l'exécution du procédé.
Bien entendu, la présente invention ne se limite pas aux détails des formes de réalisation décrits ici à titre d'exemple, mais s'étend au contraire aux
modifications à la portée de l'homme de l'art, sans sortir du cadre de l'invention.

Claims (18)

REVENDICATIONS
1. Procédé de traitement d'une portion d'un document informatique dans un système informatique, le contenu du document informatique étant représenté avec un langage de balisage, chaque balise comportant un nom et une valeur, ladite valeur pouvant inclure d'autres balises, le document informatique étant associé à un second document informatique, appelé "document schéma", dont le contenu est représenté dans un langage de balisage de type schéma, ledit document schéma définissant la structure de ladite portion du document informatique, le procédé de traitement étant caractérisé en ce qu'il comporte les étapes suivantes: (A) - sélection (E13) d'une balise, dite "balise courante", dans ladite portion du document informatique; (B) - recherche (E15-E21) dans le document schéma d'au moins une balise déclarative d'une fonction associée à la balise sélectionnce du document informatique; (C) - création (E23, E25) d'une liste de fonctions applicables à ladite balise courante dudit document informatique à partir de ladite au moins une
balise déclarative d'une fonction, trouvée dans ledit document schéma.
2. Procédé selon la revendication 1, dans lequel le contenu du document informatique est affiché sur un écran d'affichage du système informatique, la balise courante étant sélectionnée par un utilisateur sur l'écran d'affichage au moyen d'un dispositif de commande, par exemple un dispositif de pointage, le procédé comportant en outre l'étape suivante: (D) - affichage (E27) de la liste de fonctions applicables à la balise
courante dud it document informatique.
3. Procédé selon la revendication 1 ou 2, dans lequel la structure de chacune des balises contenues dans ladite portion du document informatique est définie dans le document schéma par des balises appropriées dans lesquelles un champ particulier contient le nom de la balise correspondante du document informatique. 4. Procédé selon la revendication 3, dans lequel l'étape de recherche (B) d'au moins une balise déclarative d'une fonction associée à la balise courante dans le document informatique, comprend les sous-étapes suivantes: (B1) - recherche (E19) dans le document schéma d'une balise comportant le nom de la balise courante; (B2) - recherche (E21) de balises déclaratives de fonction, en liaison
avec la balise trouvée à l'étape (B1).
5. Procédé selon l'une quelconque des revendications 1 à 4, dans
lequel l'étape (C) de création d'une liste de fonctions applicables à ladite balise courante du document informatique, inclut les sous-étapes suivantes, effectuées pour chaque balise déclarative d'une fonction trouvée à l'étape (B): (C1) - lecture (E231, E232) d'au moins une balise déclarative d'un argument de la fonction, ladite balise comportant un champ définissant le nom de l'argument, et un champ définissant ie type de l'argument; (C2) - détermination (E232, E233) de la valeur de chaque argument par affectation audit argument de la valeur d'une balise du document informatique qui est identifice selon un mode d'identification codé dans la balise déclarative de l'argument, dans le document schéma, ou bien par affectation audit
argument d'une valeur fournie par l'utilisateur.
6. Procédé selon la revendication 5, dans lequel, à l'étape (C2), ledit mode d'identification d'une balise du document informatique, codé dans la balise déclarative de l'argument, dans le document schéma, consiste à identifier dans le document informatique, la balise dont le nom est identique au
nom défini dans la balise déclarative de l'argument dans le document schéma.
7. Procédé selon la revendication 5, dans lequel, à l'étape (C2), ledit mode d'identification d'une balise du document informatique, codé dans la balise déclarative de l'argument, dans le document schéma, consiste à fournir le chemin (Figs. 3a, 3b), dans le document informatique, à partir de la balise
courante, jusqu'à la balise dont la valeur est à affecter audit argument.
8. Procédé selon l'une quelconque des revendications 2 à 7,
comportant en outre l'étape suivante: (E) - exécution (E29) d'au moins une fonction de ladite liste affichée, en réponse à une commande générée par une action de l'utilisateur sur un dispositif de commande tel qu'un clavier d'ordinateur ou un dispositif de
1 5 pointage.
9. Procédé selon la revendication 8, dans lequel ladite fonction est exécutée à distance (E291, E293, E294) sur un second système informatique
relié audit système informatique au travers d'un réscau de communication.
10. Procédé selon l'une quelconque des revendications précédentes,
dans lequel chaque balise déclarative d'une fonction inclut en outre l'adresse électronique du code exécutable de la fonction, ou bien inclut directement le code exécutable de la fonction, ledit code exécutable pouvant être sous forme de code source, code objet, ou de code intermédiaire entre code source et
code objet.
11. Procédé selon l'une quelconque des revendications précédentes,
dans lequel, le contenu dudit document informatique est représenté en langage XML, et ledit contenu dudit document schéma est représenté en langage XML Schema. 1 2. Procédé selon la revendication 11, dans lequel une balise déclarative de fonction est exprimoe dans le document schéma de la façon suivante: <xs:fonction name=" " text=" '/> o: "function" est le mot clé identifiant une balise de déclaration de fonction, "name=" est un mot clé identifiant un champ dont la valeur définit le nom de la fonction, "text=" est un mot clé identifiant un champ optionnel dont la valeur est du texte destiné à être affiché pour l'utilisateur, lors de l'affichage de la liste
de fonctions.
13. Procédé selon la revendication 11 ou 12, dans lequel des balises déclaratives d'un argument sont exprimées dans le document schéma de la façon suivante: <xs:argument name=n..." type="..."/> <xs:argument name=" " type=" 'i/> ou: "argument" est le mot clé identifiant une balise de déclaration d'un argument, "name=" est un mot clé identifiant un champ dont la valeur définit ie nom de l'argument, "type=" est un mot clé identifiant un champ dont la valeur
définit le type de l'argument.
14. Procédé selon la revendication 13, dans lequel une balise déclarative d'un argument comporte un champ supplémentaire identifié par un mot clé (From Tag), dont la valeur est représentative d'u n chemin, dans ladite portion du document informatique, permettant de trouver la balise dont la valeur
est à affecter audit argument.
15. Procédé de traitement d'une portion d'un document informatique dans un système informatique, le contenu du document informatique étant représenté avec un langage de balisage, chaque balise comportant un nom et une valeur, ladite valeur pouvant inclure d'autres balises, le document informatique étant associé à un second document informatique, appelé "document schéma", dont le contenu est représenté dans un langage de balisage de type schéma, ledit document schéma définissant la structure de ladite portion du document informatique, le procédé de traitement étant caractérisé en ce qu'il comporte les étapes suivantes: (A) - sélection d'une balise, dite "balise courante", dans ladite portion du document informatique; (B) - recherche dans le document schéma d'une balise déclarative d'une fonction prédétermince, associée à la balise sélectionnce du document informatique;
(C) - exécution de ladite fonction prédéterminée.
16. Procédé selon la revendication 15, dans lequel la structure de chacune des balises contenues dans ladite portion du document informatique est définie dans le document schéma par des balises appropriées dans lesquelles un champ particulier contient le nom de la balise correspondante du
document informatique.
17. Procédé selon la revendication 16, dans lequel chaque balise déclarative de fonction contenue dans le document schéma comporte un champ prédéfini (name="...") dont la valeur définit le nom de la fonction, et dans lequel l'étape de recherche (B) d'une balise déclarative d'une fonction prédéterminée associée à la balise courante dans le document informatique, comprend les sous-étapes suivantes: (B1) - recherche dans le document schéma d'une balise comportant le nom de la balise courante; (B2) - recherche d'une balise déclarative de fonction, en liaison avec la balise trouvoe à l'étape (B1), ladite balise déclarative de fonction contenant le nom de ladite fonction prédéterminée. 18. Procédé selon la revendication 17, dans lequel l'étape (C) d'exécution de ladite fonction prédéterminée, inclut les sous-étapes suivantes: (C1) - lecture d'au moins une balise déclarative d'un argument associée à ladite balise déclarative de fonction contenant le nom de ladite fonction prédétermince, ladite balise comportant un champ définissant le nom de l'argument, et un champ définissant le type de l'argument; (C2) - détermination de la valeur de chaque argument par affectation audit argument de la valeur d'une balise du document informatique qui est identifiée selon un mode d'identification codé dans la balise déclarative de
l'argument, dans le document schéma.
19. Procédé selon l'une quelconque des revendications 15 à 18, dans
lequel ladite fonction prédéterminée est exécutée à distance sur un second système informatique relié audit système informatique au travers d'un réseau
de communication.
20. Système informatique, relié ou non à un réseau de communication, caractérisé en ce qu'il comporte des moyens adaptés à la mise en _uvre d'un procédé de traitement d'un document informatique, conforme à l'une
quelconque des revendications précédentes.
21. Programme d'ordinateur sur un support d'informations, caractérisé en ce qu'il comporte des instructions de programme adaptées à la mise en _uvre d'un procédé de traitement d'un document informatique selon l'une quelconque
des revendications 1 à 19, lorsque ce programme d'ordinateur est chargé et
exécuté dans un système informatique.
FR0108699A 2001-06-29 2001-06-29 Procede et dispositif de traitement d'un document informatique dans un systeme informatique Expired - Fee Related FR2826753B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0108699A FR2826753B1 (fr) 2001-06-29 2001-06-29 Procede et dispositif de traitement d'un document informatique dans un systeme informatique
US10/179,177 US7260776B2 (en) 2001-06-29 2002-06-26 Method and device for processing a computer document in a computer system
JP2002191943A JP2003132043A (ja) 2001-06-29 2002-07-01 コンピュータシステムにおけるコンピュータ文書処理方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0108699A FR2826753B1 (fr) 2001-06-29 2001-06-29 Procede et dispositif de traitement d'un document informatique dans un systeme informatique

Publications (2)

Publication Number Publication Date
FR2826753A1 true FR2826753A1 (fr) 2003-01-03
FR2826753B1 FR2826753B1 (fr) 2003-12-05

Family

ID=8864989

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0108699A Expired - Fee Related FR2826753B1 (fr) 2001-06-29 2001-06-29 Procede et dispositif de traitement d'un document informatique dans un systeme informatique

Country Status (3)

Country Link
US (1) US7260776B2 (fr)
JP (1) JP2003132043A (fr)
FR (1) FR2826753B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004086248A1 (fr) * 2003-03-27 2004-10-07 International Business Machines Corporation Systemes et procede pour optimiser l'analyse de flux de protocoles a base d'etiquettes

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038512A (ja) * 2002-07-03 2004-02-05 Nec Corp 情報処理端末及びそれに用いる指定タグ位置移動方法並びにそのプログラム
US7685314B2 (en) * 2002-06-27 2010-03-23 Siebel Systems, Inc. System integration system and method
US7149752B2 (en) * 2002-12-03 2006-12-12 Jp Morgan Chase Bank Method for simplifying databinding in application programs
US8032439B2 (en) 2003-01-07 2011-10-04 Jpmorgan Chase Bank, N.A. System and method for process scheduling
US7401156B2 (en) * 2003-02-03 2008-07-15 Jp Morgan Chase Bank Method using control interface to suspend software network environment running on network devices for loading and executing another software network environment
US20040205216A1 (en) * 2003-03-19 2004-10-14 Ballinger Keith W. Efficient message packaging for transport
US7379998B2 (en) * 2003-03-31 2008-05-27 Jp Morgan Chase Bank System and method for multi-platform queue queries
US7366722B2 (en) * 2003-05-15 2008-04-29 Jp Morgan Chase Bank System and method for specifying application services and distributing them across multiple processors using XML
US8095659B2 (en) 2003-05-16 2012-01-10 Jp Morgan Chase Bank Service interface
US7530015B2 (en) * 2003-06-25 2009-05-05 Microsoft Corporation XSD inference
US20050144174A1 (en) * 2003-12-31 2005-06-30 Leonid Pesenson Framework for providing remote processing of a graphical user interface
US7165216B2 (en) * 2004-01-14 2007-01-16 Xerox Corporation Systems and methods for converting legacy and proprietary documents into extended mark-up language format
US20050222990A1 (en) * 2004-04-06 2005-10-06 Milne Kenneth T Methods and systems for using script files to obtain, format and disseminate database information
US9734222B1 (en) 2004-04-06 2017-08-15 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data
JP2005309727A (ja) * 2004-04-21 2005-11-04 Hitachi Ltd ファイルシステム
GB2429371B (en) * 2004-04-26 2008-03-26 J P Morgan Chase Bank System and method for routing messages
US8296354B2 (en) * 2004-12-03 2012-10-23 Microsoft Corporation Flexibly transferring typed application data
US8424020B2 (en) 2006-01-31 2013-04-16 Microsoft Corporation Annotating portions of a message with state properties
US7610172B2 (en) * 2006-06-16 2009-10-27 Jpmorgan Chase Bank, N.A. Method and system for monitoring non-occurring events
US10528342B2 (en) * 2017-10-16 2020-01-07 Western Digital Technologies, Inc. Function tracking for source code files
US10877875B2 (en) * 2019-03-05 2020-12-29 Verizon Patent And Licensing Inc. Systems and methods for automated programmatic test generation and software validation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000068828A1 (fr) * 1999-05-11 2000-11-16 Julien Clausse Methode et systeme de creation de documents electroniques - auto-publiants et adaptatifs

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763499B1 (en) * 1999-07-26 2004-07-13 Microsoft Corporation Methods and apparatus for parsing extensible markup language (XML) data streams
US7072896B2 (en) * 2000-02-16 2006-07-04 Verizon Laboratories Inc. System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor
US20020049790A1 (en) * 2000-08-08 2002-04-25 Ricker Jeffrey M Data interchange format transformation method and data dictionary used therefor
AU2001294555A1 (en) * 2000-09-14 2002-03-26 Bea Systems Inc. Xml-based graphical user interface application development toolkit
US20020143821A1 (en) * 2000-12-15 2002-10-03 Douglas Jakubowski Site mining stylesheet generator
US7703009B2 (en) * 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000068828A1 (fr) * 1999-05-11 2000-11-16 Julien Clausse Methode et systeme de creation de documents electroniques - auto-publiants et adaptatifs

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BATTLE S A ET AL: "Flexible information presentation with XML", IEE COLLOQUIUM MULTIMEDIA DATABASES AND MPEG-7, IEE, LONDON, GB, 29 January 1999 (1999-01-29), pages 13 - 1-13-6, XP002128574 *
L. BOMPANI, P. CIANCARINI AND F. VITALI: "Software Engineering and the Internet: a roadmap", PROCEEDINGS OF THE CONFERENCE ON THE FUTURE OF SOFTWARE ENGINEERING, 2000, Limerick, Ireland, pages 305 - 315, XP002202432 *
MCKEE P ET AL: "Behavioural specification using XML", DISTRIBUTED COMPUTING SYSTEMS, 1999. PROCEEDINGS. 7TH IEEE WORKSHOP ON FUTURE TRENDS OF CAPE TOWN, SOUTH AFRICA 20-22 DEC. 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 20 December 1999 (1999-12-20), pages 53 - 59, XP010367828, ISBN: 0-7695-0468-X *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004086248A1 (fr) * 2003-03-27 2004-10-07 International Business Machines Corporation Systemes et procede pour optimiser l'analyse de flux de protocoles a base d'etiquettes
CN100388269C (zh) * 2003-03-27 2008-05-14 国际商业机器公司 用于优化基于标签的协议流分析的***和方法
US7552384B2 (en) 2003-03-27 2009-06-23 International Business Machines Corporation Systems and method for optimizing tag based protocol stream parsing

Also Published As

Publication number Publication date
JP2003132043A (ja) 2003-05-09
US7260776B2 (en) 2007-08-21
US20030069907A1 (en) 2003-04-10
FR2826753B1 (fr) 2003-12-05

Similar Documents

Publication Publication Date Title
FR2826753A1 (fr) Procede et dispositif de traitement d&#39;un document informatique dans un systeme informatique
CA2603908C (fr) Methode dynamique de generation de documents xml a partir d&#39;une base de donnees
KR101076904B1 (ko) 컴퓨터 플랫폼에 대한 프로그래밍 인터페이스
US20160048606A1 (en) Methods, Systems, Apparatus, Products, Articles and Data Structures for Cross-Platform Digital Content
FR2814828A1 (fr) Procede d&#39;optimisation, par une terminal, de la consultation de donnees
FR2906383A1 (fr) Referentiel semantique de services web et procede utilisant ce referentiel
EP1193950A2 (fr) Procédé d&#39;optimisation, par un élément d&#39;architecture de réseau, de la consulation de données.
FR2770017A1 (fr) Systeme de controle d&#39;equipement domestique par affichage graphique sur ecran
FR2909198A1 (fr) Procede et disositif de filtrage d&#39;elements d&#39;un document structure a partir d&#39;une expression.
WO2006136565A1 (fr) Procede de traitement de donnees compatible avec un formalisme de modelisation d&#39;objets
EP0784257A1 (fr) Système de protection de logiciel pour ordinateur écrit en langage interprété
WO2008095800A1 (fr) Procede de transmission d&#39;au moins un contenu representatif d&#39;un service, depuis un serveur vers un terminal, dispositif et produit programme d&#39;ordinateur correspondants
EP2219113B1 (fr) Procédé d&#39;affichage, dispositif et produit programme d&#39;ordinateur correspondant
FR2827686A1 (fr) Utilisation d&#39;hyperliens dans un programme d&#39;une application d&#39;automatisme et station de programmation d&#39;une telle application
EP1194868B1 (fr) Methode et systeme de creation de documents electroniques - auto-publiants et adaptatifs
FR2906382A1 (fr) Procedes et dispositifs pour optimiser le traitement xml
FR2527808A1 (fr) Procede et dispositif de documentation dans un systeme informatique
FR2800182A1 (fr) Support enregistre utilisable sur ordinateur et procede de recherche d&#39;informations accessible sur le dit support et sur un reseau global d&#39;ordinateurs
FR2795536A1 (fr) Procede de traduction, de transfert et de mise a jour d&#39;un objet informatique sur un reseau de communication informatique
WO2001095102A1 (fr) Procede de structuration, de transfert et d&#39;interpretation d&#39;un ensemble d&#39;informations destinees a la conception d&#39;interfaces graphiques
FR2830349A1 (fr) Procede et dispositif d&#39;execution d&#39;une fonction dans un serveur informatique, ladite fonction retournant des resultats multiples selectionnables
FR2795535A1 (fr) Procede d&#39;execution a distance d&#39;une fonction sur un objet informatique dans un reseau de communication
FR2914758A1 (fr) Procede et dispositif de modification d&#39;une expression et procede et dispositif d&#39;evaluation d&#39;une expression
WO2003001375A1 (fr) Extension d&#39;un logiciel dans un recepteur/decodeur de television numerique
FR2827403A1 (fr) Procede de generation et de traitement d&#39;un document adapte a etre represente sous forme de blocs d&#39;information

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140228