JP4057997B2 - スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム - Google Patents

スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム Download PDF

Info

Publication number
JP4057997B2
JP4057997B2 JP2003420426A JP2003420426A JP4057997B2 JP 4057997 B2 JP4057997 B2 JP 4057997B2 JP 2003420426 A JP2003420426 A JP 2003420426A JP 2003420426 A JP2003420426 A JP 2003420426A JP 4057997 B2 JP4057997 B2 JP 4057997B2
Authority
JP
Japan
Prior art keywords
script
document
data
acquisition source
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003420426A
Other languages
English (en)
Other versions
JP2005182342A (ja
Inventor
伸夫 崎山
英樹 吉田
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 JP2003420426A priority Critical patent/JP4057997B2/ja
Publication of JP2005182342A publication Critical patent/JP2005182342A/ja
Application granted granted Critical
Publication of JP4057997B2 publication Critical patent/JP4057997B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、複数のWebサイトから収集したスクリプト付き文書中のスクリプトを実行する際に、該スクリプトが正確に実行される環境を提供するとともに、セキュリティポリシーを保持することが可能なスクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラムに関するものである。
インターネット上でコンテンツをメタデータ付きXML(eXtensible Markup Language)文書として公開して、その二次利用が促進される流れのなかで、上記XML文書を公開する各サイトの概要を集約表示するアグリゲータというアプリケーションが登場している(たとえば、非特許文献1参照)。多くのアグリゲータは集約したXML文書を最終的にHTML(HyperText Markup Language)文書に形成して、ユーザの所有する端末上のWebブラウザでそれを表示する。このようなアグリゲータは個人用デスクトップアプリケーションとして構成されるほか、Webポータルサイトにおいてニュースヘッドライン表示コンポーネントとしても活用されている。また米国においては商用ニュースサイトにおいて最新コンテンツの要約をメタデータつきXML文書として提供する動きが加速しており、今後の市場拡大が期待される。
また、近年では、インターネットなどの広域のネットワーク上にある複数の管理ドメインにわたるコンピュータ資源を結びつけ、ひとつの複合したコンピュータシステムとしてサービスを提供するグリッドコンピューティングが注目されている。このグリッドコンピューティングの標準アーキテクチャであるOGSA(Open Grid Services Architecture)や標準規格であるOGSI(Open Grid Services Infrastructure)では、通信においてはWebサービスが利用され、サービス間のデータのやりとりにはXMLが利用される。長期的にはデータとプログラムもXMLデータとして表現され再利用可能な形となると考えられる。このような環境で、データを複数のグリッドノードから抽出・集約し、最後に演算を行うような処理が有効になると考えられる。ここで、個別のグリッドノード内のデータを用いた演算であっても、データが多量である場合にはデータをプログラムと一緒に記憶しておき、プログラムの実行は抽出・集約の後とすることが計算時間を減らすために有効となる場合があると考えられる。
Morbus Iff, "Introduction", [online], amphetaDesk, [retrieved on 2003-11-20], Retreived from the Internet: <URL: http://www.disobey.com/amphetadesk/index.html>
XML文書の集約を行うシステムにおいて、XML文書中にJava(登録商標)scriptプログラムやXSLT(eXtensible Stylesheet Language Transformations)の処理命令などのスクリプトが含まれている場合に、アグリゲータによる集約表示の段階までこれらのスクリプトが残っていると、Webブラウザなどでこれらのスクリプトがそのまま実行され、スクリプトに異なる取得元の要素を含んだ入力が渡されてしまう場合があるという問題点があった。具体的には、XML文書中の情報は各情報発行元からクライアントへのみ提供されるべきものであるが、スクリプトは入力に基づいてURL(Uniform Resource Locator)を生成するなどしてネットワークアクセスを行うことができる。そのため、悪意のサイトからのスクリプトにおいては、たとえばスクリプト自身と異なる情報発行元のデータを盗んでしまうことが可能という問題点があった。また、悪意のないサイトからのスクリプトにおいては、スクリプトに想定外の入力が与えられることによって誤った結果が得られてしまうという問題点があった。
さらに、Webブラウザなどによるスクリプトの実行にあたっては、文書取得元を基準としてスクリプトで実行できる内容を制限するセキュリティポリシーが採られているが、アグリゲータが介在することによって、誤ったセキュリティポリシーが適用されてしまい、権限の昇格が起こり得るという問題点もあった。たとえば、アグリゲータがWebブラウザと同一のホストで動作している場合に、実行されるスクリプトは自ホストという信頼できる文書取得元が提供しているという誤った判断が行われ、スクリプトが実行されてしまう。
このような問題点を解決するためには、アグリゲータによるXML文書の加工の際に全てのスクリプトを削除するのが正しいセキュリティ上の実践とされているが、その場合は有用なスクリプトまで削除するしかないことになる。
また、XMLデータを利用してプログラムやデータのやり取りを行うグリッドコンピューティングにおいて、個別のプログラムの内容に制約を課すことなく意図しない動作を起こさないようにすることを保証する方法は公知でない。
本発明は、上記に鑑みてなされたものであって、複数の取得元からのデータとスクリプトを混在させたうえで、セキュリティを維持しつつスクリプトを正確に実行することが可能なスクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報が取得され、取得された個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報が付加された文書データ中に含まれるスクリプトを実行するスクリプト付き文書処理装置であって、前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、前記全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する取得元別文書構造解析手段と、前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データと、当該取得元と前記スクリプトを対応付けて有する取得元別スクリプトデータと、を生成するスクリプト抽出手段と、イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行するスクリプト実行手段と、前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とするアクセス制限手段と、を備えることを特徴とする。
また、本発明は、ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報が取得され、取得された個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報が付加された文書データ中に含まれるスクリプトを実行するスクリプト付き文書処理装置であって、読み込んだ前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、スクリプトを実行するスクリプト実行手段と、前記文書データを読み込むと、該文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、前記全体文書構造データの生成時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、前記スクリプト実行手段によって実行中のスクリプトと同じ取得元の前記取得元別文書構造データのみを前記スクリプト実行手段がアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行するスクリプト加工手段と、を備え、前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とすること、を特徴とする。
さらに、本発明は、ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報を付加した文書データを、端末装置の要求にしたがって提供する文書取得装置であって、前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、前記端末装置による前記文書データを構成する要素間の関係を示す全体文書構造データの生成と同時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成するスクリプトを前記文書データに付加する第2の処理と、前記個々の情報のうち、前記端末装置によって実行中のスクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データのみを前記端末装置がアクセス可能とするスクリプトを前記文書データに付加する第3の処理と、を実行するスクリプト加工手段を備えることを特徴とする。
また、本発明は、ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報を付加して文書データを生成する文書データ生成手段を有する文書取得装置と、前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、前記文書データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類して取得元別文書構造データを生成する取得元別文書構造解析手段と、前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データと、当該取得元と前記スクリプトを対応付けて有する取得元別スクリプトデータと、を生成するスクリプト抽出手段と、イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行するスクリプト実行手段と、前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とするアクセス制限手段と、を有するスクリプト付き文書処理装置と、を備えることを特徴とする。
さらに、本発明は、ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してサーバ装置を識別する識別情報を付加して文書データを生成する文書データ生成手段を有する文書取得装置と、前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、前記文書データ中のスクリプトを実行するスクリプト実行手段と、前記文書データを読み込むと、該文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する処理と、前記全体文書構造データの生成時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごと分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、前記スクリプト実行手段によって実行中のスクリプトが前記文書データにアクセスする際に、前記スクリプト実行手段が実行されるスクリプトを有する要素と同じ取得元の前記取得元別文書構造データのみをアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行するスクリプト加工手段と、を有し、前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とするスクリプト付き文書処理装置と、を備えることを特徴とする。
また、本発明は、文書取得装置と、スクリプトを実行するスクリプト実行手段を有する端末装置と、を備えるスクリプト付き文書処理システムにおいて、前記文書取得装置は、ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報を付加して文書データを生成する文書データ生成手段と、前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、端末装置によって前記文書データを構成する要素間の関係を示す全体文書構造データの生成と同時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、前記端末装置が、前記スクリプト実行手段によって実行されるスクリプトと同じ取得元の前記取得元別文書構造データのみをアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行するスクリプト加工手段と、を有し、前記端末装置は、前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段をさらに有し、前記スクリプト実行手段は、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とすること、前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とすること、を特徴とする。
さらにまた、本発明は、ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす情報がまとめられた文書データであって、当該情報に対してその取得元を識別する情報が付された文書データを文書取得装置から取得した端末装置が、前記文書データ中に含まれるスクリプトをスクリプト実行手段によって実行するスクリプト付き文書処理方法であって、前記端末装置の全体文書構造解析手段が、前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、前記端末装置の取得元別文書構造解析手段が、前記全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する工程と、前記端末装置のスクリプト抽出手段が、前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データを生成する工程と、前記端末装置の前記スクリプト実行手段が、イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行する工程と、前記端末装置のアクセス制限手段が、前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、を含むことを特徴とする。
また、本発明は、ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報が付された文書データを文書取得装置から取得した端末装置が、前記文書データ中に含まれるスクリプトをスクリプト実行手段によって実行するスクリプト付き文書処理方法であって、前記文書取得装置または前記端末装置のスクリプト加工手段が、前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、前記端末装置による後の工程での全体文書構造データの生成時に、該全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、後の工程で前記スクリプト実行手段によって実行されるスクリプトと同じ取得元の前記取得元別文書構造データのみを前記スクリプト実行手段がアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行する工程と、前記端末装置の全体文書構造解析手段が、前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、前記端末装置の前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者に入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、を含むことを特徴とする。
さらに、本発明は、コンピュータの全体文書構造解析手段が、ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす情報がまとめられた文書データであって、当該情報に対してその取得元を識別する情報が付された文書データを取得すると、前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、前記コンピュータの取得元別文書構造解析手段が、前記全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する工程と、前記コンピュータのスクリプト抽出手段が、前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データと、当該取得元と前記スクリプトを対応付けて有する取得元別スクリプトデータと、を生成する工程と、前記コンピュータのスクリプト実行手段が、イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行するスクリプト実行工程と、前記コンピュータのアクセス制限手段が、前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、を含むスクリプト付き文書処理方法をコンピュータに実行させることを特徴とする。
また、本発明は、コンピュータのスクリプト加工手段が、ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす個々の情報がまとめられるとともに当該個々の情報に対してその取得元を識別する情報が付された文書データを取得すると、前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、後の工程での全体文書構造データの生成時に、該全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、後の工程でのスクリプトの実行中に、コンピュータのスクリプト実行手段によって実行されるスクリプトと同じ取得元の前記取得元別文書構造データのみをアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行する工程と、コンピュータの全体文書構造解析手段が、読み込んだ前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、コンピュータの前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者に入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、をコンピュータに実行させることを特徴とする。
この発明によれば、スクリプトは取得元ごとに格納され、スクリプト実行手段はスクリプト実行位置に基づいたスクリプトを設定して実行するので、文書データ中に取得元の異なるスクリプトが含まれている場合でも、スクリプト間での干渉が起こることがない。また、スクリプト実行手段によるスクリプトの実行時に文書データの参照が必要な場合には、アクセス制限手段によってスクリプト実行手段は実行中のスクリプトと同じ取得元の取得元別文書構造データのみにしかアクセスできないので、スクリプト実行手段が実行中のスクリプトと取得元の異なる取得元別文書構造データを参照することがない。
また、この発明によれば、文書データ内のスクリプト中の変数名と関数名とを、文書データ内で一意的に識別することができる名称に変換する第1の処理と、全体文書構造データの生成時に、要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを文書データに付加する第2の処理と、スクリプト実行手段によって実行中のスクリプトと同じ取得元の取得元別文書構造データのみを前記スクリプト実行手段がアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、文書取得装置での文書データ生成時またはスクリプト月文書処理装置(端末装置)での文書データの読み込み時に行うことで、これらの処理がスクリプト付き文書処理装置(端末装置)のスクリプト実行手段によって実行される。これによって、スクリプト実行手段は実行中のスクリプトの取得元と同じ取得元の取得元別文書構造データのみにしかアクセスすることができない。その結果、スクリプト実行手段が実行中のスクリプトと取得元の異なる取得元別文書構造データを参照することがない。
本発明によれば、スクリプト実行位置に応じて、取得元ごとに分類して格納されたスクリプトがスクリプト実行手段に設定され、しかもスクリプト実行手段は設定されたスクリプトと同じ取得元の取得元別文書構造データにしかアクセスできないので、スクリプト実行手段に設定されたスクリプトに誤った入力が入力されることがなく、正確にスクリプトが実行されるという効果を有する。また、読み込んだ文書データを予め設定された場所へと転送する処理を実行するような悪意のスクリプトがスクリプト実行手段に設定された場合でも、スクリプト実行手段がアクセス可能な文書データの範囲には制限がかけられるので、実質的に悪意のスクリプトを無効化することができる。たとえば、文書データに秘密性を有する情報が含まれている場合に有効である。
また、本発明によれば、スクリプトに含まれるスクリプト変数や関数の名称を、文書データ中で一意に識別可能なように変換するとともに、文書データが読み込まれたスクリプト付き文書処理装置(端末装置)で生成される全体文書構造データとともに取得元別文書構造データを生成する処理と、スクリプト実行手段が実行中のスクリプトと同じ取得元別文書構造データのみをアクセスする処理とをスクリプトとして文書データに付加するようにしたので、上記の処理をスクリプトとして記述することで、これらの処理を行うための手段をスクリプト付き文書処理装置(端末装置)に設ける必要がないという効果を有する。また、これらの処理を文書取得装置に行わせることによってもスクリプト付き文書処理装置(端末装置)側にこれらの処理を行うための手段を設ける必要がなくなる。これによって、スクリプトを実行する機能を有する従来の端末装置でも、上記スクリプト付きの文書データを実行することが可能となる。さらに、スクリプト付き文書処理装置(端末装置)にスクリプト実行位置に応じてスクリプト実行手段にスクリプトが設定された際に、スクリプト実行手段は設定されたスクリプトに対応するスクリプト変数を確実に取得してスクリプトを実行することができるという効果を有する。さらにまた、スクリプト実行手段は設定したスクリプトと同じ取得元の取得元別文書構造データにしかアクセスできないので、設定されたスクリプトに誤った入力が入力されることがなく、正確にスクリプトが実行されるという効果を有する。たとえば、スクリプトに想定外の入力が与えられることによる誤った処理が実行されることを防ぐことができる。
以下に添付図面を参照して、本発明にかかるスクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラムの好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
(実施の形態1)
図1は、本発明にかかるスクリプト付き文書処理システムの概略構成を示すブロック図である。このスクリプト付き文書処理システムは、種々の情報であるコンテンツを提供するWebサーバ1a,1bと、Webサーバ1a,1bから予め定められた条件に従う情報を取得する文書取得装置2と、Webサーバ1a,1bや文書取得装置2の有する情報を閲覧する端末装置3aとが、インターネットなどの広域のネットワーク6に接続される構成を有する。このWebサーバ1a,1b、文書取得装置2および端末装置3a間での通信プロトコルとして、TCP(Transmission Control Protocol)/IP(Internet Protocol)プロトコルが利用されるものとする。なお、この図1では、広域のネットワーク6に、たとえば一つの社内で構築されるイントラネットなどのLAN(Local Area Network)5が接続される様子も示されている。このLAN5は、LAN5内でのみ閲覧可能な情報がファイル格納部11cに格納されるサーバ装置1cと、端末装置3b、3cとを含んで構成され、ゲートウェイ4を介して広域のネットワーク6に接続される。
Webサーバ1a,1bとサーバ装置1c(以下では、Webサーバ1a,1bとサーバ装置1cとを区別する必要がない場合にはこれらをまとめてサーバ1と表記する)は、テキストファイルや画像ファイルなどのコンテンツを格納するファイル格納部11a〜11cと、端末装置3a〜3cや文書取得装置2からの要求に基づいてコンテンツの提供を行う通信部12a〜12cと、を有する。サーバ1の提供するコンテンツとして、HTMLやXMLなどのマークアップ言語で作成されるデータファイルを例示することができる。なお、以下の説明では、サーバ1の提供するコンテンツとして、文書のほかにプログラムやプログラムに使用されるデータを含むものとする。
文書取得装置2は、サーバ1や端末装置3などとの間で通信を行う通信部21と、広域のネットワーク6に接続されるWebサーバ1a,1bから一つ以上の予め定められた条件に従う情報を含むコンテンツを予め定められたタイミングで取得して一つの文書としてまとめるとともに、取得したコンテンツの内容を取得元別に識別することが可能な取得元識別情報を付した文書データを生成する文書データ生成部22と、生成した文書データを格納する文書データ格納部23と、を有する。ここで、予め定められた条件に従う情報としては、たとえば、プロ野球に関する情報、プロ野球のある特定の球団に関する情報、ある国に関するニュース、ある技術分野に関する論文集などを例示することができる。また、この文書取得装置2は、一つ以上の上記予め定められた条件に従う情報を広域のネットワーク6に接続されるアクセス可能なすべてのサーバ1から収集するものであってもよいし、予め定められたサーバ1のみから収集するものであってもよい。文書取得装置2の生成する文書データは、サーバ1の提供するコンテンツを集約するものであるので、文書のほかにプログラムやプログラムに使用されるデータを含むものとする。なお、文書取得装置2はソフトウェアとして実現することも可能であり、図1の符号2に示されるように文書取得装置2として単体でネットワーク6に接続される場合に限られず、図1の符号3cに示されるように端末装置に文書取得装置2の機能を実現するソフトウェアを組み込んだ文書取得装置付き端末装置とすることも可能である。
なお、本明細書で、文書取得装置2によって生成される文書データの構造を予め定められた基準に従って複数に分類したときに得られる個々の構成要素を「要素」と呼ぶものとする。ただし、分類された要素の内容中には複数のサーバ1から取得したコンテンツが含まれてはいけないものとする。
端末装置3a,3bは、サーバ1や文書取得装置2の有する情報を取得して閲覧や処理を行う装置であるが、本発明では文書取得装置2によって生成された文書データを閲覧する場合を例に取り上げるので、スクリプト付き文書処理装置となる。図面では、スクリプト付き文書処理装置3a,3bのことを端末装置3a,3bと表記しており、また以下の説明ではスクリプト付き文書処理装置のことを端末装置と表現することもある。図2は、このスクリプト付き文書処理装置の主要構成を示す機能ブロック図である。スクリプト付き文書処理装置(端末装置)3は、スクリプト付き文書処理装置3を動作させるために必要な処理プログラムが格納されるオペレーティングシステム(以下、OSという)31と、ネットワーク6上のサーバ1や文書取得装置2などの情報処理端末の有するデータファイルを閲覧するWebブラウザ32と、Webブラウザ32による処理に必要なファイルやデータを保持するための記憶部33と、Webブラウザ32によって処理される情報をスクリプト付き文書処理装置3の使用者に表示出力する表示部34と、使用者からの命令などが入力される入力部35と、を有する。
OS31は、Webブラウザ32によって処理されたデータファイルを表示部34に表示させるための表示処理部41を有する。また、Webブラウザ32の通信部42による通信よりも下層の通信(たとえば、TCP/IPプロトコルを用いた通信)を行う機能も有している。
Webブラウザ32は、ネットワーク6に接続されるや文書取得装置2の公開する文書データを取得するための処理を行う通信部42と、取得した文書データの文書構造を解析する文書解析部43と、取得した文書データのうちテキストデータの表示処理を行うテキストデータ処理部44と、取得した文書データのうち画像ファイルの表示処理を行う画像処理部45と、取得した文書データに含まれるスクリプトを実行するスクリプト実行部46と、Webブラウザ32のサーバ1へのアクセスの可否を判定するアクセス許可判定部47と、を有する。
通信部42は、たとえば、HTTP(HyperText Transfer Protocol)プロトコルを用いてネットワーク6に接続される文書取得装置2の所有する文書データの要求および取得を行う機能を有する。取得した文書データ331は、記憶部33に格納される。
文書解析部43は、取得した文書データ331全体の文書構造を解析し全体文書構造データ332を生成する全体文書構造解析部431と、取得した文書データ331のうちスクリプトを有する情報を提供したサーバ1すなわち取得元を抽出する取得元抽出部432と、抽出された取得元と同じ取得元の要素について取得元ごとに文書構造を解析して取得元別文書構造データ334を生成し、文書データ331全体の文書構造との対応付けを行う取得元別文書構造解析部433と、スクリプトを取得元別に抽出して格納する取得元別スクリプト抽出部434と、スクリプト実行部46による文書データ331の参照をスクリプトと同じ取得元の取得元別文書構造データ334のみに制限するアクセス制限部435と、スクリプト実行部46による取得元別文書構造データ334へのアクセスを全体文書構造データ332へのアクセスに変換する文書データアクセス変換部436と、を有する。ここで、全体文書構造解析部431と取得元抽出部432は、特許請求の範囲における全体文書構造解析手段に対応している。なお、この明細書では、上述したように文書データ331は異なる取得元からのコンテンツを集約したものであるので、この文書データ331の全体の構造を指すときは全体文書構造データ332といい、文書データ331内の一つの取得元における要素間の構造を指すときは取得元別文書構造データというものとする。
全体文書構造解析部431は、通信部42によって文書取得装置2から取得して格納された文書データ331を読み込み、文書データ331を構成する要素間の関係を解析する機能を有する。たとえば、マークアップ言語によって作成される文書データ331は、一般的に要素と呼ばれる一対のタグによって囲まれて記述される構造の羅列によって構成されているが、このようなマークアップ言語によって作成される文書データ331の場合には、要素の羅列の順番や包含関係、親子関係などのいずれかの関係に基づいて文書構造が解析される。全体文書構造解析部431によって解析された構造は、全体文書構造データ332として記憶部33に格納され、テキストデータ処理部44や画像処理部45などによる処理の際に使用される。
取得元抽出部432は、取得された文書データ331中にスクリプトが含まれる場合、そのスクリプトが含まれる要素を提供したサーバ1、すなわち取得元を抽出し、取得元一覧表333を生成する機能を有する。生成された取得元一覧表333は記憶部33に格納される。この取得元一覧表333に基づいて、取得元別文書構造データ334が生成され、またスクリプトやスクリプト変数などが抽出される。
取得元別文書構造解析部433は、全体文書構造データ332から、取得元抽出部432によって抽出された取得元ごとに要素を抽出し、その文書構造を解析する機能を有する。具体的には、全体文書構造データ332に基づいて、要素間の関係を文書データ331のうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データ334を生成する。生成された取得元別文書構造データ334は記憶部33に格納される。また、取得元別文書構造解析部433は、解析した取得元別文書構造データ334を構成する要素と、全体文書構造データ332を構成する要素との対応関係を示す文書構造対応表335を作成する機能も有する。この文書構造対応表335も記憶部33に格納される。なお、この文書構造対応表335は、特許請求の範囲における文書構造対応情報に対応している。
取得元別スクリプト抽出部434は、文書データ331に含まれるスクリプトを取得元別に抽出する機能を有する。抽出されたスクリプトは取得元別に分類され、取得元別スクリプトデータ336として記憶部33に格納される。また、スクリプトに含まれるスクリプト変数も取得元別に分類され、取得元別スクリプト変数データ337として記憶部33に格納される。さらに、スクリプトが実行される起点であるエントリポイントを抽出されたスクリプトについてまとめたエントリポイントデータ338も記憶部33に格納される。なお、このエントリポイントは、特許請求の範囲におけるスクリプト実行位置に対応し、エントリポイントデータ338は、同じくスクリプト実行位置データに対応している。
アクセス制限部435は、スクリプト実行部46がスクリプト実行中に、スクリプト実行部46が、実行されるスクリプトと同じ取得元の取得元別文書構造データ334に対してのみアクセス可能とする機能を有する。これによって、スクリプトと同じ取得元の取得元別文書構造データのみしかスクリプト実行部46は参照できない。すなわち、スクリプト実行部46による文書データ331全体への参照が制限される。
文書データアクセス変換部436は、スクリプト実行部46によるスクリプトの実行中に、文書データ331の内容の更新や削除などの変更がある場合に、スクリプト実行部46のアクセス先を、文書構造対応表335に基づいて取得元別文書構造データ334中の要素からこの要素に対応する全体文書構造データ332中の要素に変換する機能を有する。これによって、スクリプト実行部46は、間接的に文書データ331にアクセスすることができ、文書データ331の内容や構造を変更する場合にも、その変更を文書データ331に反映させることができる。
テキストデータ処理部44は、文書解析部43によって解析された文書データ331のうちテキストデータを表示するための処理を行う機能を有する。また、画像処理部45は、文書解析部43によって解析された文書データ331に画像ファイルの表示指示が含まれている場合に、必要な画像ファイルが格納されているURLからダウンロードし、表示するための処理を行う機能を有する。
スクリプト実行部46は、イベントなどの発生によって実行されるスクリプトを設定するスクリプト設定部461と、設定されたスクリプトを実行するスクリプト解釈部462と、を有する。スクリプト設定部461は、スクリプト付き文書処理装置3の使用者などによる入力などの何らかのイベントが発生すると、エントリポイントデータ338を参照して該イベントの発生によって実行されるスクリプトを抽出し、抽出したスクリプトを該スクリプトと同じ取得元のスクリプト変数とともにスクリプト解釈部462に設定する機能を有する。一つのイベントについて取得元の異なる複数のスクリプトが、エントリポイントデータ338に登録されている場合には、個々の取得元ごとにスクリプトを実行する。この実行は取得元を切り替えて直列に実行する。
スクリプト解釈部462は、スクリプト設定部461によって設定されたスクリプトを解釈して実行する。このとき、スクリプト解釈部462は、アクセス制限部435によって実行中のスクリプトと同じ取得元の取得元別文書構造データ334しかアクセスすることができない。また、スクリプト解釈部462によるスクリプトの実行中に文書データ331の内容の削除や更新などの変更が行われる場合には、スクリプト解釈部462のアクセス先が、取得元別文書構造データ334中の変更される要素からこの要素に対応する全体文書構造データ332中の要素へと、文書データアクセス変換部436によって変換され、該要素の変更が実行される。
アクセス許可判定部47は、画像処理部45やスクリプト実行部46などが文書データ331の内容に基づいてWebサーバや他のWebサーバへのアクセスを行う際に、該アクセスを行うURLを悪意のあるサイトなどのURLが掲載されたアクセス許可情報と比較して、そのアクセスの可否を判定する機能を有する。たとえば、文書データ331の要素にはその取得元を識別する取得元識別情報としてURLが付加されているので、その取得元識別情報とアクセス許可情報とを比較する。これによって、取得元識別情報として付加されているURLがアクセス許可情報に含まれている場合には悪意のサイトとしてアクセスすることを禁止する。これによって、悪意のあるサイトなどへのアクセスを未然に防止することが可能となる。なお、アクセス許可情報には悪意のあるサイトや有害なサイトが登録されているものであってもよいし、アクセスが可能なサイトのみを登録するものであってもよい。
記憶部33は、上述した通信部42によって得られる文書データ331や文書解析部43によって生成される全体文書構造データ332、取得元別文書構造データ334、文書構造対応表335、取得元別スクリプトデータ336、取得元別スクリプト変数データ337、エントリポイントデータ338などを記憶する機能を有し、ハードディスクドライブやメモリによって構成される。また、表示部34は、Webブラウザ32によって処理された文書データ331を、OS31の表示処理部41を介して使用者に表示出力する。入力部35は、表示部34に表示されるWebブラウザに処理された内容に対して、使用者が入力を与えることができるものであり、キーボードやマウスなどによって構成される。
なお、図1の符号3cで示されるように、端末装置が文書取得装置2の機能を有する場合には、該端末装置3cは、図2に示される機能構成に加えて文書取得装置2の文書データ生成部22を有し、文書データ生成部22によって生成された文書データ331は記憶部33に格納される。
つぎに、このような構成を有するスクリプト付き文書処理装置3の動作処理について説明する。スクリプト付き文書処理装置3は、スクリプト付き文書を読み込んだときに実行される初期化処理と、初期化処理終了後のイベントの発生によって実行されるスクリプト実行処理とを含む処理を行う。最初に、初期化処理について図3のフローチャートを参照しながら説明する。この図3は、文書取得装置2がスクリプト付き文書処理装置3とは別個に設けられる場合を例に挙げている。
まず、スクリプト付き文書処理装置3の使用者によってWebブラウザ32を介して文書取得装置2の有する文書データ331へのアクセス要求がなされると、スクリプト付き文書処理装置3は、HTTPリクエストメッセージを文書取得装置2に対して送信し(ステップS11)、文書取得装置2からHTTPレスポンスメッセージを受信し(ステップS12)、使用者によって所望される文書データ331が記憶部33に格納される(ステップS13)。図4−1に、文書取得装置によって生成される文書データの構成の一例を示す。これは、概念的なものであり、実際に使用される文書データ331とは異なるものである。この文書データ331は、要素A〜要素Jを含み、それぞれの要素に取得元識別情報として、その要素の取得元であるURLであるURL1またはURL2が付されている。また、要素E、要素Iおよび要素Jは、それぞれSCP1、SCP2およびSCP3という名称のスクリプトを含む要素であるものとする。
全体文書構造解析部431は、記憶部33に格納された文書データ331を解析し、文書データ331の全体構造を抽出し、全体文書構造データ332を生成して記憶部33に格納する(ステップS14)。図4−2に、全体文書構造データの一例を示す。この図4−2に示される例では、全体文書構造データ332は、文書データ331が要素ごとに分解され、それぞれの要素を羅列した構造となっている。つぎに、取得元抽出部432は、スクリプトを含む要素を抽出してその取得元を取得し、取得元一覧表333を生成する(ステップS15)。なお、2回目以降に同じ取得元が取得された場合には、その取得元は取得元一覧表333には記載されない。図4−3に取得元一覧表の一例を示す。項目「要素」にはスクリプトが含まれる要素名が格納され、項目「取得元」には要素の取得元であるURLが格納される。
つぎに、取得元別文書構造解析部433は、ステップS15で生成された取得元一覧表333に記載されている取得元についてその文書データ331を解析し、取得元別文書構造データ334を生成して記憶部33に格納する(ステップS16)。図4−4に取得元別文書構造データ334の一例を示す。この図4−4では、取得元が「URL1」である取得元別文書構造データ334については、新たな要素名a1〜a6の羅列によって表現されており、取得元が「URL2」である取得元別文書構造データ334については、新たな要素名b1〜b4の羅列によって表現されている。また、取得元別文書構造解析部433は、取得元別文書構造データ334の構造を全体文書構造データ332の構造に対応付けした文書構造対応表335を生成して記憶部33に格納する(ステップS17)。図4−5に文書構造対応表335の一例を示す。この図4−5では、項目「取得元別文書構造データの要素名」にステップS16で生成された取得元別文書構造データ334の要素名が格納され、項目「全体文書構造データ332の要素名」にテップS14で生成された全体文書構造データ332の要素名が格納され、取得元別文書構造データ334の要素と全体文書構造データ332の要素との間の対応関係が示されている。
そして、取得元別に文書データ331からスクリプトおよびスクリプト変数を抽出するとともに、抽出したスクリプトのエントリポイントを取得し、それぞれ取得元別スクリプトデータ336、取得元別スクリプト変数データ337およびエントリポイントデータ338として記憶部33に格納して(ステップS18)、初期化処理が終了する。図4−6に取得元別スクリプトデータの一例を示し、図4−7に取得元別スクリプト変数データの一例を示し、図4−8にエントリポイントデータの一例を示す。図4−7の取得元別スクリプトデータ336において、スクリプトSCP1〜SCP3のそれぞれのスクリプト変数をx(SCP1),y(SCP2),z(SCP3)としている。
つぎに、スクリプト実行処理について図5のフローチャートを参照しながら説明する。まず、スクリプトが実行されるイベントが発生したか否かが判定され(ステップS21)、イベントが発生するまで待ち状態となる(ステップS21でNoの場合)。たとえば、スクリプト初期化処理の終了イベントや使用者による入力イベントなどのイベントが発生すると(ステップS21でYesの場合)、スクリプト設定部461は発生したイベントに応じたスクリプトをエントリポイントデータ338から抽出し、そのスクリプトとスクリプト変数をスクリプト解釈部462に設定する(ステップS22)。スクリプト解釈部462は、スクリプトを解釈する際に文書データ331のアクセスがある場合には、アクセス制限部435を窓口として文書データ331へのアクセスを行う。このときアクセス制限部435では、スクリプト解釈部462で実行されるスクリプトと同じ取得元についての取得元別文書構造データ334を選択して設定する(ステップS23)。これによって、スクリプト解釈部462は、選択された取得元別文書構造データ334の範囲内でのみスクリプトを実行する。
つぎに、スクリプト解釈部462によるスクリプトの実行に文書データ331の変更があるか否かが判定される(ステップS24)。文書データ331の変更がある場合(ステップS24でYesの場合)には、文書データアクセス変換部436は、スクリプト解釈部462による取得元別文書構造データ334へのアクセスを、文書構造対応表335を用いて対応する全体文書構造データ332へのアクセスへと変換する(ステップS25)。その後またはステップS24で文書データ331に変更がない場合(ステップS24でNoの場合)に、スクリプト解釈部462によってスクリプトに対応した処理が実行され(ステップS26)、たとえばその結果が表示部34に表示出力される。
スクリプトに対応した処理の結果、全体文書構造データ332に変更があるか否かが判定され(ステップS27)、変更がない場合(ステップS27でNoの場合)にはスクリプト実行処理が終了する。一方、全体文書構造データ332に変更がある場合(ステップS27でYesの場合)には、図3のステップS14へと処理が移り、全体文書構造データ332の変更に伴う新たな要素の挿入や要素の削除などの処理を全体文書構造データ332と取得元別文書構造データ334に反映させる処理が実行される。
ここで、上述した処理について具体例を挙げて、図6−1〜図14を参照しながら説明する。以下に説明する例では、図1におけるLAN5はA社のイントラネットであり、A社のイントラネット内の文書取得装置付き端末装置3cが、A社のLAN5内のサーバ装置1cのファイル格納部11cに格納されている社外秘文書と、広域のネットワーク6上のWebサーバ1aが提供する電子掲示板システムに掲示されている情報(以下、電子掲示板情報という)とを集約して文書データ331を作成し、Webブラウザ32でそれを閲覧するものとする。また、これらのWebサーバ1aやサーバ装置1cで公開されるコンテンツ(情報)は、すべてXML文書の形式で公開されているものとする。さらに、文書取得装置付き端末装置3c、すなわち文書取得装置2の機能を有するスクリプト付き文書処理装置3cにおける文書解析部43は、取得したXML形式の文書データ331を、文書データ331を構成する要素をツリー構造状に展開して、スクリプト実行部46からのアクセスを可能としたアプリケーションプログラムインタフェースであるDOM(Document Object Model)に基づいて動作するものとする。
図6−1は、図1のサーバ装置によってイントラネット内で公開されている情報のXML文書の一例であり、図6−2は、図1のWebサーバによって公開されている電子掲示板情報のXML文書の一例である。また、図7は、図6−1〜図6−2から文書取得装置付き端末装置3cによって生成された文書データを示す。図6−1に示されるXML文書にはスクリプトは含まれておらず、図6−2に示されるXML文書にのみスクリプトが含まれているものとする。また、図6−2のXML文書に含まれるスクリプトは、悪意のスクリプトであり、スクリプトを含む文書(ドキュメント)を全部予め定められた場所に転送する処理を行うものであるものとする。文書取得装置付き端末装置3cによって生成された文書データ331は、図6−1と図6−2から取得したXML文書中のタグに、取得元識別情報としてXML文書が格納されている場所(URL)が付加されたものとなっている。この図7に示される文書データ331が、文書取得装置付き端末装置3cの記憶部33に格納され、Webブラウザ32によって読み込まれるとWebブラウザ32の文書解析部43によってその構造が解析される。
Webブラウザ32の文書解析部43の全体文書構造解析部431は、図7に示される文書データ331を読み込むとツリー構造状に展開する。図8は、全体文書構造解析部によってツリー構造状に展開された全体文書構造データである。図7の文書データ331を構成する要素や属性、テキストがツリー構造状に展開されるが、XML文書をDOMに基づいてツリー構造状に展開する方法については公知であるので、詳細な説明は省略する。このツリー構造を構成するそれぞれのノードには、全体文書構造データ332中で一意的に識別することが可能な番号(以下、ノード番号という)が付されている。この図8において、矩形で囲まれているノードが要素と属性を表しており、楕円で囲まれているノードがテキストを表している。属性は先頭に「@」をつけて表現されている。ノード番号「6」〜「26」が図6−1に示されるLAN5内のサーバ装置1cを取得元とするXML文書であり、ノード番号「27」〜「49」が図6−2に示される広域のネットワーク6上のWebサーバ1aを取得元とするXML文書である。また、この図8では、属性「sec: source」が取得元を表現するために導入された属性であり、「sec」という名前空間プレフィクスを付加することで、取得元属性が付加されない場合に対して影響のない形で拡張した表現となっている。
つぎに、取得元抽出部432によって、スクリプトを有する要素を含むXML文書の取得元が抽出される。たとえば、図8でノード番号が「1」から昇順にノードを検査するものとすると、全体文書構造データ332のノード番号「45」にスクリプトが存在するので、まずノード番号「45」のノードが抽出され、その取得元は取得元属性が記載されているノード番号「44」のテキストから「http://underground.example.jp/bbs/」が抽出される。図9に取得元抽出部によって生成された取得元一覧表333を示す。文書データ331中にはこのほかにスクリプトが含まれないので、取得元一覧表に記載されるURLは上記のものだけとなる。なお、全体文書構造データ332からノードを選択する順番は任意の順番でよく、またスクリプトを含むノードであるか否かの判定は、ノードの要素名がスクリプトを意味する要素名か否かによって判断することができる。
つぎに、取得元別文書構造解析部433によって、取得元一覧表333に記載されるURLを取得元とする全体文書構造データ332の要素について、取得元ごとにその文書構造がツリー構造状に展開されるとともに、文書構造対応表335が生成される。ここで、取得元別文書構造データ334と文書構造対応表335の生成手順について説明する。まず、取得元別文書構造解析部433は、図8に示される全体文書構造データ332から深さ優先探索順に各ノードを選び、注目している取得元と同一の取得元を有するノードである場合に、このノードを取得元別文書構造データ334の新しいノードとして登録するとともに、文書構造対応表335にも登録する。このとき、新しいノードの祖先ノードが既に取得元別文書構造データ334に登録されている場合には、新しいノードから最も近い祖先ノードの子ノードとして、新しいノードを登録する。また、新しいノードの祖先ノードが登録されていない場合には、新しいノードをルートノードとして登録する。登録に当たって、それぞれの新しいノードに順番に新たに生成される取得元別文書構造データ334内におけるノード番号を割り当てる。さらに、文書構造対応表335には、取得元別文書構造データ334において割り当てられたノード番号に対して、全体文書構造データ332におけるノード番号を登録する。
図10に取得元が「http://underground.example.jp/bbs/」である文書データ中の要素についてのツリー構造状の取得元別文書構造データを示す。この取得元別文書構造データ334の構造は、図8の全体文書構造データ332におけるノード番号「27」〜「49」が抽出されたものとなっている。また、この図10に示される取得元別文書構造データ334を構成する各ノードには、この取得元別文書構造データ334中におけるノードを識別するためのノード番号として「a1」〜「a23」が付されている。
図11に、図10の取得元別文書構造データに対応する文書構造対応表を示す。この文書構造対応表335において、項目「取得元」は、URLが「http://underground.example.jp/bbs/」である図10に示される取得元別文書構造データ334におけるノード番号を示すものであり、項目「文書全体」は全体文書構造データ332におけるノード番号を示すものである。
つぎに、取得元別スクリプト抽出部434によって、文書データ331に含まれるスクリプトが抽出される。図8に示される全体文書構造データ332のノード番号「45」にスクリプトが存在するので、取得元別スクリプト抽出部434は、取得元のURLである「http://underground.example.jp/bbs/」に対してノード番号「45」に含まれるスクリプトを登録する。また、取得元のURLである「http://underground.example.jp/bbs/」に対してスクリプト抽出部に含まれるスクリプト変数を登録する。さらに、該スクリプトのエントリポイントを登録する。たとえば、図8の全体文書構造データ332におけるノード番号「45」のスクリプトが図12に示されるような内容を有する場合には、文書データ331を読み込んだときにスクリプトが実行されるようになっているので、エントリポイントは、初期化処理終了時となる。図13−1〜図13−3に、取得元別スクリプトデータ、取得元別スクリプト変数データ、およびエントリポイントデータを示す。
以上のようにして、Webブラウザ32によって読み込まれた文書データ331は文書解析部43でスクリプト実行部46によって実行可能な形式に変換される。そこで、つぎにこの文書データ331に含まれるスクリプトが実行される場合について説明する。文書解析部43によって読み込んだ文書データ331についての初期化処理が終了すると、スクリプト設定部461によって初期化処理の終了時となるエントリポイントデータ338がスクリプト解釈部462に設定される。ここでは、図13−1に示されるように、初期化処理の終了時がエントリポイントとなるスクリプト「documentオブジェクト中のテキストを全部転送するJava(登録商標)scriptコード」がスクリプト解釈部462に設定される。このときスクリプト解釈部462が参照する文書データ331は、実行される「documentオブジェクト中のテキストを全部転送するJava(登録商標)scriptコード」スクリプトと同一の取得元である図10に示される取得元別文書構造データ334である。すなわち、アクセス制限部435は、スクリプト解釈部462の実行コンテキストの取得元のURLである「http://underground.example.jp/bbs/」を設定し、この取得元と同一の取得元別文書構造データ334を選択する。これによって、スクリプト解釈部462が文書データ331を参照する場合には、この選択された取得元別文書構造データ334が参照されることになる。また、スクリプト解釈部462が文書データ331の変更などを行う場合には、文書データアクセス変換部436が、図10に示される取得元別文書構造データ334にアクセスされた要素のノード番号を、文書構造対応表335を用いて全体文書構造データ332のノード番号に変換し、該ノード番号によって示されるノードの変更が行われる。
図14は、スクリプトの実行によって切り出される文書データ中の部分を示している。この図14に示されるように、スクリプト解釈部462によって参照できる文書データ331は、全体文書構造データ332中のスクリプトと同一の取得元となる取得元別文書構造データ334である。そのため、文書取得装置2によって図6−1に示される社外秘のデータファイルと、図6−2と図12に示される悪意のある者によって文書データ331の内容を別の場所に転送するように作成されたスクリプトを有するデータファイルとが同時に集約されたとしても、社外秘のデータファイルの内容はスクリプトに参照されることはないので、その内容が上記スクリプトによって別の場所に転送されることはない。
なお、スクリプトの含まれないLAN5内のサーバ装置1cから集約された文書データ331は、全体文書構造解析部431によって全体文書構造データ332に展開された後に、テキストデータ処理部44や画像処理部45によって予め定められた処理がなされ、表示処理部41によって表示部34にその内容が表示される。
この実施の形態1によれば、複数のサーバ1のコンテンツから取得した情報を有する文書データ331中の要素について、スクリプトを含む取得元ごとに取得元別文書構造データ334を生成し、スクリプトが実行される際には、該スクリプトと同じ取得元の取得元別文書構造データ334のみがアクセスされるように構成したので、スクリプトが異なる取得元の取得元別文書構造データ334を参照することがない。その結果、セキュリティが確保されるという効果を有する。たとえば、スクリプトがアクセス可能な文書データを転送する悪意のあるスクリプトが文書データ331に含まれていたとしても、そのスクリプトは自スクリプトと同じ取得元の取得元別文書構造データ334にしかアクセスすることができない。そのため、悪意のあるスクリプトを無効化することができる。
また、文書データ331内に含まれるスクリプトとスクリプト変数を取得元ごとに格納するようにしたので、文書データ331内に取得元の異なる複数のスクリプトが存在する場合でも、スクリプト変数やスクリプト関数が混ざり合うことがない。その結果、イベントの発生に応じて正常にスクリプトが実行される。たとえば、スクリプトに想定外の入力が与えられることによって誤った処理が実行されることを防ぐことができる。
さらに、文書データ331内の要素には、取得元を識別するための情報が付加されているので、この情報に基づいてその取得元がアクセスしてよいサイトか否かの判定を行うことができる。その結果、たとえば文書取得装置付き端末装置3cのように、文書取得装置2の機能がスクリプト付き文書処理装置と一体となって、同一ホスト上で動作している場合に、Webブラウザ32が自端末装置3cという信頼できる取得元が提供している文書データ331であるという誤った判断を回避し、誤ったセキュリティポリシーが適用されて権限の昇格が起こってしまうことを防ぐことができる。
また、取得元別文書構造データ334中の要素と全体文書構造データ332中の要素とを対応付ける文書構造対応表335を生成するように構成したので、スクリプトが文書データの内容の変更や構造の変更を伴う処理を実行する場合でも、その変更を文書データ331に反映させることができるという効果を有する。
(実施の形態2)
図15は、本発明にかかるスクリプト付き文書処理装置の概略構成を模式的に示すブロック図である。このスクリプト付き文書処理装置3は基本的に実施の形態1の図2と同様の構成を有するが、文書解析部43が、文書データ331に予め定められた処理を実行するためのスクリプトを付加するスクリプト加工処理部437と、文書データ331の構造を解析する全体文書構造解析部431とから構成され、記憶部33が、文書取得装置2から取得する文書データ331と、全体文書構造データ332と、文書データ331中に含まれるスクリプトであるスクリプトデータ336aと、各スクリプトの変数であるスクリプト変数データ337aと、各スクリプトのエントリポイントデータ338と、を格納する点で実施の形態1の図2に示されるスクリプト付き文書処理装置3と異なる。なお、実施の形態1の図2と同一の構成要素には同一の符号を付してその説明を省略している。
スクリプト加工処理部437は、Webブラウザ32が文書データ331を取得すると、文書データ331中に含まれるスクリプト中で定義される変数名と関数名について、文書データ331内で同じ変数名や関数名が存在しないように名前を変更する機能を有する。また、スクリプト加工処理部437は、全体文書構造解析部431によって全体文書構造データ332が生成されるときに、全体文書構造データに基づいて、要素間の関係を文書データ331のうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成し、各要素に該要素と全体文書構造データとの対応関係を示す参照情報を格納する処理をスクリプト実行部46に実行させるためのスクリプトを付加する機能を有する。さらに、スクリプト加工処理部437は、スクリプト実行部46によって実行中のスクリプトが文書データにアクセスする際に、そのスクリプトと同じ取得元の取得元別文書構造データのみをアクセス可能とし、スクリプト実行部46が文書データ331を更新する場合に取得元別文書構造データと参照情報を参照して全体文書構造データ332を更新するとともに更新された全体文書構造データ332に基づいて取得元別文書構造データを生成し直す処理をスクリプト実行部46に実行させるためのスクリプトを付加する機能を有する。すなわち、スクリプト加工処理部437は、実施の形態1の図2の文書解析部43の取得元抽出部432、取得元別文書構造解析部433、取得元別スクリプト抽出部434、アクセス制限部435および文書データアクセス変換部436によって実行されていた処理をスクリプトとして文書データ331に付加する機能を有する。
図16は、スクリプト加工処理部によって行われる処理を示すフローチャートである。スクリプト加工処理部は、Webブラウザ32が文書データ331を取得すると、最初に文書データ331に含まれるスクリプト中で定義される変数名と関数名について、同じ文書データ331に同じ名称となる変数名と関数名が存在しないように名称を変更する(ステップS41)。この変数名と関数名の変更の一例として、たとえばスクリプトの取得元を表すURLなどの情報を変数名や関数名に付加する方法がある。図17は変数名の変更の一例を示す図である。この図17に示される例は、スクリプト中の変数を「src + 取得元URLのアスキー(ASCII)コード16進数 + _ + 変数」の形に置換する場合を示しており、具体例として図12に示されるスクリプト中の変数xを置換する場合を挙げている。図12に示されるスクリプトの取得元のURLは「http://underground.example.jp/bbs/」であるので、これをアスキーコード16進数で表現したものは、「687474703A2F2F756E64657267726F756E646578616D706C652E6A702F6262732F」となる。したがって、スクリプト加工処理部437によって、図12に示されるスクリプト中の変数「x」は「src687474703A2F2F756E64657267726F756E646578616D706C652E6A702F6262732F_x」に変換される。なお、これは一例であり、文書データ331中に含まれるスクリプト変数や関数を一意に識別することができるものであれば、変数名や関数名をどのように変換してもよい。
つぎに、取得元別文書構造データ334を作成するスクリプトを文書データ331に追加する処理を行う(ステップS42)。このスクリプトは、全体文書構造解析部431によって全体文書構造データ332が生成される際に同時に実行される。このとき、スクリプトによって作成される取得元別文書構造データには、全体文書構造データ332との対応関係を示す参照情報が付加される。そして、スクリプト実行部46によって全体文書構造データ332への参照や更新の処理を記したスクリプトを文書データ331に追加する処理を行う(ステップS43)。これは、スクリプト解釈部462がスクリプトの実行時に文書データ331への参照処理を行う場合に、スクリプト解釈部462は実行されるスクリプトと同じ取得元の取得元別文書構造データを参照し、さらにその取得元別文書構造データに付加されている参照情報を用いて全体文書構造データ332を参照するようにするものである。また、スクリプト解釈部462がスクリプトの実行時に文書データ331の更新処理を行う場合にも、同様に取得元別文書構造データを参照し、そこに付加されている参照情報を用いて全体文書構造データ332を更新するとともに更新された全体文書構造データ332に基づいて取得元別文書構造データを生成し直すようにするものである。このようにして、スクリプト加工処理部437によるスクリプトの加工処理が終了する。
記憶部33に記憶されるスクリプトデータ336aとスクリプト変数データ337aは、実施の形態1では、取得元別に格納されるようにしていたが、実施の形態2ではスクリプト加工処理部437によってスクリプト変数と関数の名称が文書データ331内で一意に識別されるように変更されているので、取得元別に分類する必要はない。また、スクリプト変数データ337aには、全体文書構造データ332の作成を入力として実行されるスクリプトによって生成される取得元別文書構造データと参照情報が格納される。そのため、スクリプト解釈部462によって文書データ331への参照処理や更新処理が行われる場合には、スクリプト解釈部462はスクリプト変数データ中の取得元別文書構造データや参照情報を参照することになる。
このように、スクリプト加工処理部を設けることによって、上述した実施の形態1の文書解析部43で行っていたスクリプトが参照する取得元別文書構造データを、該スクリプトの取得元と同一の取得元別文書構造データ334に限る処理を、スクリプトの記述によって置き換えることが可能となる。なお、この実施の形態2によるスクリプト付き文書処理装置3における動作は、実施の形態1の図3と図5のフローチャートに示される処理と基本的に同一であるので、その説明を省略する。
この実施の形態2によれば、文書データ331に含まれるスクリプトで定義される変数名や関数名を取得元ごとに識別できるように変更したので、これらの変数名や関数名が使用されるスクリプトが一意的に定まる。その結果、文書データ331内に取得元の異なる複数のスクリプトが存在する場合でも、スクリプト変数やスクリプト関数が混ざり合うことがなく、イベントの発生に応じて正常にスクリプトが実行される。たとえば、スクリプトに想定外の入力が与えられることによって誤った処理が実行されることを防ぐことができる。
また、複数のサーバ1のコンテンツから取得した情報を有する文書データ331中の要素について、スクリプトを含む取得元ごとに取得元別文書構造データを生成し、スクリプトが実行される際には、該スクリプトと同じ取得元の取得元別文書構造データのみがアクセスされるように構成したので、スクリプトが異なる取得元の取得元別文書構造データを参照することがない。その結果、セキュリティが確保されるという効果を有する。たとえば、スクリプトがアクセス可能な文書データを転送する悪意のあるスクリプトが文書データ331に含まれていたとしても、そのスクリプトは自スクリプトと同じ取得元の取得元別文書構造データにしかアクセスすることができない。そのため、悪意のあるスクリプトを無効化することができる。
さらに、スクリプトの取得元ごとに取得元別文書構造データを生成するなどの実施の形態1で文書解析部によって行われていた処理内容をスクリプトにして、文書データ331の読み込み時に文書データ331に付加するようにしたので、スクリプト付き文書処理装置3のWebブラウザ32にはスクリプトを含む文書データ331を取得した場合でも、特別な手段を追加することなく、安全にしかも確実に取得した文書データ331の処理を行うことができるという効果も有する。
(実施の形態3)
実施の形態2では、文書取得装置2によって集約された文書データ331中のスクリプトについて、スクリプトが参照または更新する文書構造データをスクリプトと同一の取得元である取得元別文書構造データに限るようにするスクリプトを文書データ331に付加する処理を端末装置、すなわちスクリプト付き文書処理装置3側で行う場合を示したが、この実施の形態3では、その処理を行うためのスクリプトを文書取得装置2側で文書データ331に付加する場合を説明する。
図18は、本発明にかかるスクリプト付き文書処理システムの実施の形態3の概略構成を示すブロック図であり、図19は、端末装置の概略構成を示すブロック図である。実施の形態1の図1に示されるスクリプト付き文書処理システムと異なるのは文書取得装置2であり、この文書取得装置2は、実施の形態1の図1における文書取得装置2において、文書データ331に予め定められた処理を実行するためのスクリプトを付加するスクリプト加工処理部24をさらに備えることを特徴とする。このスクリプト加工処理部24は、実施の形態2のスクリプト付き文書処理装置3におけるスクリプト加工処理部437と同様の機能を有し、図16に示されるものと同一の処理を行うので、その説明を省略する。また、スクリプト付き文書処理装置3である端末装置は、実施の形態2の図15に示されるスクリプト付き文書処理装置3において、スクリプト加工処理部437が除去された構成となっている。すなわち、この実施の形態3におけるスクリプト付き文書処理装置3である端末装置は、サーバ1や文書取得装置2の提供する文書データ331を読み込み、表示することが可能なWebブラウザ32の機能を有する公知の端末装置によって構成される。
このように、スクリプト加工処理部24を文書取得装置2側に設けることによって、上述した実施の形態1の文書解析部43で行っていたスクリプトが参照する取得元別文書構造データを該スクリプトの取得元と同一の取得元別文書構造データ334に限る処理を、スクリプトの記述によって置き換えることが可能となる。また、端末装置3側にスクリプト付き文書データ331を読み込み実行するために必要な特別な機能を設ける必要がなくなる。なお、この実施の形態3によるスクリプト付き文書処理装置3における動作は、実施の形態1の図3と図5のフローチャートに示される処理と基本的に同一であるので、その説明を省略する。
この実施の形態3によれば、文書データ331中に含まれるスクリプトで定義される変数名や関数名を取得元別に識別することが可能なように変更したので、これらの変数名や関数名が使用されるスクリプトが一意的に定まる。その結果、文書データ331内に取得元の異なる複数のスクリプトが存在する場合でも、スクリプト変数やスクリプト関数が混ざり合うことがなく、イベントの発生に応じて正常にスクリプトが実行される。たとえば、スクリプトに想定外の入力が与えられることによって誤った処理が実行されることを防ぐことができる。
また、この実施の形態3によれば、文書データ331に含まれるスクリプトで定義される変数名や関数名を取得元ごとに識別できるように変更する処理や、スクリプトの取得元ごとに取得元別文書構造データを生成するなどの実施の形態1で文書解析部43によって行われていた処理内容をスクリプトにして、文書データ331の読み込み時に文書データ331に付加する処理を文書取得装置2において実行するようにしたので、スクリプト付き文書処理装置3にはスクリプトを含む文書データ331を取得した場合でも、特別な手段を追加することなく、安全にしかも確実に取得した文書データ331の処理を行うことができるという効果も有する。具体的には、個々の端末装置(スクリプト付き文書処理装置)3のWebブラウザ32にスクリプト付き文書データ331を読み込んで実行するための特別な機能を持たせる必要がなくなり、投資効率を上げることができるという効果を有する。
さらに、複数のサーバ1のコンテンツから取得した情報を有する文書データ331中の要素について、スクリプトを含む取得元ごとに取得元別文書構造データを生成し、スクリプト実行部46は実行中のスクリプトと同じ取得元の取得元別文書構造データ334のみにしかアクセスできないので、スクリプト実行部46が実行中のスクリプトと異なる取得元の取得元別文書構造データ334を参照することがない。その結果、セキュリティが確保されるという効果を有する。たとえば、スクリプト自身と異なる情報発行元のデータを盗むような悪意のあるスクリプトを取得してしまった場合でも、該悪意のあるスクリプトとは異なる取得元別文書構造データ334をスクリプト実行部46はアクセスできないので、悪意のあるスクリプトを無効化することができる。
なお、実施の形態1〜3で示した文書取得装置2によって生成されたスクリプト付き文書データを、セキュリティを高め、他の取得元のスクリプト変数や文書データ内の要素が実行されるスクリプトに入力されることを防止して処理する方法をコンピュータに実行させるためのプログラムとすることも可能である。このスクリプト付き文書処理方法をコンピュータに実行させるためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フロッピー(登録商標)ディスク、DVD(Digital Versatile DiscまたはDigital Video Disc)などのコンピュータで読み取り可能な記録媒体に記録されて提供される。また、実施の形態1〜3で示したスクリプト付き文書処理方法をコンピュータに実行させるためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
以上のように、本発明にかかるスクリプト付き文書処理装置、文書取得装置およびスクリプト付き文書処理システムは、広域のネットワーク上に公開されている複数のコンテンツを集約して予め定められた端末装置に提供するシステムに適している。
本発明によるスクリプト付き文書処理システムの概略構成を示すブロック図である。 スクリプト付き文書処理装置の主要構成を示す機能ブロック図である。 スクリプト付き文書処理装置の初期化処理の手順を示すフローチャートである。 合成装置によって生成される文書データの模式的な構成を示す図である。 全体文書構造データの一例を示す図である。 取得元一覧表の一例を示す図である。 取得元別文書構造データの一例を示す図である。 文書構造対応表の一例を示す図である。 取得元別スクリプトデータの一例を示す図である。 取得元別スクリプト変数データの一例を示す図である。 エントリポイントデータの一例を示す図である。 スクリプト付き文書処理装置のスクリプト実行処理の手順を示すフローチャートである。 図1のサーバ装置によってイントラネット内で公開されている情報のXML文書の一例を示す図である。 図1のWebサーバによって公開されている電子掲示板情報のXML文書の一例を示す図である。 図6−1〜図6−2から生成された文書データを示す図である。 ツリー構造状に展開された全体文書構造データを示す図である。 取得元一覧表を示す図である。 ツリー構造状の取得元別文書構造データを示す図である。 図10の取得元別文書構造データに対応する文書構造対応表を示す図である。 スクリプトの内容の一例を示す図である。 取得元別スクリプトデータの一例を示す図である。 取得元別スクリプト変数データの一例を示す図である。 エントリポイントデータの一例を示す図である。 図12のスクリプトの実行によって切り出される文書データ中の部分を示す図である。 本発明によるスクリプト付き文書処理装置の実施の形態2の概略構成を示すブロック図である。 スクリプト加工処理部による処理手順を示すフローチャートである。 変数名の変更の一例を示す図である。 本発明によるスクリプト付き文書処理システムの実施の形態3の概略構成を示すブロック図である。 端末装置の概略構成を示すブロック図である。
符号の説明
1a,1b Webサーバ
1c サーバ装置
2,2b 文書取得装置
3,3a,3b 端末装置
3c 合成装置付き端末装置
4 ゲートウェイ
5 LAN
6 ネットワーク
11a,11b,11c ファイル格納部
12a,12b,12c,21,42 通信部
22 文書データ生成部
23 文書データ格納部
24,437 スクリプト加工処理部
31 OS
32 Webブラウザ
33 記憶部
34 表示部
41 表示処理部
43 文書解析部
44 テキストデータ処理部
45 画像処理部
46 スクリプト実行部
47 アクセス許可判定部
331 文書データ
332 全体文書構造データ
333 取得元一覧表
334 取得元別文書構造データ
335 文書構造対応表
336 取得元別スクリプトデータ
336a スクリプトデータ
337 取得元別スクリプト変数データ
337a スクリプト変数データ
338 エントリポイントデータ
431 全体文書構造解析部
432 取得元抽出部
433 取得元別文書構造解析部
434 取得元別スクリプト抽出部
435 アクセス制限部
436 文書データアクセス変換部
461 スクリプト設定部
462 スクリプト解釈部

Claims (14)

  1. ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報が取得され、取得された個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報が付加された文書データ中に含まれるスクリプトを実行するスクリプト付き文書処理装置であって、
    前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、
    前記全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する取得元別文書構造解析手段と、
    前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データと、当該取得元と前記スクリプトを対応付けて有する取得元別スクリプトデータと、を生成するスクリプト抽出手段と、
    イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行するスクリプト実行手段と、
    前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とするアクセス制限手段と、
    を備えることを特徴とするスクリプト付き文書処理装置。
  2. 前記取得元別文書構造解析手段は、前記取得元別文書構造データを構成する要素を前記全体文書構造データ中の要素に応付ける文書構造対応情報を生成し、
    前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データの内容の更新を行う際に、前記アクセス制限手段によるアクセス先を、前記文書構造対応情報に基づいて前記取得元別文書構造データ中の要素から前記全体文書構造データ中の要素へと変換して、前記文書データの内容の更新を行うアクセス変換手段をさらに備えることを特徴とする請求項1に記載のスクリプト付き文書処理装置。
  3. ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報が取得され、取得された個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報が付加された文書データ中に含まれるスクリプトを実行するスクリプト付き文書処理装置であって、
    読み込んだ前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、
    スクリプトを実行するスクリプト実行手段と、
    前記文書データを読み込むと、該文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、前記全体文書構造データの生成時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、前記スクリプト実行手段によって実行中のスクリプトと同じ取得元の前記取得元別文書構造データのみを前記スクリプト実行手段がアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行するスクリプト加工手段と、を備え、
    前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とすること、
    を特徴とするスクリプト付き文書処理装置。
  4. 前記スクリプト加工手段は、
    前記第2の処理で生成されるスクリプトに、前記第2の処理で生成される取得元別文書構造データを構成する各要素に、前記全体文書構造データ中での対応する要素を示す参照情報を付加する処理をさらに追加し、
    前記第3の処理で生成されるスクリプトに、前記スクリプト実行手段が前記文書データの内容を更新する際に、前記スクリプト実行手段による更新先を、前記参照情報に基づいて前記取得元別文書構造データ中の要素から前記全体文書構造データ中の要素へと変換して、前記文書データの内容を更新する処理をさらに追加することを特徴とする請求項3に記載のスクリプト付き文書処理装置。
  5. 前記文書データに付加された取得元を識別する情報が、予め定められた基準に従って選択されたサーバ装置のアドレスが格納されたアクセス許可情報内のアドレスと一致するか否かを判定し、当該アドレスと一致する場合にアクセス許可と判定するアクセス許可判定手段をさらに備えることを特徴とする請求項1〜4のいずれか1つに記載のスクリプト付き文書処理装置。
  6. ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報を付加した文書データを、端末装置の要求にしたがって提供する文書取得装置であって、
    前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、
    前記端末装置による前記文書データを構成する要素間の関係を示す全体文書構造データの生成と同時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成するスクリプトを前記文書データに付加する第2の処理と、
    前記個々の情報のうち、前記端末装置によって実行中のスクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データのみを前記端末装置がアクセス可能とするスクリプトを前記文書データに付加する第3の処理と、
    を実行するスクリプト加工手段を備えることを特徴とする文書取得装置。
  7. 前記スクリプト加工手段は、
    前記第2の処理で生成されるスクリプトに、前記第2の処理で生成される取得元別文書構造データを構成する各要素に、前記全体文書構造データ中での対応する要素を示す参照情報を付加する処理をさらに追加し、
    前記第3の処理で生成されるスクリプトに、実行されるスクリプトによって前記端末装置が前記文書データの内容を更新する際に、この更新先を、前記参照情報に基づいて前記取得元別文書構造データ中の要素から前記全体文書構造データ中の要素へと変換して、前記文書データの内容を更新する処理をさらに追加することを特徴とする請求項6に記載の文書取得装置。
  8. ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報を付加して文書データを生成する文書データ生成手段を有する文書取得装置と、
    前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、
    前記文書データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類して取得元別文書構造データを生成する取得元別文書構造解析手段と、
    前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データと、当該取得元と前記スクリプトを対応付けて有する取得元別スクリプトデータと、を生成するスクリプト抽出手段と、
    イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行するスクリプト実行手段と、
    前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とするアクセス制限手段と、
    を有するスクリプト付き文書処理装置と、
    を備えることを特徴とするスクリプト付き文書処理システム。
  9. ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してサーバ装置を識別する識別情報を付加して文書データを生成する文書データ生成手段を有する文書取得装置と、
    前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段と、
    前記文書データ中のスクリプトを実行するスクリプト実行手段と、
    前記文書データを読み込むと、該文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する処理と、前記全体文書構造データの生成時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごと分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、前記スクリプト実行手段によって実行中のスクリプトが前記文書データにアクセスする際に、前記スクリプト実行手段が実行されるスクリプトを有する要素と同じ取得元の前記取得元別文書構造データのみをアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行するスクリプト加工手段と、を有し、
    前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とするスクリプト付き文書処理装置と、
    を備えることを特徴とするスクリプト付き文書処理システム。
  10. 文書取得装置と、スクリプトを実行するスクリプト実行手段を有する端末装置と、を備えるスクリプト付き文書処理システムにおいて、
    前記文書取得装置は、
    ネットワーク上の複数のサーバ装置から予め定められた条件を満たす情報を取得し、取得した個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報を付加して文書データを生成する文書データ生成手段と、
    前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、端末装置によって前記文書データを構成する要素間の関係を示す全体文書構造データの生成と同時に、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、前記端末装置が、前記スクリプト実行手段によって実行されるスクリプトと同じ取得元の前記取得元別文書構造データのみをアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行するスクリプト加工手段と、を有し
    前記端末装置は、
    前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する全体文書構造解析手段をさらに有し、
    前記スクリプト実行手段は、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とすること、
    前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者から入力されたスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とすること、
    特徴とするスクリプト付き文書処理システム。
  11. ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす情報がまとめられた文書データであって、当該情報に対してその取得元を識別する情報が付された文書データを文書取得装置から取得した端末装置が、前記文書データ中に含まれるスクリプトをスクリプト実行手段によって実行するスクリプト付き文書処理方法であって、
    前記端末装置の全体文書構造解析手段が、前記文書取得装置から取得した前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、
    前記端末装置の取得元別文書構造解析手段が、前記全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する工程と、
    前記端末装置のスクリプト抽出手段が、前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データを生成する工程と、
    前記端末装置の前記スクリプト実行手段が、イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行する工程と、
    前記端末装置のアクセス制限手段が、前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、
    を含むことを特徴とするスクリプト付き文書処理方法。
  12. ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす個々の情報がまとめられた文書データであって、当該個々の情報に対してその取得元を識別する情報が付された文書データを文書取得装置から取得した端末装置が、前記文書データ中に含まれるスクリプトをスクリプト実行手段によって実行するスクリプト付き文書処理方法であって、
    前記文書取得装置または前記端末装置のスクリプト加工手段が、前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、前記端末装置による後の工程での全体文書構造データの生成時に、該全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、後の工程で前記スクリプト実行手段によって実行されるスクリプトと同じ取得元の前記取得元別文書構造データのみを前記スクリプト実行手段がアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行する工程と、
    前記端末装置の全体文書構造解析手段が、前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、
    前記端末装置の前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者に入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、
    を含むことを特徴とするスクリプト付き文書処理方法。
  13. コンピュータの全体文書構造解析手段が、ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす情報がまとめられた文書データであって、当該情報に対してその取得元を識別する情報が付された文書データを取得すると、前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、
    前記コンピュータの取得元別文書構造解析手段が、前記全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する工程と、
    前記コンピュータのスクリプト抽出手段が、前記取得元ごとに、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置を抽出し、抽出したスクリプト実行位置と当該スクリプト実行位置で実行されるスクリプトとを対応付けて有するスクリプト実行位置データと、当該取得元と前記スクリプトを対応付けて有する取得元別スクリプトデータと、を生成する工程と、
    前記コンピュータのスクリプト実行手段が、イベントが発生すると、発生した該イベントが前記スクリプト実行位置である場合に、当該スクリプト実行位置と対応付けられている前記スクリプトを前記スクリプト実行位置データから抽出し、抽出した前記スクリプトを実行するスクリプト実行工程と、
    前記コンピュータのアクセス制限手段が、前記スクリプト実行手段によって実行中の前記スクリプトが前記文書データにアクセスする際に、前記取得元別スクリプトデータに基づいて、前記スクリプト実行手段によって実行されるスクリプトの取得元を特定し、特定された前記スクリプトの取得元と同じ取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、
    を含むスクリプト付き文書処理方法をコンピュータに実行させることを特徴とするプログラム。
  14. コンピュータのスクリプト加工手段が、ネットワーク上の複数のサーバ装置から取得した予め定められた条件を満たす個々の情報がまとめられるとともに当該個々の情報に対してその取得元を識別する情報が付された文書データを取得すると、前記文書データ内のスクリプト中の変数名と関数名とを、前記文書データ内で一意的に識別することができる名称に変換する第1の処理と、後の工程での全体文書構造データの生成時に、該全体文書構造データに基づいて、前記要素間の関係を前記文書データのうちスクリプトを有する要素の取得元ごとに分類した取得元別文書構造データを生成する第1のスクリプトを前記文書データに付加する第2の処理と、後の工程でのスクリプトの実行中に、コンピュータのスクリプト実行手段によって実行されるスクリプトと同じ取得元の前記取得元別文書構造データのみをアクセス可能とする第2のスクリプトを前記文書データに付加する第3の処理と、を実行する工程と、
    コンピュータの全体文書構造解析手段が、読み込んだ前記文書データを構成する要素の構造を解析し、前記要素間の関係を示す全体文書構造データを生成する工程と、
    コンピュータの前記スクリプト実行手段が、前記第2の処理により付加された前記第1のスクリプトを実行することで、前記取得文書構造データを生成し、利用者に入力されたイベントが発生した際に当該イベントが、前記文書データに含まれるスクリプトが実行される起点となるスクリプト実行位置であり、当該スクリプト実行位置で実行されるスクリプトが実行された場合に、前記第3の処理により付加された前記第2のスクリプトを実行することで、当該スクリプト実行位置で実行された当該スクリプトが前記文書データにアクセスする際に、前記個々の情報のうち、前記スクリプト実行位置で実行された前記スクリプトを含む情報に付与された前記識別する情報が示す前記取得元の前記取得元別文書構造データに対してのみアクセス可能とする工程と、
    をコンピュータに実行させることを特徴とするプログラム。
JP2003420426A 2003-12-18 2003-12-18 スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム Expired - Fee Related JP4057997B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003420426A JP4057997B2 (ja) 2003-12-18 2003-12-18 スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003420426A JP4057997B2 (ja) 2003-12-18 2003-12-18 スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム

Publications (2)

Publication Number Publication Date
JP2005182342A JP2005182342A (ja) 2005-07-07
JP4057997B2 true JP4057997B2 (ja) 2008-03-05

Family

ID=34781953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003420426A Expired - Fee Related JP4057997B2 (ja) 2003-12-18 2003-12-18 スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム

Country Status (1)

Country Link
JP (1) JP4057997B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186160A (ja) * 2007-01-29 2008-08-14 Fuji Xerox Co Ltd 文書表示装置およびプログラム
US8272065B2 (en) * 2009-03-11 2012-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Secure client-side aggregation of web applications
JP6277828B2 (ja) 2014-03-31 2018-02-14 富士通株式会社 編集補助プログラム、編集補助方法および編集補助装置

Also Published As

Publication number Publication date
JP2005182342A (ja) 2005-07-07

Similar Documents

Publication Publication Date Title
EP3097509B1 (en) Intercepting and supervising calls to transformed operations and objects
JP4816281B2 (ja) 文書利用管理システム、文書管理サーバ及びそのプログラム
JP4636694B2 (ja) アプリケーションのコンテキストにおけるブラウザ機能の制御方法及び装置
CN102455913B (zh) 显示模板的定制
CN103176844B (zh) 一种ie6内核与新型ie内核的切换方法和系统
JP5756386B2 (ja) 動的なウェブ・アプリケーションの問題を修正するメタデータの生成・管理の支援方法、装置、およびプログラム
JP5023715B2 (ja) 情報処理システム、情報処理装置及びプログラム
US20110225482A1 (en) Managing and generating citations in scholarly work
US20100058118A1 (en) Storage medium recording information reacquisition procedure generation program and information reacquisition procedure generation apparatus
JP2011065546A (ja) ファイル検索システム及びプログラム
US8930807B2 (en) Web content management based on timeliness metadata
CN102124481A (zh) 在具有广告的网页中嵌入宏
JP4935399B2 (ja) セキュリティ運用管理システム、方法およびプログラム
JP5347429B2 (ja) ユニフォームリソースロケータ書換方法及び装置
JP2008090404A (ja) 文書検索装置、文書検索方法および文書検索プログラム
US8954438B1 (en) Structured metadata extraction
CN111045654A (zh) 基于Vue快速生成常用指令的方法、装置、计算机设备及存储介质
US20090150766A1 (en) Systems, methods and computer program products for applying styles from elements included in an existing page
JP5354981B2 (ja) 文書管理装置、文書管理方法及びプログラム
JP4057997B2 (ja) スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム
US20040064788A1 (en) System and method for generating source code for an XML application
JP5712496B2 (ja) アノテーション復元方法、アノテーション付与方法、アノテーション復元プログラム及びアノテーション復元装置
JP5228529B2 (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP5206634B2 (ja) 中継装置、通信中継プログラム、および通信中継方法
JP2009251655A (ja) フィルタリング装置、フィルタリング方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071214

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees