(57)【要約】【課題】コンテンツとスタイルと動作を別個に作成して、表示用の動作付き構造化文書を作成することのできる方法および装置を提供する。【解決手段】複数のデータを含む第１の文書から、当該第１の文書中の第１のデータを表示するための第２のデータを含む第２の文書を生成するものであって、前記第１の文書の前記第１のデータから前記第２のデータを生成し、前記第１の文書中の前記第１のデータの位置を示す位置データを生成し、前記位置データと前記第２のデータとを対応付けて、前記第１のデータに関連付けるべきプログラムを、当該位置データに対応付けられた前記第２のデータに付加する。【選択図】    図２
2004213082.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを含む第１の文書から、当該第１の文書中の第１のデータを表示するための第２のデータを含む第２の文書を生成する文書処理装置であって、
前記第１の文書の前記第１のデータから前記第２のデータを生成する第１の手段と、
前記第１の文書における前記第１のデータの位置を示す位置データを生成する第２の手段と、
前記位置データと前記第２のデータとを対応付ける第３の手段と、
前記第１のデータに関連付けるべきプログラムを、当該位置データに対応付けられた前記第２のデータに付加する第４の手段と、
を具備したことを特徴とする文書処理装置。
【請求項２】
前記第１の手段は、前記第２のデータを生成するために与えられた第１の命令を基に、前記第２のデータを生成し、
前記第２の手段は、前記第１の文書中の前記第１のデータの位置を抽出するための第２の命令を基に前記位置データを生成することを特徴とする請求項１記載の文書処理装置。
【請求項３】
前記第１の命令には前記第２の命令が付加されていることを特徴とする請求項２記載の文書処理装置。
【請求項４】
前記第３の手段は、前記第２のデータに前記位置データを埋め込むことにより、両者を対応付けることを特徴とする請求項１記載の文書処理装置。
【請求項５】
前記第４の手段は、前記第１の文書を基に前記第１のデータに前記プログラムを関連付けた第３のデータを生成して、前記第２のデータを当該第３のデータで置き換えることを特徴とする請求項１記載の文書処理装置。
【請求項６】
前記第４の手段は、前記第１の文書を基に前記第１のデータに前記プログラムを関連付けた第３のデータを生成するための規則を基に、当該第３のデータを生成して、前記第２のデータを当該第３のデータで置き換えることを特徴とする請求項１記載の文書処理装置。
【請求項７】
複数の構成要素からなる第１の文書から、当該第１の文書中の第１の構成要素に含まれるデータを表示するための第２の構成要素を含む第２の文書を生成する文書処理装置であって、
前記第１の文書の前記第１の構成要素から前記第２の構成要素を生成する第１の手段と、
前記第１の文書における前記データの位置を示す位置データを生成する第２の手段と、
前記位置データと前記第２の構成要素とを対応付ける第３の手段と、
前記データに関連付けるべきプログラムを、当該位置データに対応付けられた前記第２の構成要素に付加する第４の手段と、
を具備したことを特徴とする文書処理装置。
【請求項８】
複数のデータを含む第１の文書から、当該第１の文書中の第１のデータを表示するための第２のデータを含む第２の文書を生成する文書処理方法であって、
前記第１の文書の前記第１のデータから前記第２のデータを生成する第１のステップと、
前記第１の文書における前記第１のデータの位置を示す位置データを生成する第２のステップと、
前記位置データと前記第２のデータとを対応付ける第３のステップと、
前記第１のデータに関連付けるべきプログラムを、当該位置データに対応付けられた前記第２のデータに付加する第４のステップと、
を有することを特徴とする文書処理方法。
【請求項９】
複数のデータを含む第１の文書から、当該第１の文書中の第１のデータを表示するための第２のデータを含む第２の文書を生成するプログラムであって、
コンピュータに、
前記第１の文書の前記第１のデータから前記第２のデータを生成する第１のステップと、
前記第１の文書における前記第１のデータの位置を示す位置データを生成する第２のステップと、
前記位置データと前記第２のデータとを対応付ける第３のステップと、
前記第１のデータに関連付けるべきプログラムを、当該位置データに対応付けられた前記第２のデータに付加する第４のステップと、
を実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の構成要素からなる階層化されたデータ構造をもつ構造化文書を処理対象とする構造化文書処理方法及び装置に関する。
【０００２】
【従来の技術】
近年、インターネット技術、特にＷｅｂ技術が普及し、ＨＴＭＬ(Hyper TextMarkup Language)で記述された文書は、ＯＳやＷｅｂブラウザの種類にかかわらずどこでも閲覧できるようになった。
【０００３】
また、ＨＴＭＬ文書中に、計算機上での処理手順が記述されたプログラムを埋め込み、対応しているＷＥＢブラウザを用いることで、文書を閲覧するだけではなく、ユーザとの双方向なやりとりを行うアプリケーションを実現することができる。
【０００４】
さらに、計算機器の多様化により、ＷＥＢブラウザが動作するプラットホームはパソコンだけでなく、ＰＤＡや携帯電話にまでひろがっており、ＨＴＭＬの閲覧方法も多様になってきている。
【０００５】
そして、ＨＴＭＬ文書では、文章と、スタイル情報（フォントサイズ、フォント種類、文字の色、背景の色、テーブルの幅などの画面への表示の仕方に関係する情報）とが混在しており、また、文章中のテキストを囲うタグは画面上での構造に関する情報しかもてないため、ＨＴＭＬ文書の内容は計算機で利用する情報としては活用しづらかった。このため、意味を持たせたタグでテキストを囲って構造化する技術である構造化文書技術の一つとして、ＸＭＬ(Extensible MarkupLanguage)が標準化され、広く使われるようになった（例えば、非特許文献１参照）。
【０００６】
一方、ＸＭＬ文書そのものは人間にとって読みづらいため、ＸＭＬ文書を、スタイル情報を追加するなどしたＨＴＭＬ文書に変換することによって、見やすい形に整形した上で、Ｗｅｂブラウザ上で閲覧可能にする、スタイル技術の１つとして、ＸＳＬＴ(XSL Transformation)が開発され、標準化された（例えば、非特許文献２参照）。
【０００７】
また、変換時に整形すると同時にＷＥＢアプリケーションとしての動作を表すプログラムを付加するＸＳＬＴを使用することで、ＸＭＬ文書からＷＥＢアプリケーションを生成することも可能になる。
【０００８】
ＸＳＬＴは、ＸＭＬで記述されたＸＭＬ文書を変換するためのプログラム言語であり、ＸＳＬＴで記述されたＸＳＬＴ文書を実行し、ＸＭＬ文書を変換するプログラムは、ＸＳＬＴプロセッサと呼ばれ、そして、ＸＳＬＴプロセッサを内蔵したＷｅｂブラウザが現在普及しつつある。
【０００９】
ＷＥＢトップアプリケーションでは最終的には、▲１▼表示するデータ、▲２▼レイアウト／みため（デザイン）▲３▼動作（プログラム）が渾然一体となったＨＴＭＬファイルを作成する必要がある。
【００１０】
これらの要素を独立して作成する方法として、先に述べたＸＳＬＴを用いる方法もある。
【００１１】
しかし、依然として、▲２▼レイアウト／みためと、▲３▼動作が交じり合った変換ルールを記述する必要がある。
【００１２】
上記の原因により、従来技術では次のような問題点がある。
【００１３】
（１）アプリケーション作成時及び変更時に、デザイン及びプログラムに関する知識が要求される。
【００１４】
通常は、ＷＥＢアプリケーションではデータ、デザイン、（動作）プログラムが、ＸＳＬＴ技術を使った場合でもデザインと（動作）プログラムが依存しあっているために、デザインまたはプログラム要素の作成／変更する場合に両者の知識が必要となる。また、構造的に異なる作成者がデザインとプログラムを担当することも難しい。
【００１５】
従来のＷＥＢは閲覧が中心なため、デザイナには複雑な動作記述は要求されず、ＸＳＬＴ技術を用いて動作プログラムを含んだデザイン部分をデザイナに任せることも可能だったが、複雑に動作するＷＥＢトップアプリケーションを構築する際には、ＸＳＬＴを記述するのに必要なプログラム面の知識が増大する。
【００１６】
（２）レイアウトだけを取り替えることができない。
【００１７】
さらに、同じＷＥＢアプリケーションを表示領域の異なるデバイス（ＰＤＡ、携帯電話、ＰＣ等）に表示する場合、表示レイアウトを変更する必要があるが、その際にも、レイアウトのみを変更することができない。ＸＳＬＴの技術を用いて、データからレイアウトと動作を独立させた場合でも、変更後のレイアウトを記述するＸＳＬＴにも、元のＸＳＬＴファイルに含まれている動作部分を適切に含めなければいけない。
【００１８】
（３）動作だけを取り替えることができない
例えば、管理権限の違いでユーザに許可したい処理がことなる場合、動作だけを入れ替えられれば、単純な動作の切り替えのみで、複数の操作権限をもつユーザに対してアプリケーションを提供できる。
【００１９】
しかし、上記と同じ理由で、扱うデータ、レイアウトはそのままで、動作だけを入れ替えることができない。
【００２０】
【非特許文献1】
Extensible Markup Language (XML), W3C Recommendation, ［online］2000.10.6, ［平成１１年１１月２９日検索］、インターネット＜URL://www.w3.org/TR/ REC-xml＞
【００２１】
【非特許文献２】
XSL Transformation (XSLT), W3C Recommendation, ［online］1999.11.16, ［平成１１年１１月２９日検索］、インターネット＜URL://www.w3.org/TR/xslt＞
【００２２】
【発明が解決しようとする課題】
このように、従来は、ＸＳＬＴ文書の記述のうち、レイアウトに関する記述部分とプログラムに関する記述部分とをそれぞれ別個に作成して（別文書として作成して）、これら２つの文書をもとに、ＸＭＬ文書を動作付きの表示用ＨＴＭＬ文書に変換する事ができないという問題点があった。
【００２３】
そこで、本発明は、上記問題点に鑑み、ＸＭＬ文書を表示用にデータ整形するための規則と、当該ＸＭＬ文書の構成要素にプログラムを付加するための規則とを、それぞれ別個に記述して、これら２種類の規則から、当該ＸＭＬ文書を表示用の動作付き構造化文書に変換することのできる構造化文書処理方法および装置を提供することを目的とする。これによって、レイアウト記述者と、動作記述者を分割でき、また、レイアウトのみを取り替えることが可能になる。結果的に作成コストが軽減される。
【００２４】
【課題を解決するための手段】
本発明は、複数のデータを含む第１の文書から、当該第１の文書中の第１のデータを表示するための第２のデータを含む第２の文書を生成する（第１の文書を第２の文書に変換する）ものであって、前記第１の文書の前記第１のデータから前記第２のデータを生成し、前記第１の文書における前記第１のデータの位置を示す位置データを生成し、前記位置データと前記第２のデータとを対応付けて、前記第１のデータに関連付けるべきプログラムを、当該位置データに対応付けられた前記第２のデータに付加することにより、ＸＭＬ文書などの構造化文書（例えば、データＸＭＬ文書に対応する）を表示用にデータ整形するための規則（例えば、第１のＸＳＬＴ文書に対応する）と、当該ＸＭＬ文書の構成要素にプログラムを付加するための規則（例えば、動作ＸＭＬ文書に対応する）とを、それぞれ別個に記述して、これら２種類の規則から、ＸＭＬ文書（データＸＭＬ文書）を表示用の動作付き構造化文書（例えば、動作付き文書）に変換することができる。
【００２５】
本発明は、複数の構成要素からなる第１の文書から、当該第１の文書中の第１の構成要素に含まれるデータを表示するための第２の構成要素を含む第２の文書を生成するものであって、前記第１の文書の前記第１の構成要素から前記第２の構成要素を生成し、前記第１の文書における前記データの位置を示す位置データを生成し、前記位置データと前記第２の構成要素とを対応付けて、前記データに関連付けるべきプログラムを、当該位置データに対応付けられた前記第２の構成要素に付加することにより、ＸＭＬ文書などの構造化文書（例えば、データＸＭＬ文書に対応する）を表示用にデータ整形するための規則（例えば、第１のＸＳＬＴ文書に対応する）と、当該ＸＭＬ文書の構成要素にプログラムを付加するための規則（例えば、動作ＸＭＬ文書に対応する）とを、それぞれ別個に記述して、これら２種類の規則から、ＸＭＬ文書（データＸＭＬ文書）を表示用の動作付き構造化文書（例えば、動作付き文書）に変換することができる。
【００２６】
【発明の実施形態】
以下、本発明の実施形態について図面を参照して説明する。
【００２７】
図１は、本実施形態に係る構造化文書処理システムの構成例を示す。
【００２８】
図１に示すように、本システムでは、第１の計算機１と第２の計算機２がネットワーク３で接続されて構成されている。
【００２９】
第１の計算機１は、Ｗｅｂサーバ１１として機能し、第２の計算機２は、Ｗｅｂブラウザ２１として機能するように構成されている。第１の計算機１上のＷｅｂサーバ１１と第２の計算機２上のＷｅｂブラウザ２１との間では、データであるデータＸＭＬ文書１０１と、スタイルＸＳＬＴ文書１０２、動作ＸＭＬ文書１０３とが送受信される。
【００３０】
ユーザが、第２の計算機２のＷｅｂブラウザ２１上で（該Ｗｅｂブラウザ２１に搭載された）構造化文書処理装置２２を操作することにより、ネットワーク３とＷｅｂサーバ１１とを介して、第１の計算機１に配置されたＸＭＬ文書１０１とＸＳＬＴ文書１０２を閲覧し、編集できるようになっている。
【００３１】
なお、ネットワーク３は、有線ネットワークであっても、無線ネットワークであっても、有線の部分と無線の部分とを含むネットワークであってもよい。また、ネットワーク３は、インターネットであってもよいし、家庭網や企業網であってもよいし、通信事業者網であってもよいし、Ｗｅｂサーバがインターネット上にあり、ＷｅｂブラウザがＬＡＮ上にあるようなものであってもよい。
【００３２】
また、図１ではＷｅｂブラウザ２１を有する第２の計算機２が１台のみ示されているが、Ｗｅｂブラウザ２１を有する第２の計算機２と同様のものが複数台、ネットワーク３に接続されていてもよい。
【００３３】
また、第１の計算機１のＷｅｂサーバ１１とＸＭＬ文書１０１とＸＳＬＴ文書１０２とを第２の計算機２に配置し、第１の計算機１とネットワーク３が省略された構成も可能である。
【００３４】
また、第２の計算機２は、ＣＰＵを内蔵する携帯電話端末やネットワーク家電等であってもよい。
【００３５】
なお、以下で説明する各機能や各処理は、所定のソフトウェアがコンピュータ及び周辺機器を制御することで実現されるものとして、各機能や各処理に対応する仮想的回路ブロックを想定して説明しており、各ブロックに対して、各ハードウェア要素やソフトウェア要素が必ずしも１対１に対応しなくても構わない。また、以下で説明する各機能や各処理の全部又は一部を（あるいは以下で説明する各機能や各処理を搭載したＷｅｂブラウザ自体を）半導体チップなどのハードウェアで構成することも可能である。
【００３６】
さて、構造化文書編集装置２２では、対象となるＸＭＬ文書（データＸＭＬ文書）を、所定のＸＳＬＴ文書をもとに、表示用の他の構造化文書（後述する、参照付き中間文書、動作付き文書）に変換するが、変換後の構造化文書としては種々の形態が使用可能であり、例えば、ＸＨＴＭＬ(The Extensible Hyper Text Markup Language)文書、ＳＶＧ(Standard Vector Graphics)文書、ＭａｔｈＭＬ(Mathematical Markup Language)文書、他のＸＭＬ文書（例えば元のＸＭＬ文書に修正が加えられたもの）などがある。変換後の構造化文書（参照付き中間文書、動作付き文書）として、どのようなものを使用するかについては、例えば、当該Ｗｅｂブラウザがどのような構造化文書をサポートしているかによって決定される。なお、ＸＨＴＭＬの規格については、例えばhttp://www.w3.org/TR/xhtml1/に、ＳＶＧの規格については、例えばhttp://www.w3.org/TR/SVG/、ＭａｔｈＭＬの規格については、例えばhttp://www.w3.org/TR/REC-MathMLにそれぞれ詳しい。
【００３７】
以下では、変換後の構造化文書（参照付き中間文書、動作付き文書）として、ＨＴＭＬ文書を用いるものとして説明する。
【００３８】
以下の説明において、ＨＴＭＬ文書やＸＭＬ文書やＸＳＬＴ文書等の構造化文書中の「ノード」とは、タグやテキストや属性などのことを指し、「タグ」とは例えば「＜＞」で囲まれた部分、すなわち、図３や後に示す図６中の＜Ｆｏｌｄｅｒ＞や＜ＴＡＢＬＥ＞などの部分を指す。ノードは構造化文書を構成する構成要素であり、１つの構成要素は、少なくとも１つの構成要素を包含することもあり、これは、包含する方の構成要素（ノード）を「親」とすると、包含される方の構成要素（ノード）は、その「子」という関係にあるともいえる。
【００３９】
本実施形態では、データ（コンテンツデータ）の記述されているデータＸＭＬ文書と、当該データＸＭＬ文書のレイアウトのための変換規則の記述されたＸＳＬＴ文書（本実施形態では、第１のスタイルＸＳＬＴ文書と呼ぶ）と、当該データＸＭＬ文書中の所定の構成要素に動作を付加するための変換規則の記述された動作ＸＭＬ文書とを処理対象として、最終的に、所定の構成要素に処理プログラム（予め用意されたアプリケーションプログラムを起動するためのプログラムであってもよいし、アプリケーションプログラムそのものであってもよい）が埋め込まれた表示用のＨＴＭＬ文書としての動作付きＨＴＭＬ文書（動作付き文書）を作成する。
【００４０】
（１）従来のＸＳＬＴ技術によるＸＭＬ文書を表示用のＨＴＭＬ文書に変換する手法
ここで、本実施形態の説明を行う前に、ＸＭＬ文書をＸＳＬＴ文書により動作付きのＨＴＭＬ文書に変換する手法、すなわち、Ｗｅｂブラウザ１９０上で動作する構造化文書処理装置について説明する。
【００４１】
図２１は、従来の構造化文書処理装置の機能ブロック図である。従来の手法では、例えば、Ｗｅｂサーバから提供される、データ（コンテンツ）の記述されたＸＭＬ文書（以下、データＸＭＬ文書文書）１９１は、ＸＳＬＴプロセッサ１９３により、動作付きＨＴＭＬ文書１９４に変換され、この動作付きＨＴＭＬ文書１９４は表示部１９７により所定の表示装置に表示される。このとき、動作付きＨＴＭＬ文書１９４への変換方法（変換規則）は、例えばＷｅｂサーバから提供される、ＸＳＬＴ文書１９２にすべて記述されている。
【００４２】
なぜならば、データＸＭＬ文書へのレイアウトのための規則と、データＸＭＬ文書へのプログラム埋め込みのための記述部分を分離しても、どちらかでデータＸＭＬ文書を変換した時点で、さらにもう片方を用いて変換する際に必要となる、データＸＭＬ文書の構造が変換され失われてしまい、変換規則が適用できない可能性があるからである。すなわち、両者の変換規則をデータＸＭＬ文書にだけ依存させて記述したいが、どちらかの変換を行った時点で、データＸＭＬ文書の構造が失われ、そのままではどちらの変換規則も使えなくなってしまう可能性があるのである。
【００４３】
なお、ＸＳＬＴプロセッサ１９３を、Ｗｅｂブラウザ１９０上に配置し、Ｗｅｂブラウザ１９０で動作付きＨＴＭＬ文書１９４に変換して表示する構成の他に、ＸＳＬＴプロセッサ１９３を、Ｗｅｂサーバ側の計算機上に配置して、Ｗｅｂサーバ上で動作付きＨＴＭＬ文書１９４への変換を行い、Ｗｅｂブラウザ１９０に変換後の動作付きＨＴＭＬ文書１９４を送信する構成もある。
【００４４】
いずれにしてもこれら従来は、データＸＭＬ文書から動作付きのＨＴＭＬ文書１９４を得るためには、データＸＭＬ文書の所定の構成要素にアプリケーションプログラムあるいはアプリケーションプログラムを起動するためのプログラムを埋め込むための記述と、データを整形するレイアウトのための規則を記述とを融合した、１つのＸＳＬＴ文書１９２を用いていた。そして、ＸＳＬＴプロセッサ１９０で一括してプログラムの埋め込みとレイアウトのためのデータ整形を行っていた。
【００４５】
すなわち、ＸＳＬＴ文書１９２を作成するためには、レイアウトのデザインをするための知識とプログラムを作成、変更等するための知識を兼ね備えたユーザのみにできる高度な技術を要していた。
【００４６】
従来の手法では、データＸＭＬ文書へのプログラムの埋め込みのための記述部分とレイアウトのための規則を記述した部分とをそれぞれ別個に作成しても、動作付きのＨＴＭＬ文書１９４を作成することはできない。
【００４７】
また、レイアウト部分のみ、あるいは、動作部分のみを変更することができない。これは、データ（コンテンツ）と動作は同じだが、異なるレイアウトをとりたい場合、例えば、デスクトップパソコンや携帯電話やＰＤＡなど性能や機能などの種別の異な計算機それぞれに適したレイアウトを選択したい場合等に、わざわざ種別の異なる各計算機毎に、レイアウトだけでなく、動作の部分も含んだものを作成しなければならなかった。
【００４８】
しかし、ＸＳＬＴ文書の記述のうち、レイアウトに関する記述部分とプログラムに関する記述部分とをそれぞれ別個に作成して、データＸＭＬ文書を動作付き文書に変換する事ができるようになれば、作業分担が行える上、レイアウトだけの変更や、プログラムやプログラムを埋め込む箇所などの構成要素の動作だけの変更などが容易に行える。
【００４９】
（２）構造化文書処理装置の構成について
本実施形態の説明に戻り、本実施形態に係る構造化文書処理装置について説明する。
【００５０】
図２は、本実施形態に係る構造化文書処理装置２２の構成例を示したもので、ＸＳＬＴプロセッサ１２４と、ＸＳＬＴ変換部１２２と、動作付加変換部１２６と、表示部１２７と操作入力部１３１と処理関数保持部１３２とから構成されている。
【００５１】
図２１に示した従来システムでは、データ（コンテンツ）の記述されたＸＭＬ文書を、当該ＸＭＬ文書中の特定の構成要素に動作を付加するための変換規則と、当該ＸＭＬ文書のレイアウトのための変換規則の記述とが含まれているＸＳＬＴ文書を基に、動作付きのＨＴＭＬ文書を変換するようになっていたが、図２に示すように、構造化文書処理装置２２では、データ（コンテンツ）の記述されたＸＭＬ文書１２５（以下、データＸＭＬ文書１２５）を、当該データＸＭＬ文書１２５の構成要素に動作を付加する（埋め込む）ためのＸＭＬ文書１２８（以下、動作ＸＭＬ文書１２８）と、当該データＸＭＬ文書１２５のレイアウトのための変換規則を記述したＸＳＬＴ文書１２１（以下、第１のＸＳＬＴ文書１２１）とを基に動作付きＨＴＭＬ文書１３０に変換するようになっている。
【００５２】
そのために、図２に示す構造化文書処理装置２２では、第１のＸＳＬＴ文書１２１を第２のＸＳＬＴ文書（後述）１２３に変換するためのＸＳＬＴ変換部１２２と、第２のＸＳＬＴ文書を用いて、レイアウトのためにデータ整形のされたデータＸＭＬ文書、すなわち、参照付き中間文書１２９に対し、動作ＸＭＬ文書１２８を用いてプログラムを付加する（埋め込む）ための動作付加変換部１２６を有している。
【００５３】
第１のＸＳＬＴ文書１２１には、データＸＭＬ文書中の所定の構成要素に含まれるデータ（例えば、タグ名や属性値や、構成要素の値などで、ここでは、これらをノード値と呼ぶ）を表示要素（画面構成要素）として表示するためのＨＴＭＬ文書中の構成要素に変換する命令（例えば、ここでは、ノード値出力命令と呼ぶ）に対応する構成要素が含まれている。
【００５４】
ＸＳＬＴ変換部１２２では、第１のＸＳＬＴ文書１２１中の、このノード値出力命令に、当該ノード抽出命令で処理対象となるデータＸＭＬ文書１２５中の構成要素（ノード）の位置（処理対象となるデータのデータＸＭＬ文書１２５中の位置）を抽出するための命令を付加する（埋め込む）ことにより、第２のＸＳＬＴ文書１２３を生成する。
【００５５】
参照付き中間文書１２９には、上記第１のＸＳＬＴ文書（第２のＸＳＬＴ文書）中のノード値出力命令で生成されたノードに、当該ノード値出力命令で処理対象となったデータＸＭＬ文書１２５中のノード（データ）の位置を表した参照データ（位置データ）を付加した（埋め込んだ）、参照付きノードが含まれている。
【００５６】
データＸＭＬ文書１２５は、コンテンツデータの記述されたＸＭＬ文書であり、例えば、図１の第２の計算機２のブラウザ２１のプログラムが生成したものや、図１のＷｅｂサーバ１１から取得したものである。データＸＭＬ文書１２５の一例を図３に示す。ただし、データＸＭＬ文書１２５の内容は、ユーザの操作により変化する場合もある。
【００５７】
第１のＸＳＬＴ文書１２１は、データＸＭＬ文書１２５あるいは、これ以外のＸＭＬ文書のレイアウトを定義するもので、例えば図１のＷｅｂサーバ１１から取得される。第１のＸＳＬＴ文書１２１の一例を図５に示す。
【００５８】
ＸＳＬＴ変換部１２２は、第１のＸＳＬＴ文書１２１を入力として、当該第１のＸＳＬＴ文書１２１を第２のＸＳＬＴ文書１２３へ変換する。この第２のＸＳＬＴ文書１２３はＸＳＬＴプロセッサ１２４に渡される。
【００５９】
なお、図２では、ＸＳＬＴ変換部１２２をＸＳＬＴプロセッサ１２４と同じ第２の計算機２に設けた場合を示しているが、ＸＳＬＴ変換部１２２は、Ｗｅｂサーバ１１として機能する第１の計算機１に設けてもよい。また、Ｗｅｂブラウザ２１上のスクリプトなどで実現してもよい。
【００６０】
ＸＳＬＴプロセッサ１２４は、データＸＭＬ文書１２５を、第２のＸＳＬＴ文書１２３に記載されている命令にしたがって変換し、参照付き中間文書１２９を生成する。参照付き中間文書１２９は、動作付加変換部１２６に渡される。
【００６１】
ＸＳＬＴプロセッサ１２４の仕様は、例えば、標準化団体であるＷ３Ｃで規格化されたものに従って構わない（具体的には、例えば、Ｗｅｂブラウザ２１に付属する機能などで実現される）。
【００６２】
動作ＸＭＬ文書１２８は、データＸＭＬ文書１２５中の動作を付加するデータを指定するための（検索するための）条件を記述した部分と、当該データに対して付加する動作（プログラム）を記述した構造化文書である。
【００６３】
動作付加変換部１２６は、参照付き中間文書１２９を、動作ＸＭＬ文書１２８に記述されている規則（命令文として表されている）にしたがって、動作付き文書１３０に変換するものである。
【００６４】
表示部１２７は、Ｗｅｂブラウザ２１にもともと備わる機能により実現されるもので、ディスプレイなどに上記動作付き文書１３０を表示する表示画面を生成するものである。
【００６５】
操作入力部１３１は、マウス、キーボードなどの各入力装置を介してユーザからの入力を受け付けるところである。例えば、ディスプレイに表示された動作付き文書１３０の動作の付加されている箇所を当該操作入力部１３１にて指示されると、当該動作付き文書１３０内の当該プログラムを起動させる。これは、例えば、Ｗｅｂブラウザ２１に組み込みのイベント機構で実現することができる。
【００６６】
処理関数保持部１３２は、動作付き文書１３０中の所定の構成要素に付加されている動作記述（プログラム）により起動されるプログラムを保持する。例えば、ブラウザ２１内に読み込まれたプログラム群で実現される。
【００６７】
なお、ブラウザ２１内からプログラムを呼び出せるならば、処理関数保持部１３２は、ブラウザ２１の外におかれていてもよい。
【００６８】
（３ａ）第２のＸＳＬＴ文書と、ＸＳＬＴプロセッサについて
第２のＸＳＬＴ文書１２３は、それ自体、ＸＳＬＴの規格に従うもので、ＸＳＬＴ変換部１２２で第１のＸＳＬＴ文書１２１の一部を別の命令に置き換えたものである。
【００６９】
ここで、ＸＳＬＴ文書のデータ構造と、ＸＳＬＴプロセッサ１２４の動作について説明する（これらは、基本的には、Ｗ３Ｃで定められた規格に従うものである）。
【００７０】
図４は、ＸＳＬＴ文書のデータ構造を示したものである。
【００７１】
ＸＳＬＴ文書３０１は、少なくとも１つのＸＳＬＴテンプレート３０２で構成され、各ＸＳＬＴテンプレート３０２は、条件部３０３と出力部３０４で構成されている。出力部３０４は、少なくとも１つの出力命令３０５から構成されている場合と、出力命令３０５が存在しない場合とがある。
【００７２】
ＸＳＬＴプロセッサ１２４は、入力されたデータＸＭＬ文書１２５中のノードを順に調べ、各ノードがＸＳＬＴテンプレート３０２の条件部３０３に記述された条件に適合するかどうかを調べる。条件に適合した場合、出力部３０４の出力命令にしたがって、当該ノードをＸＭＬ文書やＨＴＭＬ文書等の所定の構造化文書（本例では、ＨＴＭＬ文書）のノードに変換して、出力に追加していく。データＸＭＬ文書１２５中の全てのノードを調べ終るまで上記の手順を繰り返す。
【００７３】
ＸＳＬＴの出力命令には、入力されたＸＭＬ文書１２５中のノードに含まれるデータ（例えば、テキスト値）を出力する命令がある。以下、この命令を「ノード値出力命令」と呼ぶ。具体的には、ＸＳＬＴの命令の図５に示すような、「ｘｓｌ：ｖａｌｕｅ−ｏｆ」という命令４０１〜４０３などがある。もちろん、ノード値出力命令には、「ｘｓｌ：ｖａｌｕｅ−ｏｆ」以外にも存在するが、ここでは、一例として、このノード値出力命令を用いる。
【００７４】
図５は、図２に示したＸＭＬ文書に適用する、第１のＸＳＬＴ文書１２１の具体例を示したものである。
【００７５】
図５に示した第１のＸＳＬＴ文書１２１を、そのまま（第２のＸＳＬＴ文書１２３に変換することなく）、図２に示したデータＸＭＬ文書に適用すると（ＸＳＬＴプロセッサ１２４の処理により）、図６に示したような、図２に示したデータＸＭＬ文書中の所定の構成要素に含まれるデータを表示するための（レイアウトのための整形のなされた）ＨＴＭＬ文書が得られる。図６に示したＨＴＭＬ文書の画面表示例を図１０に示す。
【００７６】
ＸＳＬＴ変換部１２２は、第１のＸＳＬＴ文書をＸＳＬＴプロセッサ１２４に入力する前に、その前処理として、主に、入力された第１のＸＳＬＴ文書１２１の出力命令のうち、上記ノード値出力命令を一連の命令に置き換えるための処理を行う。
【００７７】
図５の各ノード値出力命令４０１〜４０３に対応する構成要素（ノード）は、それぞれ、図７（ａ）〜（ｃ）に示す命令群４１１〜４１３に置き換えられて、第２のＸＳＬＴ文書１２が得られる。
【００７８】
第２のＸＳＬＴ文書１２３とは、具体的には、図５に示した第１のＸＳＬＴ文書中の各ノード値出力命令４０１〜４０３を、それぞれ、図７（ａ）〜（ｃ）に示す命令群４１１〜４１３に置き換えたものである。
【００７９】
ＸＳＬＴ変換部１２２において、図５に示した第１のＸＳＬＴ文書の各ノード値出力命令４０１〜４０３を、それぞれ、図７（ａ）〜（ｃ）に示す命令群４１１〜４１３で置き換えられることにより生成された、第２のＸＳＬＴ文書１２３を用いると、ＸＳＬＴプロセッサ１２４では、データＸＭＬ文書１２５を図９に示すような、ＨＴＭＬ文書としての参照付き中間文書１２９（以下、簡単に中間文書と呼ぶこともある）に変換する。
【００８０】
ここで、第２のＸＳＬＴ文書中の上記３つの命令群４１１〜４１３のうちの命令群４１１を例にとり、図８を参照して上記命令群について説明する。命令群４１１は、４つの命令４２１〜４２４から構成されている。
【００８１】
図８の命令４２１は、ノード値出力命令により生成されるノードであることを参照付き中間文書１２９上で特定するための特定のタグ＜ＳＰＡＮ＞を生成するための命令であり、この命令により、参照付き中間文書１２９中では、ノード値出力命令で生成されたノードが特定のタグ「＜ＳＰＡＮ＞＜／ＳＰＡＮ＞」で囲まれる。
【００８２】
図８の命令４２２は、当該ノード値出力命令により、処理対象とされる、データＸＭＬ文書１２５中のノードの位置を求めるための命令である。具体的には、当該命令は、処理対象のデータＸＭＬ文書１２５中のノードの位置を当該データＸＭＬ文書１２５の先頭から数える命令である「ｘｓｌ：ｎｕｍｂｅｒ」と、その値を変数（“ｘｐａｔｈ”）に代入して次の命令（ここでは、命令４２３）で参照できるようにする「ｘｓｌ：ｖａｒｉａｂｌｅ」命令からなる。
【００８３】
図８の命令４２３は、命令４２１で生成される＜ＳＰＡＮ＞タグに、命令４２２で求めた値（変数（“ｘｐａｔｈ”）に代入されている値）を、属性値として追加する「ｘｓｌ：ａｔｔｒｉｂｕｔｅ」命令である。この変数“ｘｐａｔｈ”の値が後述する参照データ（位置データ）である。
【００８４】
図８の命令４２４は、第１のＸＳＬＴ文書１２１中の当該ノード値出力命令そのものである。すなわち、図５のノード値出力命令４０１に対応する。
【００８５】
なお、第２のＸＳＬＴ文書１２３の記述方法は、上記の他にも種々のものが可能である。
【００８６】
（３ｂ）ＸＳＬＴ変換部の処理動作
図２のＸＳＬＴ変換部１２２の処理動作について、図１７に示すフローチャートを参照して説明する。
【００８７】
ＸＳＬＴ変換部１２２は、第１のＸＳＬＴ文書１２１を受け取ると、図１７に示す手順を実行し、第２のＸＳＬＴ文書１２３を出力し、ＸＳＬＴプロセッサ１２４へ、当該第２のＸＳＬＴ文書１２３を渡す。
【００８８】
この手順では、まず、ＸＳＬＴ変換部１２２は、入力された第１のＸＳＬＴ文書１２１中のノードを１つ読み込む（ステップＳ１）。
【００８９】
続いて、読み込んだノードの種類によって処理を分岐させる（ステップＳ２）。この結果、第１のＸＳＬＴ文書１２１にそれ以上読み込むノードがなければ処理を終了する（ステップＳ３）。
【００９０】
また、ステップＳ２の判定において、当該ノードの種類がノード値出力命令でない場合には、当該ノードをそのまま出力に追加する（ステップＳ４）。そして、ステップＳ１に戻り、第１のＸＳＬＴ文書１２１中の次のノードを読み込む処理に戻る。
【００９１】
一方、ステップＳ２の判定において、ノードの種類が、図５に示すノード値出力命令４０１〜４０３のようなノード値出力命令である場合には、当該ノード値出力命令に代えて、それぞれ、図７（ａ）〜（ｃ）に示す命令群４１１〜４１３を出力に追加する（ステップＳ５〜ステップＳ９）。
【００９２】
このステップＳ５〜ステップＳ９の処理動作について、図８に示す命令群４１１（図７（ａ））を出力する場合を例にとり説明する。
【００９３】
すなわち、ノードの種類がノード値出力命令４０１である場合には、まず、第１の命令４２１としての開始タグ（＜ＳＰＡＮ＞）を出力に追加し（ステップＳ５）、第２の命令４２２を出力に追加し（ステップＳ６）、第３の命令４２３を出力に追加し（ステップＳ７）、当該ノード値出力命令（第４の命令４２４）をそのまま出力に追加する（ステップＳ８）。最後に、第１の命令４２１としての終了タグ（＜／ＳＰＡＮ＞）を出力に追加する（ステップＳ９）。
【００９４】
ステップＳ５〜ステップＳ９にて、ノード値出力命令４０１に代わり、図８に示す命令群４１１（図７（ａ））が出力に追加されると、再びステップＳ１に戻り、スタイルＸＳＬＴ文書１２１中の次のノードを上記同様にして処理する。
【００９５】
このようにして、図５に示したような第１のＸＳＬＴ文書の全てのノードに対し、上記ステップＳ２〜ステップＳ９の処理が終了すると、図５に示した第１のＸＳＬＴ文書中の各ノード値出力命令４０１〜４０３を、それぞれ、図７（ａ）〜（ｃ）に示す命令群４１１〜４１３に置き換えられた第２のＸＳＬＴ文書１２３が生成される。
【００９６】
（４）参照付き中間文書について
参照付き中間文書１２９には、第２のＸＳＬＴ文書中のノード値出力命令で生成されたノードに、当該ノード値出力命令で処理対象となったデータＸＭＬ文書１２５中のノードの位置を表した参照データを付加した（埋め込んだ）、参照付きノードが含まれている。すなわち、表示部１２７上で表示画面を構成する画面構成要素と、当該画面構成要素に対応する元のデータＸＭＬ文書１２５中のノードとを対応付けるための参照データ（当該画面構成要素に対応するデータＸＭＬ文書１２５中のノードへの参照データ）が含まれている。
【００９７】
参照データとは、スタイルＸＳＬＴ文書１２１中のノード値出力命令の処理対象となるデータＸＭＬ文書１２５のノードの位置を表しているデータで、前述の変数“ｘｐａｔｈ”の値に対応する。
【００９８】
例えば、図５に示した第１のＸＳＬＴ文書から生成された、第２のＸＳＬＴ文書１２３を用いると、ＸＳＬＴプロセッサ１２４では、データＸＭＬ文書１２５を、図９に示すような参照付き中間文書１２９（以下、中間文書と呼ぶ）に変換する。
【００９９】
図９に示すように、中間文書１２９には、第１のＸＳＬＴ文書１２１中のノード値出力命令により生成された、＜ＳＰＡＮ＞タグで囲まれたノード４３１〜４３４が存在している。このノード４３１〜４３４をそれぞれ、ここでは参照付きノード４３１〜４３４と呼ぶ。
【０１００】
各参照付きノード４３１〜４３４に含まれるテキスト値（例えば、参照付きノード４３２の場合、＜ＳＰＡＮ＞タグで囲まれている「ｄｏｃｕｍｅｎｔ．ｔｘｔ」）は、画面上に実際に表示されるデータであるが、＜ＳＰＡＮ＞タグの属性を表している部分は、表示部１２７が解釈するだけで、実際には表示されない。
【０１０１】
各参照付きノード４３１〜４３４の参照データは、「ｘｐａｔｈ＝」で表されているもので、参照付きノード４３１の参照データは、「１．＠ｈｒｅｆ」であり、参照付きノード４３２の参照データは、「１．１＠ｎａｍｅ」であり、参照付きノード４３３の参照データは、「１．１２＠ｎａｍｅ」であり、参照付きノード４３４の参照データは、「１．３＠ｎａｍｅ」である。
【０１０２】
図１０は、図９に示した中間文書１２９の画面表示例を示しており、表示部１２７で、図９に示した中間文書１２９を表示した場合を示している。
【０１０３】
図１０に示す中間文書１２９は、動作が付加されていない点を除けば、動作付き文書１３０と同様であり、また、図６に示したＨＴＭＬ文書の表示例と同様である。
【０１０４】
各参照付きノード４３１〜４３４には、前述したように、第１のＸＳＬＴ文書１２１中のノード値出力命令の処理対象となったデータＸＭＬ文書１２５のノードの位置を表した参照データ（当該データＸＭＬ文書１２５の先頭のノードから数えて何番目にあるかを表しているデータで、前述の変数“ｘｐａｔｈ”の値に対応する）を含む。
【０１０５】
この参照データは、データＸＭＬ文書１２５中のノードの個数を数えたものを符号化したものであってもよいし、ＸＰａｔｈを用いて参照データを表してもよい。図９中ので「“１．＠ｈｒｅｆ”」が前者の例であり、データＸＭＬ文書１２５中のノードを各階層ごとにかぞえたもの又は属性名を表すアットマーク「＠」を、ピリオド「．」で連結した文字列としたものである。例えば、「１．２．＠ｈｒｅｆ」は、データＸＭＬ文書中の第１階層の１番目のノード（＜Ｆｏｌｄｅｒ＞）の、２番目の子どものノード（２番目の＜Ｆｉｌｅ＞）の、属性ｈｒｅｆを指し示すことを意味する。
【０１０６】
なお、中間文書１２９中で、参照データを保持する方法としては、上記のようなタグや属性値を用いる方法の他に、ＨＴＭＬのコメントとして追加する方法もある。
【０１０７】
（５ａ）動作付き文書について
次に、動作付き文書１３０について説明する。
【０１０８】
動作付き文書１３０は、表示部１２７上で表示画面を生成するためのデータと、表示されるデータ（表示要素）に対応付けられた（プログラム）が含まれている。図１３に、この動作付き文書の一例を示す。
【０１０９】
図１３は、図３のデータＸＭＬ文書１２５と図５のスタイルＸＳＬＴ文書１２１と、図１２の動作ＸＭＬ文書１２８とから生成される、動作付きの（プログラムを含む）ＨＴＭＬ文書である。
【０１１０】
図１４は、図１３に示した動作付き文書１３０の画面表示例であり、表示部１２７で図１３に示した動作付き文書１３０を基に、表示画面を生成して、ディスプレイに表示した例を示している。
【０１１１】
図１３の点線で囲まれたノード７０１〜７０４は、図９に示した参照付き中間文書中の参照付きノードを、図１２に示した動作ＸＭＬ文書１２８の記述に従って、動作の付加されたノード、すなわち、動作付きノードである。
【０１１２】
ノード７０１〜７０４のそれぞれは、動作ＸＭＬ文書１２８の動作テンプレート中の出力部の記述に従って、参照付き中間文書１２９（あるいは、参照付き中間文書１２９とデータＸＭＬ文書１２５）とから生成されたものである。
【０１１３】
図１３のノード７０２の実線で囲まれた部分７１０は、操作入力部１３１からのユーザによる操作（例えば、マウスによるクリック操作）により、処理関数保持部１３２に保持されている処理プログラム（ＦｉｌｅＯｐｅｎ）を呼び出して起動させるためのプログラムである。この呼び出しは、例えば、ブラウザ組み込みの機能で実現される。
【０１１４】
ここで呼び出す「ＦｉｌｅＯｐｅｎ」というプログラムは処理関数保持部１３２に格納されている。
【０１１５】
（５ｂ）動作ＸＭＬ文書と、動作付加変換部について
まず、動作ＸＭＬ文書１２８について説明する。
【０１１６】
図１１は、動作ＸＭＬ文書１２８のデータ構造を示したものである。
【０１１７】
図１１において、動作ＸＭＬ文書５０１は、少なくとも１つの動作テンプレート５０２で構成され、各動作テンプレート５０２は、条件部５０３と出力部５０４で構成されている。出力部５０４は、少なくとも１つの出力命令５０５から構成されている場合と、出力命令５０５が存在しない場合とがある。
【０１１８】
図１２は、動作ＸＭＬ文書１２８の一具体例を示したものである。
【０１１９】
条件部５０３には、データＸＭＬ文書１２５中の動作を付加するノード（ノードに含まれるデータ）に対する条件が記述され、動作付加変換部１２６での処理時に、この条件部５０３に記述された条件と、参照付き中間文書１２９中の参照付きノードの参照データにより特定されるデータＸＭＬ文書１２５中のノードとが比較される。そして、データＸＭＬ文書１２５中の当該ノードが条件部５０３に記述された条件に合うときには、当該動作テンプレート中の出力部５０４に記述されている動作を、当該参照付き中間文書１２９中の参照付きノードに付加する。例えば、出力部５０４の記述に従って、データＸＭＬ文書１２５中のノードを基に動作付きノードを生成し、これで当該参照付きノードを書き換える。
【０１２０】
動作テンプレート５０２の出力部５０４に含まれる出力命令５０５は、ＸＳＬＴ文書中のノード値出力命令と同様な命令であり、動作付加変換部１２６における処理中に、データＸＭＬ文書１２５から値を取得し、出力する。
【０１２１】
なお、動作テンプレート５０２を、図９に示すようなＸＭＬ文書として保持する代わりに、条件部５０３とデータＸＭＬ文書１２５から値を出力するテンプレートの組を表として保持していてもよい。
【０１２２】
次に、動作付加変換部１２６の処理動作について、図１８に示すフローチャートを参照して説明する。
【０１２３】
動作付加変換部１２６は、データＸＭＬ文書１２５と参照付き中間文書１２９と、動作ＸＭＬ文書１２８を受け取り、図１８に示す手順を実行して、動作付き文書１３０を出力する。この動作付き文書１３０は、表示部１２７に渡される。
【０１２４】
まず、動作付加変換部１２６は、入力された参照付き中間文書１２０１からノードを１つ読み込む（ステップＳ２１）。
【０１２５】
続いて、当該読み込んだノードの種類によって処理を分岐させる（ステップＳ２２）。この結果、参照付き中間文書１２９に、これ以上読み込むノードがなければ処理を終了する（ステップＳ２３）。
【０１２６】
ステップＳ２２の判定において、当該読み込んだノードが、参照付きノードでない場合には、入力されたノードをそのまま出力に追加する（ステップＳ３０）。そして、ステップＳ２１に戻り、参照付き中間文書１２９中の次のノードを読み込む処理に戻る。
【０１２７】
一方、ステップＳ２２の判定において、当該読み込んだノードが、参照付きノードである場合には、その中の参照データにより特定されるデータＸＭＬ文書１２５中のノードを取り出す（ステップＳ２５）。続いて、動作ＸＭＬ文書１２５から動作テンプレートを１つ取り出し（ステップＳ２６）、当該取り出した動作テンプレート中の条件部５０３に記述された条件に、ステップＳ２５で取り出されたノードが一致するか否かを調べる（ステップＳ２８）。条件に合う場合には、当該動作テンプレート中の出力部５０４に記述されているプログラムに対応する記述を、当該参照付き中間文書１２９中の参照付きノードに付加すべく、出力部５０４の記述に従って、データＸＭＬ文書１２５中のノードを基に動作付きノードを生成し、これで当該参照付きノードを書き換える。すなわち、当該参照付きノードに代えて動作付きノードを出力に追加する（ステップＳ２９）。そして、ステップＳ１に戻り、参照付き中間文書１２９中の次のノードを読み込む。
【０１２８】
ステップＳ２８において、条件に合わない場合には、再びステップＳ２６へ戻り、動作ＸＭＬ文書１２５から次の動作テンプレートを１つ取り出す。このとき、取り出す動作テンプレートがなければ（ステップＳ２７）、当該ノードがそのまま出力される（ステップＳ３０）。そして、ステップＳ１に戻り、参照付き中間文書１２９中の次のノードを読み込む。
【０１２９】
なお、動作テンプレート５０２の出力部５０４の命令に、データＸＭＬ文書１２５だけでなく、参照付き中間文書１２９に対する命令を加え、ステップＳ２９において、動作付きノードを生成する際には、データＸＭＬ文書１２５中のノードだけではなく、参照付き中間文書１２９から読み込まれたノードも用いるように変更し、動作ＸＭＬ文書１２８とデータＸＭＬ文書１２５から生成されるノードだけではなく、参照付き中間文書１２９内のノードも利用して出力ノードを生成してもよい。あるいは、動作付きノードを生成する際には、データＸＭＬ文書１２５中のノードに代えて、参照付き中間文書１２９から読み込まれたノードを用いるように変更し、動作ＸＭＬ文書１２８と参照付き中間文書１２９内のノードを利用して出力ノードを生成してもよい。
【０１３０】
また、参照付き中間文書１２９を生成する際に、参照付きノードに、データＸＭＬ文書１２５のノードへの参照データだけでなく、どのようなＸＳＬＴ命令で変換されたかの情報を当該参照データとともに保持させるようにし、動作テンプレート５０２の条件部５０３に、データＸＭＬ文書１２５中の動作を付加するノードに対する条件だけでなく、どのようなＸＳＬＴ命令で変換されたのかを表した情報も条件として記述し、ステップＳ２８においてそれらを判定材料にしてもよい。
【０１３１】
（６）動作付き文書の動きについて
図１３に示した動作付き文書１３０の動作付きノードには、参照付き中間文書１２９にはなかったアプリケーションとしての働きが付加されている。
【０１３２】
動作付加変換部１３０で生成された図１３に示した動作付き文書１３０は、表示部１２７によりディスプレイに表示される。ユーザは、操作入力部１３１からマウス等を用いて当該表示画面上の動きの付加されている画面構成要素を操作（例えば、マウスクリック）する。
【０１３３】
図１０は、図９に示した参照付き中間文書１２９のブラウザ上での表示例であり、図１４は、図１３に示した動作付き文書１３０のブラウザ上での表示例である。
【０１３４】
図１４において、表示画面上の領域７５１は、図１３の動作付きノード７０１に対応する画面構成要素であって、ＨＴＭＬタグの＜ＩＮＰＵＴ＞で表現されるテキストボックスが挿入されている。表示画面上の領域７５２は、図１３の動作付きノード７０２に対応する画面構成要素であって、所定のユーザ操作（ここでは、ワンクリック操作）をきっかけにして処理を実行するプログラムが埋め込まれている。表示画面上の領域７５３は、図１３の動作付きノード７０３に対応する画面構成要素であって、所定のユーザ操作（ここでは、ワンクリック操作）をきっかけにして処理を実行するプログラムが埋め込まれている。表示画面上の領域７５４は、図１３の動作付きノード７０４に対応する画面構成要素であって、所定のユーザ操作（ここでは、ワンクリック操作）をきっかけにして処理を実行するプログラムが埋め込まれている。
【０１３５】
例えば、ユーザがマウスで上記領域のいずれかをクリックすると、操作入力部１３１は、動作付き文書１３０上の当該領域に対応する動作付きノードに通知を行い、これにより当該ノードに埋め込まれたプログラムが呼び出される。すなわち、図１４の表示画面上の領域７５２〜７５３のいずれかがクリックされると、当該領域に対応する動作付きノードに埋め込まれているＦｉｌｅＯｐｅｎ関数が駆動される。また、図１４の表示画面上の領域７５４がクリックされると、当該領域に対応する動作付きノードに埋め込まれているＤｉｒＭｏｖｅ関数が駆動される。また、図１４の表示画面上の領域７５１のテキストボックス中の文字は編集することができ、ユーザが当該テキストボックス中でキーを押し下げた場合にはｅｄｉｔＤｉｒｅｃｔｏｒｙ関数が呼び出される。
【０１３６】
以上の、ＦｉｌｅＯｐｅｎ、ＤｉｒＭｏｖｅ，ＥｄｉｔＤｉｒｅｃｏｔｙのような関数は、処理関数保持部１３２に保持されており、それぞれ、例えば、ファイルを読み込む、ディレクトリを変更してデータＸＭＬ文書を更新する、といった機能を有する。
【０１３７】
また、動作付き文書１３０に付加される（埋め込まれる）プログラムとしては、上記のように、処理関数保持部１３２に保持されている任意のプログラムを呼び出すプログラムであってもよい。
【０１３８】
処理関数保持部１３２には、例えば、データＸＭＬ文書１２５、第１のＸＳＬＴ文書１２１、動作ＸＭＬ文書１２８を更新する機能を含んでもよく、また、任意の処理を行う関数を保持することができる。
【０１３９】
なお、付加されたプログラムは、必ずしも、処理関数保持部１３２に保存されている関数などのアプリケーションプログラムを呼び出すプログラムである必要はなく、動作付き文書１３０に付加されたプログラム自体がアプリケーションプログラムであってもよい。
【０１４０】
（７）参照データの他の記憶例
第１のＸＳＬＴ文書１２１中の各ノード値出力命令で処理対象となるデータＸＭＬ文書１２５中のノードの位置と、当該ノード値出力命令で出力された中間文書１２９中のノードの位置とを対応付けるためには、必ずしも、上記のような参照データを参照付き中間文書１２９の中に埋め込む必要はない。
【０１４１】
第１のＸＳＬＴ文書１２１中の各ノード値出力命令で処理対象となるデータＸＭＬ文書１２５中のノード（の位置）と、当該ノード値出力命令で出力された中間文書１２９中のノード（の位置）との対応関係は、参照付き中間文書１２９とは別個記憶するようにしてもよい。
【０１４２】
この場合、当該対応関係は、図１５に示すようなテーブルで保持してもよい。中間文書１２９中、データＸＭＬ文書１２５中のノード位置を表すために、ＸＰａｔｈを用いてもよいし、単に文書の先頭から何番目のノードであるかを表したものでもよい。また、文書の階層構造に従って、各階層毎に、その階層の先頭からノードを数えて、それを適当な区切り文字（例えば「．」）で区切ることにより表してもよい。例えば、あるノードが第１階層の第１番目のノードの下位階層の２番目のノードである場合は、「１．２」と表す。
【０１４３】
図１６は、図１５に示したようなテーブルで、上記対応関係を記憶する場合の構造化文書処理装置の構成例を示したものである。
【０１４４】
なお、図１６において、図２と同一部分には同一符号を付し、異なる部分についてのみ説明する。
【０１４５】
すなわち、図１６では、２つのＸＳＬＴプロセッサ１２４ａ、１２４ｂを有し、一方のＸＳＬＴプロセッサ１２４ａでは、データＸＭＬ文書１２５を整形したＨＴＭＬ文書１４１（参照データを含まない中間文書１２９に対応する）を生成し、他方のＸＳＬＴプロセッサ１２４ｂでは、上記対応関係を表したデータ（ここでは、テーブル１４０）を生成する。
【０１４６】
図１６では、ＸＳＬＴプロセッサを２個用意するものとしたが、１個のみ用意しこれを２つのデータ生成に兼用してもよい（すなわち、実際にプログラム上ＸＳＬＴプロセッサが２個必要なわけではなく、２組のＸＭＬ文書とＸＳＬＴ文書から、表示部１２７に渡すＨＴＭＬ文書１４１のノードとデータＸＭＬ文書１２５のノードとの対応関係を表したデータの２個のデータが得られればよい）。
【０１４７】
（８）動作付加変換部の他の処理動作
動作付加変換部１２６は、実際に動作付き文書１３０を作成する前に、あらかじめ、参照付きノードに含まれる参照データにより特定される、データＸＭＬ文書中のノード位置（具体的には、さらに、当該ノードに含まれるプログラムを付加する対象としてのデータ位置）と、当動作ＸＭＬ文書１２８とから生成される動作付きノードの対応関係を表したテーブル（動作対応テーブル）を作成してもよい。
【０１４８】
動作対応テーブルの一例を図１９に示す。動作対応テーブルとは、参照付き中間文書１２９中の参照付きノードに含まれている、データＸＭＬ文書１２５上のノード位置（と、当該ノードに含まれるプログラムを付加する対象としてのデータ位置）を表した参照データと、当該参照付き中間文書１２９中の参照付きノードを置き換えるための動作付きノードとを対応させ、テーブルにしたものである。
【０１４９】
図１９のテーブルは、参照付き中間文書１２９の参照付きノードに含まれる参照データを用いることなく、例えば、図３のデータＸＭＬ文書１２５と、図１２の動作ＸＭＬ文書１２８とから生成することもできる。
【０１５０】
参照データとしては、動作ＸＭＬ文書１２８の条件部５０３にあてはまるデータＸＭＬ文書１２５中のノード位置（と、当該ノードに含まれるプログラムを付加する対象としてのデータ位置）を記録する。
【０１５１】
各参照データに対応する動作付きノードは、動作ＸＭＬ文書１２８の中で、当該参照データに対応するデータＸＭＬ文書１２５中のノードが当てはまる条件を記述した条件部５０３を持つ動作テンプレート５０２の出力部５０４に記述されている命令にしたがって、当該参照データにより特定されるデータＸＭＬ文書１２５中のノードから生成されるものである。
【０１５２】
なお、この例では、出力部５０４に記載されている命令は、ＸＳＬＴ命令に準じてデータＸＭＬ文書１２５のノードから、動作付きノードを生成する。これは、図１８中のステップＳ２９の動作と同様である。
【０１５３】
例えば、図３のデータＸＭＬ文書中の破線で囲まれた部分２０１は、図１２の動作ＸＭＬ文書の２番目の動作テンプレート５０２にある条件部５０３に記述されている条件、すなわち、実線で囲まれた部分５１１で示された条件にあてはまる。図３のデータＸＭＬ文書中の当該部分２０１に対応する位置は、ノード「＜Ｄｉｒｅｃｔｏｒｙ  ｎａｍｅ＝“ｄｏｃ”  …＞」に含まれ、しかも、「ｎａｍｅ」という属性にある。従って、この位置は、第１階層の１番目のノードの下位階層（第２階層）の３番目の「＠ｎａｍｅ」に対応するので、参照データとしては、「１．３．＠ｎａｍｅ」となる。従って、図１９中の破線で囲まれた部分１８１で示すように、動作対応テーブルの参照データの欄に「１．３．＠ｎａｍｅ」を記録する。これに対応する、動作付きノードは、図１２の実線で囲まれた出力部に記述された命令５１２に従って、図３のデータＸＭＬ文書中の破線で囲まれた部分２０１を含むノードを基に生成される。
【０１５４】
次に、図１９に示した動作対応テーブルを用いた動作付加変換部１２６の処理動作について、図２０に示すフローチャートを参照して説明する。なお、図２０において、図１８と同一部分には同一符号を付し、異なる部分についてのみ説明する。すなわち、図２０では、図１８のステップＳ２５〜２９が、ステップＳ４５〜ステップＳ４６に置き換わっている。
【０１５５】
図２０では、ステップＳ２１が開始する前に、まず、図１９に示すような動作対応テーブルが作成される。
【０１５６】
動作付加変換部１２６は、入力された参照付き中間文書１２０１からノードを１つ読み込み（ステップＳ２１）、当該読み込んだノードの種類が、参照付きノードである場合には、当該参照付きデータに含まれる参照データに対応する（一致する）参照データを動作対応テーブルから検索する（ステップＳ４５）。参照データが動作対応テーブル中にないときは、読み込んだノードをそのまま出力する（ステップＳ３０）。
【０１５７】
一方、当該参照付きデータに含まれる参照データに対応する（一致する）参照データが動作対応テーブルに存在するときは、当該テーブルの中から当該参照データに対応する動作付加ノードを出力する（ステップＳ４６）。
【０１５８】
動作付加ノードが出力された場合には、図１８と同様にステップＳ２１に戻る。
【０１５９】
以上説明したように、上記実施形態によれば、構造化文書としての第１の文書（データＸＭＬ文書）の複数の構成要素のうちの１つである第１の構成要素に含まれる第１のデータを表示するための第２の構成要素を生成するための命令である第１の命令（例えば、第１のＸＳＬＴ文書に含まれるノード値出力命令に対応する）に、当該第１の命令で処理対象となる第１の文書中の第１のデータの位置を抽出するための第２の命令を付加し、（ｂ）第１の命令を基に、第１の文書の第１の構成要素から第２の構成要素を生成するとともに、第２の命令を基に、第１の文書から第１のデータの位置を参照データとして抽出して、（ｃ）参照データと第２の構成要素とを対応付け（例えば、参照付きノードに対応する）、（ｄ）第１のデータに付加するプログラムを、当該第１のデータの位置を表す参照データに対応付けられた第２の構成要素に付加することにより（例えば、動作付きノードを生成することに対応する）、ＸＭＬ文書などの構造化文書（例えば、データＸＭＬ文書に対応する）を表示用にデータに整形するための規則（例えば、第１のＸＳＬＴ文書に対応する）と、当該ＸＭＬ文書の構成要素にプログラムを付加するための規則（例えば、動作ＸＭＬ文書に対応する）とを、それぞれ別個に記述して、これら２種類の規則から、ＸＭＬ文書（データＸＭＬ文書）を表示用の動作付き構造化文書（例えば、動作付き文書）に変換することができる。
【０１６０】
また、上記実施形態によれば、ＷＥＢトップアプリケーションでの３要素である、データＸＭＬ文書に対応する「表示するデータ」、第１のＸＳＬＴ文書に対応する「レイアウト/みため」、動作ＸＭＬ文書に対応する「動作」を独立した文書に定義できる。そのため、動作ＸＭＬ文書を作成するのは、必要なプログラミングの技術を持ったプログラマが、第１のＸＳＬＴ文書を作成するのはデザイナが、というように、開発者を分けられる。
【０１６１】
第１のＸＳＬＴ文書を変更することにより、「レイアウト/みため」だけを変更することができる。動作、表示するデータ（動作ＸＭＬ文書、データＸＭＬ文書）はそのままで、レイアウトのみを変更できる。
【０１６２】
動作ＸＭＬ文書を変更することにより、「動作」だけを変更することができる。表示するデータ、レイアウト（データＸＭＬ文書、第１のＸＳＬＴ文書）はそのままで、動作だけを変更することができる。
【０１６３】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピーディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。
【０１６４】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成要件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（のなくとも１つ）が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１６５】
【発明の効果】
以上説明したように、本発明によれば、構造化文書としての例えばＸＭＬ文書を表示用にデータ整形するための規則と、当該構造化文書の構成要素にプログラムを付加するための規則とを、それぞれ別個に記述して、これら２種類の規則から、当該構造化文書を表示用の動作付き構造化文書に変換することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る構造化文書処理システムの構成例を示す図。
【図２】構造化文書処理装置の構成例を示す図。
【図３】データＸＭＬ文書の具体例を示す図。
【図４】ＸＳＬＴ文書のデータ構造を示した図。
【図５】第１のＸＳＬＴ文書の具体例を示す図。
【図６】図３のデータＸＭＬ文書を図５に示した第１のＸＳＬＴ文書で変換した結果得られたＨＴＭＬ文書を示した図。
【図７】ＸＳＬＴ変換部で、第１のＸＳＬＴ文書中のノード値出力命令を置き換える命令群（構成要素）の例を示した図。
【図８】図７（ａ）に示した命令群を説明するための図。
【図９】参照付き中間文書の具体例を示した図。
【図１０】参照付き中間文書の表示例を示した図。
【図１１】動作ＸＭＬ文書のデータ構造を説明するための図。
【図１２】動作ＸＭＬ文書の具体例を示した図。
【図１３】動作付き文書の具体例を示した図。
【図１４】動作付き文書の表示例を示した図。
【図１５】第１のＸＳＬＴ文書中の各ノード値出力命令で処理対象となるデータＸＭＬ文書中のノードの位置と、当該ノード値出力命令で出力された中間文書１２９中のノードの位置との対応関係の記憶例を示した図。
【図１６】構造化文書処理装置の他の構成例を示した図。
【図１７】ＸＳＬＴ変換部の処理動作を説明するためのフローチャート。
【図１８】動作付加変換部の処理動作を説明するためのフローチャート。
【図１９】参照データと動作付きノードとの対応関係を記憶するための動作対応テーブルの一例を示した図。
【図２０】動作付加変換部の他の処理動作を説明するためのフローチャート。
【図２１】従来の構造化文書処理装置の構成例を示した図。
【符号の説明】
１…第１の計算機
２…第２の計算機
３…ネットワーク
１１…Ｗｅｂサーバ
２１…Ｗｅｂブラウザ
２２…構造化文書処理装置
１２１…第１のＸＳＬＴ文書
１２２…ＸＳＬＴ変換部
１２３…第２のＸＳＬＴ文書
１２４…ＸＳＬＴプロセッサ
１２５…データＸＭＬ文書
１２６…動作付加変換部
１２７…表示部
１２８…動作ＸＭＬ文書
１２９…参照付き中間文書
１３０…動作付き文書
１３１…操作入力部
１３２…処理関数保持部
【図１】
2004213082.tif 000003
【図２】
2004213082.tif 000004
【図３】
2004213082.tif 000005
【図４】
2004213082.tif 000006
【図５】
2004213082.tif 000007
【図６】
2004213082.tif 000008
【図７】
2004213082.tif 000009
【図８】
2004213082.tif 000010
【図９】
2004213082.tif 000011
【図１０】
2004213082.tif 000012
【図１１】
2004213082.tif 000013
【図１２】
2004213082.tif 000014
【図１３】
2004213082.tif 000015
【図１４】
2004213082.tif 000016
【図１５】
2004213082.tif 000017
【図１６】
2004213082.tif 000018
【図１７】
2004213082.tif 000019
【図１８】
2004213082.tif 000020
【図１９】
2004213082.tif 000021
【図２０】
2004213082.tif 000022
【図２１】
2004213082.tif 000023