(57)【特許請求の範囲】
【請求項１】
オブジェクトに対してユーザから操作の指示がなされた際、該オブジェクトが保持しているスクリプトに定義された処理を実行する文書処理装置において、
複数のスクリプト記述言語を各々解釈するための言語別の複数のスクリプト解釈手段と、
前記複数のスクリプト解釈手段のいずれかにより解釈されたスクリプトに定義された処理を実行するスクリプト実行手段と、
オブジェクトを指定して操作を指示する指示手段と、
前記指示手段により指定されたオブジェクトが保持しているスクリプトを記述しているスクリプト記述言語の種類を識別する言語識別手段と、
前記複数のスクリプト解釈手段の中に、前記言語識別手段により識別されたスクリプト記述言語の種類に対応するスクリプト解釈手段が存在する場合は、当該対応するスクリプト解釈手段に、前記指示されたオブジェクトが保持しているスクリプトを解釈させ、当該解釈されたスクリプトに定義された処理を前記スクリプト実行手段により実行させるように制御し、前記複数のスクリプト解釈手段の中に対応するスクリプト解釈手段が存在しない場合は、他の文書処理装置に前記スクリプトを送信して解釈を依頼し、当該他の文書処理装置から解釈結果を受信して、当該解釈結果において解釈されたスクリプトに定義された処理を前記スクリプト実行手段により実行させるように制御する制御手段と
を備えたことを特徴とする文書処理装置。
【請求項２】
前記複数のスクリプト解釈手段の各々は、スクリプトの解釈結果として、当該複数のスクリプト解釈手段で共通の中間言語で記述されたスクリプトを出力し、前記実行手段は、当該中間言語で記述されたスクリプトに定義された処理を実行することを特徴とする請求項１記載の文書処理装置。
【請求項３】
オブジェクトに対してユーザから操作の指示がなされた際、該オブジェクトが保持しているスクリプトに定義された処理を実行する文書処理装置における文書処理方法であって、
オブジェクトを指定して操作を指示する指示工程と、
前記指示工程において指定されたオブジェクトが保持しているスクリプトを記述しているスクリプト記述言語の種類を識別する言語識別工程と、
複数のスクリプト記述言語を各々解釈するための言語別の複数のスクリプト解釈部の中に、前記言語識別工程で識別されたスクリプト記述言語の種類に対応するスクリプト解釈部が存在する場合は、当該対応するスクリプト解釈部に、前記指示されたオブジェクトが保持しているスクリプトを解釈させ、前記複数のスクリプト解釈部の中に対応するスクリプト解釈部が存在しない場合は、他の文書処理装置に前記スクリプトを送信して解釈を依頼し、当該他の文書処理装置から解釈結果を受信するスクリプト解釈工程と、
前記スクリプト解釈工程において解釈されたスクリプトに定義された処理を実行するスクリプト実行工程と
を備えたことを特徴とする文書処理方法。
【請求項４】
前記複数のスクリプト解釈手段の各々は、スクリプトの解釈結果として、当該複数のスクリプト解釈手段で共通の中間言語で記述されたスクリプトを出力し、前記実行工程は、当該中間言語で記述されたスクリプトに定義された処理を実行することを特徴とする請求項３記載の文書処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、オブジェクトに対してユーザ操作がなされた際、該オブジェクトが保持しているスクリプトに定義された処理を実行する文書処理装置及びその方法に関する。
【０００２】
【従来技術】
従来、ハイパーテキスト機能を備えた文書処理装置が知られている。ハイパーテキストでは、オブジェクトに対してなされたユーザ操作に応答してどのような処理を行うかが記述されたスクリプトを持つことができる。そして、ユーザがオブジェクトに対して或る操作を行うと、スクリプトが解釈され、ユーザが行った操作に対する処理が定義されているか否かを判別し、定義されている場合には、スクリプトに記述されている処理が実行される。このスクリプトは、システム固有の記述言語で記述されなければならない。
【０００３】
【発明が解決しようとする課題】
しかし、従来の文書処理装置にあっては、スクリプトを記述する言語を１つしか持つことができないため、次のような問題があった。すなわち、
（１）  ユーザの好みのスクリプト記述言語を選択できない
ユーザは、文書処理装置で提供されているスクリプト記述言語が自分の好みに合わない場合でも、提供されているスクリプト記述言語を使用せざるを得ない。（２）  他国語に対応する文書処理装置としたとしても、スクリプト記述言語を他国語対応とすることができない
例えば、日本語、英語、フランス語に対応した文書処理装置であっても、スクリプト記述言語は１つしか存在しないため、日本人であっても、スクリプトを記述するときは、英語を基にしたスクリプト記述言語を使用せざるをえない。
【０００４】
本発明は、このような背景の下になされたもので、その目的は、複数のスクリプト記述言語を利用し得る文書処理装置を提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、本発明は、オブジェクトに対してユーザから操作の指示がなされた際、該オブジェクトが保持しているスクリプトに定義された処理を実行する文書処理装置において、複数のスクリプト記述言語を各々解釈するための言語別の複数のスクリプト解釈手段と、前記複数のスクリプト解釈手段のいずれかにより解釈されたスクリプトに定義された処理を実行するスクリプト実行手段と、オブジェクトを指定して操作を指示する指示手段と、前記指示手段により指定されたオブジェクトが保持しているスクリプトを記述しているスクリプト記述言語の種類を識別する言語識別手段と、前記複数のスクリプト解釈手段の中に、前記言語識別手段により識別されたスクリプト記述言語の種類に対応するスクリプト解釈手段が存在する場合は、当該対応するスクリプト解釈手段に、前記指示されたオブジェクトが保持しているスクリプトを解釈させ、当該解釈されたスクリプトに定義された処理を前記スクリプト実行手段により実行させるように制御し、前記複数のスクリプト解釈手段の中に対応するスクリプト解釈手段が存在しない場合は、他の文書処理装置に前記スクリプトを送信して解釈を依頼し、当該他の文書処理装置から解釈結果を受信して、当該解釈結果において解釈されたスクリプトに定義された処理を前記スクリプト実行手段により実行させるように制御する制御手段とを備えている。
【０００６】
また、本発明では、前記複数のスクリプト解釈手段の各々は、スクリプトの解釈結果として、当該複数のスクリプト解釈手段で共通の中間言語で記述されたスクリプトを出力し、前記スクリプト実行手段は、当該中間言語で記述されたスクリプトに定義された処理を実行している。
【０００８】
また、本発明は、オブジェクトに対してユーザから操作の指示がなされた際、該オブジェクトが保持しているスクリプトに定義された処理を実行する文書処理装置における文書処理方法であって、オブジェクトを指定して操作を指示する指示工程と、前記指示工程において指定されたオブジェクトが保持しているスクリプトを記述しているスクリプト記述言語の種類を識別する言語識別工程と、複数のスクリプト記述言語を各々解釈するための言語別の複数のスクリプト解釈部の中に、前記言語識別工程で識別されたスクリプト記述言語の種類に対応するスクリプト解釈部が存在する場合は、当該対応するスクリプト解釈部に、前記指示されたオブジェクトが保持しているスクリプトを解釈させ、前記複数のスクリプト解釈部の中に対応するスクリプト解釈部が存在しない場合は、他の文書処理装置に前記スクリプトを送信して解釈を依頼し、当該他の文書処理装置から解釈結果を受信するスクリプト解釈工程と、前記スクリプト解釈工程において解釈されたスクリプトに定義された処理を実行するスクリプト実行工程とを備えている。
【０００９】
また、本発明では、前記複数のスクリプト解釈部の各々は、スクリプトの解釈結果として、当該複数のスクリプト解釈部で共通の中間言語で記述されたスクリプトを出力し、前記スクリプト実行工程では、当該中間言語で記述されたスクリプトに定義された処理を実行している。
【００１１】
【実施例】
以下、本発明の実施例を図面に基づいて説明する。
【００１２】
［第１実施例］
図１は、本発明の第１実施例による文書処理装置の概略構成を示すブロック図であり、１１０はスクリプト記述言語で記述されたスクリプトをオブジェクト毎に入力するスクリプト入力部、１２０は全体の制御を行う制御部、１３０はユーザが各オブジェクトに対して操作を行う指示部、１４０はオブジェクトやスクリプトなどを記憶するための記憶部、１５０はスクリプトに記述された処理を実行するスクリプト実行部、１６０は本文書処理装置が持つ第１のスクリプト記述言語を解釈するための第１言語用スクリプト解釈部、１７０は本文書処理装置が持つ第２のスクリプト記述言語を解釈するための第２言語用スクリプト解釈部である。
【００１３】
図２は、図１の記憶部１４０に記憶されるオブジェクトのデータ構造を示す図であり、同図において、２１０はユーザの操作対象となるオブジェクト、２２０はスクリプト記述言語で記述されたスクリプト、２３０はスクリプト２２０が第１，第２のいずれのスクリプト記述言語で記述されているかを示す言語種別である。
【００１４】
次に、図１、図２を用いて、第１実施例の動作を説明する。
ユーザが指示部１３０によりオブジェクト２１０を特定し、スクリプト編集開始操作を行うと、指示部１３０から制御部１２０へスクリプト編集開始要求がなされる。制御部１２０は、スクリプト編集開始要求に応答してスクリプト入力部１１０を起動する。スクリプト入力部１１０は、起動されると、ユーザが指示部１３０により特定したオブジェクト２１０が既にスクリプト２２０を所有している場合は、そのスクリプト２２０の内容をユーザに提示して編集を促す。一方、特定されたオブジェクト２１０が未だスクリプト２２０を所有していない場合は、スクリプト２２０の新規作成およびスクリプト記述言語の選択をユーザに促す。
【００１５】
ユーザがスクリプト入力部１１０によりスクリプト２２０の新規作成、または編集を終了すると、スクリプト入力部１１０は、入力、または編集結果をオブジェクト２１０中のスクリプト２２０に格納する。スクリプト２２０の新規作成の場合は、ユーザが選択したスクリプト記述言語を示す情報を言語種別２３０に格納する。
【００１６】
ユーザが指示部１３０を用いて、或るオブジェクト２１０に対して操作Ａを行うと、操作Ａが行われたことが制御部１２０に対して通知される。通知を受けた制御部１２０は、操作Ａが行われたオブジェクト２１０内にスクリプト２２０が存在しているか否かを判別する。
【００１７】
その結果、スクリプト２２０が存在しておれば、制御部１２０は、その中の言語種別２３０に基づいて、そのスクリプト２２０が第１，第２のスクリプト記述言語のいずれにより記述されたものであるかを判別し、第１のスクリプト記述言語で記述されている場合は、第１言語用スクリプト解釈部１６０に、第２のスクリプト記述言語で記述されている場合は、第２言語用スクリプト解釈部１７０に対して、操作Ａがなされた旨を通知する。
【００１８】
通知を受けた第１言語用スクリプト解釈部１６０、または第２言語用スクリプト解釈部１７０は、スクリプト２２０（操作に対応する処理）を解釈し、操作Ａに対する処理が記述されているか否かをチェックし、記述されている場合には、その記述されている操作Ａに対する処理を実行するようスクリプト実行部１５０に要求する。この要求を受けたスクリプト実行部１５０は、要求に係る処理を実行する。
【００１９】
このように、スクリプト２２０内に言語種別２３０を持ち、この言語種別２３０に対応する言語用のスクリプト解釈部１６０，１７０によりスクリプトを解釈して、スクリプト実行部１５０により実行されるので、多数のスクリプト記述言語を使用することができ、ユーザの操作性を向上させることができる。
【００２０】
［第２実施例］
図３は、本発明の第２実施例による文書処理装置の概略構成を示すブロック図であり、第１実施例におけるスクリプト入力部１１０、制御部１２０、指示部１３０、記憶部１４０、スクリプト実行部１５０、第１言語用スクリプト解釈部１６０、第２言語用スクリプト解釈部１７０の他に、本文書処理装置が持つ第ｎ（ｎ＝３，４，５，…ｎ）のスクリプト記述言語を解釈するための第ｎ言語用スクリプト解釈部３２０と、第１，第２，第ｎ言語用スクリプト解釈部１６０，１７０，３２０などのスクリプト解釈部群を管理するスクリプト解釈管理部３１０とを有している。
【００２１】
図４は、スクリプト解釈管理表４１０であり、このスクリプト解釈管理表４１０は、記憶部１４０内のスクリプトが記述されているスクリプト記述言語と、それを解釈するためのスクリプト解釈部を対応させるための管理表であり、スクリプト解釈管理部３１０は、このスクリプト解釈管理表４１０を用いて、複数のスクリプト解釈部の中から操作が行われた旨を通知すべきスクリプト解釈部を１つだけ特定する。なお、このスクリプト解釈管理表４１０は、記憶部１４０に記憶されている。
【００２２】
次に、図２、図３、図４を用いて、第２実施例の動作を説明する。
装置が起動されると、制御部１２０は、スクリプト解釈管理部３１０に対してスクリプト解釈部群の初期化を指示する。すると、スクリプト解釈管理部３１０は、記憶部１４０内のスクリプト解釈管理表４１０に記述されているスクリプト解釈部群（図３に示した第１言語用スクリプト解釈部１６０，第２言語用スクリプト解釈部１７０，第ｎ言語用スクリプト解釈部３２０等）を起動する。そして、スクリプトの新規作成、または編集が行われるが、この動作は第１実施例と同様である。
【００２３】
次に、ユーザが指示部１３０を用いて、或るオブジェクト２１０に対して操作Ａを行うと、第１実施例と同様に、操作Ａが行われたことが制御部１２０に対して通知される。通知を受けた制御部１２０は、その通知をスクリプト解釈管理部３１０に転送する。スクリプト解釈管理部３１０は、操作Ａが行われた旨の通知を受けとると、操作Ａが行われたオブジェクト２１０内にスクリプト２２０が存在しているか否かを判別する。
【００２４】
その結果、スクリプト２２０が存在しておれば、スクリプト解釈管理部３１０は、その中の言語種別２３０に基づいて、そのスクリプト２２０が第１，第２，…第ｎのスクリプト記述言語のいずれにより記述されたものであるかを判別する。そして、スクリプト解釈管理表４１０を参照して、判別したスクリプト記述言語に対応するスクリプト解釈部を特定し、そのスクリプト解釈部にスクリプト２２０対して、操作Ａがなされた旨を通知する。
【００２５】
通知を受けたスクリプト解釈部１６０は、第１実施例と同様に、スクリプト２２０を解釈し、操作Ａに対する処理が記述されているか否かをチェックし、記述されている場合には、その記述されている操作Ａに対する処理を実行するようスクリプト実行部１５０に要求する。この要求を受けたスクリプト実行部１５０は、要求に係る処理を実行する。
【００２６】
スクリプト解釈管理部３１０により判別されたスクリプト記述言語がスクリプト解釈管理表４１０に存在しない場合、または、ユーザが指示部１３０によりスクリプト解釈部を追加する指示を出した場合は、スクリプト解釈管理部３１０は、ユーザにスクリプト記述言語と、その言語に対するスクリプト解釈部を指定するよう促す。それに応答して、ユーザがスクリプト記述言語とスクリプト解釈部を指定すると、スクリプト解釈管理部３１０は、スクリプト解釈管理表４１０に指定に係るスクリプト記述言語とスクリプト解釈部の対を追加する。
【００２７】
指示部１３０により、ユーザからスクリプト記述言語の削除が指示されると、スクリプト解釈管理部３１０は、スクリプト解釈管理表４１０から指定に係るスクリプト記述言語に対するエントリを削除する。
【００２８】
［第３実施例］
上記第１，第２実施例では、スクリプト解釈部がスクリプト実行部に直接実行要求を出していたが、中間言語を介在させて実行させることも可能である。
【００２９】
図５は、第３実施例におけるスクリプト解釈部とスクリプト実行部との関係を示した図であり、第１言語用スクリプト解釈部１６０、第２言語用スクリプト解釈部１７０、第ｎ言語用スクリプト解釈部３２０とスクリプト実行部１５０との間には、第１言語用，第２言語用，第ｎ言語用の各スクリプト解釈部１６０，１７０，３２０からスクリプト実行部１５０に対し、スクリプト２２０の内容を伝えるための中間言語スクリプト５１０が介在している。なお、その他の構成は第２実施例と同様である。
【００３０】
次に、図５を用いて、第３実施例におけるスクリプト解釈部群とスクリプト実行部１５０の動作を説明する。なお、他の構成要素の動作は第２実施例と同様である。
【００３１】
第１言語で記述されたスクリプトが第１言語用スクリプト解釈部１６０に与えられた場合、第１言語で記述されたスクリプトは、第１言語用スクリプト解釈部１６０により、同じ意味を持つ中間言語スクリプト５１０に翻訳されて、そのときの操作内容と共にスクリプト実行部１５０に与えられる。すると、スクリプト実行部１５０は、中間言語スクリプト５１０を解釈し、与えられた操作内容に対する処理が中間言語スクリプト５１０に記述されておれば、その処理を実行する。
【００３２】
［第４実施例］
スクリプト記述言語を解釈するスクリプト解釈部は、同一装置上に存在する必要はなく、他の装置上に存在するスクリプト解釈部によってスクリプトの解釈を行うことも可能である。
【００３３】
図６は、第４実施例による文書処理システムの概略構成を示すブロック図であり、文書処理装置Ａと文書処理装置Ｂとを有している。文書処理装置Ａは、スクリプト入力部１１０、制御部１２０、指示部１３０、記憶部１４０、スクリプト実行部１５０、第１言語用スクリプト解釈部１６０、第２言語用スクリプト解釈部１７０、スクリプト解釈管理部３１０、および通信部６３０を有している。また、文書処理装置Ｂは、スクリプト入力部１１０、制御部１２０、指示部１３０、記憶部１４０、スクリプト実行部１５０、第ｎ言語用スクリプト解釈部３２０、スクリプト解釈管理部３１０、および通信部６３０を有している。
【００３４】
すなわち、スクリプト解釈部としては、文書処理装置Ａは、第１言語用スクリプト解釈部１６０と第２言語用スクリプト解釈部１７０とを有しているのに対し、文書処理装置Ｂは、第ｎ言語用スクリプト解釈部３２０を有している。そして、両装置Ａ，Ｂは、通信部６３０を介して相互にデータ通信可能になっている。
【００３５】
次に、図２、図４、図５、図６を用いて第４実施例の動作を説明する。なお、本実施例では、スクリプトが解釈されてから実行するまでの間の動作以外の動作は、第３実施例と同様である。
【００３６】
文書処理装置Ａのユーザが第ｎ言語で記述されたスクリプトを持つオブジェクトを操作する場合、文書処理装置Ａでは、スクリプト解釈管理部３１０に対して、オブジェクト２１０のスクリプト２２０を解釈するよう要求がなされる。そこで、スクリプト解釈管理部３１０は、スクリプト２２０の言語種別２３０によりスクリプト２２０が第ｎ言語で記述されていることを認識すると、自装置Ａ内のスクリプト解釈管理表４１０を参照して第ｎ言語を解釈できるスクリプト解釈部が自装置Ａ内に存在するか否かをチェックする。
【００３７】
第ｎ言語を解釈できるスクリプト解釈部が自装置Ａ内に存在しない場合は、通信部６３０を介して、文書処理装置Ｂのスクリプト解釈管理部３１０に対して、スクリプトの解釈を要求する。すると、文書処理装置Ｂのスクリプト解釈管理部３１０は、文書処理装置Ａで行われたと同様に、自装置Ｂ内のスクリプト解釈管理表４１０を参照して第ｎ言語を解釈できるスクリプト解釈部、すなわち第ｎ言語用スクリプト解釈部３２０が自装置Ｂ内に存在するか否かをチェックする。
【００３８】
第ｎ言語用スクリプト解釈部３２０が自装置Ｂ内に存在する場合、スクリプト解釈管理部３１０は、第ｎ言語用スクリプト解釈部３２０に対して、スクリプト２２０の解釈を要求する。要求を受けた第ｎ言語用スクリプト解釈部３２０は、スクリプト２２０を中間言語スクリプト５１０に翻訳してスクリプト解釈管理部３１０に返す。
【００３９】
すると、スクリプト解釈管理部３１０は、受け取った中間言語スクリプト５１０を、通信部６３０を介して文書処理装置Ａのスクリプト解釈管理部３１０に送信する。文書処理装置Ａのスクリプト解釈管理部３１０は、受け取った中間言語スクリプト５１０をスクリプト実行部１５０に転送し、操作内容に対してスクリプトに記述された処理を実行させる。
【００４０】
【発明の効果】
以上説明したように、本発明の文書処理装置及びその方法によれば、複数のスクリプト記述言語を使用することができ、例えば、ユーザの好みのスクリプト記述言語を使用できるなど、ユーザの利便性を向上させることができる。その際、自装置に必要なスクリプト記述言語の種類に対応するスクリプト解釈部が存在しない場合に、他の文書処理装置にスクリプトを送信して解釈を依頼し、当該他の文書処理装置から解釈結果を受信することで、他の装置のスクリプト解釈部を利用できるようになり、他の装置の資源を有効利用してより多くのスクリプト記述言語を使用することが可能となる。
【００４１】
また、言語別のスクリプトの解釈結果として、共通の中間言語で記述されたスクリプトを出力する態様によれば、言語別のスクリプトの解釈において直接実行要求を行なわずに済む。
【図面の簡単な説明】
【図１】本発明の第１実施例による文書処理装置の概略構成を示すブロック図である。
【図２】オブジェクトのデータ構造を示す図である。
【図３】本発明の第２実施例による文書処理装置の概略構成を示すブロック図である。
【図４】スクリプト解釈管理表を示す図である。
【図５】本発明の第３実施例におけるスクリプト解釈部とスクリプト実行部との関係を示す図である。
【図６】本発明の第４実施例による文書処理装置（システム）の概略構成を示すブロック図である。
【符号の説明】
１１０…スクリプト入力部
１２０…制御部
１３０…指示部
１４０…記憶部
１５０…スクリプト実行部
１６０…第１言語用スクリプト解釈部
１７０…第２言語用スクリプト解釈部
２１０…オブジェクト
２２０…スクリプト
２３０…言語種別
３１０…スクリプト解釈管理部
３２０…第ｎ言語用スクリプト解釈部
４１０…スクリプト解釈管理表
５１０…中間言語スクリプト
６３０…通信部
【図１】
0003595564.tif 000002
【図２】
0003595564.tif 000003
【図３】
0003595564.tif 000004
【図４】
0003595564.tif 000005
【図５】
0003595564.tif 000006
【図６】
0003595564.tif 000007