JP2004046357A - Method and system for editing document, server device and document editing program - Google Patents

Method and system for editing document, server device and document editing program Download PDF

Info

Publication number
JP2004046357A
JP2004046357A JP2002200284A JP2002200284A JP2004046357A JP 2004046357 A JP2004046357 A JP 2004046357A JP 2002200284 A JP2002200284 A JP 2002200284A JP 2002200284 A JP2002200284 A JP 2002200284A JP 2004046357 A JP2004046357 A JP 2004046357A
Authority
JP
Japan
Prior art keywords
document
partial
partial document
structured
page
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
JP2002200284A
Other languages
Japanese (ja)
Other versions
JP3944014B2 (en
Inventor
Shinichiro Hamada
浜田 伸一郎
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002200284A priority Critical patent/JP3944014B2/en
Priority to US10/614,315 priority patent/US7228496B2/en
Publication of JP2004046357A publication Critical patent/JP2004046357A/en
Priority to US11/736,676 priority patent/US20070192716A1/en
Application granted granted Critical
Publication of JP3944014B2 publication Critical patent/JP3944014B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a document editing method and its system for easily editing contents included in a structured document in a sub-content unit as an operation unit finer than the content. <P>SOLUTION: In the partial document which matches or included in the structured document composed at least of one element and is previously decided as the operation unit, information showing that the partial document is the operation unit is included. Part data for every partial document which includes at least the partial document and the positional information of the partial document are prepared on the basis of the information. The structured document is stored in a storage means as a set of part data. The structured document is edited by updating part data corresponding to the partial document being an object of an operation in accordance with an operation content to the partial document selected as the object of the operation. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、XML文書、HTML文書などの構造化文書の編集方法および装置に関する。
【0002】
【従来の技術】
WWW(World Wide Web)において、ショッピングサイトでは商品カタログを、ニュースサイトではニュース記事を、一覧列挙するページを持っている。またポータルサイトの多くは、トップページにおいて、ポートレットと呼ばれる部分ページエリアに、株価情報・気象情報・ヘッドラインニュースなど、異なるジャンルの情報を、組み合わせて記載している。ここでは、このジャンル毎の情報をサブコンテンツと呼ぶことにすると、最近は、インターネットを介して閲覧することのできるWebページには、従来の文書的なWebページと異なり、内部に含まれるサブコンテンツ同士の独立性が高く、寄せ集め的に構成されているWebページが増えてきている。
【0003】
このようなWebページに対して、ユーザからは、ページ全体を順に読んでいくのではなく、興味のあるサブコンテンツだけを選択的に閲覧したいという要望が高まってきている。閲覧のみに限らず、例えば、以下に示すような要望がある。
【0004】
1) サブコンテンツ単位で、比較・並べ替えたい
2) サブコンテンツ単位で、分類・整理したい
3) サブコンテンツ単位で、収集・保存したい
しかし、現在のブラウザでは、上記要望に対応できる機能を持つものはない。
【0005】
【発明が解決しようとする課題】
このように、従来は、1つのWebページ内全体を閲覧することは可能でも、異なる複数のWebページのそれぞれから、各Webページ内に含まれている、例えば、それぞれが内容的に独立性の高い複数のサブコンテンツのうち、所望のサブコンテンツのみを収集して、サブコンテンツ単位で、比較・並べ替え、分類・整理、保存することはできないという問題点があった。
【0006】
そこで、本発明は、上記問題点に鑑み、Webページ単位ではなく、各Webページに含まれているサブコンテンツ単位での閲覧を可能にし、しかも、1つまたは異なる複数のWebページのそれぞれから、所望のサブコンテンツのみを収集して、サブコンテンツ単位で編集することのできる文書編集方法およびシステムを提供することを目的とする。
【0007】
また、クライアント側で、Webページ単位ではなく、各Webページに含まれているサブコンテンツ単位での閲覧を可能にし、しかも、1つまたは異なる複数のWebページのそれぞれから、所望のサブコンテンツのみを収集して、サブコンテンツ単位で、比較・並べ替え、分類・整理、保存することができるようなWebページを提供することのできるサーバ装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、複数の要素から構成された文書構造を有する構造化文書を表示手段に表示するとともに、この表示された構造化文書に一致または含まれる、少なくとも1つの前記要素からなる予め操作単位として定められた部分文書を基に前記表示された構造化文書を編集するものであって、前記部分文書には、少なくとも当該部分文書が前記操作単位であることを表す情報が含まれており、この情報を基に、少なくとも前記部分文書と、当該部分文書の前記文書構造上の位置情報とを含む前記部分文書毎の部品データを作成して、前記構造化文書を前記部品データの集合として記憶手段に記憶し、操作対象として選択された前記部分文書に対する操作内容に応じて、当該操作対象の部分文書に対応する前記部品データを更新することにより前記構造化文書を編集することを特徴とする。
【0009】
本発明によれば、構造化文書に含まれている、操作単位の部分文書を表す情報を基に識別することができる各部分文書のそれぞれについて、その付加情報を基に、上記部品データ(ページ部品)を作成することで、このページ部品を基に、画面上に表示された内容をサブコンテンツ単位(部分文書単位)で容易に編集操作を行うことできる。
【0010】
従って、構造化文書として、例えばWebページ単位ではなく、各Webページに含まれているサブコンテンツ単位での閲覧を可能にし、しかも、1つまたは異なる複数のWebページのそれぞれから、所望のサブコンテンツのみを収集して、サブコンテンツ単位で編集することができるようになる。
【0011】
本発明のサーバ装置は、複数の要素から構成された文書構造を有する構造化文書を表示手段に表示するとともに、この表示された構造化文書に一致または含まれる、少なくとも1つの前記要素からなる予め操作単位として定められた部分文書を基に前記表示された構造化文書を編集するクライアント装置に対し、前記構造化文書を配信するものであって、前記クライアント端末に配信する前記構造化文書には、少なくとも当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報が含まれいる(すなわち、クライアント端末に配信する構造化文書はブロックWeb文書である)ことを特徴とする。
【0012】
本発明によれば、クライアント側で、構造化文書として、例えばWebページ単位ではなく、各Webページに含まれているサブコンテンツ単位での閲覧を可能にし、しかも、1つまたは異なる複数のWebページのそれぞれから、所望のサブコンテンツのみを収集して、サブコンテンツ単位で、比較・並べ替え、分類・整理、保存することができるようなWebページを提供することができる。
【0013】
好ましくは、前記クライアント端末に配信する前記構造化文書には、当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報とともに、各部分文書について、当該部分文書のタイプと、当該部分文書のデータ形式を他のデータ形式に変換するための少なくとも1つの変換規則と、当該部分文書として前記表示手段に表示される他の構造化文書中の部分文書へのリンク情報と、当該部分文書に挿入可能な他の部分文書のタイプおよび挿入位置のうちの少なくとも1つが、当該部分文書の付加情報として含まれている。
【0014】
好ましくは、上記サーバ装置は、前記クライアント端末に配信する前記構造化文書に、少なくとも当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報が含まれいないときは、少なくとも前記操作単位としての部分文書を表す情報を挿入する手段を具備する。これにより、ブロックWeb文書でない構造化文書(例えば、標準的なHTML文書やXML文書など)もサーバ装置にて、ブロックWeb文書に変換されるので、クライアント側では、サブコンテンツ単位のWebページの編集が容易に行える。
【0015】
好ましくは、前記クライアント端末に配信する前記構造化文書に、少なくとも当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報が含まれいないときは、少なくとも前記操作単位としての部分文書を表す情報と、当該部分文書のデータ形式を他のデータ形式に変換するための少なくとも1つの変換規則とを挿入する手段を具備する。
【0016】
【発明の実施の形態】
以下、本発明の一実施形態について図面を参照して説明する。
【0017】
まず、以下の実施形態の説明で用いる用語の説明を行う。
【0018】
Web文書、Webページとは、インターネットを介して閲覧可能な、HTMLやXMLなどで記述された、複数の要素から構成された文書構造を有する構造化文書である。なお、以下の説明では、Web文書(Webページとも云う)を例にとり説明するが、この場合に限らない。インターネットを介して閲覧されることを目的として作成され、インターネットを介して取得した構造化文書でなくとも、任意のエディタで任意の目的で作成され、任意の手段で取得した、HTML文書やXML文書などの一般的な構造化文書であっても、本実施形態は適用可能である。
【0019】
サブコンテンツは、表示されたWebページ中の内容的にまとまりのある、例えば、それぞれが内容的に独立性の高い表示データであって、どのようにサブコンテンツを区切るかは、Webページの作者の意図するところである。サブコンテンツは、Webページの作者によって、全く異なる観点から様々に区切ることのできる部分文書に対応し、部分文書で当該表示データを表示することができるようになっている。従って、サブコンテンツは、1つのWebページ(Web文書)中のユーザが独立的に取り扱いたい部分ページ(部分文書)とも言える。例えば、ポータルサイトの多くは、トップページにおいて、ポートレットと呼ばれる部分的なページエリアに、株価情報・気象情報・ニュース記事など、異なるジャンルの情報を、組み合わせて記載している。例えば、ジャンル別の情報、すなわち、例えば、ニュース記事や気象情報のそれぞれが1つのサブコンテンツ(部分文書)であってもよいし、ニュース記事の中の1つ1つのニュースがサブコンテンツ(部分文書)であってもよい。サブコンテンツの内容、区切り方は特に限定するものではない。なお、1つのWebページ全体が1つの部分文書に一致し、部分文書が複数の部分文書を包含してもよい。なお、以下の説明において、サブコンテンツと部分文書とを同等にみなしてもよい。
【0020】
(各機能の概要)
本実施形態に係る文書編集システムの概要を説明する。ここでの説明では、広くWeb表示機能を持つソフトウェア一般の総称として、ブラウザと呼んでおり、Internet Explorer(商標)やNetscape(商標)などのWeb表示機能を主眼に置いたソフトウェアに限定しているのではない。たとえば、本実施形態に係る文書編集システムではWeb文書の表示機能を持つデータベースを装備しており、これもブラウザと呼んでいる。
【0021】
1) ブラウザ上でのドラッグドロップなどのGUI操作で、サブコンテンツを自由に再配置する機能(比較・並べ替えのニーズに対応)
2) あるブラウザから別のブラウザへ、ドラッグドロップなどのGUI操作でサブコンテンツを受け渡す機能(分類・整理のニーズに対応)
3) サブコンテンツが含まれていないページを表示するブラウザを開き、さまざまなページから取り込みたいサブコンテンツをドラッグドロップなどのGUI操作でそのブラウザへ受け渡す機能(収集・保存のニーズに対応)
この基本的な機能仕様により、ユーザからの上記ニーズをカバーすることができる。この基本機能仕様を核として周辺機能を付加し、完全な機能仕様を設計した。
【0022】
図1は、それらの機能を俯瞰したものである。以下、図1を基に機能仕様について概説する。ただし図1は利用形態をわかりやすく説明するための機能フロー例であり、実際のシステム設計での構成は後述のように異なるため、機能ブロック図ではない。
【0023】
本システムのブラウザは、インターネットあるいはファイルシステムなどにあるWebページを読み込むと、従来のブラウザと同様Webページを表示するが、それに加えて、サブコンテンツをユーザが便利に取り扱うための多くの操作機能、すなわち、図1の1−1〜1−14を提供する。以下、これら各機能1−1〜1−14について、その概要を説明する。
【0024】
(自由な再配置機能1−1) 機能の1つは、ブラウザ上でのサブコンテンツの自由な再配置機能である。ユーザはブラウザのWeb表示部において、ドラッグドロップなどのGUI操作を用いて、任意のサブコンテンツを別の位置へ動かすことができる。自由といっても、ドット単位で完全に自由なモードと、枠に沿って配置するレイアウトモードの2種類がある。これにより、たとえば、ショッピングサイトでの商品列挙ページにおいて、商品の並びをユーザの都合で閲覧中に変更することができるなどの効果がある。
【0025】
(ソート機能1−2) また、それに関連する機能としてソート機能がある。ソート機能1−2は、メニューやツールボタンなどから機能を選ぶことによって起動する。ページに含まれるすべてのサブコンテンツあるいは指定されたサブコンテンツの中で、特定項目の内容にしたがって並べ替えることができる。これにより、たとえば、ショッピングサイトでの商品を値段や種別で並べ替えることができるので、商品比較が容易となる効果がある。これに加えて、後述の図1中のページ間受け渡し機能1−4をあわせ用いることで、さまざまなWebサイトやWebページの商品アイテム同士を比較することもできる。
【0026】
従来であれば、異なるWebサイトのコンテンツ同士の比較については、直接的な機械の支援を受けることができず、人間が目で比較するしかなかった。
【0027】
(検索機能1−3) また、サブコンテンツの検索機能がある。検索機能は、メニューやツールボタンなどから機能を選ぶことによって起動する。ページの中から、ユーザの入力する条件にしたがって検索を行い、その結果を同ブラウザ内で選択状態にする(フォーカスを当てて、ユーザに対してどれが該当しているかを示す)か、図1中の新規空ページ作成機能1−9を用いて別ウィンドウとしてブラウザを開き、そこに該当するサブコンテンツを載せるか、の2種類の方法が提供される。また、この検索機能を繰り返し使うことで、順次検索絞込みをすることもできる。
【0028】
(ページ間受け渡し機能1−4) 次の機能として、異なるブラウザで表示されているWebページ同士で、サブコンテンツを受け渡す機能がある。複数のWebサイトあるいはWebページで別々に表示されているサブコンテンツを同じページで見ることができる。この機能には先ほど述べた効果があるが、さらに図1の新規空ページ作成機能1−9と合わせ用いることで、新規のページに興味のあるサブコンテンツだけを収集、さらにその中で比較することができる。
【0029】
(形式の調整機能1−5) また、その補助機能として、形式(タイプ)の調整機能がある。異なるWebページ間でサブコンテンツを受け渡す場合、そのサブコンテンツのタイプがそぐわない場合がある。たとえば商品列挙ページはページごとに表示形式やデータ形式が異なる場合がある。そのまま挿入することも可能であるが、ソート1−2などをあわせて利用することでサブコンテンツを比較したい場合には、不便である。形式(タイプ)の調整機能1−5はこの問題を自動的に解決するもので、システムがサブコンテンツのタイプが受ける側のページに合わないと判断すると、システムが持つWeb形式変換ルールのデータベースから適切なものを探し出し、変換ルールを適用してタイプをそろえてから挿入する。
【0030】
(デザイン切替1−6) その他の機能としてデザイン(表示形式あるいはスタイルとも云う)の切り替えがある。デザインの切り替え機能はメニューやツールボタンなどから機能を選ぶことによって起動する。デザインの切り替え機能は、単一あるいは複数のサブコンテンツに対して、コンテンツはそのままにデザインを切り替える方法である。たとえば、Webに列挙されている商品カタログに対して、データスペックがわかりやすい表示形式や商品デザインがわかりやすい表示形式に切り替えることができる。ただしこの機能は、WebページがXMLなどのようにデータとスタイルシート(表示方法)を分離して記述されている場合にのみ利用可能である。
【0031】
(挿入機能1−7) サブコンテンツを他のサブコンテンツ内に子挿入する機能がある。この機能を利用することで、たとえばユーザは商品カタログの中に商品カタログを収めることができる。この機能は再帰的であり、サブコンテンツの中にサブコンテンツを入れ、また内部のサブコンテンツに別のサブコンテンツを入れるという処理を無限に行うことができる。
【0032】
(受け入れ判定機能1−8) サブコンテンツの受け入れ判定機能1−8は、上記した自由な再配置機能1−1、ページ間受け渡し機能1−4など、ドラッグドロップなどのGUI操作で別の場所にサブコンテンツを挿入する際に自動的に起動される機能である。この機能により、挿入動作を実行する際、受け入れる側となるWebページ、あるいは挿入機能1−7を利用した場合は、別のサブコンテンツが挿入を受け入れるための条件が設定されていた場合、その条件を満たさない場合は、挿入処理をキャンセルする。受け入れ条件としては、サブコンテンツの形式に関して与えることができる。
【0033】
この機能1−8は形式の調整機能1−5と連動する。もし挿入対象のサブコンテンツが受け入れ側の条件を満たさない場合、形式の調整機能1−5の機能を用いて、受け入れ可能なタイプに変換できるかどうかを試みる。もし受け入れ可能なタイプへの変換方法が見つかった場合にはそのタイプで挿入される。もし見つからなければ、挿入処理はキャンセルされる。
【0034】
(新規空ページ作成機能1−9) 新規の空ページを作成する機能1−9は、メニューやツールボタンなどから機能を選ぶことによって起動する。実行すると、別のブラウザウィンドウを開き、そこに空のWebページを新規作成する。ひとつの重要な活用方法として、このページをスクラップブックとして、複数のWebページからユーザが興味のあるサブコンテンツのみをドラッグドロップなどで収集することができる。この新規ページは、開く元となったブラウザのWebページのデザインを継承することも可能であり、その場合、元のWebページのうちサブコンテンツのみをすべて取り除いた状態で、別のウィンドウに新規ページとして表示される。
【0035】
(コンテンツ編集機能1−10) コンテンツ編集機能1−10は、メニューやツールボタンなどから機能を選ぶことによって起動する。起動されると編集モードとなり、ユーザは、ブラウザ上であるいは別ウィンドウの専用編集ソフト上で、現在選択しているサブコンテンツを編集することができる。
【0036】
編集機能としては、表示されているデザインのまま、HTMLフォーム形式で各データフィールドを変更するインラインモード、またそれだけでなくデザインを変更する完全モードがある。またこれらのモードに対する付加機能として、XMLのようにデザインとデータが分離されている場合、データフィールドを変更した場合に、内部のデータ部に値を反映する(書き戻す)機能、データ形式がスキーマなどで厳密に指定されている場合に、そのデータ形式に沿って最適な入力HTMLフォームGUIを提供する機能などがある。これらの機能は、既存の技術を用いれば、実現可能である。
【0037】
また、サブコンテンツを新規作成することもできる。この機能は、インラインモードの機能を利用しており、起動すると、直前のサブコンテンツの形式でHTMLフォームが表示される。ユーザはフォームの各項目に値を埋めて確定させると、新しいサブコンテンツがそのページ内に追加される。
【0038】
(保存機能1−11)保存機能1−11は、メニューやツールボタンなどから機能を選ぶことのよって起動する。ユーザは今までに紹介した機能を用いることにより、Webページの構成やコンテンツを編集することができる。保存機能1−11を用いることで、変更された状態をさまざまな記憶システムに保存することができる。保存先としてはユーザが使用しているローカルホストのファイルシステムだけでなく、自分のホームページなどが置いてあるWebサーバ、データベースなどを選択することができる。
【0039】
保存の形式としては、HTMLやXMLに加えて、これらサブコンテンツの構成情報を付加した本システムの特殊形式を選択することができる。特殊形式は、どれがサブコンテンツなのかをあわせて保存するので、次回に読み込んだときにも、前述したサブコンテンツ向けの機能を引き続き利用することができる。
【0040】
(データソース更新機能1−12) その補助的機能としてデータソース更新機能1−12がある。この機能は、保存機能の1種であるが、もともとWebサーバから送られてきたWebページを編集した場合、その更新情報を元のWebサーバに送信することができる。受信したWebサーバは、そのシステム構成に応じてデータベースなどの適切なストレージにその更新データを反映させる。
【0041】
(外部アプリケーションへの取り込み機能1−13) 外部アプリケーションへのサブコンテンツの取り込み機能1−13は、ブラウザで開いている任意のWebページ(スクラップブックを含む)から気に入ったサブコンテンツだけをドラッグドロップなどのGUI操作でアプリケーションに渡すことで、そのアプリケーションに取り込む機能である。取り込み先としては、メール・OAツール・社内ワークフローシステムなどが有効なアプリケーションの一例として挙げられる。
【0042】
(付箋紙としてデスクトップへの貼り付け機能1−14)上記外部アプリケーションへの取り込み機能1−13に準ずる機能として、デスクトップへサブコンテンツの貼り付け機能1−14がある。ブラウザで開いている任意のWebページ(スクラップブックを含む)から気に入ったサブコンテンツをデスクトップにドロップすることで、付箋紙(電子付箋)として貼り付けておくことができる。この付箋紙に貼り付けたサブコンテンツは、後から任意のページやアプリケーションへドロップすることもできる。
【0043】
(システム構成)
上記各機能を実現するための文書編集システムの構成について説明する。
【0044】
サブコンテンツを処理単位として上記各機能をユーザに提供するには、少なくとも、Webページの中で、どこがサブコンテンツに当たるのか(サブコンテンツが他のサブコンテンツに包含される(親のサブコンテンツをもつ)こともあれば、他のサブコンテンツを包含する(子のサブコンテンツをもつ)こともある(これをサブコンテンツ(部分文書)間の包含関係あるいは親子関係と呼ぶ)。そこで、このサブコンテンツ間(部分文書間)の包含関係に関する情報が必要となる。これをWebブロック構造情報あるいは簡単にブロック構造情報と呼ぶ。また、1つのWebページをその中に含まれているブロック構造情報を基に、本システムの処理単位であるサブコンテンツ単位に分解することをブロック化とも云う。
【0045】
また、ブロック化というのは本発明に特徴付けるものであって、現在広く用いられているHTML文書やXML文書などのWeb文書には、もちろんブロック構造情報は含まれていない。
【0046】
次に、このブロック構造情報をどのようにして得るのか、そしてどう取り扱うか、について説明する。ここでは、ブロック構造情報の取得および取扱に際し、次のような方針を採用した。
【0047】
1) ブロック構造情報も含めて記述できる専用Web言語を準備する(以降、この言語をブロックWeb言語、この言語で書かれた文書をブロックWeb文書と呼ぶ)。
【0048】
2) 本システムはブロックWeb言語を元に処理を行うようにする。
【0049】
3) 本システムにHTML、XMLなど従来からあるWeb文書が入力された場合は、上記処理を行う前にブロックWeb言語へ変換してから取り込む。この際、ブロック構造情報を補う必要があり、補う方法としていくつかの機能を提供する。
【0050】
上記方針を採った理由は2つである。
【0051】
まず、完全な情報を持つこの専用のブロックWeb言語を、本システムを活用するための主要な方法とする意図がある。ブロックWeb言語を入力とする場合、作者が、自分の演出したい意図に基づいて、コンテンツとともにどこをブロック化(独立的に取り扱うサブコンテンツ)したいのかを記述することができる。
【0052】
したがって、Web作者に使用してもらうために、このブロックWeb言語は広く公開することを想定する。
【0053】
なお、ブロックWeb言語を基に、ユーザがサブコンテンツを取り扱うための操作機能を提供する方式として、特開2001−109742号公報記載の技術を利用する。
【0054】
その一方で、一般的に普及しているWebページ記述言語に柔軟に対応することを目的とする。現時点で普及しているWeb言語はHTMLおよびXMLである。これらを直接扱うための処理モジュールを用意するのではなく、先ほどのブロックWeb言語へ変換する方式を取る。こうすることにより、システムがシンプルになると同時に、変換処理だけを独立させることができるので、今後必要となる変換方式に対してもプラグインとして対応するといった拡張性を得るメリットがある。
【0055】
変換といっても、HTMLやXML自体はブロック構造情報を持たないので、不足している情報を補わなければならない。これに対して、あらかじめ別途用意した別の文書から与える方法、ユーザがブラウザ使用時にその場その場で指定する方法、文書内容からブロック構造を機械的に推測するいわゆるテキストマイニング的方法がある。なお、以下の説明では、前2つの方法を用いて実現する場合を示す。3つ目の方法も既存の技術を用いることで実現可能だが、ここで可能性を示すにとどめる。
【0056】
以上を踏まえて構成された文書編集システムの機能的な構成例を図2に示す。また図4は本システムが扱うグローバルなデータオブジェクトの構成例を示したものである。まず、本システムが処理対象とするオブジェクトデータとしてのページ部品から説明する。
【0057】
本システムでは、図4に示したような構成の、ページ部品単位のデータオブジェクトを取り扱う。ページ部品とは、各サブコンテンツ(部分文書)に1対1に対応するデータであり、サブコンテンツの内容自体はもちろんのこと、本システムが提供するサブコンテンツ向けの機能に必要な管理情報を併せ持っている。
【0058】
図4に示したページ部品(データオブジェクト)D1は、複数のサブデータオブジェクトD11〜D18から構成されている。図4において、例えば、受理情報D14は、さらに、その内部に挿入場所情報D141、受理タイプ情報D142を含むことが表されている。同様に、子ページ部品管理情報D16は、その内部に挿入場所情報D161、子ページ部品への参照情報D162を含む。また、例えば、受理情報D14や子ページ部品管理情報D16のように、複数重なって(ここでは、例えば2重に重なって)表記されたサブデータオブジェクトは、そのようなサブデータオブジェクトが複数存在することを示している。
【0059】
ページ部品D1には、タイプ名D11とコンテンツD12とスタイルシートD13と受理情報D14と親ページ部品への参照D15と子ページ部品管理情報D16とリンクURLD17とリンクフラグD18という情報が含まれている。これらの情報は、ブロックWeb文書から抽出される各部分文書を構成する要素として含まれていたり、属性として含まれている情報などである。
【0060】
タイプとは、部分文書のデータ形式(形式的な違い)や、当該部分文書の内容に関するカテゴリ・ジャンルの違い(意味的な違い)に応じて各部分文書を区別するためのもので、このような部分文書の意味的、形式的な違いに応じた各タイプを区別するための識別情報がタイプ名である。ページ部品D1に含まれるタイプ名D11には、当該ページ部品D1に対応する部分文書に対応するタイプ名が保持されている。このタイプ名は、部分文書のトップノードであるエレメント(要素)に付される「type」属性で記述されている。
【0061】
コンテンツD12には、当該ページ部品D1に対応する部分文書が保持される。表示データが、当該ページ部品を含む構造化文書以外の他の構造化文書中のものであるときには、当該表示データへのリンク情報がリンクURLD17に格納される(また、このとき、リンクフラグD18がセットされる)ので、この場合は、コンテンツD12は空でもよい。
【0062】
スタイルシートD13は、コンテンツD12に保持されている部分文書に適用可能なデータ形式の変換規則(スタイルシート)や、当該部分文書に適用可能な表示形式別に、当該表示データのデータ形式を当該表示形式対応のデータ形式へ変換するための変換規則(スタイルシート)などが保持されている。当該表示データに複数の変換規則が適用可能であれば、複数のスタイルシートD13がページ部品D1に含まれていることになる。スタイルシートは、部分文書のトップノードであるエレメント(要素)に記述される「style」属性で記述されている。
【0063】
受理情報D14は、当該ページ部品D1に対応する部分文書が受け入れ(挿入)可能な部分文書のタイプ名を受理タイプD142として保持し、文書構造上の挿入場所D141とを保持する。この受理タイプD142は、部分文書中の「accept」エレメント(の属性)として記述されており、挿入場所D141は、この「accept」エレメントの文書構造上の配置位置に対応する位置情報である。
【0064】
親ページ部品への参照D15は、当該ページ部品D1に対応する部分文書が他の部分文書に包含されている場合、当該ページ部品D1と親である他の部分文書に対応するページ部品とを関連付けるための情報である。
【0065】
子ページ部品管理情報D16は、当該ページ部品D1に対応する部分文書が他の部分文書を包含している場合、当該ページ部品D1と子供である他の部分文書に対応するページ部品とを関連付けるための情報であり、文書構造上の当該他の部分文書の挿入場所D161と、当該他の部分文書の文書構造上の位置情報としての子ページ部品への参照D162とを保持する。挿入場所D161は、部分文書中の、他の部分文書を挿入することを指示するエレメント(例えば、後述する「import」エレメントなど)の配置位置であり、このエレメントの例えば属性として、挿入する部分文書の位置情報としての子ページ部品への参照D162が記述されている。
【0066】
なお、図4に示した各サブデータオブジェクトについては、以下に示す、図2に示したシステムの構成や動作の説明の中で必要に応じて説明する。
【0067】
また、サブコンテンツとは、1つのWebページ(Web文書)中のユーザが独立的に取り扱いたい部分ページ(部分文書)に対応すると説明してきた。本システムでは、サブコンテンツに1対1に対応するオブジェクトとして、図4に示したようなページ部品D1を取り扱うが、ページ全体(すなわち、1つのWebページ)も1つのページ部品として処理する。
【0068】
ページ部品について、図3を用いて具体的に説明する。図3には、1つのWebページとしてのページ部品3−1について示している。ページ全体に対応するページ部品3−1には、複数のページ部品3−2〜3−7が含まれており、本システムでは、ページ部品3−1と、その中に含まれるページ部品3−2〜3−7とは、親子関係にあるものとして管理する。ページ全体もページ部品とみなすことで、特別な処理が不要になり、システムがシンプルになると同時に、ページ全体を他のページの一部として取り込むニーズがあってもよいと考えるからである。
【0069】
次に、図2に示した文書編集システムの各機能モジュールについて説明する。
【0070】
図2に示すように、文書編集システムは、大きく分けて、ホストモジュールM1と、文書処理モジュールM2と、デスクトップ貼り付けモジュールM3とから構成されている。これらモジュールM1〜M3は、それぞれ独立したモジュールであり、ホストモジュールM1は、文書処理モジュールM2を必要に応じて実体化して呼び出し、文書処理モジュールM2は、デスクトップ貼り付けモジュールM3を必要に応じて実体化して呼び出すようになっている。
【0071】
ホストモジュールM1は、文書処理モジュールM2を受け入れる(ホストする)コンテナコンポーネントである。基本的な機能は、OS(OperatingSystem)上にウィンドウフレームを構築し、文書処理モジュールM2が機能するためのウィンドウ領域を確保すること、またユーザが操作するためのメニューやツールボタンなどを提供し、入力されたコマンドを文書処理モジュールM2に伝えることである。
【0072】
ホストモジュールM1としては、具体的には、Webブラウザとページ部品アルバムホスト(図5に示すようなページ部品管理に特化した機能を提供する専用アプリケーション)を想定している。Internet Exploer(商標)やNetscape(商標)などの一般的なWebブラウザは、汎用文書サービスホストとして機能するよう作成されいるので、それぞれのブラウザの仕様にしたがって、文書処理モジュールM2を、当該ブラウザから呼び出して起動可能なように、文書処理モジュールM2に関して必要な登録処理を行えばよい。この詳細はそれぞれ汎用ブラウザのソフトウェア仕様の範疇であり、これ以上の説明は省略する。なお、ここでは、上記一般的なWebブラウザをホストモジュールとして用いた場合、このホストモジュールを第1のホストモジュールM1と呼ぶ。
【0073】
一方、本実施形態に係る文書編集システム専用のホストモジュールを第2のホストモジュールM1と呼び、これについて、後述する。
【0074】
文書処理モジュールM2は、ブロック化機能およびサブコンテンツ向けの機能を持つWeb文書処理モジュールであり、ホストモジュールM1からWebページの数だけ実体化され呼び出される。すなわちWebページ1つに対して、文書処理モジュールが1つメモリ上に生成される。
【0075】
文書処理モジュールM2は、大きく分けてページ読込モジュールM21とブロックWeb文書処理モジュールM22という2つのサブモジュールを含む。
【0076】
ブロック化機能は、ページ読込モジュールM21が担当する。ページ読み込みモジュールM21は、URL(あるいはローカルマシン上であればファイルパス)で指定された文書を読み込んだ上で、もし、ブロックWeb文書ではないHTML文書やXML文書などの一般的なWeb文書であると判断された場合、複数の方法のうちの1つを実行して、ブロックWeb文書に変換する。
【0077】
サブコンテンツ向けの機能を提供するのは、ブロックWeb文書処理モジュールM22である。モジュールM22は、ページ部品管理モジュールM221、レンダリング処理モジュールM222、GUI処理モジュールM223、エクスポートモジュールM224、ページ部品形式調整モジュールM225という5つのサブモジュールを含む。
【0078】
ページ部品管理モジュールM221は、各ページから抽出されたページ部品を保持するページ部品データベースM221bを持ち、ページ部品(サブコンテンツ)単位に挿入や移動や削除などページの構成を変更する機能や、これらを保存する機能を持つ。
【0079】
レンダリング処理モジュールM222は、ページ部品管理モジュールM221で管理されているページ部品群をWebページとして表示する機能を持つ。
【0080】
GUI処理モジュールM223は、レンダリング処理モジュールM222で表示されたWebページ上で、ドラッグドロップやコンテクストメニューなどサブコンテンツを操作するためのGUI機能を提供する。GUI操作が行われたら、ページ部品管理モジュールM223に対して、当該操作に対応するデータ処理機能を呼び出した上で、レンダリング処理モジュールM222を用いて、表示画面を書き換える。
【0081】
GUI処理モジュールM223は、同時にエクスポートモジュールM224を呼び出す。エクスポートモジュールM224は、外部のアプリケーション(外部アプリ)に対して、ページ部品を受け渡すための処理機能を提供するものである。
【0082】
具体的には、GUI操作においてドラッグドロップやコンテクストメニュー(表示されている任意のGUI部品上で例えば右クリックすると、この部品に関して表示されるもの)でコピー命令などが実行された時、GUI処理モジュールM223はエクスポートモジュールM224を呼び出し、他のアプリケーションやプロセス(これらをまとめて外部アプリと呼ぶ)が読み込むことのできる共有メモリ領域(クリップボード)に対して、外部アプリが読み込める形式で当該ページ部品の内容を書き込む。これにより、外部アプリに対してドロップ操作が行われた場合、外部アプリは共有メモリ領域から内容を読み込むので、ページ部品の受け渡しを行うことができる。
【0083】
ページ部品形式調整モジュールM225は、文書処理モジュールM2内あるいは文書処理モジュール間でページ部品の受け渡しを行う際に、ページ部品のサブコンテンツのデータ形式などの調整を行うモジュールであり、ページ部品管理モジュールM221が、ページ部品の挿入操作を行う際に呼び出される。具体的には挿入操作を行う際に、新しく追加するページ部品のタイプ名が、挿入元のページ部品に含まれる受理タイプD142(これを受け入れ可能なタイプ名リストとも呼ぶ)にない場合に、ページ部品形式調整モジュールM225は、変換ルールデータベースM225b(図17参照)から適切な変換ルールの組み合わせを探し出し、ページ部品を受け入れ可能なページ部品に変換して、ページ部品管理モジュールM221に返す。もし解決できる変換ルールの組み合わせが見つからなかった場合、その旨をページ部品管理モジュールM221に通知し、ページ部品管理モジュールは挿入動作をキャンセルする。
【0084】
デスクトップ貼り付けモジュールM3は、アプリケーションが持つ文書の一部を、ドラッグドロップ操作によって付箋紙としてデスクトップに貼り付ける機能をユーザに提供する。
【0085】
図24は、図2に示した文書編集システムを例えばコンピュータ(計算機)上で実現する場合の構成例を示したものである。
【0086】
すなわち、図24において、文書編集システムは、プロセッサ(CPU)20、メモリ22、ディスプレイやプリンタなどの出力装置24、マウスやキーボードなどの入力装置23、記憶装置21から構成されている。
【0087】
これらのうち、記憶装置21は、システムの制御の中枢を担うプログラム等の格納やデータ等の一時保持などに利用されるものであって、ホストプログラム31,文書処理プログラム32、デスクトップ貼り付けプログラム33、各種アプリケーションプログラム34などを格納している。また、メモリ22は、上記各プログラム実行の際に利用可能な共有メモリやプログラム実行の際のワーキングエリアなどに利用されるものである。また、プロセッサ20は記憶装置21内のプログラムを実行することにより、入出力制御や各種処理を含め、必要な各種制御処理を実施するものである。
【0088】
プロセッサ20は、主に、記憶装置21内のホストプログラム31を実行することにより、図24に示した文書編集システム上で、図2に示した文書編集システムのホストモジュールM1に対応する機能を提供するようになっている。
【0089】
プロセッサ20は、主に、記憶装置21内の文書処理プログラム32を実行することにより、図24に示した文書編集システム上で、図2に示した文書編集システムの文書処理モジュールM2に対応する機能を提供するようになっている。
【0090】
プロセッサ20は、主に、記憶装置21内のデスクトップ貼り付けプログラム33を実行することにより、図24に示した文書編集システム上で、図2に示した文書編集システムのデスクトップ貼り付けモジュールM3に対応する機能を提供するようになっている。
【0091】
さらに、プロセッサ20は、主に、記憶装置21内の各種アプリケーションプログラム34を実行することにより、図24に示した文書編集システム上で、これた各アプリケーション対応の機能を提供するようになっている。
【0092】
以下、図2に示した、各モジュールについて詳細に説明する。
【0093】
(ホストモジュール)
まず、ホストモジュールM1について説明する。前述したように、Internet ExplorerやNetscapeなどの一般的な汎用ブラウザをホストモジュールとして利用する方法と、専用のホストモジュールを提供する方法とがある。
【0094】
一般的な汎用ブラウザをホストモジュールM1として使用する場合(この場合のホストモジュールM1を第1のホストモジュールM1と呼ぶ)は、それぞれのブラウザの仕様にしたがって、文書処理モジュールM2に関して必要な登録処理を行えばよい。この詳細はそれぞれ汎用ブラウザのソフトウェア仕様の範疇であり、これ以上の説明は省略する。
【0095】
ここでは、本実施形態に係る文書処理システム専用のホストモジュールである第2のホストモジュールM1について説明する。
【0096】
第2のホストモジュールM1は、ページ部品を含むページ、すなわち、ブロックWEB文書を、内部に複数保持することができ、これら複数のページをツリーで選択・管理することができるソフトウェアアプリケーションである。実行画面を図6に示す。
【0097】
第2のホストモジュールM1が起動されたときに、ディスプレイに表示される画面上の表示領域は、分類ツリー表示部6−1とWeb表示部6−2から構成されている。
【0098】
分類ツリー部6−1の各ノードには、第2のホストモジュールM1の保持する複数のWebページがそれぞれ割り当てられており、選択されているノードに対応するWebページがWeb表示部6−2に表示されている。なお、図6において、Web表示部6−2で表示されているWebページは図3で示したページ部品と同じものである。
【0099】
ユーザは分類ツリー部6−1に表示されているノードのうち、所望のノードをクリックすることで、ページ部品としての複数のWebページを閲覧することができる。またユーザ操作により、ツリー上に、ノードを新規追加したり削除したり移動したりすることができる。これらの操作は広く使われているExplorer(商標)と同じ使い勝手である。
【0100】
またユーザは、現在、Web表示部6−2に表示されているページ部品をドラッグし、任意のノードへドロップ、あるいは別途開いている第2のホストモジュールM1のWeb表示部6−2にドロップすることで、ページ部品を移動したりコピーしたりすることができる。
【0101】
また、Web表示部6−2でさまざまなGUI操作を行うことにより、その他のさまざまなページ部品向けの機能を実行することができる。これらの機能は、後ほど詳細に説明する文書管理モジュールM2によって提供されるものであり、ここでは、その詳細は触れない。
【0102】
なお、もう1つのホストモジュール例として前述した一般的なブラウザを用いて構成された第1のホストモジュールM1の場合は、当該第1のホストモジュールM1を起動した際に表示される画面上には、Web表示部6−2のみが存在し、同様に、Web表示部6−2でさまざまなGUI操作を行うことにより、さまざまなページ部品向けの機能を実行することができる。
【0103】
第2のホストモジュールM1の機能的な構成について、図5を参照して説明する。
【0104】
第2のホストモジュールM1は、大きく分けて、上記分類ツリー部6−1におけるWebページのツリーについての表示や操作をなどを行うための分類ツリーモジュールM11と、ファイルへの書き出しや読み込みを担当する保存機能モジュールM12と、リジューム機能モジュールM13とから構成される。
【0105】
なお、Web表示部6−2にWebページを表示する機能は、後述する文書処理モジュールM2が担当するようになっている。
【0106】
分類ツリーモジュールM11は、分類ツリーを表示するとともに、表示した分類ツリーに対し、ノードの追加・削除・移動と言ったGUI操作を行うためのものである。上記のツリー表示・GUI操作行うためのプログラム部品として、一般に「ツリーコントロール」と呼ばれるプログラムGUI部品がさまざまなベンダから提供されており、それを使用することで対応することができる。
【0107】
なお、ツリーコントロールとは、開閉可能なツリー上に名前付きノードを表示し、かつ、各ノードをクリックするなどのユーザの操作を通じて、任意の付加機能を割り当てることのできるGUI部品である。
【0108】
分類ツリーモジュールでM11は、ツリーコントロールをベースに、それに、第2のホストモジュール独自の機能を追加することで構成するようにしてもよい。なお、ツリーコントロール自体については、本発明の要旨ではないので、その説明は省略する。
【0109】
第2のホストモジュールM1では、ツリーの各ノードそれぞれに対してWebページを割り当てるようになっている。そこで、ツリーコントロールの各ノードには、当該ノードに対応する文書処理モジュールM2を関連付けて当該モジュールM2を参照可能にするために、当該文書処理モジュールM2への参照情報を持つようにしている。
【0110】
ノード選択モジュールM11は、ツリーコントロールでノードのいずれかがクリックされたときに呼び出されるプログラムモジュールであり、一般には選択イベントハンドラーとも呼ばれる。
【0111】
ノード選択モジュールM111は、選択されたノードが当該ノードに関連付けられている文書処理モジュールM2に対して、当該ノードに対応するWebページを表示するように指示を出す。これにより、ノードが選択されるたび、そのノードに関連付けられている文書処理モジュールM2により、該当するWebページが表示される。
【0112】
ノード追加モジュールM112は、ツリーコントロールでノードのいずれかが追加されたときに呼び出されるプログラムモジュールであり、一般には追加イベントハンドラーとも呼ばれる。ノード追加モジュールM112は、文書処理モジュールM2を新規生成し(なおこの状態ではWebコンテンツの中身は空っぽである)、新規に追加されたノードに対して、当該文書処理モジュールM2を関連付けるための参照情報を付加する。
【0113】
ノード削除モジュールM113は、ツリーコントロールでノードのいずれかが削除されるときに呼び出されるプログラムモジュールであり、一般には削除イベントハンドラーとも呼ばれる。ノード削除モジュールM113は、削除されたノードが有する参照情報により、当該ノードに対応付けられている文書管理モジュールM2を終了させ、メモリから消去する。
【0114】
ノード移動モジュールM114は、ツリーコントロールでノードのいずれかが移動させるときに呼び出されるプログラムモジュールであり、一般には移動イベントハンドラーとも呼ばれる。移動イベントモジュールM114は、特に処理を行わない。
【0115】
ページ部品受け取りモジュールM115は、ツリーコントロールでノードのいずれかに対して、ページ部品がドロップされたとき(移動先を指示されたとき)に呼び出されるプログラムモジュールであり、一般にはドロップイベントハンドラーとも呼ばれる。ページ部品受け取りモジュールM115は、当該ノードに参照情報にて関連付けられている文書管理モジュールM2に対して、受け取ったページ部品データ(シリアライズイメージ)を基にページ部品を追加するよう命令する。これにより、ドラッグされたページ部品と同じページ部品がドロップ先のノードに対応するWebページに作成される。
【0116】
以上が分類ツリーモジュールM11の説明である。
【0117】
保存機能モジュールM12は、アプリケーションが終了するときに実行されるプログラムモジュールであり、終了イベントハンドラーとも呼ばれる。保存機能モジュールM12は、各ノードが対応付けられているWebページに関する情報をファイルへ書き出す機能を持っている。これを実現するため、ツリーの各ノードを順にたどりながら、そのノードに関連付けられている文書処理モジュールM2に対して保存命令を出す。
【0118】
保存の方法として、それぞれの文書を別々に保存することがまず考えられる。しかし、それぞれのファイル名が重複しない工夫が必要な上、次回に読み込む際にもファイルを拾い集めなければならず、手間がかかる。そこで、すべての文書を1つのファイルにまとめて保存する方法も有効である。
【0119】
リジューム機能モジュールM13は、アプリケーションが起動されたときに実行されるプログラムモジュールであり、初期化イベントハンドラーとも呼ばれる。リジューム機能モジュールM13は、前回終了したときのWebページなどに関する情報をメモリに戻し、アプリケーションを前回と同じ復元する機能を持っている。これを実現するため、保存されたファイルを順に開いていき、ツリー上のノードおよびそのノードに関連付ける文書処理モジュールM2を順に再生成する。
【0120】
(文書処理モジュール)
次に、文書処理モジュールM2について説明する。文書処理モジュールM2を構成する各サブモジュールの詳細説明をするのに先立ち、当該モジュールM2が取り扱うブロックWeb文書について説明する。
【0121】
以下に、ブロックWeb文書の一例を示す。
【0122】
<?xml version=“1.0”?>
<root style=“root.xsl”>
<a component=“yes” type=“type−a” style=“1.xsl;a2.xsl;a3.xsl”>
<a>aaaaa</a>
<a>aaaaaaa</a>
</a>
<b component=“yes” type=“type−b” style=“b1.xsl;b2.xsl;b3.xsl”>
<b>bbbbb</b>
</b>
<accept type=“type−a;type−b”/>
<import href=“http://www.shiba.co.jp/aaaaa.pzx#xpointer(/root/c)”/>
</root>
上記のブロックWeb文書は、「root(ルート)」エレメント以下に配置されている、「component」属性が含まれるエレメントにて、独立的に取り扱うことのできるページ部品に対応する部分文書「a」および「b」が含まれていることを示している。部分文書「a」で表示される表示データは、「aaaaa」や「aaaaaaa」であり、部分文書「b」で表示される表示データは、「bbbbb」である。さらに、rootエレメントから始まる当該Web文書には、「accept」タグで示される位置に、「type−a」タイプあるいは「type−b」タイプのページ部品を挿入できることが示されている。
【0123】
なお、上記のブロックWeb文書から明らかなように、サブコンテンツに対応する構造化文書中の部分文書は、当該部分文書中のトップノード(あるいはルートノートである場合もある)に記述されている「component」属性にて、その値が「yes」であることにより判別することができる。ここでは、「component」属性の記述されているノードをトップノードとする部分文書が1つのサブコンテンツに対応すると判別している。
【0124】
このブロックWeb文書は、特開2001−109742号公報で開示されているWeb文書を拡張したものである。
【0125】
また、上記ブロックWeb文書において、「import」というタグは特殊な意味を持ち、href属性で指定されたURL(上記例ではXPointerつきURLを用いてページの一部を指定)のページ部品が当該位置に挿入されるという機能を持っている。外部のリソースとしてページ部品であるいうことを示すものであって、その他、ページ内での取り扱いは他のページ部品とまったく同じである。
【0126】
また、HTTP(Hypertext Transfer Protocol)を介して渡される場合は、「Content−Type」は、「text/cmp」でなければならず、FTP(File Transfer Protocol)などその他のネットワークプロトコルやファイルシステムからの入力であれば、拡張子が「cmp」でなければならないというようにルールを決めている。これは入力文書がブロックWeb文書であるかどうかを、文書編集システムが判定するために用意するルールである。
【0127】
(ページ読込モジュール)
図7は、ページ読込モジュールM2−1の構成を示したものであり、矢印はデータの流れを示している。
【0128】
ページ読込モジュールM21では、主にWebページのブロック化を行うようになっている。文書処理モジュールM2への文書の入力を管理しており、与えられた文書がブロックWeb文書であれば、それはそのままページ読込モジュールM21を通過させて、ブロックWeb文書処理モジュールM22に渡すが、それ以外のWeb文書(たとえばHTML文書やXML文書など)であれば、ブロックWeb文書に変換して、ブロックWeb文書処理モジュールM22に渡す。
【0129】
ページ読込モジュールM21はページタイプ判定モジュールM211、ブロック化モジュールM212から構成される。ページ読込モジュールM21に入力されるものは、HTTPなどの通信あるいはファイルシステムなどから投入されたWeb文書である。HTTP通信機能やファイルシステムからの読み込み処理については、周知の技術を用いればよく、ここでの説明は省略する。
【0130】
入力文書はまずページタイプ判定モジュールM211に渡される。ページタイプ判定モジュールM211は、図8に示す手順で、入力文書がブロックWeb文書かどうかを判定するようになっている。すなわち、入力文書がHTTPを介して渡される場合は、「Content−Type」が、「text/cmp」であれば、当該入力文書はブロックWeb文書であり(ステップS1〜ステップS3)、FTP(File Transfer Protocol)などその他のネットワークプロトコルやファイルシステムからの入力であれば、拡張子が「cmp」であれば、当該入力文書はブロックWeb文書であると判定する(ステップS1)。
【0131】
図7に戻り、ページタイプ判定モジュールM211により、ブロックWeb文書であると判断されれば、その文書をそのままページ読込モジュールM21の出力とする。ブロックWeb文書でないと判断されれば、ブロック化モジュールM212によって、ブロックWeb文書へ変換する処理を行い、その結果を出力とする。
【0132】
ブロック化モジュールM212は、与えられた文書に対し、ブロック化するための変換ルール(ここでは、ブロックシートと呼ぶ)を用いて変換処理を実行し、その結果得られたブロックWeb文書を出力する。変換ルールを蓄積しているのがブロックシートデータベース(DB)M214であり、入力文書のURLをキーとして、当該入力文書に対応する変換規則を検索可能なようになっている。入力文書が、HTTPでなくFTPやファイルシステムからの入力である場合は、FTPのURL、ファイルURLが用いられる。変換ルールとして、本システムではXSLTを用いる。
【0133】
ブロックシートDBM214を用いて、実際に変換処理を行うのは、ブロックシート適用モジュールM213である。この処理の流れを図9に示す。この出力はブロックWeb文書処理モジュールM22に渡される。
【0134】
ここで、入力文書に対応するブロックシートが見つからなかった場合(ステップS12)の処理について補足する。入力文書に対応するブロックシートがない場合、ブロック構造情報を持たないため、ページ全体が1つのページ部品と解釈される。すなわち、当該入力文書のルートノードに「component」属性を付与する。また、ページ部品では本来指定されるはずのスタイル指定(style属性)が存在しないので、本システムが内部に持っているデフォルトスタイルを与える(ステップS15,ステップS16)。XML文書の場合は、XML文書を単純にツリー表示するスタイルシート、HTML文書の場合は、HTML文書をそのまま表示するスタイルシートがデフォルトスタイルである。これにより、一般的なXML文書やHTML文書についても、本システムでページ部品として取り扱うことができる。
【0135】
(ブロックWeb文書処理モジュール)
ブロックWeb文書処理モジュールM22は、ページ読込モジュールM21によって入力されたブロックWeb文書を管理し、ユーザに当該文書を表示し、かつサブコンテンツのための便利なGUI操作を提供する、システムの核となるモジュールである。なお、ホストモジュールM1の説明でも述べたが、1つのブロックWeb文書処理モジュールM22が管理するブロックWeb文書は1文書である。複数ページ(複数文書)を管理する場合には、ページ数だけブロックWeb文書処理モジュールM22を生成する必要がある。
【0136】
ブロックWeb文書処理モジュールM22は、複数のサブモジュールから構成されており、これらが互いに協調動作する。以下にそれぞれに焦点を当てて詳細説明する。
【0137】
(ページ部品管理モジュール)
ページ部品管理モジュールM221は、ページを含み、ページ内の全てのページ部品を管理し、構成変更のためのAPI(apprication programming interface)を提供する他のモジュール向けのベースサービスモジュールである。ページ部品のデータ構成は図4で説明したとおりである。
【0138】
図10に示すように、ページ部品管理モジュールM221は、ページ部品読込モジュールM221a、ページ部品データベース(DB)M221b、ページ部品挿入モジュールM221c、ページ部品削除モジュールM221d、ページ部品保存モジュールM221eという5つのサブモジュールから構成されている。
【0139】
ページ部品読込モジュールM221aは、入力されたブロックWeb文書を解析し、当該ブロックWeb文書中に含まれているサブコンテンツに対応する部分文書についてのページ部品を作成し、最終的に出来上がったページ部品群をページ部品DBM221bに登録する。
【0140】
ブロックWeb文書では、独立的に取り扱うサブコンテンツは、ブロックWeb文書そのものであったり、当該Web文書中の「component」属性の付与されているエレメント(要素)をトップノードとする部分文書に含まれるものであったり、あるいは、「import」エレメントで例えばURLで指定されたで外部リソースである。
【0141】
そこでページ部品読込モジュールM221aは、まず入力されたブロックWeb文書から、「component」属性の付与されている部分文書、「import」エレメントで構成される部分文書を抽出する。ただし、サブコンテンツ自体(サブコンテンツの実体)は、「component」属性が与えられている部分文書は、そのトップノードとしてのエレメントの子エレメントに含まれている。また、「import」エレメントの場合は、当該エレメントの「href」属性で指定されている外部リソースとしてのコンテンツを、公知技術を用いてダウンロードすることにより、サブコンテンツの実体(内容)を取得することができる。
【0142】
そして、ブロックWeb文書から抽出された各サブコンテンツについて、「component」属性が付与されているエレメントをトップノードとする部分文書、「import」エレメントから構成される部分文書のそれぞれを基に、図4に示したようなページ部品D1を生成する。なお、サブコンテンツとしてのブロックWeb文書自体についてのページ部品D1も生成されるが、その生成も上記同様である。
【0143】
図4のページ部品D1中のコンテンツD12には、例えば、サブコンテンツ(表示データ)が書き込まれる。
【0144】
各ページ部品を生成する際には、ブロックWeb文書で表されている部分文書間の親子関係(XML文書中のエレメント間の親子関係と同様)から、各ページ部品間の親子関係が得られているので、親子関係の存在するページ部品については、それに従い、親のページ部品へ当該ページ部品を関連付けるためのポインタやリンクなどの情報(すなわち、ここでは、親ページ部品への参照D15)や、子供のページ部品を当該ページを関連付けるための情報(すなわち、ここでは子ページ部品管理情報D16)として、子ページ部品を当該ページ部品に関連付けるためのポインタやリンクなどの情報(子ページ部品への参照D162)や、当該ページ部品中の当該子ページ部品を挿入する場所(位置)D161を書き込む。
【0145】
各サブコンテンツについて、当該サブコンテンツに対応する部分文書が含まれているブロックWeb文書の文書構造上の位置を指定するポインタ情報であるXPointerつきURLは、リンクURLD17に書き込む。「import」エレメントによって外部から取得されるサブコンテンツの場合は、「import」エレメントのhref属性で指定されていたXPointerつきURLをリンクURLD17に書き込む。
【0146】
「component」属性を有する部分文書、「import」エレメントから構成される部分文書のそれぞれについて、その属性として、「type」属性が記述されていれば、その値を、タイプ名D11として書き込み、「style」属性が記述されていれば(その値がセミコロンで複数の文字列(各文字列は、例えばスタイルシートの識別子に対応する)に分割されていれば、その各文字列を)スタイルシートD13としてそれぞれ書き込む。
【0147】
「component」属性を有する部分文書、「import」エレメントを有する部分文書のそれぞれについて、例えば、当該部分文書中の子エレメントとして、「accept」エレメントが存在すれば、それは、当該部分文書に対応するサブコンテンツには、挿入可能なサブコンテンツがあることを表し、その挿入可能(受け入れ可能)なサブコンテンツのタイプ名が属性として示されている。この場合、サブコンテンツを挿入するための受理情報D14を書き込む。まず、サブコンテンツの挿入場所(位置)D141として、当該「accept」エレメントの構造上の位置を書き込み、「accept」エレメントに「type」属性があれば(その値がセミコロンで複数の文字列(各文字列は、例えば受け入れ可能なサブコンテンツのタイプ(受理タイプ)の識別子に対応する)に分割されていれば、その各文字列を)受理タイプD142としてそれぞれ書き込む。
【0148】
「accept」エレメントは複数存在する可能性があり、その数だけ書き込み処理を行う。
【0149】
ページ部品DBM221bは、ブロックWeb文書に含まれるページ部品をすべて格納し管理している。各ページ部品は、自分の親となるページ部品および子供のページ部品群への参照情報を持っているので、この参照情報を基に順にたどっていくことで、任意のページ部品の情報を取り出すことができる。
【0150】
ページ部品挿入モジュールM221cは、任意のページ部品の子供として、新規にページ部品を追加・挿入するためのものである。
【0151】
図11は、ページ部品挿入モジュールM221cの処理動作を説明するためのフローチャートである。以下、図11を参照して説明する。例えば、ページ部品Aをページ部品Bに挿入する場合(ステップS20)、ページ部品DBからページ部品Bの受理情報D14に含まれる受理タイプD142を取出すとともに、挿入するページ部品Aに含まれているタイプ名D11を取出し、当該受理タイプD142に、タイプ名D11として書き込まれているページ部品Aのタイプ名が存在するか否かを判定する(ステップS20〜23)。存在するときは、ページ部品Aをページ部品Bの子供のページ部品(子ページ部品)として関連付けるために、ページ部品Aについての子ページ部品管理情報D16をページ部品Bに登録する。また、ページ部品Bをページ部品Aの親のページ部品(親ページ部品)として関連付けるために、ページ部品Bについての親ページ部品への参照D15をページ部品Aに登録する(ステップS24)。
【0152】
ステップS23において、受理タイプD142に、タイプ名D11として書き込まれているページ部品Aのタイプ名が存在しないときは、当該ページ部品Aを適切なタイプのページ部品に変換をしてから挿入することを実現するため、ページ部品形式調整モジュールM225を呼び出す。その際、ページ部品形式調整モジュールM225にページ部品Bの受理タイプD142と、ページ部品Aを渡して、ページ部品Aのサブコンテンツのタイプをページ部品Bが受け入れ可能なタイプになるよう、変換を依頼する。
【0153】
ページ部品Aのサブコンテンツのタイプが、ページ部品Bが受け入れ可能なタイプに変換できたときには、ステップS24へ進む。
【0154】
なお、ステップS22で、ページ部品Aの受理情報D14に受理タイプが指定されていないとき、ステップS25で、ページ部品Aのサブコンテンツのタイプをページ部品Bが受け入れ可能なタイプに変換できないとき、ステップS26へ進み、ページ部品Aのページ部品Bへの挿入は拒否される。
【0155】
図10の説明に戻り、ページ部品削除モジュールM221dは、任意のページ部品を削除するためのものである。具体的には、削除されるページ部品の親ページ部品からは、当該削除されるページ部品を関連付けるための子ページ部品管理情報D16を削除し、当該削除されるページ部品自体をページ部品DBから削除する。このとき、削除対象のページ部品に対応する部分文書に、当該部分文書に包含される部分文書(すなわち、子供の部分文書)があるときは、当該包含される部分文書に対応するページ部品もページ部品DBから削除する。なお、ページ部品挿入モジュールの機能と、このページ部品削除モジュールの機能を組み合わせることで、ページ部品の移動も実現できる。
【0156】
ページ部品保存モジュールM221eは、任意のページ部品をファイル保存する機能である。指定されたページ部品を保存する機能であり、この機能を利用する場合には、保存したいページ部品とファイル名を指定する。ただし保存対象には、指定されたページ部品だけでなく、その子孫ページ部品も含まれる。
【0157】
保存の形式としては、ブロックWeb文書形式、PureXML形式、HTML形式の3種類ある。ブロックWeb文書形式とは、「component」属性や「accept」エレメントや「import」エレメントなど、ブロック化・リンクのための特殊な表記を含む形式であり、次回に、ページ部品記憶DBにロードしてもブロック構造情報やリンク関係を復元できる。
【0158】
PureXML形式は、これらブロック化のための特殊な表記を取り除いたものである。HTML形式は、現在表示されているHTMLの状態をそのまま保存するものである。
【0159】
ブロックWeb文書形式とPureXML形式の場合は、ページ部品D1のコンテンツD12に対して、当該ページ部品の子孫ページ部品のコンテンツD12を合成することで、保存内容を決定する。ページ部品D1には、子ページ部品管理情報D16として、各子ページ部品とその子ページ部品を挿入すべき挿入場所D161書かれている。コンテンツの合成の際には、この情報を用いる。
【0160】
一方、HTMLの場合は、後述するHTML合成モジュールM222a(図12参照)を実行することで、保存内容を決定する。
【0161】
(レンダリング処理モジュール)
レンダリング処理モジュールM222は、ページ部品を表示する機能を持つ。
【0162】
重要な用途の1つとして、ページ部品管理モジュールM221によって解析処理済のブロックWeb文書を図6に示すように、表示画面上のWeb表示部6−2に表示する。
【0163】
ページ部品は、前述したように、他のページ部品に包含されることもあれば、他のページ部品を包含することもある(ページ部品は、必然的に他のページ部品と包含関係を有する)。各ページ部品に対応するサブコンテンツに対して、そのページ部品のスタイルシートD12を適用するだけでは不十分で、そのページ部品の各子ページ部品のスタイルシート適用結果を、はめ込む処理が必要となる。これに対して、本システムでは、スタイルシートに「import」エレメントを用意しており、「import」エレメントの「type」属性として挿入対象とする子ページ部品のタイプ名を書くとする(省略した場合はどんなタイプも受け入れる)。XSLT(スタイルシート)の適用処理をしただけでは、「import」命令はそのままHTMLと混じって出力として出てくることになる。そこで、そのHTMLを解析しHTML合成を行う。
【0164】
なお、このスタイルシート中の「import」エレメント(「import」と呼ぶこともある)は、画面上に表示するためのHTML合成のためのものであり、ブロックWeb文書で記述されている「import」とは機能面で似てはいるが、別の命令である。
【0165】
具体例を挙げると、適用結果が以下のようになるようなスタイルシートがあるとする。
【0166】
<html><body>
<h1>Title</h1>
<div><import type=“type−a”></div>
<div><import type=“type−b”></div>
</body></html>
このとき、1番目の「div」エレメントには「type−a」タイプの子ページ部品のスタイル適用結果が入り、2番目の「div」エレメントには「type−b」タイプの子ページ部品のスタイル適用結果が入る。
【0167】
この合成処理をするのがHTML合成モジュールM222aである。HTML合成モジュールM222aは、指定されたページ部品に対してスタイルシート(複数のスタイルシートがある場合は、指定されたスタイルシートあるいは1番目)を適用してHTMLを得る。
【0168】
得られたHTMLの中から「import」エレメントをすべて探し出し、それぞれに関して「src」属性で指定された子ページ部品に関して、スタイルシートを適用して得られたHTMLの結果を「import」エレメントの代わりにはめ込む。ただし子ページ部品のスタイル適用結果にも「import」命令が含まれていた場合には、はめ込む前に同様にその子ページ部品のスタイル適用結果をはめ込む。この処理は再帰的に行われる。
【0169】
この再起処理が完了すると、すべての子ページ部品のスタイルシート適用結果が合成された1つのHTMLを得られる。この結果をHTMLレンダラM222bに渡すことでHTMLが表示される。なお、この手順において使用されるHTMLレンダラM222bは入力されたHTMLを表示する機能を持つ既存のコンポーネントであり、一般のブラウザも内蔵しているものである。
【0170】
以上がブロックWeb文書を表示するまでの処理であるが、説明簡便化のため省略した事項がある。上記、各ページ部品あるいはその子ページ部品に関してスタイルシート適用をしてHTMLを得た直後に、得られたHTMLのルートエレメントおよびページ部品への参照を入力として、GUI処理モジュールM223のGUI処理初期化モジュールM223aを呼び出す。これは、合成されたHTMLにおいて、サブコンテンツのためのドラッグドロップやコンテクストメニューなどのGUI操作機能を埋め込むためである。詳しくは、後述する。
【0171】
(GUI処理モジュール)
GUI処理モジュールM223は、表示されたページ部品に対して、ドラッグドロップやコンテクストメニューなどのサブコンテンツ向けGUI操作機能を提供するモジュールであり、図13のような構成になっている。
【0172】
GUI処理初期化モジュールM223aは、後述するドラッグドロップ処理モジュールM223bやコンテクストメニュー処理モジュールM223cに対して、(マウス等で選択操作のなされた)処理対象のHTMLのエレメントやページ部品を登録する処理を行う。
【0173】
GUI処理初期化モジュールM223aは、ページ部品への参照情報、およびページ部品が表示において割り当てられているHTML文書の要素(エレメント)であるルートエレメントへの参照情報の2つを入力として、呼び出されて、それらをドラッグ処理モジュールM223b、ドロップ処理モジュールM223cとコンテクストメニュー処理モジュールM223dにイベント登録することで、イベントと対応する処理を結びつける。
【0174】
これにより、登録されたHTMLエレメントでドラッグドロップ操作やコンテクストメニュー(右クリック)操作が行われたときに、これらの処理モジュールが呼び出されるようになり、サブコンテンツ向けのサービスが機能するようになる。
【0175】
また、これらの処理モジュールは、HTMLエレメントとページ部品の対応表を持っているので、対象としているページ部品を特定できる。したがってページ部品の内容を基に、GUIサービス機能を提供することができる。
【0176】
以下はそれらイベントハンドラーの処理について述べる。
【0177】
ドラッグ処理モジュールM223bは、1つのページ部品に対応するHTML部分文書の表示領域がドラッグされたときに実行される処理モジュールで、一般にドラッグイベントハンドラーとも呼ばれる。ユーザは、ドラッグドロップGUI操作によってページ部品を移動あるいはコピーさせることができる。ドラッグ処理モジュールはその前半部を担当する。
【0178】
この処理手順は、図14に示すように、画面上で選択された表示データに対応する部分文書に対し、ドラッグ操作がなされると、操作対象の当該表示データに対応する部品データをメモリに一時記憶する(ステップS30からステップS31)。このようにして、続いて発生するドロップイベントに備える処理を行う。補足すると、このドロップ先は、同じページ内とは限らなくて、別のプロセスのブロックWeb文書であっても、メーラー(電子メールソフト)やOAソフトなど別のアプリケーションであってもよいし、デスクトップであってもよい。そこで、
ステップS32において、エクスポートモジュールM224を呼び出して、外部アプリケーション向けに当該ページ部品を転送するために、当該ページ部品をエクスポートモジュールM224へ渡す。
【0179】
続いて、ドロップ処理モジュールM223cは、ページ部品上に何かがドロップされたときに実行される処理モジュールで、一般にドロップイベントハンドラーとも呼ばれる。ドラッグドロップGUI操作の後半部を担当する。この処理手順の詳細は図15に示す通りであって、サブコンテンツを操作対象とするドロップイベントが発生すると、当該操作対象のサブコンテンツに対応するページ部品をメモリから読み出して、ページ部品挿入モジュールM221cを用いて、ドロップ操作により指定された位置にサブコンテンツを挿入する(ステップS40〜42)。挿入されると、当該ドロップされたサブコンテンツに対応するページ部品を新規に作成する。先に読み出された、当該操作対象のサブコンテンツに対応するページ部品中の親ページ部品への参照情報D15を参照して、当該操作対象のページ部品は、同じページからドラッグされたものであるか否かを判定する。同じページからドラッグされたものであるならば、当該操作対象のページ部品をページ部品削除モジュールM221dを用いてページ部品DBM221bから削除する(ステップS43〜ステップS45)。そして、レンダリング処理モジュールM222を用いて、再描画を試みる(ステップS46)。一方、ステップS44で、操作対象のページ部品が同じページからドラッグされたものでないならば、そのままステップS46へ進む。
【0180】
補足として、マウス右ボタンを押しながらのドロップであった場合は、ユーザはリンクを意図していると解釈し、リンクであることを示すフラグ(図4のリンクフラグD18)を立てて(「1」にセットする)。この場合、図15のステップS42とステップS43の間で、右ドロップかどうかを判定するステップを追加し、右ドロップであればリンクフラグD18を「1」にセットし、そうでなければリンクフラグD18を「0」とする。また、この場合、リンクURLD17に、当該リンク情報を格納してもよい
なお、リンクとしておく場合、リンク先のページ部品のサブコンテンツが変化した場合でも、ブロックWeb文書を表示する際に、リンク先へ当該ページ部品を取りに行くため、その最新版のサブコンテンツが表示されるというメリットがある。たとえば、ユーザは、後述するスクラップブックに、所望するページ部品へのリンクを登録しておくことで、例えば、あるブロックWeb文書中の「CD売り上げベスト10」というサブコンテンツと、他のブロックWeb文書中の「図書売り上げベスト10」というサブコンテンツの両方が掲載された、毎日変化する自分だけのマイオリジナルポータルページを作成することができる。
【0181】
コンテクストメニュー処理モジュールM223dは、ページ部品上で右クリックされたときに、実行可能なコマンドのメニューをポップアップする機能である。本システムでは、コンテクストメニューとして削除コマンド・編集コマンド・新規作成コマンド・HTMLカッターコマンド・スタイル切り替えコマンドを用意している。削除コマンドが選択されると、ページ部品削除モジュールM211dを実行した上で、レンダリング処理モジュールM222が実行されて、ページ部品の削除が行われる。
【0182】
また編集コマンドと新規作成コマンドは、既存あるいは新規のページ部品を編集するコマンドであり、これらの処理は編集モジュールM223eが担当する。
【0183】
具体的な処理の流れを、図20に示す。図20において、たとえば、図6に示したWeb表示部6−2上の所望のサブコンテンツを選択した後、新規作成コマンドが選択されると、空のページ部品を作成して、この空のページ部品を、ページ部品挿入モジュールを用いて、当該選択されたサブコンテンツに対応するページ部品に挿入する(ステップS60〜ステップS62)。その後、XML文書やXSLT文書を編集するためのXML/XSLエディタを起動して、各種編集コマンドを用いることで、新規作成されたページ部品中のコンテンツD12やスタイルシートD13の内容(実体)を作成する(ステップS63)。編集作業が終了し、XML/XSLエディタが閉じられたら、編集結果を先に新規作成されたページ部品中のコンテンツD12やスタイルシートD13に書き込む(ステップS64)。
【0184】
ただし、ステップS63で起動されるXML/XSLエディタは既存のものでよい。
【0185】
HTMLカッターコマンドは、入力ページがもともと通常のHTMLである場合に(この場合、当該HTML文書は、ページ読込モジュールM21において、それ全体が1つの部品データとなるようなブロックWeb文書に変換されている)、図6のWeb表示部6−2上でユーザが範囲指定をし、その部分をページ部品として分割する機能であり、HTMLカッターモジュールM223dが担当する。ページ部品として分割すると、その部分はその後、独立したサブコンテンツとして取り扱うことができる。HTMLカッターの具体的な処理の流れを図21に示す。
【0186】
図21において、たとえば、文書処理モジュールM2に入力した時点では、通常のHTML文書であったものが、ページ読込モジュールM21を経て、全体が1つの部品データとなるようなブロックWeb文書に変換され、さらに、ページ部品管理モジュールM221、レンダリング処理モジュールM222などを経由して、図6に示したWeb表示部6−2上に表示されたとする。このWeb表示部6−2上で、ユーザにより所望の領域が選択された後、HTMLカッターコマンドが選択されると、まず、現在の選択範囲内におけるトップエレメントを特定する(ステップS70〜ステップS72)。
【0187】
特定されたエレメントに、当該エレメントは1つのサブコンテンツであることを示すための「component」属性と、スタイル属性を付加する。すなわち、当該エレメントに「component=“yes”」と、スタイル属性として、HTML用のデフォルトスタイルが記述されているスタイルシートの識別情報を書き込む(ステップS73)。選択範囲内のコンテンツ、すなわち、上記トップエレメント以下の選択範囲内のエレメント(要素)から構成される部分文書に対するページ部品を新規作成し、ページ部品DBへ登録する(ステップS74)。
【0188】
このサブコンテンツとして指定されたコンテンツを含む、元のコンテンツ(1つのブロックWeb文書としての1つのページ)に対応するページ部品と、新規作成されたページ部品との間で親子関係があるので、この親子関係に基づき、前述したように、それぞれのページ部品中の親ページ部品への参照D15と、子ページ部品管理情報D16を書き込む(ステップS75)。
【0189】
補足であるが、ステップS71でのHTMLベースのページかどうかの判定は、スタイルシートがHTML用デフォルトスタイルであるかどうかで判定すればよい。もちろん、ブロックWeb文書や、それ以外の各種構造化文書である場合にも上記HTMLカッターコマンドと同等のコマンドを用意して、それら構造化文書(すなわち、部分文書)から所望の部分文書をサブコンテンツとして区分するようにいしてもよい。
【0190】
スタイル切り替えコマンドは、ページ部品に登録されている複数のスタイルシートD13の中から、ユーザに所望のものを選択させ、その選択されたスタイルシートでページ部品D1を表示しなおす機能であり、スタイル切り替えモジュールM223fが担当する。スタイル切り替えの具体的な処理の流れを図22に示す。
【0191】
図22において、たとえば、図6に示したWeb表示部6−2上の所望のサブコンテンツを選択した後、スタイル選択コマンドが選択される(ステップS80)。ステップS81において、当該選択されたサブコンテンツに対応するページ部品D1に複数のスタイルシートD13が登録されているときには、ステップS82へ進み、1つのみスタイルシートD1が登録されているときには、そのまま処理を中止する。
【0192】
ステップS82において、当該選択されたページ部品に登録されている複数のいスタイルシートのうちのいずれか1つを選択させるためのメニュー画面を表示し、この中から、ユーザにより選択されたスタイルシートを、当該選択されたサブコンテンツ(ページ部品D1中のコンテンツD12)に適用して、Web表示部6−2に表示する(ステップS83)。
【0193】
その他、説明は省略するが、切り取り、コピー、貼り付けなどのコマンドがあってもよい。
【0194】
(エクスポートモジュール)
図2のエクスポートモジュールM224は、前述のように、文書処理モジュールM2と外部アプリケーションとの間でサブコンテンツをドラッグドロップ操作により複写可能にするためのモジュールである。また、ここでは、説明は省略するが、文書処理モジュールM2からドラッグドロップされたサブコンテンツを外部アプリケーションの形式でファイル保存する目的にも利用可能である。
【0195】
ここでエクスポートとは、文書処理モジュールM2から外部アプリケーションへのサブコンテンツの複製を転送することを意味する。
【0196】
また、外部アプリケケーションとは、本実施形態に係る文書処理システム以外のアプリケーションを云うものとする。
【0197】
エクスポートモジュールM224は、図16のように複数のサブモジュールから構成されている。外部アプリケーションからは、ページ部品を入力とするエクスポート要求を受けるが、その要求は共有メモリ登録モジュールM224aに送られる。共有メモリ登録モジュールM224aは、他の出力モジュールM224bからM224dを用いて、処理対象のページ部品を転送するための当該ページ部品を含むエクスポートデータを作成させ、それらを全ての外部アプリケーションからアクセスすることのできる共有メモリに登録する。これにより、外部アプリケーションは、ページ部品がドロップされたときに、その外部アプリケーションにとって最も都合の良いデータ形式で内容を読み込むことができる。
【0198】
アプリ別形式出力モジュールM224bは、いくつかの著名な外部アプリケーションに対象を絞り、処理対象のページ部品(少なくとも当該ページ部品で表示する表示データ)を、それら外部アプリケーションに適用可能なデータ形式に変換することにより、上記エクスポートデータを生成し、当該外部アプリケーションへ出力する。
【0199】
標準形式出力モジュールM224cは、処理対象のページ部品(少なくとも当該ページ部品で表示する表示データ)を、テキスト形式やHTML形式など広く使われているデータ形式に変換することにより、上記エクスポートデータを生成し、外部アプリケーションへ出力する。
【0200】
オブジェクト埋込形式出力モジュールM224dは、処理対象のページ部品(少なくとも当該ページ部品で表示する表示データ)を、本システムのデータ形式(すなわち、例えば、ページ部品D1のデータ形式)のまま、当該ページ部品に対応する文書処理モジュールM2を当該ページ部品に対応付けるための参照情報とともに、上記エクスポートデータとして外部アプリケーションへ出力する。この方法では、ドロップ先の外部アプリケーションのウィンドウ領域の一部に本システムの文書処理モジュールM2が埋め込まれる。
【0201】
(ページ部品形式調整モジュール)
図2のページ部品形式調整モジュールM225は、前述のように、ページ部品挿入処理モジュールM221cで用いられるモジュールである。具体的には、ページ部品挿入処理モジュールM221cから、変換対象のページ部品と、他のページ部品中の受理タイプD142とを含む変換要求が入力されると、当該変換対象のページ部品のタイプ名D11を調べ、少なくとも変換対象のページ部品に対応する部分文書のタイプ(例えば、データ形式)を他のページ部品中の受理タイプD142に含まれるいずれかのタイプに変換する処理である。
【0202】
この変換要求は、ページ部品挿入処理モジュールM221cから変換ルール検索モジュールM225aに送られる。
【0203】
変換ルールデータベース(DB)M225bには、変換元と変換先のタイプ別に、複数の変換方法(変換規則あるは変換ルール)が予め記憶されている。
【0204】
変換ルール検索モジュールM225aは、変換ルールDBM225bから、変換元と変換先のタイプに対応する変換方法を見つけ出し、変換結果のページ部品を返すか、あるいは見つからなかった場合には、変換に失敗した旨を要求元のページ部品挿入処理モジュールM221cへ返す。
【0205】
変換ルールDBM225bには、変換元のタイプと変換先のタイプと、変換ルール(例えばXSLT文書などの変換規則を記述した文書)の3つを1組とした複数のデータを管理している。変換ルール検索モジュールM225aは、入力された、処理対象のページ部品のタイプ名D11から、最終的に求めているタイプのいずれかに変換するための、複数の変換ルールからなるシーケンスパス(順序つき組み合わせ)を検索し、最終的に複数のシーケンスが見つかった場合には、最短パスとなる組み合わせを採用する。
【0206】
たとえば、処理対象のページ部品のタイプが「type−x」タイプであり、最終目的のタイプが「type−y」タイプか「type−z」タイプであり、変換ルールDBM225bには、以下のデータが記憶されていたとする。
【0207】
(type−x, type−a, xa.xsl)
(type−a, type−b, ab.xsl)
(type−b, type−y, by.xsl)
(type−x, type−c, xc.xsl)
(type−c, type−z, cz.xsl)
この場合、最終目的のタイプに変換するシーケンスとして、xa.xsl −> ab.xsl −> by.xsl、と、xc.xsl −> cz.xsl、の2種類があるが、変換ルール検索モジュールM225aは後者を選択し、順にXSLT文書を適用した結果得られるページ部品(「type−z」タイプ)を返す。
【0208】
(デスクトップ貼り付けモジュール)
デスクトップ貼り付けモジュールM3は、独立したプロセスで動作するアプリケーションである。このアプリケーションソフトウェアにより、一般的なブラウザで構成されている第1のホストモジュールM1や第2のホストモジュールM1を組み込んだアプリケーションソフトウェアからデスクトップへページ部品(サブコンテンツ)をドラッグドロップすると、当該ページ部品を付箋紙のようにデスクトップに貼り付けることが可能となる。
【0209】
また、逆に付箋紙からホストモジュールM1へドラッグドロップして戻すことも可能となっている。
【0210】
デスクトップ貼り付けモジュールM3は図18に示すように、デスクトップ監視モジュールM3aと付箋紙表示モジュールM3bから構成されている。付箋紙表示モジュールM3bは付箋紙の数だけ動的に生成されるモジュールである。また各付箋紙表示モジュールM3bは、内部に文書処理モジュールM22を生成維持する。
【0211】
また、デスクトップ貼り付けモジュールM3において、ページ部品のデスクトップへのドロップイベントに関する処理の流れを図19に示す。
【0212】
図19において、たとえば、図6に示したWeb表示部6−2上の所望のサブコンテンツを選択した後、ドラッグ操作と、それに引き続き、デスクトップ上にドロップイベントが発生したことをデスクトップ監視モジュールM3aが検知すると(ステップS50)、付箋紙表示モジュールM3bが起動する(ステップS51)。このとき、選択されたものがサブコンテンツ(ページ部品)でないときは、処理を中止する(ステップS56)。
【0213】
起動された付箋紙表示モジュールM3bは、画面上にウインドウ領域を確保しするとともに、文書処理モジュールM2を起動する(ステップS52からステップS54)。
【0214】
付箋紙表示モジュールM3bは、起動した文書処理モジュールM2にドロップされたサブコンテンツ(ページ部品)を読み込ませ、当該ウインドウに表示させる(ステップS55)。
【0215】
これにより、ページ部品を付箋紙に次々貼り付けることができる。なお公知の技術なのでここでは方法について言及してないが、各付箋紙表示モジュールが作成したウィンドウは、後から画面上のユーザの好きなところに移動させることができるようにする。
【0216】
逆に付箋紙として表示されたページ部品は、逆にブラウザへドラッグドロップすることで、ブラウザが表示しているページへ追加したり、あるいは削除することができる。
【0217】
これらの機能はデスクトップ貼り付けモジュールM3が特別に用意した機能ではなく、以前の詳細説明した各付箋紙表示モジュールM3b内の文書処理モジュールM22が行っていることである。
【0218】
(文書編集システムのまとめ)
以上説明したように、本実施形態に係る文書編集システムは、複数の要素から構成された文書構造を有する構造化文書を表示手段(図24の出力装置24に対応する)に表示するとともに、この構造化文書に一致または含まれる部分文書であって、予め操作単位として定められた表示データを表示手段に表示するための少なくとも1つの要素からなる部分文書を基に構造化文書を編集する文書編集システムであって、部分文書には、少なくとも1つのサブコンテンツに対応する部分文書であることを表す情報(例えば、「component」属性)が含まれており、この情報を基に、少なくとも当該部分文書の位置情報(部分文書間の親子関係(包含関係)を表す情報を含む)を含む部分文書毎の部品データ(すなわち、ページ部品)を作成して、構造化文書を部品データの集合として記憶手段(すなわち、ページ部品DB)に記憶し、表示手段に表示された表示データのうち、操作対象として選択された表示データに対する操作内容に応じて、当該操作対象の表示データに対応する部品データを更新することにより構造化文書を編集する。
【0219】
各部分文書には、当該部分文書のタイプと、当該部分文書のデータ形式を当該部分文書に適用する表示形式に対応するデータ形式に変換するための少なくとも1つの変換規則と、当該部分文書の表示データとして表示手段に表示される他の構造化文書中の部分文書へのリンク情報と、当該部分文書に挿入可能な他の部分文書のタイプと挿入位置のうちの少なくとも1つが、当該部分文書の付加情報(例えば、属性情報など)として含まれており、この付加情報を各部分文書から抽出して、当該部分文書の部品データを作成する。従って、部品データには、当該部品データに対応する部分文書に含まれている付加情報が含まれている。
【0220】
なお、例えば、部分文書の位置は、当該部分文書を包含している、例えばWebページなどの他の部分文書の文書構造上の配置位置などで表すことができる。
【0221】
また、1つのWebページ全体に対応する部分文書と、当該Webページに含まれる1つのサブコンテンツに対応する部分文書との間の関係は、親子関係(包含関係)にあると言える。
【0222】
また、各部分文書で表示手段に表示されるデータ(表示データ)は、当該部分文書に包含されている場合と、当該表示データへのリンク情報が当該部分文書に含まれている場合とがある。
【0223】
このように、上記実施形態によれば、構造化文書に含まれている、操作単位の部分文書を表す情報を基に識別することができる各部分文書のそれぞれについて、その付加情報を基に、上記部品データ(ページ部品)を作成することで、この部品データを基に、画面上に表示された内容をサブコンテンツ単位(部分文書単位)で容易に編集操作を行うことできる。
【0224】
(サービスサーバ)
以上説明したように、ブロックWeb文書を用いたサブコンテンツ単位の操作・編集を行う仕組みが確立された場合、Webページの提供者(Webサイト)の中には、この仕組みを活用してページの利便性を向上させることで、当該Webページの閲覧者を増やしたいと考える者もいるだろう。
【0225】
Webページを提供する側として、ポータルサイトで各ポートレットをページ部品とするなど静的なWebページへの適用例と、ショッピングサイトなどで検索結果の商品カタログをページ部品とするなど動的なWebページへの適用例が考えられる。すなわち、前者の場合、サーバで保持するWebページは全て、ブロック構造情報などを有するブロックWeb文書とし、後者の場合、例えば、検索される各レコードを1つのサブコンテンツ(ページ部品)とし、検索結果として得られた複数のレコードを所定の形式でまとめ上げて、1つのブロックWeb文書を作成し、クライアントへ配信するようにしてもよい。
【0226】
Webサイトから提供されるWebページが前述のブロックWeb文書であると、Webサイトから提供されるコンテンツをユーザがブラウザで閲覧すると、当該Webページに含まれるページ部品に関する上述の操作機能を活用することができるという効果が得られる。
【0227】
図23は、サーバ装置の構成例を示したもので、サーバ装置10は、例えば、インターネットなどの所定のネットワーク12を介して複数のクライアント端末(ここでは、2つ)11a、11b(以下、これらを区別する必要がない場合は、それぞれをクライアント端末11と呼ぶ)からの要求を受け付けて、ユーザに所望のWeb文書(Webページ)などを配信するためのものである。
【0228】
図23に示すサーバ装置10は、クライアント端末11からの配信要求を受け付ける配信要求受付部10aと、複数のWebページ(全てブロックWeb文書であってもよいし、HTML文書などのブロックWeb文書以外の文書であってもよい)を記憶するWebページ記憶部10bと、ブロックWeb文書以外のWeb文書をブロックWeb文書に変換するための変換部10cと、配信要求されたWebページを要求元のクライアント端末11へ配信するための配信部10dと、上記各部を制御するための制御部10eとから構成されている。
【0229】
Webページ記憶部10bには、前述したように、ブロックWeb文書のみを記憶するようにしてもよい。また、ブロックWeb文書以外のWeb文書が記憶されていてもよい。Webページ記憶部10aに記憶されているWebページのうち、ブロックWeb文書以外のものは、変換部10cにて、ブロックWeb文書に変換する。
【0230】
変換部10cは、前述のページ読込モジュールM21で構成可能である。すなわち、Webページ記憶部10bに格納されているWeb文書に対し適用可能な変換ルールが存在すれば、当該変換ルールを適用して、ブロックWeb文書に変換し、適用可能な変換ルールが存在しない場合には、当該Web文書を1つのページ部品と解釈して、当該Web文書のルートノードに、「component」属性を付与するとともに、当該Web文書にデフォルトのスタイルを与える。
【0231】
このようにして、配信要求受付部10aで受け付けられた、クライアント端末11からの配信要求を基に、クライアント端末11から要求されたブロックWeb文書が配信部10dを介して、要求元へ配信するようになっている。
【0232】
ところで、本システムの別の特徴として、ユーザはWebサイトやWebページを越えて、ページ部品を受け渡すことができる。したがって、ユーザがコンテンツを提供するWebサイトからページ部品だけを抽出することができ、ユーザは好みのWebサイトをベースに情報閲覧作業を続けることができる。
【0233】
そこで各Webサイトは、Webテンプレート領域、すなわちページ部品を収納している余白部分で差別化を図ることができる。差別化として、デザインや機能で使い勝手を向上させて顧客をインセンティブを与えるとともに、バナー広告を行ったり、検索結果として自社製品を効果的に出力するなど自社サービスへの誘導を行うことで、メリットを得ることができる。
【0234】
システム構成としては、Webテンプレート領域だけを含むWeb文書・ページ部品を検索出力するCGI・検索CGIの出力結果とWebテンプレート領域を合成出力するCGIをWebサーバ上に配置するというシステム構成となる。
【0235】
またサーバが提供する別のサービスとして、顧客(ユーザ)が、図2や図24に示した文書編集システムを用いて作成したスクラップブックをサーバが代行管理するというサービスも考えられる。スクラップブックは、ユーザの操作するコンピュータ上に格納されるため、外出先などそのマシンにアクセスできない場所では、自分がスクラップブックに蓄積したサブコンテンツをアクセスすることができないという不便さがある。この問題を解決するサービスとして、サーバがスクラップブックを管理するというソリューションが考えられる。この場合、サーバはユーザを認証し、そのユーザでしかログインできないURLに、そのユーザのスクラップブック群を割り当てて閲覧できるようにするとともに、スクラップブックを更新するためのフォームを用意する。
【0236】
またサーバは、ユーザに表示するスクラップブックを、自社にとって都合の良い内容にすることができるので、たとえば自社製品情報を各スクラップブックに付記するなどして宣伝効果を得ることができる。
【0237】
あるいは、スクラップブックに記載されたサブコンテンツの内容から、データマイニングなど既存技術などを用いて、各ユーザの趣向などを分析し、当該ユーザにとって歓迎されることが期待される情報を各スクラップブックに付記するという、付加価値サービスで差別化することも可能となる。
【0238】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピーディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して、あるいはインターネットなどのネットワークを介して頒布することもできる。
【0239】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0240】
【発明の効果】
以上説明したように、本発明によれば、構造化文書の中に含まれるコンテンツを、それよりさらに細かい操作単位としてのサブコンテンツ単位で容易に編集することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る文書編集システムの機能を説明するための図。
【図2】文書編集システムの機能的な構成例を示した図。
【図3】1つのWebページ中のページ部品(サブコンテンツあるいは部分文書)について説明するための図。
【図4】ページ部品のデータ構成を説明するための図。
【図5】ホストモジュールの機能的な構成例を示した図。
【図6】画面表示例を示した図。
【図7】ページ読込モジュールの機能的な構成例を示した図。
【図8】ページ読込モジュールの動作を説明するためのフローチャート。
【図9】入力文書のブロックWeb文書への変換手順を説明するためのフローチャート。
【図10】ページ部品管理モジュールの機能的な構成例を示した図。
【図11】ページ部品挿入モジュールの動作を説明するためのフローチャート。
【図12】レンダリング処理モジュールの機能的な構成例を示した図。
【図13】GUI処理モジュールの機能的な構成例を示した図。
【図14】ドラッグ処理モジュールの動作を説明するためのフローチャート。
【図15】ドロップ処理モジュールの動作を説明するためのフローチャート。
【図16】エクスポートモジュールの機能的な構成例を示した図。
【図17】ページ部品形式調整モジュールの機能的な構成例を示した図。
【図18】デスクトップ貼り付けモジュールの機能的な構成例を示した図。
【図19】デスクトップ貼り付けモジュールの動作を説明するためのフローチャート。
【図20】ページ部品の編集動作を説明するためのフローチャート。
【図21】HTMLカッター処理動作を説明するためのフローチャート。
【図22】スタイル切り替え処理動作を説明するためのフローチャート。
【図23】サーバ装置の構成例を示した図。
【図24】図2に示した文書編集システムを例えばコンピュータ(計算機)上で実現する場合の構成例を示した図。
【符号の説明】
M1…ホストモジュール
M2…文書処理モジュール
M21…ページ読込モジュール
M22…ブロックWeb文書処理モジュール
M221…ページ部品管理モジュール
M222…レンダリング処理モジュール
M223…GUI処理モジュール
M224…エクスポートモジュール
M225…ページ部品形式調整モジュール
M3…デスクトップ貼り付けモジュール
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and an apparatus for editing a structured document such as an XML document and an HTML document.
[0002]
[Prior art]
In the WWW (World Wide Web), a shopping site has a page listing product catalogs, and a news site has news listing pages. In many portal sites, information of different genres, such as stock price information, weather information, and headline news, is described in combination in a partial page area called a portlet on a top page. Here, when the information for each genre is referred to as sub-content, recently, unlike a conventional documentary Web page, a Web page that can be browsed via the Internet has a sub-content included therein. The independence of each other is high, and the number of Web pages configured in a collective manner is increasing.
[0003]
With respect to such Web pages, there is an increasing demand from users to selectively browse only sub-contents of interest instead of reading the entire page in order. Not only browsing but also, for example, the following requests.
[0004]
1) Want to compare and sort by sub-contents
2) I want to classify and organize by sub-contents
3) Want to collect and save in sub-content units
However, none of the current browsers have a function that can respond to the above request.
[0005]
[Problems to be solved by the invention]
As described above, conventionally, it is possible to browse the entirety of one Web page, but from each of a plurality of different Web pages, each Web page is included in each Web page. There is a problem in that only desired sub-contents among a plurality of high sub-contents cannot be collected and compared, rearranged, classified, organized, and stored in sub-content units.
[0006]
In view of the above problems, the present invention enables browsing not in units of Web pages but in units of sub-contents included in each Web page, and further, from each of one or a plurality of different Web pages, It is an object of the present invention to provide a document editing method and system capable of collecting only desired sub-contents and editing the content in units of sub-contents.
[0007]
Also, on the client side, browsing can be performed not in units of Web pages but in units of sub-contents included in each Web page, and only desired sub-contents can be read from one or a plurality of different Web pages. It is an object of the present invention to provide a server device capable of providing Web pages that can be collected, compared, rearranged, classified, arranged, and stored in sub-content units.
[0008]
[Means for Solving the Problems]
According to the present invention, a structured document having a document structure composed of a plurality of elements is displayed on a display unit, and at least one of the above-mentioned elements is matched or included in the displayed structured document as an operation unit in advance. Editing the displayed structured document based on the determined partial document, wherein the partial document includes at least information indicating that the partial document is the operation unit, On the basis of information, part data for each of the partial documents including at least the partial document and positional information of the partial document on the document structure is created, and the structured document is stored as a set of the part data. The part data corresponding to the partial document to be operated is updated in accordance with the operation content for the partial document selected as the operation target by updating And wherein the to edit the Zoka document.
[0009]
According to the present invention, for each partial document that can be identified based on the information representing the partial document of the operation unit included in the structured document, the component data (page By creating a (part), the contents displayed on the screen can be easily edited in sub-content units (partial document units) based on the page parts.
[0010]
Therefore, as a structured document, for example, browsing can be performed not in units of Web pages but in units of sub-contents included in each Web page, and further, desired sub-contents can be obtained from one or a plurality of different Web pages. Only the sub-contents can be collected and edited in sub-content units.
[0011]
The server device of the present invention displays a structured document having a document structure composed of a plurality of elements on a display unit, and includes at least one of the at least one element that matches or is included in the displayed structured document. The structured document is delivered to a client device that edits the displayed structured document based on a partial document determined as an operation unit, and the structured document delivered to the client terminal includes: , At least information representing a partial document as the operation unit that matches or is included in the structured document is included (that is, the structured document delivered to the client terminal is a block Web document).
[0012]
According to the present invention, it is possible for a client to view a structured document as a structured document, for example, not in units of Web pages, but in units of sub-contents included in each Web page, and one or a plurality of different Web pages , It is possible to provide a Web page in which only desired sub-contents are collected from each of the sub-contents and can be compared / rearranged, classified / arranged, and stored in sub-content units.
[0013]
Preferably, the structured document to be delivered to the client terminal includes information indicating a partial document as the operation unit that matches or is included in the structured document, and for each partial document, a type of the partial document, At least one conversion rule for converting the data format of the partial document into another data format, link information to a partial document in another structured document displayed on the display unit as the partial document, At least one of the type and insertion position of another partial document that can be inserted into the document is included as additional information of the partial document.
[0014]
Preferably, when the structured document delivered to the client terminal does not include at least information indicating a partial document as the operation unit that matches or is included in the structured document, at least the operation Means for inserting information representing a partial document as a unit is provided. As a result, a structured document (for example, a standard HTML document or XML document) that is not a block Web document is also converted into a block Web document by the server device, so that the client side edits a Web page in units of sub-contents. Can be easily performed.
[0015]
Preferably, when the structured document delivered to the client terminal does not include at least information indicating a partial document as the operation unit that matches or is included in the structured document, at least a partial document as the operation unit And means for inserting at least one conversion rule for converting the data format of the partial document into another data format.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0017]
First, terms used in the following embodiments will be described.
[0018]
A Web document and a Web page are structured documents that can be browsed via the Internet and have a document structure composed of a plurality of elements described in HTML, XML, or the like. In the following description, a Web document (also referred to as a Web page) will be described as an example, but the present invention is not limited to this case. An HTML document or an XML document created for the purpose of being browsed via the Internet and created by an arbitrary editor for any purpose and acquired by an arbitrary means, even if it is not a structured document acquired via the Internet The present embodiment is applicable to general structured documents such as.
[0019]
Sub-contents are coherent in content in a displayed Web page, for example, each is display data with high content independence, and how to divide sub-contents is determined by the creator of the Web page. That's the intention. The sub-contents correspond to partial documents that can be variously divided from completely different viewpoints by the creator of the Web page, and the display data can be displayed in the partial documents. Therefore, it can be said that the sub-content is a partial page (partial document) that the user wants to handle independently in one Web page (Web document). For example, in many portal sites, information of different genres, such as stock price information, weather information, and news articles, is described in combination in a partial page area called a portlet on a top page. For example, each genre of information, that is, for example, each of a news article and weather information may be one sub-content (partial document), or each news in a news article is a sub-content (partial document). ). The contents of the sub-contents and the way of division are not particularly limited. Note that one Web page may correspond to one partial document, and the partial document may include a plurality of partial documents. In the following description, the sub content and the partial document may be regarded as equivalent.
[0020]
(Overview of each function)
An outline of the document editing system according to the present embodiment will be described. In the description herein, a browser is generally referred to as a general term for software having a Web display function, and is limited to software that focuses on the Web display function such as Internet Explorer (trademark) or Netscape (trademark). Not. For example, the document editing system according to the present embodiment is provided with a database having a Web document display function, which is also called a browser.
[0021]
1) A function to freely rearrange sub-contents by GUI operation such as drag and drop on the browser (corresponding to the needs of comparison and sorting)
2) A function to transfer sub-contents from one browser to another browser by GUI operation such as drag and drop (corresponding to the needs of classification and organization)
3) A function to open a browser that displays a page that does not include sub-contents and pass the sub-contents that you want to import from various pages to the browser by GUI operation such as drag-and-drop (corresponding to collection and storage needs)
The basic functional specifications can cover the above needs from the user. Peripheral functions were added based on this basic function specification, and a complete function specification was designed.
[0022]
FIG. 1 is a bird's-eye view of those functions. Hereinafter, the functional specifications will be outlined based on FIG. However, FIG. 1 is an example of a function flow for explaining the usage mode in an easy-to-understand manner, and is not a functional block diagram because the configuration in an actual system design is different as described later.
[0023]
When the browser of this system reads a Web page on the Internet or a file system, it displays the Web page like a conventional browser. In addition, there are many operation functions for the user to handle sub-contents conveniently. That is, 1-1 to 1-14 of FIG. 1 are provided. The outline of each of these functions 1-1 to 1-14 will be described below.
[0024]
(Free Relocation Function 1-1) One of the functions is a free relocation function of sub-contents on a browser. The user can move an arbitrary sub-content to another position using a GUI operation such as a drag-and-drop operation on the Web display unit of the browser. There are two types of freedom modes, a completely free mode in units of dots, and a layout mode in which the images are arranged along a frame. As a result, for example, on a product listing page on a shopping site, there is an effect that the arrangement of products can be changed during browsing for the convenience of the user.
[0025]
(Sort Function 1-2) As a function related thereto, there is a sort function. The sorting function 1-2 is activated by selecting a function from a menu, a tool button, or the like. Among all the sub-contents included in the page or the specified sub-contents, it is possible to sort according to the content of the specific item. As a result, for example, the products on the shopping site can be rearranged by price or type, which makes it easier to compare products. In addition, by using the inter-page transfer function 1-4 in FIG. 1 described later, it is also possible to compare product items on various websites and web pages.
[0026]
Conventionally, for comparison between contents of different Web sites, direct assistance from a machine could not be obtained, and humans had to compare with eyes.
[0027]
(Search Function 1-3) There is also a sub-content search function. The search function is activated by selecting a function from a menu or tool button. From the page, a search is performed according to the conditions input by the user, and the search result is selected in the same browser (focused to indicate which is applicable to the user). Using the new blank page creation function 1-9, a browser is opened as a separate window, and the corresponding sub-contents are loaded therein. Also, by repeatedly using this search function, the search can be narrowed down sequentially.
[0028]
(Inter-Page Transfer Function 1-4) As a next function, there is a function of transferring sub-contents between Web pages displayed by different browsers. Sub-contents displayed separately on a plurality of Web sites or Web pages can be viewed on the same page. Although this function has the effects described above, it can be used in combination with the new blank page creation function 1-9 of FIG. 1 to collect only sub-contents that are interesting for a new page, and further compare them. Can be.
[0029]
(Form Adjustment Function 1-5) As an auxiliary function, there is a form (type) adjustment function. When sub content is transferred between different Web pages, the type of the sub content may not be compatible. For example, a product listing page may have different display formats and data formats for each page. Although it is possible to insert the content as it is, it is inconvenient when it is desired to compare the sub-contents by using the sort 1-2 or the like. The format (type) adjustment function 1-5 automatically solves this problem. When the system determines that the type of the sub-content does not match the page on the receiving side, the system determines from the database of the web format conversion rules that the system has. Find the right one, apply the conversion rules, align the types, then insert.
[0030]
(Design Switching 1-6) As another function, there is switching of a design (also called a display format or a style). The design switching function is activated by selecting a function from a menu or tool button. The design switching function is a method of switching the design for one or a plurality of sub-contents without changing the content. For example, for a product catalog listed on the Web, it is possible to switch to a display format in which data specifications are easy to understand or a display format in which product designs are easy to understand. However, this function can be used only when the Web page is described separately from data and a style sheet (display method) such as XML.
[0031]
(Insert Function 1-7) There is a function of inserting a sub-content into another sub-content as a child. By using this function, for example, a user can store a product catalog in a product catalog. This function is recursive, and the processing of inserting sub-contents into sub-contents and inserting another sub-content into internal sub-contents can be performed indefinitely.
[0032]
(Acceptance Judgment Function 1-8) The sub-content acceptance judgment function 1-8 is provided in another place by a GUI operation such as drag-drop, such as the above-described free relocation function 1-1 and inter-page transfer function 1-4. This function is automatically activated when sub-contents are inserted. With this function, when the insertion operation is performed, if a Web page that is the accepting side or the insertion function 1-7 is used, if conditions for accepting insertion of another sub-content are set, the conditions are set. Is not satisfied, the insertion processing is cancelled. Acceptance conditions can be given for the format of the sub-content.
[0033]
This function 1-8 is linked with the type adjustment function 1-5. If the sub-content to be inserted does not satisfy the condition of the accepting side, it is attempted using the function of the format adjusting function 1-5 whether or not the sub-content can be converted into an acceptable type. If a conversion to an acceptable type is found, that type is inserted. If not found, the insertion process is canceled.
[0034]
(New Blank Page Creation Function 1-9) The function 1-9 of creating a new blank page is activated by selecting a function from a menu or a tool button. When executed, another browser window is opened and an empty Web page is newly created there. As one important utilization method, this page can be used as a scrapbook to collect only sub-contents of interest from a plurality of Web pages by dragging and dropping. This new page can also inherit the design of the web page of the browser from which it was opened, in which case the new page is displayed in another window with all sub-contents removed from the original web page. Will be displayed as
[0035]
(Content Editing Function 1-10) The content editing function 1-10 is activated by selecting a function from a menu, a tool button, or the like. When activated, the editing mode is set, and the user can edit the currently selected sub-content on a browser or on dedicated editing software in a separate window.
[0036]
The editing function includes an inline mode for changing each data field in an HTML form format as it is displayed, and a full mode for changing the design. As additional functions to these modes, when the design and the data are separated like XML, when the data field is changed, the function of reflecting (writing back) the value in the internal data part, and the data format is schema For example, there is a function of providing an optimal input HTML form GUI in accordance with the data format when strictly specified by, for example,. These functions can be realized by using existing technologies.
[0037]
Also, sub-contents can be newly created. This function utilizes the function of the inline mode. When activated, the HTML form is displayed in the form of the immediately preceding sub-content. When the user fills in and confirms each item of the form, new sub-content is added within the page.
[0038]
(Save Function 1-11) The save function 1-11 is activated by selecting a function from a menu, a tool button, or the like. The user can edit the configuration and content of the Web page by using the functions introduced so far. By using the storage function 1-11, the changed state can be stored in various storage systems. As the storage destination, not only the file system of the local host used by the user but also a Web server or a database on which the user's home page is located can be selected.
[0039]
As a storage format, in addition to HTML and XML, a special format of the present system to which the configuration information of these sub-contents is added can be selected. In the special format, which is the sub-content is also stored, so that the above-described function for the sub-content can be continuously used even when the sub-content is read next time.
[0040]
(Data Source Update Function 1-12) As its auxiliary function, there is a data source update function 1-12. This function is a type of storage function. When a Web page originally sent from a Web server is edited, the updated information can be transmitted to the original Web server. The received Web server reflects the update data on an appropriate storage such as a database according to the system configuration.
[0041]
(Capture Function 1-13 to External Application) A function 1-13 to capture sub-contents into an external application is to drag and drop only favorite sub-contents from any Web page (including a scrapbook) opened in a browser. This is a function to take in the application by passing it to the application by the GUI operation. As an import destination, a mail, an OA tool, an in-house workflow system, or the like is an example of an effective application.
[0042]
(Paste function 1-14 as sticky note on desktop) As a function similar to the function 1-13 for taking in the external application, there is a function 1-14 for pasting sub-contents to the desktop. By dropping a favorite sub-content from an arbitrary Web page (including a scrapbook) opened in a browser onto a desktop, it can be pasted as a sticky note (electronic sticky note). The sub-content pasted on the sticky note can be later dropped on an arbitrary page or application.
[0043]
(System configuration)
The configuration of the document editing system for realizing the above functions will be described.
[0044]
In order to provide each of the above functions to the user with the sub-contents as a processing unit, at least where in the Web page the sub-content corresponds (the sub-content is included in another sub-content (has a parent sub-content)) In some cases, it may include other sub-contents (having child sub-contents) (this is called an inclusion relationship or a parent-child relationship between sub-contents (partial documents)). (Information between partial documents) is required, which is referred to as Web block structure information or simply block structure information, and one Web page is classified based on the block structure information included therein. Decomposition into sub-content units, which are processing units of the present system, is also referred to as blocking.
[0045]
Blocking is a feature of the present invention, and Web documents such as HTML documents and XML documents that are widely used at present do not include block structure information.
[0046]
Next, how to obtain this block structure information and how to handle it will be described. Here, the following policy was adopted when acquiring and handling the block structure information.
[0047]
1) Prepare a dedicated Web language that can be described including block structure information (hereinafter, this language is called a block Web language, and a document written in this language is called a block Web document).
[0048]
2) The present system performs processing based on the block Web language.
[0049]
3) When a conventional Web document such as HTML or XML is input to the system, the document is converted into a block Web language before the above processing is performed, and is taken in. At this time, it is necessary to supplement the block structure information, and several functions are provided as a supplementing method.
[0050]
There are two reasons for adopting the above policy.
[0051]
First, we intend to make this dedicated block web language with complete information the primary way to leverage the system. When a block Web language is input, the author can describe where he wants to block (sub-content handled independently) together with the content based on his or her intention to produce.
[0052]
Therefore, it is assumed that this block Web language is widely disclosed in order to be used by Web authors.
[0053]
The technique described in Japanese Patent Application Laid-Open No. 2001-109742 is used as a method for providing a user with an operation function for handling sub-contents based on the block Web language.
[0054]
On the other hand, an object is to flexibly cope with a widely used Web page description language. The currently popular Web languages are HTML and XML. Instead of preparing a processing module for directly handling these, a method of converting the processing into the block Web language is used. By doing so, the system can be simplified and at the same time, only the conversion process can be made independent. Therefore, there is an advantage that the expandability such that a conversion method that will be required in the future is supported as a plug-in is obtained.
[0055]
Regarding the conversion, HTML or XML itself does not have the block structure information, so the missing information must be compensated. On the other hand, there are a method of giving a document from another document separately prepared in advance, a method of specifying the location on the spot when the user uses the browser, and a so-called text mining method of mechanically inferring the block structure from the document content. In the following description, a case will be described in which the above two methods are used. The third method can be realized by using existing technology, but only the possibility is shown here.
[0056]
FIG. 2 shows a functional configuration example of the document editing system configured based on the above. FIG. 4 shows a configuration example of a global data object handled by the present system. First, page components as object data to be processed by the present system will be described.
[0057]
This system handles a data object of a page part unit having a configuration as shown in FIG. A page component is data that corresponds to each sub-content (partial document) on a one-to-one basis, and includes not only the content of the sub-content itself, but also management information necessary for the sub-content functions provided by the present system. ing.
[0058]
The page part (data object) D1 shown in FIG. 4 is composed of a plurality of sub-data objects D11 to D18. In FIG. 4, for example, it is shown that the reception information D14 further includes insertion location information D141 and reception type information D142 therein. Similarly, the child page part management information D16 includes therein insertion place information D161 and reference information D162 for child page parts. In addition, for example, a plurality of sub data objects, such as the reception information D14 and the child page component management information D16, which are described in a plurality of overlapping (here, for example, overlapping) include a plurality of such sub data objects. It is shown that.
[0059]
The page component D1 includes information such as a type name D11, a content D12, a style sheet D13, reception information D14, a reference D15 to a parent page component, a child page component management information D16, a link URLD17, and a link flag D18. These pieces of information include information included as an element constituting each partial document extracted from the block Web document, information included as an attribute, and the like.
[0060]
The type is used to distinguish each partial document according to the data format (formal difference) of the partial document and the category / genre (semantic difference) related to the content of the partial document. The type name is identification information for distinguishing each type according to the semantic and formal differences of various partial documents. The type name D11 included in the page part D1 holds the type name corresponding to the partial document corresponding to the page part D1. This type name is described by a “type” attribute attached to an element (element) which is a top node of the partial document.
[0061]
The content D12 holds a partial document corresponding to the page part D1. When the display data is in a structured document other than the structured document including the page part, the link information to the display data is stored in the link URL 17 (at this time, the link flag D18 is set to the link flag D18). In this case, the content D12 may be empty.
[0062]
The style sheet D13 converts the data format of the display data according to the data format conversion rule (style sheet) applicable to the partial document held in the content D12 and the display format applicable to the partial document. Conversion rules (style sheets) for conversion to the corresponding data format are stored. If a plurality of conversion rules can be applied to the display data, a plurality of style sheets D13 are included in the page component D1. The style sheet is described by a “style” attribute described in an element (element) which is a top node of the partial document.
[0063]
The reception information D14 holds a type name of a partial document that can be accepted (inserted) by the partial document corresponding to the page component D1 as a reception type D142, and holds an insertion location D141 on the document structure. The acceptance type D142 is described as (an attribute of) the “accept” element in the partial document, and the insertion location D141 is position information corresponding to the arrangement position of the “accept” element in the document structure.
[0064]
The reference D15 to the parent page component associates the page component D1 with the page component corresponding to the parent partial document when the partial document corresponding to the page component D1 is included in another partial document. Information.
[0065]
The child page part management information D16 is used to associate the page part D1 with a page part corresponding to another child partial document when the partial document corresponding to the page part D1 includes another partial document. Of the other partial document in the document structure, and a reference D162 to the child page component as position information of the other partial document in the document structure. The insertion location D161 is an arrangement position of an element (for example, an “import” element to be described later) instructing insertion of another partial document in the partial document. The reference D162 to the child page component is described as the position information.
[0066]
Note that each sub-data object shown in FIG. 4 will be described as necessary in the following description of the configuration and operation of the system shown in FIG. 2.
[0067]
Also, it has been described that the sub-content corresponds to a partial page (partial document) that the user wants to handle independently in one Web page (Web document). In the present system, the page component D1 as shown in FIG. 4 is handled as an object corresponding to the sub content one-to-one, but the entire page (that is, one Web page) is also processed as one page component.
[0068]
The page component will be specifically described with reference to FIG. FIG. 3 shows a page component 3-1 as one Web page. The page component 3-1 corresponding to the entire page includes a plurality of page components 3-1 to 3-7. In the present system, the page component 3-1 and the page component 3- 2 to 3-7 are managed as having a parent-child relationship. By considering the entire page as a page part, special processing is not required, the system is simplified, and at the same time, it may be necessary to capture the entire page as a part of another page.
[0069]
Next, each functional module of the document editing system shown in FIG. 2 will be described.
[0070]
As shown in FIG. 2, the document editing system is roughly divided into a host module M1, a document processing module M2, and a desktop pasting module M3. These modules M1 to M3 are independent modules. The host module M1 instantiates the document processing module M2 as necessary and calls it. The document processing module M2 executes the desktop paste module M3 as necessary. And call it.
[0071]
The host module M1 is a container component that receives (hosts) the document processing module M2. The basic functions are to construct a window frame on an OS (Operating System), to secure a window area for the document processing module M2 to function, and to provide menus and tool buttons for the user to operate. That is, the input command is transmitted to the document processing module M2.
[0072]
Specifically, as the host module M1, a Web browser and a page parts album host (a dedicated application providing a function specialized for page parts management as shown in FIG. 5) are assumed. Since general Web browsers such as Internet Explorer (trademark) and Netscape (trademark) are created to function as general-purpose document service hosts, the document processing module M2 is called from the browser according to the specifications of each browser. It is sufficient to perform necessary registration processing for the document processing module M2 so that the document processing module M2 can be activated. These details are in the category of software specifications of general-purpose browsers, and further description is omitted. Here, when the general Web browser is used as a host module, this host module is referred to as a first host module M1.
[0073]
On the other hand, the host module dedicated to the document editing system according to the present embodiment is called a second host module M1, which will be described later.
[0074]
The document processing module M2 is a Web document processing module having a blocking function and a function for sub-contents. The document processing module M2 is substantiated by the number of Web pages from the host module M1 and called. That is, one document processing module is generated on the memory for one Web page.
[0075]
The document processing module M2 roughly includes two sub-modules, a page reading module M21 and a block Web document processing module M22.
[0076]
The page reading module M21 is in charge of the blocking function. The page reading module M21 reads a document specified by a URL (or a file path if it is on a local machine), and is a general Web document such as an HTML document or an XML document that is not a block Web document. If it is determined that one of a plurality of methods has been executed, the document is converted into a block Web document.
[0077]
It is the block Web document processing module M22 that provides the function for sub-contents. The module M22 includes five sub-modules: a page component management module M221, a rendering processing module M222, a GUI processing module M223, an export module M224, and a page component format adjustment module M225.
[0078]
The page component management module M221 has a page component database M221b that holds page components extracted from each page. The page component management module M221 has a function of changing a page configuration such as insertion, movement, and deletion in units of page components (sub-contents). Has the ability to save.
[0079]
The rendering processing module M222 has a function of displaying a page component group managed by the page component management module M221 as a Web page.
[0080]
The GUI processing module M223 provides a GUI function for operating sub-contents such as drag and drop and a context menu on the Web page displayed by the rendering processing module M222. When the GUI operation is performed, a data processing function corresponding to the operation is called for the page component management module M223, and the display screen is rewritten using the rendering processing module M222.
[0081]
The GUI processing module M223 simultaneously calls the export module M224. The export module M224 provides a processing function for delivering a page component to an external application (external application).
[0082]
Specifically, when a copy command or the like is executed in a GUI operation by dragging and dropping or in a context menu (for example, when a right-click is performed on an arbitrary GUI component displayed on the GUI component), a GUI processing module is executed. The M223 calls the export module M224, and stores the contents of the page component in a format that can be read by the external application in a shared memory area (clipboard) that can be read by another application or process (these are collectively called an external application). Write. Thus, when a drop operation is performed on the external application, the external application reads the content from the shared memory area, so that the page component can be transferred.
[0083]
The page component format adjustment module M225 is a module that adjusts the data format of the sub-contents of the page component when transferring the page component within the document processing module M2 or between the document processing modules, and a page component management module M221. Is called when a page component insertion operation is performed. Specifically, when performing the insertion operation, if the type name of the page component to be newly added is not in the reception type D142 (also referred to as an acceptable type name list) included in the page component of the insertion source, The part format adjustment module M225 searches for an appropriate combination of conversion rules from the conversion rule database M225b (see FIG. 17), converts the page part into an acceptable page part, and returns it to the page part management module M221. If no resolvable combination of conversion rules is found, the page component management module M221 is notified of this fact, and the page component management module cancels the insertion operation.
[0084]
The desktop pasting module M3 provides the user with a function of pasting a part of a document of the application as a sticky note to the desktop by a drag-drop operation.
[0085]
FIG. 24 shows a configuration example when the document editing system shown in FIG. 2 is realized on, for example, a computer (computer).
[0086]
That is, in FIG. 24, the document editing system includes a processor (CPU) 20, a memory 22, an output device 24 such as a display and a printer, an input device 23 such as a mouse and a keyboard, and a storage device 21.
[0087]
Among these, the storage device 21 is used to store programs and the like that play a central role in controlling the system and temporarily store data and the like, and includes a host program 31, a document processing program 32, and a desktop pasting program 33. , Various application programs 34 and the like. The memory 22 is used as a shared memory that can be used when each of the programs is executed, a working area when the programs are executed, and the like. The processor 20 executes necessary programs, including input / output control and various processes, by executing programs in the storage device 21.
[0088]
The processor 20 mainly provides a function corresponding to the host module M1 of the document editing system shown in FIG. 2 on the document editing system shown in FIG. 24 by executing the host program 31 in the storage device 21. It is supposed to.
[0089]
The processor 20 mainly executes the document processing program 32 in the storage device 21 to execute a function corresponding to the document processing module M2 of the document editing system shown in FIG. 2 on the document editing system shown in FIG. Is provided.
[0090]
The processor 20 mainly executes the desktop pasting program 33 in the storage device 21 to support the desktop pasting module M3 of the document editing system shown in FIG. 2 on the document editing system shown in FIG. To provide the ability to
[0091]
Further, the processor 20 mainly executes various application programs 34 in the storage device 21 to provide functions corresponding to each application on the document editing system shown in FIG. .
[0092]
Hereinafter, each module shown in FIG. 2 will be described in detail.
[0093]
(Host module)
First, the host module M1 will be described. As described above, there are a method of using a general-purpose browser such as Internet Explorer and Netscape as a host module, and a method of providing a dedicated host module.
[0094]
When a general-purpose browser is used as the host module M1 (the host module M1 in this case is referred to as a first host module M1), registration processing necessary for the document processing module M2 is performed according to the specifications of each browser. Just do it. These details are in the category of software specifications of general-purpose browsers, and further description is omitted.
[0095]
Here, a second host module M1, which is a host module dedicated to the document processing system according to the present embodiment, will be described.
[0096]
The second host module M1 is a software application that can internally hold a plurality of pages including page parts, that is, block WEB documents, and can select and manage these plurality of pages in a tree. The execution screen is shown in FIG.
[0097]
When the second host module M1 is activated, a display area on the screen displayed on the display includes a classification tree display unit 6-1 and a Web display unit 6-2.
[0098]
A plurality of Web pages held by the second host module M1 are assigned to each node of the classification tree unit 6-1. The Web page corresponding to the selected node is displayed on the Web display unit 6-2. Is displayed. In FIG. 6, the Web page displayed on the Web display unit 6-2 is the same as the page part shown in FIG.
[0099]
The user can browse a plurality of Web pages as page components by clicking a desired node among the nodes displayed in the classification tree section 6-1. In addition, a node can be newly added, deleted, or moved on the tree by a user operation. These operations are the same usability as the widely used Explorer ™.
[0100]
Also, the user drags the page component currently displayed on the Web display unit 6-2 and drops it to an arbitrary node, or drops it on the Web display unit 6-2 of the second host module M1 which is separately opened. By doing so, the page parts can be moved or copied.
[0101]
In addition, by performing various GUI operations on the Web display unit 6-2, it is possible to execute functions for various other page components. These functions are provided by the document management module M2 described in detail later, and the details thereof will not be described here.
[0102]
In the case of the first host module M1 configured using the general browser described above as another example of the host module, a screen displayed when the first host module M1 is started is displayed on the screen. , Only the Web display unit 6-2 exists, and similarly, by performing various GUI operations on the Web display unit 6-2, functions for various page components can be executed.
[0103]
The functional configuration of the second host module M1 will be described with reference to FIG.
[0104]
The second host module M1 is roughly divided into a classification tree module M11 for displaying and operating a Web page tree in the classification tree unit 6-1 and writing and reading a file. It comprises a storage function module M12 and a resume function module M13.
[0105]
The function of displaying a Web page on the Web display unit 6-2 is assigned to a document processing module M2 described later.
[0106]
The classification tree module M11 is for displaying a classification tree and performing a GUI operation such as addition, deletion, or movement of a node on the displayed classification tree. As a program component for performing the above-described tree display / GUI operation, a program GUI component generally called a “tree control” is provided from various vendors, and can be dealt with by using the program GUI component.
[0107]
The tree control is a GUI component that displays named nodes on a tree that can be opened and closed, and that can be assigned any additional function through user operations such as clicking on each node.
[0108]
In the classification tree module, M11 may be configured by adding a function unique to the second host module to the tree control as a base. Note that the tree control itself is not the gist of the present invention, and the description thereof will be omitted.
[0109]
In the second host module M1, a Web page is assigned to each node of the tree. Therefore, each node of the tree control has reference information to the document processing module M2 so that the document processing module M2 corresponding to the node can be associated and the module M2 can be referred to.
[0110]
The node selection module M11 is a program module that is called when any one of the nodes is clicked in the tree control, and is generally called a selection event handler.
[0111]
The node selection module M111 instructs the document processing module M2 in which the selected node is associated with the node to display a Web page corresponding to the node. Thus, every time a node is selected, the corresponding Web page is displayed by the document processing module M2 associated with the node.
[0112]
The node addition module M112 is a program module that is called when any one of the nodes is added by the tree control, and is generally called an additional event handler. The node addition module M112 newly generates the document processing module M2 (the contents of the Web content are empty in this state), and reference information for associating the document processing module M2 with the newly added node. Is added.
[0113]
The node deletion module M113 is a program module that is called when any one of the nodes is deleted by the tree control, and is generally called a deletion event handler. The node deletion module M113 terminates the document management module M2 associated with the deleted node based on the reference information of the deleted node, and deletes it from the memory.
[0114]
The node move module M114 is a program module called when any of the nodes is moved by the tree control, and is generally called a move event handler. The movement event module M114 does not perform any processing.
[0115]
The page component receiving module M115 is a program module that is called when a page component is dropped (instructed to move to) to any one of the nodes by the tree control, and is generally called a drop event handler. The page component receiving module M115 instructs the document management module M2 associated with the node by reference information to add a page component based on the received page component data (serialized image). As a result, the same page component as the dragged page component is created on the Web page corresponding to the drop destination node.
[0116]
The above is the description of the classification tree module M11.
[0117]
The storage function module M12 is a program module that is executed when the application ends, and is also called an end event handler. The storage function module M12 has a function of writing information on a Web page associated with each node to a file. In order to realize this, a save command is issued to the document processing module M2 associated with each node while sequentially following each node of the tree.
[0118]
As a storage method, it is conceivable to store each document separately. However, each file name must be devised so that it does not duplicate, and the file must be collected the next time it is read, which is troublesome. Therefore, a method of saving all documents collectively in one file is also effective.
[0119]
The resume function module M13 is a program module that is executed when an application is started, and is also called an initialization event handler. The resume function module M13 has a function of returning information on the Web page or the like at the time of the previous end to the memory and restoring the application to the same as the last time. To realize this, the stored files are sequentially opened, and the nodes on the tree and the document processing module M2 associated with the nodes are sequentially regenerated.
[0120]
(Document processing module)
Next, the document processing module M2 will be described. Prior to a detailed description of each sub-module constituting the document processing module M2, a block Web document handled by the module M2 will be described.
[0121]
The following is an example of a block Web document.
[0122]
<? xml version = "1.0"? >
<Root style = "root.xsl">
<a component=“yes” type=“type-a” style=“1.xsl;a2.xsl;a3.xsl”>
<a> aaaaaa <// a>
<a> aaaaaaaaa <// a>
</a>
<B component = “yes” type = “type-b” style = “b1.xsl; b2.xsl; b3.xsl”>
<B> bbbbbb </ b>
</ B>
<Accept type = “type-a; type-b” />
<Import href = "http://www.shiba.co.jp/aaaaaa.pzx#xpointer(/root/c)"/>
</ Root>
The block Web document described above includes a partial document “a” corresponding to a page component that can be independently handled by an element including a “component” attribute, which is arranged below a “root” element. "B" is included. The display data displayed by the partial document "a" is "aaaaaa" or "aaaaaaaaa", and the display data displayed by the partial document "b" is "bbbbbb". Further, the Web document starting from the root element indicates that a “type-a” type or “type-b” type page component can be inserted at the position indicated by the “accept” tag.
[0123]
As is clear from the above block Web document, the partial document in the structured document corresponding to the sub-content is described in the top node (or, in some cases, the root note) in the partial document. It can be determined by the value of “component” attribute being “yes”. Here, it is determined that the partial document having the node in which the “component” attribute is described as the top node corresponds to one sub-content.
[0124]
This block Web document is an extension of the Web document disclosed in JP-A-2001-109742.
[0125]
In the block Web document, the tag “import” has a special meaning, and the page component of the URL specified by the href attribute (in the above example, a part of the page is specified using the URL with XPointer) is placed at the position. It has the function of being inserted into. It indicates that it is a page part as an external resource, and the handling within the page is exactly the same as other page parts.
[0126]
Also, when the content is passed via HTTP (Hypertext Transfer Protocol), the “Content-Type” must be “text / cmp”, and other network protocols such as FTP (File Transfer Protocol) or a file system from the file system. The rule is set so that the extension must be "cmp" for input. This is a rule prepared by the document editing system to determine whether the input document is a block Web document.
[0127]
(Page reading module)
FIG. 7 shows the configuration of the page reading module M2-1, and the arrows indicate the flow of data.
[0128]
The page reading module M21 mainly performs Web page blocking. It manages the input of the document to the document processing module M2, and if the given document is a block Web document, it passes through the page reading module M21 as it is and passes it to the block Web document processing module M22. (For example, an HTML document or an XML document) is converted into a block Web document and passed to the block Web document processing module M22.
[0129]
The page reading module M21 includes a page type determining module M211 and a blocking module M212. What is input to the page reading module M21 is a Web document input from communication such as HTTP or a file system. A well-known technique may be used for the HTTP communication function and the reading process from the file system, and the description is omitted here.
[0130]
The input document is first passed to the page type determination module M211. The page type determination module M211 determines whether the input document is a block Web document according to the procedure shown in FIG. That is, when the input document is passed via HTTP, if “Content-Type” is “text / cmp”, the input document is a block Web document (steps S1 to S3), and the FTP (File) If the input is from another network protocol such as Transfer Protocol) or a file system, and if the extension is “cmp”, it is determined that the input document is a block Web document (step S1).
[0131]
Referring back to FIG. 7, if the page type determination module M211 determines that the document is a block Web document, the document is used as it is by the page reading module M21. If it is determined that the document is not a block Web document, a process of converting the document into a block Web document is performed by the blocking module M212, and the result is output.
[0132]
The blocking module M212 executes a conversion process on a given document using a conversion rule for blocking (herein referred to as a block sheet), and outputs a block Web document obtained as a result. The conversion rules are stored in the block sheet database (DB) M214, and the conversion rules corresponding to the input document can be searched using the URL of the input document as a key. If the input document is not an HTTP but an input from an FTP or a file system, the URL of the FTP and the file URL are used. In this system, XSLT is used as a conversion rule.
[0133]
It is the block sheet application module M213 that actually performs the conversion processing using the block sheet DBM 214. FIG. 9 shows the flow of this processing. This output is passed to the block Web document processing module M22.
[0134]
Here, a supplementary description will be given of the processing when the block sheet corresponding to the input document is not found (step S12). If there is no block sheet corresponding to the input document, since there is no block structure information, the entire page is interpreted as one page component. That is, a “component” attribute is assigned to the root node of the input document. Also, since there is no style specification (style attribute) that should be specified in the page parts, a default style stored in the system is provided (steps S15 and S16). For an XML document, the default style is a style sheet that simply displays the XML document in a tree, and for an HTML document, a style sheet that displays the HTML document as it is is the default style. As a result, general XML documents and HTML documents can be handled as page components in the present system.
[0135]
(Block Web document processing module)
The block Web document processing module M22 is the core of the system that manages the block Web document input by the page reading module M21, displays the document to the user, and provides a convenient GUI operation for sub-contents. Module. As described in the description of the host module M1, one block Web document managed by one block Web document processing module M22 is one document. When managing a plurality of pages (a plurality of documents), it is necessary to generate the block Web document processing module M22 by the number of pages.
[0136]
The block Web document processing module M22 is composed of a plurality of sub-modules, and these cooperate with each other. The details will be described below focusing on each of them.
[0137]
(Page parts management module)
The page component management module M221 is a base service module for another module including a page, managing all page components in the page, and providing an API (application programming interface) for changing the configuration. The data configuration of the page component is as described in FIG.
[0138]
As shown in FIG. 10, the page component management module M221 includes five sub-modules: a page component read module M221a, a page component database (DB) M221b, a page component insert module M221c, a page component delete module M221d, and a page component save module M221e. It is composed of
[0139]
The page component reading module M221a analyzes the input block Web document, creates a page component for a partial document corresponding to the sub-content included in the block Web document, and finally creates a page component group. Is registered in the page component DBM 221b.
[0140]
In the block Web document, the sub-contents handled independently are included in the block Web document itself or included in a partial document in which an element (element) to which the “component” attribute in the Web document is assigned as a top node. Or an external resource specified by, for example, a URL in the “import” element.
[0141]
Therefore, the page component reading module M221a first extracts, from the input block Web document, a partial document to which a “component” attribute is assigned and a partial document including an “import” element. However, as for the sub-content itself (sub-content entity), the partial document to which the “component” attribute is given is included in the child element of the element as the top node. In the case of the “import” element, the entity (content) of the sub-content is obtained by downloading the content as an external resource designated by the “href” attribute of the element using a known technique. Can be.
[0142]
Then, for each of the sub-contents extracted from the block Web document, a partial document having an element to which a “component” attribute is assigned as a top node and a partial document composed of “import” elements are shown in FIG. The page component D1 as shown in FIG. The page part D1 for the block Web document itself as the sub content is also generated, and the generation is the same as described above.
[0143]
For example, sub-contents (display data) are written in the content D12 in the page part D1 in FIG.
[0144]
When each page component is generated, a parent-child relationship between each page component is obtained from a parent-child relationship between partial documents represented by a block Web document (similar to a parent-child relationship between elements in an XML document). Therefore, for a page part having a parent-child relationship, information such as a pointer and a link for associating the page part with the parent page part (that is, reference D15 to the parent page part here), Information such as a pointer and a link for associating a child page part with the page part (reference to the child page part) as information for associating the child page part with the page (ie, child page part management information D16 in this case). D162) and the location (position) D161 of the page component where the child page component is to be inserted.
[0145]
For each sub-content, the URL with the XPointer, which is pointer information for specifying the position in the document structure of the block Web document including the partial document corresponding to the sub-content, is written in the link URL17. In the case of sub-content acquired from the outside by the “import” element, the URL with the XPointer specified by the href attribute of the “import” element is written to the link URL17.
[0146]
If the “type” attribute is described as the attribute of each of the partial document having the “component” attribute and the partial document including the “import” element, the value is written as the type name D11, and “style” is written. Attribute is described (if the value is divided into a plurality of character strings by semicolon (each character string corresponds to, for example, an identifier of a style sheet), each character string is used as a style sheet D13). Write each.
[0147]
For each of the partial document having the “component” attribute and the partial document having the “import” element, for example, if the “accept” element exists as a child element in the partial document, it is determined by the sub-document corresponding to the partial document. The content indicates that there is sub-content that can be inserted, and the type name of the sub-content that can be inserted (acceptable) is shown as an attribute. In this case, the reception information D14 for inserting the sub-contents is written. First, as the insertion position (position) D141 of the sub-content, the structural position of the “accept” element is written, and if the “accept” element has a “type” attribute (the value is a semi-colon and a plurality of character strings (each character If the character string is divided into, for example, an acceptable sub-content type (corresponding to the identifier of the reception type), each character string is written as the) reception type D142.
[0148]
There may be a plurality of “accept” elements, and write processing is performed by the number of “accept” elements.
[0149]
The page component DBM 221b stores and manages all page components included in the block Web document. Each page part has reference information for its own parent page part and child page part group. By following the reference information in order, it is possible to extract information of an arbitrary page part. Can be.
[0150]
The page part insertion module M221c is for newly adding and inserting a page part as a child of an arbitrary page part.
[0151]
FIG. 11 is a flowchart for explaining the processing operation of the page component insertion module M221c. Hereinafter, description will be made with reference to FIG. For example, when the page part A is inserted into the page part B (step S20), the reception type D142 included in the reception information D14 of the page part B is extracted from the page part DB and the type included in the page part A to be inserted is included. The name D11 is extracted, and it is determined whether the type name of the page component A written as the type name D11 exists in the reception type D142 (steps S20 to S23). When the page component A exists, child page component management information D16 for the page component A is registered in the page component B in order to associate the page component A as a child page component (child page component) of the page component B. In order to associate the page part B as a parent page part (parent page part) of the page part A, a reference D15 to the parent page part about the page part B is registered in the page part A (step S24).
[0152]
In step S23, when the type name of the page part A written as the type name D11 does not exist in the reception type D142, it is necessary to convert the page part A into a page part of an appropriate type before inserting it. To realize this, the page component format adjustment module M225 is called. At this time, the reception type D142 of the page component B and the page component A are passed to the page component format adjustment module M225, and a conversion is requested so that the sub-content type of the page component A becomes a type that the page component B can accept. I do.
[0153]
When the type of the sub-contents of the page part A has been converted to the type that the page part B can accept, the process proceeds to step S24.
[0154]
If the reception type is not specified in the reception information D14 of the page part A in step S22, and if the type of the sub-contents of the page part A cannot be converted to the type that the page part B can accept in step S25, Proceeding to S26, insertion of page part A into page part B is rejected.
[0155]
Returning to the description of FIG. 10, the page part deletion module M221d is for deleting an arbitrary page part. Specifically, the child page component management information D16 for associating the page component to be deleted is deleted from the parent page component of the page component to be deleted, and the page component to be deleted is deleted from the page component DB. I do. At this time, when the partial document corresponding to the page component to be deleted includes a partial document included in the partial document (that is, a child partial document), the page component corresponding to the included partial document is also included in the page. Delete from the parts DB. By combining the function of the page component insertion module with the function of the page component deletion module, the movement of the page component can be realized.
[0156]
The page component storage module M221e has a function of storing an arbitrary page component as a file. This function saves the specified page parts. When using this function, the user specifies the page parts to be saved and the file name. However, the storage target includes not only the designated page part but also its descendant page parts.
[0157]
There are three types of storage formats: a block Web document format, a PureXML format, and an HTML format. The block Web document format is a format including a special notation for blocking / linking, such as a “component” attribute, an “accept” element, and an “import” element. Can also restore block structure information and link relationships.
[0158]
The PureXML format removes these special notations for blocking. The HTML format saves the currently displayed HTML state as it is.
[0159]
In the case of the block Web document format and the PureXML format, the storage content is determined by synthesizing the content D12 of a descendant page component of the page component with the content D12 of the page component D1. In the page part D1, each child page part and an insertion place D161 into which the child page part is to be inserted are written as child page part management information D16. This information is used when synthesizing the contents.
[0160]
On the other hand, in the case of HTML, the contents to be stored are determined by executing an HTML synthesis module M222a (see FIG. 12) described later.
[0161]
(Rendering module)
The rendering processing module M222 has a function of displaying page parts.
[0162]
As one of important uses, the block Web document analyzed by the page component management module M221 is displayed on the Web display unit 6-2 on the display screen as shown in FIG.
[0163]
As described above, a page part may be included in another page part or may include another page part (a page part necessarily has an inclusion relationship with another page part). . It is not enough to apply the style sheet D12 of the page part to the sub-content corresponding to each page part, and it is necessary to perform a process of inserting the style sheet application result of each child page part of the page part. On the other hand, in the present system, an “import” element is prepared in the style sheet, and the type name of the child page component to be inserted is written as the “type” attribute of the “import” element (when omitted) Accepts any type). If only the XSLT (style sheet) application processing is performed, the “import” command is output as it is as it is mixed with HTML. Therefore, the HTML is analyzed and HTML synthesis is performed.
[0164]
The “import” element (sometimes called “import”) in the style sheet is for HTML synthesis for display on a screen, and is described in a block Web document. Is a similar but functionally different instruction.
[0165]
As a specific example, it is assumed that there is a style sheet whose application result is as follows.
[0166]
<Html><body>
<H1> Title </ h1>
<Div><import type = “type-a”></div>
<Div><import type = "type-b"></div>
</ Body></html>
At this time, the first “div” element contains the style application result of the “type-a” type child page part, and the second “div” element contains the style of the “type-b” type child page part. The application result is entered.
[0167]
The HTML synthesis module M222a performs this synthesis processing. The HTML synthesizing module M222a obtains HTML by applying a style sheet (or a designated style sheet or the first style sheet when there are a plurality of style sheets) to the designated page component.
[0168]
From the obtained HTML, find all the “import” elements, and for each of the child page parts specified by the “src” attribute, replace the HTML result obtained by applying the style sheet with the “import” element instead of the “import” element. Inset. However, if the style application result of the child page part also includes the “import” command, the style application result of the child page part is similarly fitted before fitting. This process is performed recursively.
[0169]
When this restart process is completed, one HTML in which the style sheet application results of all the child page parts are combined is obtained. HTML is displayed by passing this result to the HTML renderer M222b. It should be noted that the HTML renderer M222b used in this procedure is an existing component having a function of displaying the input HTML, and includes a general browser.
[0170]
The processing up to the display of the block Web document has been described above, but there are some items omitted for simplicity of explanation. Immediately after the HTML is obtained by applying the style sheet to each page component or its child page components, the GUI processing initialization module of the GUI processing module M223 is input with the obtained HTML root element and the reference to the page component. Call M223a. This is for embedding GUI operation functions such as drag-drop and context menu for sub-contents in the synthesized HTML. Details will be described later.
[0171]
(GUI processing module)
The GUI processing module M223 is a module that provides a GUI operation function for sub-contents such as drag drop and context menu to the displayed page component, and has a configuration as shown in FIG.
[0172]
The GUI processing initialization module M223a performs processing for registering HTML elements and page parts to be processed (selected by a mouse or the like) with respect to a drag / drop processing module M223b and a context menu processing module M223c to be described later. .
[0173]
The GUI processing initialization module M223a is called by inputting two pieces of information: reference information to a page component and reference information to a root element that is an element of the HTML document to which the page component is assigned in display. By registering them in the drag processing module M223b, the drop processing module M223c, and the context menu processing module M223d, the event and the corresponding processing are linked.
[0174]
Thus, when a drag-drop operation or a context menu (right-click) operation is performed on the registered HTML element, these processing modules are called, and a service for sub-contents functions.
[0175]
Further, since these processing modules have a correspondence table between the HTML element and the page component, the target page component can be specified. Therefore, a GUI service function can be provided based on the contents of the page component.
[0176]
The following describes the processing of these event handlers.
[0177]
The drag processing module M223b is a processing module that is executed when the display area of the HTML partial document corresponding to one page component is dragged, and is generally called a drag event handler. The user can move or copy a page component by a drag-and-drop GUI operation. The drag processing module is in charge of the first half.
[0178]
As shown in FIG. 14, when a drag operation is performed on a partial document corresponding to the display data selected on the screen, the part data corresponding to the display data to be operated is temporarily stored in the memory. It is stored (from step S30 to step S31). In this way, the processing for the subsequent drop event is performed. Supplementally, the drop destination is not limited to the same page, but may be a block Web document of another process, another application such as a mailer (e-mail software) or OA software, or a desktop. It may be. Therefore,
In step S32, the export module M224 is called, and the page component is transferred to the export module M224 in order to transfer the page component to the external application.
[0179]
Next, the drop processing module M223c is a processing module that is executed when something is dropped on the page component, and is generally called a drop event handler. Responsible for the latter half of the drag-and-drop GUI operation. The details of this processing procedure are as shown in FIG. 15. When a drop event with sub-contents as an operation target occurs, a page component corresponding to the sub-content to be operated is read from the memory, and a page component insertion module M221c is read. Is used to insert the sub-content at the position specified by the drop operation (steps S40 to S42). When inserted, a page component corresponding to the dropped sub-content is newly created. With reference to the reference information D15 to the parent page component in the page component corresponding to the operation-target sub-content read out earlier, the operation-target page component has been dragged from the same page. It is determined whether or not. If the page component has been dragged from the same page, the page component to be operated is deleted from the page component DBM 221b using the page component deletion module M221d (steps S43 to S45). Then, re-drawing is attempted using the rendering processing module M222 (step S46). On the other hand, if it is determined in step S44 that the page component to be operated has not been dragged from the same page, the process directly proceeds to step S46.
[0180]
As a supplement, if the drop is performed while pressing the right mouse button, the user interprets that the link is intended, and sets a flag indicating the link (link flag D18 in FIG. 4) (“1”). Set to "). In this case, a step of determining whether or not the right drop is performed is added between step S42 and step S43 in FIG. 15. If the right drop, the link flag D18 is set to “1”. Is set to “0”. In this case, the link information may be stored in the link URL 17.
When a link is set, even if the sub-content of the page component at the link destination changes, the latest version of the sub-content is displayed because the page component is fetched at the link destination when displaying the block Web document. There is a merit that it is done. For example, the user registers a link to a desired page component in a scrapbook to be described later, so that, for example, the sub-content “CD sales best 10” in a certain block Web document and another block Web document You can create your own personalized portal page that changes every day, with both of the sub-contents of "Book Sales Top 10" in it.
[0181]
The context menu processing module M223d has a function of popping up a menu of executable commands when right-clicked on a page component. In this system, a delete command, an edit command, a new creation command, an HTML cutter command, and a style switching command are prepared as a context menu. When the delete command is selected, the page component deletion module M211d is executed, and then the rendering processing module M222 is executed to delete the page component.
[0182]
The editing command and the new creation command are commands for editing an existing or new page part, and these processes are handled by the editing module M223e.
[0183]
FIG. 20 shows a specific processing flow. In FIG. 20, for example, when a new creation command is selected after selecting a desired sub-content on the Web display unit 6-2 shown in FIG. 6, an empty page component is created and the empty page part is created. The component is inserted into the page component corresponding to the selected sub-content using the page component insertion module (steps S60 to S62). After that, an XML / XSL editor for editing the XML document or the XSLT document is started, and various editing commands are used to create the content (substance) of the content D12 and the style sheet D13 in the newly created page part. (Step S63). When the editing operation is completed and the XML / XSL editor is closed, the editing result is written in the content D12 or the style sheet D13 in the page component newly created first (step S64).
[0184]
However, the XML / XSL editor started in step S63 may be an existing one.
[0185]
The HTML cutter command is used when the input page is originally a normal HTML (in this case, the HTML document is converted into a block Web document such that the entire HTML document becomes one component data in the page reading module M21). ), A function for the user to specify a range on the Web display unit 6-2 in FIG. 6, and to divide that part as a page component, and the HTML cutter module M223d is in charge. When divided as a page part, that part can then be handled as independent sub-content. FIG. 21 shows a specific processing flow of the HTML cutter.
[0186]
In FIG. 21, for example, a normal HTML document at the time of input to the document processing module M2 is converted into a block Web document such that the whole becomes one component data via the page reading module M21. Further, it is assumed that the image is displayed on the Web display unit 6-2 illustrated in FIG. 6 via the page component management module M221, the rendering processing module M222, and the like. When an HTML cutter command is selected after a desired area is selected by the user on the Web display unit 6-2, first, a top element within the current selection range is specified (steps S70 to S72). .
[0187]
A “component” attribute for indicating that the element is one sub-content and a style attribute are added to the specified element. That is, “component =“ yes ”” and identification information of a style sheet in which a default style for HTML is described are written as style attributes in the element (step S73). A page component is newly created for a content within the selection range, that is, a partial document composed of elements (elements) within the selection range below the top element, and registered in the page component DB (step S74).
[0188]
Since there is a parent-child relationship between the page parts corresponding to the original contents (one page as one block Web document) including the contents specified as the sub-contents, and the newly created page parts, Based on the parent-child relationship, the reference D15 to the parent page component in each page component and the child page component management information D16 are written as described above (step S75).
[0189]
As a supplement, whether the page is an HTML-based page in step S71 may be determined based on whether the style sheet is the default style for HTML. Of course, even in the case of a block Web document or other various structured documents, a command equivalent to the HTML cutter command is prepared, and a desired partial document is converted from the structured document (that is, the partial document) to the sub-content. It may be made to classify as.
[0190]
The style switching command is a function that allows the user to select a desired one from a plurality of style sheets D13 registered in the page part, and redisplays the page part D1 with the selected style sheet. The module M223f is in charge. FIG. 22 shows a specific processing flow of style switching.
[0191]
In FIG. 22, for example, after selecting a desired sub-content on the Web display unit 6-2 shown in FIG. 6, a style selection command is selected (step S80). In step S81, when a plurality of style sheets D13 are registered in the page part D1 corresponding to the selected sub-content, the process proceeds to step S82, and when only one style sheet D1 is registered, the process is performed as it is Abort.
[0192]
In step S82, a menu screen for selecting any one of the plurality of style sheets registered in the selected page component is displayed, and the style sheet selected by the user is selected from the menu screen. The content is applied to the selected sub-content (the content D12 in the page component D1) and displayed on the Web display unit 6-2 (step S83).
[0193]
In addition, although description is omitted, there may be commands such as cut, copy, and paste.
[0194]
(Export module)
As described above, the export module M224 in FIG. 2 is a module that enables sub-contents to be copied between the document processing module M2 and an external application by a drag-drop operation. Although not described here, the present invention can also be used for the purpose of saving a sub-content dragged and dropped from the document processing module M2 in the form of an external application.
[0195]
Here, “export” means to transfer a copy of the sub-content from the document processing module M2 to the external application.
[0196]
The external application is an application other than the document processing system according to the present embodiment.
[0197]
The export module M224 includes a plurality of sub-modules as shown in FIG. An external application receives an export request for inputting a page component. The request is sent to the shared memory registration module M224a. The shared memory registration module M224a uses the other output modules M224b to M224d to generate export data including the page component for transferring the page component to be processed, and to access the data from all external applications. Register in a shared memory that can be used. Thus, when the page component is dropped, the external application can read the content in a data format most convenient for the external application.
[0198]
The application-specific format output module M224b narrows down the target to some prominent external applications, and converts a page component to be processed (at least display data displayed by the page component) into a data format applicable to those external applications. Thus, the export data is generated and output to the external application.
[0199]
The standard format output module M224c generates the export data by converting a page component to be processed (at least display data displayed by the page component) into a widely used data format such as a text format or an HTML format. And output to an external application.
[0200]
The object embedding format output module M224d converts the page component to be processed (at least the display data to be displayed in the page component) into the data format of the present system (that is, for example, the data format of the page component D1). Is output to the external application as the export data together with the reference information for associating the document processing module M2 corresponding to the page component with the page component. In this method, the document processing module M2 of the present system is embedded in a part of the window area of the external application at the drop destination.
[0201]
(Page part format adjustment module)
The page component format adjustment module M225 of FIG. 2 is a module used in the page component insertion processing module M221c as described above. Specifically, when a conversion request including the conversion target page component and the reception type D142 in another page component is input from the page component insertion processing module M221c, the type name D11 of the conversion target page component is input. And converting at least the type (for example, data format) of the partial document corresponding to the page component to be converted into any type included in the reception type D142 in another page component.
[0202]
This conversion request is sent from the page component insertion processing module M221c to the conversion rule search module M225a.
[0203]
In the conversion rule database (DB) M225b, a plurality of conversion methods (conversion rules or conversion rules) are stored in advance for each type of conversion source and conversion destination.
[0204]
The conversion rule search module M225a finds a conversion method corresponding to the type of the conversion source and the conversion destination from the conversion rule DBM225b, and returns the page part of the conversion result, or notifies that the conversion has failed if not found. The request is returned to the page component insertion processing module M221c of the request source.
[0205]
The conversion rule DBM 225b manages a plurality of data in which a set of a conversion source type, a conversion destination type, and a conversion rule (for example, a document in which a conversion rule such as an XSLT document is described) is set. The conversion rule search module M225a converts a sequence path (ordered combination) including a plurality of conversion rules for converting the input type name D11 of the processing target page component to one of the types finally obtained. ) Is searched, and when a plurality of sequences are finally found, the combination that provides the shortest path is adopted.
[0206]
For example, the type of the page component to be processed is the “type-x” type, the final target type is the “type-y” type or the “type-z” type, and the following data is included in the conversion rule DBM 225b. Suppose that it was memorized.
[0207]
(Type-x, type-a, xa.xsl)
(Type-a, type-b, ab.xsl)
(Type-b, type-y, by.xsl)
(Type-x, type-c, xc.xsl)
(Type-c, type-z, cz.xsl)
In this case, the sequence to be converted to the final target type is xa. xsl-> ab. xsl-> by. xsl, xc. xsl-> cz. xsl, the conversion rule search module M225a selects the latter, and returns a page part ("type-z" type) obtained as a result of applying the XSLT document in order.
[0208]
(Desktop paste module)
The desktop pasting module M3 is an application that operates in an independent process. By dragging and dropping a page component (sub-content) from the application software incorporating the first host module M1 or the second host module M1 configured by a general browser to the desktop using this application software, the page component is deleted. It can be pasted on the desktop like a sticky note.
[0209]
Conversely, dragging and dropping back from the sticky note to the host module M1 is also possible.
[0210]
As shown in FIG. 18, the desktop pasting module M3 includes a desktop monitoring module M3a and a sticky note display module M3b. The sticky note display module M3b is a module dynamically generated for the number of sticky notes. Each sticky note display module M3b internally generates and maintains a document processing module M22.
[0211]
FIG. 19 shows the flow of processing relating to a drop event of a page component on the desktop in the desktop pasting module M3.
[0212]
In FIG. 19, for example, after selecting a desired sub-content on the Web display unit 6-2 shown in FIG. 6, the desktop monitoring module M3a notifies the user of the drag operation and the subsequent occurrence of a drop event on the desktop. Upon detection (step S50), the sticky note display module M3b is activated (step S51). At this time, if the selected one is not the sub-content (page part), the processing is stopped (step S56).
[0213]
The activated sticky note display module M3b secures a window area on the screen and activates the document processing module M2 (steps S52 to S54).
[0214]
The sticky note display module M3b causes the activated document processing module M2 to read the dropped sub-contents (page parts) and display the read sub-contents (page parts) in the window (step S55).
[0215]
Thereby, page components can be pasted on sticky notes one after another. Although the method is not described here because it is a well-known technique, the window created by each sticky note display module can be moved later to a position desired by the user on the screen.
[0216]
Conversely, a page component displayed as a sticky note can be added to or deleted from the page displayed by the browser by dragging and dropping it to the browser.
[0219]
These functions are not specially prepared by the desktop pasting module M3, but are performed by the document processing module M22 in each sticky note display module M3b described in detail above.
[0218]
(Summary of document editing system)
As described above, the document editing system according to the present embodiment displays a structured document having a document structure made up of a plurality of elements on the display means (corresponding to the output device 24 in FIG. 24). Document editing for editing a structured document based on a partial document that is at least one element for displaying display data predetermined as an operation unit on a display means, which is a partial document that matches or is included in the structured document In the system, the partial document includes information indicating that the partial document corresponds to at least one sub-content (for example, a “component” attribute), and based on this information, at least the partial document Creates part data (that is, page parts) for each partial document including the position information (including information indicating the parent-child relationship (inclusion relation) between partial documents). Then, the structured document is stored as a set of component data in the storage unit (that is, the page component DB), and among the display data displayed on the display unit, according to the operation content for the display data selected as the operation target Then, the structured document is edited by updating the component data corresponding to the display data of the operation target.
[0219]
Each partial document has at least one conversion rule for converting the type of the partial document, a data format of the partial document into a data format corresponding to a display format applied to the partial document, and a display of the partial document. Link information to a partial document in another structured document displayed on the display means as data, and at least one of the type and insertion position of another partial document that can be inserted into the partial document, It is included as additional information (for example, attribute information), and this additional information is extracted from each partial document to create component data of the partial document. Therefore, the component data includes the additional information included in the partial document corresponding to the component data.
[0220]
Note that, for example, the position of a partial document can be represented by an arrangement position on the document structure of another partial document such as a Web page that includes the partial document.
[0221]
In addition, the relationship between the partial document corresponding to one entire Web page and the partial document corresponding to one sub-content included in the Web page can be said to be a parent-child relationship (inclusion relationship).
[0222]
The data (display data) displayed on the display unit in each partial document may be included in the partial document, or may include link information to the display data in the partial document. .
[0223]
As described above, according to the embodiment, for each of the partial documents included in the structured document that can be identified based on the information indicating the partial document in the operation unit, based on the additional information, By creating the part data (page parts), the contents displayed on the screen can be easily edited in sub-content units (partial document units) based on the part data.
[0224]
(Service server)
As described above, when a mechanism for performing operation / editing in units of sub-contents using a block Web document has been established, some Web page providers (Web sites) utilize this mechanism to create a page. Some would like to increase the number of viewers of the Web page by improving convenience.
[0225]
Examples of application to a static Web page, such as using each portlet as a page component on a portal site, and a dynamic Web page, such as using a product catalog of a search result as a page component on a shopping site, as a web page providing side. An example of application to the above is considered. That is, in the former case, all the Web pages held in the server are block Web documents having block structure information and the like. In the latter case, for example, each record to be searched is one sub-content (page part), and the search result is obtained. A plurality of records obtained as the above may be put together in a predetermined format to create one block Web document and distribute it to the client.
[0226]
If the Web page provided from the Web site is the above-described block Web document, when the user browses the content provided from the Web site with a browser, the above-described operation function regarding the page components included in the Web page is utilized. Is obtained.
[0227]
FIG. 23 shows an example of the configuration of a server device. The server device 10 includes, for example, a plurality of client terminals (here, two) 11a and 11b (hereinafter, referred to as these) via a predetermined network 12 such as the Internet. When it is not necessary to distinguish between Web pages, each of them is referred to as a client terminal 11), and a desired Web document (Web page) or the like is distributed to the user.
[0228]
The server device 10 illustrated in FIG. 23 includes a distribution request receiving unit 10a that receives a distribution request from the client terminal 11 and a plurality of Web pages (all of which may be block Web documents or HTML documents such as block documents other than block Web documents. A web page storage unit 10b for storing a web page other than a block web document, a conversion unit 10c for converting a web document other than a block web document into a block web document, and a client terminal that requests a web page requested to be distributed. And a control unit 10e for controlling each of the above units.
[0229]
As described above, only the block Web document may be stored in the Web page storage unit 10b. Further, a Web document other than the block Web document may be stored. Of the Web pages stored in the Web page storage unit 10a, those other than the block Web document are converted into the block Web document by the conversion unit 10c.
[0230]
The conversion unit 10c can be configured by the above-described page reading module M21. That is, when there is a conversion rule applicable to the Web document stored in the Web page storage unit 10b, the conversion rule is applied to convert the block document into a block Web document, and there is no applicable conversion rule. , The web document is interpreted as one page component, a “component” attribute is given to the root node of the web document, and a default style is given to the web document.
[0231]
In this manner, based on the distribution request from the client terminal 11 received by the distribution request receiving unit 10a, the block Web document requested from the client terminal 11 is distributed to the request source via the distribution unit 10d. It has become.
[0232]
By the way, as another feature of the present system, a user can transfer page components over a Web site or a Web page. Therefore, the user can extract only the page parts from the Web site that provides the content, and the user can continue the information browsing operation based on the favorite Web site.
[0233]
Therefore, each Web site can be differentiated in the Web template area, that is, in a blank portion containing page components. As a differentiator, by improving usability through design and functions to provide customers with incentives, and conducting banner advertisements and effectively outputting their products as search results, leading to their services, Obtainable.
[0234]
The system configuration is such that a CGI for retrieving and outputting a Web document / page component including only a Web template area and an output result of a search CGI and a CGI for synthesizing and outputting the Web template area are arranged on a Web server.
[0235]
Further, as another service provided by the server, a service in which a client (user) manages a scrapbook on behalf of a scrapbook created by a customer (user) using the document editing system shown in FIGS. Since the scrapbook is stored on a computer operated by the user, there is an inconvenience that the user cannot access the sub-contents stored in the scrapbook in a place where the user cannot access the machine, such as when going away. As a service to solve this problem, there is a solution that the server manages the scrapbook. In this case, the server authenticates the user, assigns the user's scrapbook group to a URL to which only the user can log in, allows the user to browse, and prepares a form for updating the scrapbook.
[0236]
In addition, since the server can make the scrapbook displayed to the user a content that is convenient for the company, the server can obtain an advertisement effect by, for example, adding product information of the company to each scrapbook.
[0237]
Alternatively, from the contents of the sub-contents described in the scrapbook, by using existing technology such as data mining, analyze the preferences of each user, etc., and store information expected to be welcomed by the user in each scrapbook. It is also possible to differentiate by adding value-added services.
[0238]
The method of the present invention described in the embodiment of the present invention can be implemented as a program that can be executed by a computer, such as recording a magnetic disk (floppy disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a semiconductor memory, or the like. It can also be stored on a medium or distributed via a network such as the Internet.
[0239]
Note that the present invention is not limited to the above-described embodiment, and can be variously modified in an implementation stage without departing from the gist of the invention. Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of a plurality of disclosed configuration requirements. For example, even if some components are deleted from all the components shown in the embodiment, (at least one of) the problems described in the column of the problem to be solved by the invention can be solved, and the effect of the invention can be solved. If at least one of the effects described in (1) is obtained, a configuration from which this component is deleted can be extracted as an invention.
[0240]
【The invention's effect】
As described above, according to the present invention, contents included in a structured document can be easily edited in sub-content units, which are more detailed operation units.
[Brief description of the drawings]
FIG. 1 is an exemplary view for explaining functions of a document editing system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a functional configuration example of a document editing system.
FIG. 3 is a view for explaining page parts (sub-contents or partial documents) in one Web page.
FIG. 4 is a view for explaining a data configuration of a page component.
FIG. 5 is a diagram showing a functional configuration example of a host module.
FIG. 6 is a diagram showing a screen display example.
FIG. 7 is a diagram showing a functional configuration example of a page reading module.
FIG. 8 is a flowchart for explaining the operation of the page reading module.
FIG. 9 is a flowchart for explaining a procedure for converting an input document into a block Web document.
FIG. 10 is a diagram showing a functional configuration example of a page component management module.
FIG. 11 is a flowchart for explaining the operation of the page component insertion module.
FIG. 12 is a diagram showing a functional configuration example of a rendering processing module.
FIG. 13 is a diagram showing a functional configuration example of a GUI processing module.
FIG. 14 is a flowchart for explaining the operation of the drag processing module.
FIG. 15 is a flowchart for explaining the operation of the drop processing module.
FIG. 16 is a diagram showing a functional configuration example of an export module.
FIG. 17 is a diagram illustrating a functional configuration example of a page component format adjustment module.
FIG. 18 is a diagram illustrating a functional configuration example of a desktop pasting module.
FIG. 19 is a flowchart for explaining the operation of the desktop pasting module.
FIG. 20 is a flowchart illustrating an editing operation of a page part.
FIG. 21 is a flowchart for explaining an HTML cutter processing operation.
FIG. 22 is a flowchart for explaining a style switching processing operation.
FIG. 23 is a diagram showing a configuration example of a server device.
FIG. 24 is a diagram showing a configuration example in a case where the document editing system shown in FIG. 2 is realized on, for example, a computer (computer).
[Explanation of symbols]
M1: Host module
M2: Document processing module
M21: Page reading module
M22: Block Web document processing module
M221: Page component management module
M222: rendering processing module
M223: GUI processing module
M224: Export module
M225: Page component type adjustment module
M3: Desktop paste module

Claims (28)

複数の要素から構成された文書構造を有する構造化文書を表示手段に表示するとともに、この表示された構造化文書に一致または含まれる、少なくとも1つの前記要素からなる予め操作単位として定められた部分文書を基に前記表示された構造化文書を編集する文書編集方法であって、
前記部分文書には、少なくとも当該部分文書が前記操作単位であることを表す情報が含まれており、この情報を基に、少なくとも前記部分文書と、当該部分文書の前記文書構造上の位置情報とを含む前記部分文書毎の部品データを作成して、前記構造化文書を前記部品データの集合として記憶手段に記憶し、
操作対象として選択された前記部分文書に対する操作内容に応じて、当該操作対象の部分文書に対応する前記部品データを更新することにより前記構造化文書を編集することを特徴とする文書編集方法。
A structured document having a document structure composed of a plurality of elements is displayed on the display means, and a part defined as a pre-operation unit composed of at least one of the elements, which matches or is included in the displayed structured document A document editing method for editing the displayed structured document based on a document,
The partial document includes at least information indicating that the partial document is the operation unit, and based on this information, at least the partial document and position information of the partial document on the document structure. Creating part data for each of the partial documents, and storing the structured document in a storage unit as a set of the part data,
A document editing method, wherein the structured document is edited by updating the component data corresponding to the partial document to be operated according to the operation content for the partial document selected as the operation target.
前記部分文書には、当該部分文書のタイプと、当該部分文書のデータ形式を他のデータ形式に変換するための少なくとも1つの変換規則と、当該部分文書として前記表示手段に表示される他の構造化文書中の部分文書へのリンク情報と、当該部分文書に挿入可能な他の部分文書のタイプと挿入位置のうちの少なくとも1つが、当該部分文書の付加情報として含まれており、この付加情報が前記部品データにも含まれていることを特徴とする請求項1記載の文書編集方法。The partial document includes a type of the partial document, at least one conversion rule for converting the data format of the partial document into another data format, and another structure displayed on the display unit as the partial document. Link information to a partial document in the structured document, and at least one of the type and insertion position of another partial document that can be inserted into the partial document, are included as additional information of the partial document. 2. The document editing method according to claim 1, further comprising: 前記操作対象の前記部分文書の前記文書構造上の位置を移動させるときには、当該部分文書に対応する部品データ中の位置情報を移動先の位置に対応するよう変更することを特徴とする請求項1記載の文書編集方法。2. The method according to claim 1, wherein when the position of the partial document to be operated is moved on the document structure, the position information in the component data corresponding to the partial document is changed to correspond to the position of the destination. Document editing method described. 前記構造化文書としての第1の構造化文書と第2の構造化文書を前記表示手段に表示し、前記第1の構造化文書に含まれる前記部分文書としての第1の部分文書を前記第2の構造化文書の指定された位置に挿入するときには、当該第1の部分文書に対応する前記部品データとしての第1の部品データ中の位置情報を前記第2の構造化文書中の挿入位置に対応するよう変更した結果得られた第2の部品データを当該第2の構造化文書の部品データとして前記記憶手段に記憶することを特徴とする請求項1記載の文書編集方法。A first structured document and a second structured document as the structured document are displayed on the display means, and a first partial document as the partial document included in the first structured document is displayed in the first document. When inserting at a designated position in the second structured document, position information in the first part data as the part data corresponding to the first partial document is inserted into the insertion position in the second structured document. 2. The document editing method according to claim 1, wherein the second part data obtained as a result of the modification is stored in the storage unit as part data of the second structured document. 前記構造化文書としての第1の構造化文書と第2の構造化文書を前記表示手段に表示し、前記第1の構造化文書に含まれる前記部分文書としての第1の部分文書を前記第2の構造化文書の指定された位置に挿入するときは、
少なくとも前記第2の構造化文書中の指定位置と前記第1の部分文書に対応する部品文書とを関連付けるリンク情報を含む新たな部品データ作成して、これを前記第2の構造化文書の部品データとして前記記憶手段に記憶することを特徴とする請求項1記載の文書編集方法。
A first structured document and a second structured document as the structured document are displayed on the display unit, and a first partial document as the partial document included in the first structured document is displayed in the first document. When inserting at the specified position in the structured document of 2,
At least a new part data including link information for associating a designated position in the second structured document with a part document corresponding to the first partial document is created, and this is created as a part of the second structured document. 2. The document editing method according to claim 1, wherein the data is stored in the storage unit as data.
前記構造化文書としての第1の構造化文書と第2の構造化文書を前記表示手段に表示して、前記第1の構造化文書に含まれる前記部分文書としての第1の部分文書を前記第2の構造化文書に含まれる前記部分文書としての第2の部分文書に挿入するときには、
当該第1の部分文書に対応する前記部品データとしての第1の部品データ中の当該第1の部分文書のタイプと、当該第2の部分文書に対応する前記部品データとしての第2の部品データ中の当該第2の部分文書に挿入可能な他の部分文書のタイプとを基に、前記第1の部分文書が前記第2の部分文書に挿入可能か否かを判断し、
挿入可能であるときは、前記第1の部品データ中の位置情報を前記第2の構造化文書中の挿入位置に対応させて変更した結果得られる第3の部品データを当該第2の構造化文書の部品データとして前記記憶手段に記憶し、
挿入不可であるときは、前記第1の部品データ中の前記第1の部分文書のデータ形式を前記第2の部分文書に挿入可能なデータ形式に変換した後、前記第1の部品データ中の位置情報を前記第2の構造化文書中の挿入位置に対応させて変更した結果得られる新たなの部品データを当該第2の構造化文書の部品データとして前記記憶手段に記憶することを特徴とする請求項2記載の文書編集方法。
A first structured document and a second structured document as the structured document are displayed on the display unit, and a first partial document as the partial document included in the first structured document is displayed on the display unit. When inserting into the second partial document as the partial document included in the second structured document,
The type of the first partial document in the first component data as the component data corresponding to the first partial document, and the second component data as the component data corresponding to the second partial document And determining whether the first partial document can be inserted into the second partial document based on the type of another partial document that can be inserted into the second partial document.
When insertion is possible, third component data obtained as a result of changing the position information in the first component data in accordance with the insertion position in the second structured document is converted into the second structured data. Stored in the storage means as document part data,
When the data cannot be inserted, the data format of the first partial document in the first component data is converted into a data format that can be inserted into the second partial document. New component data obtained as a result of changing the position information in correspondence with the insertion position in the second structured document is stored in the storage unit as component data of the second structured document. The document editing method according to claim 2.
前記表示手段に表示されている前記操作対象の部分文書を前記表示手段に表示された他の部分文書に挿入するときには、
前記操作対象の部分文書のデータ形式が、前記他の部分文書に挿入可能なデータ形式であるときは、当該操作対象の部分文書に対応する部品データ中の位置情報を前記他の部分文書中の挿入位置に対応させて変更した結果得られる新たな部品データを当該他の部分文書の部品データとして前記記憶手段に記憶し、
前記操作対象の部分文書のデータ形式が、前記他の部分文書に挿入可能なデータ形式でないときは、当該操作対象の部分文書のデータ形式を当該他の部分文書に挿入可能なデータ形式に変換した後、、当該操作対象の部分文書に対応する部品データ中の位置情報を前記他の部分文書中の挿入位置に対応させて変更した結果得られる新たな部品データを当該他の部分文書の部品データとして前記記憶手段に記憶し、
さらに、前記操作対象の部分文書と前記他の部分文書とが同じ1つの部分文書に包含されているときは、前記新たな部品データを前記記憶手段に記憶するとともに、当該操作対象の部分文書に対応する部品データを前記記憶手段から削除することを特徴とする請求項1記載の文書編集方法。
When inserting the partial document to be operated displayed on the display unit into another partial document displayed on the display unit,
When the data format of the partial document to be operated is a data format that can be inserted into the other partial document, the position information in the component data corresponding to the partial document to be operated is changed to the position information in the other partial document. New part data obtained as a result of the change corresponding to the insertion position is stored in the storage unit as part data of the other partial document,
If the data format of the partial document to be operated is not a data format that can be inserted into the other partial document, the data format of the partial document to be operated is converted into a data format that can be inserted into the other partial document. Thereafter, the new component data obtained as a result of changing the position information in the component data corresponding to the partial document to be operated in accordance with the insertion position in the other partial document is converted to the component data of the other partial document. Stored in the storage means as
Further, when the partial document to be operated and the other partial document are included in the same one partial document, the new part data is stored in the storage unit, and the partial document to be operated is 2. The document editing method according to claim 1, wherein corresponding part data is deleted from said storage means.
前記操作対象の部分文書に対応する前記部品データには、複数の前記変換規則が含まれており、それらのうちの1つを用いて、当該操作対象の部分文書の表示形式を切り替えることを特徴とする請求項2記載の文書編集方法。The component data corresponding to the partial document to be operated includes a plurality of the conversion rules, and the display format of the partial document to be operated is switched using one of the conversion rules. 3. The document editing method according to claim 2, wherein: 前記操作対象の部分文書を削除するときには、当該操作対象の部分文書に対応する部品データと当該操作対象の部分文書に包含される部分文書に対応する部品データとを前記記憶手段から削除することを特徴とする請求項1記載の文書編集方法。When deleting the partial document to be operated, it is preferable to delete from the storage unit the component data corresponding to the partial document to be operated and the component data corresponding to the partial document included in the partial document to be operated. The document editing method according to claim 1, wherein: 前記操作対象の部分文書を編集するときには、当該部分文書に対応する部品データ中の当該部分文書を更新する請求項1記載の文書編集方法。2. The document editing method according to claim 1, wherein when editing the partial document to be operated, the partial document in the component data corresponding to the partial document is updated. 前記表示手段に表示された構造化文書に新たな部分文書を追加挿入するときには、少なくとも当該新たな部分文書と、この新たな部分文書の前記文書構造上の挿入位置に対応する位置情報とを含む前記部品データを作成して、前記記憶手段に記憶することを特徴とする請求項1記載の文書編集方法。When a new partial document is additionally inserted into the structured document displayed on the display unit, the document includes at least the new partial document and position information corresponding to the insertion position of the new partial document on the document structure. 2. The document editing method according to claim 1, wherein the component data is created and stored in the storage unit. 前記表示手段に表示された部分文書の中から、ユーザにより指定された範囲内の部分文書を抽出し、この抽出した部分文書に対応する前記部品データを作成して、前記記憶手段に記憶することを特徴とする請求項1記載の文書編集方法。Extracting a partial document within a range specified by a user from the partial documents displayed on the display unit, creating the component data corresponding to the extracted partial document, and storing the created component data in the storage unit 2. The document editing method according to claim 1, wherein: 複数の要素から構成された文書構造を有する構造化文書を表示手段に表示するとともに、この表示された構造化文書に一致または含まれる、少なくとも1つの前記要素からなる予め操作単位として定められた部分文書を基に前記表示された構造化文書を編集する文書編集システムであって、
前記部分文書には、少なくとも当該部分文書が前記操作単位であることを表す情報が含まれており、この情報を基に、少なくとも前記部分文書と、当該部分文書の前記文書構造上の位置情報とを含む前記部分文書毎の部品データを作成する手段と、
前記構造化文書を前記部品データの集合として記憶する記憶手段と、
操作対象として選択された前記部分文書に対する操作内容に応じて、当該操作対象の部分文書に対応する前記部品データを更新することにより前記構造化文書を編集する手段と、
を具備したことを特徴とする文書編集システム。
A structured document having a document structure composed of a plurality of elements is displayed on the display means, and a part defined as a pre-operation unit composed of at least one of the elements, which matches or is included in the displayed structured document A document editing system for editing the displayed structured document based on a document,
The partial document includes at least information indicating that the partial document is the operation unit, and based on this information, at least the partial document and position information of the partial document on the document structure. Means for creating part data for each partial document including:
Storage means for storing the structured document as a set of the component data;
Means for editing the structured document by updating the component data corresponding to the partial document to be operated according to the operation content for the partial document selected as the operation target;
A document editing system comprising:
前記部分文書には、当該部分文書のタイプと、当該部分文書のデータ形式を他のデータ形式に変換するための少なくとも1つの変換規則と、当該部分文書として前記表示手段に表示される他の構造化文書中の部分文書へのリンク情報と、当該部分文書に挿入可能な他の部分文書のタイプと挿入位置のうちの少なくとも1つが、当該部分文書の付加情報として含まれており、この付加情報が前記部品データにも含まれていることを特徴とする請求項13記載の文書編集システム。The partial document includes a type of the partial document, at least one conversion rule for converting the data format of the partial document into another data format, and another structure displayed on the display unit as the partial document. Link information to a partial document in the structured document, and at least one of the type and insertion position of another partial document that can be inserted into the partial document, are included as additional information of the partial document. 14. The document editing system according to claim 13, wherein is included in the component data. 前記操作対象の前記部分文書の前記文書構造上の位置を移動させるときには、当該部分文書に対応する部品データ中の位置情報を移動先の位置に対応するよう変更することを特徴とする請求項13記載の文書編集システム。14. The method according to claim 13, wherein when the position of the partial document to be operated is moved on the document structure, the position information in the component data corresponding to the partial document is changed to correspond to the position of the destination. Document editing system described. 前記構造化文書としての第1の構造化文書と第2の構造化文書を前記表示手段に表示して、前記第1の構造化文書に含まれる前記部分文書としての第1の部分文書を前記第2の構造化文書の指定された位置に挿入するときには、当該第1の部分文書に対応する前記部品データとしての第1の部品データ中の位置情報を前記第2の構造化文書中の挿入位置に対応するよう変更した結果得られた第2の部品データを当該第2の構造化文書の部品データとして前記記憶手段で記憶することを特徴とする請求項13記載の文書編集システム。A first structured document and a second structured document as the structured document are displayed on the display unit, and the first partial document as the partial document included in the first structured document is displayed on the display unit. When inserting at a designated position in the second structured document, position information in the first part data as the part data corresponding to the first partial document is inserted into the second structured document. 14. The document editing system according to claim 13, wherein the second part data obtained as a result of the change corresponding to the position is stored in the storage unit as the part data of the second structured document. 前記構造化文書としての第1の構造化文書と第2の構造化文書を前記表示手段に表示して、前記第1の構造化文書に含まれる前記部分文書としての第1の部分文書を前記第2の構造化文書の指定された位置に挿入するときは、
前記第2の構造化文書に挿入する前記第2の部分文書に対応する前記部品データとして、少なくとも前記第2の構造化文書中の指定位置から前記第1の部分文書へ設定されたリンク情報を含む新たな部品データ作成して、これを前記第2の構造化文書の部品データとして前記記憶手段で記憶することを特徴とする請求項13記載の文書編集システム。
A first structured document and a second structured document as the structured document are displayed on the display unit, and a first partial document as the partial document included in the first structured document is displayed on the display unit. When inserting at the specified position in the second structured document,
As part data corresponding to the second partial document to be inserted into the second structured document, at least link information set from a designated position in the second structured document to the first partial document, 14. The document editing system according to claim 13, wherein new part data including the part is created and stored in the storage unit as part data of the second structured document.
前記表示手段に表示されている前記操作対象の部分文書を前記表示手段に表示されている他の部分文書に挿入するときには、
前記操作対象の部分文書のデータ形式が、前記他の部分文書に挿入可能なデータ形式であるときは、当該操作対象の部分文書に対応する部品データ中の位置情報を前記他の部分文書中の挿入位置に対応させて変更した結果得られる新たな部品データを当該他の部分文書の部品データとして前記記憶手段に記憶し、
前記操作対象の部分文書のデータ形式が、前記他の部分文書に挿入可能なデータ形式でないときは、当該操作対象の部分文書のデータ形式を当該他の部分文書に挿入可能なデータ形式に変換した後、、当該操作対象の部分文書に対応する部品データ中の位置情報を前記他の部分文書中の挿入位置に対応させて変更した結果得られる新たな部品データを当該他の部分文書の部品データとして前記記憶手段に記憶することを特徴とする請求項13記載の文書編集システム。
When inserting the partial document to be operated displayed on the display unit into another partial document displayed on the display unit,
When the data format of the partial document to be operated is a data format that can be inserted into the other partial document, the position information in the component data corresponding to the partial document to be operated is changed to the position information in the other partial document. New part data obtained as a result of the change corresponding to the insertion position is stored in the storage unit as part data of the other partial document,
If the data format of the partial document to be operated is not a data format that can be inserted into the other partial document, the data format of the partial document to be operated is converted into a data format that can be inserted into the other partial document. Thereafter, the new component data obtained as a result of changing the position information in the component data corresponding to the partial document to be operated in accordance with the insertion position in the other partial document is converted to the component data of the other partial document. 14. The document editing system according to claim 13, wherein the information is stored in the storage unit.
前記操作対象の部分文書に対応する前記部品データには、複数の前記変換規則が含まれており、それらのうちの1つを用いて、当該操作対象の部分文書の表示形式を切り替えることを特徴とする請求項13記載の文書編集システム。The component data corresponding to the partial document to be operated includes a plurality of the conversion rules, and the display format of the partial document to be operated is switched using one of the conversion rules. 14. The document editing system according to claim 13, wherein: 前記操作対象の部分文書を削除するときには、当該操作対象の部分文書に対応する部品データと当該操作対象の部分文書に包含される部分文書に対応する部品データとを前記記憶手段から削除することを特徴とする請求項13記載の文書編集システム。When deleting the partial document to be operated, it is preferable to delete from the storage unit the component data corresponding to the partial document to be operated and the component data corresponding to the partial document included in the partial document to be operated. 14. The document editing system according to claim 13, wherein: 前記操作対象の部分文書を編集するときには、当該部分文書に対応する部品データ中の当該部分文書を更新する請求項13記載の文書編集システム。14. The document editing system according to claim 13, wherein when editing the partial document to be operated, the partial document in the component data corresponding to the partial document is updated. 前記表示手段に表示された構造化文書に新たな部分文書を追加挿入するときには、少なくとも当該新たな部分文書と、この新たな部分文書の前記文書構造上の挿入位置に対応する位置情報とを含む前記部品データを作成して、前記記憶手段で記憶することを特徴とする請求項13記載の文書編集システム。When a new partial document is additionally inserted into the structured document displayed on the display unit, the document includes at least the new partial document and position information corresponding to the insertion position of the new partial document on the document structure. 14. The document editing system according to claim 13, wherein the component data is created and stored in the storage unit. 前記表示手段に表示された部分文書の中から、ユーザにより指定された範囲内の部分文書を抽出し、この抽出した部分文書に対応する前記部品データを作成して、前記記憶手段に記憶することを特徴とする請求項13記載の文書編集システム。Extracting a partial document within a range specified by a user from the partial documents displayed on the display unit, creating the component data corresponding to the extracted partial document, and storing the created component data in the storage unit The document editing system according to claim 13, wherein: 複数の要素から構成された文書構造を有する構造化文書を表示手段に表示するとともに、この表示された構造化文書に一致または含まれる、少なくとも1つの前記要素からなる予め操作単位として定められた部分文書を基に前記表示された構造化文書を編集するクライアント装置に対し、前記構造化文書を配信するサーバ装置であって、
前記クライアント端末に配信する前記構造化文書には、少なくとも当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報が含まれいることを特徴とするサーバ装置。
A structured document having a document structure composed of a plurality of elements is displayed on the display means, and a part defined as a pre-operation unit composed of at least one of the elements, which matches or is included in the displayed structured document A server device that distributes the structured document to a client device that edits the displayed structured document based on the document,
The server device, wherein the structured document delivered to the client terminal includes at least information representing a partial document as the operation unit that matches or is included in the structured document.
複数の要素から構成された文書構造を有する構造化文書を表示手段に表示するとともに、この表示された構造化文書に一致または含まれる、少なくとも1つの前記要素からなる予め操作単位として定められた部分文書を基に前記表示された構造化文書を編集するクライアント装置に対し、前記構造化文書を配信するサーバ装置であって、
前記クライアント端末に配信する前記構造化文書には、当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報とともに、各部分文書について、当該部分文書のタイプと、当該部分文書のデータ形式を他のデータ形式に変換するための少なくとも1つの変換規則と、当該部分文書として前記表示手段に表示される他の構造化文書中の部分文書へのリンク情報と、当該部分文書に挿入可能な他の部分文書のタイプおよび挿入位置のうちの少なくとも1つが、当該部分文書の付加情報として含まれていることを特徴とするサーバ装置。
A structured document having a document structure composed of a plurality of elements is displayed on the display means, and a part defined as a pre-operation unit composed of at least one of the elements, which matches or is included in the displayed structured document A server device that distributes the structured document to a client device that edits the displayed structured document based on the document,
The structured document to be delivered to the client terminal includes information indicating a partial document as the operation unit that matches or is included in the structured document, and for each partial document, the type of the partial document and the type of the partial document. At least one conversion rule for converting a data format to another data format, link information to a partial document in another structured document displayed on the display unit as the partial document, and insertion into the partial document A server device, wherein at least one of a type and an insertion position of another possible partial document is included as additional information of the partial document.
前記クライアント端末に配信する前記構造化文書に、少なくとも当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報が含まれいないときは、少なくとも前記操作単位としての部分文書を表す情報を挿入する手段を具備したことを特徴とする請求項24または25記載のサーバ装置。When the structured document delivered to the client terminal does not include at least information indicating a partial document as the operation unit that matches or is included in the structured document, at least information indicating a partial document as the operation unit 26. The server device according to claim 24, further comprising means for inserting a server. 前記クライアント端末に配信する前記構造化文書に、少なくとも当該構造化文書に一致または含まれる前記操作単位としての部分文書を表す情報が含まれいないときは、少なくとも前記操作単位としての部分文書を表す情報と、当該部分文書のデータ形式を他のデータ形式に変換するための少なくとも1つの変換規則とを挿入する手段を具備したことを特徴とする請求項24または25記載のサーバ装置。When the structured document delivered to the client terminal does not include at least information indicating a partial document as the operation unit that matches or is included in the structured document, at least information indicating a partial document as the operation unit 26. The server device according to claim 24, further comprising a unit for inserting a data format of the partial document and at least one conversion rule for converting the data format of the partial document into another data format. 複数の要素から構成された文書構造を有する構造化文書を表示手段に表示するとともに、この表示された構造化文書に一致または含まれる、少なくとも1つの前記要素からなる予め操作単位として定められた部分文書を基に前記表示された構造化文書を編集するためのプログラムであって、
コンピュータに、
前記部分文書には、少なくとも当該部分文書が前記操作単位であることを表す情報が含まれており、この情報を基に、少なくとも前記部分文書と、当該部分文書の前記文書構造上の位置情報とを含む前記部分文書毎の部品データを作成するステップと、
前記構造化文書を前記部品データの集合として記憶手段に記憶するステップと、
操作対象として選択された前記部分文書に対する操作内容に応じて、当該操作対象の部分文書に対応する前記部品データを更新することにより前記構造化文書を編集するステップと、
を実行させる文書編集プログラム。
A structured document having a document structure composed of a plurality of elements is displayed on the display means, and a part defined as a pre-operation unit composed of at least one of the elements, which matches or is included in the displayed structured document A program for editing the displayed structured document based on the document,
On the computer,
The partial document includes at least information indicating that the partial document is the operation unit, and based on this information, at least the partial document and position information of the partial document on the document structure. Creating part data for each partial document including:
Storing the structured document in a storage unit as a set of the component data;
Editing the structured document by updating the component data corresponding to the partial document to be operated according to the operation content for the partial document selected as the operation target;
A document editing program that runs
JP2002200284A 2002-07-09 2002-07-09 Document editing method, document editing system, and document processing program Expired - Fee Related JP3944014B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002200284A JP3944014B2 (en) 2002-07-09 2002-07-09 Document editing method, document editing system, and document processing program
US10/614,315 US7228496B2 (en) 2002-07-09 2003-07-08 Document editing method, document editing system, server apparatus, and document editing program
US11/736,676 US20070192716A1 (en) 2002-07-09 2007-04-18 Document editing method, document editing system, server apparatus, and document editing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002200284A JP3944014B2 (en) 2002-07-09 2002-07-09 Document editing method, document editing system, and document processing program

Publications (2)

Publication Number Publication Date
JP2004046357A true JP2004046357A (en) 2004-02-12
JP3944014B2 JP3944014B2 (en) 2007-07-11

Family

ID=31707196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002200284A Expired - Fee Related JP3944014B2 (en) 2002-07-09 2002-07-09 Document editing method, document editing system, and document processing program

Country Status (1)

Country Link
JP (1) JP3944014B2 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005098663A1 (en) * 2004-04-08 2005-10-20 Justsystems Corporation Information management device
JP2006190277A (en) * 2005-01-06 2006-07-20 Microsoft Corp Programmability for binding data
JP2006236140A (en) * 2005-02-25 2006-09-07 Toshiba Corp Information managing device, information management method and information management program
JP2006323837A (en) * 2005-04-22 2006-11-30 Kyodo Printing Co Ltd Dtp data generation method, dtp data generation device and dtp data generation program
JP2007065919A (en) * 2005-08-30 2007-03-15 Ricoh Co Ltd Electronic content scrapping system
JPWO2006051975A1 (en) * 2004-11-12 2008-05-29 株式会社ジャストシステム Document processing device
JPWO2007034858A1 (en) * 2005-09-22 2009-03-26 株式会社ジャストシステム Data management device, data editing device, data browsing device, data management method, data editing method, and data browsing method
JP2009515235A (en) * 2005-09-23 2009-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system, and computer program for providing a portlet viewer for viewing drag and drop content in a portal environment (portlet viewer for viewing drag and drop content in a portal environment) Offer)
JP2010521721A (en) * 2007-02-12 2010-06-24 マイクロソフト コーポレーション Web data usage platform
JP2010218523A (en) * 2009-03-17 2010-09-30 Yahoo Japan Corp Screen arrangement changing device, method, and program
KR20110079227A (en) * 2009-12-31 2011-07-07 삼성전자주식회사 Method and apparatus for transmitting information on a document
JP2011150424A (en) * 2010-01-19 2011-08-04 Nec Corp Document preparation support system, document preparation support method and program
WO2011099082A1 (en) * 2010-02-15 2011-08-18 株式会社 東芝 Database management system
US8429185B2 (en) 2007-02-12 2013-04-23 Microsoft Corporation Using structured data for online research
JP2014157456A (en) * 2013-02-15 2014-08-28 Toshiba Corp Document processing system, document processor, document processing method and document processing program
JP2015011366A (en) * 2013-06-26 2015-01-19 株式会社東芝 Web page creation device
US9110877B2 (en) 2004-09-30 2015-08-18 Microsoft Technology Licensing, Llc Method and apparatus for utilizing an extensible markup language schema for managing specific types of content in an electronic document
JP2016517051A (en) * 2013-01-30 2016-06-09 マイクロソフト テクノロジー ライセンシング,エルエルシー Collaborate using multiple editors or multiple versions of features
US10162805B2 (en) 2013-01-30 2018-12-25 Microsoft Technology Licensing, Llc Application programming interfaces for content curation
CN112597412A (en) * 2020-12-26 2021-04-02 中国农业银行股份有限公司 Page loading method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348061A (en) * 1998-06-10 2000-12-15 Nippon Telegr & Teleph Corp <Ntt> Semi-structured document information integrating retrieval device, semi-structured document information extracting device, its method and recording medium for storing its program
JP2001109742A (en) * 1999-08-05 2001-04-20 Toshiba Corp Method for integrating and processing web page parts and client device
JP2002108844A (en) * 2000-09-28 2002-04-12 Hitachi Software Eng Co Ltd Xml data division editing device
JP2002183116A (en) * 2000-12-18 2002-06-28 Toshiba Corp Method and device for composing document
JP2004524606A (en) * 2000-12-18 2004-08-12 エクスプウェイ How to split a structured document into several parts

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348061A (en) * 1998-06-10 2000-12-15 Nippon Telegr & Teleph Corp <Ntt> Semi-structured document information integrating retrieval device, semi-structured document information extracting device, its method and recording medium for storing its program
JP2001109742A (en) * 1999-08-05 2001-04-20 Toshiba Corp Method for integrating and processing web page parts and client device
JP2002108844A (en) * 2000-09-28 2002-04-12 Hitachi Software Eng Co Ltd Xml data division editing device
JP2002183116A (en) * 2000-12-18 2002-06-28 Toshiba Corp Method and device for composing document
JP2004524606A (en) * 2000-12-18 2004-08-12 エクスプウェイ How to split a structured document into several parts

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005098663A1 (en) * 2004-04-08 2008-02-28 株式会社ジャストシステム Information management device
WO2005098663A1 (en) * 2004-04-08 2005-10-20 Justsystems Corporation Information management device
US9110877B2 (en) 2004-09-30 2015-08-18 Microsoft Technology Licensing, Llc Method and apparatus for utilizing an extensible markup language schema for managing specific types of content in an electronic document
JPWO2006051975A1 (en) * 2004-11-12 2008-05-29 株式会社ジャストシステム Document processing device
JP2006190277A (en) * 2005-01-06 2006-07-20 Microsoft Corp Programmability for binding data
KR101213832B1 (en) 2005-01-06 2012-12-18 마이크로소프트 코포레이션 Programmability for binding data
JP2006236140A (en) * 2005-02-25 2006-09-07 Toshiba Corp Information managing device, information management method and information management program
JP2006323837A (en) * 2005-04-22 2006-11-30 Kyodo Printing Co Ltd Dtp data generation method, dtp data generation device and dtp data generation program
JP2007065919A (en) * 2005-08-30 2007-03-15 Ricoh Co Ltd Electronic content scrapping system
JPWO2007034858A1 (en) * 2005-09-22 2009-03-26 株式会社ジャストシステム Data management device, data editing device, data browsing device, data management method, data editing method, and data browsing method
JP2009515235A (en) * 2005-09-23 2009-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system, and computer program for providing a portlet viewer for viewing drag and drop content in a portal environment (portlet viewer for viewing drag and drop content in a portal environment) Offer)
US9256357B2 (en) 2005-09-23 2016-02-09 International Business Machines Corporation Provisioning a portlet viewer for viewing drag-and-drop content in a portal environment
US8560953B2 (en) 2005-09-23 2013-10-15 International Business Machines Corporation Provisioning a portlet viewer for viewing drag-and-drop content in a portal environment
US8832146B2 (en) 2007-02-12 2014-09-09 Microsoft Corporation Using structured data for online research
US9164970B2 (en) 2007-02-12 2015-10-20 Microsoft Technology Licensing, Llc Using structured data for online research
JP2010521721A (en) * 2007-02-12 2010-06-24 マイクロソフト コーポレーション Web data usage platform
US8595259B2 (en) 2007-02-12 2013-11-26 Microsoft Corporation Web data usage platform
US8429185B2 (en) 2007-02-12 2013-04-23 Microsoft Corporation Using structured data for online research
JP2010218523A (en) * 2009-03-17 2010-09-30 Yahoo Japan Corp Screen arrangement changing device, method, and program
KR101717492B1 (en) 2009-12-31 2017-03-17 삼성전자주식회사 Method and apparatus for transmitting information on a document
JP2011138516A (en) * 2009-12-31 2011-07-14 Samsung Electronics Co Ltd Document information transmission method and device
KR20110079227A (en) * 2009-12-31 2011-07-07 삼성전자주식회사 Method and apparatus for transmitting information on a document
JP2011150424A (en) * 2010-01-19 2011-08-04 Nec Corp Document preparation support system, document preparation support method and program
WO2011099082A1 (en) * 2010-02-15 2011-08-18 株式会社 東芝 Database management system
JP5377672B2 (en) * 2010-02-15 2013-12-25 東芝ソリューション株式会社 Database management system
CN102754083A (en) * 2010-02-15 2012-10-24 东芝解决方案株式会社 Database management system
JP2016517051A (en) * 2013-01-30 2016-06-09 マイクロソフト テクノロジー ライセンシング,エルエルシー Collaborate using multiple editors or multiple versions of features
US10162805B2 (en) 2013-01-30 2018-12-25 Microsoft Technology Licensing, Llc Application programming interfaces for content curation
JP2014157456A (en) * 2013-02-15 2014-08-28 Toshiba Corp Document processing system, document processor, document processing method and document processing program
JP2015011366A (en) * 2013-06-26 2015-01-19 株式会社東芝 Web page creation device
CN112597412A (en) * 2020-12-26 2021-04-02 中国农业银行股份有限公司 Page loading method and device

Also Published As

Publication number Publication date
JP3944014B2 (en) 2007-07-11

Similar Documents

Publication Publication Date Title
US7228496B2 (en) Document editing method, document editing system, server apparatus, and document editing program
JP3944014B2 (en) Document editing method, document editing system, and document processing program
JP3754912B2 (en) Multimedia content distribution method
JP3946934B2 (en) Web page component integration processing device, web page component integration processing method, and client device
US8001490B2 (en) System, method and computer program product for a content publisher for wireless devices
US8584002B2 (en) Automatic sub-template selection based on content
CA2636429C (en) Presenting digitized content on a network
US6185588B1 (en) Method and apparatus for printing worldwide web pages in accordance with operator selected formatting
US8429519B2 (en) Presentation generator
US7277928B2 (en) Method for facilitating access to multimedia content
CA2410747C (en) System and method for saving browsed data
US7406664B1 (en) System for integrating HTML Web site views into application file dialogs
US20050091186A1 (en) Integrated method and apparatus for capture, storage, and retrieval of information
US8584009B2 (en) Automatically propagating changes in document access rights for subordinate document components to superordinate document components
US20120036429A1 (en) Electronic book system and content server
JP2004265402A (en) Method and system for extending pasting function of computer software application
JP2010191996A (en) System and method for managing dynamic content assembly
JP2004139466A (en) Electronic document printing program, and electronic document printing system
JP2008146624A (en) Filtering method, filtering device and filtering program for content
JP2004178512A (en) Link destination content browsing support device, link destination content browsing support method and program, and recording medium
KR20010094955A (en) Aggregation of content as a personalized document
JP2005275488A (en) Input support method and program
JP2000112962A (en) Electronic information display device and electronic information reading method
JP2000029869A (en) Document management system, its method and recording medium recording program for the method
KR101251686B1 (en) Determining fields for presentable files and extensible markup language schemas for bibliographies and citations

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051205

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: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

LAPS Cancellation because of no payment of annual fees