(57)【要約】【課題】ＸＭＬ文書をＸＳＬＴで変換した画面イメージのままで、元のＸＭＬ文書や変換で用いられるＸＳＬＴ文書の編集やデバッグを行うことを可能にしたＸＭＬ文書編集装置を提供すること。【解決手段】ＸＳＬＴ変換部９０２は、ＸＳＬＴ文書９０１に、ＸＭＬ文書９０５中のノードへの参照を変換後ＨＴＭＬ文書のノードに保持させるための命令を追加して、ＸＳＬＴ文書９０３にする。ＸＳＬＴプロセッサ９０４は、ＸＭＬ文書９０５と変換後ＸＳＬＴ文書９０３から変換後ＨＴＭＬ文書を生成する。このＨＴＭＬ文書は、記憶部９０６に記憶され、表示画面９０７に表示される。ユーザがＨＴＭＬ文書の画面イメージ上であるノードを編集すると、これが更新データ入力部９０８から取り込まれ、ＸＭＬ文書更新部９０９は、該ノードが保持する参照に基づいてＸＭＬ文書９０５中の対応するノードを編集する。【選択図】　　図５
2004030582.tif 000002
【特許請求の範囲】
【請求項１】
第１のＸＳＬＴ文書を、該第１のＸＳＬＴ文書の構造に基づき文書編集のための命令を追加した、第２のＸＳＬＴ文書へ変換する変換手段と、
第１の構造化文書に前記第２のＸＳＬＴ文書を適用して第２の構造化文書を生成する生成手段とを備えたことを特徴とする構造化文書編集装置。
【請求項２】
前記命令は、前記第２の構造化文書の構造と、前記第１の構造化文書の構造又は前記第１のＸＳＬＴ文書の構造のうちの少なくとも一方の構造との関係を示す第１のデータを、前記生成手段に生成させるための第１の命令を含むことを特徴とする請求項１に記載の構造化文書編集装置。
【請求項３】
表示装置の表示画面上に前記第２の構造化文書を表示させるための制御を行う表示制御手段と、
前記表示画面上で前記第２の構造化文書に対する編集操作を受け付けるための編集手段と、
前記編集手段により受け付けられた前記編集操作及び前記生成手段により生成された前記第１のデータに基づいて、前記第２の構造化文書又は前記第１のＸＳＬＴ文書のうちの少なくとも一方の文書の内容を更新する更新処理を行う更新手段とを更に備えたことを特徴とする請求項２に記載の構造化文書編集装置。
【請求項４】
前記命令は、前記第２の構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになった前記第１の構造化文書中のノードを特定可能とする第２のデータを、前記生成手段に生成させるための第２の命令を含むことを特徴とする請求項１に記載の構造化文書編集装置。
【請求項５】
表示装置の表示画面上に前記第２の構造化文書を表示させるための制御を行う表示制御手段と、
前記表示画面上で前記第２の構造化文書のノードに対する編集操作を受け付けるための編集手段と、
前記編集手段により前記第２の構造化文書の或るノードに対する前記編集操作が受け付けられた場合に、前記第２のデータに基づいて、該或るノードのもととなった前記第１の構造化文書中のノードを特定し、該編集操作に基づいて、該特定されたノードに関する更新処理を行う更新手段とを更に備えたことを特徴とする請求項４に記載の構造化文書編集装置。
【請求項６】
前記編集操作は、前記第２の構造化文書のノードの持つ値に対する編集操作であることを特徴とする請求項４または５に記載の構造化文書編集装置。
【請求項７】
前記命令は、前記第２の構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになった前記第１のＸＳＬＴ文書中のノードを特定可能とする第３のデータを、前記生成手段に生成させるための第３の命令を含むことを特徴とする請求項１に記載の構造化文書編集装置。
【請求項８】
表示装置の表示画面上に前記第２の構造化文書を表示させるための制御を行う表示制御手段と、
前記表示画面上で前記第２の構造化文書のノードに対する編集操作を受け付けるための編集手段と、
前記編集手段により前記第２の構造化文書の或るノードに対する前記編集操作が受け付けられた場合に、前記第３のデータに基づいて、該或るノードのもととなった前記第１のＸＳＬＴ文書中のノードを特定し、該編集操作に基づいて、該特定されたノードに関する更新処理を行う更新手段とを更に備えたことを特徴とする請求項７に記載の構造化文書編集装置。
【請求項９】
前記編集操作は、前記第２の構造化文書のノードの持つスタイル属性に対する編集操作であることを特徴とする請求項７または８に記載の構造化文書編集装置。
【請求項１０】
前記スタイル属性は、フォントサイズ、フォント種類、テーブルの幅、文字の色又は背景の色であることを特徴とする請求項９に記載の構造化文書編集装置。
【請求項１１】
前記命令は、前記ノードに対する編集方法を指定する第４のデータを、前記生成手段に生成させるための第４の命令を含むことを特徴とする請求項４または７に記載の構造化文書編集装置。
【請求項１２】
前記命令は、前記ノードに対する編集方法を指定する第４のデータを、前記生成手段に生成させるための第４の命令を含み、
前記編集手段は、前記表示画面上で前記第２の構造化文書のノードに対する編集操作を受け付けるにあたって、前記第４のデータに基づいて、該ノードに対して指定された前記編集方法によって前記編集操作を受け付けることを特徴とする請求項５または８に記載の構造化文書編集装置。
【請求項１３】
前記編集方法は、テキストボックスによる編集方法又は選択ボックスによる編集方法であることを特徴とする請求項１１または１２に記載の構造化文書編集装置。
【請求項１４】
前記命令は、前記第２の構造化文書中のノードの全部又は一部について、当該ノードを生成するにあたって適用された前記第１のＸＳＬＴ文書中のテンプレートを特定可能とする第５のデータを、前記生成手段に生成させるための第５の命令を含むことを特徴とする請求項１に記載の構造化文書編集装置。
【請求項１５】
表示装置の表示画面上に前記第２の構造化文書を表示させるための制御を行う表示制御手段と、
前記表示画面上で前記第２の構造化文書のノードに対する選択指示を受け付けるための編集手段と、
前記編集手段により前記第２の構造化文書の或るノードに対する前記選択指示が受け付けられた場合に、前記第５のデータに基づいて、該或るノードに適用された前記第１のＸＳＬＴ文書中のテンプレートを特定し、該特定されたテンプレートに関する情報を前記表示画面に表示させるための制御を行う第２の表示制御手段とを更に備えたことを特徴とする請求項１４に記載の構造化文書編集装置。
【請求項１６】
前記生成手段は、生成した前記データを、前記第２の構造化文書中に記録することを特徴とする請求項２，４，７、１１または１４に記載の構造化文書編集装置。
【請求項１７】
前記生成手段は、生成した前記データを前記第２の構造化文書中に記録するにあたって、前記第２の構造化文書の内容であっても表示しないものとして規定された形態で記録することを特徴とする請求項１６に記載の構造化文書編集装置。
【請求項１８】
前記生成手段は、生成した前記データを、タグの一部若しくは属性値又はコメントとして、前記第２の構造化文書中に記録することを特徴とする請求項１６に記載の構造化文書編集装置。
【請求項１９】
前記変換手段は、前記第１のＸＳＬＴ文書中に指定された条件を満たすノード又はテンプレートが存在する場合に、該ノード又はテンプレートに対して、該満たすべき条件に対応して指定された前記命令を追加するものであることを特徴とする請求項１に記載の構造化文書編集装置。
【請求項２０】
前記条件及び該条件に対応する前記命令を指定する情報を入力する入力手段を更に備えたことを特徴とする請求項１６に記載の構造化文書編集装置。
【請求項２１】
前記条件は、前記第２の構造化文書のノードのうちで編集を可能にするノードを生成するもととなる前記第１のＸＳＬＴ文書のノードまたはテンプレートを指定するものであるであることを特徴とする請求項１９または２０に記載の構造化文書編集装置。
【請求項２２】
前記条件は、前記第２の構造化文書のノードのうちで編集可能にするノードを生成するもととなる前記第１の構造化文書のノードに関係する前記第１のＸＳＬＴ文書のノードまたはテンプレートを指定するものであるであることを特徴とする請求項１９または２０に記載の構造化文書編集装置。
【請求項２３】
サーバ装置からネットワークを介して前記第１の構造化文書及び第１のＸＳＬＴ文書を取得する手段を更に備えたことを特徴とする請求項３、５、８、１２または１５に記載の構造化文書編集装置。
【請求項２４】
前記変換手段及び前記生成手段をサーバ側に搭載し、該サーバとネットワークを介して通信可能な端末側に前記表示制御手段、前記編集手段及び前記更新手段を搭載したことを特徴とする請求項３、５、８、１２または１５に記載の構造化文書編集装置。
【請求項２５】
前記第２の構造化文書は、ＨＴＭＬ文書、ＸＨＴＭＬ文書、ＳＶＧ文書、ＭａｔｈＭＬ文書又はＸＭＬ文書であることを特徴とする請求項１ないし２４のいずれか１項に記載の構造化文書編集装置。
【請求項２６】
第１のＸＳＬＴ文書を、該第１のＸＳＬＴ文書の構造に基づき文書編集のための命令を追加した、第２のＸＳＬＴ文書へ変換する変換ステップと、
第１の構造化文書に前記第２のＸＳＬＴ文書を適用して第２の構造化文書を生成する生成ステップとを有することを特徴とする構造化文書編集方法。
【請求項２７】
第１のＸＳＬＴ文書を、該第１のＸＳＬＴ文書の構造に基づき文書編集のための命令を追加した、第２のＸＳＬＴ文書へ変換する変換機能と、
第１の構造化文書に前記第２のＸＳＬＴ文書を適用して第２の構造化文書を生成する生成機能とをコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、構造化文書を表示画面上で編集するための構造化文書編集装置、構造化文書編集方法及びプログラムに関する。
【０００２】
【従来の技術】
近年、インターネット技術、特にＷｅｂ技術が普及し、ＨＴＭＬ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述された文書は、ＯＳやＷｅｂブラウザの種類にかかわらずどこでも閲覧できるようになった。
【０００３】
そして、ＨＴＭＬ文書では、文章と、スタイル情報（フォントサイズ、フォント種類、文字の色、背景の色、テーブルの幅などの画面への表示の仕方に関係する情報）とが混在しており、また、文章中のテキストを囲うタグは画面上での構造に関する情報しかもてないため、ＨＴＭＬ文書の内容は計算機で利用する情報としては活用しづらかった。このため、意味を持たせたタグでテキストを囲って構造化する技術である構造化文書技術の一つとして、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ　ＭａｒｋｕｐＬａｎｇｕａｇｅ）（例えば、非特許文献１参照）が標準化され、広く使われるようになった。
【０００４】
一方、ＸＭＬ文書そのものは人間にとって読みづらいため、ＸＭＬ文書を、スタイル情報を追加するなどしたＨＴＭＬ文書に変換することによって、見やすい形に整形した上で、Ｗｅｂブラウザ上で閲覧可能にする、スタイル技術の一つとして、ＸＳＬＴ（ＸＳＬ　Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）（例えば、非特許文献２参照）が開発され、標準化された。
【０００５】
ＸＳＬＴは、ＸＭＬで記述されたＸＭＬ文書を変換するためのプログラム言語であり、ＸＳＬＴで記述されたＸＳＬＴ文書を実行し、ＸＭＬ文書を変換するプログラムは、ＸＳＬＴプロセッサと呼ばれ、そして、ＸＳＬＴプロセッサを内蔵したＷｅｂブラウザが現在普及しつつある。
【０００６】
そして、このＸＭＬ文書を編集する手段としては、テキストエディタで直接データを編集する方法や、専用のエディタで階層構造上で操作する方法の他に、特定の用途向けのＸＭＬ文書のようにデータ項目が決まっている場合には、その用途専用のＨＴＭＬフォームを作成し、そのフォームに入力された内容により、Ｗｅｂサーバで元のＸＭＬ文書を更新する方法などがある。
【０００７】
一方、ＸＳＬＴ文書を編集するには、専用の編集装置を用いる方法や、ＸＳＬＴ文書を直接テキストエディタで編集する方法がある。また、ＸＳＬＴ文書での変換が正しく動くかどうかデバッグする方法としては、専用のデバッガを用いるか、ＸＳＬＴ文書を書き換え、Ｗｅｂブラウザ上で結果を確認しながら行う方法があった。
【０００８】
なお、ＸＳＬＴ文書によりＸＭＬ文書を変換して得られる構造化文書としては、ＨＴＭＬ文書の他に、例えば、ＸＨＴＭＬ（Ｔｈｅ　Ｅｘｔｅｓｉｂｌｅ　Ｈｙｐｅｒ　Ｔｅｘｔ　ＭａｒｋｕｐＬａｎｇｕａｇｅ）文書（例えば、非特許文献３参照）、ＳＶＧ（Ｓｔａｎｄａｒｄ　Ｖｅｃｔｏｒ　Ｇｒａｐｈｉｃｓ）文書（例えば、非特許文献４参照）、ＭａｔｈＭＬ（Ｍａｔｈｅｍａｔｉｃａｌ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）文書（例えば、非特許文献５参照）などがある。
【０００９】
【非特許文献１】
ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ＲＥＣ−ｘｍｌ
【００１０】
【非特許文献２】
ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｘｓｌｔ
【００１１】
【非特許文献３】
ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｘｈｔｍｌ１／
【００１２】
【非特許文献４】
ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ＳＶＧ／
【００１３】
【非特許文献５】
ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ＲＥＣ−ＭａｔｈＭＬ
【００１４】
【発明が解決しようとする課題】
しかしながら、上記のような従来技術では、ＸＭＬ文書の編集手段としては、以下に述べるような問題点があった。
【００１５】
すなわち、ＸＭＬ文書を任意のＸＳＬＴでＨＴＭＬ文書に変換すると、Ｗｅｂブラウザ上で表示した画面イメージの上で、元のＸＭＬ文書を編集することはできない。つまり、ＸＭＬ文書を編集する手段は、テキストのままの読みづらい状態で編集するか、あるいは、階層構造などの専用の画面を持つエディタで編集する必要がある。または、特定用途のＸＭＬ文書のデータ構造ごとに、専用の入力画面を作成する必要がある。
【００１６】
また、ＸＭＬ文書をＨＴＭＬ文書に変換するＸＳＬＴプロセッサを修正して、画面イメージとＸＭＬ文書のノードとの対応付けを記憶し、画面イメージ上での編集を元のＸＭＬ文書に反映させることを可能にする方法も考えられるが、この方法では、特殊なＸＳＬＴプロセッサを持つ特別なＷｅｂブラウザが必要になるため、どのＷｅｂブラウザでも閲覧できるというＷｅｂ技術の特徴が阻害される大きな問題点がある。
【００１７】
また、同様に、ＨＴＭＬ文書への変換に用いられるＸＳＬＴ文書も、Ｗｅｂブラウザ上で編集することができないため、ＸＳＬＴで追加されるスタイル情報などをＷｅｂブラウザ上で変更することもできない。
【００１８】
また、同様に、Ｗｅｂブラウザ上のＨＴＭＬ文書のノードがＸＳＬＴ文書中のどのテンプレートで作成されたものかを調べることができないため、Ｗｅｂブラウザ上で表示された画面イメージ上で、ＸＳＬＴのデバッグを行うことは困難である。
【００１９】
さらに、ＸＭＬ文書を編集する際には、権限などに応じてＸＭＬ文書の一部のみ編集可能なことが望まれる場合がある。また、編集方法もテキストボックスでの入力や、選択ボックスで選択入力などから指定できることが望まれる。しかし、ＸＭＬ文書やＸＳＬＴ文書には、このような編集機能を記述することはできない。
【００２０】
以上の点は、変換後の構造化文書がＨＴＭＬ文書以外の構造化文書になる場合も同様である。
【００２１】
本発明は、上記事情を考慮してなされたもので、構造化文書をＸＳＬＴで変換した画面イメージのままで、元の構造化文書や変換で用いられるＸＳＬＴ文書の編集やデバッグを行うことを可能にした構造化文書編集装置、構造化文書編集方法及びプログラムを提供することを目的とする。
【００２２】
また、本発明は、構造化文書をＸＳＬＴで変換した画面イメージのままで、画面イメージ上の指定個所に入力ボックスや選択ボックスなどを選択的に追加し、多様な操作方法で構造化文書編集を可能にした構造化文書編集装置、構造化文書編集方法及びプログラムを提供することを目的とする。
【００２３】
【課題を解決するための手段】
本発明に係る構造化文書編集装置は、第１のＸＳＬＴ文書（例えば、ＸＭＬ文書）を、該第１のＸＳＬＴ文書の構造に基づき文書編集のための命令を追加した、第２のＸＳＬＴ文書（例えば、ＨＴＭＬ文書、ＸＨＴＭＬ文書、ＳＶＧ文書、ＭａｔｈＭＬ文書、ＸＭＬ文書）へ変換する変換手段と、第１の構造化文書に前記第２のＸＳＬＴ文書を適用して第２の構造化文書を生成する生成手段（例えば、（Ｗｅｂブラウザの）ＸＳＬＴプロセッサ）とを備えたことを特徴とする。
【００２４】
好ましくは、前記命令は、前記第２の構造化文書の構造と、前記第１の構造化文書の構造又は前記第１のＸＳＬＴ文書の構造のうちの少なくとも一方の構造との関係を示す第１のデータを、前記生成手段に生成させるための第１の命令を含むようにしてもよい。
【００２５】
好ましくは、表示装置の表示画面上に前記第２の構造化文書を表示させるための制御を行う表示制御手段と、前記表示画面上で前記第２の構造化文書に対する編集操作を受け付けるための編集手段と、前記編集手段により受け付けられた前記編集操作及び前記生成手段により生成された前記第１のデータに基づいて、前記第２の構造化文書又は前記第１のＸＳＬＴ文書のうちの少なくとも一方の文書の内容を更新する更新処理を行う更新手段とを更に備えるようにしてもよい。
【００２６】
本発明によれば、変換手段によって第２のＸＳＬＴ文書中に追加された文書編集のための命令に基づいて、生成手段が、第２の構造化文書に対する文書編集のための情報（例えば、第２の構造化文書の構造と第１の構造化文書の構造又は第１のＸＳＬＴ文書の構造のうちの少なくとも一方の構造との関係を示す情報、第２の構造化文書の或るノードに対応する変換元の第１の構造化文書中のノードや第１のＸＳＬＴ文書中のノードあるいはテンプレートを示す情報）を生成し、保持される（例えば、第２の構造化文書中に挿入する）ことで、第２の構造化文書に対する編集をすることができるようになる。例えば、変換元の第１の構造化文書中のノードや第１のＸＳＬＴ文書中のノードあるいはテンプレートなどを取得することが可能になるので、画面イメージ上で（例えば構造化文書編集装置がＷｅｂブラウザに組み込まれたものである場合にはＷｅｂブラウザ上で表示された画面イメージ上で）整形された表示画面のままで、第１の構造化文書や第１のＸＳＬＴ文書を編集すること（すなわち、第２の構造化文書を編集し、その編集内容を変換元の第１の構造化文書や第１のＸＳＬＴ文書へ反映させること）や、第１のＸＳＬＴ文書のデバッグを行うことなどが可能になる。
【００２７】
好ましくは、前記命令は、前記第２の構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになった前記第１の構造化文書中のノードを特定可能とする第２のデータを、前記生成手段に生成させるための第２の命令を含むようにしてもよい。
【００２８】
これにより、例えば、変換される前の第１の構造化文書中のノードを取得できることを用いて、既存のＷｅｂブラウザ上で変換された第２の構造化文書を通して、変換元の第１の構造化文書のデータを編集する、というようなことが可能になる。
【００２９】
好ましくは、前記命令は、前記第２の構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになった前記第１のＸＳＬＴ文書中のノードを特定可能とする第３のデータを、前記生成手段に生成させるための第３の命令を含むようにしてもよい。
【００３０】
これにより、例えば、変換される前の第１のＸＳＬＴ文書中のノードを取得できることを用いて、既存のＷｅｂブラウザ上で変換された第２の構造化文書を通して、変換元の第１のＸＳＬＴ文書のデータを編集する、というようなことが可能になる。
【００３１】
また、例えば、生成手段（例えば、ＸＳＬＴプロセッサ）へ入力されるＸＳＬＴ文書へいくつかの命令を追加し、出力される第２の構造化文書にＸＳＬＴ文書中の出力命令への参照を示すデータを挿入することで、既存のＷｅｂブラウザ上で、変換に用いたＸＳＬＴ文書中の出力命令を取得する、というようなことが可能になる。
【００３２】
また、例えば、変換に用いたＸＳＬＴ文書中の出力命令を取得できることを用いて、既存のＷｅｂブラウザ上で変換された第２の構造化文書を通して、ＸＳＬＴ文書で定義されたフォントやテーブルの幅などのスタイル情報を編集する、というようなことが可能になる。
【００３３】
好ましくは、前記命令は、前記ノードに対する編集方法を指定する第４のデータを、前記生成手段に生成させるための第４の命令を含むようにしてもよい。
【００３４】
これにより、構造化文書をＸＳＬＴで変換した画面イメージのままで、画面イメージ上の指定個所に入力ボックスや選択ボックスなどを追加し、さまざまな編集操作を追加することにより、構造化文書編集を行うことが可能になる。
【００３５】
好ましくは、前記命令は、前記第２の構造化文書中のノードの全部又は一部について、当該ノードを生成するにあたって適用された前記第１のＸＳＬＴ文書中のテンプレートを特定可能とする第５のデータを、前記生成手段に生成させるための第５の命令を含むようにしてもよい。
【００３６】
これにより、例えば、生成手段（例えば、ＸＳＬＴプロセッサ）へ入力されるＸＳＬＴ文書へいくつかの命令を追加し、出力される第２の構造化文書にＸＳＬＴ文書中のテンプレートへの参照を示すデータを挿入することで、既存のＷｅｂブラウザ上で、変換に用いたＸＳＬＴ文書中のテンプレートを取得する、というようなことが可能になる。
【００３７】
また、例えば、変換に用いたＸＳＬＴ文書中のテンプレートを取得できることを用いて、既存のＷｅｂブラウザ上で変換された第２の構造化文書を通して、変換に用いられたＸＳＬＴ文書中のテンプレートを表示することでＸＳＬＴ文書をデバッグする、というようなことが可能になる。
【００３８】
また、本発明に係る構造化文書編集方法は、第１のＸＳＬＴ文書を、該第１のＸＳＬＴ文書の構造に基づき文書編集のための命令を追加した、第２のＸＳＬＴ文書へ変換する変換ステップと、第１の構造化文書に前記第２のＸＳＬＴ文書を適用して第２の構造化文書を生成する生成ステップとを有することを特徴とする。
【００３９】
また、本発明は、第１のＸＳＬＴ文書を、該第１のＸＳＬＴ文書の構造に基づき文書編集のための命令を追加した、第２のＸＳＬＴ文書へ変換する変換機能と、第１の構造化文書に前記第２のＸＳＬＴ文書を適用して第２の構造化文書を生成する生成機能とをコンピュータに実現させるためのプログラムである。
【００４０】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【００４１】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００４２】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００４３】
図１に、本実施形態に係る構造化文書編集システムの構成例を示す。
【００４４】
図１に示されるように、本システムでは、Ｗｅｂサーバ１１が計算機１上で実現され、Ｗｅｂブラウザ２１が計算機２上で実現され、計算機１と計算機２とがネットワーク３で接続され、（計算機１上の）Ｗｅｂサーバ１１と（計算機２上の）Ｗｅｂブラウザ２１との間で、データであるＸＭＬ文書１０１とＸＳＬＴ文書１０２とを送受信可能に設定されている。
【００４５】
また、ユーザが計算機２に配置されたＷｅｂブラウザ２１上で（該Ｗｅｂブラウザ２１に搭載された）ＸＭＬ文書編集装置（構造化文書編集装置）２２を操作することにより、ネットワーク３とＷｅｂサーバ１１とを介して、計算機１に配置されたＸＭＬ文書１０１とＸＳＬＴ文書１０２を閲覧し、編集できるように、設定がなされている。
【００４６】
なお、ネットワーク３は、有線ネットワークであっても、無線ネットワークであっても、有線の部分と無線の部分とを含むネットワークであってもよい。また、ネットワーク３は、インターネットであってもよいし、家庭網や企業網であってもよいし、通信事業者網であってもよいし、Ｗｅｂサーバがインターネット上にあり、ＷｅｂブラウザがＬＡＮ上にあるようなものであってもよい。
【００４７】
また、図１ではＷｅｂブラウザ２１を配置した計算機２が１台のみ示されているが、Ｗｅｂブラウザ２１を配置した計算機２と同様のものが複数台あっても構わない。
【００４８】
また、計算機１のＷｅｂサーバ１１とＸＭＬ文書１０１とＸＳＬＴ文書１０２とを計算機２側に配置し、計算機１とネットワーク３が省略された構成も可能である。
【００４９】
また、計算機２は、ＣＰＵを内蔵する携帯電話端末やネットワーク家電等であってもよい。
【００５０】
なお、以下で説明する各機能や各処理は、所定のソフトウェアがコンピュータ及び周辺機器を制御することで実現されるものとして、各機能や各処理に対応する仮想的回路ブロックを想定して説明しており、各ブロックに対して、各ハードウェア要素やソフトウェア要素が必ずしも１対１に対応しなくても構わない。また、以下で説明する各機能や各処理の全部又は一部を（あるいは以下で説明する各機能や各処理を搭載したＷｅｂブラウザ自体を）半導体チップなどのハードウェアで構成することも可能である。
【００５１】
さて、ＸＭＬ文書編集装置２２では、対象となるＸＭＬ文書を、所定のＸＳＬＴ文書をもとに、他の構造化文書に変換するが、変換後の構造化文書としては種々の形態が使用可能であり、例えば、ＸＨＴＭＬ（Ｔｈｅ　Ｅｘｔｅｓｉｂｌｅ　Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）文書、ＳＶＧ（Ｓｔａｎｄａｒｄ　Ｖｅｃｔｏｒ　Ｇｒａｐｈｉｃｓ）文書、ＭａｔｈＭＬ（Ｍａｔｈｅｍａｔｉｃａｌ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）文書、他のＸＭＬ文書（例えば元のＸＭＬ文書に修正が加えられたもの）などがある。変換後の構造化文書として、どのようなものを使用するかについては、例えば、当該Ｗｅｂブラウザがどのような構造化文書をサポートしているかによって決定される。
【００５２】
以下では、変換後の構造化文書として、ＨＴＭＬ文書を用いるものとして説明する。
【００５３】
ここで、図２に以下の説明で用いるＸＭＬ文書の一例を、図３に同ＸＳＬＴ文書の一例を、図４に同ＨＴＭＬ文書をブラウザ上で閲覧した場合の画面の一例をそれぞれ示す。以下の説明において、ＨＴＭＬ文書やＸＭＬ文書やＸＳＬＴ文書等の構造化文書中の「ノード」とはタグやテキストや属性などのことを指し、「タグ」とは例えば図２や後に示す図７中の＜ｂｏｏｋ＞や＜ＴＡＢＬＥ＞などの部分を指す。
【００５４】
（従来技術によるＷｅｂブラウザによるＸＭＬ文書の閲覧システムの構成）
ここで、ＸＭＬ文書をＸＳＬＴ文書によりＨＴＭＬ文書に変換して、整形した上でＷｅｂブラウザで閲覧する従来システムについて説明する。
【００５５】
図４３は、その従来システムの機能ブロック構成である。従来システムでは、Ｗｅｂサーバ上のＸＭＬ文書１２０１（図２参照）は、ＸＳＬＴプロセッサ１２００により、図４４に例示するようなＨＴＭＬ文書１２０４に変換され、変換されたＨＴＭＬ文書１２０４はＷｅｂブラウザ１２００上の表示装置２０５に表示される（図４参照）。このとき、ＨＴＭＬ文書への変換方法は、Ｗｅｂサーバ上のＸＳＬＴ文書１２０２（図３参照）で定義される。
【００５６】
なお、ＸＳＬＴプロセッサ１２０３を、Ｗｅｂブラウザ１２００上に配置し、Ｗｅｂブラウザ１２００でＨＴＭＬ文書に変換して表示する構成の他に、ＸＳＬＴプロセッサ１２０３を、Ｗｅｂサーバ側の計算機上に配置して、Ｗｅｂサーバ上でＨＴＭＬ文書への変換を行い、Ｗｅｂブラウザ１２００に変換後のＨＴＭＬ文書を送信する構成もある。
【００５７】
いずれにしてもこれら従来システムでは、変換された画面に表示されるＨＴＭＬ文書１２０４中のノードと、元のＸＭＬ文書１２０１中のノードとの対応が分からないため、元のＸＭＬ文書２０１をＷｅｂブラウザ１２００上で編集することはできない。
【００５８】
また、図４５は、従来システムのＨＴＭＬエディタの機能ブロック構成である。ＨＴＭＬ表示配置部１４０２は、ＨＴＭＬ文書１４０１を読み込み、画面上のグラフィックス１４０３を生成し、表示画面１４０５に表示する。その際、画面上のグラフィックスとＨＴＭＬ文書中のノードの対応関係を対応関係記憶部１４０４に記憶する。ユーザが更新データ入力部１４０６を介して更新データを入力すると、ＨＴＭＬ更新部１４０７は、上記の対応関係を参照して、ＨＴＭＬ１４０１の該当する部分を更新する。このように対応関係記憶部１４０４に記憶されている対応関係を用いることで、ＨＴＭＬエディタでは画面イメージの上で、変換される前のＨＴＭＬ文書を編集する機能を実現しているが、この構成をＸＭＬ文書編集装置に応用するには、対応関係を記憶するようにＸＳＬＴプロセッサを変更する必要があり、既存のＷｅｂブラウザ上での編集を実現することはできない。
【００５９】
（ＸＭＬ編集装置の構成について）
図５に、本実施形態に係るＸＭＬ文書編集装置（構造化文書編集装置）の構成例を示す。
【００６０】
図５に示されるように、本実施形態のＸＭＬ文書編集装置（図１の２２）は、ＸＳＬＴプロセッサ９０４、ＸＳＬＴ変換部９０２、変換後文書記憶部９０６、更新データ入力部９０８、ＸＭＬ文書更新部９０９を備えている。
【００６１】
ＸＭＬ文書９０５は、例えば図１のＷｅｂサーバ１１から取得したものであり、その一例が先に示した図２である。ただし、ＸＭＬ文書９０５の内容は、ユーザの編集等の操作により更新されることによって変化していく。
【００６２】
ＸＳＬＴ文書９０１は、例えば図１のＷｅｂサーバ１１から取得したものであり、その一例が先に示した図３である。
【００６３】
ＸＳＬＴ変換部９０２は、ＸＳＬＴ文書９０１を入力として、他のＸＳＬＴ文書である変換されたＸＳＬＴ文書９０３への変換処理を行う。すなわち、本実施形態では、元のＸＳＬＴ文書９０１の代わりに、変換されたＸＳＬＴ文書９０３がＸＳＬＴプロセッサ９０４に渡される。
【００６４】
なお、図５では、ＸＳＬＴ変換部９０２をＸＳＬＴプロセッサ９０４と同じ計算機（図１の２）に配置した場合の一例を示しているが、ＸＳＬＴ変換部９０２をＷｅｂサーバの配置された計算機（図１の１）に配置しても構わない。また、Ｗｅｂブラウザ２１上のスクリプトなどで実現しても構わない。
【００６５】
ＸＳＬＴプロセッサ９０４は、ＸＭＬ文書９０５を、（変換された）ＸＳＬＴ文書９０３に記載されている命令にしたがって変換し、その結果を変換後文書記憶部９０６に渡すものである。ＸＳＬＴプロセッサ９０４の仕様は、例えば、標準化団体であるＷ３Ｃで規格化されたものに従って構わない（具体的には、例えば、Ｗｅｂブラウザに付属する機能などで実現される）。
【００６６】
変換後文書記憶部９０６は、表示装置９０７上で画面表示を生成するためのデータと、画面構成要素から元のＸＭＬ文書９０５中のノードを参照するデータとを保持する。
【００６７】
表示装置９０７は、Ｗｅｂブラウザ２１のＷｉｎｄｏｗなどで実現される部分で、変換後文書記憶部９０６の画面表示を生成するためのデータを表示する。
【００６８】
更新データ入力部９０８は、更新するデータをＷｅｂブラウザ２１上で入力する部分で、具体的には、例えば、Ｗｅｂブラウザ２１上のスクリプトとＷｅｂブラウザ２１上のテキスト入力ボックスなどで実現される。
【００６９】
ＸＭＬ文書更新部９０９は、例えばＷｅｂブラウザ２１上のスクリプトなどで実現されたものであり、変換後文書記憶部９０６からは元のＸＭＬ文書９０５中のノードへの参照を、更新データ入力部９０８からは入力データを受取り、ＸＭＬ文書９０５を更新する機能を持つ。
【００７０】
（サーバ側にＸＳＬＴプロセッサを配置する構成について）
図６に、本実施形態に係るＸＭＬ文書編集装置（構造化文書編集装置）の他の構成例を示す。図６は、図５の構成例と基本的な機能は同じであるが、Ｗｅｂサーバの配置された計算機（図１の１）にＸＳＬＴプロセッサを配置する場合の構成例を示している。
【００７１】
図６では、ＸＳＬＴプロセッサ９０４、ＸＳＬＴ変換部９０２、変換後文書記憶部９０６がＷｅｂサーバ（図１の１１）側に配置され、表示装置９０７、更新データ入力部９０８、ＸＭＬ文書更新部９０９がＷｅｂブラウザ（図１の２１）側に配置される。また、サーバ側ＸＭＬ文書更新部９１２がＷｅｂサーバ側に配置される。
【００７２】
さらに、送信部９１３及び更新データ受信部９１４と、受信部９１５及び更新データ送信部９１６が、それぞれ、Ｗｅｂサーバ側とＷｅｂブラウザ側に配置され、それらを用いてデータ送受信を行う。
【００７３】
この場合、Ｗｅｂサーバ側で変換後文書が作成され、この変換後文書に関するデータは、変換後文書記憶部９０６に一旦記憶された後に、Ｗｅｂサーバ側の送信部９１３とＷｅｂブラウザ側の受信部９１５を介して、Ｗｅｂブラウザ側の表示装置９０９、更新データ入力部９０８あるいはＸＭＬ文書更新部９０９へ転送される。
【００７４】
Ｗｅｂブラウザ側のＸＭＬ文書更新部９０９は、更新データ入力部９０８からの入力に応じて、元のＸＭＬ文書の更新内容を示す更新情報（例えば、元のＸＭＬ文書で更新されるノードを指示する情報、更新の内容（例えば、ノードの追加、ノードの削除、ノードの値の変更等）を指示する情報など）を生成する。
【００７５】
生成された更新情報は、ＸＭＬ文書更新部９０９から、Ｗｅｂブラウザ側の更新データ送信部９１６とサーバ側の更新データ受信部９１４を介して、サーバ側ＸＭＬ文書更新部９１２へ転送される。
【００７６】
サーバ側ＸＭＬ文書更新部９１２は、受け取った更新情報に従って元のＸＭＬ文書を更新する。
【００７７】
なお、図６において、Ｗｅｂブラウザ側の受信部９１５の後段に、さらに、ブラウザ側変換後文書記憶部を設け、Ｗｅｂサーバ側の変換後文書記憶部９０６から、Ｗｅｂサーバ側の送信部９１３とＷｅｂブラウザ側の受信部９１５を介して、ブラウザ側変換後文書記憶部へ、変換後文書に関するデータを転送して記憶させておき、その後で、図５と同様の方法で、ブラウザ側変換後文書記憶部から、Ｗｅｂブラウザ側の表示装置９０９、更新データ入力部９０８あるいはＸＭＬ文書更新部９０９へ転送するようにしてもよい。
【００７８】
（変換後文書記憶部のデータ構造について）
次に、上記のような本実施形態において、変換後文書記憶部９０６に記憶されるデータ構造の例を説明する。
【００７９】
変換後文書記憶部９０６は、表示装置９０７上で画面表示を生成するためのデータと、画面構成要素から元のＸＭＬ文書９０５中のノードを参照するデータとを保持する。図７に、この変換後文書記憶部９０６に記録されるデータの一例を示す。図７は、図２のＸＭＬ文書と図３のＸＳＬＴ文書とを処理した場合の例であり、一つのＨＴＭＬ文書で全体を構成したもの（すなわち、元のＸＭＬ文書ノードへの参照を持つＨＴＭＬ文書）である。なお、図７は、その破線１００１で示す部分以外は図４４と同じ構造の例である。
【００８０】
図７の破線１００１で示す部分は、ＸＭＬ文書中のノードから生成されるテキストを、他のテキストと区別し、さらに、元のＸＭＬ文書９０５中のノードへの参照（１００２）を保持する部分であり、ＨＴＭＬ文書中のノードと元のＸＭＬ文書中のノードとの対応付けを記憶し、表示装置９０７上の画面構成要素と元のＸＭＬ文書中のノードとを対応付ける部分である。
【００８１】
元のＸＭＬ文書中のノードへの参照は、ＸＭＬ文書中のノードの個数を数えたものを符号化する方法や、ＸＰａｔｈを用いる方法などがある。図７中の実線１００２で囲まれた部分「１．１．１」が前者の例であり、元のＸＭＬ文書中のノードを各階層ごとにかぞえたものをピリオド「．」で連結した文字列としたものである。例えば、「１．２．１」は、元のＸＭＬ文書中の第一階層の１番目のノード（＜ｂｏｏｋｌｉｓｔ＞）の、２番目の子どものノード（２番目めの＜ｂｏｏｋ＞）の、１番目の子どものノード（＜ｔｉｔｌｅ＞）の中のテキストノード（徒然草）を指し示すことを意味する。
【００８２】
ここで、図７のタグ＜ＳＰＡＮ＞は、Ｗｅｂブラウザ２１上では表示されないタグであるものとする。図７の破線１００１で示す部分以外は図４４と同じ構造の例であり、図７の破線１００１で示す部分はＷｅｂブラウザ２１上では表示されないタグ＜ＳＰＡＮ＞を用いているため、図７のＨＴＭＬ文書は、Ｗｅｂブラウザ２１上で図４４のＨＴＭＬ文書を表示した場合と、同一あるいはほぼ同一に表示される（図４参照）。
【００８３】
なお、元のＸＭＬ文書中のノードへの対応付けの記憶方法としては、上記のようなタグや属性値を用いる方法の他に、ＨＴＭＬのコメントとして追加する方法もある。
【００８４】
また、それらの他の記憶方法として、元のＸＭＬ文書中のノードへの参照をＨＴＭＬ文書の中に埋め込むのではなく、表示装置９０７に渡すＨＴＭＬ文書（例えば図４４）とは別に記憶する機能ブロックを設ける方法もあり、そのデータ構造には、図７と同等のデータを用いる方法や、対応関係を図８のようなテーブルで保持する方法などがある。図９に、参照情報（対応関係のデータ）を他の機能ブロックに記憶させる場合のＸＭＬ文書編集装置の構成例を示す。図５の構成例と比較して、ＸＳＬＴプロセッサが２個用意され、それぞれ表示装置９０７に渡すＨＴＭＬ文書９１０を生成するものと、対応関係のデータ９１１を生成するものとからなる。なお、図９はＸＳＬＴプロセッサを２個用意するものとしたが、１個のみ用意しこれを２つのデータ生成に兼用してもよい（すなわち、実際にプログラム上ＸＳＬＴプロセッサが２個必要なわけではなく、２組のＸＭＬ文書とＸＳＬＴ文書から、表示装置に渡すＨＴＭＬ文書と対応関係のデータの２個のデータが得られればよい）。もちろん、図９の場合も、図６を参照しながら説明したように、Ｗｅｂサーバの配置された計算機（図１の１）にＸＳＬＴプロセッサを配置する構成例が可能である。
【００８５】
（変換されたＸＳＬＴの構造について）
次に、変換されたＸＳＬＴ文書９０３の構造の一例を説明する。
【００８６】
変換されたＸＳＬＴ文書９０３は、それ自体、ＸＳＬＴの規格に従うもので、ＸＳＬＴ変換部９０２でＸＳＬＴ文書９０１の一部を別の命令に置き換えたものである。
【００８７】
ここで、ＸＳＬＴ文書のデータ構造と、ＸＳＬＴプロセッサ９０４の動作について説明する（これらは、基本的には、Ｗ３Ｃで定められた規格に従うものである）。
【００８８】
図１０に、ＸＳＬＴ文書のデータ構造の構成例を示す。
【００８９】
ＸＳＬＴ文書４０１は、１以上のＸＳＬＴテンプレート４０２の集りで構成され、ＸＳＬＴテンプレート４０２は、条件部４０３と出力部４０４で構成され、出力部４０４は、０個以上の出力命令４０５の集まりで構成される。
【００９０】
ＸＳＬＴプロセッサ９０４は、入力されたＸＭＬ文書９０５中のノードを順に調べ、ＸＳＬＴテンプレートの条件部に適合するかどうかを調べる。条件に適合した場合、出力部の出力命令にしたがって、ＸＭＬ文書やＨＴＭＬ文書等の所定の構造化文書（本例では、ＨＴＭＬ文書）のノードを出力に追加していき、全部のＸＭＬ文書９０５中のノードを調べ終るまで上記の手順を繰り返すものである。
【００９１】
ＸＳＬＴの出力命令には、入力されたＸＭＬ文書９０５中のノードのテキスト値を出力する命令がある。以下、この命令を「ノード値出力命令」と呼ぶ。具体的には、ＸＳＬＴの命令のｘｓｌ：ｖａｌｕｅ−ｏｆ（図３の５０１）などである。
【００９２】
ＸＳＬＴ変換部９０２は、入力されたＸＳＬＴ文書９０１の出力命令のうち、上述したノード値出力命令を一連の命令に置き換える。図１１は、ノード値出力命令を置き換える一連の命令の構成例である。
【００９３】
図１２に、変換されたＸＳＬＴ文書９０３の一例を示す。この例は、図３のＸＳＬＴ文書をＸＳＬＴ変換部９０２で変換した例である。なお、図１３は、図１２の文書の一部分を拡大したもので、図１１の４種類の変換命令に対応する部分を破線で囲って示している。
【００９４】
以下、図１１の置き換える一連の命令を、図１２および図１３の例を用いて説明する。
【００９５】
まず、図１１において、残りの３つの「ノード値を囲う要素を出力する」命令は、出力されたＨＴＭＬ文書（図７参照）上で、置き換えた命令群が一つのかたまりである情報であることを示すためのものであり、具体的には、他の３つの命令の出力されるノードを特定のＨＴＭＬのタグで囲う命令で、図１３の例では、出力されたＨＴＭＬ文書中のノードは＜ＳＰＡＮ＞タグで囲われている。
【００９６】
次の「入力ＸＭＬノードへの参照を求める」命令は、現在処理中のＸＭＬ文書９０５中のノードへの参照を求めるための命令で、具体的には、現在処理中のＸＭＬ文書９０５中のノードを先頭から数える命令であるｘｓｌ：ｎｕｍｂｅｒと、その値を変数に代入して次の命令で参照できるようにするｘｓｌ：ｖａｒｉａｂｌｅ命令からなる。
【００９７】
次の「求めた値を属性値として、一つ前の出力要素に追加する」命令は、「ノード値を囲う要素を出力する」命令で生成される＜ＳＰＡＮ＞タグに対して、「入力ＸＭＬノードへの参照を求める」命令で求めた値を、属性値として追加するｘｓｌ：ａｔｔｒｉｂｕｔｅ命令からなる。
【００９８】
次の入力ＸＳＬＴノードの「ノード値出力」命令は、前述した通りである。
【００９９】
なお、変換されたＸＳＬＴ文書９０３の記述方法は、上記の他にも種々のものが可能である。その一例として、図１４に、変換後のＸＳＬＴ文書９０３を、ｘｓｌ：ｖａｒｉａｂｌｅを用いないで記述した例を示す。この例の場合、「入力ＸＭＬノードへの参照を求める」命令は、「求めた値を属性値として、一つ前の出力要素に追加する」命令の中に埋め込まれる。
【０１００】
以下、本実施形態の動作についてより詳しく説明する。
【０１０１】
（ＸＳＬＴ変換部における変換の手順について）
まず、図５のＸＭＬ文書編集装置のＸＳＬＴ変換部９０２について説明する。
【０１０２】
図１５に、ＸＳＬＴ変換部９０２の変換手順の一例を示す。
【０１０３】
すなわち、ＸＳＬＴ変換部９０２は、ＸＳＬＴ文書９０１を受け取り、図１５に示す手順を実行し、変換されたＸＳＬＴ文書９０３を出力し、ＸＳＬＴプロセッサ９０４へＸＳＬＴ文書として渡す。
【０１０４】
この手順では、まず、ＸＳＬＴ変換部９０２は、入力されたＸＳＬＴ文書９０１からＸＳＬＴ文書中のノードを一つ読み込む（ステップＳ１）。
【０１０５】
続いて、読み込んだノードの種類によって処理を分岐させる（ステップＳ２）。この結果、ＸＳＬＴ文書９０１にそれ以上読み込むノードがなければ処理を終了する（ステップＳ３）。
【０１０６】
また、ステップＳ２の判定において、ノードの種類が「ノード値出力」命令で無い場合には、入力されたノードをそのまま出力に追加する（ステップＳ４）。そして、ステップＳ１に戻り、ＸＳＬＴ文書９０１中の次のノードを読み込む処理に戻る。
【０１０７】
また、ステップＳ２の判定において、ノードの種類が「ノード値出力」命令である場合には、例えば図１２に示すノード値出力命令が置き換えられた部分の命令を、「ノード値出力」命令の代わりに出力に追加する（ステップＳ５〜Ｓ９）。
【０１０８】
このステップＳ５〜Ｓ９の手順を、具体的に、図１３の例で説明する。
【０１０９】
すなわち、ノードの種類が「ノード値出力」命令（図３の５０１参照）である場合には、まず、「ノード値を囲う要素を出力する」命令（１３０１）のうち開始タグ（１３０６）を出力に追加する（ステップＳ５）。
【０１１０】
次に、「入力ＸＭＬノードへの参照を求める」命令（１３０２）を出力に追加する（ステップＳ６）。
【０１１１】
次に、「求めた値を属性値として一つ前の出力要素に追加する」命令（１３０４）を出力に追加する（ステップＳ７）。
【０１１２】
次に、入力された「ノード値出力」命令（１３０５）をそのまま出力に追加する（ステップＳ８）。
【０１１３】
最後に、「ノード値を囲う要素を出力する」命令（１３０１）のうち終了タグ（１３０７）を出力に追加する（ステップＳ９）。
【０１１４】
ステップＳ５〜ステップＳ９にて、図１２に示す命令を「ノード値出力」命令の代わりに出力に追加したならば、ステップＳ１に戻り、ＸＳＬＴ文書９０１中の次のノードを処理する。
【０１１５】
（入力データを受付けＸＭＬ文書を更新する手順について）
次に、図５のＸＭＬ文書編集装置の更新データ入力部９０８およびＸＭＬ文書更新部９０９において、Ｗｅｂブラウザ２１上で、更新データの入力を受付け、元のＸＭＬ文書９０５を更新する手順について説明する。
【０１１６】
ここでは、図２のデータをＸＭＬ文書９０５に、図３のデータをＸＳＬＴ文書９０１にそれぞれ用いた場合を例にとって説明する。
【０１１７】
まず、表示装置９０７は、ＸＳＬＴプロセッサ９０４の出力である変換後文書記憶部９０６から、例えば、図７のデータを受け取り、図４のような画面を表示する。
【０１１８】
また、更新データ入力部９０８は、例えば、あらかじめ、Ｗｅｂブラウザ２１のイベント機能などを用いて、マウスで表示をクリックされたら通知を受け取れるように設定しておく。
【０１１９】
ここで、操作者が画面の文字列、例えば、図４の「紫式部」の文字列をマウスでクリックすると、Ｗｅｂブラウザ２１はこのクリックを更新データ入力部９０８へ通知する。
【０１２０】
更新データ入力部９０８は、通知を受け取るとＷｅｂブラウザ２１の機能を用いるなどして、マウスポインタの下にあるＨＴＭＬ文書（図７）中のノードで、かつ、変換元のＸＭＬ文書９０５中のノードへの参照を持つノードを検索する。
【０１２１】
もし、当該のノードがない場合には、そのまま何もせず、次のイベントを待つ。
【０１２２】
当該のノードが見つかった場合には、更新データ入力部９０８は、Ｗｅｂブラウザ２１のテキストボックスあるいはテキストエリアなどをＨＴＭＬ文書中のノード上に表示し、テキストとしてＨＴＭＬ文書中のノードの現在の値を入れ、操作者からの更新データ入力を受け付ける。図１６に、図７のＨＴＭＬ文書が表示された場合において、「紫式部」のテキスト入力を受け付けている画面の例を示す。
【０１２３】
そして、ＸＭＬ文書更新部９０９は、更新データ入力部９０８が表示したテキストボックスなどに入力されたテキストで、対応する元のＸＭＬ文書９０５中の対応するノードを更新する。
【０１２４】
（ＸＳＬＴ変換器における他の変換手順について）
以下では、本実施形態のＸＳＬＴ変換部９０２における他の変換手順の例として、これまでの参照に加えて、「ＸＳＬＴ以外の要素出力」命令の場合にも、元のＸＭＬ文書中のノードへの参照を追加する手順について、図２のＸＭＬ文書の例と、図３のＸＳＬＴ文書の例とを用いて説明する。
【０１２５】
ここで、ＸＳＬＴ命令の「ＸＳＬＴ以外の要素出力」命令とは、例えば、図３のＸＳＬＴ文書例では、＜ＴＲ＞，＜ＴＤ＞，＜ＴＡＢＬＥ＞，＜ＴＨ＞を指し、出力に同名のタグを追加する命令のことを指す。
【０１２６】
図１７に、ＸＳＬＴ変換部９０２の他の変換手順の例を示す。
【０１２７】
図１８に、図３のＸＳＬＴ文書を図１７の手順に従ってＸＳＬＴ変換部９０２で変換して得られるＸＳＬＴ文書の例（ただし、一部を抜粋したもの）を示す。また、図１９に、図２のＸＭＬ文書例および図１８の変換後ＸＳＬＴ文書例によりＸＳＬＴプロセッサ９０４から出力される変換後文書記憶部９０６のデータ（この場合、ＨＴＭＬ文書）の例を示す。
【０１２８】
図１７の手順は、図１５の手順のステップＳ２の判定において、ノードの種類が「ＸＳＬＴ以外の要素出力」命令の場合に、単に出力するのではなく、図１８の破線で示す部分を追加して出力する点が、図１５の手順とは相違している。例えば、＜ＴＲ＞タグをみつけると（ステップＳ２）、まず、図１８中の２１０１で示すように＜ＴＲ＞タグそのものを出力し（ステップＳ１０）、次に、「入力ＸＭＬノードへの参照を求める」命令を出力に追加し（ステップＳ１１）、「求めた値を属性値として一つ前の出力要素に追加する」命令を出力に追加する（ステップＳ１２）。これにより、例えば図１８中の２１０２で示すように命令が追加される。そして、ＸＳＬＴ文書９０１中の次のノードの検索へ戻る。
【０１２９】
このように図１８における破線で示す部分（２１０２，２１０４，２１０６）が、図１２に追加された部分すなわち本手順で新たに追加される命令であり、これら命令によって、図１９における破線で示す部分のデータが追加される（図１９における破線で示す部分が、図７の変換後ＸＳＬＴ文書に追加された部分である）。
【０１３０】
図１９においては、破線で示す部分が、図７の変換後ＸＳＬＴ文書に追加されたデータであり、これらの出力されたノードを生成したときに用いた元のＸＭＬ文書２０１中のノードへの参照が追加されている。
【０１３１】
Ｗｅｂブラウザ２１上で、このノードが付加されているノードを複製あるいは削除などする操作をした場合、ＸＭＬ文書更新装置９０９は、この参照の示すＸＭＬ文書９０５中の対応するノードを複製あるいは削除などする。
【０１３２】
（ＸＳＬＴスタイル編集の手順について）
これまでは、画面イメージと元のＸＭＬ文書のノードとの対応関係を保持して、画面上でなされた編集を元のＸＭＬ文書へ反映させる処理について説明してきたが、同様にして、画面イメージと元のＸＳＬＴ文書のノードとの対応関係を保持して、画面上でなされたスタイル（例えば、フォントサイズ、フォント種類、テーブルの幅、文字の色など）についての編集を元のＸＳＬＴ文書へ反映させる処理も可能である。
【０１３３】
以下では、図５のＸＭＬ文書編集装置のＸＳＬＴ変換部９０２の手順を変更して、変換後文書記憶部９０６に保持する参照を、変換前の元のＸＳＬＴ９０１文書中のノードへの参照に置き換えた手順について説明し、さらに、この参照を用いて、Ｗｅｂブラウザ２１上でＸＳＬＴ文書９０１を編集し、テーブルの幅やフォントなどの編集を行う手順について説明する。
【０１３４】
なお、この場合、図５のＸＭＬ文書編集装置において、ＸＭＬ文書更新部９０９に加えてあるいはＸＭＬ文書更新部９０９の代わりに、ＸＳＬＴ文書更新部を備えればよい。なお、図６を参照しながら説明した構成例の場合には、ＸＭＬ文書更新部９０９及びサーバ側ＸＭＬ文書更新部９１２に加えてあるいは代わりに、（Ｗｅｂブラウザ側の）ＸＳＬＴ文書更新部及び（Ｗｅｂサーバ側の）サーバ側ＸＳＬＴ文書更新部を備えればよい。
【０１３５】
まず、ＸＳＬＴ変換部９０２において、変換後文書記憶部９０６にＸＳＬＴ文書中のノードへの参照を追加するための手順は、例えば、図１５あるいは図１７のフローチャートにおいて、「入力ＸＭＬノードへの参照を求める」命令の代わりに、「現在のＸＳＬＴの入力ノードへの参照を求める」命令に置き換えたものである。
【０１３６】
図２０に上記のような手順で出力される変換されたＸＳＬＴ文書の一例を示し、図２１にこの変換されたＸＳＬＴ文書によりＸＳＬＴプロセッサ９０４から出力される変換後文書記憶部９０６のデータの一例（ただし、図１２と相違する部分）を示す。なお、図２０において、破線で示す部分（２３０１〜２３０５）が図１８と相違する部分である。
【０１３７】
例えば、図２１において、＜ＴＲ＞タグ（２２０２）に埋め込まれた参照“１．１．１”は、このタグが図３のＸＳＬＴ文書の＜ＴＲ＞タグにより出力されたことを表す。
【０１３８】
次に、このＸＳＬＴ文書中のノードへの参照を利用して、Ｗｅｂブラウザ２１上で、指定した画面要素にスタイル属性を追加する操作を行う手順を例を用いて説明する。例えば、Ｗｅｂブラウザ２１上でテーブル要素の色を赤への変更を更新データ入力部９０８から入力されると、入力データ更新部９０９は、対応するＨＴＭＬ文書中のノード（２２０１）を検索し、そのＨＴＭＬ文書中のノード（２２０１）に埋め込まれたＸＳＬＴ文書中のノードへの参照“１．２．１”を用いて、図３のＸＳＬＴ文書中の＜ＴＡＢＬＥ＞タグを検索し、このＸＳＬＴ文書中の＜ＴＡＢＬＥ＞タグに、更新データ入力部９０８で入力されたスタイル属性値「ｓｔｙｌｅ＝“ｃｏｌｏｒ：ｒｅｄ”」を追加することで、テーブルの色を赤に変更する。
【０１３９】
さらに、画面上に更新するために、一連の変換手順を繰り返すことで画面の表示が更新され、テーブルの色が赤にかわる。
【０１４０】
（ＸＳＬＴデバッグ機能の手順について）
これまでは、ＸＭＬ文書やＸＳＬＴ文書を編集する機能について説明してきたが、同様にして、画面イメージと元のＸＳＬＴ文書中のテンプレートとの対応関係を保持して、ＸＳＬＴテンプレートを検索し、ＸＳＬＴ文書のデバッグを補助する機能も可能である。
【０１４１】
以下では、図５のＸＭＬ文書編集装置のＸＳＬＴ変換部９０２の手順を変更して、変換後文書記憶部９０６にＸＳＬＴ文書９０１中のテンプレートへの参照を保持する手順について説明する。さらに、このＸＳＬＴ文書中のテンプレートへの参照を用いて、変換に用いたＸＳＬＴ文書中のＸＳＬＴテンプレートを検索し、ＸＳＬＴ文書のデバッグを補助する機能の手順を具体例を用いて説明する。
【０１４２】
なお、この場合、図５のＸＭＬ文書編集装置において、ＸＭＬ文書更新部９０９及び又はＸＳＬＴ文書更新部に加えてあるいはＸＭＬ文書更新部９０９及びＸＳＬＴ文書更新部の代わりに、ＸＳＬＴデバッグ処理部を備えればよい。また、図６を参照しながら説明した構成例の場合にも、ＸＭＬ文書更新部９０９／サーバ側ＸＭＬ文書更新部９１２及び又はＸＳＬＴ文書更新部／サーバ側ＸＳＬＴ文書更新部に加えてあるいは代わりに、（Ｗｅｂブラウザ側の）ＸＳＬＴデバッグ処理部及び（Ｗｅｂサーバ側の）サーバ側ＸＳＬＴデバッグ処理部を備えればよい。
【０１４３】
図２２に、変換後文書記憶部９０６にＸＳＬＴ文書９０１中のテンプレートへの参照を保持する場合のＸＳＬＴ変換部９０２の処理手順の一例を示す。図２２において、破線で示す部分は、図１５の手順と異なる部分を示している。
【０１４４】
図２３に、本手順で出力される変換されたＸＳＬＴ文書の一例（ただし、一部を抜粋したもの）を示す。図２３において破線で示す部分（２５０２〜２５０６）が、図１５の手順で生成される図１２のＸＳＬＴ文書例と異なる部分である。
【０１４５】
図２４に、図２３の変換されたＸＳＬＴ文書によりＸＳＬＴプロセッサ９０４から出力される変換後文書記憶部９０６のデータの一例を示す。
【０１４６】
例えば、図２４の２６０１で示す部分は、「ｔｅｍｐｌａｔｅｐａｔｈ＝“１．１”」の部分が、図３のＸＳＬＴ文書の１番目のＸＳＬＴテンプレートを参照し、「ｘｐａｔｈ＝“１．２”」の部分が、図２のＸＭＬ文書の２番目の＜ｂｏｏｋ＞ノードを参照している例である。
【０１４７】
そして、２６０１で示す開始タグと２６０２で示す終了タグとの組みは、これらのタグに囲まれた部分を、図２のＸＭＬ文書の２番目の＜ｂｏｏｋ＞ノードを図３のＸＳＬＴ文書の１番目のＸＳＬＴテンプレートで生成したことを示している。
【０１４８】
次に、図２２の破線で示す部分を説明する。
【０１４９】
すなわち、ＸＳＬＴノードを読み込んだ後（ステップＳ１）、読み込みノードが「ＸＳＬＴテンプレート」命令の場合には（ステップＳ２）、まず、「ＸＳＬＴテンプレート」命令の開始タグ（２５０１）を出力に追加する（ステップＳ３０）。その際、開始タグに含まれる属性は、そのまま出力に追加する。ここで、「ＸＳＬＴテンプレート」命令とは、具体的には、本例では＜ｘｓｌ：ｔｅｍｐｌａｔｅ＞ノードを示す。
【０１５０】
次に、「入力ノードを囲う要素を出力する」命令の開始タグ（２５０２）を出力に追加する（ステップＳ３１）。具体的には、例えば＜ｄｅｂｕｇ：ｔｅｍｐｌａｔｅｒｅｓｕｌｔ＞のような別のＸＭＬの名前空間のタグを追加する。
【０１５１】
さらに、「入力ＸＳＬＴノードへの参照を、一つ前の出力要素に追加する」命令（２５０３）を出力に追加する（ステップＳ３２）。この命令は、例えば図２４の２６０１で示す「ｔｅｍｐｌａｔｅｐａｔｈ＝“１．１”」の部分を生成する命令である。
【０１５２】
次に、「入力ＸＭＬノードへの参照を求める」命令（２５０４）と「求めた値を属性値として、一つ前の出力要素に追加する」命令（２５０５）を出力に追加する（ステップＳ３３，Ｓ３４）。これらの命令により、例えば、図２４の２６０１で示す「ｘｐａｔｈ＝“１．２”」の部分が生成される。
【０１５３】
次に、「ノード値を囲う要素を出力する」命令の終了タグ（２５０６）を出力に追加する（ステップＳ３５）。この命令は、例えば、図２４の２６０２で示す終了タグを生成する命令である。
【０１５４】
最後に、「ＸＳＬＴテンプレート」命令の終了タグ（２５０７）を出力に追加する（ステップＳ３５）。
【０１５５】
このようにして生成された、本例における変換後文書記憶部９０６のデータは、表示装置９０７上に表示すると、図４と同一あるいはほぼ同一にＷｅｂブラウザ２１上に表示される。
【０１５６】
このＸＳＬＴテンプレートへの参照を用いた例について説明する。図２５は、この参照を用いたデバッグ機能の例による表示例である。この例は、表示された、変換後文書記憶部９０６に保持されたデータにおける特定の文字列…例えば「吉田　兼好」…をマウスでクリックしたときの表示の例である。
【０１５７】
この例の画面について説明する。まず、２７０１で示すＸＳＬＴテンプレートに、２７０３で示すＸＭＬ文書のノードが適用されたことにより、「吉田　兼好」のテキストノードが生成されたことを表している。さらに、２７０１で示すＸＳＬＴテンプレートは、２７０２で示すＸＳＬＴテンプレート中の＜ｘｓｌ：ａｐｐｌｙ−ｔｅｍｐｌａｔｅｓ＞命令から呼び出されたことを表している。そして、２７０２で示すＸＳＬＴテンプレートには、２７０４で示すＸＭＬ文書のノードが適用されたことを表している。
【０１５８】
次に、このクリックした後から、図２５の表示が得られるまでの動作手順を説明する。
【０１５９】
操作者がＷｅｂブラウザ２１上で特定の文字列をマウスでクリックしたとすると、そのマウス位置に対応するＨＴＭＬ文書中のノードを検索し、次に、親ノードがＸＳＬＴ文書中のテンプレートへの参照を保持しているＨＴＭＬ文書中のノードを検索する。この例では、ｔｅｍｐｌａｔｅｐａｔｈ属性を保持しているノードを検索する。
【０１６０】
次に、見つかった参照に対応する、ＸＳＬＴ文書中のテンプレートをＸＳＬＴ文書９０１から取り出し、表示装置９０７に表示する。さらに、ＸＭＬ文書のノードへの参照を取り出す。この例では、ｔｅｍｐｌａｔｅｐａｔｈ属性を持つノードから、ｘｐａｔｈ属性の値を取り出す。このＸＭＬ文書のノードへの参照に対応したノードを、ＸＭＬ文書から取り出し、表示装置９０７に表示する。
【０１６１】
以上の処理をルートノードに対して完了するまで、繰り返すことで、図２５の表示が得られる。
【０１６２】
（組み合わせについて）
ところで、これまで説明してきた（１）ＸＭＬ文書のノードへの参照と、（２）ＸＳＬＴ文書のノードへの参照と、（３）ＸＳＬＴテンプレートへの参照は、それぞれ独立して実施することも可能であるし、任意の２つまたは３つ全てを組み合わせて実施することも可能である。
【０１６３】
それらを組み合わせて実施する場合には、ノードのクリック等の操作者の操作をどの機能に割り付けるかを決定する仕組みを設けると好ましい。
【０１６４】
この簡単な方法の一つとしては、切替えにより行うことが考えられる。この方法としては、例えば、ツールボタンにより切替える方法や、キーボードのシフトキーなどを押しているかなどや、右ボタンでのコンテキストメニューでの切替えなどが考えられる。
【０１６５】
あるいは、画面上のツールパレットなどのウィンドウを別に複数、用意し、画面上で選択されたノードに対する操作メニューやテキスト入力ボックスなどを同時に別々のウィンドウに表示するなどして、切替えなくても済む方法も考えられる。
【０１６６】
また、ＸＳＬＴデバッグ機能において、ＸＳＬＴテンプレートへの参照と、ＸＳＬＴ文書のノードへの参照を組み合わせて利用することで、テンプレートを呼び出した呼び出し命令をデバッグ画面上で、枠線で囲む、ハイライト表示するなどして表すことも可能である。ここで、テンプレートを呼び指す命令とは、例えば、＜ｘｓｌ：ａｐｐｌｙ−ｔｅｍｐｌａｔｅｓ＞タグなどを指す。
【０１６７】
（ＸＳＬＴ文書のノードに応じた編集機能を付加する構成例）
これまでは、ＸＳＬＴ変換部９０２が単一の機能を付加する場合について説明してきたが、ＸＳＬＴ変換部９０２が付加する機能を定義文書として外部から制御する方法も考えられる。ここで、機能とは、例えば、テキストボックスでの入力や、選択ボックスからの候補選択によってＸＭＬ文書を更新するものなどが考えられる。
【０１６８】
以下では、定義文書を使ってＸＳＬＴ変換部９０２で付加される機能を制御する構成例について説明する。
【０１６９】
（定義文書を含んだ構成について）
図２６に、定義文書でＸＳＬＴ変換部９０２を制御する場合のＸＭＬ文書編集装置（構造化文書編集装置）の構成例を示す。
【０１７０】
図２６に示されるように、図５の構成に加えて、定義文書９２０を追加する。また、図２６のＸＳＬＴ変換部９０２は、ＸＳＬＴ文書９０１と定義文書９２０を入力するものになっている。
【０１７１】
定義文書９２０は、ＸＳＬＴ変換部９０２で付加される「機能」と、付加される「場所」とを指定するものである。定義文書９２０は、ＸＳＬＴ変換部９０２に入力として与えられる。
【０１７２】
ＸＳＬＴ変換部９０２は、入力された定義文書９２０の記述に従って、入力されたＸＳＬＴ文書９０１の変換を行う。次に、変換されたＸＳＬＴ文書９０３がＸＳＬＴプロセッサ９０４に渡される。ＸＳＬＴプロセッサ９０４は、変換されたＸＳＬＴ文書９０３で、ＸＭＬ文書９０５を変換し、変換後文書を生成する。
【０１７３】
更新データ入力部９０８は、更新するデータをＷｅｂブラウザ２１上で入力する部分で、例えば、Ｗｅｂブラウザ２１上のスクリプトとＷｅｂブラウザ２１上のテキスト入力ボックス、選択ボックスなどで実現される。
【０１７４】
ＸＭＬ文書更新部９０９は、例えばＷｅｂブラウザ２１上のスクリプトなどで実現されたものであり、変換後文書記憶部９０６からは元のＸＭＬ文書９０５中のノードへの参照を、更新データ入力部９０８からは入力データを受取り、ＸＭＬ文書９０５を更新する機能を持つ。
【０１７５】
もちろん、図２６の場合も、図６を参照しながら説明したように、Ｗｅｂサーバの配置された計算機（図１の１）にＸＳＬＴプロセッサを配置する構成例が可能である。
【０１７６】
（定義文書の構造について）
ここで、定義文書９２０のデータ構造について説明する。
【０１７７】
図２７に、定義文書９２０のデータ構造の概略的な構成例を示す。
【０１７８】
図２７に示されるように、定義文書９２０は、１又は複数のルール３００１からなる。各ルールは、機能を付加する「場所」を示す付加対象要素指定部３００２と、付加する「機能」を示す付加要素部３００３からなる。
【０１７９】
付加対象要素指定部３００２では、変換するＸＳＬＴ文書９０１のノード位置を指定する。ノード位置の指定は、例えば、ＸＰａｔｈ式などを用いて記述する。
【０１８０】
付加要素部３００３では、付加対象要素指定部３００２で指定したノード位置に対して付加したい機能を指定する。
【０１８１】
また、ルール３００１には、機能を付加する条件を記述した付加条件部３００４があってもよい。
【０１８２】
以上の構成で、ＸＳＬＴ文書９０１に対して、どのノード位置に、どのような機能を付加するかを定義文書に記述する。
【０１８３】
図２８に、定義文書９２０の一例を示す。
【０１８４】
図２８中の破線は、図２７に示した定義文書の構成要素に対応している。この例では、二つのルール３００１が定義されている。図２８中、一つ目のルールは、ｍａｔｃｈ属性で記述されたＸＰａｔｈ式で指定されるＸＳＬＴ文書のノード位置に、テキストボックスによる入力機能を付加するように記述されている。また、二つ目のルールは、ｍａｔｃｈ属性で記述されたＸＰａｔｈ式で指定されるＸＳＬＴ文書のノード位置に、選択ボックスによる入力機能を付加するように記述されている。
【０１８５】
また、一つ目のルールには、付加条件部３００４が存在し、機能を付加する場合の条件が指定されている。付加条件部が存在する場合には、付加条件部の条件を満たす場合にのみ、指定された機能が付加される。
【０１８６】
（変換されたＸＳＬＴの構造について）
次に、変換されたＸＳＬＴ文書９０３の構造の一例を説明する。
【０１８７】
図２９に、変換されたＸＳＬＴ文書９０３の一例を示す。
【０１８８】
この例は、図３のＸＳＬＴ文書を、図２８の定義文書を使ってＸＳＬＴ変換部９０２で変換した例である。図２９中の破線部分が、定義文書の記述に従ってＸＳＬＴ変換部９０２で変換された部分である。なお、図３０及び図３１に、図２９のＸＳＬＴ文書のうち、図３のＸＳＬＴ文書から変換された部分だけを抜き出したものを示す。図３０は、図２９の３０１０の部分に対応し、図３１は、３０１１の部分に対応する。
【０１８９】
以下、図２８〜図３１の例を用いて、定義文書の記述が、変換されたＸＳＬＴ文書に対して、どのように反映されるのかについて説明する。
【０１９０】
ＸＳＬＴ変換部９０２は、定義文書９２０の各ルール（３００１）中で指定した場所に対して、指定した機能を付加する。
【０１９１】
変換されたＸＳＬＴ文書９０３（図２９）は、定義文書９２０（図２８）の付加対象要素指定部（３００２）で指定されたＸＳＬＴ文書９０１の要素を、付加要素指定部（３００３）で指定された要素に従って置き換えたものである。
【０１９２】
前述のように、図２９の破線部分が置き換えられた部分であり、それぞれの破線部分の詳細が図３０及び図３１に示されている。
【０１９３】
まず、定義文書９２０の一つ目のルールについて説明する。
【０１９４】
図３０が、定義文書９２０の一つ目のルールによって置き換えられた、テキストボックスによる入力機能を付加する部分である。
【０１９５】
図２８の定義文書の一つ目のルールには条件部（３００４）が存在するので、条件を判定し、条件が成立した場合の処理する要素（図２９中の、＜ＸＳＬ：ｗｈｅｎ＞タグ以下）と、条件が不成立のときに、ＸＳＬＴ文書にもともと記述されていた処理を行う部分（図２９中の＜ＸＳＬ：ｏｔｈｅｒｗｉｓｅ＞タグ以下）が出力される。
【０１９６】
条件が成立する場合には、ルールの記述にしたがって、テキストボックスによる入力機能を付加する。具体的には、条件を判定する要素の子要素として、＜ｔｅｘｔａｒｅａ＞要素と、その要素に元のＸＭＬ文書９０５への参照を属性として埋め込むＸＳＬＴ命令が挿入される。さらに、元々存在したＸＳＬＴ命令が挿入される。この例では、ＸＭＬ文書の値を抽出する＜ＸＳＬ：ｖａｌｕｅ−ｏｆ＞命令が挿入されるので、変換前のＸＳＬＴ文書でＸＭＬ文書を変換したときと同様に、この変換後ＸＳＬＴ文書でＸＭＬ文書を変換した場合も、対象とするＸＭＬ文書の値が抽出されることになる。
【０１９７】
次に、定義文書９２０の二つ目のルールについて説明する。
【０１９８】
図３１が、定義文書９２０の二つ目のルールによって置き換えられた、選択ボックスによる入力機能を付加する部分である。
【０１９９】
二つ目のルールでは、条件部が存在しないので、条件を判定する要素は出力されない。
【０２００】
ルールの記述に従って、選択ボックスによる入力機能を付加する。具体的には、＜ｓｅｌｅｃｔ＞要素と、元のＸＭＬ文書９０５への参照を属性として埋め込む要素、選択ボックス中の各候補を表示するための＜ｏｐｔｉｏｎ＞要素、ＸＭＬ文書の値によって選択候補を選ぶ命令が挿入される。
【０２０１】
（変換後文書の構造について）
次に、変換されたＸＳＬＴ文書９０３によって、ＸＭＬ文書９０１を変換した変換後文書の構造の一例を説明する。
【０２０２】
図３２に、変換後文書の一例を示す。この例は、図２のＸＭＬ文書を、図２９の変換されたＸＳＬＴ文書を使ってＸＳＬＴプロセッサ９０４で変換した例である。
【０２０３】
ＸＳＬＴプロセッサ９０４は、ＸＳＬＴ文書の命令に従って、ＸＭＬ文書９０１を変換する。
【０２０４】
変換されたＸＳＬＴ文書９０３は、元のＸＳＬＴ文書９０１に対して、定義文書９２０の記述に従って、命令が追加、変更されている。その部分がＸＳＬＴプロセッサ９０４で解釈されることで、変換後文書に定義文書９２０の記述に従った機能を付加することになる。
【０２０５】
図３２の変換後文書において、破線部分が、機能が付加された部分である。テキストボックスによる入力を実現する部分（３０２０）、選択ボックスによる入力を実現する部分（３０２１）が、それぞれ、図２９の変換されたＸＳＬＴ文書９０３の破線部分（３０１０，３０１１）の命令から生成されている。
【０２０６】
テキストボックスによる入力機能を付加する部分では、変換後ＸＳＬＴ文書９０３の命令に従って、＜ＴＥＸＴＡＲＥＡ＞タグに、元のＸＭＬ文書９０５への参照が属性として追加されたものが挿入されている。
【０２０７】
選択ボックスによる入力を実現する部分では、変換後ＸＳＬＴ文書９０３の命令に従って、＜ＳＥＬＥＣＴ＞タグに、元のＸＭＬ文書９０５への参照が属性として挿入されたものと、選択候補を表示するための＜ＯＰＴＩＯＮ＞タグが挿入されている。
【０２０８】
図２９の変換されたＸＳＬＴ文書９０３の破線部分は、上述のように図２８の定義文書９２０の記述によって生成されているので、結局、定義文書９２０の記述に従って、変換後文書に機能が付加されることになる。
【０２０９】
図３３に、図３２の生成結果文書をブラウザ表示した場合の画面の一例を示す。図４の表示に比べて、機能が追加されている。
【０２１０】
（ＸＳＬＴ変換部における変換の手順について）
図３４に、この場合のＸＳＬＴ変換部９０２の変換手順の一例を示す。
【０２１１】
すなわち、ＸＳＬＴ変換部９０２は、ＸＳＬＴ文書９０１と定義文書９２０を受け取り、図３４に示す手順を実行し、変換されたＸＳＬＴ文書９０３を出力し、ＸＳＬＴプロセッサ９０４へＸＳＬＴ文書として渡す。
【０２１２】
この手順例では、まず、ＸＳＬＴ変換部９０２は、入力されたＸＳＬＴ文書９０１からＸＳＬＴ文書中のノードを一つ読み込む（ステップＳ１０１）。
【０２１３】
この結果、ＸＳＬＴ文書９０１にそれ以上読み込むノードがなければ（ステップＳ１０２）、処理を終了する。
【０２１４】
続いて、入力された定義文書９２０からルールを一つ読み込む（ステップＳ１０３）。
【０２１５】
この結果、入力された定義文書９２０にそれ以上読み込むルールがなければ（ステップＳ１０４）、読み込んだノードをそのまま出力し（ステップＳ１０５）、ステップＳ１０１に戻る。
【０２１６】
他方、ＸＳＬＴ文書９０１からノードを一つ読み込むことができ、かつ、定義文書９２０からルールを一つ読み込むができた場合には、読み込んだノードと、読み込んだルールの付加対象要素指定部とを比べ、付加対象かどうかを判定する（ステップＳ１０６）。
【０２１７】
この結果、付加対象でない場合には、ステップＳ１０４に戻る。
【０２１８】
付加対象である場合には、まず、ルール中に付加条件部があるかどうか判定し（ステップＳ１０７）、付加条件部が存在するときは、「付加条件部が保持している条件を判定する」命令の開始タグと条件文を出力する（ステップＳ１０８）。付加条件部が存在しないときは、ステップＳ１０８の処理は行わない。
【０２１９】
次に、読み込んだルール中の付加要素部の種類によって分岐する（ステップＳ１０９）。
【０２２０】
この例では、付加要素部の種類としてテキストボックスでの入力と選択ボックスでの入力を想定しているので、テキストボックスでの入力か、選択ボックスでの入力かで分岐するものとしている。
【０２２１】
テキストボックスでの入力の場合、ステップＳ１１０〜Ｓ１１３で当該要素の処理を行い、選択ボックスでの入力の場合、ステップＳ１１４〜Ｓ１１９で当該要素の処理を行う。
【０２２２】
テキストボックスでの入力の場合におけるステップＳ１１０〜Ｓ１１３の処理は、図１５のＸＳＬＴ変換部９０２の手順例におけるステップＳ５〜Ｓ９の処理とほぼ同様であるので、ここでは、説明を省略する。
【０２２３】
以下では、選択ボックスでの入力の場合におけるステップＳ１１４〜Ｓ１１９の処理について説明する。
【０２２４】
この場合、まず、「選択ボックスを出力する」命令の開始タグを出力に追加する（ステップＳ１１４）。
【０２２５】
次に、「元ＸＭＬノードへの参照を属性として一つ前の要素に追加する」命令を出力に追加する（ステップＳ１１５）。
【０２２６】
次に、ルールの付加要素部のＯＰＴＩＯＮ要素を一つ読み込み、出力に追加する（ステップＳ１１６）。
【０２２７】
次に、「ノード値に対応した選択か判定する命令」を出力に追加する（ステップＳ１１７）。
【０２２８】
ここで、すべてのＯＰＴＩＯＮ要素を追加したかどうか判定し（ステップＳ１１８）、残っていれば、ステップＳ１１６へ戻る。
【０２２９】
他方、残っていなければ、「選択ボックスを出力する」命令を出力に追加する（ステップＳ１１９）。
【０２３０】
以上で、読み込んだルールの付加要素部が選択ボックスで入力する種類だった場合の処理が行われる。
【０２３１】
次に、ルールの中に付加条件部が存在したかどうかを再び判定し（ステップＳ１２０）、存在している場合には、「付加条件部が保持している条件を判定する」命令の閉じタグと「条件不成立時に実行する」命令として、入力ＸＳＬＴノードをそのまま出力する（ステップＳ１２１）。存在していない場合には、ステップＳ１２１の処理は行わない。
【０２３２】
そして、ステップＳ１０１に戻り、入力ＸＳＬＴ文書９０１の次のノードを処理する。
【０２３３】
以上の処理を繰り返し実行し、ステップＳ１０２でループを抜ければ、処理が終了となる。
【０２３４】
もちろん、他の種類の付加要素部の処理をステップＳ１０９の分岐先に追加することによって、付加する機能のバリエーションを増やすことができる。
【０２３５】
（ＸＭＬ文書のノードに応じた編集機能を付加する構成例）
上記では、定義文書の付加対象要素指定部でＸＳＬＴ文書の場所を指定し、当該ＸＳＬＴ文書中の指定された場所に編集機能を付加する例を示したが、以下では、ＸＭＬ文書中の場所を指定することで、ＸＭＬ文書のノードの種類に応じた編集機能を付加する場合の構成例について説明する。
【０２３６】
（定義文書を含んだ構成について）
この場合、ＸＭＬ文書中のノード種類に応じた編集機能を付加する構成例は、図２６と基本的には同様であり、定義文書９２０の付加対象要素指定部と、変換されたＸＳＬＴ文書の構造と、ＸＳＬＴ変換部９０２の手順を変更すればよい。
【０２３７】
（定義文書の構造について）
定義文書９２０のデータ構造について説明する。
【０２３８】
データ構造の概略は、基本的には図２７と同様であり、定義文書は１又は複数のルール（３００１）からなり、各ルール（３００１）は付加対象要素指定部（３００２）と付加要素部（３００３）を含む。
【０２３９】
図３５に、この場合の定義文書９２０の一例を示す。
【０２４０】
図２８では、付加対象要素指定部でＸＳＬＴ文書中のノード位置を指定したのに対し、図３５では、例えば、「ｍａｔｃｈ＝“ａｕｔｈｏｒ”」、「ｍａｔｃｈ＝“ｔｉｔｌｅ［ｐｏｓｉｔｉｏｎ（）＝１］”」のように、ＸＭＬ文書中のノード位置を指定する。
【０２４１】
また、この例では、ＸＭＬ文書中のｔｉｔｌｅ要素を編集するときは、テキストボックスによる入力機能を付加し、ａｕｔｈｏｒ要素を編集するときは、選択ボックスによる入力機能を付加するように、ルールが記述されている。この定義文書の例は、図３３に示した画面と同じ、機能付加をするための例である。
【０２４２】
ＸＭＬ文書中のノード位置の指定は、例えば、ＸＰａｔｈ式などを用いて記述する。なお、この場合、図２８の付加条件部で指定した「ｐｏｓｉｔｉｏｎ（）＝１」などを付加対象要素指定部のＸＰａｔｈ式に含められる。この例では、ｔｉｔｌｅ要素は第１要素のみテキストボックスで編集し、それ以外は編集不可とすることを指定している。
【０２４３】
（変換されたＸＳＬＴの構造について）
次に、変換されたＸＳＬＴ文書９０３の構成について説明する。
【０２４４】
図３６に、変換されたＸＳＬＴ文書９０３の例を示す。この例は、図３のＸＳＬＴ文書９０１を、図３５の定義文書９２０を使ってＸＳＬＴ変換部９０２で変換した例である。
【０２４５】
変換されたＸＳＬＴ文書９０３の構造は、先に説明した構成例の場合とは異なり、「ＸＳＬＴ文書のテンプレートに対応する部分」（３０３０）と「定義文書のルールをＸＳＬＴテンプレートに変換した部分」（３０３１）と「編集不可のデフォルトテンプレート」（３０３３）との３つの部分で構成される。
【０２４６】
まず、「ＸＳＬＴ文書のテンプレートに対応する部分」（３０３０）は、ＸＳＬＴ文書９０１のテンプレートのうち、「ノード値出力命令」を「テンプレート呼出し命令」に置き換えたものである。ここで、「テンプレート呼出し命令」とは、「ｘｓｌ：ａｐｐｌｙ−ｔｅｍｐｌａｔｅｓ」などのことを差す。
【０２４７】
置き換えを行うとき、ノード値出力命令のノード選択部分であるｓｅｌｅｃｔ属性を、テンプレート呼出し命令のノード選択部分であるｓｅｌｅｃｔ属性に対応させる。これにより、ノードの値を直接ＨＴＭＬ文書に変換出力するのではなく、ＸＭＬ文書のノードに応じたテンプレートに記述された命令によって変換して出力することができる。また、テンプレート呼出し命令に、ｍｏｄｅ属性を付けることで、呼出すテンプレートのグループを指定し、ＸＳＬＴ文書に対応したテンプレートと区別し、ノード値を出力するテンプレートだけを呼出すことができる。
【０２４８】
「定義文書のルールをＸＳＬＴテンプレートに変換した部分」（３０３１）と「編集不可のデフォルトテンプレート」（３０３２）の部分は、テンプレート呼出し命令で呼出されるテンプレートである。このため、これらのテンプレート宣言「ｘｓｌ：ｔｅｍｐｌａｔｅ」にも、同じｍｏｄｅ属性が指定されている。
【０２４９】
次に、「定義文書のルールをＸＳＬＴテンプレートに変換した部分」（３０３１）の構造について説明する。
【０２５０】
「定義文書のルールをＸＳＬＴテンプレートに変換した部分」（３０３１）は、定義文書９２０のルールを、それぞれ、ＸＳＬＴテンプレートに変換したものである。ＸＳＬＴのテンプレート宣言のｍａｔｃｈ属性には、ルールの付加対象要素指定部のｍａｔｃｈ属性を代入する。ｍｏｄｅ属性には、テンプレート呼出しで用いたｍｏｄｅ属性を代入する。なお、この場合、ｍｏｄｅ属性には「ｃｕｓｔｏｍｉｚｅ−ｒｕｌｅ」を代入する。テンプレートの出力部には、ルールの付加要素部で指定された機能に従ったＸＳＬＴ命令に置き換えられる。
【０２５１】
図３７〜図３９に、「定義文書のルールをＸＳＬＴテンプレートに変換した部分」（３０３１）の例を示す。
【０２５２】
図３７は、図３５の定義文書９２０の一つ目のルールが変換された、テキストボックスによる入力機能を付加するテンプレートの例である。この例は、ＸＳＬＴ文書のノード値出力命令を置き換えたテンプレート呼出し命令で、ｐｏｓｔｉｏｎ（）＝１のｔｉｔｌｅ要素のときに呼出され、＜ｔｅｘｔａｒｅａ＞要素と、その要素に元ＸＭＬ文書への参照を属性として、ｔｉｔｌｅ要素の値をｔｅｘｔａｒｅａの値として出力する。
【０２５３】
図３８は、図３５の定義文書９２０の二つ目のルールが変換された、選択ボックスによる入力機能を付加するテンプレートの例である。このテンプレートの例は、同様にして、ＸＭＬ文書のａｕｔｈｏｒ要素のノード値出力命令の代りに、呼出され、単にノード値を出力する代わりに、選択ボックスによる入力機能と元ＸＭＬ文書への参照を属性として埋め込む。
【０２５４】
図３９は、定義文書のルールで付加要素部が編集不可を指定しているルールが変換されたテンプレートの例で、単にノード値を出力するテンプレートの例である。定義文書での編集不可の指定は、付加要素部を省略するか、編集不可を示す命令（例えば、＜ｎｏ−ｅｄｉｔ＞要素）などで行う。
【０２５５】
「編集不可のデフォルトテンプレート」（３０３２）の部分は、定義文書９２０を変換したテンプレートに適合しなかった場合に呼出されるテンプレートで、ＸＳＬＴ文書や定義文書によらないテンプレートの例で、単にノード値を出力する命令のみ含まれる。
【０２５６】
本構成例における変換されたＸＳＬＴ文書９０３は、以上のような構造を持ち、ＸＳＬＴプロセッサ９０４で解釈されると、ＸＭＬ文書９０５のノード値を出力する代りに、定義文書９２０のルールに従って、テキストボックスの入力機能や選択ボックスによる入力機能などを出力する。
【０２５７】
（ＸＳＬＴ変換部における変換の手順について）
次に、本構成例のＸＳＬＴ変換部９０２における変換の手順例について説明する。
【０２５８】
図４０〜図４２に、この場合のＸＳＬＴ変換部９０２の変換手順の一例を示す。すなわち、ＸＳＬＴ変換部９０２は、ＸＳＬＴ文書９０１と定義文書９２０を受け取り、図４０〜図４２に示す手順を実行し、変換されたＸＳＬＴ文書９０３を出力し、ＸＳＬＴプロセッサ９０４へＸＳＬＴ文書として渡す。
【０２５９】
図４０は全体の手順例であり、図４１と図４２はそれぞれ図４０のステップＳ２０２とＳ２０３をより詳しくした手順例である。
【０２６０】
まず、図４０の全体の概略の手順を説明し、その後で、図４１と図４２の手順を説明する。
【０２６１】
この手順例では、まず、ＸＳＬＴ変換部９０２は、変換後ＸＳＬＴ文書９０３のＸＭＬ宣言「＜？ｘｍｌ　ｖｅｒｓｉｏｎ＝“１．０”？＞」と、ｘｓｌ：ｓｔｙｌｅｓｈｅｅｔ要素の開始タグを出力する（ステップＳ２０１）。
【０２６２】
次に、図４１で示す手順に従って、ＸＳＬＴ文書９０１を読み込み、ＸＳＬＴ文書のテンプレートを出力に追加する（ステップＳ２０２）。この処理で、図３６の変換後ＸＳＬＴ文書９０３の「ＸＳＬＴ文書のテンプレートの変換部分」（３０３０）が生成される。
【０２６３】
次に、図４２で示す手順に従って、入力された定義文書９２０のルールをそれぞれＸＳＬＴテンプレートに変換し、出力に追加する（ステップＳ２０３）。この処理で、図３６の変換後ＸＳＬＴ文書９０３の「定義文書のルールをＸＳＬＴテンプレートに変換した部分」（３０３１）が生成される。
【０２６４】
次に、入力によらない「編集不可のデフォルトテンプレート」（３０３２）を出力に追加する（ステップＳ２０４）。
【０２６５】
次に、ｘｓｌ：ｓｔｙｌｅｓｈｅｅｔ要素の終了タグを出力し（ステップＳ２０５）、処理を終了する。
【０２６６】
次に、図４１を参照しながら、図４０のステップＳ２０２の処理の詳細を説明する。
【０２６７】
ステップＳ２０２では、ＸＳＬＴ文書のテンプレートを出力に追加する。その際、「ノード値出力命令」を「テンプレート呼出し命令」に置き換えて出力する。
【０２６８】
すなわち、まず、ＸＳＬＴ文書からノードを一つ読み込み（ステップＳ２０６）、読み込んだノードが「ノード値出力命令」ならば（ステップＳ２０７）、「テンプレート呼出し命令」を出力に追加し（ステップＳ２０８）、入力されたＸＳＬＴ文書の「ノード値出力命令」のｓｅｌｅｃｔ属性をそのテンプレート呼び出し命令のｓｅｌｅｃｔ属性として出力に追加する（ステップＳ２０９）。例えば、読み込んだノードが、「＜ｘｓｌ：ｖａｌｕｅ−ｏｆｓｅｌｅｃｔ＝“ａｕｔｈｏｒ”／＞」ならば、「＜ｘｓｌ：ａｐｐｌｙ−ｔｅｍｐｌａｔｅｓ　ｓｅｌｅｃｔ＝“ａｕｔｈｏｒ”ｍｏｄｅ＝“ｃｕｓｔｏｍｉｚｅ−ｒｕｌｅ”／＞」を出力する。
【０２６９】
読み込んだノードがそれ以外ならば（ステップＳ２０７）、読み込んだノードをそのまま出力に追加する（ステップＳ２１０）。
【０２７０】
ステップＳ２０６からステップＳ２１０までを、入力されたＸＳＬＴ文書のすべてのノードを処理するまで繰り返し、ステップＳ２０２を終了する。
【０２７１】
次に、図４２を参照しながら、図４０のステップＳ２０３の処理の詳細を説明する。
【０２７２】
ステップＳ２０３では、入力された定義文書のルールをそれぞれＸＳＬＴテンプレートに変換し、出力に追加する。
【０２７３】
すなわち、まず、入力された定義文書からルールを一つ読み込み（ステップＳ２１１）、この結果、定義文書にそれ以上読み込むノードがなければ（ステップＳ２１２）、このステップ２０３の処理を終了する。
【０２７４】
次に、ルールを読み込んだら、対応するテンプレート宣言の開始タグを出力に追加し（ステップＳ２１３）、読み込んだルールの付加要素指定部のｍａｔｃｈ属性を出力したテンプレート宣言のｍａｔｃｈ属性として追加する（ステップＳ２１４）。例えば、ルールが「＜ｒｕｌｅ　ｔａｒｇｅｔ＝“ｘｍｌ”ｍａｔｃｈ＝“ａｕｔｈｏｒ［ｐｏｓｉｔｉｏｎ（）＝１］”＞」で始まるならば、「＜ｘｓｌ：ｔｅｍｐｌａｔｅ　ｍａｔｃｈ＝“ａｕｔｈｏｒ［ｐｏｓｉｔｉｏｎ（）＝１］”ｍｏｄｅ＝“ｃｕｓｔｏｍｉｚｅ−ｒｕｌｅ”＞」を出力する。
【０２７５】
次に、ルールの出力部を読み込み、その種類で分岐する（ステップＳ２１５）。
【０２７６】
この例では、ルールの出力部の種類としてテキストボックスでの入力と選択ボックスでの入力を想定しているので、テキストボックスでの入力か、選択ボックスでの入力かで分岐するものとしている。もちろん、他の種類をステップＳ２１５の分岐先に追加することによって、付加する機能のバリエーションを増やすことができる。
【０２７７】
なお、図４２の手順例において、テキストボックスでの入力の場合におけるステップＳ２１６〜Ｓ２１９の処理は、図３４のステップＳ１１０〜Ｓ１１３の処理と同じであり、選択ボックスでの入力の場合におけるステップＳ２２１〜２２６の処理は、図３４のステップＳ１１４〜Ｓ１１９の処理と同じである。
【０２７８】
他方、編集不可のノードの場合、単に入力ＸＳＬＴノードの「ノード値出力命令」を出力に追加する（ステップＳ２２６）。このとき、ｓｅｌｅｃｔ属性はカレントノードを指定する。すなわち、例えば、「＜ｘｓｌ：ｖａｌｕｅ−ｏｆ　ｓｅｌｅｃｔ＝“．”／＞」を出力する。
【０２７９】
以上で分岐の処理を行ったあと、テンプレート宣言の終了タグ「＜／ｘｓｌ：ｔｅｍｐｌａｔｅ＞」を出力に追加し（ステップＳ２２０）、入力された定義文書の次のルールを処理するためステップＳ２１１に戻る。
【０２８０】
以上の処理を繰り返し実行し、ステップＳ２１２でループを抜ければ、このステップＳ２０３の処理が終了となる。
【０２８１】
本実施形態では、ＸＭＬ文書を対象としたが、本発明はその適用がＸＭＬ文書のみに限定されるものではなく、ＸＭＬ文書と同様の性質を有する他の構造化文書についても本発明は適用可能である。
【０２８２】
なお、本実施形態は、コンピュータに所定の手段を実行させるための（あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための）プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【０２８３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０２８４】
【発明の効果】
本発明によれば、構造化文書をＸＳＬＴで変換した画面イメージのままで、元の構造化文書や変換で用いられるＸＳＬＴ文書の編集やデバッグを行うことが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る構造化文書文書編集システムの構成例を示す図
【図２】ＸＭＬ文書の一例を示す図
【図３】ＸＳＬＴ文書の一例を示す図
【図４】ブラウザ上での表示例を示す図
【図５】同実施形態に係るＸＭＬ文書編集装置の構成例を示す機能ブロック図
【図６】同実施形態に係るＸＭＬ文書編集装置の他の構成例を示す機能ブロック図
【図７】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴプロセッサで生成されるデータの一例を示す図
【図８】ＸＭＬ文書ノード対応表の一例を示す図
【図９】同実施形態に係るＸＭＬ文書編集装置の他の構成例を示す機能ブロック図
【図１０】ＸＳＬＴ文書のデータ構造の構成例を示す図
【図１１】ノード値出力命令を置き換える一連の命令の構成例を示す図
【図１２】変換後ＸＳＬＴ文書の一例を示す図
【図１３】変換後ＸＳＬＴ文書の一例を示す図
【図１４】変換後ＸＳＬＴ文書の他の例を示す図
【図１５】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴ変換部の処理手順の一例を示すフローチャート
【図１６】同実施形態に係るＸＭＬ文書編集装置の更新データ入力部がブラウザ上でのデータ入力を受け付ける表示画面の一例を示す図
【図１７】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴ変換部の処理手順の他の例を示すフローチャート
【図１８】変換後ＸＳＬＴ文書のさらに他の例を示す図
【図１９】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴプロセッサで生成されたデータの他の例を示す図
【図２０】変換後ＸＳＬＴ文書のさらに他の例を示す図
【図２１】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴプロセッサで生成されるデータの一例を示す図
【図２２】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴ変換部の処理手順のさらに他の例を示すフローチャート
【図２３】変換後ＸＳＬＴ文書のさらに他の例を示す図
【図２４】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴプロセッサで生成されるデータの一例を示す図
【図２５】ＸＳＬＴデバッグ機能によるＸＳＬＴテンプレートのブラウザ上での表示例を示す図
【図２６】同実施形態に係るＸＭＬ文書編集装置のさらに他の構成例を示す機能ブロック図
【図２７】定義文書のデータ構造の構成例を示す図
【図２８】定義文書の一例を示す図
【図２９】変換後ＸＳＬＴ文書さらに他の例を示す図
【図３０】変換後ＸＳＬＴ文書さらに他の例を示す図
【図３１】変換後ＸＳＬＴ文書さらに他の例を示す図
【図３２】変換後文書（定義文書で指定された機能を付加されたＨＴＭＬ文書）の一例を示す図
【図３３】同実施形態に係るＸＭＬ文書編集装置の更新データ入力部がブラウザ上でのデータ入力を受け付ける表示画面の一例を示す図
【図３４】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴ変換部の処理手順のさらに他の例を示すフローチャート
【図３５】同実施形態に係るＸＭＬ文書編集装置のさらに他の構成例を示す機能ブロック図
【図３６】変換後ＸＳＬＴ文書の一例を示す図
【図３７】変換後ＸＳＬＴ文書の一例を示す図
【図３８】変換後ＸＳＬＴ文書の一例を示す図
【図３９】変換後ＸＳＬＴ文書の一例を示す図
【図４０】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴ変換部の処理手順のさらに他の例を示すフローチャート
【図４１】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴ変換部の処理手順のさらに他の例を示すフローチャート
【図４２】同実施形態に係るＸＭＬ文書編集装置のＸＳＬＴ変換部の処理手順のさらに他の例を示すフローチャート
【図４３】従来技術について説明するための図
【図４４】従来技術について説明するための図
【図４５】従来技術について説明するための図
【符号の説明】
１，２…計算機、３…ネットワーク、１１…Ｗｅｂサーバ、２１…Ｗｅｂブラウザ、２２…ＸＭＬ文書編集装置、９０２…ＸＳＬＴ変換部、９０４…ＸＳＬＴプロセッサ、９０６…変換後文書記憶部、９０７…表示装置、９０８…更新データ入力部、９０９…ＸＭＬ文書更新部、９１２…サーバ側ＸＭＬ文書更新部、９１３…送信部、９１４…更新データ受信部、９１５…受信部、９１６…更新データ送信部
【図１】
2004030582.tif 000003
【図２】
2004030582.tif 000004
【図３】
2004030582.tif 000005
【図４】
2004030582.tif 000006
【図５】
2004030582.tif 000007
【図６】
2004030582.tif 000008
【図７】
2004030582.tif 000009
【図８】
2004030582.tif 000010
【図９】
2004030582.tif 000011
【図１０】
2004030582.tif 000012
【図１１】
2004030582.tif 000013
【図１２】
2004030582.tif 000014
【図１３】
2004030582.tif 000015
【図１４】
2004030582.tif 000016
【図１５】
2004030582.tif 000017
【図１６】
2004030582.tif 000018
【図１７】
2004030582.tif 000019
【図１８】
2004030582.tif 000020
【図１９】
2004030582.tif 000021
【図２０】
2004030582.tif 000022
【図２１】
2004030582.tif 000023
【図２２】
2004030582.tif 000024
【図２３】
2004030582.tif 000025
【図２４】
2004030582.tif 000026
【図２５】
2004030582.tif 000027
【図２６】
2004030582.tif 000028
【図２７】
2004030582.tif 000029
【図２８】
2004030582.tif 000030
【図２９】
2004030582.tif 000031
【図３０】
2004030582.tif 000032
【図３１】
2004030582.tif 000033
【図３２】
2004030582.tif 000034
【図３３】
2004030582.tif 000035
【図３４】
2004030582.tif 000036
【図３５】
2004030582.tif 000037
【図３６】
2004030582.tif 000038
【図３７】
2004030582.tif 000039
【図３８】
2004030582.tif 000040
【図３９】
2004030582.tif 000041
【図４０】
2004030582.tif 000042
【図４１】
2004030582.tif 000043
【図４２】
2004030582.tif 000044
【図４３】
2004030582.tif 000045
【図４４】
2004030582.tif 000046
【図４５】
2004030582.tif 000047