JP2010282587A - Mash up program, mash up device, and mash up method - Google Patents
Mash up program, mash up device, and mash up method Download PDFInfo
- 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
Links
Images
Abstract
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.
しかしながら、通常のクリッピングやスクレイピングでは元の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.
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では、ネットワーク上の資源の一例として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
アノテーション情報取得部3は現在注目しているWebページの所在情報を貼り付け先の所在情報とするアノテーション情報1を取得する。アノテーション情報取得部3が取得したアノテーション情報1には、何をマッシュアップするかの情報、すなわち、切り取り元の所在情報、切り取り元の構造位置が含まれる。したがって、切り取り元取得部4はアノテーション情報1に基づき、ネットワークから切り取り元の所在情報の切り取り元資源(Webページ)5を取得する。
The annotation
切り取り部6は切り取り元取得部4が取得したWebページを解析し、アノテーション情報1に含まれる切り取り元の構造位置の情報に基づいて、切り取り元取得部4が取得したWebページから切り取るべき断片(HTML断片)を切り取る。
The
正規化部7は切り取り部6が切り取ったHTML断片を、貼り付け先のWebページの環境に適合するように正規化する。具体的に、正規化としては、(1)切り取られた部分の文字符号化方式と貼り付け先の文字符号化方式とを推測し、切り取られた部分の文字符号化方式を貼り付け先の文字符号化方式に変換する文字符号化方式変換と、(2)切り取られた部分のデータ中にあるリンク、画像、プログラム等の中で相対パスにより記述されたURIを絶対パスに変換する絶対パス変換と、を行う。さらに、切り取られた部分にプログラムの呼び出しを含む場合には、プログラム呼び出し変換部8が、後述するようなプログラム呼び出し変換も行う。
The normalization unit 7 normalizes the HTML fragment cut out by the cut-out
貼り付け部9はアノテーション情報1に記述された貼り付け情報に基づき、正規化された断片を現在注目している(表示しようとしている)Webページに適切な形式で貼り付ける。具体的に貼り付け部9は現在注目しているWebページである貼り付け先資源10の埋め込むべき構造位置に、適切な表示形式で表示されるようなHTML断片として埋め込む(木構造上で接ぎ木する)。なお、埋め込むと言っても表示上では浮き上がっているようなものでも構わない(HTML上では、どこかに埋め込まれていることになる)。
Based on the pasting information described in the
貼り付け部9は、正規化されたHTML断片が埋め込まれたHTML(切り取り元のWebページの木構造が接ぎ木された木構造)をマッシュアップ結果データ11として出力する。このデータ(木構造)は、一般的にWeb閲覧器のレンダリングエンジンによってレンダリングされる。レンダリングエンジンは現在注目しているWebページに切り取り元の情報や機能を貼り付けて表示する。
The
なお、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
本実施例によるマッシュアップ方法では、指定された他の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
ここでは、窓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
正規化部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
しかし、窓22に入力されるテキストXはWebページKの文字符号化方式である文字符号化方式Bのテキストであり、文字符号化方式BのテキストXがプログラムPに渡されることになる。
However, the text X input to the
文字符号化方式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
フォーム入力存在確認部31は、フォーム入力をしてプログラムPを呼び出す部分が切り取った部分に存在するかを確認する。切り取り元文字コード確認部32は、切り取り元の文字符号化方式を確認する。貼り付け先文字コード確認部33は、貼り付け先の文字符号化方式を確認する。フォーム入力存在確認部31,切り取り元文字コード確認部32及び貼り付け先文字コード確認部33の処理は並行して行われる。
The form input
切り取った部分にフォーム入力があり、フォーム入力を引数としてプログラム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
プログラム呼び出し変換部8が行う処理は例えば図4に示すようになる。図4はプログラム呼び出し変換部が行う処理を説明する為の説明図である。ラッパプログラム生成部34は切り取った部分に含まれるプログラムPで利用する引数のすべてを文字符号化方式Bから文字符号化方式Aに変換して元のプログラムPを呼び出すラッパプログラムP′を生成する。また、プログラム呼び出し書換部35は切り取った部分に含まれるプログラムPを呼び出す部分を、ラッパプログラムP′を呼び出すように書き換える。
The processing performed by the program
これにより、本実施例ではラッパプログラム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
なお、上記ではフォーム入力としたが、擬似的なフォーム入力(利用者が窓からテキストを入力するのではなく、あらかじめテキストが与えられていたり、何らかの処理結果によってテキストが生成されてプログラムに渡されたりするもの)も含むものとする。 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
図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
ユーザはシステムが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
ここでは図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
また、ここでは図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
貼り付け先の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
一方、図1のプログラム呼び出し変換部8の処理が有れば、検索窓に入力された「特許庁」という文字列は文字化けせず、正しく伝わる。ユーザは図13に示すように、切り取り元のWebページによる正しい検索結果を貼り付け先のWebページに表示することができる。図13は切り取り元のWebページによる検索結果が表示された貼り付け先のWebページの一例のイメージ図である。
On the other hand, if the processing of the program
なお、上記の処理では切り取り元の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
貼り付け先の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
Webマッシュアップ設定装置100はユーザに切り取り部分および貼り付け先を指定させる。Webマッシュアップ実現装置110はユーザに指定された切り取り部分および貼り付け先に基づいたマッシュアップ結果を表示する。アノテーション管理サーバ120はマッシュアップするためのデータを管理する。Webマッシュアップ設定装置100及びWebマッシュアップ実現装置110はWeb閲覧器の拡張機能として実施される。図14ではWebマッシュアップ設定装置100とWebマッシュアップ実現装置110とを分けているが、一つのWeb閲覧器の拡張機能として同時に実現してもよい。
The web
Webマッシュアップ設定装置100は、Web閲覧器101,切り取り元選定部102,範囲提示選定部103,貼り付け先選定部104,アノテーション管理部105を有する。
The web
範囲提示選定部103は、通常のWeb閲覧器101によるWebページの表示においてユーザの特定の操作を受けることで、切り取り範囲や貼り付け先の位置の候補をユーザのキーボードやマウス操作などによって提示する。範囲提示選定部103は、指定された操作(例えばctrl−cやctrl−v)によって現在表示されている範囲に相当する木構造上の位置を返す。
The range
切り取り元選定部102はユーザの特定の操作によって切り取り候補の提示・取得作業を開始し、指示された範囲の切り取りを行う(実際には切り取り位置を取得する)。貼り付け先選定部104はユーザの特定の操作(例えば切り取り終了や特定のキー操作)によって貼り付け候補の提示・取得作業を開始し、指示された位置を貼り付け先と決定(実際には貼り付け位置を取得する)し、切り取り情報(切り取ったWebページのURIと切り取った部分のXPath)と貼り付け情報(貼り付けるWebページのURIである貼り付け先URIと貼り付け位置のXPath)とをセットとしてアノテーション管理部105に渡す。
The cut
アノテーション管理部105は与えられた切り取り情報と貼り付け情報とをセットにしたアノテーション情報の登録をアノテーション管理サーバ120に依頼する。なお、切り取りから貼り付けの間にはWeb閲覧器101による一般的なWebページ間の移動やWebページ内での移動などが行われる。
The annotation management unit 105 requests the
Web閲覧器101による一般的なWebページ間の移動やWebページ内での移動などの作業が一連の作業として行われることを前提とする場合は、切り取り情報を一時的にメモリに保持しても良いが、切り取り作業の終了時に切り取り情報を外部のファイルに書き込み、貼り付け作業の開始時に適切な切り取り情報を外部のファイルから取り出すという形態でも良い。
When it is assumed that operations such as general movement between Web pages by the
アノテーション管理サーバ120は、アノテーションデータベース管理部121,アノテーションデータベース122を有する。アノテーションデータベース管理部121はWebマッシュアップ設定装置100からの依頼を受け、切り取り情報と貼り付け情報とをセットとしたアノテーション情報をアノテーションデータベース122に登録する。
The
また、アノテーションデータベース管理部121はWebマッシュアップ実現装置110からの依頼を受け、指定されたURIを貼り付け先URIとして持つアノテーション情報を返す。なお、アノテーション管理サーバ120は、Webマッシュアップ設定装置100及びWebマッシュアップ実現装置110と同一のコンピュータ上に実現しても構わないし、ネットワークを介して繋がった別のコンピュータ上に実現しても構わない。
Also, the annotation
Webマッシュアップ実現装置110は、Web閲覧器111,切り出し情報取得部112,正規化部113,貼り付け位置獲得部114,合成部115,アノテーション管理部116を有する。
The web
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
正規化部113は切り出されたHTML断片を、貼り付け先のWebページの環境に適合するように正規化する。貼り付け位置獲得部114はアノテーション情報に記述された貼り付け先のXPathからHTML断片を貼り付ける貼り付け位置を求める。
The normalizing
合成部115は、貼り付け位置獲得部114が求めた貼り付け位置に正規化されたHTML断片を貼り付ける。なお、正規化されたHTML断片が合成部115により貼り付けられたWebページのDOMツリーは、後述するように、レンダリングエンジンによってレンダリングされて表示される。
The combining unit 115 pastes the normalized HTML fragment at the pasting position obtained by the pasting
図14のWebマッシュアップ設定装置100,Webマッシュアップ実現装置110及びアノテーション管理サーバ120は、例えば図15に示すコンピュータシステムにより実現できる。
The web
図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
入力装置151はキーボードやマウス等である。入力装置151は各種信号を入力するために用いられる。出力装置152はディスプレイ装置等である。出力装置152は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置157はモデムやLANカードなどであり、ネットワークに接続する為に用いられる。
The
本実施例のマッシュアッププログラムはWebマッシュアップ設定装置100,Webマッシュアップ実現装置110を制御する各種プログラムに含まれる。マッシュアッププログラムは例えば記録媒体158の配布やネットワークからのダウンロードなどによって提供される。マッシュアッププログラムを記録した記録媒体158は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
The mashup program of this embodiment is included in various programs for controlling the web
マッシュアッププログラムを記録した記録媒体158がドライブ装置153にセットされると、マッシュアッププログラムは記録媒体158からドライブ装置153を介して補助記憶装置154にインストールされる。
When the
ネットワークからダウンロードされたマッシュアッププログラムはインターフェース装置157を介して補助記憶装置154にインストールされる。補助記憶装置154はインストールされたマッシュアッププログラムを格納すると共に、必要なファイル,データ等を格納する。
The mashup program downloaded from the network is installed in the
主記憶装置155は、コンピュータの起動時に補助記憶装置154からマッシュアッププログラムを読み出して格納する。そして、演算処理装置156は主記憶装置155に格納されたマッシュアッププログラムに従って、後述の各種処理を実現している。
The
(マッシュアッププログラムが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
ネットワークを経由して受信されたHTML文書161をHTMLパーサ162は解析して、木構造(DOMツリー)163を生成する。これと同時に、Javascriptエンジン165はHTML文書161中にあったJavascriptプログラム164を実行し、DOMツリー163の中身を書き換える。書き換えられたDOMツリー163はレンダリングエンジン166に送られる。
The
レンダリングエンジン166は送られてきたDOMツリー163を画面で見える形に変換する。そして、ユーザインタフェース167を介したユーザの操作等によってJavascriptエンジン165はJavascriptプログラム164に従って、DOMツリー163を書き換え、表示させる内容を変化させる。
The
マッシュアッププログラム168は、典型的にWeb閲覧器160の中に保持される(すなわち、Web閲覧器160に組込まれる、あるいは機能拡張として付け加えられる形で実現される)。
The
そして、読み込まれたHTML文書161のJavascriptプログラム164が実行されるのに追加して、マッシュアッププログラム168は実行され、DOMツリー163を書き換える。
Then, in addition to the
なお、マッシュアッププログラム168が参照するアノテーションデータベース等のデータはWeb閲覧器160の外部に保持される。マッシュアッププログラム168を保持する別の実施形態としては、読み込まれるHTML文書161に、マッシュアッププログラム168を保持しておくことが考えられる。この実施形態では、適用できるWebページが限定されるが、Web閲覧器160にマッシュアッププログラム168を保持するのと同じ効果を持たせることができる。
Note that data such as an annotation database referred to by the
以下では、図14のシステムにおけるWebマッシュアップ設定装置100及びWebマッシュアップ実現装置110の処理について説明する。
Hereinafter, processing of the web
(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
図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
まず、ステップS5に進み、切り出し情報取得部112は受け取ったアノテーション情報に記述された切り取り元のURIを獲得する。ステップS6に進み、切り出し情報取得部112は獲得した切り取り元のURIをWeb閲覧器111に渡し、切り取り元のURIのWebページをネットワークから獲得する。ステップS7に進み、Web閲覧器111は獲得した切り取り元のURIのWebページを、HTMLパーサ162によって解析する。
First, in step S5, the cut-out
ステップS8に進み、切り出し情報取得部112はアノテーション情報に記述された切り取り元のXPathから切り取り位置を求め、切り取り元のWebページの切り取り位置からHTML断片を取り出す。ステップS9に進み、正規化部113は取り出されたHTML断片を、貼り付け先のWebページの環境に適合するように正規化する。正規化の詳細は後述する。
In step S8, the cutout
ステップS10に進み、貼り付け位置獲得部114はアノテーション情報に記述された貼り付け先のXPathと、ステップS3で抽出された木構造とに基づき、HTML断片を貼り付ける木構造上の貼り付け位置を獲得する。ステップS11に進み、合成部115は貼り付け位置獲得部114が獲得した貼り付け位置に、正規化されたHTML断片を埋め込む(接ぎ木する)。
In step S10, the paste
ステップ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
ここでは、図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 information as shown in FIG. FIG. 19 is a configuration diagram of an example of annotation information. The cutout
Take out. The cutout
切り出し情報取得部112はアノテーション情報に記述された切り取り元の切り取り位置としてXPath「/html/body/div[1]/div[2]/div[6]/div[1]」を求め、パージングされた図20のような木構造上における切り取り位置を求める。図21は木構造上における切り取り位置を示した一例の構成図である。図21の構成図では木構造上における切り取り位置を矢印で示している。
The clipping
切り出し情報取得部112は、木構造上における切り取り位置で指定されるノード全体をHTML断片として取り出す。具体的には、図22に示した
<div id=”searchBody” class=pBody”>から</div>
までのHTMLテキスト220になる。なお、図22では説明に関係ないノードをまとめて表示している。取り出されたHTML断片は後述するように正規化部113が必要に応じて正規化する。
The cutout
From <div id = ”searchBody” class = pBody ”></div>
It becomes
次に、貼り付け位置獲得部114はHTML断片を貼り付ける木構造上の貼り付け位置を求める。具体的には、貼り付け先のWebページのパージング結果である木構造上でアノテーション情報の貼り付け位置に相当する位置を求める。図19のアノテーション情報の場合は貼り付け位置として「/html/body/table/tbody/tr[4]/th/h2」を求める。図23は木構造上における貼り付け位置を示した一例の構成図である。図23の構成図では木構造上における貼り付け位置を矢印で示している。
Next, the pasting
そして、合成部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
例えばレンダリングエンジン166は木構造のタグを解釈することで、<title>はタイトル、<h2>はヘッダ、<p>は段落、として見える形に変換し表示することができる。
For example, the
(Webマッシュアップ設定装置100)
Webマッシュアップ設定装置100を組込んだ典型的なWeb閲覧器101は、切り取り元選定部102、範囲提示選定部103、貼り付け先選定部104、アノテーション管理部105を有する。
(Web mashup setting device 100)
A typical
図24は、切り取り元選定部の処理を表したフローチャートである。切り取り元選定部102は、Web閲覧器101に埋め込まれたコマンド(キー操作やメニュー、ボタンなど)により起動される。
FIG. 24 is a flowchart showing the processing of the cutting source selection unit. The cut
ステップS21に進み、起動された切り取り元選定部102はモードを切り取りとして範囲提示選定部103を起動する。ステップS22に進み、切り取り元選定部102は範囲提示選定部103から切り取り位置のノード(XPath)を受け取る。ステップS23に進み、切り取り元選定部102は範囲提示選定部103から受け取った切り取り位置のノード(XPath)を切り取り情報として一時的に格納して終了する。
Proceeding to step S21, the activated cut-off
図25は、貼り付け先選定部の処理を表したフローチャートである。貼り付け先選定部104は、切り取り元選定部102の終了によって、あるいはWeb閲覧器101に埋め込まれたコマンド(キー操作やメニュー、ボタンなど)により起動される。
FIG. 25 is a flowchart showing the processing of the paste destination selection unit. The paste
ステップS31に進み、起動された貼り付け先選定部104はモードを貼り付けとして範囲提示選定部103を起動する。ステップS32に進み、貼り付け先選定部104は範囲提示選定部103から貼り付け位置のノード(XPath)を受け取る。
In step S31, the started paste
ステップS33に進み、貼り付け先選定部104はアノテーション管理部105を呼び出し、一時的に格納してあった切り取り情報と範囲提示選定部103から受け取った貼り付け位置のノード(XPath)である貼り付け情報とをセットにして、アノテーションデータベース122に登録する。
In
図26は、範囲提示選定部の処理を表したフローチャートである。範囲提示選定部103はユーザのアクション等により、切り取り位置、或いは、貼り付け位置のノード(XPath)を切り取り元選定部105又は貼り付け先選定部104に返すものである。具体的に範囲提示選定部103は、例えばマウスカーソルの移動によって現在注目している木構造上のノードを画面上で選定させ、木構造上のノードをマウスクリックによって確定させるものである。
FIG. 26 is a flowchart showing the processing of the range presentation selection unit. The range
ステップS41に進み、範囲提示選定部103は、現在が切り取り作業のための範囲提示なのか、貼り付け作業のための範囲提示なのかのモードを受け取る。例えば範囲提示選定部103は切り取り元選定部102から切り取り作業のための範囲提示であることを示す切り取りモードを受け付ける。また、範囲提示選定部103は貼り付け先選定部104から貼り付け作業のための範囲提示であることを示す貼り付けモードを受け付ける。範囲提示選定部103は受け付けたモードを起動させる。
In step S41, the range
ステップS42に進み、範囲提示選定部103は、画面上のマウスカーソルの位置を求める。ステップS43に進み、範囲提示選定部103は画面上のマウスカーソルの位置に対応するWebページの木構造上の位置を求める。ステップS44に進み、範囲提示選定部103は画面上のマウスカーソルの位置に対応するWebページの木構造上の位置から適切なノード(要素)を現在のノードとして求める。例えば範囲提示選定部103は文字や文字間(#textノード)ならば、上位ノード(pノード、tdノード、h1ノードなど)を現在のノードとする。
In step S42, the range
ステップS45に進み、範囲提示選定部103は現在のノードを囲う枠をモードに合わせて表示する。範囲提示選定部103は例えば切り取り作業の枠の色と貼り付け作業の枠の色とを変更する。また、範囲提示選定部103はマウスカーサの動きにより枠を大きくしたり小さくしたりする。
In step S45, the range
ステップ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
(正規化部113)
図27は、正規化部の処理を表したフローチャートである。正規化部113は切り取られた部分データ(HTML断片)を受け取ると、ステップS51に進み、切り取られた部分データを貼り付け先のWebページの環境に適合するように、文字符号化方式の変換を行う。文字符号化方式の変換は、切り取られた部分の文字符号化方式および貼り付け先の文字符号化方式を推測し、切り取られた部分の文字符号化方式を貼り付け先の文字符号化方式に変換するものである。
(Normalization unit 113)
FIG. 27 is a flowchart showing the processing of the normalization unit. When the
ステップS52に進み、正規化部113はHTML断片を貼り付け先のWebページの環境に適合するように、絶対パスの変換を行う。絶対パスの変換は、切り取られた部分データ中にあるリンク、画像、プログラム等の相対パスで記述されたファイル名を絶対パスに変換するものである。なお、ステップS51及びステップS52の処理の順序は任意である。
In step S52, the
ステップS53に進み、正規化部113はプログラム呼び出し変換部8を呼び出して後述のプログラム呼び出し変換を行う。
In step S53, the
ステップ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
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
ステップ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
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
属性ノードが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
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
例えば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
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
(プログラム呼び出し変換部8)
プログラム呼び出し変換部8は、切り取り元のWebページから切り取られたHTML断片に、何らかのテキストの入力を受けて、入力されたテキストを引数として何らかのプログラムを呼び出しているプログラム呼び出しを含む場合に、プログラム呼び出し変換を行うものである。
(Program call conversion unit 8)
The program
図30はプログラム呼び出し変換処理を表したフローチャートである。ステップS81に進み、プログラム呼び出し変換部8のフォーム入力存在確認部31は切り取り元のWebページから切り取られたHTML断片に、何らかのテキストの入力を受けて、入力されたテキストを引数として何らかのプログラムを呼び出している部分(フォーム入力)が存在するかを確認する。
FIG. 30 is a flowchart showing the program call conversion process. In step S81, the form input
フォーム入力が存在すれば、プログラム呼び出し変換部8の切り取り元文字コード確認部32はステップS82に進み、切り取り元の文字符号化方式を取得する。プログラム呼び出し変換部8の貼り付け先文字コード確認部33はステップS83に進み、貼り付け先の文字符号化方式を取得する。
If there is a form input, the cut source character
ステップS84に進み、プログラム呼び出し変換部8のラッパプログラム生成部34は貼り付け先の文字符号化方式を切り取り元の文字符号化方式に変換してから元々のプログラムであるPを呼び出すようなラッパプログラムP′を生成する。
In step S84, the wrapper
ステップS85に進み、プログラム呼び出し変換部8のプログラム呼び出し書換部35は切り取られたHTML断片に含まれるプログラムPを呼び出す部分をラッパプログラムP′を呼び出すように書き換える。なお、ステップS81においてフォーム入力が存在しなければ、プログラム呼び出し変換部8は図30のフローチャートの処理を終了する。図30のフローチャートの処理後、プログラム呼び出し変換部8は正規化の結果としてHTML断片を正規化部7に返す。
In step S85, the program
フォーム入力の存在は、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
ラッパプログラム生成部34はデータの送信形式に合わせてデータを受け取り、それぞれのデータに対して、文字符号化方式をステップS83で獲得した貼り付け先の文字符号化方式から切り取り元の文字符号化方式に変換するプログラムをかけたあと、呼び出しプログラムを呼び出すラッパプログラムP′を作成する。
The wrapper
そして、プログラム呼び出し書換部35は元のプログラム呼び出しをラッパプログラムP′を呼び出すように書き換える。
Then, the program
なお、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
本発明は、以下に記載する付記のような構成が考えられる。
(付記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
(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
(Appendix 4)
The annotation information includes any one of
(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
6 Cutout part 7
Claims (5)
前記コンピュータを、
切り取り情報と貼り付け情報とが対応付けられているアノテーション情報と、表示対象の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記載のマッシュアッププログラム。 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資源に貼り付ける貼り付け手段と
を有するマッシュアップ装置。 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資源に貼り付ける貼り付けステップと
を実行するマッシュアップ方法。 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 .
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)
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)
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 |
-
2009
- 2009-06-08 JP JP2009137666A patent/JP5267342B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |