JP2010282587A - Mash up program, mash up device, and mash up method - Google Patents

Mash up program, mash up device, and mash up method Download PDF

Info

Publication number
JP2010282587A
JP2010282587A JP2009137666A JP2009137666A JP2010282587A JP 2010282587 A JP2010282587 A JP 2010282587A JP 2009137666 A JP2009137666 A JP 2009137666A JP 2009137666 A JP2009137666 A JP 2009137666A JP 2010282587 A JP2010282587 A JP 2010282587A
Authority
JP
Japan
Prior art keywords
cut
information
program
web resource
annotation information
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
JP2009137666A
Other languages
Japanese (ja)
Other versions
JP5267342B2 (en
Inventor
Fumito Nishino
文人 西野
Terunobu Kume
照宣 粂
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009137666A priority Critical patent/JP5267342B2/en
Publication of JP2010282587A publication Critical patent/JP2010282587A/en
Application granted granted Critical
Publication of JP5267342B2 publication Critical patent/JP5267342B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a mash up program, a mash up device and a mash up method whereby a certain resource function on a network is taken over by a new resource formed by mashing-up. <P>SOLUTION: A computer is caused to function as: a means 3 for obtaining annotation information including a web resource to be displayed as pasting information; a means 4 for obtaining a web resource to be cut, based on cutting information included in the annotation information; a means 6 for cutting out a fragment to be cut out of the web resource to be cut, based on the cutting information included in the annotation information; a means 7 for normalizing the cut fragment to fit the environment of a web resource to which the fragment is to be pasted; and a means 9 for pasting the normalized fragment to the web resource to be displayed, based on the pasting information included in the annotation information. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法に係り、特にネットワーク上の資源を合わせるマッシュアップ(mash up)と呼ばれる技術を利用するマッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法に関する。   The present invention relates to a mashup program, a mashup device, and a mashup method, and more particularly to a mashup program, a mashup device, and a mashup method that use a technique called mashup that matches resources on a network.

近年、インターネットやイントラネット等のネットワーク上の情報資源(例えばWebページ)のマッシュアップと呼ばれる技術が、よく利用されている。マッシュアップは複数の異なる提供元のコンテンツや機能を合わせて新しいコンテンツやサービスを形成するものである。   In recent years, a technique called mashup of information resources (for example, Web pages) on a network such as the Internet or an intranet is often used. A mashup is a combination of content and functions from different providers to form new content and services.

Webにおけるマッシュアップでは、検索、写真、動画、地図などのサービスサイトがAPI(Application Program Interface)を公開することで、写真と撮影場所の地図とを組み合わせたり、郵便番号データと地図とを組み合わせたりするサービスが構築されてきた。   In web mashups, search, photos, videos, maps, and other service sites publish APIs (Application Program Interface) to combine photos and shooting location maps, or zip code data and maps. Service to do has been built.

Webにおけるマッシュアップは、このようなサービスをプログラムレベルで構築するだけでなく、エンドユーザレベルで簡単にできるようになれば、気づきの共有、Webページの共同制作、進捗管理、ポータルの作成、広告システムなど様々な場面で利用されることが期待される。   Web mashups not only build such services at the program level, but also become easier at the end-user level, if you can share awareness, collaborate on web pages, progress management, portal creation, advertising It is expected to be used in various situations such as systems.

あるWebページ上のコンテンツや機能の一部分を切り取り、別のWebページ上に貼り付けることで利用可能にする、すなわち、あるWebページにアクセスしたとき、その時点での別のWebページの内容を表示したり、検索や動画閲覧などの機能を可能にしたりするには、指定されたWebページの一部分を切り取る技術と、Webページの一部分を指定された別のWebページに貼り付ける技術とが必要になる。   A part of content or function on a certain web page can be cut and pasted on another web page to make it available. That is, when accessing a certain web page, the contents of another web page at that time are displayed. And enabling a function such as search and video browsing require a technique for cutting a part of a specified Web page and a technique for pasting a part of a Web page to another specified Web page. Become.

あるWebページの一部分を切り取る技術はクリッピング技術あるいはスクレイピング技術として、以下のような技術が良く知られている。例えばWebクリッピング技術としては、指定されたWebページの一部分を画像(スナップショット)として切り取るものが知られている。Webスクレイピング技術としては、指定されたWebページに対してパターンマッチングやXpathによる位置指定などによりデータを抜き取るものが知られている(例えば特許文献1参照)。   As a technique for cutting out a part of a Web page, the following techniques are well known as clipping techniques or scraping techniques. For example, as a Web clipping technique, one that cuts out a part of a specified Web page as an image (snapshot) is known. As a web scraping technique, a technique is known in which data is extracted from a designated web page by pattern matching or position designation by Xpath (see, for example, Patent Document 1).

一方、あるWebページに情報を付与する技術はWebアノテーション技術として知られており、テキストや画像、HTML断片(注:Webページの記述にはHTML以外にもXHTML、XML、CHTMLなど様々な形式があるが、これらを代表してHTMLとして記述する)などHTMLで扱えるデータを、別のWebページ(HTML)に埋め込む。   On the other hand, a technique for giving information to a certain Web page is known as a Web annotation technique, and there are various formats such as text, images, HTML fragments (Note: In addition to HTML, there are various formats such as XHTML, XML, and CHTML for Web page descriptions. Data that can be handled in HTML, such as those described as HTML on behalf of them, is embedded in another Web page (HTML).

このように、Webページからデータを切り取る技術と、別のWebページにデータを付与するアノテーション技術とを組み合わせれば、あるWebページからクリップないしスクレイプしたデータを別のWebページ上にマッシュアップ(合成)して表示することは可能である。   In this way, if the technology for cutting data from a web page and the annotation technology for adding data to another web page are combined, data clipped or scraped from one web page can be mashed up (composited) on another web page. ) Can be displayed.

特開2004−110427号公報JP 2004-110427 A

しかしながら、通常のクリッピングやスクレイピングでは元のWebページをスナップショットとして画像で保存する、あるいは元のWebページの構造化文書(HTML)そのものの断片、または、構造化文書から構造(タグ)を取り除いたデータを保存しているため、マッシュアップした画面にアクセスした時点での最新の情報が反映されず、元のWebページにあった検索や動画等の機能も利用できない。   However, in normal clipping and scraping, the original Web page is saved as an image as a snapshot, or a fragment of the original Web page structured document (HTML) itself, or a structure (tag) is removed from the structured document. Since the data is stored, the latest information at the time when the mashup screen is accessed is not reflected, and the functions such as search and moving image that were in the original Web page cannot be used.

既存のシステムとして、あらかじめ用意されたガジェット(ウィジェット)を特定のWebページに貼り付けるものがある。また、既存のシステムとして、「これを自分のブログに貼り付けてください」ということで構造化文書の断片があらかじめ用意されているものもある。これらのシステムでは、特定の機能をもつ画面を別のWebページに貼り付けることができるが、用意されたものを貼り付けられるだけで、任意のWebページの一部分を貼り付けられるものではない。   As an existing system, there is a system in which a gadget (widget) prepared in advance is pasted on a specific Web page. In addition, as an existing system, there is a system in which a fragment of a structured document is prepared in advance by saying “Please paste this on your blog”. In these systems, a screen having a specific function can be pasted on another Web page, but only a prepared one can be pasted, and a part of an arbitrary web page cannot be pasted.

本発明の一実施形態は、上記の点に鑑みなされたもので、ネットワーク上の任意の資源の機能をマッシュアップにより形成した新たな資源に引き継がせるマッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法を提供することを目的とする。   One embodiment of the present invention has been made in view of the above points, and provides a mashup program, a mashup device, and a mashup method for transferring a function of an arbitrary resource on a network to a new resource formed by mashup. The purpose is to provide.

本発明の一実施形態は、切り取り元のWeb資源から切り取った部分を貼り付け先のWeb資源に貼り付けるコンピュータを動作させるマッシュアッププログラムであって、前記コンピュータを、切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象のWeb資源の情報とに基づき、前記表示対象のWeb資源を貼り付け情報として含むアノテーション情報を取得するアノテーション情報取得手段と、前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、切り取り元のWeb資源を取得する切り取り元取得手段と、前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、前記切り取り元取得手段が取得した切り取り元のWeb資源から切り取るべき断片を切り取る切り取り手段と、前記切り取り手段が切り取った断片を貼り付け先のWeb資源の環境に適合するように正規化する正規化手段と、前記正規化手段により正規化された前記断片を、前記アノテーション情報取得手段が取得したアノテーション情報に含まれる貼り付け情報に基づき、表示対象のWeb資源に貼り付ける貼り付け手段として動作させる。   One embodiment of the present invention is a mashup program for operating a computer for pasting a portion cut from a cut-off Web resource to a paste-destination Web resource, wherein the cut-off information and the paste information are An annotation information acquisition unit that acquires annotation information including the display target Web resource as pasting information based on the associated annotation information and the information of the display target Web resource, and the annotation information acquisition unit acquires Based on the cutting information included in the annotation information, the cutting source acquisition unit that acquires the Web resource of the cutting source, and the cutting source acquisition unit acquires based on the cutting information included in the annotation information acquired by the annotation information acquisition unit Cut from Cutout means for cutting out a piece to be cut out from a Web resource, normalization means for normalizing the piece cut out by the cutout means so as to be compatible with the environment of the Web resource to be pasted, and normalized by the normalization means Based on the pasting information included in the annotation information acquired by the annotation information acquiring unit, the fragment is operated as a pasting unit that pastes it on the Web resource to be displayed.

なお、本発明の一実施形態の構成要素、表現又は構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。   In addition, what applied the component, the expression, or the arbitrary combinations of the component of one Embodiment of this invention to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc. is also effective as an aspect of this invention. .

本発明の一実施形態によれば、ネットワーク上の任意の資源の機能をマッシュアップにより形成した新たな資源に引き継がせるマッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法を提供できる。   According to an embodiment of the present invention, it is possible to provide a mashup program, a mashup device, and a mashup method that allow a function of an arbitrary resource on a network to be transferred to a new resource formed by mashup.

本実施例によるマッシュアップ方法の一例の説明図である。It is explanatory drawing of an example of the mashup method by a present Example. 本実施例の課題を具体的に説明する為の説明図である。It is explanatory drawing for demonstrating the subject of a present Example concretely. プログラム呼び出し変換部の一例の構成図である。It is a block diagram of an example of a program call conversion part. プログラム呼び出し変換部が行う処理を説明する為の説明図である。It is explanatory drawing for demonstrating the process which a program call conversion part performs. 貼り付け先のWebページの一例のイメージ図である。It is an image figure of an example of the web page of a paste destination. 切り取り元のWebページの一例のイメージ図である。It is an image figure of an example of the Web page of cut origin. 赤枠により一部分が指定されたWebページの一例のイメージ図である。It is an image figure of an example of the web page in which a part was specified by the red frame. 切り取り元のWebページから切り取られた部分が貼り付けられた貼り付け先のWebページの一例のイメージ図である。It is an image figure of an example of the web page of the paste destination where the part cut from the web page of cut origin was pasted. 検索窓に「SaaS」と入力されたときWebページの一例のイメージ図である。It is an image figure of an example of a Web page when "SaaS" is input into the search window. 切り取り元のWebページによる検索結果が表示された貼り付け先のWebページの一例のイメージ図である。It is an image figure of an example of the Web page of the paste destination where the search result by the Web page of cut origin was displayed. 検索窓に「特許庁」と入力されたときWebページの一例のイメージ図である。It is an image figure of an example of a Web page when "patent office" is input into a search window. 切り取り元のWebページによる検索結果が表示された貼り付け先のWebページの一例のイメージ図である。It is an image figure of an example of the Web page of the paste destination where the search result by the Web page of cut origin was displayed. 切り取り元のWebページによる検索結果が表示された貼り付け先のWebページの一例のイメージ図である。It is an image figure of an example of the Web page of the paste destination where the search result by the Web page of cut origin was displayed. 本実施例のマッシュアップ装置を含むシステムの一実施例の構成図である。It is a block diagram of one Example of the system containing the mashup apparatus of a present Example. コンピュータシステムの一例の構成図である。It is a block diagram of an example of a computer system. 本実施例のマッシュアッププログラムを適用したWeb閲覧器の一例の構成図である。It is a block diagram of an example of the web browsing device to which the mashup program of a present Example is applied. Webマッシュアップ実現装置の処理を表したフローチャートである。It is a flowchart showing the process of the web mashup realization apparatus. 木構造の一例の構成図である。It is a block diagram of an example of a tree structure. アノテーション情報の一例の構成図である。It is a block diagram of an example of annotation information. 木構造の一例の構成図である。It is a block diagram of an example of a tree structure. 木構造上における切り取り位置を示した一例の構成図である。It is a block diagram of an example which showed the cutting position on a tree structure. HTMLテキストにおける切り出し位置を示した一例の構成図である。It is a block diagram of an example which showed the cutout position in an HTML text. 木構造上における貼り付け位置を示した一例の構成図である。It is a block diagram of an example which showed the sticking position on a tree structure. 切り取り元選定部の処理を表したフローチャートである。It is a flowchart showing the process of the cutting source selection part. 貼り付け先選定部の処理を表したフローチャートである。It is a flowchart showing the process of the attachment destination selection part. 範囲提示選定部の処理を表したフローチャートである。It is a flowchart showing the process of the range presentation selection part. 正規化部の処理を表したフローチャートである。It is a flowchart showing the process of the normalization part. 文字符号化方式の変換処理を表したフローチャートである。It is a flowchart showing the conversion process of the character encoding system. 絶対パスの変換処理を表したフローチャートである。It is a flowchart showing the conversion process of the absolute path. プログラム呼び出し変換処理を表したフローチャートである。It is a flowchart showing a program call conversion process.

次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では、ネットワーク上の資源の一例としてWebページを例に説明する。   Next, modes for carrying out the present invention will be described based on the following embodiments with reference to the drawings. In this embodiment, a Web page will be described as an example of a resource on the network.

(本実施例の概要)
本実施例は、Webページが自由に改変できない環境下において、第1のWebページの画面上の指定領域に対して、第2のWebページのWeb構造上での位置情報を保持しておく。本実施例は、第1のWebページにアクセスしたときに、保持しておいた第2のWeb構造上の位置情報から現在の第2のWebページの情報を切り取り、第1のWebページに貼り付けたときにリンクやプログラムが正しく動作するように正規化をして現在アクセスしている第1のWebページに埋め込む。本実施例は第1のWebページにアクセスしたとき、第2のWebページの情報も埋め込んで表示することを実現した。
(Overview of this example)
In this embodiment, in an environment where the Web page cannot be freely modified, position information on the Web structure of the second Web page is held in a designated area on the screen of the first Web page. In this embodiment, when the first web page is accessed, the information on the current second web page is cut out from the position information on the second web structure that is held and pasted on the first web page. When it is attached, it is normalized so that the link or program operates correctly, and is embedded in the first Web page currently accessed. In this embodiment, when the first web page is accessed, the information of the second web page is also embedded and displayed.

なお、従来技術では、任意のWebページの情報を切り取って、新しいWebページに貼り付けたとしても、任意のWebページの機能を、あたかも新しいWebページの機能として、そのまま引き継ぐことができなかった。   In the prior art, even if information on an arbitrary Web page is cut out and pasted on a new Web page, the function of the arbitrary Web page cannot be taken over as it is as a function of the new Web page.

特に、検索窓のようなフォーム入力から、あるプログラムPを呼び出すといった部分を任意のWebページから切り取った場合、切り取った部分の文字符号化方式を正規化するだけでは、貼り付け先の新しいWebページおいて、フォーム入力した文字列によってプログラムPが呼び出されてしまう。したがって、検索窓のようなフォーム入力から、あるプログラムPを呼び出すといった部分を任意のWebページから切り取った場合は、引数が貼り付け先の新しいWebページの文字符号化方式によってプログラムPに与えられてしまい、正しい結果が得られないという問題があった。   In particular, when a part of calling a certain program P from a form input such as a search window is cut out from an arbitrary Web page, simply normalizing the character encoding method of the cut out part, a new Web page to be pasted In this case, the program P is called by the character string entered in the form. Therefore, when a part of calling a certain program P from a form input such as a search window is cut from an arbitrary Web page, the argument is given to the program P by the character encoding method of the new Web page to be pasted. Therefore, there was a problem that a correct result could not be obtained.

すなわち、WebページやWebページから呼び出されるプログラム自身を書き換えることのできない環境下で、ある任意のWebページに提供されている情報提供や検索などの機能を、単に切り貼りするだけで別のWebページ上でも情報提供や検索などの機能を正しく実現することが課題となっていた。   In other words, in an environment where a web page or a program called from a web page cannot be rewritten, functions such as information provision and search provided on an arbitrary web page can be simply cut and pasted on another web page. However, it has been an issue to correctly realize functions such as information provision and search.

この課題を解決する方法として、本実施例では、任意のWebページの画面上の部分を切り取って(切り取り位置を取得して)、その位置情報を保持しておく。本実施例では指定された他のWebページにアクセスしたときに、切り取った任意のWebページ上の位置情報から現在の任意のWebページ上の情報を切り取り、貼り付ける他のWebページに合うように正規化を行って、現在アクセスしている他のWebページに一時的に埋め込む。このように、本実施例では、他のWebページにアクセスしたとき、任意のWebページ(複数のWebページであってもよい)の機能をそのままに、マッシュアップさせることを実現する。   As a method for solving this problem, in this embodiment, a portion of an arbitrary Web page on the screen is cut out (a cutting position is acquired), and the position information is held. In this embodiment, when accessing a specified other Web page, the information on the current arbitrary Web page is cut from the position information on the cut arbitrary Web page so that it matches the other Web page to be pasted. Normalize and temporarily embed in other currently accessed web pages. As described above, in this embodiment, when another web page is accessed, the function of an arbitrary web page (which may be a plurality of web pages) is kept as it is and mashed up.

図1は本実施例によるマッシュアップ方法の一例の説明図である。マッシュアップ(切り貼り)する情報は、切り取り元の所在情報(URI)、切り取り元の構造位置(例えばXPathなど)の切り取り情報と、貼り付け先の所在情報(URI)、貼り付け先の構造位置(例えばXPathなど)の貼り付け情報とを含むアノテーション情報1としてあらかじめデータベース(DB)等に登録されているものとする。所在情報(URI)2は現在注目している(表示しようとしている)Webページのものである。   FIG. 1 is an explanatory diagram of an example of a mashup method according to this embodiment. The information to be mashed up (cut and pasted) includes location information (URI) of the cut source, cut information of the structure position of the cut source (for example, XPath), location information (URI) of the paste destination, and the structure position of the paste destination ( It is assumed that the annotation information 1 including the pasting information (for example, XPath) is registered in advance in a database (DB) or the like. The location information (URI) 2 is that of the Web page that is currently focused on (to be displayed).

アノテーション情報取得部3は現在注目しているWebページの所在情報を貼り付け先の所在情報とするアノテーション情報1を取得する。アノテーション情報取得部3が取得したアノテーション情報1には、何をマッシュアップするかの情報、すなわち、切り取り元の所在情報、切り取り元の構造位置が含まれる。したがって、切り取り元取得部4はアノテーション情報1に基づき、ネットワークから切り取り元の所在情報の切り取り元資源(Webページ)5を取得する。   The annotation information acquisition unit 3 acquires the annotation information 1 having the location information of the Web page currently focused on as the pasting location information. The annotation information 1 acquired by the annotation information acquisition unit 3 includes information on what is to be mashed up, that is, location information of the cutting source and a structure position of the cutting source. Therefore, the cut source acquisition unit 4 acquires the cut source resource (Web page) 5 of the location information of the cut source from the network based on the annotation information 1.

切り取り部6は切り取り元取得部4が取得したWebページを解析し、アノテーション情報1に含まれる切り取り元の構造位置の情報に基づいて、切り取り元取得部4が取得したWebページから切り取るべき断片(HTML断片)を切り取る。   The cutting unit 6 analyzes the Web page acquired by the cutting source acquisition unit 4, and based on the information on the structure position of the cutting source included in the annotation information 1, a fragment (to be cut from the Web page acquired by the cutting source acquisition unit 4 ( HTML fragment) is cut out.

正規化部7は切り取り部6が切り取ったHTML断片を、貼り付け先のWebページの環境に適合するように正規化する。具体的に、正規化としては、(1)切り取られた部分の文字符号化方式と貼り付け先の文字符号化方式とを推測し、切り取られた部分の文字符号化方式を貼り付け先の文字符号化方式に変換する文字符号化方式変換と、(2)切り取られた部分のデータ中にあるリンク、画像、プログラム等の中で相対パスにより記述されたURIを絶対パスに変換する絶対パス変換と、を行う。さらに、切り取られた部分にプログラムの呼び出しを含む場合には、プログラム呼び出し変換部8が、後述するようなプログラム呼び出し変換も行う。   The normalization unit 7 normalizes the HTML fragment cut out by the cut-out unit 6 so as to be compatible with the environment of the Web page to be pasted. Specifically, as normalization, (1) the character encoding method of the clipped portion and the character encoding method of the pasting destination are estimated, and the character encoding method of the cut portion is pasted. Character encoding system conversion to convert to encoding system, and (2) Absolute path conversion to convert URI described by relative path in the clip, data, program, etc. into relative path And do. Further, when the cut portion includes a program call, the program call conversion unit 8 also performs program call conversion as described later.

貼り付け部9はアノテーション情報1に記述された貼り付け情報に基づき、正規化された断片を現在注目している(表示しようとしている)Webページに適切な形式で貼り付ける。具体的に貼り付け部9は現在注目しているWebページである貼り付け先資源10の埋め込むべき構造位置に、適切な表示形式で表示されるようなHTML断片として埋め込む(木構造上で接ぎ木する)。なお、埋め込むと言っても表示上では浮き上がっているようなものでも構わない(HTML上では、どこかに埋め込まれていることになる)。   Based on the pasting information described in the annotation information 1, the pasting unit 9 pastes the normalized fragment to the Web page that is currently focused on (to be displayed) in an appropriate format. Specifically, the pasting unit 9 embeds an HTML fragment that is displayed in an appropriate display format at a structure position to be embedded in the paste destination resource 10 that is the Web page of interest (currently grafting on the tree structure). ). Note that even if it is embedded, it may be floating on the display (it is embedded somewhere on the HTML).

貼り付け部9は、正規化されたHTML断片が埋め込まれたHTML(切り取り元のWebページの木構造が接ぎ木された木構造)をマッシュアップ結果データ11として出力する。このデータ(木構造)は、一般的にWeb閲覧器のレンダリングエンジンによってレンダリングされる。レンダリングエンジンは現在注目しているWebページに切り取り元の情報や機能を貼り付けて表示する。   The pasting unit 9 outputs, as mashup result data 11, HTML in which the normalized HTML fragment is embedded (a tree structure in which the tree structure of the Web page to be cut is grafted). This data (tree structure) is generally rendered by a rendering engine of a web browser. The rendering engine pastes and displays the information and function of the cut-out source on the currently focused Web page.

なお、Webページを解釈してディスプレイに表示(あるいはプリンタに出力、音声によって読み上げ)したり、リンクを辿る機能を持つソフトウェアは、ウェブブラウザ(インターネットブラウザ、WWWブラウザ、あるいは単にブラウザ)、Web閲覧ソフトなどとも呼ばれるが、本明細書ではWeb閲覧器と称するものとする。   Software that can interpret web pages and display them on the display (or output them to a printer, read them out by voice) and follow links is a web browser (Internet browser, WWW browser, or simply browser), web browsing software In this specification, it is called a web browsing device.

なお、実際にはアノテーション情報1を作成する(切り取る情報を指定する切り取り情報と、切り取った情報の貼り付け先を指定する貼り付け情報とを設定する)切り貼り情報設定部が別にある。   Actually, there is a cut and paste information setting unit that creates annotation information 1 (sets cut information for specifying cut information and paste information for specifying a paste destination of cut information).

本実施例によるマッシュアップ方法では、切り取った情報の内容自身ではなく、切り取り元の所在情報及び構造位置と、貼り付け先の所在情報及び構造位置とがアノテーション情報1としてDBに格納されている。以上のように、本実施例によるマッシュアップ方法では、Webページ上の画面を切り取って、切り取り元の所在情報及び構造位置を保持しておく。   In the mashup method according to the present embodiment, the location information and structure position of the cut source, and the location information and structure position of the paste destination are stored as annotation information 1 in the DB, not the content of the cut information itself. As described above, in the mashup method according to the present embodiment, the screen on the Web page is cut and the location information and the structure position of the cut source are held.

本実施例によるマッシュアップ方法では、指定された他のWebページにアクセスしたときに、切り取ったWebページの所在情報及び構造位置から現在の切り取り元のWebページの情報を取り出す。本実施例のマッシュアップ方法では、取り出した現在の切り取り元のWebページの情報を貼り付け先のWebページに合うように正規化し、現在アクセスしているWebページに一時的に埋め込むことで、複数のWebページの機能をそのままに、マッシュアップさせることを実現した。   In the mashup method according to the present embodiment, when accessing another designated web page, information on the web page that is currently cut out is extracted from the location information and the structure position of the cut web page. In the mashup method of the present embodiment, the information of the extracted current web page of the cut-out is normalized so as to match the paste-destination web page, and temporarily embedded in the currently accessed web page. It was possible to mash up the web page functions as they were.

図2は本実施例の課題を具体的に説明する為の説明図である。WebページJは文字符号化方式Aによって記述されている。WebページJはユーザからの入力を受け付ける窓21があり、窓21にテキストが入力されてボタンクリックなどのアクションが行われることで、プログラムPを呼び出すようになっている。窓21に入力されたテキストXは文字符号化方式AとしてプログラムPに渡される。プログラムPはテキストXを文字符号化方式Aであるとして処理する。   FIG. 2 is an explanatory diagram for specifically explaining the problem of this embodiment. The web page J is described by the character encoding method A. The web page J has a window 21 that receives input from the user, and the program P is called when an action such as a button click is performed by inputting text into the window 21. The text X input to the window 21 is passed to the program P as the character encoding method A. The program P processes the text X on the assumption that it is the character encoding method A.

ここでは、窓21にテキストXが入力されるとプログラムPを呼び出すWebページJのHTML断片が切り取られ、切り取られたHTML断片が文字符号化方式BであるWebページKに埋め込まれたとする。   Here, it is assumed that the HTML fragment of the Web page J that calls the program P when the text X is input to the window 21 is cut out and embedded in the Web page K that is the character encoding method B.

正規化部7による正規化により、WebページJのHTML断片は文字符号化Bに変換されて埋め込まれるので、WebページKの上で正しく表示される。また、正規化部7による正規化により、WebページJのHTML断片は絶対パス変換が行われるので、入力窓22にテキストXが入力されるとプログラムPを呼び出すことができる。   As a result of normalization by the normalization unit 7, the HTML fragment of the Web page J is converted into the character encoding B and embedded, so that it is correctly displayed on the Web page K. Further, since the HTML fragment of the Web page J is subjected to absolute path conversion by normalization by the normalization unit 7, the program P can be called when the text X is input to the input window 22.

しかし、窓22に入力されるテキストXはWebページKの文字符号化方式である文字符号化方式Bのテキストであり、文字符号化方式BのテキストXがプログラムPに渡されることになる。   However, the text X input to the window 22 is the text of the character encoding method B that is the character encoding method of the Web page K, and the text X of the character encoding method B is passed to the program P.

文字符号化方式AとBとが同じである場合や、プログラムPが文字符号化方式Bにも対応できているような場合は別として、プログラムPはテキストXを文字符号化方式Aとして処理してしまう。したがって、プログラムPは意図どおりに実行されない。   The program P processes the text X as the character encoding method A, except when the character encoding methods A and B are the same or when the program P is also compatible with the character encoding method B. End up. Therefore, the program P is not executed as intended.

図2に示した本実施例の課題は、図1のプログラム呼び出し変換部8を図3のように構成することで解決できる。図3はプログラム呼び出し変換部の一例の構成図である。図1のプログラム呼び出し変換部8は、フォーム入力存在確認部31,切り取り元文字コード確認部32,貼り付け先文字コード確認部33,ラッパプログラム生成部34,プログラム呼び出し書換部35を有する。   The problem of this embodiment shown in FIG. 2 can be solved by configuring the program call conversion unit 8 of FIG. 1 as shown in FIG. FIG. 3 is a block diagram of an example of a program call conversion unit. The program call conversion unit 8 in FIG. 1 includes a form input presence confirmation unit 31, a cut-out source character code confirmation unit 32, a pasting destination character code confirmation unit 33, a wrapper program generation unit 34, and a program call rewrite unit 35.

フォーム入力存在確認部31は、フォーム入力をしてプログラムPを呼び出す部分が切り取った部分に存在するかを確認する。切り取り元文字コード確認部32は、切り取り元の文字符号化方式を確認する。貼り付け先文字コード確認部33は、貼り付け先の文字符号化方式を確認する。フォーム入力存在確認部31,切り取り元文字コード確認部32及び貼り付け先文字コード確認部33の処理は並行して行われる。   The form input existence confirmation unit 31 confirms whether or not the part where the form is input and the program P is called exists in the cut-out part. The cut source character code confirmation unit 32 confirms the character encoding method of the cut source. The pasting destination character code confirmation unit 33 confirms the pasting character encoding method. The processing of the form input presence confirmation unit 31, the cut-out source character code confirmation unit 32, and the pasting destination character code confirmation unit 33 is performed in parallel.

切り取った部分にフォーム入力があり、フォーム入力を引数としてプログラムPを呼び出しているならば、ラッパプログラム生成部34は引数を切り取り元の文字符号化方式に変換して元のプログラムPを呼び出すラッパプログラムP′を生成する。プログラム呼び出し書換部35は切り取った部分に含まれるプログラムPを呼び出す部分を、ラッパプログラムP′を呼び出すように書き換える。   If there is a form input in the cut portion and the program P is called with the form input as an argument, the wrapper program generation unit 34 cuts the argument into the original character encoding method and calls the original program P P ′ is generated. The program call rewriting unit 35 rewrites the part that calls the program P included in the cut part so as to call the wrapper program P ′.

プログラム呼び出し変換部8が行う処理は例えば図4に示すようになる。図4はプログラム呼び出し変換部が行う処理を説明する為の説明図である。ラッパプログラム生成部34は切り取った部分に含まれるプログラムPで利用する引数のすべてを文字符号化方式Bから文字符号化方式Aに変換して元のプログラムPを呼び出すラッパプログラムP′を生成する。また、プログラム呼び出し書換部35は切り取った部分に含まれるプログラムPを呼び出す部分を、ラッパプログラムP′を呼び出すように書き換える。   The processing performed by the program call conversion unit 8 is as shown in FIG. 4, for example. FIG. 4 is an explanatory diagram for explaining processing performed by the program call conversion unit. The wrapper program generation unit 34 converts all of the arguments used in the program P included in the cut portion from the character encoding method B to the character encoding method A, and generates a wrapper program P ′ that calls the original program P. Further, the program call rewriting unit 35 rewrites the part that calls the program P included in the cut part so as to call the wrapper program P ′.

これにより、本実施例ではラッパプログラムP′が生成されるとともに、プログラムPを呼び出す部分がラッパプログラムP′を呼び出すように書き換えられる。本実施例では入力窓22にテキストXが入力されてボタンクリックなどのアクションが行われることにより、プログラムPが直接呼び出されるのではなく、プログラムP′が呼び出され、テキストXが文字符号化方式Bから文字符号化方式Aに変換されたあと、プログラムPが呼び出されるので、意図したどおりの結果が得られることになる。   As a result, in this embodiment, the wrapper program P ′ is generated and the part that calls the program P is rewritten so as to call the wrapper program P ′. In this embodiment, when the text X is input to the input window 22 and an action such as a button click is performed, the program P is not called directly, but the program P ′ is called and the text X is converted into the character encoding method B. Since the program P is called after being converted to the character encoding method A, the intended result is obtained.

なお、上記ではフォーム入力としたが、擬似的なフォーム入力(利用者が窓からテキストを入力するのではなく、あらかじめテキストが与えられていたり、何らかの処理結果によってテキストが生成されてプログラムに渡されたりするもの)も含むものとする。   In the above, form input is used, but pseudo form input (the user does not input text from the window, text is given in advance, or text is generated by some processing result and passed to the program. Etc.).

ここでは、本実施例によるマッシュアップ方法を具体的なWebページを参照しつつ説明する。図5は貼り付け先のWebページの一例のイメージ図である。図6は切り取り元のWebページの一例のイメージ図である。図6の切り取り元のWebページは検索窓の部分61を有する。ユーザはシステムがWebページ上で提示する例えば赤枠を移動させて適切な部分を選択し、所定のコマンド(ctrl−c)等でWebページ上の部分を切り取る。   Here, the mashup method according to the present embodiment will be described with reference to a specific Web page. FIG. 5 is an image diagram of an example of a Web page to be pasted. FIG. 6 is an image diagram of an example of a Web page to be cut out. The cut-out Web page in FIG. 6 has a search window portion 61. The user moves a red frame, for example, displayed on the Web page by the system, selects an appropriate part, and cuts out the part on the Web page with a predetermined command (ctrl-c) or the like.

図7は赤枠により一部分が指定されたWebページの一例のイメージ図である。図7のWebページは赤枠71により検索窓の部分61が指定されている。ユーザは図7の状態でWebページ上の部分を切り取る所定のコマンドを入力することにより、切り取り元のWebページから検索窓の部分61を切り取ることができる。   FIG. 7 is an image diagram of an example of a Web page partially designated by a red frame. In the Web page of FIG. 7, a search window portion 61 is designated by a red frame 71. The user can cut out the search window portion 61 from the cut-out Web page by inputting a predetermined command for cutting out the portion on the Web page in the state of FIG.

ユーザはシステムがWebページ上で提示する例えば赤枠を移動させて適切な部分を選択し、所定のコマンド(ctrl−v)等でWebページ上の部分に貼り付ける。図8は切り取り元のWebページから切り取られた部分が貼り付けられた貼り付け先のWebページの一例のイメージ図である。   The user moves, for example, a red frame that the system presents on the Web page, selects an appropriate part, and pastes it on a part on the Web page with a predetermined command (ctrl-v) or the like. FIG. 8 is an image diagram of an example of a pasting Web page to which a portion cut from the original Web page has been pasted.

図8のWebページは赤枠81により貼り付け部分が指定されている。ユーザはWebページ上の部分に貼り付ける所定のコマンドを入力することにより、切り取り元のWebページから切り取った検索窓の部分61を貼り付け先のWebページに貼り付けることができる。図8のWebページは図7に示す切り取り元のWebページの検索窓の部分61が赤枠81により指定された貼り付け部分に埋め込まれている。   The web page in FIG. 8 has a pasted portion designated by a red frame 81. The user can paste a search window portion 61 cut from the cut-out web page to the paste-destination Web page by inputting a predetermined command to be pasted on the web page. In the Web page of FIG. 8, the search window portion 61 of the cut-out Web page shown in FIG. 7 is embedded in the pasting portion designated by the red frame 81.

ここでは図8のWebページに埋め込まれた検索窓にテキストを入力したときの処理について説明する。図9は、検索窓に「SaaS」と入力されたときWebページの一例のイメージ図である。   Here, a process when text is input to the search window embedded in the Web page of FIG. 8 will be described. FIG. 9 is an image diagram of an example of a Web page when “SaaS” is entered in the search window.

ユーザは図9の状態で検索ボタン91をクリックすることにより、切り取り元のWebページによる検索結果を貼り付け先のWebページに表示できる。図10は切り取り元のWebページによる検索結果が表示された貼り付け先のWebページの一例のイメージ図である。   By clicking the search button 91 in the state shown in FIG. 9, the user can display the search result of the cut-out web page on the paste-destination web page. FIG. 10 is an image diagram of an example of a pasting-destination Web page on which a search result by the cut-out source Web page is displayed.

また、ここでは図8のWebページに埋め込まれた検索窓にテキストを入力したときの処理について説明する。図11は、検索窓に「特許庁」と入力されたときWebページの一例のイメージ図である。   Here, processing when text is input to the search window embedded in the Web page of FIG. 8 will be described. FIG. 11 is an image diagram of an example of a Web page when “JPO” is entered in the search window.

ユーザは図11の状態で検索ボタン91をクリックすることにより、切り取り元のWebページによる検索結果を貼り付け先のWebページに表示できる。図12は切り取り元のWebページによる検索結果が表示された貼り付け先のWebページの一例のイメージ図である。   By clicking the search button 91 in the state shown in FIG. 11, the user can display the search result of the cut-out web page on the paste-destination web page. FIG. 12 is an image diagram of an example of a pasting-destination web page on which a search result by the cut-out web page is displayed.

貼り付け先のWebページの文字符号化方式が「Shift−JIS」、切り取り元のWebページの文字符号化方式が「UTF−8」である場合、図1のプログラム呼び出し変換部8の処理が無ければ、検索窓に入力された「特許庁」という文字列は文字化けして正しく伝わらない。ユーザは図12に示すように、切り取り元のWebページによる正しい検索結果を貼り付け先のWebページに表示できない。   If the character encoding method of the Web page to be pasted is “Shift-JIS” and the character encoding method of the Web page to be cut is “UTF-8”, the processing of the program call conversion unit 8 in FIG. For example, the character string “Patent Office” entered in the search window is garbled and cannot be transmitted correctly. As shown in FIG. 12, the user cannot display the correct search result of the cut-out web page on the paste-destination web page.

一方、図1のプログラム呼び出し変換部8の処理が有れば、検索窓に入力された「特許庁」という文字列は文字化けせず、正しく伝わる。ユーザは図13に示すように、切り取り元のWebページによる正しい検索結果を貼り付け先のWebページに表示することができる。図13は切り取り元のWebページによる検索結果が表示された貼り付け先のWebページの一例のイメージ図である。   On the other hand, if the processing of the program call conversion unit 8 in FIG. 1 is present, the character string “JPO” input in the search window is not garbled and is correctly transmitted. As shown in FIG. 13, the user can display the correct search result of the cut-out web page on the paste-destination web page. FIG. 13 is an image diagram of an example of a pasting destination Web page on which a search result by the cutting source Web page is displayed.

なお、上記の処理では切り取り元のWebページ及び貼り付け先のWebページに何ら手を加えていない。本実施例によるマッシュアップ方法のポイントは、切り取り元のWebページ上の画面(上記では検索窓の部分61)を切り取って、その検索窓の部分61の位置情報を保持しておく。   In the above processing, no changes are made to the cut-out web page and the paste-destination web page. The point of the mashup method according to the present embodiment is that the screen (the search window portion 61 in the above) on the cut-out Web page is cut and the position information of the search window portion 61 is held.

貼り付け先のWebページにアクセスしたとき、本実施例によるマッシュアップ方法は切り取り元のWebページの位置情報(検索窓のあるXPath)から、その部分のHTML断片を切り取る。本実施例によるマッシュアップ方法は切り取ったHTML断片を貼り付け先のWebページ用に正規化(文字符号化方式をUTF−8からShift−JISに変換)する。本実施例によるマッシュアップ方法は、貼り付け先のWebページを表示する際、指定された位置にHTML断片を埋め込むことで、画面のマッシュアップを実現している。   When accessing the Web page to be pasted, the mashup method according to the present embodiment cuts out the HTML fragment of the portion from the position information (XPath with the search window) of the Web page to be cut out. In the mashup method according to the present embodiment, the cut HTML fragment is normalized for the Web page to be pasted (the character encoding method is converted from UTF-8 to Shift-JIS). The mashup method according to the present embodiment realizes mashup of a screen by embedding an HTML fragment at a designated position when displaying a pasted Web page.

本実施例によるマッシュアップ方法は、スナップショット(画像)の切り貼りではないため、検索窓にテキストを入力すれば、切り取り元のWebページの検索プログラムが動いて検索結果を貼り付け先のWebページに表示する。   Since the mashup method according to the present embodiment is not cutting and pasting snapshots (images), if a text is entered in the search window, the search program for the cut-off web page moves and the search result is pasted to the paste-destination web page. indicate.

また、本実施例によるマッシュアップ方法ではフォーム入力からプログラムPを呼び出す際に、ラッパプログラムP′を呼び出すように変換する。ラッパプログラムP′は文字符号化方式を相手の文字符号化方式に変換してから相手のプログラムPを呼び出す。このように、本実施例によるマッシュアップ方法では文字符号化方式が異なっている2つのWebページのマッシュアップにおけるプログラム連携も正しく行うことができる。   In the mashup method according to the present embodiment, when the program P is called from the form input, the wrapper program P ′ is called. The wrapper program P ′ calls the partner program P after converting the character encoding method to the partner character encoding method. As described above, in the mashup method according to the present embodiment, it is possible to correctly perform program cooperation in mashup of two Web pages having different character encoding methods.

(本実施例の詳細)
図14は本実施例のマッシュアップ装置を含むシステムの一実施例の構成図である。図14のシステムは、Webマッシュアップ設定装置100,Webマッシュアップ実現装置110,アノテーション管理サーバ120を有している。
(Details of this example)
FIG. 14 is a configuration diagram of an embodiment of a system including the mashup device of the present embodiment. The system in FIG. 14 includes a web mashup setting device 100, a web mashup realization device 110, and an annotation management server 120.

Webマッシュアップ設定装置100はユーザに切り取り部分および貼り付け先を指定させる。Webマッシュアップ実現装置110はユーザに指定された切り取り部分および貼り付け先に基づいたマッシュアップ結果を表示する。アノテーション管理サーバ120はマッシュアップするためのデータを管理する。Webマッシュアップ設定装置100及びWebマッシュアップ実現装置110はWeb閲覧器の拡張機能として実施される。図14ではWebマッシュアップ設定装置100とWebマッシュアップ実現装置110とを分けているが、一つのWeb閲覧器の拡張機能として同時に実現してもよい。   The web mashup setting apparatus 100 allows the user to specify a cutout part and a pasting destination. The web mashup realizing apparatus 110 displays the mashup result based on the cut portion and the pasting destination designated by the user. The annotation management server 120 manages data for mashup. The web mashup setting device 100 and the web mashup realizing device 110 are implemented as an extended function of the web browsing device. In FIG. 14, the Web mashup setting device 100 and the Web mashup realization device 110 are separated, but they may be realized simultaneously as an extended function of one Web browsing device.

Webマッシュアップ設定装置100は、Web閲覧器101,切り取り元選定部102,範囲提示選定部103,貼り付け先選定部104,アノテーション管理部105を有する。   The web mashup setting apparatus 100 includes a web browsing device 101, a cutting source selection unit 102, a range presentation selection unit 103, a paste destination selection unit 104, and an annotation management unit 105.

範囲提示選定部103は、通常のWeb閲覧器101によるWebページの表示においてユーザの特定の操作を受けることで、切り取り範囲や貼り付け先の位置の候補をユーザのキーボードやマウス操作などによって提示する。範囲提示選定部103は、指定された操作(例えばctrl−cやctrl−v)によって現在表示されている範囲に相当する木構造上の位置を返す。   The range presentation selection unit 103 presents a user's specific operation in the display of the Web page by the normal Web browsing device 101, thereby presenting the cutting range and the paste destination position candidate by the user's keyboard or mouse operation. . The range presentation selection unit 103 returns a position on the tree structure corresponding to the currently displayed range by a designated operation (for example, ctrl-c or ctrl-v).

切り取り元選定部102はユーザの特定の操作によって切り取り候補の提示・取得作業を開始し、指示された範囲の切り取りを行う(実際には切り取り位置を取得する)。貼り付け先選定部104はユーザの特定の操作(例えば切り取り終了や特定のキー操作)によって貼り付け候補の提示・取得作業を開始し、指示された位置を貼り付け先と決定(実際には貼り付け位置を取得する)し、切り取り情報(切り取ったWebページのURIと切り取った部分のXPath)と貼り付け情報(貼り付けるWebページのURIである貼り付け先URIと貼り付け位置のXPath)とをセットとしてアノテーション管理部105に渡す。   The cut source selection unit 102 starts presenting and acquiring cut candidates by a specific operation of the user, and cuts the designated range (actually acquires the cut position). The pasting destination selection unit 104 starts presenting and obtaining pasting candidates by a user's specific operation (for example, cutting end or specific key operation), and determines the instructed position as a pasting destination (actually pasting) The cut-out information (URI of the cut Web page and the XPath of the cut-out portion) and the paste information (the paste-destination URI that is the URI of the Web page to be pasted and the XPath of the paste position) are obtained. A set is passed to the annotation management unit 105.

アノテーション管理部105は与えられた切り取り情報と貼り付け情報とをセットにしたアノテーション情報の登録をアノテーション管理サーバ120に依頼する。なお、切り取りから貼り付けの間にはWeb閲覧器101による一般的なWebページ間の移動やWebページ内での移動などが行われる。   The annotation management unit 105 requests the annotation management server 120 to register annotation information that is a set of the given cut information and pasting information. It should be noted that during the cutting and pasting, a movement between general Web pages or movement within the Web page by the Web browsing device 101 is performed.

Web閲覧器101による一般的なWebページ間の移動やWebページ内での移動などの作業が一連の作業として行われることを前提とする場合は、切り取り情報を一時的にメモリに保持しても良いが、切り取り作業の終了時に切り取り情報を外部のファイルに書き込み、貼り付け作業の開始時に適切な切り取り情報を外部のファイルから取り出すという形態でも良い。   When it is assumed that operations such as general movement between Web pages by the Web browsing device 101 and movement within the Web page are performed as a series of operations, the cut information may be temporarily stored in the memory. Although it is good, the cutting information may be written to an external file at the end of the cutting operation and the appropriate cutting information may be taken out from the external file at the start of the pasting operation.

アノテーション管理サーバ120は、アノテーションデータベース管理部121,アノテーションデータベース122を有する。アノテーションデータベース管理部121はWebマッシュアップ設定装置100からの依頼を受け、切り取り情報と貼り付け情報とをセットとしたアノテーション情報をアノテーションデータベース122に登録する。   The annotation management server 120 includes an annotation database management unit 121 and an annotation database 122. In response to a request from the web mashup setting device 100, the annotation database management unit 121 registers annotation information in which the cut information and paste information are set as a set in the annotation database 122.

また、アノテーションデータベース管理部121はWebマッシュアップ実現装置110からの依頼を受け、指定されたURIを貼り付け先URIとして持つアノテーション情報を返す。なお、アノテーション管理サーバ120は、Webマッシュアップ設定装置100及びWebマッシュアップ実現装置110と同一のコンピュータ上に実現しても構わないし、ネットワークを介して繋がった別のコンピュータ上に実現しても構わない。   Also, the annotation database management unit 121 receives a request from the Web mashup realization apparatus 110 and returns annotation information having the specified URI as a pasting destination URI. Note that the annotation management server 120 may be realized on the same computer as the Web mashup setting device 100 and the Web mashup realizing device 110, or may be realized on another computer connected via a network. Absent.

Webマッシュアップ実現装置110は、Web閲覧器111,切り出し情報取得部112,正規化部113,貼り付け位置獲得部114,合成部115,アノテーション管理部116を有する。   The web mashup realizing apparatus 110 includes a web browsing device 111, a cutout information acquisition unit 112, a normalization unit 113, a pasting position acquisition unit 114, a synthesis unit 115, and an annotation management unit 116.

Web閲覧器111は指定されたURIのコンテンツ(Webページ)をネットワークから取り込む。このとき、アノテーション管理部116は指定されたURIに付与されたアノテーション情報をアノテーション管理サーバ120に要求して受け取る。切り出し情報取得部112は受け取ったアノテーション情報の個々について、アノテーション情報に記述された切り取り元のURIをWeb閲覧器111に渡し、切り取り元のURIのコンテンツをネットワークから取り込み、アノテーション情報に記述された切り取り元のXPathの部分(HTML断片)を切り出す。   The web browsing device 111 takes in the content (web page) of the designated URI from the network. At this time, the annotation management unit 116 requests the annotation management server 120 to receive the annotation information given to the designated URI. For each piece of received annotation information, the cutout information acquisition unit 112 passes the URI of the cut source described in the annotation information to the Web browsing device 111, imports the content of the cut source URI from the network, and cuts out the cutout described in the annotation information. Cut out the original XPath part (HTML fragment).

正規化部113は切り出されたHTML断片を、貼り付け先のWebページの環境に適合するように正規化する。貼り付け位置獲得部114はアノテーション情報に記述された貼り付け先のXPathからHTML断片を貼り付ける貼り付け位置を求める。   The normalizing unit 113 normalizes the cut-out HTML fragment so as to be compatible with the environment of the Web page to be pasted. The pasting position acquisition unit 114 obtains a pasting position for pasting the HTML fragment from the pasting XPath described in the annotation information.

合成部115は、貼り付け位置獲得部114が求めた貼り付け位置に正規化されたHTML断片を貼り付ける。なお、正規化されたHTML断片が合成部115により貼り付けられたWebページのDOMツリーは、後述するように、レンダリングエンジンによってレンダリングされて表示される。   The combining unit 115 pastes the normalized HTML fragment at the pasting position obtained by the pasting position acquisition unit 114. Note that the DOM tree of the Web page on which the normalized HTML fragment is pasted by the synthesis unit 115 is rendered and displayed by a rendering engine, as will be described later.

図14のWebマッシュアップ設定装置100,Webマッシュアップ実現装置110及びアノテーション管理サーバ120は、例えば図15に示すコンピュータシステムにより実現できる。   The web mashup setting device 100, the web mashup realization device 110, and the annotation management server 120 in FIG. 14 can be realized by a computer system shown in FIG. 15, for example.

図15はコンピュータシステムの一例の構成図である。コンピュータシステムは、それぞれバスBで相互に接続されている入力装置151,出力装置152,ドライブ装置153,補助記憶装置154,主記憶装置155,演算処理装置156及びインターフェース装置157を有する。   FIG. 15 is a configuration diagram of an example of a computer system. The computer system includes an input device 151, an output device 152, a drive device 153, an auxiliary storage device 154, a main storage device 155, an arithmetic processing device 156, and an interface device 157 that are mutually connected by a bus B.

入力装置151はキーボードやマウス等である。入力装置151は各種信号を入力するために用いられる。出力装置152はディスプレイ装置等である。出力装置152は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置157はモデムやLANカードなどであり、ネットワークに接続する為に用いられる。   The input device 151 is a keyboard or a mouse. The input device 151 is used for inputting various signals. The output device 152 is a display device or the like. The output device 152 is used to display various windows and data. The interface device 157 is a modem, a LAN card, or the like, and is used for connecting to a network.

本実施例のマッシュアッププログラムはWebマッシュアップ設定装置100,Webマッシュアップ実現装置110を制御する各種プログラムに含まれる。マッシュアッププログラムは例えば記録媒体158の配布やネットワークからのダウンロードなどによって提供される。マッシュアッププログラムを記録した記録媒体158は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。   The mashup program of this embodiment is included in various programs for controlling the web mashup setting device 100 and the web mashup realization device 110. The mashup program is provided, for example, by distributing the recording medium 158 or downloading from a network. The recording medium 158 on which the mashup program is recorded is information such as a CD-ROM, a flexible disk, a magneto-optical disk, etc., a recording medium for recording information optically, electrically or magnetically, a ROM, a flash memory, etc. Various types of recording media, such as a semiconductor memory that electrically records data, can be used.

マッシュアッププログラムを記録した記録媒体158がドライブ装置153にセットされると、マッシュアッププログラムは記録媒体158からドライブ装置153を介して補助記憶装置154にインストールされる。   When the recording medium 158 on which the mashup program is recorded is set in the drive device 153, the mashup program is installed from the recording medium 158 to the auxiliary storage device 154 via the drive device 153.

ネットワークからダウンロードされたマッシュアッププログラムはインターフェース装置157を介して補助記憶装置154にインストールされる。補助記憶装置154はインストールされたマッシュアッププログラムを格納すると共に、必要なファイル,データ等を格納する。   The mashup program downloaded from the network is installed in the auxiliary storage device 154 via the interface device 157. The auxiliary storage device 154 stores the installed mashup program and also stores necessary files, data, and the like.

主記憶装置155は、コンピュータの起動時に補助記憶装置154からマッシュアッププログラムを読み出して格納する。そして、演算処理装置156は主記憶装置155に格納されたマッシュアッププログラムに従って、後述の各種処理を実現している。   The main storage device 155 reads out and stores the mashup program from the auxiliary storage device 154 when the computer is activated. The arithmetic processing unit 156 implements various processes described later in accordance with a mashup program stored in the main storage unit 155.

(マッシュアッププログラムがWeb閲覧器に適用された例)
図16は、本実施例のマッシュアッププログラムを適用したWeb閲覧器の一例の構成図である。図16のWeb閲覧器160は、典型的な構成を示したものであり、説明に不要なCSSの処理やPDFプラグイン等の細かい部分を省略している。
(Example of mashup program applied to a web browser)
FIG. 16 is a configuration diagram of an example of a Web browsing device to which the mashup program of the present embodiment is applied. The web browsing device 160 shown in FIG. 16 shows a typical configuration, and details such as CSS processing and PDF plug-in unnecessary for explanation are omitted.

ネットワークを経由して受信されたHTML文書161をHTMLパーサ162は解析して、木構造(DOMツリー)163を生成する。これと同時に、Javascriptエンジン165はHTML文書161中にあったJavascriptプログラム164を実行し、DOMツリー163の中身を書き換える。書き換えられたDOMツリー163はレンダリングエンジン166に送られる。   The HTML parser 162 analyzes the HTML document 161 received via the network, and generates a tree structure (DOM tree) 163. At the same time, the Javascript engine 165 executes the Javascript program 164 in the HTML document 161 and rewrites the contents of the DOM tree 163. The rewritten DOM tree 163 is sent to the rendering engine 166.

レンダリングエンジン166は送られてきたDOMツリー163を画面で見える形に変換する。そして、ユーザインタフェース167を介したユーザの操作等によってJavascriptエンジン165はJavascriptプログラム164に従って、DOMツリー163を書き換え、表示させる内容を変化させる。   The rendering engine 166 converts the received DOM tree 163 into a form that can be seen on the screen. Then, the JavaScript engine 165 rewrites the DOM tree 163 and changes the content to be displayed according to the Javascript program 164 by a user operation or the like via the user interface 167.

マッシュアッププログラム168は、典型的にWeb閲覧器160の中に保持される(すなわち、Web閲覧器160に組込まれる、あるいは機能拡張として付け加えられる形で実現される)。   The mashup program 168 is typically held in the web browser 160 (ie, implemented in a form incorporated into the web browser 160 or added as a function extension).

そして、読み込まれたHTML文書161のJavascriptプログラム164が実行されるのに追加して、マッシュアッププログラム168は実行され、DOMツリー163を書き換える。   Then, in addition to the Javascript program 164 of the read HTML document 161 being executed, the mashup program 168 is executed, and the DOM tree 163 is rewritten.

なお、マッシュアッププログラム168が参照するアノテーションデータベース等のデータはWeb閲覧器160の外部に保持される。マッシュアッププログラム168を保持する別の実施形態としては、読み込まれるHTML文書161に、マッシュアッププログラム168を保持しておくことが考えられる。この実施形態では、適用できるWebページが限定されるが、Web閲覧器160にマッシュアッププログラム168を保持するのと同じ効果を持たせることができる。   Note that data such as an annotation database referred to by the mashup program 168 is held outside the web browsing device 160. As another embodiment for holding the mashup program 168, it is conceivable to hold the mashup program 168 in the HTML document 161 to be read. In this embodiment, applicable Web pages are limited, but the Web browser 160 can have the same effect as holding the mashup program 168.

以下では、図14のシステムにおけるWebマッシュアップ設定装置100及びWebマッシュアップ実現装置110の処理について説明する。   Hereinafter, processing of the web mashup setting device 100 and the web mashup realization device 110 in the system of FIG. 14 will be described.

(Webマッシュアップ実現装置110)
本実施例のマッシュアッププログラム168を組み込んだWeb閲覧器(あるいは一般にWebクライアント)111は図17に示すフローチャートのような動作を行う。図17はWebマッシュアップ実現装置の処理を表したフローチャートである。
(Web Mashup Realization Device 110)
A Web browsing device (or Web client in general) 111 incorporating the mashup program 168 of this embodiment performs an operation as shown in the flowchart of FIG. FIG. 17 is a flowchart showing processing of the Web mashup realizing apparatus.

図17中、ステップS1では、Web閲覧器111が、表示するWebページのURIを受け取る。ステップS2に進み、Web閲覧器111は受け取ったURIで指定されるWebページをネットワークから読み込む。ステップS3に進み、Web閲覧器111は読み込んだWebページをパーサによって解析し、構造を抽出する。抽出された構造は木構造(ツリー)の形をとる(例えばDOMツリー)。   In FIG. 17, in step S1, the web browsing device 111 receives the URI of the web page to be displayed. In step S2, the web browsing device 111 reads the web page specified by the received URI from the network. In step S3, the web browsing device 111 analyzes the read web page with a parser and extracts the structure. The extracted structure takes the form of a tree structure (tree) (for example, a DOM tree).

また、ステップS4に進み、アノテーション管理部116は受け取ったURIをキーとしてアノテーション管理サーバ120にアクセスし、受け取ったURIが貼り付け先に指定されている全てのアノテーション情報を獲得する。そして、Webマッシュアップ実現装置110はステップS4で獲得したアノテーション情報のそれぞれに対してステップS5〜S11までの処理を行う。   In step S4, the annotation management unit 116 accesses the annotation management server 120 using the received URI as a key, and acquires all annotation information in which the received URI is designated as the paste destination. Then, the web mashup realizing apparatus 110 performs the processing from step S5 to step S11 for each piece of annotation information acquired in step S4.

まず、ステップS5に進み、切り出し情報取得部112は受け取ったアノテーション情報に記述された切り取り元のURIを獲得する。ステップS6に進み、切り出し情報取得部112は獲得した切り取り元のURIをWeb閲覧器111に渡し、切り取り元のURIのWebページをネットワークから獲得する。ステップS7に進み、Web閲覧器111は獲得した切り取り元のURIのWebページを、HTMLパーサ162によって解析する。   First, in step S5, the cut-out information acquisition unit 112 acquires the cut-out URI described in the received annotation information. In step S6, the cutout information acquisition unit 112 passes the acquired URI of the cut source to the Web browsing device 111, and acquires the Web page of the cut source URI from the network. In step S 7, the Web browsing device 111 analyzes the acquired Web page of the original URI of the cut-out by the HTML parser 162.

ステップS8に進み、切り出し情報取得部112はアノテーション情報に記述された切り取り元のXPathから切り取り位置を求め、切り取り元のWebページの切り取り位置からHTML断片を取り出す。ステップS9に進み、正規化部113は取り出されたHTML断片を、貼り付け先のWebページの環境に適合するように正規化する。正規化の詳細は後述する。   In step S8, the cutout information acquisition unit 112 obtains a cutout position from the cutout XPath described in the annotation information, and takes out an HTML fragment from the cutout position of the cutout Web page. In step S9, the normalization unit 113 normalizes the extracted HTML fragment so as to be compatible with the environment of the Web page to be pasted. Details of normalization will be described later.

ステップS10に進み、貼り付け位置獲得部114はアノテーション情報に記述された貼り付け先のXPathと、ステップS3で抽出された木構造とに基づき、HTML断片を貼り付ける木構造上の貼り付け位置を獲得する。ステップS11に進み、合成部115は貼り付け位置獲得部114が獲得した貼り付け位置に、正規化されたHTML断片を埋め込む(接ぎ木する)。   In step S10, the paste position acquisition unit 114 determines the paste position on the tree structure to which the HTML fragment is to be pasted based on the XPath of the paste destination described in the annotation information and the tree structure extracted in step S3. To win. In step S11, the synthesis unit 115 embeds (grafts) the normalized HTML fragment at the pasting position acquired by the pasting position acquisition unit 114.

ステップS4で獲得したアノテーション情報のそれぞれに対するステップS5〜S11までの処理が終了すると、Web閲覧器111はステップS12に進み、アノテーション情報のそれぞれのHTML断片が埋め込まれた木構造をレンダリングエンジン166に渡してレンダリングする。   When the processing from step S5 to step S11 for each piece of annotation information acquired in step S4 is completed, the web browsing device 111 proceeds to step S12, and passes the tree structure in which each HTML fragment of the annotation information is embedded to the rendering engine 166. And render.

ここでは、図17のフローチャートに示す処理を具体的な例によって説明する。例えば図8のWebページの例では、Web閲覧器111に貼り付け先のURIとして
「http://www.xxx/cgi/link.cgi?URI=/shiryou/toukei/1402-027.htm」
が与えられる。Web閲覧器111は貼り付け先のURIで与えられるWebページをネットワークから読み込み、パージングを行う。実際に、図8のWebページはcgi形式のプログラムで記述されている。
Here, the process shown in the flowchart of FIG. 17 will be described using a specific example. For example, in the example of the Web page shown in FIG.
Is given. The web browsing device 111 reads a web page given by the URI of the pasting destination from the network and performs parsing. Actually, the Web page of FIG. 8 is described by a cgi format program.

図8のWebページではcgi形式のプログラムが実行されて、図18のような木構造が作成される。図18は木構造の一例の構成図である。なお、図18の木構造は一部省略している。   In the Web page of FIG. 8, a cgi format program is executed to create a tree structure as shown in FIG. FIG. 18 is a configuration diagram of an example of a tree structure. A part of the tree structure in FIG. 18 is omitted.

アノテーション管理部116はアノテーションデータベース122から貼り付け先のURIに
「http://www.xxx/cgi/link.cgi?URI=/shiryou/toukei/1402-027.htm」
を持つ図19のようなアノテーション情報を取り出す。図19はアノテーション情報の一例の構成図である。切り出し情報取得部112はアノテーション情報に記述された切り取り元のURIとして
「http://yyy/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8」
を取り出す。切り出し情報取得部112は取り出した切り取り元のURIをWeb閲覧器111に渡し、図6に示すWebページのコンテンツをネットワークから取得する。Web閲覧器111は取得した図6に示すWebページをパージングして図20のような木構造を作成する。図20は木構造の一例の構成図である。なお、図20の木構造は一部省略している。
The annotation management unit 116 adds “http://www.xxx/cgi/link.cgi?URI=/shiryou/toukei/1402-027.htm” from the annotation database 122 to the destination URI.
Annotation information as shown in FIG. FIG. 19 is a configuration diagram of an example of annotation information. The cutout information acquisition unit 112 uses “http: // yyy / wiki /% E3% 83% A1% E3% 82% A4% E3% 83% B3% E3% 83% 9A” as the URI of the cut source described in the annotation information. % E3% 83% BC% E3% 82% B8 ''
Take out. The cutout information acquisition unit 112 passes the cut-out URI of the cutout to the Web browsing device 111, and acquires the content of the Web page shown in FIG. 6 from the network. The Web browsing device 111 parses the acquired Web page shown in FIG. 6 to create a tree structure as shown in FIG. FIG. 20 is a configuration diagram of an example of a tree structure. Note that a part of the tree structure in FIG. 20 is omitted.

切り出し情報取得部112はアノテーション情報に記述された切り取り元の切り取り位置としてXPath「/html/body/div[1]/div[2]/div[6]/div[1]」を求め、パージングされた図20のような木構造上における切り取り位置を求める。図21は木構造上における切り取り位置を示した一例の構成図である。図21の構成図では木構造上における切り取り位置を矢印で示している。   The clipping information acquisition unit 112 obtains XPath “/ html / body / div [1] / div [2] / div [6] / div [1]” as the clipping position of the clipping source described in the annotation information, and is parsed. The cut position on the tree structure as shown in FIG. FIG. 21 is a configuration diagram of an example showing a cut position on the tree structure. In the configuration diagram of FIG. 21, the cutting positions on the tree structure are indicated by arrows.

切り出し情報取得部112は、木構造上における切り取り位置で指定されるノード全体をHTML断片として取り出す。具体的には、図22に示した
<div id=”searchBody” class=pBody”>から</div>
までのHTMLテキスト220になる。なお、図22では説明に関係ないノードをまとめて表示している。取り出されたHTML断片は後述するように正規化部113が必要に応じて正規化する。
The cutout information acquisition unit 112 takes out the entire node designated by the cutout position on the tree structure as an HTML fragment. Specifically, it is shown in FIG.
From <div id = ”searchBody” class = pBody ”></div>
It becomes HTML text 220 until. In FIG. 22, nodes not related to the description are displayed together. As will be described later, the normalization unit 113 normalizes the extracted HTML fragment as necessary.

次に、貼り付け位置獲得部114はHTML断片を貼り付ける木構造上の貼り付け位置を求める。具体的には、貼り付け先のWebページのパージング結果である木構造上でアノテーション情報の貼り付け位置に相当する位置を求める。図19のアノテーション情報の場合は貼り付け位置として「/html/body/table/tbody/tr[4]/th/h2」を求める。図23は木構造上における貼り付け位置を示した一例の構成図である。図23の構成図では木構造上における貼り付け位置を矢印で示している。   Next, the pasting position acquisition unit 114 obtains a pasting position on the tree structure to which the HTML fragment is pasted. Specifically, a position corresponding to the position where the annotation information is pasted is obtained on the tree structure which is the result of parsing the pasting Web page. In the case of the annotation information in FIG. 19, “/ html / body / table / tbody / tr [4] / th / h2” is obtained as the pasting position. FIG. 23 is a configuration diagram of an example showing a pasting position on the tree structure. In the configuration diagram of FIG. 23, the pasting position on the tree structure is indicated by an arrow.

そして、合成部115は取り出して正規化したHTML断片を図23の矢印の位置に埋め込む(接ぎ木する)ことで、切り取り元のHTML断片が埋め込まれた貼り付け先のWebページの出力を実現する。   Then, the synthesizing unit 115 embeds (grafts) the extracted and normalized HTML fragment at the position of the arrow in FIG. 23, thereby realizing the output of the pasting Web page in which the cut-out HTML fragment is embedded.

実際の埋め込みでは、HTML断片自身だけでなく、埋め込んだものを削除・移動・アイコン化したり、あるいは切り取ったものを貼り付けたものであることがわかるように枠で囲ったり、切り取り元のタイトルを示したり、切り取り元のWebページにアクセスできるようなリンクを設けるなどの機能や情報を備えたHTML断片に加工して貼り付け先のWebページに貼り付ける。   In the actual embedding, not only the HTML fragment itself but also the embedded one is deleted / moved / iconified, or it is enclosed in a frame so that it can be seen that the cut one has been pasted, It is processed into an HTML fragment having a function and information such as showing or providing a link for accessing the cut-out web page, and pasted on the paste-destination web page.

また、実際の埋め込み位置は、指定されたノードに対してあらかじめ取り決めた方法で埋め込む。例えば指定されたノードの子の最後に埋め込む場合、HTML上では求められたノードの終了タグの直前に埋め込むことになる。すべてのアノテーション(図19では1件だけである)の埋め込みが終了したならば、合成部115はアノテーションが埋め込まれた木構造をレンダリングエンジン166に渡してレンダリングする。   In addition, the actual embedding position is embedded by a predetermined method for the designated node. For example, when embedding at the end of a child of a designated node, it is embedded immediately before the end tag of the obtained node on HTML. When all the annotations (only one in FIG. 19) have been embedded, the synthesis unit 115 passes the tree structure in which the annotations are embedded to the rendering engine 166 for rendering.

例えばレンダリングエンジン166は木構造のタグを解釈することで、<title>はタイトル、<h2>はヘッダ、<p>は段落、として見える形に変換し表示することができる。   For example, the rendering engine 166 can interpret and display a tag having a tree structure so that <title> is a title, <h2> is a header, and <p> is a paragraph.

(Webマッシュアップ設定装置100)
Webマッシュアップ設定装置100を組込んだ典型的なWeb閲覧器101は、切り取り元選定部102、範囲提示選定部103、貼り付け先選定部104、アノテーション管理部105を有する。
(Web mashup setting device 100)
A typical web browsing device 101 incorporating the web mashup setting device 100 includes a cut-out source selection unit 102, a range presentation selection unit 103, a paste destination selection unit 104, and an annotation management unit 105.

図24は、切り取り元選定部の処理を表したフローチャートである。切り取り元選定部102は、Web閲覧器101に埋め込まれたコマンド(キー操作やメニュー、ボタンなど)により起動される。   FIG. 24 is a flowchart showing the processing of the cutting source selection unit. The cut source selection unit 102 is activated by a command (key operation, menu, button, or the like) embedded in the web browsing device 101.

ステップS21に進み、起動された切り取り元選定部102はモードを切り取りとして範囲提示選定部103を起動する。ステップS22に進み、切り取り元選定部102は範囲提示選定部103から切り取り位置のノード(XPath)を受け取る。ステップS23に進み、切り取り元選定部102は範囲提示選定部103から受け取った切り取り位置のノード(XPath)を切り取り情報として一時的に格納して終了する。   Proceeding to step S21, the activated cut-off source selection unit 102 activates the range presentation selection unit 103 with the mode cut. In step S 22, the cut source selection unit 102 receives a cut position node (XPath) from the range presentation selection unit 103. In step S23, the cut source selection unit 102 temporarily stores the cut position node (XPath) received from the range presentation selection unit 103 as cut information, and the process ends.

図25は、貼り付け先選定部の処理を表したフローチャートである。貼り付け先選定部104は、切り取り元選定部102の終了によって、あるいはWeb閲覧器101に埋め込まれたコマンド(キー操作やメニュー、ボタンなど)により起動される。   FIG. 25 is a flowchart showing the processing of the paste destination selection unit. The paste destination selection unit 104 is activated by the end of the cut source selection unit 102 or by a command (key operation, menu, button, or the like) embedded in the web browsing device 101.

ステップS31に進み、起動された貼り付け先選定部104はモードを貼り付けとして範囲提示選定部103を起動する。ステップS32に進み、貼り付け先選定部104は範囲提示選定部103から貼り付け位置のノード(XPath)を受け取る。   In step S31, the started paste destination selecting unit 104 starts the range presentation selecting unit 103 with the mode being pasted. In step S 32, the paste destination selection unit 104 receives a paste position node (XPath) from the range presentation selection unit 103.

ステップS33に進み、貼り付け先選定部104はアノテーション管理部105を呼び出し、一時的に格納してあった切り取り情報と範囲提示選定部103から受け取った貼り付け位置のノード(XPath)である貼り付け情報とをセットにして、アノテーションデータベース122に登録する。   In step S 33, the paste destination selection unit 104 calls the annotation management unit 105 and pastes the temporarily stored cut information and the paste position node (XPath) received from the range presentation selection unit 103. A set of information is registered in the annotation database 122.

図26は、範囲提示選定部の処理を表したフローチャートである。範囲提示選定部103はユーザのアクション等により、切り取り位置、或いは、貼り付け位置のノード(XPath)を切り取り元選定部105又は貼り付け先選定部104に返すものである。具体的に範囲提示選定部103は、例えばマウスカーソルの移動によって現在注目している木構造上のノードを画面上で選定させ、木構造上のノードをマウスクリックによって確定させるものである。   FIG. 26 is a flowchart showing the processing of the range presentation selection unit. The range presentation selection unit 103 returns the cut position or paste position node (XPath) to the cut source selection unit 105 or the paste destination selection unit 104 according to a user action or the like. Specifically, the range presentation selection unit 103 selects a node on the tree structure that is currently focused on, for example, by moving the mouse cursor, and determines the node on the tree structure by clicking the mouse.

ステップS41に進み、範囲提示選定部103は、現在が切り取り作業のための範囲提示なのか、貼り付け作業のための範囲提示なのかのモードを受け取る。例えば範囲提示選定部103は切り取り元選定部102から切り取り作業のための範囲提示であることを示す切り取りモードを受け付ける。また、範囲提示選定部103は貼り付け先選定部104から貼り付け作業のための範囲提示であることを示す貼り付けモードを受け付ける。範囲提示選定部103は受け付けたモードを起動させる。   In step S41, the range presentation selection unit 103 receives a mode indicating whether the present is a range presentation for cutting work or a range presentation for pasting work. For example, the range presentation selection unit 103 accepts a cut mode indicating that the range is presented for cut work from the cut source selection unit 102. Further, the range presentation selection unit 103 receives a pasting mode indicating that it is a range presentation for pasting work from the pasting destination selection unit 104. The range presentation selection unit 103 activates the accepted mode.

ステップS42に進み、範囲提示選定部103は、画面上のマウスカーソルの位置を求める。ステップS43に進み、範囲提示選定部103は画面上のマウスカーソルの位置に対応するWebページの木構造上の位置を求める。ステップS44に進み、範囲提示選定部103は画面上のマウスカーソルの位置に対応するWebページの木構造上の位置から適切なノード(要素)を現在のノードとして求める。例えば範囲提示選定部103は文字や文字間(#textノード)ならば、上位ノード(pノード、tdノード、h1ノードなど)を現在のノードとする。   In step S42, the range presentation selection unit 103 obtains the position of the mouse cursor on the screen. In step S43, the range presentation selection unit 103 obtains a position on the tree structure of the Web page corresponding to the position of the mouse cursor on the screen. In step S44, the range presentation selection unit 103 obtains an appropriate node (element) as the current node from the position on the tree structure of the Web page corresponding to the position of the mouse cursor on the screen. For example, if the range presentation selection unit 103 is a character or an inter-character (#text node), the upper node (p node, td node, h1 node, etc.) is the current node.

ステップS45に進み、範囲提示選定部103は現在のノードを囲う枠をモードに合わせて表示する。範囲提示選定部103は例えば切り取り作業の枠の色と貼り付け作業の枠の色とを変更する。また、範囲提示選定部103はマウスカーサの動きにより枠を大きくしたり小さくしたりする。   In step S45, the range presentation selection unit 103 displays a frame surrounding the current node according to the mode. The range presentation selection unit 103 changes, for example, the color of the cutting work frame and the color of the pasting work frame. Further, the range presentation selection unit 103 enlarges or reduces the frame according to the movement of the mouse cursor.

ステップS46に進み、範囲提示選定部103は予め設定したアクション(マウスボタンをクリックするであるとか、指定されたキー入力など)による割り込みがあれば、その時点でのノード(枠が表示されている範囲)を切り取り元選定部102又は貼り付け先選定部104に返す。なお、範囲提示選定部103は予め設定したアクションによる割り込みがなければ、ステップS42に戻り、処理を続ける。   In step S46, if there is an interruption due to a preset action (such as clicking a mouse button or a specified key input), the range presentation selection unit 103 displays a node (frame is displayed) at that time. Range) is returned to the cutting source selection unit 102 or the pasting destination selection unit 104. If there is no interruption by a preset action, the range presentation selection unit 103 returns to step S42 and continues the process.

(正規化部113)
図27は、正規化部の処理を表したフローチャートである。正規化部113は切り取られた部分データ(HTML断片)を受け取ると、ステップS51に進み、切り取られた部分データを貼り付け先のWebページの環境に適合するように、文字符号化方式の変換を行う。文字符号化方式の変換は、切り取られた部分の文字符号化方式および貼り付け先の文字符号化方式を推測し、切り取られた部分の文字符号化方式を貼り付け先の文字符号化方式に変換するものである。
(Normalization unit 113)
FIG. 27 is a flowchart showing the processing of the normalization unit. When the normalization unit 113 receives the cut partial data (HTML fragment), the normalization unit 113 proceeds to step S51, and converts the character encoding method so that the cut partial data matches the environment of the Web page to which the clip is pasted. Do. For character encoding conversion, the character encoding method of the cut part and the character encoding method of the paste destination are inferred, and the character encoding method of the cut part is converted to the character encoding method of the paste destination To do.

ステップS52に進み、正規化部113はHTML断片を貼り付け先のWebページの環境に適合するように、絶対パスの変換を行う。絶対パスの変換は、切り取られた部分データ中にあるリンク、画像、プログラム等の相対パスで記述されたファイル名を絶対パスに変換するものである。なお、ステップS51及びステップS52の処理の順序は任意である。   In step S52, the normalization unit 113 converts the absolute path so that the HTML fragment matches the environment of the Web page to which the HTML fragment is pasted. The absolute path conversion is to convert a file name described in a relative path such as a link, an image, or a program in the cut partial data into an absolute path. Note that the order of the processing of step S51 and step S52 is arbitrary.

ステップS53に進み、正規化部113はプログラム呼び出し変換部8を呼び出して後述のプログラム呼び出し変換を行う。   In step S53, the normalization unit 113 calls the program call conversion unit 8 to perform program call conversion described later.

ステップS51の文字符号化方式の変換処理は例えば図28のフローチャートに示す手順で行われる。図28は文字符号化方式の変換処理を表したフローチャートである。   The character encoding conversion processing in step S51 is performed, for example, according to the procedure shown in the flowchart of FIG. FIG. 28 is a flowchart showing conversion processing of the character encoding method.

ステップS61に進み、正規化部113は切り取り元のWebページの文字符号化方式を取得する。ステップS62に進み、正規化部113は貼り付け先のWebページの文字符号化方式を取得する。   In step S61, the normalization unit 113 acquires the character encoding method of the cut-out web page. In step S62, the normalization unit 113 acquires the character encoding method of the pasted Web page.

Webページの文字符号化方式を取得する一つの方法は、Webページのヘッダ部分に記述されている文字符号化方式の部分を参照する方法である。例えばhead要素に
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
のような記述があるWebページはcharset=utf-8と記述されているので文字符号化方式が「UTF−8」であることがわかる。また、head要素に
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
のような記述があるWebページはcharset=Shift_JISと記述されているので文字符号化方式が「Shift−JIS」であることがわかる。
One method for acquiring the character encoding method of the Web page is a method of referring to the character encoding method part described in the header part of the Web page. For example, in the head element
<meta http-equiv = "Content-Type" content = "text / html; charset = utf-8"/>
Since a web page with such description is described as charset = utf-8, it can be seen that the character encoding method is “UTF-8”. Also, in the head element
<meta http-equiv = "Content-Type" content = "text / html; charset = Shift_JIS">
Since a Web page with such description is described as charset = Shift_JIS, it can be seen that the character encoding method is “Shift-JIS”.

Webページの文字符号化方式を取得する別の方法は、使用されているテキストの文字コードから文字符号化方式を推定するものである。Webページの中には、自分の文字符号化方式を明記していないものもあり、必要に応じて文字符号化方式を推定することが必要である。文字符号化方式によって文字コードの使っている領域が異なるため、それなりに文字符号化方式が推定できることは良く知られている技術であるので、ここで詳しくは述べない。   Another method for obtaining the character encoding method of the Web page is to estimate the character encoding method from the character code of the text being used. Some Web pages do not specify their character encoding scheme, and it is necessary to estimate the character encoding scheme as necessary. Since the area used by the character code differs depending on the character encoding method, it is a well-known technique that the character encoding method can be estimated as such, so it will not be described in detail here.

ステップS63に進み、正規化部113は切り取り元のWebページの文字符号化方式と貼り付け先のWebページの文字符号化方式とを比較する。切り取り元のWebページの文字符号化方式と貼り付け先のWebページの文字符号化方式とが同じであれば、正規化部113は文字符号化方式の変換が不要であると判定し、図28のフローチャートの処理を終了する。切り取り元のWebページの文字符号化方式と貼り付け先のWebページの文字符号化方式とが異なれば、正規化部113はステップS64に進み、切り取られた部分データ(HTML断片)を貼り付け先のWebページの文字符号化方式に変換する。   In step S63, the normalization unit 113 compares the character encoding method of the cut-out Web page with the character encoding method of the Web page to be pasted. If the character encoding method of the Web page to be cut out is the same as the character encoding method of the Web page to be pasted, the normalization unit 113 determines that conversion of the character encoding method is unnecessary, and FIG. The process of the flowchart in FIG. If the character encoding method of the Web page to be cut off and the character encoding method of the Web page to be pasted are different, the normalization unit 113 proceeds to step S64 and pastes the cut partial data (HTML fragment). To the character encoding method of the Web page.

ステップS52の絶対パスの変換処理は例えば図29のフローチャートに示す手順で行われる。図29は絶対パスの変換処理を表したフローチャートである。   The absolute path conversion process in step S52 is performed, for example, according to the procedure shown in the flowchart of FIG. FIG. 29 is a flowchart showing the absolute path conversion process.

ステップS71に進み、正規化部113は正規化するHTML断片と共に、切り取り元のWebページを入力として受け取る。ステップS72に進み、正規化部113は正規化するHTML断片から属性ノード(属性名と属性値との対)を探す。例えば
<form method="post" action="example.cgi"> 〜 </form>では、methodとpostとが一つの属性ノード(属性名と属性値との対)として見つかる。
In step S71, the normalization unit 113 receives the cut-out Web page as an input together with the HTML fragment to be normalized. In step S72, the normalization unit 113 searches for an attribute node (a pair of attribute name and attribute value) from the HTML fragment to be normalized. For example
In <form method = "post" action = "example.cgi"> to </ form>, method and post are found as one attribute node (a pair of attribute name and attribute value).

正規化するHTML断片から属性ノードが見つかれば、正規化部113はステップS74に進み、属性ノードがURIを記述する属性であるかを判定する。例えばmethodは属性値としてURIを記述する属性ではない(getかpostをとる)と判定される。   If an attribute node is found from the HTML fragment to be normalized, the normalization unit 113 proceeds to step S74 and determines whether the attribute node is an attribute describing a URI. For example, it is determined that method is not an attribute describing URI as an attribute value (get or post is taken).

属性ノードがURIを記述する属性でないと判定すれば、正規化部113はステップS77に進み、次の属性ノードを探し、ステップS73に戻る。例えば
<form method="post" action="example.cgi"> 〜 </form>では、actionとexample.cgiとが次の属性ノードとして見つかる。正規化するHTML断片から次の属性ノードが見つかったため、正規化部113はステップS74に進み、属性ノードがURIを記述する属性であるかを判定する。
If it is determined that the attribute node is not an attribute describing the URI, the normalization unit 113 proceeds to step S77, searches for the next attribute node, and returns to step S73. For example
In <form method = "post" action = "example.cgi"> to </ form>, action and example.cgi are found as the next attribute nodes. Since the next attribute node is found from the HTML fragment to be normalized, the normalization unit 113 proceeds to step S74 and determines whether the attribute node is an attribute describing a URI.

例えばactionは属性値としてデータの送信先(プログラム)のURIを要求するものであるため、属性値としてURIを記述する属性であると判定される。属性ノードがURIを記述する属性であると判定すれば、正規化部113はステップS75に進み、属性値が相対パスであるかを判定する。例えばexample.cgiはURIであるが、相対パスの形式をしている。すなわち、example.cgiは、HTML断片が http://foo1/bar1.htmlから切り取られたものであるならば、切り取り元サイトがhttp://foo1/ であり、
http://foo1/example.cgiを意味している。
For example, since action requires a URI of a data transmission destination (program) as an attribute value, it is determined that the attribute is an attribute describing the URI as an attribute value. If it is determined that the attribute node is an attribute describing a URI, the normalization unit 113 proceeds to step S75, and determines whether the attribute value is a relative path. For example, example.cgi is a URI, but has a relative path format. That is, if example.cgi is an HTML fragment cut from http: //foo1/bar1.html, the cut-off source site is http: // foo1 /
It means http: //foo1/example.cgi.

しかし、このままHTML断片をhttp://foo2/bar2.html上に貼り付けると、データの送信先はhttp://foo2/example.cgiを指すことになってしまう。そこで、actionの属性値を切り取り元サイトであるhttp://foo1/と合成して絶対パスである
http://foo1/example.cgiに変換する必要がある。
However, if the HTML fragment is pasted on http: //foo2/bar2.html as it is, the data transmission destination will point to http: //foo2/example.cgi. Therefore, the action attribute value is cut out and synthesized with http: // foo1 / which is the original site, and the absolute path is obtained.
It needs to be converted to http: //foo1/example.cgi.

同様に、HTML断片にリンクを示すhref属性<a href="./index.html"> 〜 </a>
を含んでいれば、hrefはURIを属性値に持つので、属性値を、http://foo1/index.htmlに変換することが必要になる。どの属性の値を変換しなければならないかはテーブルで管理することができる。また、相対パスから絶対パスに変換すること自身は、広く知られている技術なので、ここでは詳しく述べない。
Similarly, href attribute <a href="./index.html"> to </a> that indicates a link to an HTML fragment
Is included, the href has a URI as an attribute value, so it is necessary to convert the attribute value to http: //foo1/index.html. Which attribute value should be converted can be managed in a table. Also, since the conversion from the relative path to the absolute path itself is a widely known technique, it will not be described in detail here.

属性値が相対パスであると判定すれば、正規化部113はステップS76に進み、相対パスを絶対パスに変換し、ステップS77に進む。HTML断片中にあるすべての属性ノードを探索すると、正規化部113はステップS73において正規化するHTML断片から属性ノードが見つからないと判定し、図29のフローチャートの処理を終了する。図29のフローチャートの処理により、正規化部113はHTML断片中にあるすべての属性ノードを探索し、すべての相対パスを絶対パスに変換する。   If it is determined that the attribute value is a relative path, the normalization unit 113 proceeds to step S76, converts the relative path to an absolute path, and proceeds to step S77. When searching for all attribute nodes in the HTML fragment, the normalizing unit 113 determines in step S73 that no attribute node is found from the HTML fragment to be normalized, and ends the process of the flowchart in FIG. With the processing of the flowchart of FIG. 29, the normalization unit 113 searches for all attribute nodes in the HTML fragment and converts all relative paths to absolute paths.

(プログラム呼び出し変換部8)
プログラム呼び出し変換部8は、切り取り元のWebページから切り取られたHTML断片に、何らかのテキストの入力を受けて、入力されたテキストを引数として何らかのプログラムを呼び出しているプログラム呼び出しを含む場合に、プログラム呼び出し変換を行うものである。
(Program call conversion unit 8)
The program call conversion unit 8 receives the input of some text in the HTML fragment cut from the cut-out Web page, and includes the program call that calls some program using the input text as an argument. Conversion is performed.

図30はプログラム呼び出し変換処理を表したフローチャートである。ステップS81に進み、プログラム呼び出し変換部8のフォーム入力存在確認部31は切り取り元のWebページから切り取られたHTML断片に、何らかのテキストの入力を受けて、入力されたテキストを引数として何らかのプログラムを呼び出している部分(フォーム入力)が存在するかを確認する。   FIG. 30 is a flowchart showing the program call conversion process. In step S81, the form input existence confirmation unit 31 of the program call conversion unit 8 receives some text input to the HTML fragment cut from the cut-out Web page, and calls some program using the input text as an argument. Check whether there is a part (form input).

フォーム入力が存在すれば、プログラム呼び出し変換部8の切り取り元文字コード確認部32はステップS82に進み、切り取り元の文字符号化方式を取得する。プログラム呼び出し変換部8の貼り付け先文字コード確認部33はステップS83に進み、貼り付け先の文字符号化方式を取得する。   If there is a form input, the cut source character code confirmation unit 32 of the program call conversion unit 8 proceeds to step S82, and acquires the cut source character encoding method. The paste destination character code confirmation unit 33 of the program call conversion unit 8 proceeds to step S83, and acquires the paste destination character encoding method.

ステップS84に進み、プログラム呼び出し変換部8のラッパプログラム生成部34は貼り付け先の文字符号化方式を切り取り元の文字符号化方式に変換してから元々のプログラムであるPを呼び出すようなラッパプログラムP′を生成する。   In step S84, the wrapper program generation unit 34 of the program call conversion unit 8 converts the pasted character encoding method into the original character encoding method and then calls the original program P. P ′ is generated.

ステップS85に進み、プログラム呼び出し変換部8のプログラム呼び出し書換部35は切り取られたHTML断片に含まれるプログラムPを呼び出す部分をラッパプログラムP′を呼び出すように書き換える。なお、ステップS81においてフォーム入力が存在しなければ、プログラム呼び出し変換部8は図30のフローチャートの処理を終了する。図30のフローチャートの処理後、プログラム呼び出し変換部8は正規化の結果としてHTML断片を正規化部7に返す。   In step S85, the program call rewriting unit 35 of the program call conversion unit 8 rewrites the part that calls the program P included in the cut HTML fragment so as to call the wrapper program P '. If there is no form input in step S81, the program call conversion unit 8 ends the process of the flowchart of FIG. After the processing of the flowchart of FIG. 30, the program call conversion unit 8 returns an HTML fragment to the normalization unit 7 as a result of normalization.

フォーム入力の存在は、HTML断片に特定の要素(具体的にはformタグ)が存在するかどうかで確認できる。また、切り取り元の文字符号化方式の取得、貼り付け先の文字符号化方式の取得については、既に述べたとおりである。   The presence of the form input can be confirmed by checking whether a specific element (specifically, a form tag) exists in the HTML fragment. The acquisition of the character encoding method of the cut source and the acquisition of the character encoding method of the pasting destination are as already described.

ラッパプログラムP′を生成する一つの方法は以下のようになる。ラッパプログラム生成部34は呼び出しプログラム名、プログラムの引数となる名前、データ(引数)の送信形式を獲得する。   One method for generating the wrapper program P ′ is as follows. The wrapper program generation unit 34 obtains a calling program name, a name to be a program argument, and a data (argument) transmission format.

ラッパプログラム生成部34はデータの送信形式に合わせてデータを受け取り、それぞれのデータに対して、文字符号化方式をステップS83で獲得した貼り付け先の文字符号化方式から切り取り元の文字符号化方式に変換するプログラムをかけたあと、呼び出しプログラムを呼び出すラッパプログラムP′を作成する。   The wrapper program generation unit 34 receives data in accordance with the data transmission format, and for each data, the character encoding method is cut from the pasted character encoding method acquired in step S83. After applying the program to be converted into (1), a wrapper program P ′ for calling the calling program is created.

そして、プログラム呼び出し書換部35は元のプログラム呼び出しをラッパプログラムP′を呼び出すように書き換える。   Then, the program call rewriting unit 35 rewrites the original program call so as to call the wrapper program P ′.

なお、Web閲覧器のすべてが対応しているわけではないが、HTML4の規格ではform中で、accept-charset属性を使うことにより、受信する文字符号化方式を指定することができるようになっている。これを利用すれば、
<form name="searchbox" id="searchbox" class="searchbox" action="/wiki/%E7%89%B9%E5%88%A5:%E6%A4%9C%E7%B4%A2">
に対して、
<form name="searchbox" id="searchbox" class="searchbox" action="/wiki/%E7%89%B9%E5%88%A5:%E6%A4%9C%E7%B4%A2" accept charset="utf-8">
というように変換することで、切り取り元の文字符号化方式を指定することができるためラッパプログラムP′を実現できる。
Note that not all Web browsers are compatible, but in the HTML4 standard, the character encoding method to be received can be specified by using the accept-charset attribute in the form. Yes. If you use this,
<form name = "searchbox" id = "searchbox" class = "searchbox" action = "/ wiki /% E7% 89% B9% E5% 88% A5:% E6% A4% 9C% E7% B4% A2">
Against
<form name = "searchbox" id = "searchbox" class = "searchbox" action = "/ wiki /% E7% 89% B9% E5% 88% A5:% E6% A4% 9C% E7% B4% A2" accept charset = "utf-8">
By converting in this way, the character encoding method of the cut source can be designated, and the wrapper program P ′ can be realized.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、マッシュアップ装置は図14のWebマッシュアップ実現装置110を有する形態、Webマッシュアップ設定装置100及びWebマッシュアップ実現装置110を有する形態、Webマッシュアップ設定装置100,Webマッシュアップ実現装置110及びアノテーション管理サーバ120を有する形態など、様々な形態をとることができる。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims. Note that the mashup device includes the web mashup realizing device 110 in FIG. 14, the web mashup setting device 100 and the web mashup realizing device 110, the web mashup setting device 100, the web mashup realizing device 110, and the like. Various forms such as a form having the annotation management server 120 can be taken.

本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
切り取り元のWeb資源から切り取った部分を貼り付け先のWeb資源に貼り付けるコンピュータを動作させるマッシュアッププログラムであって、
前記コンピュータを、
切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象のWeb資源の情報とに基づき、前記表示対象のWeb資源を貼り付け情報として含むアノテーション情報を取得するアノテーション情報取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、切り取り元のWeb資源を取得する切り取り元取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、前記切り取り元取得手段が取得した切り取り元のWeb資源から切り取るべき断片を切り取る切り取り手段と、
前記切り取り手段が切り取った断片を貼り付け先のWeb資源の環境に適合するように正規化する正規化手段と、
前記正規化手段により正規化された前記断片を、前記アノテーション情報取得手段が取得したアノテーション情報に含まれる貼り付け情報に基づき、表示対象のWeb資源に貼り付ける貼り付け手段と
して動作させるマッシュアッププログラム。
(付記2)
前記正規化手段は、前記切り取り手段が切り取った断片の文字符号化方式を貼り付け先の文字符号化方式に変換する文字符号化方式変換を行う請求項1記載のマッシュアッププログラム。
(付記3)
前記コンピュータを、更に、
前記切り取り手段が切り取った断片にフォーム入力をしてプログラムを呼び出す部分が存在する場合に、貼り付け先の文字符号化方式を切り取り元の文字符号化方式に変換してから前記プログラムを呼び出すラッパプログラムを生成し、前記断片に含まれる前記プログラムを呼び出す部分を、前記ラッパプログラムを呼び出すように書き換えるプログラム呼び出し書換手段と
して機能させる請求項1記載のマッシュアッププログラム。
(付記4)
前記アノテーション情報は、切り取り元の所在情報,切り取り場所の構造位置情報を有する切り取り情報と、貼り付け先の所在情報,貼り付け先の構造位置情報を有する貼り付け情報とを含む付記1乃至3何れか一項記載のマッシュアッププログラム。
(付記5)
切り取り元のWeb資源から切り取った部分を貼り付け先のWeb資源に貼り付けるマッシュアップ装置であって、
切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象のWeb資源の情報とに基づき、前記表示対象のWeb資源を貼り付け情報として含むアノテーション情報を取得するアノテーション情報取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、切り取り元のWeb資源を取得する切り取り元取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、前記切り取り元取得手段が取得した切り取り元のWeb資源から切り取るべき断片を切り取る切り取り手段と、
前記切り取り手段が切り取った断片を貼り付け先のWeb資源の環境に適合するように正規化する正規化手段と、
前記正規化手段により正規化された前記断片を、前記アノテーション情報取得手段が取得したアノテーション情報に含まれる貼り付け情報に基づき、表示対象のWeb資源に貼り付ける貼り付け手段と
を有するマッシュアップ装置。
(付記6)
切り取り元のWeb資源から切り取った部分を貼り付け先のWeb資源に貼り付けるコンピュータによって実行されるマッシュアップ方法であって、
前記コンピュータが、
切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象のWeb資源の情報とに基づき、前記表示対象のWeb資源を貼り付け情報として含むアノテーション情報を取得するアノテーション情報取得ステップと、
前記アノテーション情報取得ステップで取得したアノテーション情報に含まれる切り取り情報に基づき、切り取り元のWeb資源を取得する切り取り元取得ステップと、
前記アノテーション情報取得ステップで取得したアノテーション情報に含まれる切り取り情報に基づき、前記切り取り元取得ステップで取得した切り取り元のWeb資源から切り取るべき断片を切り取る切り取りステップと、
前記切り取りステップで切り取った断片を貼り付け先のWeb資源の環境に適合するように正規化する正規化ステップと、
前記正規化ステップで正規化された前記断片を、前記アノテーション情報取得ステップで取得したアノテーション情報に含まれる貼り付け情報に基づき、表示対象のWeb資源に貼り付ける貼り付けステップと
を実行するマッシュアップ方法。
The present invention may have the following configurations as described below.
(Appendix 1)
A mashup program for operating a computer for pasting a portion cut from a cut-off Web resource to a paste-destination Web resource,
The computer,
Annotation information acquisition means for acquiring annotation information including the display target Web resource as the paste information based on the annotation information in which the cut information and the paste information are associated with each other and the information of the Web resource to be displayed; ,
Based on the cutting information included in the annotation information acquired by the annotation information acquisition unit, a cutting source acquisition unit that acquires the Web resource of the cutting source;
A cutting unit that cuts out a fragment to be cut from the Web resource of the cut source acquired by the cut source acquisition unit based on the cut information included in the annotation information acquired by the annotation information acquisition unit;
Normalization means for normalizing the fragments cut by the cut means so as to be compatible with the environment of the Web resource to be pasted;
A mashup program that causes the fragment normalized by the normalizing unit to operate as a pasting unit that pastes the fragment to the Web resource to be displayed based on the pasting information included in the annotation information acquired by the annotation information acquiring unit.
(Appendix 2)
The mashup program according to claim 1, wherein the normalizing means performs character encoding system conversion for converting the character encoding system of the fragment cut by the cutting means into a character encoding system to be pasted.
(Appendix 3)
Said computer further
A wrapper program that calls a program after converting a character encoding method of a pasting destination to a character encoding method of a cut source when there is a part that calls a program by inputting a form into a piece cut by the cutting means The mashup program according to claim 1, wherein the mashup program functions as a program call rewriting unit that rewrites a part that calls the program included in the fragment so as to call the wrapper program.
(Appendix 4)
The annotation information includes any one of appendices 1 to 3 including cut-out location information, cut-out information having cut-out location structure position information, paste-destination location information, and paste-in information having paste-up location information. A mashup program according to claim 1.
(Appendix 5)
A mashup device for pasting a portion cut from a cut-off Web resource to a paste-destination Web resource,
Annotation information acquisition means for acquiring annotation information including the display target Web resource as the paste information based on the annotation information in which the cut information and the paste information are associated with each other and the information of the Web resource to be displayed; ,
Based on the cutting information included in the annotation information acquired by the annotation information acquisition unit, a cutting source acquisition unit that acquires the Web resource of the cutting source;
A cutting unit that cuts out a fragment to be cut from the Web resource of the cut source acquired by the cut source acquisition unit based on the cut information included in the annotation information acquired by the annotation information acquisition unit;
Normalization means for normalizing the fragments cut by the cut means so as to be compatible with the environment of the Web resource to be pasted;
A mashup device comprising: a pasting unit that pastes the fragment normalized by the normalizing unit to a Web resource to be displayed based on pasting information included in the annotation information acquired by the annotation information acquiring unit.
(Appendix 6)
A mashup method executed by a computer for pasting a portion cut from a cut-out web resource to a paste-destination web resource,
The computer is
An annotation information acquisition step for acquiring annotation information including the display target Web resource as the paste information based on the annotation information in which the cut information and the paste information are associated with each other and the information on the display target Web resource; ,
A cut source acquisition step of acquiring a cut source Web resource based on the cut information included in the annotation information acquired in the annotation information acquisition step;
A cutting step of cutting a fragment to be cut from the cutting source Web resource acquired in the cutting source acquisition step based on the cutting information included in the annotation information acquired in the annotation information acquisition step;
A normalizing step of normalizing the fragment cut out in the cutting step so as to be adapted to the environment of the Web resource to be pasted;
A mashup method for performing a pasting step of pasting the fragment normalized in the normalizing step on a Web resource to be displayed based on pasting information included in the annotation information acquired in the annotation information acquiring step .

1 アノテーション情報
2 所在情報(URI)
3 アノテーション情報取得部
4 切り取り元取得部
5 切り取り元資源(Webページ)
6 切り取り部
7 正規化部
8 プログラム呼び出し変換部
9 貼り付け部
10 貼り付け先資源
11 マッシュアップ結果データ
21,22 窓
31 フォーム入力存在確認部
32 切り取り元文字コード確認部
33 貼り付け先文字コード確認部
34 ラッパプログラム生成部
35 プログラム呼び出し書換部
61 検索窓の部分
71,81 赤枠
91 検索ボタン
100 Webマッシュアップ設定装置
101,111 Web閲覧器
102 切り取り元選定部
103 範囲提示選定部
104 貼り付け先選定部
105,116 アノテーション管理部
110 Webマッシュアップ実現装置
112 切り出し情報取得部
113 正規化部
114 貼り付け位置獲得部
115 合成部
120 アノテーション管理サーバ
121 アノテーションデータベース管理部
122 アノテーションデータベース
151 入力装置
152 出力装置
153 ドライブ装置
154 補助記憶装置
155 主記憶装置
156 演算処理装置
157 インターフェース装置
158 記録媒体
160 Web閲覧器
161 HTML文書
162 HTMLパーサ
163 DOMツリー
164 Javascriptプログラム
165 Javascriptエンジン
166 レンダリングエンジン
167 ユーザインタフェース
220 HTMLテキスト
1 Annotation information 2 Location information (URI)
3 Annotation information acquisition unit 4 Cut source acquisition unit 5 Cut source resource (Web page)
6 Cutout part 7 Normalization part 8 Program call conversion part 9 Paste part 10 Paste destination resource 11 Mashup result data 21, 22 Window 31 Form input existence confirmation part 32 Cut source character code confirmation part 33 Paste destination character code confirmation Unit 34 Wrapper Program Generation Unit 35 Program Call Rewriting Unit 61 Search Window Portion 71, 81 Red Frame 91 Search Button 100 Web Mashup Setting Device 101, 111 Web Browsing Device 102 Cut Source Selection Unit 103 Range Presentation Selection Unit 104 Pasting Destination Selection unit 105, 116 Annotation management unit 110 Web mashup realization device 112 Cutout information acquisition unit 113 Normalization unit 114 Paste position acquisition unit 115 Composition unit 120 Annotation management server 121 Annotation database Management unit 122 Annotation database 151 Input device 152 Output device 153 Drive device 154 Auxiliary storage device 155 Main storage device 156 Arithmetic processing device 157 Interface device 158 Recording medium 160 Web browsing device 161 HTML document 162 HTML parser 163 DOMscriptp 165 JavaScript program 165 Engine 166 Rendering engine 167 User interface 220 HTML text

Claims (5)

切り取り元のWeb資源から切り取った部分を貼り付け先のWeb資源に貼り付けるコンピュータを動作させるマッシュアッププログラムであって、
前記コンピュータを、
切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象のWeb資源の情報とに基づき、前記表示対象のWeb資源を貼り付け情報として含むアノテーション情報を取得するアノテーション情報取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、切り取り元のWeb資源を取得する切り取り元取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、前記切り取り元取得手段が取得した切り取り元のWeb資源から切り取るべき断片を切り取る切り取り手段と、
前記切り取り手段が切り取った断片を貼り付け先のWeb資源の環境に適合するように正規化する正規化手段と、
前記正規化手段により正規化された前記断片を、前記アノテーション情報取得手段が取得したアノテーション情報に含まれる貼り付け情報に基づき、表示対象のWeb資源に貼り付ける貼り付け手段と
して動作させるマッシュアッププログラム。
A mashup program for operating a computer for pasting a portion cut from a cut-off Web resource to a paste-destination Web resource,
The computer,
Annotation information acquisition means for acquiring annotation information including the display target Web resource as the paste information based on the annotation information in which the cut information and the paste information are associated with each other and the information of the Web resource to be displayed; ,
Based on the cutting information included in the annotation information acquired by the annotation information acquisition unit, a cutting source acquisition unit that acquires the Web resource of the cutting source;
A cutting unit that cuts out a fragment to be cut from the Web resource of the cut source acquired by the cut source acquisition unit based on the cut information included in the annotation information acquired by the annotation information acquisition unit;
Normalization means for normalizing the fragments cut by the cut means so as to be compatible with the environment of the Web resource to be pasted;
A mashup program that causes the fragment normalized by the normalizing unit to operate as a pasting unit that pastes the fragment on the Web resource to be displayed based on the pasting information included in the annotation information acquired by the annotation information acquiring unit.
前記正規化手段は、前記切り取り手段が切り取った断片の文字符号化方式を貼り付け先の文字符号化方式に変換する文字符号化方式変換を行う請求項1記載のマッシュアッププログラム。   The mashup program according to claim 1, wherein the normalizing means performs character encoding system conversion for converting the character encoding system of the fragment cut by the cutting means into a character encoding system to be pasted. 前記コンピュータを、更に、
前記切り取り手段が切り取った断片にフォーム入力をしてプログラムを呼び出す部分が存在する場合に、貼り付け先の文字符号化方式を切り取り元の文字符号化方式に変換してから前記プログラムを呼び出すラッパプログラムを生成し、前記断片に含まれる前記プログラムを呼び出す部分を、前記ラッパプログラムを呼び出すように書き換えるプログラム呼び出し書換手段と
して機能させる請求項1記載のマッシュアッププログラム。
Said computer further
A wrapper program that calls a program after converting a character encoding method of a pasting destination to a character encoding method of a cut source when there is a part that calls a program by inputting a form into a piece cut by the cutting means The mashup program according to claim 1, wherein the mashup program functions as a program call rewriting unit that rewrites a part that calls the program included in the fragment so as to call the wrapper program.
切り取り元のWeb資源から切り取った部分を貼り付け先のWeb資源に貼り付けるマッシュアップ装置であって、
切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象のWeb資源の情報とに基づき、前記表示対象のWeb資源を貼り付け情報として含むアノテーション情報を取得するアノテーション情報取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、切り取り元のWeb資源を取得する切り取り元取得手段と、
前記アノテーション情報取得手段が取得したアノテーション情報に含まれる切り取り情報に基づき、前記切り取り元取得手段が取得した切り取り元のWeb資源から切り取るべき断片を切り取る切り取り手段と、
前記切り取り手段が切り取った断片を貼り付け先のWeb資源の環境に適合するように正規化する正規化手段と、
前記正規化手段により正規化された前記断片を、前記アノテーション情報取得手段が取得したアノテーション情報に含まれる貼り付け情報に基づき、表示対象のWeb資源に貼り付ける貼り付け手段と
を有するマッシュアップ装置。
A mashup device for pasting a portion cut from a cut-off Web resource to a paste-destination Web resource,
Annotation information acquisition means for acquiring annotation information including the display target Web resource as the paste information based on the annotation information in which the cut information and the paste information are associated with each other and the information of the Web resource to be displayed; ,
Based on the cutting information included in the annotation information acquired by the annotation information acquisition unit, a cutting source acquisition unit that acquires the Web resource of the cutting source;
A cutting unit that cuts out a fragment to be cut from the Web resource of the cut source acquired by the cut source acquisition unit based on the cut information included in the annotation information acquired by the annotation information acquisition unit;
Normalization means for normalizing the fragments cut by the cut means so as to be compatible with the environment of the Web resource to be pasted;
A mashup device comprising: a pasting unit that pastes the fragment normalized by the normalizing unit on a Web resource to be displayed based on pasting information included in the annotation information acquired by the annotation information acquiring unit.
切り取り元のWeb資源から切り取った部分を貼り付け先のWeb資源に貼り付けるコンピュータによって実行されるマッシュアップ方法であって、
前記コンピュータが、
切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象のWeb資源の情報とに基づき、前記表示対象のWeb資源を貼り付け情報として含むアノテーション情報を取得するアノテーション情報取得ステップと、
前記アノテーション情報取得ステップで取得したアノテーション情報に含まれる切り取り情報に基づき、切り取り元のWeb資源を取得する切り取り元取得ステップと、
前記アノテーション情報取得ステップで取得したアノテーション情報に含まれる切り取り情報に基づき、前記切り取り元取得ステップで取得した切り取り元のWeb資源から切り取るべき断片を切り取る切り取りステップと、
前記切り取りステップで切り取った断片を貼り付け先のWeb資源の環境に適合するように正規化する正規化ステップと、
前記正規化ステップで正規化された前記断片を、前記アノテーション情報取得ステップで取得したアノテーション情報に含まれる貼り付け情報に基づき、表示対象のWeb資源に貼り付ける貼り付けステップと
を実行するマッシュアップ方法。
A mashup method executed by a computer for pasting a portion cut from a cut-out web resource to a paste-destination web resource,
The computer is
An annotation information acquisition step for acquiring annotation information including the display target Web resource as the paste information based on the annotation information in which the cut information and the paste information are associated with each other and the information of the display target Web resource; ,
A cut source acquisition step of acquiring a cut source Web resource based on the cut information included in the annotation information acquired in the annotation information acquisition step;
A cutting step of cutting a fragment to be cut from the Web resource of the cutting source acquired in the cutting source acquisition step based on the cutting information included in the annotation information acquired in the annotation information acquisition step;
A normalizing step of normalizing the fragment cut out in the cutting step so as to be adapted to the environment of the Web resource to be pasted;
A mashup method for performing a pasting step of pasting the fragment normalized in the normalizing step on a Web resource to be displayed based on pasting information included in the annotation information acquired in the annotation information acquiring step .
JP2009137666A 2009-06-08 2009-06-08 Mashup program, mashup device, and mashup method Expired - Fee Related JP5267342B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009137666A JP5267342B2 (en) 2009-06-08 2009-06-08 Mashup program, mashup device, and mashup method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009137666A JP5267342B2 (en) 2009-06-08 2009-06-08 Mashup program, mashup device, and mashup method

Publications (2)

Publication Number Publication Date
JP2010282587A true JP2010282587A (en) 2010-12-16
JP5267342B2 JP5267342B2 (en) 2013-08-21

Family

ID=43539232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009137666A Expired - Fee Related JP5267342B2 (en) 2009-06-08 2009-06-08 Mashup program, mashup device, and mashup method

Country Status (1)

Country Link
JP (1) JP5267342B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048764A (en) * 2009-08-28 2011-03-10 Fujitsu Ltd Mash-up program, mash-up device, and mash-up method
JP2012185761A (en) * 2011-03-08 2012-09-27 Konica Minolta Business Technologies Inc Image forming apparatus, method of automated compilation of document data, and computer program
JP2015118590A (en) * 2013-12-19 2015-06-25 富士通株式会社 Information provision program, information provision method, and information provision device
JP2015146111A (en) * 2014-02-03 2015-08-13 富士通株式会社 Aggregation program, terminal device, and aggregation method
JPWO2016039254A1 (en) * 2014-09-08 2017-04-27 日本電信電話株式会社 Annotation device, annotation method, and annotation program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110427A (en) * 2002-09-18 2004-04-08 Hitachi Software Eng Co Ltd Web contents conversion method and system
JP2005025295A (en) * 2003-06-30 2005-01-27 Fujitsu Ltd Content conversion program, method and device thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110427A (en) * 2002-09-18 2004-04-08 Hitachi Software Eng Co Ltd Web contents conversion method and system
JP2005025295A (en) * 2003-06-30 2005-01-27 Fujitsu Ltd Content conversion program, method and device thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048764A (en) * 2009-08-28 2011-03-10 Fujitsu Ltd Mash-up program, mash-up device, and mash-up method
JP2012185761A (en) * 2011-03-08 2012-09-27 Konica Minolta Business Technologies Inc Image forming apparatus, method of automated compilation of document data, and computer program
US8773728B2 (en) 2011-03-08 2014-07-08 Konica Minolta, Inc. Image forming apparatus, method for automatically editing document data, and computer-readable storage medium for computer program
JP2015118590A (en) * 2013-12-19 2015-06-25 富士通株式会社 Information provision program, information provision method, and information provision device
JP2015146111A (en) * 2014-02-03 2015-08-13 富士通株式会社 Aggregation program, terminal device, and aggregation method
JPWO2016039254A1 (en) * 2014-09-08 2017-04-27 日本電信電話株式会社 Annotation device, annotation method, and annotation program
US10402242B2 (en) 2014-09-08 2019-09-03 Nippon Telegraph And Telephone Corporation Annotation apparatus, annotation method, and computer-readable recording medium

Also Published As

Publication number Publication date
JP5267342B2 (en) 2013-08-21

Similar Documents

Publication Publication Date Title
JP3857663B2 (en) Structured document editing apparatus, structured document editing method and program
JP5947888B2 (en) Live browser tooling in an integrated development environment
US20110035435A1 (en) Method and system for converting desktop application to web application
US9122762B2 (en) Method and system to maintain a web page
US20120047423A1 (en) Virtual html anchor
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
JP5267342B2 (en) Mashup program, mashup device, and mashup method
JP2017504129A (en) Construction of a state expression represented in a web browser
US9934029B2 (en) Annotation driven representational state transfer (REST) web services
JP5151696B2 (en) Program to rewrite uniform resource locator information
JP2010170453A (en) Static web site construction method, static web site construction service providing method, dynamic/static conversion processor, and dynamic/static conversion processing program
JP2009031960A (en) Technology for relaying communication between client device and server device
KR20190033381A (en) Mass webpage document transforming method, and system thereof
JP5476867B2 (en) Mashup program, mashup device, and mashup method
US7802185B1 (en) System and method for producing documents in a page description language in response to a request made to a server
JP2009026013A (en) Content registration/provision device, content registration/provision control method, and content registration/provision control program
JP4018528B2 (en) Document processing apparatus, document processing method, and program
JP2002229578A (en) Device and method for voice synthesis, and computer- readable recording medium with recorded voice synthesizing program
JP5276903B2 (en) Browsing system, plug-in program, and introduction program
JP2010204863A (en) Annotation program, annotation device and annotation method
US8639732B2 (en) Method for storing and reading-out data handled by application operating on HTTP client, data storage program, and data read-out program
JP2007265420A (en) Hyperlink method for structured document and hyperlink device
JP2008117339A (en) Method and device for defining shortcut to optional function of web application
JP2005339379A (en) System and method for information display
JP4201206B2 (en) CGI program creation method, recording medium recording program according to the method, and CGI program creation device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees