説明

コンピュータによって生成されるドキュメントのデータの範囲を関連するXML要素にリンクする方法およびシステム

【課題】構成されたドキュメントのデータを、ドキュメントに適用されるマークアップ構造から分離し、別個に維持されたデータをドキュメントに適用される関連するマークアップ構造にリンクする。
【解決手段】XMLによって表されたドキュメント内のデータストリームを、ドキュメント構造からドキュメント構造にリンクされたデータファイル内を移動させる。データファイルおよびXMLによって表されるドキュメント構造は、単一のファイルに関連して維持されるが、別々のオブジェクトモデル内に維持される。ドキュメントに適用されるXML要素とデータファイルのデータ範囲との間にリンクが確立される。XML構造ファイルおよびデータファイルは、2つのファイルがマージされ関連するドキュメントを表示するまで、他方のファイルの構造やデータに影響を与えずに別個にアクセスし編集することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、コンピュータによって生成されるドキュメントのデータの管理に関する。より詳細には、本発明は、データファイルのデータの範囲をコンピュータによって生成されるドキュメントの関連するXML要素にリンクする方法およびシステムに関する。
【背景技術】
【0002】
コンピュータ時代が到来して、コンピュータおよびソフトウェアユーザは、ユーザがプレゼンテーションの作成、計算、構成、準備を行い、電子メールを送受信し、作曲を行うことなどを助けるユーザフレンドリーなソフトウェアアプリケーションに慣れ親しむようになっている。例えば、現代の電子文書処理アプリケーションは、ユーザが様々な有用な文書を作成するのを可能にする。現代の電子スライドプレゼンテーションアプリケーションは、ユーザがテキスト、画像、データ、または他の有用なオブジェクトを含む様々なスライドプレゼンテーションを作成するのを可能にする。
【0003】
コンピュータによって生成されるドキュメント、例えば、文書処理ドキュメントを、XML(Extensible Markup Language)などのマークアップ言語に従って構成しフォーマットすることができる。このようなドキュメントにXML構造を適用するか、またはドキュメント全体をXMLファイルとして表すと、多数の利点がもたらされる。例えば、テンプレートドキュメント内の所与のテキストまたはデータ範囲は、ある種のデータ(例えば、日付、見出し、結論、要約など)を含むように構成することができる。さらに、ドキュメント全体をXMLとして表すことによって、そのドキュメントを作成するのに用いられるすべてのアプリケーション情報を、外部ソースが解析/編集するためのテキストフォーマットで利用することができる。その後、消費者側アプリケーションは、容易にドキュメントを解析し、所望のテキスト、フォーマッティング情報、構造情報、または場合によってはデータのみを、ドキュメントと一緒に保存された実際の持続的なXMLの構造に従ってドキュメントから得て使用することができる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
残念なことに、このような構造のドキュメントの編集動作は、ドキュメント表面上のXMLタグ(マークアップ)の位置によって関連するユーザ定義スキーマファイル内のXMLインスタンス・ドキュメントの構造が決定されることによってドキュメントが制限されるため、しばしば影響を受けやすい。共通するユーザ動作(例えば、ドキュメントのある欄から別の欄へのコピー/貼付け)によって問題が起こり、ドキュメントに適用されるXML構造が破壊される恐れがある。さらに、ユーザ定義スキーマファイルから得たすべての要素を、何らかの形でドキュメント表面上に含めなければならない。このため、編集を行うユーザにデータのサブセットのみを与えることを選択し、他の用途(ワークフロー、探索、管理など)のユーザに対して残りのデータを維持することは不可能になる。他の問題には、ソリューション作成者がドキュメントに関する真のメタデータを伝達する方法としてスキーマファイルを使用できないことが含まれる。さらに、ドキュメント表面上で意味的に不要な要素(例えば、混合されたコンテントをマークアップしない非リーフ要素)を含めなければならず、共通するユーザ動作に関連する影響がさらに増大する。ソリューション作成者の最後の問題は、管理しているデータに対処するために、関心のないすべての、アプリケーション特有のマークアップも調べなければならないことである。ソリューション作成者は、自分自身のカスタムデータの値を編集する際、適切なアプリケーションマークアップを維持する必要もあることも確認しなければならない。
【0005】
本発明は、これらおよびその他の要件に関してなされたものである。
【課題を解決するための手段】
【0006】
本発明の実施態様は、構成されたドキュメントのカスタムデータを、このドキュメントの実際の表現のために適用されるアプリケーションマークアップ構造から分離し、別々に維持されるデータをドキュメントに適用される関連するマークアップ構造にリンクする方法およびシステムを提供することにより、上記およびその他の問題を解決する。本発明の実施態様によれば、XMLによって表されたドキュメントのデータストリームは、ドキュメント構造から、ドキュメント構造にリンクされたデータファイルに移動させられる。データファイルおよびXMLで表されたドキュメント構造は、単一のファイル(例えば、ドキュメント)に関連して維持され、別々のパラレル・オブジェクト・モデル内に維持されることはない。
【0007】
ドキュメントに適用されるXML要素とデータファイルのデータ範囲との間に、リンクが確立される。従って、ドキュメントの著者/編集者は、ドキュメントの構造要素に関連するデータにリンクされたXML構造でドキュメントをマークアップすることができる。ドキュメントのエンドユーザは、ドキュメントのXML構造にアクセスし、ファイルのデータを破壊せずにドキュメントのXML構造を編集することができる。同様に、エンドユーザは、別個に維持されているデータファイルにアクセスし、ドキュメントのXML構造を破壊せずにデータを編集することができる。ドキュメントが開かれると、XML構造と関連するデータがマージされ、ドキュメントに適用される構造に従ってドキュメント内にデータが表示されるようにユーザに対して表示される。これによって、アプリケーションに特有のマークアップを理解する必要なしに(マークアップが別個に維持されるため)カスタムデータに対するソリューションを構成することができる。このことは、データがアプリケーションにロードされている間にデータを編集するときと、ファイルが保存され、ソリューションがファイル自体に作用しているときに当てはまる。
【0008】
本発明を特徴付けるこれらおよびその他の特徴および利点は、以下の詳細な説明を読み、関連する図面を検討することによって明らかになろう。上記の概略的な説明および以下の詳細な説明が例示的で説明的なものに過ぎず、請求される本発明を制限するものではないことを理解されたい。
【発明を実施するための最良の形態】
【0009】
上記に簡単に説明したように、本発明は、構成されたドキュメントのデータを、ドキュメントに適用されるマークアップ構造から分離する方法およびシステムに関する。別個に維持されているデータは、ドキュメントに適用される関連するマークアップ構造にリンクされる。従って、ドキュメントのエンドユーザは、ドキュメントの構造にアクセスし、ファイルのデータを破壊せずに構造を編集することができる。同様に、エンドユーザは、別個に維持されているデータファイルにアクセスし、ドキュメントの構造を破壊せずにデータを編集することができる。ドキュメントが開かれると、構造と関連するデータがマージされ、ドキュメントに適用される構造に従ってドキュメント内にデータが表示されるようにユーザに対して表示される。本発明の要旨や範囲から逸脱せずに、これらの実施形態を組み合わせることも、他の実施形態を利用することも、構造を変更することもできる。従って、以下の詳細な説明は、制限的な意味で解釈されるものではなく、本発明の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
【0010】
次に、同じ符号がいくつかの図にわたる同じ要素を指す以下の図面を参照して、本発明の態様および例示的な動作環境について説明する。図1および以下の議論は、本発明を実施できる適切なコンピューティング環境について概略的に説明するものである。パーソナルコンピュータ上のオペレーティングシステム上で動作するアプリケーションプログラムに関連して実行されるプログラムモジュールに関して本発明を概略的に説明するが、当業者には、本発明を他のプログラムモジュールと組み合わせて実施することができることが認識されよう。
【0011】
一般的に、プログラムモジュールは、ルーチン、プログラム、構成要素、データ構造、および特定のタスクを実行するかまたは特定の抽象データ型を実施する他の種類の構造を含む。さらに、当業者には、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能なコンシューマエレクトロニクス、ミニコンピュータ、メインフレーム・コンピュータなどを含む他のコンピュータシステム構成によって実施できることが理解されよう。本発明は、通信網を通してリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールを、ローカルメモリ記憶装置とリモートメモリ記憶装置の両方に配置することができる。
【0012】
次に、図1を参照して、本発明の様々な実施形態を実施するパーソナルコンピュータ2の例示的なアーキテクチャについて説明する。図1に示されているコンピュータアーキテクチャは、中央演算処理装置4(CPU)と、ランダムアクセスメモリ8(RAM)および読取り専用メモリ(ROM)10を含むシステムメモリ6と、メモリをCPU4に結合するシステムバス12とを含む従来のパーソナルコンピュータを示している。立上げ時などに、コンピュータ内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システムは、ROM10に記憶されている。パーソナルコンピュータ2は、オペレーティングシステム16と、アプリケーションプログラム205などのアプリケーションプログラムと、データとを記憶する大容量記憶装置14をさらに含む。
【0013】
大容量記憶装置14は、バス12に接続された大容量記憶コントローラ(図示せず)を通してCPU4に接続されている。大容量記憶装置14およびそれに関連するコンピュータ読取り可能媒体は、パーソナルコンピュータ2用の非揮発性記憶装置を構成している。本明細書に含まれるコンピュータ読取り可能媒体の説明では、ハード・ディスクやCD−ROMドライブなどの大容量記憶装置が参照されるが、当業者には、コンピュータ読取り可能媒体が、パーソナルコンピュータ2によってアクセスできる任意の利用可能な媒体であってよいことを理解されたい。
【0014】
一例として、コンピュータ読取り可能媒体は、コンピュータ記憶媒体および通信媒体を備えることができるが、これらに制限されない。コンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶する任意の方法または技術で実現される揮発性および非揮発性の取外し可能媒体および取外し不能媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EPROM、フラッシュ・メモリまたはその他の半導体メモリ技術、CD−ROM、DVD、またはその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、またはその他の磁気記憶装置、あるいは所望の情報を記憶するのに用いることができ、およびコンピュータによってアクセスできる他の任意の媒体を含むが、これらに限らない。
【0015】
本発明の様々な実施形態によれば、パーソナルコンピュータ2は、インターネットなどのTCP/IPネットワークを通じたリモートコンピュータとの論理接続を用いてネットワーク化環境で動作することができる。パーソナルコンピュータ2は、バス12に接続されたネットワークインタフェースユニット20を通じてTCP/IPネットワーク18に接続することができる。ネットワークインタフェースユニット20を利用して他の種類のネットワークおよびリモートコンピュータシステムに接続することもできることを理解されたい。パーソナルコンピュータ2は、キーボードまたはマウス(図示せず)を含むいくつかの装置から入力を受信して処理する入出力コントローラ22を含んでもよい。同様に、入出力コントローラ22は、表示画面、プリンタ、または他の種類の出力装置に出力を与えることができる。
【0016】
上記に簡単に述べたように、ワシントン州レッドモンドのMicrosoft Corporationから市販されているWINDOWS(登録商標)オペレーティングシステムのような、ネットワーク化されたパーソナルコンピュータの動作を制御するのに適したオペレーティングシステム16を含むパーソナルコンピュータ2の大容量記憶装置14およびRAM8に、いくつかのプログラムモジュールおよびデータファイルを記憶することができる。大容量記憶装置14およびRAM8は、1または複数のアプリケーションプログラムを記憶することもできる。特に、大容量記憶装置14およびRAM8は、ユーザに様々な機能を与えるアプリケーションプログラム205を記憶することができる。例えば、アプリケーションプログラム205は、文書処理アプリケーション、スプレッドシートアプリケーション、デスクトップパブリッシングアプリケーションのような多種のプログラムを備えることができる。本発明の実施形態によれば、アプリケーションプログラム205は、いくつかの異なるソフトウェアアプリケーションから機能を与える多重機能ソフトウェアアプリケーションを備えている。多重機能アプリケーション205を備えることのできる個々のプログラムモジュールのいくつかは、文書処理アプリケーション125、スライドプレゼンテーションアプリケーション135、スプレッドシートアプリケーション140、およびデータベースアプリケーション145を含んでいる。このような多重機能アプリケーション205の一例は、Microsoft Corporationによって製造されているOFFICE(登録商標)である。図1に示されている他のソフトウェアアプリケーションは、電子メールアプリケーション130を含む。
【0017】
図2は、本発明の実施形態によるXML構造ファイルおよび関連するデータファイルを備える、コンピュータによって生成されたドキュメントを示している。図2を参照すると、アプリケーション205によって生成されおよび/または編集された、コンピュータによって生成されたファイル210が示されている。上述のように、アプリケーション205は、文書処理アプリケーション、スプレッドシートアプリケーションのような単一のソフトウェアアプリケーションであってよい。あるいは、アプリケーション205は、例えば、文書処理アプリケーション、スプレッドシートアプリケーション、スライドプレゼンテーションアプリケーションなどのような複数のアプリケーションを含む多重アプリケーションを表すことができる。
【0018】
ファイルまたはドキュメント210、例えば、記事やメモなどの文書処理ドキュメントは、2つのパラレルであるが別々のファイル215、220で構成されている。本発明の実施形態によれば、関連するXMLスキーマファイル207に従ってファイル210に適用されるXML構造は、XML構造ファイル215用に確立されたドキュメントオブジェクトモデルの下でXML構造ファイル215に記憶される。例えば、XML構造ファイル215を参照すると、第1のXML構成要素225は、ドキュメント210の見出し例欄用の構造に適用される。第2のXML構成要素230は、ドキュメントの本文例欄用のXML構造ファイル215に適用される。第3のXML構成要素240は、ドキュメント210の結論例欄用のXML構造ファイル215に適用される。
【0019】
スキーマファイル207は、ファイル210に関連付けされ、ファイル210に適用されるXML構造を定義するXMLファイルの例である。例えば、スキーマファイル207は、XML構造ファイル215に適用されるXML要素225、230、240のそれぞれの名前および定義を定めるのに用いることができる。同様に、スキーマファイル207は、ファイル210に適用されるXML構造に従ったファイル210全体をXML構造ファイル215内に存在させるために関連するデータファイル220に入力できるデータ型およびデータ特性を定義するのに用いることができる。
【0020】
本発明の実施形態によれば、ファイル210の構成された各欄についてのデータを関連するXML構造と一緒に単一のドキュメントに入力するのではなく、ファイル210のデータが、別個であるがパラレルなドキュメントオブジェクトモデルの下で確立された別個のデータファイル220に維持される。図2に示されているように、データ例ファイル220は、XML構造ファイル215内のXML要素225に関連する第1のデータ範囲265を含む。第2のデータ範囲275は、両方のXML要素240に関連付けされている。リンクは、データファイル220内の単一のデータ範囲とXML構造ファイル215内の複数の関連するXML構成要素との間に書き込むことができる。本発明の実施形態によれば、すべてのXML構成要素が、対応するデータ範囲を指し示すわけではなく、また対応するデータ範囲にリンクされているわけではない。図2を参照すると、例えば、<本文>要素230および<パラグラフ>要素235は、データファイル220内のデータ範囲にはリンクされていない。これらの要素は、プレゼンテーションおよび配置のためにドキュメントに適用されている可能性がある。さらに、リンクされているデータ範囲に供給されるデータが第三者から得られるが、<本文>欄および<パラグラフ>欄のデータがドキュメント編集者から得られ、これらの要素をデータソースにリンクする必要がないこともある。
【0021】
XML構造ファイル215内の各XML要素は、データリンクを介してデータファイル220内の関連するデータ範囲にリンクされている。一実施形態によれば、データリンクは、XPathである。当業者に知られているように、XPathは、XMLファイル215内のXML構造要素をデータファイル220内の対応するデータ範囲にリンクする手段を構成する。一実施形態によれば、ドキュメントの各部と関連するデータ範囲との間のマッピングは、図2に示されているように、XML要素と関連するデータ範囲との間の直接的なマッピングではない。その代わり、マッピングは、ドキュメントの所望の部分に関連するドキュメント内の「データバインディング」タグとの間のマッピングであり、「データバインディング」タグは、値としてXPathを有する。当業者には理解されるように、他の適切な手段を用いてXML構造ファイル内の所与のXML構成要素と関連するデータファイル220内の対応するデータ範囲との間にデータリンクを確立することができる。ドキュメントの構成された部分とデータファイルまたはデータベース内の関連するデータ範囲とのリンクについての詳細な説明は、2002年6月5日に出願され、"Mechanism for Downloading Software Components from a Remote Source for Use by a Local Software Application"という名称を有し、引用によって本明細書に組み込まれる米国特許出願第10/164,260号と、2003年2月13日に出願され、"Linking Elements of a Document to Corresponding Fields, Queries and/or Procedures in a Database"という名称を有し、引用によって本明細書に組み入れられる米国特許出願第10/366,141号を参照されたい。
【0022】
本発明の実施形態によれば、ドキュメント210は、XML構造ファイル215および関連するデータファイル220用のコンテナとして働く。当業者には理解されるように、XML構造ファイル215および関連するデータファイル220は、ローカルコンピューティング装置のハードドライブ上またはフロッピィディスクやCDなどの揮発性メモリソース上の共通のメモリ位置に維持することができる。あるいは、XML構造ファイル215および関連するデータファイル220をそれぞれの異なる位置に記憶し、分散コンピューティングネットワークを介して互いにリンクすることができる。例えば、データファイル220を、別個に記憶されているXML構造ファイル215から距離を置いて配置されたコンピュータサーバ上に記憶することができ、XML構造ファイル215内の所与のXML構成要素とデータファイル220内の関連するデータ範囲との間のリンクは、ローカルエリアネットワークや、ワイドエリアネットワークや、インターネットなどの分散コンピューティングネットワークを介したリンクでよい。
【0023】
引き続き図2を参照すると、ファイル210がアプリケーション205を介して開かれる際、XML構造ファイル215に従って構成されたドキュメント内に与えられるデータファイル220のデータを示す単一のドキュメントとしてファイルを開くことができる。例えば、ファイル210を開くと、データ範囲265から得た見出しデータを含む見出しを有し、データ範囲270から得た本文データを含む本文を有し、データ範囲275から得た結論データを含む結論を有する単一のドキュメントを表示することができる。ファイル210がこのように開かれる際、XML構造ファイル215を介してドキュメントに適用されるXML要素に従って、フォーマットされ構成されたデータファイル220のデータを有する単一のドキュメントを形成し表示するように、別個のXML構造ファイル215と関連するデータファイル220の同期がとられる。
【0024】
あるいは、ファイル210の著者または編集者がXML構造ファイル215を介してドキュメントに適用されるXML要素に編集上の変更、追加、または削除を加えたい場合、関連するデータファイル220のデータをXML構造に存在させずにXML構造ファイル215を別個のファイルとして開くことができる。従って、著者および/または編集者は、XML要素に関連するデータを含めることによる影響を受けずにXML構造またはフォーマットの変更をXML構造ファイルに加えることができる。例えば、ファイル210の著者/編集者は、図2に示されているドキュメント例への新しい欄の追加を決定することができる。例えば、著者/編集者は、ファイル210への「要約」欄の追加を決定することができる。要約欄を追加する場合、著者/編集者は、要約欄に関連するXMLタグをXML構造ファイル215に追加することができる。XML構造がXML構造ファイル215に追加された後、あるデータ範囲から得たデータを新しいXML構造に関連付けることが望ましい場合、新しいXML要素と関連するデータファイル220内の関連するデータ範囲との間に、リンクが確立される。すなわち、上述のように、ドキュメントのすべての部分を関連するデータ範囲にリンクする必要はない。ある種のマークアップは、プレゼンテーションまたはフォーマッティングのみに適用することができる。
【0025】
本発明の実施形態によれば、ファイル210の著者/編集者は、同様に、XML構造ファイル215から分離されたデータファイル220を開き、データファイル220に含まれる個々のデータ範囲を編集することができる。例えば、著者/編集者が文書処理ドキュメント/ファイル例210の結論を編集したい場合、著者/編集者はデータファイル220を開き、図2に示されているデータ範囲275に含まれているデータに変更を加えることができる。データファイル220内の1または複数のデータ範囲を編集した後、XML構造ファイル215に適用される構造マークアップに影響を与えずにデータファイル220を保存することができる。その後、アプリケーション205によってファイル210が開かれる際、上述のようにデータファイル220に適用される編集されたデータは、XML構造ファイル215の編集されたデータにリンクされた関連するXML構造に従ってファイル210内に表示される。
【0026】
本発明の実施形態によれば、ファイル210の著者/編集者または第三者によってデータ編集アプリケーション208を用いてデータファイル220にアクセスし、データファイル220に含まれるデータ範囲を編集することができる。すなわち、第三者・データ編集アプリケーション208は、ファイル210を作成しおよび/または編集するためのアプリケーション205とは別のアプリケーションであってよい。このことは、第三者がデータファイル220に対して定期的または自動的に実行されるプログラムを作成するのを可能にする上で特に有利である。例えば、販売会社によって第三者会計会社を雇用し、定期的に売上図表を作成することができる。第三者の会計会社は、第三者・データ編集アプリケーション208を用いてデータファイル220を定期的に開き、売上図表に関連するデータファイルに含まれるデータ範囲を自動的に更新することができる。従って、その後、販売責任者がアプリケーション205を用いてファイル210を開くと、開かれたファイル210は、データファイル220に適用されるが、XML構造ファイル215によってファイルに適用されるXML構造に従って示される更新された売上げ図を示す。
【0027】
有利なことに、この例の第三者会計会社は、XML構造ファイル215を介してドキュメントに適用されるXML構造を変更する可能性も、このAML構造に影響を与える可能性もなしにデータ変更を行うことができる。そればかりでなく、第三者は、ドキュメントに適用されるXML構造に関して何も知る必要がない。第三者は、第三者がドキュメントによってアクセスされるデータ範囲に存在させるそれ自体のカスタムデータのみに責任を負うような構成にするにはどうすればよいかを完全に無視することができる。さらに、セキュリティのために、この例の第三者会計会社が、データファイル200内のあるデータ範囲にしかアクセスできなくすることが望ましい。何故ならば、データファイル内の他のデータ範囲は、秘密であり、および第三者会計会社によってアクセスできるようにしてはならない情報がデータファイル内の他のデータ範囲に含まれる可能性があるからである。本発明の実施形態によれば、第三者会計会社は、データファイル内の他のデータ範囲にアクセスせず、およびファイル210の著者/編集者または所有者によってファイル210に適用されるXML構造にアクセスせずに、ファイル210全体を更新する場合にアクセスできる1または複数のデータ範囲を直接変更することができる。
【0028】
本発明の実施形態によれば、ファイル210内のデータが変更されたときに、データファイル220内に含まれる対応するデータ範囲に、生の更新(live updates)を加えることができる。例えば、見出し欄225に関連するデータを変更する場合、アプリケーション205は、データ変更をリンク245に沿ってデータ範囲265に渡し、データ範囲265に含まれるデータを自動的に変更することができる。あるいは、ファイル210内のデータに加えられた変更を、データファイル220に対してパラレルな一時データファイルに一時的に記憶することができる。次に、ファイル210の著者/編集者がファイル210を保存した場合、ファイル210のある欄に加えられた変更を、対応するリンクに沿ってデータファイル220内のデータ範囲に渡し、データファイル220にこれらの変更を反映させることができる。
【0029】
同様に、ファイル210の著者/編集者がファイル210に対して、XML構造に関連するファイル210の所与の欄内のファイル210および対応するデータ範囲に変更を加えた場合、著者/編集者は、データに加えた変更の「解除」を選択することができる。一実施形態によれば、データに加えられた変更が自動的に、データファイル220内の関連するデータ範囲に反映させる場合、アプリケーション205は、影響を受けるデータ範囲への適切なデータリンクを介して編集されたデータ範囲に関連するデータを送信し、データを、著者/編集者によってデータが変更される前の状態の置き換えることができる。他の実施形態によれば、ファイル210の所与の欄に加えられた変更が、ファイル210が保存されるまで一時データファイル内に記憶される場合、データを一時データファイルに渡して、一時データファイル内の影響を受けるデータ範囲を、著者/編集者によって変更される前のデータの状態に復元することができる。
【0030】
本明細書で簡単に説明したように、ドキュメントに適用されるマークアップ構造をドキュメントに入力される対応するデータから分離し、マークアップ構造と関連するデータを別々に編集するのを可能にする方法およびシステムが提供される。ドキュメントのマークアップ構成要素を別個のデータファイル内の関連するデータ範囲にリンクすると、適用されるマークアップ要素に従って構成された入力されたデータを示すマージされたドキュメントを表示することができる。当業者には、本発明の範囲や要旨から逸脱せずに本発明に様々な修正または変形を施せることが明らかになろう。当業者には、本明細書に開示された本発明の仕様および実施形態を検討することによって本発明の他の実施形態が明らかになろう。
【図面の簡単な説明】
【0031】
【図1】本発明の実施形態の例示的なコンピューティング動作環境を示す図である。
【図2】本発明の実施形態にかかるXML構造ファイルおよび関連するデータファイルを備えるコンピュータによって生成されたドキュメントを示す図である。

