JPWO2005098658A1 - 文書処理装置及び文書処理方法 - Google Patents
文書処理装置及び文書処理方法 Download PDFInfo
- Publication number
- JPWO2005098658A1 JPWO2005098658A1 JP2006512107A JP2006512107A JPWO2005098658A1 JP WO2005098658 A1 JPWO2005098658 A1 JP WO2005098658A1 JP 2006512107 A JP2006512107 A JP 2006512107A JP 2006512107 A JP2006512107 A JP 2006512107A JP WO2005098658 A1 JPWO2005098658 A1 JP WO2005098658A1
- Authority
- JP
- Japan
- Prior art keywords
- document
- data
- unit
- calculation
- calculation formula
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
マークアップ言語により記述された文書に含まれるデータを有効に利用する技術を提供する。文書処理装置100は、HTML文書を表示/編集するHTMLユニット150、SVG文書を表示/編集するSVGユニット160など、ボキャブラリごとに、表示/編集を行う処理系をプラグインにより実現する。計算ユニット190は、計算式を記述するためのボキャブラリを処理するプラグインであり、処理対象となる文書に含まれる構成要素の属性値に、他のデータを参照した計算式が記述されているときに、参照先のデータを取得して計算式を実行し、計算結果をその構成要素の要素値に代入する。
Description
本発明は、文書処理技術に関し、特に、マークアップ言語により記述された文書を処理する文書処理装置及び文書処理方法に関する。
XMLは、ネットワークなどを介して他者とデータを共有するのに適した形式として注目されており、XML文書を作成、表示、編集するためのアプリケーションが開発されている(たとえば、特許文献1参照)。XML文書は、文書型定義などにより定義されたボキャブラリ(タグセット)に基づいて作成されている。
特開2001−290804号公報
従来、あるアプリケーションで作成した文書中に、他のアプリケーションで作成したデータや文書などが埋め込まれている場合、埋め込まれたデータはいわゆるブラックボックスとして扱われ、内容を参照することができなかった。しかしながら、文書中のデータを有効利用するためには、任意のデータを参照可能とする技術が求められる。
本発明はこうした状況に鑑みてなされたものであり、その目的は、マークアップ言語により記述された文書に含まれるデータを有効に利用するための技術を提供することにある。
本発明のある態様は、文書処理装置に関する。この文書処理装置は、マークアップ言語により記述された文書を表示し、ユーザによる前記文書の編集を受け付けるための処理系と、前記文書に含まれる構成要素の属性値に、他のデータを参照した計算式が記述されているときに、参照先のデータを取得して前記計算式を実行し、計算結果を前記構成要素の要素値に代入する計算ユニットと、を備えることを特徴とする。
マークアップ言語は、XMLの一形態、例えば、XHTML、SVG、MathMLなどであってもよく、SGML、HTMLなどであってもよい。他のデータを参照した計算式を記述可能とすることにより、データをより有効に活用することができ、ユーザの利便性を向上させることができる。前記参照先のデータは、参照元の前記構成要素とは異なるマークアップ言語により記述されていてもよい。
前記計算式は、前記計算式を記述するためのマークアップ言語により記述されてもよい。この場合、計算ユニットは、計算式を記述するための専用のマークアップ言語を解釈して処理するプラグインとして提供されてもよい。前記計算式は、大域属性として記述されてもよい。
前記計算ユニットは、前記参照先のデータが変更されたときに、前記計算式を再実行し、計算結果を前記要素値に代入してもよい。新たな計算結果が代入された後、処理系が表示を更新してもよい。これにより、参照元のデータを適切に更新し、リアルタイムに表示に反映させることができる。
文書処理装置は、前記文書から、文書をデータとして扱うときのアクセス方法を提供するために定められた文書オブジェクトモデルに準拠した形式のデータを生成する生成部を更に備え、前記生成部は、前記文書に対応する文書オブジェクトモデルデータを生成し、前記処理系は、前記文書オブジェクトモデルデータを参照して、前記文書を表示してもよい。前記計算ユニットは、前記文書オブジェクトモデルデータの中から、前記参照先のデータを特定して取得してもよい。異なる複数のマークアップ言語により記述された文書であっても、文書オブジェクトモデルデータに変換することで、同じアクセス方法によりアクセス可能であるから、計算ユニットが参照先のデータを容易に特定し、取得することが可能となる。
本発明の別の態様は、文書処理方法に関する。この文書処理方法は、マークアップ言語により記述された文書を表示装置に表示する際に、前記文書に含まれる構成要素の属性値に、他のデータを参照した計算式が記述されているか否かを判断するステップと、前記属性値に前記計算式が記述されていたときに、参照先のデータを取得して前記計算式を実行し、計算結果を前記構成要素の要素値に代入するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、マークアップ言語により記述された文書に含まれるデータを有効に利用する技術を提供することができる。
100 文書処理装置、110 主制御ユニット、120 編集ユニット、130 DOMユニット、132 DOM提供部、134 DOM生成部、136 出力部、140 CSSユニット、150 HTMLユニット、160 SVGユニット、180 VCユニット、182 マッピング部、184 VC定義ファイル取得部、186 VC定義ファイル生成部、190 計算ユニット、192 計算定義ファイル取得部、194 実行部。
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係る文書処理装置100の構成を示す。文書処理装置100は、文書内のデータが階層構造を有する複数の構成要素に分類された構造化文書を処理するが、本実施の形態では構造化文書の一例としてXML文書を処理する例について説明する。文書処理装置100は、主制御ユニット110、編集ユニット120、DOMユニット130、CSSユニット140、HTMLユニット150、SVGユニット160、及び変換部の一例であるVCユニット180を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
図1は、本発明の第1の実施の形態に係る文書処理装置100の構成を示す。文書処理装置100は、文書内のデータが階層構造を有する複数の構成要素に分類された構造化文書を処理するが、本実施の形態では構造化文書の一例としてXML文書を処理する例について説明する。文書処理装置100は、主制御ユニット110、編集ユニット120、DOMユニット130、CSSユニット140、HTMLユニット150、SVGユニット160、及び変換部の一例であるVCユニット180を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
主制御ユニット110は、プラグインのロードや、コマンド実行のフレームワークを提供する。編集ユニット120は、XML文書を編集するためのフレームワークを提供する。文書処理装置100における文書の表示及び編集機能は、プラグインにより実現されており、文書の種別に応じて必要なプラグインが主制御ユニット110又は編集ユニット120によりロードされる。主制御ユニット110又は編集ユニット120は、処理対象となるXML文書の名前空間を参照して、XML文書がいずれのボキャブラリにより記述されているかを判別し、そのボキャブラリに対応した表示又は編集用のプラグインをロードして表示や編集を実行させる。例えば、文書処理装置100には、HTML文書の表示及び編集を行うHTMLユニット150、SVG文書の表示及び編集を行うSVGユニット160など、ボキャブラリ(タグセット)ごとに表示系及び編集系がプラグインとして実装されており、HTML文書を編集するときはHTMLユニット150が、SVG文書を編集するときはSVGユニット160が、それぞれロードされる。後述するように、HTMLとSVGの双方の構成要素を含む複合文書が処理対象となっている場合は、HTMLユニット150とSVGユニット160の双方がロードされる。
このような構成によれば、ユーザは、必要な機能のみを選択してインストールし、後から適宜機能を追加又は削除することができるので、プログラムを格納するハードディスクなどの記録媒体の記憶領域を有効に活用することができ、また、プログラム実行時にも、メモリの浪費を防ぐことができる。また、機能拡張性に優れており、開発主体としても、プラグインの形で新たなボキャブラリに対応することが可能なので開発が容易となり、ユーザとしても、プラグインの追加により容易かつ低コストにて機能を追加することができる。
編集ユニット120は、ユーザインターフェースを介してユーザから編集指示のイベントを受け付け、そのイベントを適切なプラグインなどに通知するともに、イベントの再実行(リドゥ)又は実行の取消(アンドゥ)などの処理を制御する。
DOMユニット130は、DOM提供部132、DOM生成部134、及び出力部136を含み、XML文書をデータとして扱うときのアクセス方法を提供するために定められた文書オブジェクトモデル(Document Object Model:DOM)に準拠した機能を実現する。DOM提供部132は、編集ユニット120に定義されているインタフェースを満たすDOMの実装である。DOM生成部134は、XML文書からDOMツリーを生成する。後述するように、処理対象となるXML文書が、VCユニット180により他のボキャブラリにマッピングされる場合は、マッピング元のXML文書に対応するソースツリーと、マッピング先のXML文書に対応するデスティネーションツリーが生成される。出力部136は、例えば編集終了時に、DOMツリーをXML文書として出力する。
CSSユニット140は、CSS解析部142、CSS提供部144、及びレンダリング部146を含み、CSSに準拠した表示機能を提供する。CSS解析部142は、CSSの構文を解析するパーサの機能を有する。CSS提供部144は、CSSオブジェクトの実装であり、DOMツリーに対してCSSのカスケード処理を行う。レンダリング部146は、CSSのレンダリングエンジンであり、CSSを用いてレイアウトされるHTMLなどのボキャブラリで記述された文書の表示に用いられる。
HTMLユニット150は、HTMLにより記述された文書を表示又は編集する。SVGユニット160は、SVGにより記述された文書を表示又は編集する。これらの表示/編集系は、プラグインの形で実現されており、それぞれ、文書を表示する表示部(Canvas)156、166、編集指示を含むイベントを送受信する制御部(Editlet)152、162、編集コマンドを受けてDOMに対して編集を行う編集部(Zone)154、164を備える。制御部152又は162が外部からDOMツリーの編集コマンドを受け付けると、編集部154又は164がDOMツリーを変更し、表示部156又は166が表示を更新する。これらは、MVC(Model-View-Controller)と呼ばれるフレームワークに類似する構成をとっており、概ね、表示部156及び166が「View」に、制御部152及び162が「Controller」に、編集部154及び164とDOMの実体が「Model」に、それぞれ対応する。本実施の形態の文書処理装置100では、XML文書をツリー表示形式で編集するだけでなく、それぞれのボキャブラリに応じた編集を可能とする。例えば、HTMLユニット150は、HTML文書をワードプロセッサに類似した方式で編集するためのユーザインターフェースを提供し、SVGユニット160は、SVG文書を画像描画ツールに類似した方式で編集するためのユーザインターフェースを提供する。
VCユニット180は、マッピング部182、VC定義ファイル取得部184、及びVC定義ファイル生成部186を含み、あるボキャブラリにより記述された文書を、他のボキャブラリにマッピングすることにより、マッピング先のボキャブラリに対応した表示編集用プラグインで文書を表示又は編集するためのフレームワークを提供する。本実施の形態では、この機能を、ボキャブラリコネクション(Vocabulary Connection:VC)と呼ぶ。VC定義ファイル取得部184は、マッピングの定義を記述したスクリプトファイルを取得する。このVC定義ファイルは、ノードごとに、ノード間の対応(コネクション)を記述する。このとき、各ノードの要素値や属性値の編集の可否を指定してもよい。また、ノードの要素値や属性値を用いた演算式を記述してもよい。これらの機能については、後で詳述する。マッピング部182は、VC定義ファイル取得部184が取得したVC定義ファイルを参照して、DOM生成部134にデスティネーションツリーを生成させ、ソースツリーとデスティネーションツリーの対応関係を管理する。VC定義ファイル生成部186は、ユーザがVC定義ファイルを生成するためのグラフィカルユーザインターフェースを提供する。
VCユニット180は、ソースツリーとデスティネーションツリーの間のコネクションを監視し、表示を担当するプラグインにより提供されるユーザインタフェースを介してユーザから編集指示を受け付けると、まずソースツリーの該当するノードを変更する。DOMユニット130が、ソースツリーが変更された旨のミューテーションイベントを発行すると、VCユニット180は、そのミューテーションイベントを受けて、ソースツリーの変更にデスティネーションツリーを同期させるべく、変更されたノードに対応するデスティネーションツリーのノードを変更する。デスティネーションツリーを表示/編集するプラグイン、例えばHTMLユニット150は、デスティネーションツリーが変更された旨のミューテーションイベントを受けて、変更されたデスティネーションツリーを参照して表示を更新する。このような構成により、少数のユーザにより利用されるローカルなボキャブラリにより記述された文書であっても、他のメジャーなボキャブラリに変換することで、文書を表示することができるとともに、編集環境が提供される。
文書処理装置100により文書を表示又は編集する動作について説明する。文書処理装置100が処理対象となる文書を読み込むと、DOM生成部134が、そのXML文書からDOMツリーを生成する。また、主制御ユニット110又は編集ユニット120は、名前空間を参照して文書を記述しているボキャブラリを判別する。そのボキャブラリに対応したプラグインが文書処理装置100にインストールされている場合は、そのプラグインをロードして、文書を表示/編集させる。プラグインがインストールされていない場合は、マッピング用のVC定義ファイルが存在するか否かを確認する。VC定義ファイルが存在する場合、VC定義ファイル取得部184がVC定義ファイルを取得し、その定義に従って、デスティネーションツリーが生成され、マッピング先のボキャブラリに対応するプラグインにより文書が表示/編集される。複数のボキャブラリを含む複合文書である場合は、後述するように、それぞれのボキャブラリに対応したプラグインにより、文書の該当箇所がそれぞれ表示/編集される。VC定義ファイルが存在しない場合は、文書のソース又はツリー構造を表示し、その表示画面において編集が行われる。
図2は、処理対象となるXML文書の例を示す。このXML文書は、生徒の成績データを管理するために用いられる。XML文書のトップノードである構成要素「成績」は、配下に、生徒ごとに設けられた構成要素「生徒」を複数有する。構成要素「生徒」は、属性値「名前」と、子要素「国語」、「数学」、「理科」、「社会」を有する。属性値「名前」は、生徒の名前を格納する。構成要素「国語」、「数学」、「理科」、「社会」は、それぞれ、国語、数学、理科、社会の成績を格納する。例えば、名前が「A」である生徒の国語の成績は「90」、数学の成績は「50」、理科の成績は「75」、社会の成績は「60」である。以下、この文書で使用されているボキャブラリ(タグセット)を、「成績管理ボキャブラリ」と呼ぶ。
本実施の形態の文書処理装置100は、成績管理ボキャブラリの表示/編集に対応したプラグインを有しないので、この文書をソース表示、ツリー表示以外の方法で表示するためには、前述したVC機能が用いられる。すなわち、成績管理ボキャブラリを、プラグインが用意された別のボキャブラリ、例えば、HTMLやSVGなどにマッピングするためのVC定義ファイルを用意する必要がある。ユーザ自身がVC定義ファイルを作成するためのユーザインターフェースについては後述することにして、ここでは、既にVC定義ファイルが用意されているとして説明を進める。
図3は、図2に示したXML文書をHTMLで記述された表にマッピングする例を示す。図3の例では、成績管理ボキャブラリの「生徒」ノードを、HTMLにおける表(「TABLE」ノード)の行(「TR」ノード)に対応づけ、各行の第1列には属性値「名前」を、第2列には「国語」ノードの要素値を、第3列には「数学」ノードの要素値を、第4列には「理科」ノードの要素値を、第5列には「社会」ノードの要素値を、それぞれ対応付ける。これにより、図2に示したXML文書を、HTMLの表形式で表示することができる。また、これらの属性値及び要素値は、編集可能であることが指定されており、ユーザがHTMLによる表示画面上で、HTMLユニット150の編集機能により、これらの値を編集することができる。第6列には、国語、数学、理科、社会の成績の加重平均を算出する演算式が指定されており、生徒の成績の平均点が表示される。このように、VC定義ファイルに演算式を指定可能とすることにより、より柔軟な表示が可能となり、編集時のユーザの利便性を向上させることができる。なお、第6列は、編集不可であることが指定されており、平均点のみを個別に編集することができないようにしている。このように、マッピング定義において、編集の可否を指定可能とすることにより、ユーザの誤操作を防ぐことができる。
図4は、図2に示したXML文書を図3に示した表にマッピングするためのVC定義ファイルの例を示す。このVC定義ファイルは、VC定義ファイル用に定義されたスクリプト言語により記述される。VC定義ファイルには、コマンドの定義と、表示のテンプレートが記述されている。図4の例では、コマンドとして、「生徒の追加」と「生徒の削除」が定義されており、それぞれ、ソースツリーにノード「生徒」を挿入する操作と、ソースツリーからノード「生徒」を削除する操作が対応付けられている。また、テンプレートとして、表の第1行に「名前」、「国語」などの見出しが表示され、第2行以降に、ノード「生徒」の内容が表示されることが記述されている。ノード「生徒」の内容を表示するテンプレート中、「text-of」と記述された項は「編集可能」であることを意味し、「value-of」と記述された項は「編集不可能」であることを意味する。また、ノード「生徒」の内容を表示する行のうち、第6列には、「(src:国語 + src:数学 + src:理科 + src:社会) div 4」という計算式が記述されており、生徒の成績の平均が表示されることを意味する。
図5は、図2に示した成績管理ボキャブラリで記述されたXML文書を、図3に示した対応によりHTMLにマッピングして表示した画面の例を示す。表200の各行には、左から、各生徒の名前、国語の成績、数学の成績、理科の成績、社会の成績、及び平均点が表示されている。ユーザは、この画面上で、XML文書を編集することができる。たとえば、第2行第3列の値を「70」に変更すると、このノードに対応するソースツリーの要素値、すなわち、生徒「B」の数学の成績が「70」に変更される。このとき、VCユニット180は、デスティネーションツリーをソースツリーに追従させるべく、デスティネーションツリーの該当箇所を変更し、HTMLユニット150が、変更されたデスティネーションツリーに基づいて表示を更新する。したがって、画面上の表においても、生徒「B」の数学の成績が「70」に変更され、更に、平均点が「55」に変更される。
図5に示した画面には、図4に示したVC定義ファイルに定義されたように、「生徒の追加」及び「生徒の削除」のコマンドがメニューに表示される。ユーザがこれらのコマンドを選択すると、ソースツリーにおいて、ノード「生徒」が追加又は削除される。このように、本実施の形態の文書処理装置100では、階層構造の末端の構成要素の要素値を編集するのみではなく、階層構造を編集することも可能である。このようなツリー構造の編集機能は、コマンドの形でユーザに提供されてもよい。また、例えば、表の行を追加又は削除するコマンドが、ノード「生徒」を追加又は削除する操作に対応づけられてもよい。また、他のボキャブラリを埋め込むコマンドがユーザに提供されてもよい。この表を入力用テンプレートとして、穴埋め形式で新たな生徒の成績データを追加することもできる。以上のように、VC機能により、HTMLユニット150の表示/編集機能を利用しつつ、成績管理ボキャブラリで記述された文書を編集することが可能となる。
図6は、ユーザがVC定義ファイルを生成するために、VC定義ファイル生成部186がユーザに提示するグラフィカルユーザインターフェースの例を示す。画面左側の領域202には、マッピング元のXML文書がツリー表示されている。画面右側の領域204には、マッピング先のXML文書の画面レイアウトが示されている。この画面レイアウトは、HTMLユニット150により編集可能となっており、ユーザは、画面右側の領域204において、文書を表示するための画面レイアウトを作成する。そして、例えば、マウスなどのポインティングデバイスにより、画面左側の領域202に表示されたマッピング元のXML文書のノードを、画面右側の領域204に表示されたHTMLによる画面レイアウト中へドラッグ&ドロップ操作を行うことにより、マッピング元のノードと、マッピング先のノードとのコネクションが指定される。例えば、要素「生徒」の子要素である「数学」を、HTML画面の表200の第1行第3列にドロップすると、「数学」ノードと、3列目の「TD」ノードの間にコネクションが張られる。各ノードには、編集の可否が指定できるようになっている。また、表示画面中には、演算式を埋め込むこともできる。画面の編集が終わると、VC定義ファイル生成部186は、画面レイアウトとノード間のコネクションを記述したVC定義ファイルを生成する。
XHTML、MathML、SVGなどの主要なボキャブラリに対応したビューワやエディタは既に開発されているが、図2に示した文書のようなオリジナルなボキャブラリで記述された文書に対応したビューワやエディタを開発するのは現実的でない。しかし、上記のように、他のボキャブラリにマッピングするためのVC定義ファイルを作成すれば、ビューワやエディタを開発しなくても、VC機能を利用して、オリジナルなボキャブラリで記述された文書を表示・編集することができる。
図7は、VC定義ファイル生成部186により生成された画面レイアウトの他の例を示す。図7の例では、成績管理ボキャブラリで記述されたXML文書を表示するための画面に、表200と、円グラフ206が作成されている。この円グラフ206は、SVGにより記述される。後述するように、本実施の形態の文書処理装置100は、一つのXML文書内に複数のボキャブラリを含む複合文書を処理することができるので、この例のように、HTMLで記述された表200と、SVGで記述された円グラフ206とを、一つの画面上に表示することができる。
図8は、文書処理装置100によるXML文書の編集画面の一例を示す。図8の例では、一つの画面が複数に分割されており、それぞれの領域において、処理対象となるXML文書を異なる複数の表示形式により表示している。領域210には、文書のソースが表示されており、領域212には、文書のツリー構造が表示されており、領域214には、図5に示したHTMLにより記述された表が表示されている。これらのいずれの画面上においても、文書の編集が可能であり、いずれかの画面上でユーザが編集を行うと、ソースツリーが変更され、それぞれの画面の表示を担当するプラグインが、ソースツリーの変更を反映すべく画面を更新する。具体的には、ソースツリーの変更を通知するミューテーションイベントのリスナーとして、それぞれの編集画面の表示を担当するプラグインの表示部を登録しておき、いずれかのプラグイン又はVCユニット180によりソースツリーが変更されたときに、編集画面を表示中の全ての表示部が、発行されたミューテーションイベントを受け取って画面を更新する。このとき、プラグインがVC機能により表示を行っている場合は、VCユニット180がソースツリーの変更に追従してデスティネーションツリーを変更した後、変更されたデスティネーションツリーを参照してプラグインの表示部が画面を更新する。
例えば、ソース表示及びツリー表示を、専用のプラグインにより実現している場合は、ソース表示用プラグインとツリー表示用プラグインは、デスティネーションツリーを用いず、直接ソースツリーを参照して表示を行う。この場合、いずれかの画面において編集が行われると、ソース表示用プラグインとツリー表示用プラグインは、変更されたソースツリーを参照して画面を更新し、領域214の画面を担当しているHTMLユニット150は、ソースツリーの変更に追従して変更されたデスティネーションツリーを参照して画面を更新する。
ソース表示及びツリー表示は、VC機能を利用して実現することもできる。すなわち、ソース、ツリー構造をHTMLによりレイアウトし、そのHTMLにXML文書をマッピングして、HTMLユニット150により表示してもよい。この場合、ソース形式、ツリー形式、表形式の3つのデスティネーションツリーが生成されることになる。いずれかの画面において編集が行われると、VCユニット180は、ソースツリーを変更した後、ソース形式、ツリー形式、表形式の3つのデスティネーションツリーをそれぞれ変更し、HTMLユニット150は、それらのデスティネーションツリーを参照して、3つの画面を更新する。
このように、一つの画面上に複数の表示形式で文書を表示することにより、ユーザの利便性を向上させることができる。例えば、ユーザは、ソース表示又はツリー表示により文書の階層構造を把握しつつ、表200などを用いて視覚的に分かりやすい形式で文書を表示し、編集することができる。上記の例では、一つの画面を分割して複数の表示形式による画面を同時に表示したが、一つの画面に一つの表示形式による画面を表示し、表示形式をユーザの指示により切り替え可能としてもよい。この場合、主制御ユニット110が、ユーザから表示形式の切り替え要求を受け付け、各プラグインに指示して表示を切り替える。
図9は、文書処理装置100により編集されるXML文書の他の例を示す。図9に示したXML文書では、SVG文書の「foreignObject」タグの中にXHTML文書が埋め込まれており、さらに、XHTML文書の中にMathMLで記述された数式が入っている。このような場合、編集ユニット120が、名前空間を参照して、適切な表示系に描画作業を振り分ける。図9の例では、編集ユニット120は、まず、SVGユニット160に四角形を描画させ、つづいて、HTMLユニット150にXHTML文書を描画させる。さらに、図示しないMathMLユニットに、数式を描画させる。こうして、複数のボキャブラリを包含する複合文書が適切に表示される。表示結果を図10に示す。
図10に示した編集画面において、ユーザにより文書が編集されると、編集された部分を担当するプラグイン又はVCユニット180がソースツリーを変更する。ソースツリーには、ノードごとにミューテーションイベントのリスナーを登録できるようになっており、通常は、各ノードが属するボキャブラリに対応したプラグインの表示部又はVCユニット180がリスナーとして登録される。DOM提供部132は、ソースツリーが変更されると、変更されたノードから上位の階層へたどって、登録されたリスナーがあれば、そのリスナーへミューテーションイベントを発行する。例えば、図9に示した文書において、<html>ノードの下位のノードが変更された場合、<html>ノードにリスナーとして登録されたHTMLユニット150にミューテーションイベントが通知されるとともに、その上位の<svg>ノードにリスナーとして登録されたSVGユニット160にもミューテーションイベントが通知される。このとき、HTMLユニット150は、変更されたソースツリーを参照して表示を更新する。SVGユニット160は、自身のボキャブラリに属するノードが変更されていないので、ミューテーションイベントを無視してもよい。
編集の内容によっては、HTMLユニット150による表示の更新に伴って、全体のレイアウトが変わる可能性がある。この場合は、画面のレイアウトを管理する構成、例えば最上位のノードの表示を担当するプラグインにより、プラグインごとの表示領域のレイアウトが更新される。例えば、HTMLユニット150による表示領域が以前より大きくなった場合、HTMLユニット150は、まず自身の担当する部分を描画して、表示領域の大きさを決定する。そして、画面のレイアウトを管理する構成に、変更後の表示領域の大きさを通知し、レイアウトの更新を依頼する。画面のレイアウトを管理する構成は、通知を受けて、プラグインごとの表示領域を再レイアウトする。こうして、編集された部分の表示が適切に更新されるとともに、画面全体のレイアウトが更新される。
文書編集中、カーソル(キャリッジ)の位置に応じて、表示されるメニューを切り替えてもよい。すなわち、カーソルが、SVG文書が表示された領域内に存在するときは、SVGユニット160が提供するメニュー、又はSVG文書をマッピングするためのVC定義ファイルに定義されたコマンドを表示し、カーソルが、XHTML文書が表示された領域内に存在するときは、HTMLユニット150が提供するメニュー、又はXHTML文書をマッピングするためのVC定義ファイルに定義されたコマンドを表示する。これにより、編集位置に応じて適切なユーザインターフェースを提供することができる。
複合文書において、あるボキャブラリに対応する適切なプラグイン又はマッピング用のVC定義ファイルがなかった場合は、そのボキャブラリにより記述された部分は、ソース表示又はツリー表示されてもよい。従来、ある文書に他の文書を埋め込んだ複合文書を開くとき、埋め込まれた文書を表示するアプリケーションがインストールされていないと、その内容を表示することができなかったが、本実施の形態では、表示用のアプリケーションが存在しなくても、テキストデータにより構成されたXML文書をソース表示又はツリー表示することにより内容を把握することができる。これは、テキストベースであるXMLなどの文書ならではの特徴といえる。
あるボキャブラリにより記述された文書内に、他のボキャブラリのタグを用いてもよい。このXML文書は、妥当(valid)ではないが、整形式(well-formed)であれば、有効なXML文書として処理可能である。この場合、挿入された他のボキャブラリのタグは、VC定義ファイルによりマッピングされ、VCユニット180により処理されてもよい。例えば、XHTML文書中に、「重要」、「最重要」などのタグを使用し、これらのタグで囲まれた部分を強調表示してもよいし、重要度の順にソートして表示してもよい。
データがテキストベースで記述されることの他の利点として、例えば、複合文書中の、あるボキャブラリにより記述される部分において、同一文書内の他のボキャブラリで記述された部分のデータを参照することができる。例えば、計算式などにおいて他のボキャブラリで記述されたデータを参照することもできるし、HTML文書内で検索を実行する時に、文書中のSVGなどの図に埋め込まれた文字列も検索対象とすることもできる。通常、あるアプリケーションで作成した文書中に、他のアプリケーションで作成したデータや文書などを埋め込む場合、アプリケーションは、埋め込まれたデータのフォーマットを把握しておらず、データを正しく解釈することができないので、埋め込まれたデータはいわゆるブラックボックスとして扱われ、内容を参照することができない。しかしながら、このような複合文書を扱うアプリケーションが、埋め込まれたデータのフォーマットを把握し、内容を正しく解釈することができれば、埋め込まれたデータを、文書中の他の部分から参照することが可能となる。XML文書は、テキストベースで記述されるため、上述したような機能を実現するのに適している。以下、第2の実施の形態として、このような機能を実現する文書処理装置100について説明する。
(第2の実施の形態)
図11は、本発明の第2の実施の形態に係る文書処理装置100の全体構成を示す。本実施の形態の文書処理装置100は、図1に示した第1の実施の形態の文書処理装置100の構成に加えて、他のデータを参照した計算処理を実行するプラグインである計算ユニット190を更に備える。計算ユニット190は、計算式などを記述するためのボキャブラリである「Calculation」ボキャブラリで記述された文書を処理する。計算ユニット190は、処理対象となる文書に含まれる構成要素の要素値又は属性値が、他のデータを参照した計算式により記述されているときに、参照先のデータを取得して計算式を実行し、計算結果をその要素値又は属性値に代入する。参照先のデータは、参照元と同一のボキャブラリで記述されていてもよいし、異なるボキャブラリで記述されていてもよい。また、他の文書に記述されたデータを参照してもよい。他の文書のデータを参照する場合、文書処理装置100は、参照先のデータが記述された文書を読み込んで、参照先のデータを取得すればよい。その他の構成及び動作は第1の実施の形態と同様であり、同様の構成には同じ符号を付している。
図11は、本発明の第2の実施の形態に係る文書処理装置100の全体構成を示す。本実施の形態の文書処理装置100は、図1に示した第1の実施の形態の文書処理装置100の構成に加えて、他のデータを参照した計算処理を実行するプラグインである計算ユニット190を更に備える。計算ユニット190は、計算式などを記述するためのボキャブラリである「Calculation」ボキャブラリで記述された文書を処理する。計算ユニット190は、処理対象となる文書に含まれる構成要素の要素値又は属性値が、他のデータを参照した計算式により記述されているときに、参照先のデータを取得して計算式を実行し、計算結果をその要素値又は属性値に代入する。参照先のデータは、参照元と同一のボキャブラリで記述されていてもよいし、異なるボキャブラリで記述されていてもよい。また、他の文書に記述されたデータを参照してもよい。他の文書のデータを参照する場合、文書処理装置100は、参照先のデータが記述された文書を読み込んで、参照先のデータを取得すればよい。その他の構成及び動作は第1の実施の形態と同様であり、同様の構成には同じ符号を付している。
計算ユニット190は、計算用のボキャブラリで記述された計算用の定義ファイルを取得する計算定義ファイル取得部192と、計算定義ファイルに記述された計算式を実行する実行部194とを含む。文書が読み込まれたときに、その文書に計算定義ファイルを外部参照すべき旨が記述されていた場合は、計算定義ファイル取得部192がその計算定義ファイルを取得し、実行部194が記述された計算式を実行して、計算結果を代入する。また、計算式が参照しているデータが更新されたとき、実行部194は、参照先データが格納されたノードが更新された旨のミューテーションイベントを受信し、計算式を再実行して参照元のデータに代入する。参照元のデータが更新されると、そのノードの表示を担当するプラグインが表示を更新し、計算結果が表示に反映される。
図12は、本実施の形態の文書処理装置100により処理される文書の例を示す。このXML文書は、出張旅費を申請するために用いられる。このXML文書は、旅費精算用のボキャブラリである「ryohi」と、社員データ管理用のボキャブラリである「office」とにより記述されている。文書の冒頭部分には、この文書をVC定義ファイル「ryohiseisan.vcd」を参照してVC機能により表示すべきことと、計算定義ファイル「ryohiseisan.calc」を参照して計算を実行すべきことが宣言されている。
トップノードである構成要素「ryohiseisan」は、「ryohi」ボキャブラリの構成要素であり、配下に、「office」ボキャブラリの構成要素である「person」及び「persondb」と、「ryohi」ボキャブラリの構成要素である「period」、「place」、「business」、「items」、及び「total-price」とを有している。構成要素「person」は、出張旅費の申請者のデータを格納し、配下に、申請者の所属する部門コードを格納する「department-code」、申請者の所属部署名を格納する「department- name」、申請者のランクを格納する「rank」、申請者の社員番号を格納する「number」、申請者の氏名を格納する「name」、及び申請者の電話番号を格納する「tel」を有する。構成要素「persondb」は社員のデータを格納しており、その配下に設けられた複数の構成要素「record」の属性値として、社員番号「number」、氏名「name」、電話番号「tel」がそれぞれ格納されている。構成要素「period」は出張期間を格納しており、属性値「start」に開始日が、属性値「end」に終了日が格納される。構成要素「place」は、出張の用務先を格納する。構成要素「business」は、出張の用件を格納する。構成要素「items」は出張旅費の詳細を格納しており、配下に設けられた複数の構成要素「item」の属性値として、日付「datetime」、出発地「route-start」、到着地「route-end」、種別「type」、金額「price」が格納される。構成要素「total-price」は、出張旅費の総額を格納する。出張旅費の総額は、後述するように、計算用の定義ファイルに記述された計算式にしたがって計算される。
図13は、図12に示したXML文書をVC機能により表示するためのVC定義ファイルの例を示す。VC定義ファイル「ryohisaisan.vcd」には、コマンドの定義と、表示用のテンプレートが記述されている。図13の例では、コマンドとして、「経路の追加」と「経路の削除」が定義されており、それぞれ、ソースツリーにノード「ryohi:item」を挿入する操作と、ソースツリーからノード「ryohi:item」を削除する操作が対応付けられている。表示用のテンプレートは、実際には図13に示したVC定義ファイルの「変換テンプレート」の部分に記述されているが、ここでは図14及び図15に分割して示す。
図14は、図13に示したVC定義ファイル中に記述されている表示用のテンプレートの例を示す。図12に示したXML文書は、図14に示したテンプレートにしたがってHTML文書に変換されて表示される。なお、テンプレート中、表示のスタイルを記述した部分は省略している。社員番号を格納した「office:person/office:number」には、編集可能であることを示す「text-of」が指定されており、社員の氏名を格納した「office:person/office:name」及び内線番号を格納した「office:person/office:tel」には、編集不可能であることを示す「value-of」が指定されている。後述するように、ユーザが社員番号を変更したときに、計算ユニット190が氏名及び内線番号を自動的に変更するので、氏名及び内線番号は編集不可能とされている。
図15は、図13に示したVC定義ファイル中に記述されている表示用のテンプレートのうち、出張旅費の経路の詳細を格納した構成要素「ryohi: item」を表示するためのテンプレートの例を示す。出張旅費の詳細を表示した表において、経路の詳細を表示する行のそれぞれに、経路を追加するための「追加」ボタンと、経路を削除するための「削除」ボタンが表示される。「追加」ボタンは、図13に示したVC定義ファイル中のコマンド「経路の追加」に、「削除」ボタンは、「経路の削除」に、それぞれ対応付けられており、ユーザがボタンをクリックすることにより、該当するコマンドが実行される。
図16は、図12に示したXML文書に適用される計算定義ファイルの例を示す。この計算定義ファイルは、計算式を記述するためのボキャブラリにより記述されている。最初の要素「calc:bind」には、ノード「ryohi:ryohiseisan/office:person/office: name」に、ノード「office:persondb」の配下の第「office:number」番目のノード「office:record」の属性値「name」が代入されることが記述されている。すなわち、申請者の社員番号が変更されたときに、社員名簿中に記述された、その社員番号の社員の氏名が、申請者の氏名に代入される。二番目の要素「calc:bind」には、同様に、申請者の社員番号が変更されたときに、その社員番号の社員の内線番号が、申請者の内線番号に代入されることが記述されている。三番目の要素「calc:bind」には、ノード「ryohi:ryohiseisan/ryohi: total-price」に、ノード「ryohi:item」の属性値「price」の合計値が代入されることが記述されている。すなわち、出張旅費の各詳細の金額の合計値が、出張旅費の総額に代入される。
図17は、図12に示した文書を、図13から図15に示したVC定義ファイルにしたがって表示した画面の例を示す。詳細を表示するテーブルの2行目には、図12に示した文書の要素「ryohi:items」の配下の二番目の要素「ryohi:item」の内容が表示されている。文書中では、属性値「route-start」、「route-end」、「type」には値がないが、図15に示したVC定義ファイルに記述された定義にしたがって、値がないときの代替テキストが表示されている。
図18は、図17に示した編集画面において、社員番号が変更されたときの画面の例を示す。ユーザが、申請者の社員番号の欄を「1821」から「1318」に書き換えると、まず、ソースツリーの対応するノードが「1318」に変更される。このとき、このノードが変更された旨のミューテーションイベントが計算ユニット190に対して発行される。計算ユニット190の実行部194は、ミューテーションイベントを受けて、計算定義ファイルに記述された規則にしたがって、ソースツリーを変更する。ここでは、申請者の氏名と内線番号が変更される。ソースツリーが変更されると、その旨のミューテーションイベントがVCユニット180に対して発行され、VCユニット180がデスティネーションツリーを変更する。さらに、デスティネーションツリーが変更された旨のミューテーションイベントがHTMLユニット150に対して発行され、HTMLユニット150により表示が更新される。
図19は、図17に示した編集画面において、出張の詳細項目が追加され、さらに交通費の金額が変更されたときの画面の例を示す。ユーザが、追加ボタンをクリックすると、VC定義ファイルに記述されたコマンドの定義にしたがって、ソースツリーにノード「ryohi:item」が追加され、出張の詳細項目の行が追加される。さらに、ユーザが、交通費の金額を記入すると、計算定義ファイルに記述された定義にしたがって、計算ユニット190の実行部194が出張旅費の総額を更新する。そして、上述した手順と同様に、表示が更新される。
図20は、本実施の形態の文書処理装置100により処理される文書の別の例を示す。このXML文書は、ボキャブラリ「sample」と、計算用ボキャブラリ「calculation」とにより記述されている。文書の冒頭部分には、この文書をVC定義ファイル「embed.vcd」を参照してVC機能により表示すべきことと、計算ユニット190により計算を実行すべきことが宣言されている。
トップノードである構成要素「sample」は、「sample」ボキャブラリの構成要素であり、子要素として、構成要素「value」と、構成要素「value-total-abs」と、構成要素「value-total-ref」とを含む。構成要素「value」は、計算式で参照される値を格納する。構成要素「value-total-abs」及び構成要素「value-total-ref」は、構成要素「value」の要素値の合計を格納する。構成要素「value-total-abs」及び「value-total-ref」は、それぞれ属性値「calc:expression」を含む。属性値「calc:expression」には、構成要素「value」の合計値を計算する計算式が記述されており、この計算結果が要素値として格納される。構成要素「value-total-abs」の属性値「calc:expression」には、参照先のノードが絶対パスで記述されており、構成要素「value-total-ref」の属性値「calc:expression」には、参照先のノードが相対パスで記述されているが、これらは両方とも同じノード「sample:value」を参照しているので、同じ合計値が算出される。
属性「calc:expression」は、名前空間接頭辞を付した大域(グローバル)属性として指定されている。大域属性は、任意のボキャブラリの構成要素に、同じ意味を持つ属性として指定可能である。すなわち、任意のボキャブラリの構成要素に対して、ボキャブラリ「calculation」において計算式を表現する属性「expression」として機能する。これにより、属性値として記述された計算式の値が、計算ユニット190により計算され、その構成要素の要素値に代入される。
図21は、図20に示したXML文書をVC機能により表示するためのVC定義ファイルの例を示す。VC定義ファイル「embed.vcd」には、コマンドの定義と、表示用のテンプレートが記述されている。図20の例では、コマンドとして、「ノードの削除」と「式属性削除スクリプト」が定義されており、それぞれ、ソースツリーからノード「sample:sample/sample:value-total-abs」を削除する操作と、ノード「sample:sample/sample:value-total-abs」から、計算式を記述した属性「calc:expression」を削除する操作が対応付けられている。
図22は、図20に示した文書を、図21に示したVC定義ファイルにしたがって表示した画面の例を示す。計算用プラグインにより計算された、一番目の構成要素「sample:value」の要素値「100」、二番目の構成要素「sample:value」の要素値「200」、三番目の構成要素「sample:value」の要素値「300」の合計値が、計算ユニット190の実行部194により計算され、構成要素「sample:value- total-abs」及び「value-total-ref」に代入されて表示されている。
図23は、図22に示した編集画面において、サンプル値1が変更されたときの画面の例を示す。ユーザが、サンプル値1の欄を「100」から「500」に書き換えると、まず、ソースツリーの対応するノード「sample:sample/sample:value」の要素値が「500」に変更される。このとき、このノードが変更された旨のミューテーションイベントが計算ユニット190に対して発行される。計算ユニット190の実行部194は、ミューテーションイベントを受けて、構成要素「sample:sample/sample:value-total-abs」及び構成要素「sample: sample/sample:value-total-ref」の属性値に記述された計算式にしたがって、ソースツリーを変更する。ここでは、サンプル値の合計値が変更される。ソースツリーが変更されると、その旨のミューテーションイベントがVCユニット180に対して発行され、VCユニット180がデスティネーションツリーを変更する。さらに、デスティネーションツリーが変更された旨のミューテーションイベントがHTMLユニット150に対して発行され、HTMLユニット150により表示が更新される。
このように、本実施の形態の文書処理装置100によれば、計算定義ファイルに記述された計算式や、XML文書の構成要素に大域属性として記述された計算式において、他の任意のデータを参照することができる。これにより、文書内のデータを有効に活用することが可能となる。計算式は、任意の形式であってよく、例えば、複数の構成要素の間でデータを同期させるために、同一のデータを代入させる計算式であってもよいし、算術式、文字列の操作などであってもよい。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施の形態では、XML文書を処理する例について説明したが、本実施の形態の文書処理装置100は、他のマークアップ言語、例えば、SGML、HTMLなどで記述された文書も同様に処理可能である。
本発明は、マークアップ言語により記述された文書を処理する文書処理装置に利用可能である。
Claims (9)
- マークアップ言語により記述された文書を表示し、ユーザによる前記文書の編集を受け付けるための処理系と、
前記文書に含まれる構成要素の属性値に、他のデータを参照した計算式が記述されているときに、参照先のデータを取得して前記計算式を実行し、計算結果を前記構成要素の要素値に代入する計算ユニットと、
を備えることを特徴とする文書処理装置。 - 前記計算式は、前記計算式を記述するためのマークアップ言語により記述されることを特徴とする請求項1に記載の文書処理装置。
- 前記計算式は、大域属性として記述されることを特徴とする請求項1又は2に記載の文書処理装置。
- 前記参照先のデータは、参照元の前記構成要素とは異なるマークアップ言語により記述されることを特徴とする請求項1から3のいずれかに記載の文書処理装置。
- 前記計算ユニットは、前記参照先のデータが変更されたときに、前記計算式を再実行し、計算結果を前記要素値に代入することを特徴とする請求項1から4のいずれかに記載の文書処理装置。
- 前記文書から、文書をデータとして扱うときのアクセス方法を提供するために定められた文書オブジェクトモデルに準拠した形式のデータを生成する生成部を更に備え、
前記生成部は、前記文書に対応する文書オブジェクトモデルデータを生成し、
前記処理系は、前記文書オブジェクトモデルデータを参照して、前記文書を表示することを特徴とする請求項1から5のいずれかに記載の文書処理装置。 - 前記計算ユニットは、前記文書オブジェクトモデルデータの中から、前記参照先のデータを特定して取得することを特徴とする請求項6に記載の文書処理装置。
- マークアップ言語により記述された文書を表示装置に表示する際に、前記文書に含まれる構成要素の属性値に、他のデータを参照した計算式が記述されているか否かを判断するステップと、
前記属性値に前記計算式が記述されていたときに、参照先のデータを取得して前記計算式を実行し、計算結果を前記構成要素の要素値に代入するステップと、
を含むことを特徴とする文書処理方法。 - コンピュータに、
マークアップ言語により記述された文書を表示装置に表示する際に、前記文書に含まれる構成要素の属性値に、他のデータを参照した計算式が記述されているか否かを判断する機能と、
前記属性値に前記計算式が記述されていたときに、参照先のデータを取得して前記計算式を実行し、計算結果を前記構成要素の要素値に代入する機能と、
を実現させることを特徴とするコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004114710 | 2004-04-08 | ||
JP2004114710 | 2004-04-08 | ||
PCT/JP2005/006796 WO2005098658A1 (ja) | 2004-04-08 | 2005-04-06 | 文書処理装置及び文書処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2005098658A1 true JPWO2005098658A1 (ja) | 2008-02-28 |
Family
ID=35125267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006512107A Pending JPWO2005098658A1 (ja) | 2004-04-08 | 2005-04-06 | 文書処理装置及び文書処理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070208995A1 (ja) |
EP (1) | EP1768034A1 (ja) |
JP (1) | JPWO2005098658A1 (ja) |
CN (1) | CN1950817A (ja) |
WO (1) | WO2005098658A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1977259A (zh) * | 2004-04-08 | 2007-06-06 | 佳思腾软件公司 | 文档处理装置和文档处理方法 |
US7865820B2 (en) * | 2006-08-29 | 2011-01-04 | Sap Ag | Generating a business document model |
JP2008097215A (ja) * | 2006-10-10 | 2008-04-24 | Just Syst Corp | データ処理装置 |
ATE543164T1 (de) * | 2007-06-28 | 2012-02-15 | Ericsson Telefon Ab L M | Datensystem und -verfahren |
CN102096593B (zh) * | 2011-02-16 | 2013-11-27 | 普元技术股份有限公司 | 基于Flex技术的Web端业务流程图形化编辑框架系统及方法 |
CN104504218A (zh) * | 2015-01-08 | 2015-04-08 | 北京恒华伟业科技股份有限公司 | 一种cad图形处理方法、装置及cad软件插件 |
CN107766359B (zh) * | 2016-08-17 | 2022-03-15 | 阿里巴巴(中国)有限公司 | 一种将页面内容转换为图片的方法、装置以及计算设备 |
CN111768823B (zh) * | 2020-05-28 | 2021-04-27 | 上海森亿医疗科技有限公司 | 基于svg元素医学表达式编辑方法、装置、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005098660A1 (ja) * | 2004-04-08 | 2005-10-20 | Justsystems Corporation | 文書処理装置及び文書処理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259460A (ja) * | 1998-03-10 | 1999-09-24 | Toshiba Corp | 文書処理装置 |
GB0107784D0 (en) * | 2001-03-28 | 2001-05-16 | Hewlett Packard Co | Improvement relating to developing documents |
JP3692054B2 (ja) * | 2001-05-21 | 2005-09-07 | 株式会社東芝 | 文書構造変換方法および文書構造変換装置およびプログラム |
US20030018661A1 (en) * | 2001-07-19 | 2003-01-23 | Darugar Parand Tony | XML smart mapping system and method |
JP2003067185A (ja) * | 2001-08-14 | 2003-03-07 | Internatl Business Mach Corp <Ibm> | アプリケーション編集装置、データ処理方法及びプログラム |
JP3857663B2 (ja) * | 2002-04-30 | 2006-12-13 | 株式会社東芝 | 構造化文書編集装置、構造化文書編集方法及びプログラム |
US7228496B2 (en) * | 2002-07-09 | 2007-06-05 | Kabushiki Kaisha Toshiba | Document editing method, document editing system, server apparatus, and document editing program |
US7069504B2 (en) * | 2002-09-19 | 2006-06-27 | International Business Machines Corporation | Conversion processing for XML to XML document transformation |
US20040237040A1 (en) * | 2003-05-19 | 2004-11-25 | Malkin Wayne Allan | System and method of processing an electronic form using layered aspects |
-
2005
- 2005-04-06 JP JP2006512107A patent/JPWO2005098658A1/ja active Pending
- 2005-04-06 EP EP05728736A patent/EP1768034A1/en not_active Withdrawn
- 2005-04-06 US US11/578,126 patent/US20070208995A1/en not_active Abandoned
- 2005-04-06 CN CNA2005800119344A patent/CN1950817A/zh active Pending
- 2005-04-06 WO PCT/JP2005/006796 patent/WO2005098658A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005098660A1 (ja) * | 2004-04-08 | 2005-10-20 | Justsystems Corporation | 文書処理装置及び文書処理方法 |
Non-Patent Citations (3)
Title |
---|
JPN6009037260, 杜甫々, ウィンドウ(Window), 20020703 * |
JPN6009037261, 杜甫々, イベントハンドラ, 20010520 * |
JPN6009037262, Hiroshi Masuda, 4.合計・平均計算のページ作成, 20031231 * |
Also Published As
Publication number | Publication date |
---|---|
WO2005098658A1 (ja) | 2005-10-20 |
EP1768034A1 (en) | 2007-03-28 |
CN1950817A (zh) | 2007-04-18 |
US20070208995A1 (en) | 2007-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008234370A (ja) | 文書処理装置及び文書処理方法 | |
JPWO2005098658A1 (ja) | 文書処理装置及び文書処理方法 | |
JPWO2005098660A1 (ja) | 文書処理装置及び文書処理方法 | |
JP2008097215A (ja) | データ処理装置 | |
US20100169333A1 (en) | Document processor | |
JPWO2006051869A1 (ja) | 文書処理装置及び文書処理方法 | |
JP4566196B2 (ja) | 文書処理方法および装置 | |
JPWO2005098662A1 (ja) | 文書処理装置及び文書処理方法 | |
JPWO2005098661A1 (ja) | 文書処理装置及び文書処理方法 | |
JP4627530B2 (ja) | 文書処理方法および装置 | |
JPWO2007052680A1 (ja) | 文書処理装置及び文書処理方法 | |
JPWO2006051974A1 (ja) | 文書処理装置および文書処理方法 | |
JP4417384B2 (ja) | 文書処理装置および文書処理方法 | |
JP2007183849A (ja) | 文書処理装置 | |
JPWO2005098659A1 (ja) | 文書処理装置及び文書処理方法 | |
JP4719743B2 (ja) | グラフ処理装置 | |
JPWO2006118287A1 (ja) | 文書処理装置及び文書処理方法 | |
JP2008257277A (ja) | 文書処理装置、方法、及びプログラム | |
JP2009110338A (ja) | 文書処理装置及び文書処理方法 | |
JP2008225931A (ja) | 文書処理装置及び文書処理方法 | |
JP2007004627A (ja) | 文書処理装置 | |
JP2006139623A (ja) | 文書処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090928 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100413 |