【特許請求の範囲】
【請求項1】
コンピュータによって生成されるドキュメントにおけるマークアップ構造および関連するデータを管理する方法において、
XML(Extensible Markup Language)要素をドキュメントに適用することと、
前記ドキュメントに適用されるXML要素を含めるXML構造ファイルを生成することと、
前記ドキュメントに入力されるデータを記憶するデータファイルを生成することと、
前記XML構造ファイルに含まれる所与のXML要素から、前記データファイルに含まれる対応するデータ範囲までのリンクを確立することと、
前記ドキュメントの起動時に、前記データファイルに含まれるデータを前記XML構造ファイルに含まれるリンクされたXML要素とマージし、前記ドキュメントに適用される前記XML要素に従って、前記ドキュメント内の前記データファイルに含まれる前記データを表示することと
を備えたことを特徴とする方法。
【請求項2】
前記XML構造ファイルおよび前記データファイルを含める電子ファイルコンテナを設けることをさらに備えたことを特徴とする請求項1に記載の方法。
【請求項3】
前記電子ファイルコンテナの選択時に、前記XML構造ファイルおよび前記データファイルのそれぞれにアクセスできるようにすることを特徴とする請求項2に記載の方法。
【請求項4】
前記ドキュメントに適用される前記XML要素を編集するために、前記データファイルから独立して前記XML構造にアクセスできるようにすることと、
前記データファイルに含まれるデータを編集するために前記XML構造ファイルから独立して前記データファイルにアクセスできるようにすることと
をさらに備えたことを特徴とする請求項2に記載の方法。
【請求項5】
前記ドキュメント内に表示される所与のデータ項目に対する編集を受け取ることと、
前記所与のデータ項目に対する前記編集を前記データファイルに渡し、前記データファイル内の関連するデータ範囲に反映させることと
をさらに備えたことを特徴とする請求項1に記載の方法。
【請求項6】
編集されたデータ項目に関連するXML要素と前記データファイル内の対応するデータ範囲との間のリンクを介して前記データ編集を渡すことをさらに備えたことを特徴とする請求項5に記載の方法。
【請求項7】
コンピュータによって生成されるドキュメントにおけるマークアップ構造および関連するデータを管理する方法において、
ドキュメントに対するXML(Extensible Markup Language)要素の適用を受け取ることと、
前記ドキュメントへのデータの入力を受け取ることと、
前記ドキュメントに適用されるXML要素を含めるXML構造ファイルを生成することと、
前記ドキュメントに入力されるデータを記憶するデータファイルを生成することと、
前記XML構造ファイルおよび前記データファイルを、電子コンテナファイルに含まれる2つの別々のファイルに分離することと、
前記XML構造ファイルに含まれる所与のXML要素から、前記データファイル内の対応するデータ範囲までのリンクを確立することと、
前記ドキュメントの起動時に、前記データファイルに含まれるデータを前記XML構造ファイルに含まれるリンクされたXML要素とマージし、前記ドキュメントに適用される前記XML要素によって示されるドキュメント構造に従って、前記ドキュメント内の前記データファイルに含まれる前記データを表示することと
を備えたことを特徴とする方法。
【請求項8】
前記電子ファイルコンテナの選択時に、前記XML構造ファイルおよび前記データファイルのそれぞれにアクセスできるようにすることを特徴とする請求項7に記載の方法。
【請求項9】
前記ドキュメントに適用される前記XML要素を編集するために、前記データファイルから独立して前記XML構造にアクセスできるようにすることと、
前記データファイルに含まれるデータを編集するために前記XML構造ファイルから独立して前記データファイルにアクセスできるようにすることと
をさらに備えたことを特徴とする請求項8に記載の方法。
【請求項10】
前記ドキュメント内に表示される所与のデータ項目に対する編集を受け取ることと、
前記所与のデータ項目に対する前記編集を前記データファイルに渡し、前記データファイル内の関連するデータ範囲に反映させることと
をさらに備えたことを特徴とする請求項7に記載の方法。
【請求項11】
編集されたデータ項目に関連するXML要素と前記データファイル内の対応するデータ範囲との間のリンクを介して前記データ編集を渡すことをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項12】
コンピュータによって実行されたときに、コンピュータによって生成されるドキュメントにおけるマークアップ構造および関連するデータを管理する方法を実行するコンピュータ実行可能な命令が記憶されているコンピュータ読取り可能記憶媒体において、
XML(Extensible Markup Language)要素をドキュメントに適用することと、
前記ドキュメントに適用されるXML要素を含めるXML構造ファイルを生成することと、
前記ドキュメントに入力されるデータを記憶するデータファイルを生成することと、
前記XML構造ファイルに含まれる所与のXML要素から、前記データファイルに含まれる対応するデータ範囲までのリンクを確立することと、
前記ドキュメントの起動時に、前記データファイルに含まれるデータを前記XML構造ファイルに含まれるリンクされたXML要素とマージし、前記ドキュメントに適用される前記XML要素に従って、前記ドキュメント内の前記データファイルに含まれる前記データを表示することと
を備えたことを特徴とするコンピュータ読取り可能記憶媒体。
【請求項13】
前記XML構造ファイルおよび前記データファイルを含める電子ファイルコンテナを設けることをさらに備えたことを特徴とする請求項12に記載のコンピュータ読取り可能記憶媒体。
【請求項14】
前記電子ファイルコンテナの選択時に、前記XML構造ファイルおよび前記データファイルのそれぞれにアクセスできるようにすることを特徴とする請求項13に記載のコンピュータ読取り可能記憶媒体。
【請求項15】
前記ドキュメントに適用される前記XML要素を編集するために前記データファイルから独立して前記XML構造にアクセスできるようにすることをさらに備えたことを特徴とする請求項13に記載のコンピュータ読取り可能記憶媒体。
【請求項16】
前記データファイルに含まれるデータを編集するために前記XML構造ファイルから独立して前記データファイルにアクセスできるようにすることをさらに備えたことを特徴とする請求項15に記載のコンピュータ読取り可能記憶媒体。
【請求項17】
前記ドキュメント内に表示される所与のデータ項目に対する編集を受け取ることと、
前記所与のデータ項目に対する前記編集を前記データファイルに渡し、前記データファイル内の関連するデータ範囲に反映させることと
をさらに備えたことを特徴とする請求項12に記載のコンピュータ読取り可能記憶媒体。
【請求項18】
編集されたデータ項目に関連するXML要素と前記データファイル内の対応するデータ範囲との間のリンクを介して前記データ編集を渡すことをさらに備えたことを特徴とする請求項17に記載のコンピュータ読取り可能記憶媒体。
【請求項19】
前記XML構造ファイルに含まれる所与のXML要素から、前記データファイルに含まれる対応するデータ範囲までのリンクを確立することは、リンクされた前記XML構造に含まれる各XML要素から前記データファイルに含まれる対応するデータ範囲までのXPathを確立することを含むことを特徴とする請求項12に記載のコンピュータ読取り可能記憶媒体。
【請求項20】
前記XML構造に含まれる1または複数のXML要素は、前記データファイルに含まれる関連するデータ範囲にリンクされないことを特徴とする請求項12に記載のコンピュータ読取り可能記憶媒体。

【図1】
image rotate

【図2】
image rotate