(57)【要約】【課題】複数の第１の構造化文書をＸＳＬＴ変換して第２の構造化文書に変換する場合に、ＸＳＬＴ変換処理を効率化することのできる構造化文書変換装置を提供すること。【解決手段】ＸＳＬＴ判定部１０１において、で入力ＸＭＬ文書に対応するＸＳＬＴ文書に基づき差分変換可能の利用が可能と判定され且つ入力ＸＭＬ文書に類似する類似ＸＭＬ文書に対応するＨＴＭＬ文書が存在する場合、ＸＭＬ文書をＸＳＬＴ変換する代わりに、ΔＸＭＬ生成部１０２において、入力ＸＭＬ文書と類似ＸＭＬ文書との差分を生成し、Δ−ＸＳＬＴ変換部１０３において、変換された差分をＸＳＬＴ変換したものと、入力ＸＭＬ文書に類似する類似ＸＭＬ文書に対応するＨＴＭＬ文書とから、入力ＸＭＬ文書に対応するＨＴＭＬ文書を求める。【選択図】      図１
2006065406.tif 000002
【特許請求の範囲】
【請求項１】
第１の構造化文書を記憶するための第１の記憶手段と、
構造化文書の構造を変換するためのスタイルシートであって前記第１の構造化文書に関連付けられたスタイルシートに基づき前記第１の構造化文書を変換して、第２の構造化文書を生成する第１の生成手段と、
この第１の生成手段により生成された第２の構造化文書を記憶するための第２の記憶手段と、
第３の構造化文書と、前記第１の記憶手段に記憶されている、該第３の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第１の構造化文書との間の差分を示す差分構造化文書を生成する第２の生成手段と、
前記第３の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第３の生成手段と、
前記第３の生成手段により生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第１の構造化文書を前記第１の生成手段により前記スタイルシートに基づき変換して得られる前記第２の構造化文書とをもとにして、前記第３の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第４の構造化文書を生成する第４の生成手段とを備えたことを特徴とする構造化文書処理装置。
【請求項２】
前記第１の記憶手段は、前記第１の構造化文書と、該第１の構造化文書を識別する第１の識別情報とを対応付けて記憶するものであり、
前記第２の記憶手段は、前記第２の構造化文書と、該第２の構造化文書を識別する第２の識別情報とを対応付けて記憶するものであり、
前記構造化文書処理装置は、前記第２の記憶手段に記憶されている第２の構造化文書について、当該第２の構造化文書の第２の識別情報と、当該第２の構造化文書を生成するもととなった前記第１の構造化文書の第１の識別情報と、当該第２の構造化文書を生成するにあたって用いたスタイルシートを識別する第３の識別情報とを対応付けて記憶する第３の記憶手段を更に備え、
前記第４の生成手段は、前記差分構造化文書のもととなった前記第１の構造化文書の第１の識別情報と、前記スタイルシートの第３の識別情報とに基づいて、前記第３の記憶手段から、前記第２の構造化文書の第２の識別情報を求め、該第２の識別情報に基づき、前記第２の記憶手段から、前記第２の構造化文書を取得することを特徴とする請求項１に記載の構造化文書処理装置。
【請求項３】
前記第３の構造化文書につき、前記第２、第３及び第４の生成手段により前記第４の構造化文書を生成することが可能か否かを、前記第３の構造化文書に関連付けられた前記スタイルシートに基づいて判定する判定手段を更に備え、
前記判定手段により可能であると判断された場合に、前記第２、第３及び第４の生成手段によりそれぞれ前記生成を行うことを特徴とする請求項１に記載の構造化文書処理装置。
【請求項４】
前記判定手段により可能でないと判断された場合に、前記第３の構造化文書を、該第３の構造化文書に関連付けられたスタイルシートにより変換する手段を更に備えたことを特徴とする請求項３に記載の構造化文書処理装置。
【請求項５】
前記第３の構造化文書につき、前記第２、第３及び第４の生成手段により前記第４の構造化文書を生成することが可能か否かを、前記第３の構造化文書に関連付けられた前記スタイルシートに基づいて判定する判定手段を更に備え、
前記第２の生成手段は、前記判定手段による判定に先立って、前記変換後差分構造化文書を生成するとともに、
前記判定手段により可能であると判断された場合に、前記第３及び第４の生成手段によりそれぞれ前記生成を行うことを特徴とする請求項１に記載の構造化文書処理装置。
【請求項６】
前記判定手段により可能でないと判断された場合に、前記第２の生成手段により生成された前記差分構造化文書と前記第１の構造化文書とをもとにして復元した元の第３の構造化文書を、該第３の構造化文書に関連付けられたスタイルシートにより変換する手段を更に備えたことを特徴とする請求項５に記載の構造化文書処理装置。
【請求項７】
前記第２の生成手段は、前記第１の記憶手段に記憶されている第１の構造化文書のうち、前記第３の構造化文書に類似する第１の構造化文書を用いて、前記差分構造化文書を生成することを特徴とする請求項１に記載の構造化文書処理装置。
【請求項８】
構造化文書を入力する手段を更に備え、
入力された前記構造化文書に類似する構造化文書が前記第１の記憶手段に記憶されている場合には、該入力された構造化文書を前記第３の構造化文書として処理し、記憶されていない場合には、該入力された構造化文書を前記第１の構造化文書として処理することを特徴とする請求項１に記載の構造化文書処理装置。
【請求項９】
前記第４の生成手段により生成された前記第４の構造化文書を表示画面に表示させるための手段を更に備えたことを特徴とする請求項１に記載の構造化文書処理装置。
【請求項１０】
前記第２乃至第４の生成手段を同一の装置に設けたことを特徴とする請求項１に記載の構造化文書処理装置。
【請求項１１】
前記第２の生成手段を第１の装置に設け、前記第３及び第４の生成手段を該第１の装置とは別の装置に設けたことを特徴とする請求項１に記載の構造化文書処理装置。
【請求項１２】
第１の構造化文書を第１の記憶手段に記憶する第１の記憶ステップと、
構造化文書の構造を変換するためのスタイルシートであって前記第１の構造化文書に関連付けられたスタイルシートに基づき前記第１の構造化文書を変換して、第２の構造化文書を生成する第１の生成ステップと、
この第１の生成ステップにより生成された第２の構造化文書を第２の記憶手段に記憶する第２の記憶ステップと、
第３の構造化文書と、前記第１の記憶手段に記憶されている、該第３の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第１の構造化文書との間の差分を示す差分構造化文書を生成する第２の生成ステップと、
前記第３の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第３の生成ステップと、
前記第３の生成ステップにより生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第１の構造化文書を前記第１の生成ステップにより前記スタイルシートに基づき変換して得られる前記第２の構造化文書とをもとにして、前記第３の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第４の構造化文書を生成する第４の生成ステップとを有することを特徴とする構造化文書処理方法。
【請求項１３】
構造化文書処理装置としてコンピュータを機能させるためのプログラムにおいて、
前記プログラムは、
第１の構造化文書を第１の記憶手段に記憶する第１の記憶ステップと、
構造化文書の構造を変換するためのスタイルシートであって前記第１の構造化文書に関連付けられたスタイルシートに基づき前記第１の構造化文書を変換して、第２の構造化文書を生成する第１の生成ステップと、
この第１の生成ステップにより生成された第２の構造化文書を第２の記憶手段に記憶する第２の記憶ステップと、
第３の構造化文書と、前記第１の記憶手段に記憶されている、該第３の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第１の構造化文書との間の差分を示す差分構造化文書を生成する第２の生成ステップと、
前記第３の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第３の生成ステップと、
前記第３の生成ステップにより生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第１の構造化文書を前記第１の生成ステップにより前記スタイルシートに基づき変換して得られる前記第２の構造化文書とをもとにして、前記第３の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第４の構造化文書を生成する第４の生成ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書を変換する構造化文書変換装置、構造化文書変換方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＸＭＬ（eXtensible Markup Language：拡張性可能なマーク付言語）が標準的なデータ記述言語として広く普及している。ＸＭＬ文書は、その文書の見た目に関する記述を文書の内部に持たない。ＸＭＬをブラウザなどで閲覧したり、紙などの媒体に印刷したりするためのスタイルシート技術として、ＸＳＬ（XML Stylesheet Language）が策定されている。ＸＳＬの中の構造変換に関する部分はＸＳＬＴ（XSL Transformation）と呼ばれている。ＸＳＬＴを用いると、ＸＭＬ文書を他の構造を持つＸＭＬ文書に変換したり、ＨＴＭＬ文書に変換したりすることができる。
【０００３】
あるＸＭＬ文書に対してＸＳＬＴ変換に用いるＸＳＬＴ文書を指定する方法はいくつかある。まず、ＸＭＬ文書内にProcessing Instructions（PI）としてＵＲＩを記述する方法がある。ブラウザは、ＸＭＬ文書内にＸＳＬＴを指定するＰＩが存在するとき、そのＸＳＬＴを用いてＸＭＬ文書をＸＳＬＴ変換し、生成されたＨＴＭＬ（もしくはテキストやＸＭＬ文書など）を表示する。また、ＸＭＬ文書内にＸＳＬＴを指定するＰＩが存在するかしないかにかかわらず、ブラウザ側で特定のＸＳＬＴ文書を指定するようになっている場合もある。広く普及している幾つかのＷｅｂブラウザでは、ＸＭＬ文書を閲覧する場合、ＸＭＬ文書内のＰＩで指定されたＸＳＬＴ文書を用いてＸＳＬＴ変換した結果を表示する仕様となっている。
【０００４】
このＸＳＬＴ変換の処理は、ＸＭＬ文書を表示するごとに行う必要があり、処理コストがかかっていた。ＸＳＬＴ変換の処理コストを下げる技術も多く研究されている。例えば、ＸＭＬ文書の編集技術として開発されたIncremental XSLTと呼ばれる技術がある。この技術では、ＸＳＬＴ変換の処理フローを内部情報として持つ。編集処理により、ＸＭＬ文書に変更があると、対応する処理フローを更新した後、処理フローと変更後のＸＭＬの情報よりＨＴＭＬを出力することで、ＸＳＬＴ変換にかかるコストを削減している。
【０００５】
しかしながら、Incremental XSLT技術は、１つのＸＭＬ文書とそのＸＭＬ文書に関連付けられたＸＳＬＴ文書及びそのＸＭＬ文書をそのＸＳＬＴ文書でＸＳＬＴ変換して生成されるＨＴＭＬ文書に閉じたものであった。つまり、決められたＸＭＬ文書に対する編集処理を過去のＸＳＬＴ変換で蓄積した情報を利用して決められたＨＴＭＬ文書に反映することはできるが、内容が類似する他のＸＭＬ文書をＸＳＬＴ変換するにあたり、過去のＸＳＬＴ変換の情報を利用することはできなかった。このため、Ｗｅｂのように複数のコンテンツを扱う状況には適さなかった。
【非特許文献１】矢尾浩、外山春彦、白井智、金井達徳、「ＷｅｂトップＸＭＬエディタ  −ＸＳＬＴによる整形後の編集を可能とする情報整理ツール−」，  デ-08,  情報処理学会第65回全国大会
【非特許文献２】Lionel Villard, Nabil Layaida, “An incremental XSLT Transformation Processor for XML Document Manipulation”, WWW2002, Hawaii, May 7-11, 2002.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来、複数の第１の構造化文書をＸＳＬＴ変換して第２の構造化文書に変換するような場合（例えば、編集したＸＭＬ文書コンテンツを、ＨＴＭＬに変換して順に参照する場合、あるいは、内容が類似したＸＭＬ文書コンテンツを送信側から転送し、受信側でＨＴＭＬに変換して順に参照する場合など）、同一のＸＳＬＴが関連付けられ且つ内容が類似する複数の第１の構造化文書があっても、その都度、ＸＳＬＴ変換処理を行わなければならず、変換処理の負荷が大きかった。
【０００７】
本発明は、上記事情を考慮してなされたもので、複数の第１の構造化文書をＸＳＬＴ変換して第２の構造化文書に変換する場合に、ＸＳＬＴ変換処理を効率化することのできる構造化文書変換装置、構造化文書変換方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、第１の構造化文書を記憶するための第１の記憶手段と、構造化文書の構造を変換するためのスタイルシートであって前記第１の構造化文書に関連付けられたスタイルシートに基づき前記第１の構造化文書を変換して、第２の構造化文書を生成する第１の生成手段と、この第１の生成手段により生成された第２の構造化文書を記憶するための第２の記憶手段と、第３の構造化文書と、前記第１の記憶手段に記憶されている、該第３の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第１の構造化文書との間の差分を示す差分構造化文書を生成する第２の生成手段と、前記第３の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第３の生成手段と、前記第３の生成手段により生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第１の構造化文書を前記第１の生成手段により前記スタイルシートに基づき変換して得られる前記第２の構造化文書とをもとにして、前記第３の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第４の構造化文書を生成する第４の生成手段とを備えたことを特徴とする。
【０００９】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。  
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムとしても成立し、該プログラムを記録したコンピュータ読み取り可能な記録媒体としても成立する。
【発明の効果】
【００１０】
本発明によれば、複数の第１の構造化文書をＸＳＬＴ変換して第２の構造化文書に変換する場合に、ＸＳＬＴ変換処理を効率化することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施形態について説明する。
【００１２】
以下では、本実施形態に係る構造化文書変換装置につき、単独で構造化文書を編集・保存するようなエディタとして利用する場合を中心に説明し、その後でＷｅｂプロキシキャッシュと併用する場合について言及する。
【００１３】
本実施形態では、構造化文書として、ＸＭＬ文書を扱う場合を例にとって説明する。ＸＭＬ文書は、どのような大きさでも構わないが、本実施形態では、ある程度の大きさを持つものを想定している。各ＸＭＬ文書には、それぞれ、スタイルとして指定されたＸＳＬＴ文書が関連付けられているものとする。また、本実施形態では、ＸＭＬ文書にＸＳＬＴ文書を用いたＸＳＬＴ変換を施してＨＴＭＬ文書を生成する場合を例にとって説明する。
【００１４】
図１に、本実施形態に係る構造化文書処理装置の構成例を示す。
【００１５】
図１に示されるように、本実施形態の構造化文書処理装置は、ＸＭＬ文書及びそのＸＭＬ文書に関連付けられたＸＳＬＴ文書を入力する入力部（図示せず）、入力したＸＭＬ文書（入力ＸＭＬ文書とも呼ぶものとする）等の各文書を記憶する記憶部（図示せず）、該ＸＳＬＴに基づきΔ−ＸＳＬＴ変換の可否を判定するＸＳＬＴ判定部１０１、ＸＭＬ文書をキャッシュするＸＭＬキャッシュ（図１では省略）（図６の２０１参照）、ＸＭＬキャッシュを参照して入力ＸＭＬ文書に対するΔＸＭＬ文書を生成するΔＸＭＬ生成部１０２、ΔＸＭＬ文書に対して該ＸＳＬＴ文書を用いたΔ−ＸＳＬＴ変換を行うΔ−ＸＳＬＴ変換部１０３、入力ＸＭＬ文書に対して該ＸＳＬＴ文書を用いた通常のＸＳＬＴを行う通常ＸＳＬＴ変換部（以下、ＸＳＬＴ変換部）１０４、文書の表示等を行うブラウザ１０５を備えている。
【００１６】
ＸＭＬキャッシュには、詳しくは後述するように、ＸＭＬ文書が、その識別情報に対応付けて蓄積されている。
【００１７】
各モジュール間でのＸＭＬ文書の受け渡しについては、ＸＭＬ文書を実際に受け渡ししてもよいし、ＸＭＬ文書を記憶している記憶部における当該ＸＭＬ文書のファイル名又はアドレス等を受け渡しするようにしてもよい。ＸＳＬＴ文書等、他の情報についても同様である。
【００１８】
ここで、ΔＸＭＬ文書は、対象となった入力ＸＭＬ文書を、当該入力ＸＭＬ文書に類似する他のＸＭＬ文書（後述する類似ＸＭＬ文書）（ただし、入力ＸＭＬ文書に関連付けられているＸＳＬＴ文書と同一のＸＳＬＴ文書が関連付けられているもの）を参照して差分圧縮したもので、該或るＸＭＬ文書の類似ＸＭＬ文書に対する差分を表す。ΔＸＭＬ文書は、例えば、該或るＸＭＬ文書は、いずれの（他の）ＸＭＬ文書をベースとしているか、該或るＸＭＬ文書は、そのＸＭＬ文書のいずれのノードに対してどのような変更（追加・削除など）を加えたものに相当するか、といったことを示す情報などを含む。
【００１９】
また、ΔＨＴＭＬ文書は、詳しくは後述するが、概略的には、上記と同様、或るＨＴＭＬ文書（上記の対象となった或るＸＭＬ文書に対応するＨＴＭＬ文書）の他のＨＴＭＬ文書（上記の類似ＸＭＬ文書に対応するＨＴＭＬ文書）に対する差分を表す。
【００２０】
Δ−ＸＳＬＴ変換は、詳しくは後述するが、概略的には、差分情報を用いたＸＳＬＴ変換に関係するものであり、初回ＸＳＬＴ変換（後述）と差分ＸＳＬＴ変換（後述）とを含む。初回ＸＳＬＴ変換は、概略的には、必要な情報がキャッシュされていない場合に、ＸＭＬ文書とＸＳＬＴ文書との対についてＸＳＬＴ変換して、対応するＨＴＭＬ文書を生成するとともに、差分ＸＳＬＴ変換のベースとなる情報をキャッシュする処理を含むものである。差分ＸＳＬＴ変換は、概略的には、必要な情報がキャッシュされている場合に、ΔＸＭＬ文書（を変換したもの）とＸＳＬＴ文書（を変換したもの）についてＸＳＬＴ変換するなどして、ΔＨＴＭＬ文書に相当するもの（後に用いるΔＨＴＭＬｐ文書）を生成し、これと類似ＸＭＬ文書に対応するＨＴＭＬ文書とから、もとのＸＭＬ文書に対応するＨＴＭＬ文書を生成する処理を含むものである。
【００２１】
すなわち、本実施形態では、入力ＸＭＬ文書に類似する類似ＸＭＬ文書がキャッシュされており、類似ＸＭＬ文書に対応するＨＴＭＬ文書が利用可能である場合には、入力ＸＭＬ文書の類似ＸＭＬ文書に対する差分のみをＸＳＬＴ変換することによって、ＸＳＬＴ変換の処理を削減するようにしたものである。
【００２２】
以下、各モジュールについて入力ＸＭＬ文書に類似する文書がキャッシュされていない場合を中心に説明する。
【００２３】
本実施形態の構造化文書処理装置では、入力部からＸＭＬ文書を読み込んだときに、そのＸＭＬ文書に関連付けられたＸＳＬＴ文書をも入力部から読み込む。このＸＳＬＴ文書は、例えば、ＸＭＬ文書のＰＩとして指定されていてもよいし、エディタ側等で指定していてもよい。
【００２４】
入力部から読み込まれたＸＳＬＴ文書は、ＸＳＬＴ判定部１０１に送信される。
【００２５】
ＸＳＬＴ判定部１０１は、図２に示すように、ＸＳＬＴ文書を入力し、該ＸＳＬＴ文書について、Δ−ＸＳＬＴ変換の可能なＸＳＬＴ文書であるか否かを判定し、この判定の結果（例えば、Δ−ＸＳＬＴ変換可能を示す第1の制御情報（例えばＴｒｕｅ）、又はΔ−ＸＳＬＴ変換不能を示す第2の制御情報（例えばＦａｌｓｅ））を出力する。
【００２６】
なお、ΔＸＭＬ生成部１０２及びΔ−ＸＳＬＴ変換部１０３は、ＸＳＬＴ判定部１０１にてΔ−ＸＳＬＴ変換可能と判定された場合に、ΔＸＭＬ生成処理及び当該ＸＳＬＴ文書を用いたΔ−ＸＳＬＴ変換処理を行う。また、ＸＳＬＴ変換部１０４は、ＸＳＬＴ判定部１０１にてΔ−ＸＳＬＴ変換不能と判定された場合に、当該ＸＳＬＴ文書を用いた通常のＸＳＬＴ変換処理を行う。
【００２７】
ここで、Δ−ＸＳＬＴ変換が可能とは、入力ＸＭＬ文書に当該ＸＳＬＴ文書を適用して得られるＨＴＭＬ文書と同一の内容を、該入力ＭＬ文書に類似するＸＭＬ文書に当該ＸＳＬＴ文書を適用して得られるＨＴＭＬ文書と、該入力ＸＭＬ文書の該類似するＸＭＬ文書に対する差分及び当該ＸＳＬＴ文書から得られるＨＴＭＬ文書（より詳しくは、後述するように、該入力ＸＭＬ文書の該類似するＸＭＬ文書に対する差分を修正したものに、当該ＸＳＬＴ文書を修正したものを適用して得られるＨＴＭＬ文書）とを用いて再現することが可能であることを意味する。
【００２８】
上記の判定においては、Δ−ＸＳＬＴ変換可能となる条件が全て分かっている場合には、ＸＳＬＴ文書が当該条件を満たすか否かを調べればよい。例えば、複数の条件があり、いずれかの条件が満たされれば、Δ−ＸＳＬＴ変換可能となる場合には、ＸＳＬＴ文書は、当該複数の条件のうち一つでも満たせば、Δ−ＸＳＬＴ変換可能と判定され、当該条件の全てを満たさなければ、Δ−ＸＳＬＴ不能と判定される。また、例えば、複数の条件が全て満たされれば、Δ−ＸＳＬＴ変換可能となる場合には、ＸＳＬＴ文書は、当該複数の条件の全てを満たせば、Δ−ＸＳＬＴ変換可能と判定され、当該条件のうち一つでも満たさなければ、当該ＸＳＬＴ文書はΔ−ＸＳＬＴ不能と判定される。
【００２９】
また、Δ−ＸＳＬＴ変換不能となる条件が全て分かっている場合には、ＸＳＬＴ文書がΔ−ＸＳＬＴ変換不能となる条件を満たすか否かを調べればよい（Δ−ＸＳＬＴ変換不能となる条件を満たさなければ、Δ−ＸＳＬＴ変換可能と判定される）。
【００３０】
なお、ある条件がΔ−ＸＳＬＴ変換可能な場合に該当するか又はΔ−ＸＳＬＴ変換不能な場合に該当するかについて分からないときは、例えば、当該条件はΔ−ＸＳＬＴ変換不能な場合に該当するとみなして判定すればよい。
【００３１】
図３に、ＸＳＬＴ判定部１０１の処理手順の一例を示す。
【００３２】
ステップＳ１〜Ｓ４に記載の条件、すなわち、  
・ＸＳＬＴ文書内のXPath表記に、ancestor軸、ancestor-or-self軸を含まない。  
・ＸＳＬＴ文書内のXPath表記に、／（document root）を含まない。  
・ＸＳＬＴ文書内のXPath表記に、following-sibling軸、preceding-sibling軸を含まない。  
・ＸＳＬＴ文書内のXPath表記に、述部（[]で囲まれる条件部分）を含まない。  
は、それぞれ、Δ−ＸＳＬＴ変換が不可能な条件であり、この手順例は、それら４つの条件を全て満たした場合に、Δ−ＸＳＬＴ変換可能と判定する例になっている、
本手順例では、ＸＳＬＴ判定部１０１は、上記条件を一つずつ調べ、ステップＳ１〜Ｓ４の全てにおいてＹｅｓとなった場合に、Δ−ＸＳＬＴ変換可能と判定する。また、ステップＳ１〜Ｓ４のいずれかにおいてＮｏとなった場合に、その時点で、Δ−ＸＳＬＴ変換不能と判定する。
【００３３】
前述のように、ＸＳＬＴ判定部１０１にてＸＳＬＴ文書がΔ−ＸＳＬＴ変換不能と判定された場合に行われるのが、ＸＳＬＴ変換部１０４による通常のＸＳＬＴ変換処理である。
【００３４】
ＸＳＬＴ変換部１０４は、図４に示されるように、入力部から入力されたＸＭＬ文書及びこれに関連付けられたＸＳＬＴ文書を入力し、該ＸＳＬＴ文書を用いて、該ＸＭＬ文書に対し通常のＸＳＬＴ変換を行って、ＨＴＭＬ文書を生成し、これを出力する。生成されたＨＴＭＬ文書は、ブラウザ１０５に送信される。
【００３５】
前述のように、ＸＳＬＴ判定部１０１にてＸＳＬＴ文書がΔ−ＸＳＬＴ変換可能と判定された場合に行われるのが、ΔＸＭＬ生成部１０２及びΔ−ＸＳＬＴ変換部１０３による当該ＸＳＬＴ文書についてのΔＸＭＬ生成処理及びΔ−ＸＳＬＴ変換処理である。
【００３６】
ΔＸＭＬ生成部１０２は、図５に示されるように、入力部から入力されたＸＭＬ文書を入力し、該入力ＸＭＬ文書を差分圧縮したΔＸＭＬ文書を生成して出力するか、又は該入力ＸＭＬ文書をそのまま出力する。
【００３７】
Δ−ＸＳＬＴ変換部１０３は、図５に示されるように、ΔＸＭＬ生成部１０２から出力された入力ＸＭＬ文書又はΔＸＭＬ文書と、これに対応するＸＳＬＴ文書とを入力し、該ＸＳＬＴ文書を用いて、該入力ＸＭＬ文書又はΔＸＭＬ文書に対する初回ＸＳＬＴ変換又は差分ＸＳＬＴ変換を行って、ＨＴＭＬ文書を生成し、これを出力する。生成されたＨＴＭＬ文書は、ブラウザ１０５に送信される。
【００３８】
なお、本実施形態では、ＸＳＬＴ判定部１０１やΔ−ＸＳＬＴ変換部１０３によるＸＳＬＴ変換の結果としてＨＴＭＬ文書を生成しているが、これに限定されるものではなく、他のＸＭＬ文書やテキストなど他の形態に係るものでも構わない。また、本実施形態では、変換結果の送信先をブラウザ１０５としているが、これに限定されるものではなく、他のモジュールもしくはアプリケーションなどでも構わない。
【００３９】
以下では、ΔＸＭＬ生成部１０２及びΔ−ＸＳＬＴ変換部１０３についてより詳しく説明する。
【００４０】
図６に、ΔＸＭＬ生成部１０２の構成例を示す。
【００４１】
図６に示されるように、本構成例に係るΔＸＭＬ生成部１０２は、キャッシュ管理部１２１、ＸＭＬ差分圧縮処理部１２２、データ付加部１２３を含む。
【００４２】
ＸＭＬキャッシュ２０１には、過去に差分圧縮せずに処理したＸＭＬ文書が、その識別情報に対応付けて蓄積されている。
【００４３】
なお、以下では、ＸＭＬ文書内にＸＳＬＴ文書を指定する情報を記述する場合を例にとって説明するが、ＸＭＬ文書内にＸＳＬＴ文書を指定する情報を記述しない方法をとる場合には、ＸＳＬＴ文書を指定する情報をもＸＭＬ文書に対応付けてＸＭＬキャッシュ２０１に蓄積すればよい。
【００４４】
個々のＸＭＬ文書を識別する方法としては種々の方法がある。以下では、ＸＭＬ文書（の内容）を一意に識別できるハッシュ値を、ＸＭＬ文書の識別情報として用いて説明するものとするが、もちろん、これに限定されるものではない（以下の説明で用いるハッシュ値を他の識別情報に変えてもよい）。
【００４５】
なお、ＸＭＬ文書の識別情報としてハッシュ値を用いる場合にも、種々の具体的方法がある。その一例としては、例えば特開２００２−２６８９３５公報に「フィンガープリント」が開示されており、これを利用することもできる。
【００４６】
図７に、ΔＸＭＬ生成部１０２の処理手順の一例を示す。
【００４７】
まず、キャッシュ管理部１２１は、入力部から入力された入力ＸＭＬ文書のハッシュ値を求める（ステップＳ１１）。
【００４８】
次に、キャッシュ管理部１２１は、入力ＸＭＬ文書と、ＸＭＬキャッシュ２０１に蓄積されているＸＭＬ文書との比較を行って、入力ＸＭＬ文書（の内容）に類似する（内容を持つ）ＸＭＬ文書（類似ＸＭＬ文書とも呼ぶものとする）がＸＭＬキャッシュ２０１に蓄積されているかどうか探索する（ステップＳ１２）。
【００４９】
なお、ＸＭＬ文書間の類似の程度を示す指標、類似するか否かについての判断基準、類似探索の方法等は、特に限定されるものではなく、適宜、従来の技術を用いて構わない。
【００５０】
入力ＸＭＬ文書に類似する類似ＸＭＬ文書がＸＭＬキャッシュ２０１に蓄積されている場合（ステップＳ１３でＹｅｓ）、ＸＭＬ差分圧縮処理部１２２にて、入力ＸＭＬ文書と、これに類似する類似ＸＭＬ文書とから、入力ＸＭＬ文書を差分圧縮したΔＸＭＬ文書を生成する（ステップＳ１４）。そして、データ付加部１２３にて、入力ＸＭＬ文書に関連付けられたＸＳＬＴ文書を示す情報と、当該類似ＸＭＬ文書のハッシュ値とを、生成されたΔＸＭＬ文書に付加し、これをΔ−ＸＳＬＴ変換部１０３へ送信する（ステップＳ１５）。
【００５１】
ところで、入力ＸＭＬ文書（の内容）と類似ＸＭＬ文書（の内容）とが同一である場合もあり得るが、この場合には、ΔＸＭＬ文書の内容は、例えば、ｎｕｌｌ或いは入力ＸＭＬ文書と類似ＸＭＬ文書とが同一である旨を示す情報などとすればよい。
【００５２】
一方、入力ＸＭＬ文書に類似する類似ＸＭＬ文書がＸＭＬキャッシュ２０１に蓄積されていない場合（ステップＳ１３でＮｏ）、該入力ＸＭＬ文書を、Δ−ＸＳＬＴ変換部１０３へ送信する（ステップＳ１６）。
【００５３】
また、この場合に、これと相前後して若しくは並行して、キャッシュ管理部１２１は、入力ＸＭＬ文書を、そのハッシュ値と対応付けて、ＸＭＬキャッシュ２０１にキャッシュ（登録）する。例えば、入力ＸＭＬ文書のハッシュ値（例えば、フィンガープリント）を求め、該ハッシュ値をラベルにして該入力ＸＭＬ文書をＸＭＬキャッシュ２０１にキャッシュする（ステップＳ１７）。
【００５４】
図８に、Δ−ＸＳＬＴ変換部１０３の構成例を示す。
【００５５】
図８に示されるように、Δ−ＸＳＬＴ変換部１０３は、初回／差分判定部１３１、初回変換部１３２、差分変換部１３３を含む。また、後述するＸＳＬＴ・ＸＳＬＴｐ対応テーブル（３０３）、ＸＳＬＴ・ＸＳＬＴｄ対応テーブル（３０２）、ＸＳＬＴｄ用キャッシュ（２０２）、ＨＴＭＬｐ用キャッシュ（２０３）、ＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブル（３０１）を含む（図１１参照）。
【００５６】
ΔＸＭＬ生成部１０２からΔ−ＸＳＬＴ変換部１０３への入力は、入力ＸＭＬ文書（ＸＭＬキャッシュに類似するＸＭＬ文書がなかった場合）、又は入力ＸＭＬ文書に関連付けられたＸＳＬＴ文書を示す情報及び類似ＸＭＬ文書のハッシュ値を付加されたΔＸＭＬ文書（ＸＭＬキャッシュに類似するＸＭＬ文書があった場合）である。
【００５７】
図９に、Δ−ＸＳＬＴ変換部１０３の処理手順の一例を示す。
【００５８】
まず、ステップＳ２１において、初回／差分判定部１３１は、ＸＭＬ文書（入力ＸＭＬ文書）とΔＸＭＬ文書のいずれが入力されたかを調べ、ＸＭＬ文書が入力されたのであれば、該ＸＭＬ文書のハッシュ値を求め、ΔＸＭＬ文書が入力されたのであれば、該ΔＸＭＬ文書に付加されている、類似ＸＭＬ文書のハッシュ値を取り出す。また、対応するＸＳＬＴ文書を入力し、そのハッシュ値を求める。
【００５９】
なお、或る文書が、ＸＭＬ文書であるか、ΔＸＭＬ文書であるかの区別については、例えば、文書中に、その文書の種類を示す情報を明示的に（例えば、特定のルート・エレメントの属性値として）含ませてもよい。あるいは、文書内に、ある種類の文書に固有の情報が存在するか否かを判断基準にしてもよい（例えば、類似ＸＭＬ文書のハッシュ値が含まれれば、ΔＸＭＬ文書と判断し、含まれなければ、ＸＭＬ文書と判断する）。
【００６０】
次に、ステップＳ２２において、ＸＭＬ文書（類似ＸＭＬ文書）のハッシュ値とＸＳＬＴ文書のハッシュ値とＨＴＭＬｐ文書のハッシュ値とを対応付けて登録した対応テーブル（ＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブル）より、ステップＳ２１で求められたＸＭＬ文書のハッシュ値とＸＳＬＴ文書のハッシュ値との対を検索する。
【００６１】
図１０に、ＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブルの一例を示す。
【００６２】
ステップＳ２３で検索にヒットしなかった場合には、新規のＸＳＬＴ変換となる。よって、入力ＸＭＬ文書又はΔＸＭＬ文書とＸＳＬＴ文書とを初回変換部１３２へ送信して、ステップＳ２４の初回変換処理を行う。
【００６３】
他方、ステップＳ２３で検索にヒットした場合には、類似ＸＭＬ文書に対するＸＳＬＴ変換の履歴があるので、ΔＸＭＬ文書とＸＳＬＴ文書とを差分変換部１３３へ送信して、ステップＳ２５の差分変換処理を行う。
【００６４】
以下、初回ＸＳＬＴ変換について詳しく説明する。
【００６５】
初回変換部１３２は、入力ＸＭＬ文書に対して通常のＸＳＬＴ変換を行って、対応するＨＴＭＬ文書を生成するとともに、次回以降に発生し得る、当該入力ＸＭＬ文書を類似ＸＭＬ文書とする差分ＸＳＬＴ変換のために必要な情報を生成し、キャッシュする。
【００６６】
図１１に、初回変換部１３２の構成例を示す。
【００６７】
図１１に示されるように、初回変換部１３２は、ＸＭＬ伸長部１３２１、ＸＳＬＴｐ生成部１３２３、ＸＳＬＴｄ生成部１３２２、ＸＳＬＴ変換部１３２４、ｘｐａｔｈ除去フィルター１３２５を含む。
【００６８】
なお、ＸＭＬキャッシュ２０１は、ΔＸＭＬ生成部１０２のＸＭＬキャッシュ２０１（図６参照）である。
【００６９】
初回変換部１３２への入力は、ＸＭＬ文書又はΔＸＭＬ文書と、ＸＳＬＴ文書である。
【００７０】
まず、ＸＭＬ伸長部１３２１にて、ＸＭＬ文書又はΔＸＭＬ文書に対し伸長処理を行う。
【００７１】
図１２に、ＸＭＬ伸長部１３２１の構成例を示す。
【００７２】
図１２に示されるように、ＸＭＬ伸長部１３２１は、キャッシュ管理部１３２１１、ＸＭＬ差分解凍処理部１３２１２を含む。
【００７３】
図１３に、ＸＭＬ伸長部１３２１の処理手順の一例を示す。
【００７４】
まず、キャッシュ管理部１２３１１は、ＸＭＬ文書（入力ＸＭＬ文書）とΔＸＭＬ文書のいずれが入力されたかを調べ、ＸＭＬ文書が入力されたのであれば（ステップＳ３１）、該ＸＭＬ文書のハッシュ値を求め（ステップＳ３５）、該ＸＭＬ文書に、そのハッシュ値を関連付けてＸＭＬキャッシュ２０１に登録する（ステップＳ３６）。また、ＸＭＬ文書をそのまま出力する。
【００７５】
ΔＸＭＬ文書が入力されたのであれば（ステップＳ３１）、ΔＸＭＬ文書に付加されている類似ＸＭＬ文書のハッシュ値を取り出す（ステップＳ３２）。次に、取り出した類似ＸＭＬのハッシュ値を用いて、ＸＭＬキャッシュ２０１の検索を行い、ベースとなる類似ＸＭＬを取り出す（ステップＳ３３）。そして、取り出した類似ＸＭＬ文書とΔＸＭＬ文書とをもとにしてデータの伸長を行い、もとのＸＭＬ文書を復元する（ステップＳ３４）。そして、この復元したＸＭＬ文書を出力する。
【００７６】
次に、本実施形態では、この初回変換部１３２へ入力されたＸＳＬＴ文書に対して、ＸＳＬＴｄ生成部１３２２及びＸＳＬＴｐ生成部１３２３によりそれぞれデータ変換を施す。
【００７７】
ＸＳＬＴｄ部１３２２では、ＸＳＬＴ文書をデータ変換して、差分ＸＳＬＴ変換に用いるＸＳＬＴｄ文書を生成する。
【００７８】
ここで、メタＸＳＬＴ文書について説明する。
【００７９】
ＸＳＬＴ文書は、ＸＭＬ文書の文法で記述されるので、ＸＳＬＴ文書自体も他のＸＳＬＴ文書で構造変換することができる。すなわち、該他のメタＸＳＬＴ文書により、データ変換対象とするＸＳＬＴ文書に対して、新たな機能を追加することができる。このように、ＸＳＬＴ文書を変換して新たな機能を持つＸＳＬＴ文書を生成するＸＳＬＴ文書を、メタＸＳＬＴ文書と呼ぶものとする。
【００８０】
例えば、ＸＳＬＴｐ文書は、このＸＳＬＴｐ文書によってＸＭＬ文書を変換して出力されるＨＴＭＬ文書において、全てのＨＴＭＬ要素に出力時の変換元ＸＭＬノード（カレントノード）を指す情報を埋め込むための命令文を、元のＸＳＬＴ文書に追加したＸＳＬＴ文書である。言い換えると、この場合のメタＸＳＬＴ文書は、上記の命令文を、元のＸＳＬＴ文書に追加するもの（ｘｐａｔｈ埋め込み用メタＸＳＬＴ文書）である。
【００８１】
同様に、ＸＳＬＴｄ文書は、ＸＭＬ文書の持つｘｐａｔｈ属性を変換後のＨＴＭＬ要素にコピーする命令文を、元のＸＳＬＴ文書に追加したＸＳＬＴ文書である。言い換えると、この場合のメタＸＳＬＴ文書は、上記の命令文を、元のＸＳＬＴ文書に追加するもの（差分ノード情報移行用メタＸＳＬＴ文書）である。
【００８２】
なお、本実施形態においては、メタＸＳＬＴ文書は、ＸＳＬＴｐ生成用として汎用的に利用できるものと、ＸＳＬＴｄ生成用として汎用的に利用できるものとが、それぞれ一つずつあればよい（必ずしもそれぞれ複数ずつ用意する必要はない）。
【００８３】
ここで、図１４にＸＭＬ文書の一例、図１５にＸＳＬＴ文書の一例、図１６にメタＸＳＬＴ文書の一例（ＸＳＬＴ文書からＸＳＬＴｐ文書を生成するメタＸＳＬＴ文書の場合）、図１７にＸＳＬＴｐ文書の一例、図１８にＸＳＬＴｄ文書の一例をそれぞれ示す。
【００８４】
図１９に、ＸＳＬＴｄ生成部１３２２の構成例を示す。
【００８５】
図１９に示されるように、ＸＳＬＴｄ生成部１３２２は、ＸＳＬＴ変換部１３２２１、差分ノード情報移行用メタＸＳＬＴ文書を保持する差分ノード情報移行用メタＸＳＬＴ保持部１３２２２を含む。なお、差分ノード情報移行用メタＸＳＬＴ文書の保持の仕方は、特に限定されるものではなく、例えば、独立したファイルであってもよいし、プログラムに組み込まれていてもよい。
【００８６】
ＸＳＬＴｄ文書は、図２０に示すように、このＸＳＬＴｄ文書を用いたＸＳＬＴ変換を擬似ＸＭＬ文書（後述）に対して施して擬似ＨＴＭＬ文書（後述）を生成するにあたって、擬似ＸＭＬ文書から擬似ＨＴＭＬ文書へと、差分のオペレータ及び元のＸＭＬのノード情報を伝える機能を、元のＸＳＬＴ文書に追加したものである。
【００８７】
ＸＳＬＴｄ生成部１３２２のＸＳＬＴ変換部１３２２１では、差分ノード情報移行用メタＸＳＬＴ文書を用いて、ＸＳＬＴ文書をＸＳＬＴ変換することによって、ＸＳＬＴｄ文書を生成する。
【００８８】
ＸＳＬＴｄ生成部１３２２は、生成したＸＳＬＴｄ文書のハッシュ値を求め、元のＸＳＬＴ文書のハッシュ値と、該ＸＳＬＴｄ文書のハッシュ値とを対応付けて、ＸＳＬＴ・ＸＳＬＴｄ対応テーブル３０２に登録するとともに、生成したＸＳＬＴｄ文書を、そのハッシュ値に対応付けてＸＳＬＴｄキャッシュ２０２にキャッシュする。
【００８９】
図２１に、ＸＳＬＴ・ＸＳＬＴｄ対応テーブル３０２の一例を示す。
【００９０】
なお、擬似ＨＴＭＬ文書に、擬似ＸＭＬ文書の持つ差分のオペレータと元のＸＭＬのノード情報を保持させることができるものであれば、メタＸＳＬＴ文書を用いる方法以外の方法によっても構わない。
【００９１】
また、図２０は一例であり、差分のオペレータと元のＸＭＬのノード情報は図２０に示す記述でなくても構わない。
【００９２】
一方、ＸＳＬＴｐ生成部１３２３では、ＸＳＬＴ文書をデータ変換して、初回ＸＳＬＴ変換に用いるＸＳＬＴｐ文書を生成する。
【００９３】
図２２に、ＸＳＬＴｐ生成部１３２３の構成例を示す。
【００９４】
図２２に示されるように、ＸＳＬＴｐ生成部１３２３は、ＸＳＬＴ変換部１３２３１、ｘｐａｔｈ埋め込み用メタＸＳＬＴ文書を保持するｘｐａｔｈ埋め込み用メタＸＳＬＴ保持部１３２３２を含む。なお、ｘｐａｔｈ埋め込み用メタＸＳＬＴ文書の保持の仕方は、特に限定されるものではなく、例えば、独立したファイルであってもよいし、プログラムに組み込まれていてもよい。
【００９５】
図２３に示すように、ＸＳＬＴｐ文書は、元のＸＳＬＴ文書にメタＸＳＬＴ文書を適用して得られ、このＸＳＬＴｐ文書を用いたＸＳＬＴ変換をＸＭＬ文書に対して施してＨＴＭＬｐ文書を生成するにあたって、ＸＳＬＴ変換で出力するＨＴＭＬノードに、そのノードに対応したＸＭＬ文書のノード情報を埋め込む機能を、元のＸＳＬＴに追加したものである。このように、ＸＭＬ文書のノード情報を埋め込まれたＨＴＭＬ文書をＨＴＭＬｐ文書と呼ぶものとする。
【００９６】
ＸＳＬＴｐ生成部１３２３のＸＳＬＴ変換部１３２３１では、ｘｐａｔｈ埋め込み用メタＸＳＬＴ１３２３２を用いて、ＸＳＬＴ文書をＸＳＬＴ変換することによって、ＸＳＬＴｐ文書を生成する。
【００９７】
ＸＳＬＴｐ生成部１３２３は、生成したＸＳＬＴｐ文書のハッシュ値を求め、元のＸＳＬＴ文書のハッシュ値と、該ＸＳＬＴｐ文書のハッシュ値とを対応付けて、ＸＳＬＴ・ＸＳＬＴｐ対応テーブル３０３に登録する。
【００９８】
図２４に、ＸＳＬＴ・ＸＳＬＴｐ対応テーブル３０３の一例を示す。
【００９９】
なお、ＸＳＬＴ変換で出力するＨＴＭＬノードに、そのノードに対応したＸＭＬ文書のノード情報を保持させることがきるものであれば、メタＸＳＬＴ文書を用いる方法以外の方法によっても構わない。
【０１００】
また、図２３は一例であり、ＸＭＬ文書のノード情報の表記は、図２３のものと異なっていても構わない。
【０１０１】
次に、ＸＳＬＴ変換部１３２４では、ＸＭＬ伸長部１３２１から出力されたＸＭＬ文書を、ＸＳＬＴｐ生成部１３２３から出力されたＸＳＬＴｐ文書を用いて変換することによって、ＨＴＭＬｐ文書を生成する。
【０１０２】
このとき、ＸＳＬＴ変換部１３２４では、生成したＨＴＭＬｐ文書のハッシュ値を求め、当該ＸＭＬ文書のハッシュ値と、ＸＳＬＴ・ＸＳＬＴｐ対応テーブル３０３より得られる当該ＸＳＬＴｐ文書に対応するＸＳＬＴ文書のハッシュ値と、生成したＨＴＭＬｐのハッシュ値とを対応付けて、ＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブル３０１（図１０参照）に追加する。また、生成したＨＴＭＬｐ文書を、そのハッシュ値に対応付けてＨＴＭＬｐキャッシュ２０３にキャッシュする。
【０１０３】
次に、生成されたＨＴＭＬｐ文書をｘｐａｔｈ除去フィルター１３２５にかけてｘｐａｔｈを除去する。
【０１０４】
ｘｐａｔｈ除去フィルター１３２５では、図２５に示すように、（ａ）のＨＴＭＬｐ文書が持つ、そのＨＴＭＬｐ文書を生成したＸＳＬＴ変換における元のＸＭＬのノード情報を削除して、（ｂ）のＨＴＭＬ文書を得る。この削除の方法は、特に限定されるものではなく、例えば、ＸＳＬＴを用いてもよいし、置換処理を用いてもよい。
【０１０５】
生成されたＨＴＭＬは、ブラウザ１０５に送信され、表示画面（図示せず）に表示される。
【０１０６】
以下、各モジュールについて入力ＸＭＬ文書に類似する文書がキャッシュされている場合を中心に説明する。例えば、キャッシュされているＸＭＬ文書に対してエディタを用いるなどして編集を施した場合が、これに該当する。
【０１０７】
ここでは、一例として、図２６（ａ）に示すＸＭＬ文書（キャッシュされているＸＭＬ文書）に対して、編集作業を行って、（ｂ）に示すような編集後ＸＭＬ文書が得られたものとする。この編集例は、document rootであるｒｏｏｔ要素において、２番目に「１．５」という値を持つｄａｔａ要素を追加するという作業に該当する。
【０１０８】
また、これら編集前後のＸＭＬ文書は、図２７に示すＸＳＬＴ文書をスタイルシートとして利用することになっているものとする。
【０１０９】
これらを具体例にとりながら差分ＸＳＬＴ変換等について説明する。
【０１１０】
まず、編集を施されたＸＭＬ文書（図２６（ｂ））と、これに関連付けられたＸＳＬＴ文書（図２７）が入力されると、ＸＭＬ編集作業前と同様に、ＸＳＬＴ判定部１０１にてΔ−ＸＳＬＴ変換の可否についての判定を行う。
【０１１１】
本具体例では、ＸＳＬＴ文書は、Δ−ＸＳＬＴ変換可能なＸＳＬＴであると判定されるものとする。この結果、ＸＭＬ文書は、ΔＸＭＬ変換部１０２に送信され、ＸＳＬＴ文書は、Δ−ＸＳＬＴ変換部１０３へ送信される。
【０１１２】
ここで、編集前のＸＭＬ文書（図２６（ａ））が、ＸＭＬキャッシュ２０１にキャッシュされており、これが、類似ＸＭＬ文書として探索されたものとする。
【０１１３】
この場合、ΔＸＭＬ変換部１０２では、図２６（ｂ）のＸＭＬ文書と、（ａ）のＸＭＬ文書との差分であるΔＸＭＬ文書が生成される。前述したように、ΔＸＭＬ文書は、例えば、差分のオペレータ（挿入、削除など）と対象ノードの情報などを含む。
【０１１４】
図２８に、図２６に示す編集作業に対応する差分を示すΔＸＭＬ文書の具体例を示す。本具体例においては、類似ＸＭＬ文書（図２６（ａ））に対して／ｃｈｉｌｄ：：ｎｏｄｅ［１］／ｃｈｉｌｄ：：ｎｏｄｅ［２］の位置に＜ｄａｔａ＞１．５＜／ｄａｔａ＞を挿入する（と、入力ＸＭＬ文書が得られる）という表現になっている。もちろん、図２８は、一例であり、他の表記でも構わない。
【０１１５】
生成されたΔＸＭＬ文書は、Δ−ＸＳＬＴ変換部１０３へ送信される。
【０１１６】
Δ−ＸＳＬＴ変換部１０３の処理手順の一例は図９に示した通りである。
【０１１７】
本具体例の場合、類似ＸＭＬ文書（編集前の内容）がＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブル３０１（図１０参照）にキャッシュされているものとすると、図９の手順例に従えば、Δ−ＸＳＬＴ変換部１０３では、ステップＳ２３でＹｅｓとなり、ステップＳ２５で差分ＸＳＬＴ変換を行うことになる。
【０１１８】
以下、差分ＸＳＬＴ変換について詳しく説明する。
【０１１９】
差分変換部１３３には、ΔＸＭＬ文書と、これに関連付けられたＸＳＬＴ文書が入力される。差分変換部１３３は、ΔＸＭＬ文書から生成した擬似ＸＭＬ文書に対して該ＸＳＬＴ文書に対応するＸＳＬＴｄ文書を用いたＸＳＬＴ変換を施すなどして得たΔＨＴＭＬｐ文書と、類似ＸＭＬ文書（本具体例では、編集前のＸＭＬ文書）に対応するＨＴＭＬｐ文書とから、該ΔＸＭＬ文書のもととなったＸＭＬ文書（本具体例では、編集後のＸＭＬ文書）に対応するＨＴＭＬ文書を生成する。
【０１２０】
なお、前述したように、ＨＴＭＬｐ文書は、ＸＭＬ文書のノード情報を埋め込まれたＨＴＭＬ文書である。ΔＨＴＭＬｐ文書（後述）も同様である。
【０１２１】
図２９に、差分変換部１３３の構成例を示す。
【０１２２】
図２９に示されるように、差分変換部１３３は、擬似ＸＭＬ生成部１３３１、ΔＨＴＭＬ抽出部１３３２、ＨＴＭＬ伸長部１３３３、ＸＳＬＴ変換部１３３４、ｘｐａｔｈ除去フィルター１３３５を含む。
【０１２３】
なお、初回変換部１３２のｘｐａｔｈ除去フィルター１３２５と、差分変換部１３３のｘｐａｔｈ除去フィルター１３３５とは、同一のものを兼用してもよい。
【０１２４】
また、ＸＳＬＴ変換部１０４と、Δ−ＸＳＬＴ変換部１０３の初回変換部１３２のＸＳＬＴ変換部１３２４と、初回変換部１３２のＸＳＬＴｄ生成部１３２２のＸＳＬＴ変換部１３２２１と、初回変換部１３２のＸＳＬＴｐ生成部１３２３のＸＳＬＴ変換部１３２３１との全部又は一部は、同一のものを兼用してもよい。
【０１２５】
図３０に、差分変換処理の手順の一例を示す。
【０１２６】
まず、ステップＳ４１においては、ΔＸＭＬ文書に付加されている、差分のベースとなるＸＭＬ文書すなわち類似ＸＭＬ文書のハッシュ値を得る。また、ステップＳ４２で、ＸＳＬＴ文書のハッシュ値を得る。次に、ステップＳ４３で、それらのハッシュ値を用いてＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブル３０１の検索を行い、ＨＴＭＬｐキャッシュ２０３の中から、対応するＨＴＭＬｐ文書（ベースＨＴＭＬｐ文書）（のハッシュ値）を特定する。
【０１２７】
他方、ΔＸＭＬ文書は擬似ＸＭＬ生成部１３３１に送信される。ステップＳ４４においては、擬似ＸＭＬ生成部１３３１にて、ΔＸＭＬ文書が持つ、元のＸＭＬ文書のノード情報から、ＸＭＬの構造を再現した擬似ＸＭＬ文書を生成する。
【０１２８】
擬似ＸＭＬ文書は、元のＸＭＬデータの構造を模したＸＭＬ文書であり、差分情報（オペレータ、ノード情報など）が埋め込まれている。本具体例においては、図３１（a）のΔＸＭＬ文書から、（ｂ）の擬似ＸＭＬ文書が生成される。
【０１２９】
また、ステップＳ４５において、本差分変換部１３３に入力されたＸＳＬＴ文書のハッシュ値をもとに、ＸＳＬＴ・ＸＳＬＴｄ対応テーブル３０２から、対応する差分変換用のＸＳＬＴｄのハッシュ値を求め、該ＸＳＬＴｄのハッシュ値をもとに、ＸＳＬＴｄキャッシュ２０２から、該当するＸＳＬＴｄを取り出す。
【０１３０】
次に、ステップＳ４６において、ＸＳＬＴ変換部１３３４にて、生成した擬似ＸＭＬ文書を、取り出したＸＳＬＴｄ文書を用いてＸＳＬＴ変換することによって、擬似ＨＴＭＬｐ文書を生成する。
【０１３１】
擬似ＨＴＭＬｐ文書は、１つのＨＴＭＬ文書であるが、例えば、編集作業による影響を受けたノードには、その編集情報（オペレータと元のＸＭＬノードの情報）が載っているという特徴がある。本具体例においては、図３２（a）の擬似ＸＭＬ文書から、（ｂ）の擬似ＨＴＭＬｐ文書が生成される。
【０１３２】
次に、ステップＳ４７において、ΔＨＴＭＬｐ抽出部１３３２により、擬似ＨＴＭＬｐ文書から、編集情報を持つノードを抜き出し、ΔＨＴＭＬｐ文書を作成する。本具体例においては、図３３（a）の擬似ＨＴＭＬｐ文書から、（ｂ）のΔＨＴＭＬｐ文書が生成される。なお、図３３（ｂ）は一例であり、ΔＨＴＭＬｐの表記は他の形式であっても構わない。
【０１３３】
しかりて、ステップＳ４８において、ΔＨＴＭＬｐ文書と、先ほどのＨＴＭＬｐ文書（ベースＨＴＭＬｐ文書）がＨＴＭＬ伸長部１３３３に入力され、ＨＴＭＬ伸長部１３３３では、ΔＨＴＭＬｐ文書とＨＴＭＬｐ文書が持つ、元のＸＭＬ文書のノード情報を利用して、ＨＴＭＬ文書の伸長を行う。
【０１３４】
図３４に、図２６のデータに対する伸長処理の例を示す。この例では、（ａ）のΔＨＴＭＬｐ文書と、（ｂ）のＨＴＭＬｐ文書（ベースＨＴＭＬｐ文書）から、（ｃ）のＨＴＭＬ文書が得られる。
【０１３５】
最後に、ステップＳ４９において、初回変換時と同様に、ｘｐａｔｈ除去フィルター１３２５にて、伸長処理によって生成されたＨＴＭＬｐ文書から、元のＸＭＬのノード情報を削除することによって、（入力ＸＭＬ文書に対応するＸＳＬＴ文書を適用して得られるＨＴＭＬ文書と同じ内容の）ＨＴＭＬ文書を生成する。
【０１３６】
このＨＴＭＬ文書は、ブラウザ１０５に送信される。
【０１３７】
なお、以上において、差分変換をおこなった、編集後ＸＭＬ文書、ＸＳＬＴ文書、ＨＴＭＬｐ文書、ＸＳＬＴｄ文書をキャッシュして、その後の差分変換のベースとして用いることも可能である。
【０１３８】
本実施形態によれば、入力ＸＭＬ文書に類似する類似ＸＭＬ文書に対応するＨＴＭＬ文書が存在する場合、入力ＸＭＬ文書をＸＳＬＴ変換する代わりに、入力ＸＭＬ文書と類似ＸＭＬ文書との差分をＸＳＬＴ変換し、これと類似ＸＭＬ文書に対応するＨＴＭＬ文書から入力ＸＭＬ文書に対応するＨＴＭＬ文書を求めることができるので、ＸＳＬＴ変換処理を削減することができる。
【０１３９】
以下では、本実施形態に係る構造化文書変換装置につき、Ｗｅｂプロキシキャッシュと組み合わせて使用する場合について説明する。
【０１４０】
本実施形態に係る構造化文書変換装置は、Ｗｅｂキャッシュ技術と組み合わせることで、有効なシステムを構築することができる。
【０１４１】
ここでは、特開２００２−２６８９３５公報、特開２００３−２６８９３６公報、特開２００３−２６８９３７公報に開示されているフィンガープリントキャッシュ（以下、ＦＰキャッシュ）技術と併用する場合を例にとって説明する。
【０１４２】
フィンガープリントキャッシュ技術は、コンテンツのＦＰ値（ハッシュ値）を利用して、サーバ・クライアント間のデータ転送量を削減する技術である。
【０１４３】
ＦＰキャッシュ技術には、サーバ側とクライアント側の両方にＦＰキャッシュを実装したプロキシモジュールを設置するデュアルプロキシ版や、クライアント側をブラウザのプラグインとしてＦＰキャッシュを実装するクライアント版ＦＰキャッシュなどがある。
【０１４４】
図３５に、Ｗｅｂにおける、ＸＭＬ、ＸＳＬＴの基本的な情報の流れを示す。なお、各装置は、例えばインターネットやＬＡＮ等のネットワークを介して接続されている。
【０１４５】
クライアント（装置）１２１０からＷｅｂサーバ１２００（装置）にＸＭＬのＧＥＴリクエストを出すと、Ｗｅｂサーバ１２００は、そのＸＭＬを応答する。さらに、クライアント１２１０は、そのＸＭＬに使用するＸＳＬＴ文書のＧＥＴリクエストを出し、Ｗｅｂサーバ１２００は、ＸＳＬＴ文書を応答する。
【０１４６】
ここでは、一例としてプラグイン版ＦＰキャッシュの技術を用いて、通信システムを図３６に示すように構築する。なお、各装置は、例えばインターネットやＬＡＮ等のネットワークを介して接続されている。図３５との相違は、クライアント１４００（装置）に、プラグイン１４０１が存在することと、Ｗｅｂサーバ（装置）１２００とクライアント１４００との間にサーバ側プロキシ１３００（装置）が存在することである。なお、プラグイン版ＦＰキャッシュ以外の技術を用いてもシステムは実現可能である。
【０１４７】
図３７に、サーバ側プロキシ１３００の構成例を示す。
【０１４８】
サーバ側プロキシ１３００の構成、動作について、図３７を参照しながら説明する。
【０１４９】
サーバ側プロキシ１３００には、Ｗｅｂサーバ１２００から、ＸＭＬ文書とＸＳＬＴ文書を受信する。
【０１５０】
ＸＳＬＴ文書に関しては、公知のＦＰキャッシュと同様の圧縮技術を用いた差分圧縮を行うＸＳＬＴ−ＦＰ圧縮部１３０１とＸＳＬＴ文書をキャッシュするＷｅｂキャッシュ１３０２を実装する。これによって、サーバ側プロキシ１３００からクライアント１４００へは、ＸＳＬＴ文書が適宜圧縮されて転送される。
【０１５１】
ＸＭＬ文書に関しては、これまで説明してきたΔＸＭＬ生成部１０２とＸＭＬキャッシュ２０１を実装する。Ｗｅｂサーバ１２００から受信したＸＭＬ文書（転送対象ＸＭＬ文書とも呼ぶものとする）とＸＳＬＴ文書を受信する。転送対象ＸＭＬ文書に類似するＸＭＬ文書がＸＭＬキャッシュ２０１にキャッシュされている場合（すなわち、転送対象ＸＭＬ文書が、既にＸＭＬキャッシュ２０１にキャッシュされているＸＭＬ文書と類似するＸＭＬ文書である場合）は、ΔＸＭＬ生成部１０２により、それらの差分情報をΔＸＭＬ文書として作成する。このとき、類似ＸＭＬ文書に関連付けられているＸＳＬＴ文書を示す情報もΔＸＭＬ文書に埋め込む。ＸＭＬキャッシュ２０１に類似するＸＭＬ文書がない場合は、転送対象ＸＭＬ文書をクライアント２１０に送信するとともに、これをＸＭＬキャッシュ２０１にキャッシュする。これによって、サーバ側プロキシ１３００からクライアント１４００へは、ＸＭＬ文書又はΔＸＭＬ文書が転送される。
【０１５２】
図３８に、クライアント１４００の構成例を示す。
【０１５３】
また、図３９に、クライアント１４００の処理手順の一例を示す。
【０１５４】
クライアント１４００の構成、動作について、図３７を参照しながら説明する。
【０１５５】
クライアント１４００（のプラグイン１４０１）は、公知のＦＰキャッシュと同様の圧縮技術を用いた差分圧縮に対応する伸長を行うＸＳＬＴ伸長部１４１１とＸＳＬＴ文書をキャッシュするＸＳＬＴキャッシュ１４１２、前述の初回変換部１３２のＸＭＬ伸長部１３２１と同様の機能を有するＸＭＬ伸長部１４１３とＸＭＬ文書をキャッシュするＸＭＬキャッシュ１４１４、これまで説明してきたＸＳＬＴ判定部１０１、Δ−ＸＳＬＴ変換部１０３、ＸＳＬＴ変換部１０４を実装する。
【０１５６】
クライアント１４００では、まず、サーバ側プロキシ１３００から受信したＸＳＬＴ文書をＸＳＬＴ伸長部１４１１で伸長する（ステップＳ５１）。ＸＳＬＴ文書は、従来のＦＰキャッシュ技術で圧縮されているので、クライアント１４００もＦＰキャッシュ技術で伸長を行う。
【０１５７】
次に、伸長したＸＳＬＴ文書がΔ−ＸＳＬＴ変換可能かどうかをＸＳＬＴ判定部１０１にて判定する（ステップＳ５２）。
【０１５８】
ＸＳＬＴ文書がΔ−ＸＳＬＴ変換不可である場合、Δ−ＸＳＬＴ変換が利用できないので、受信したＸＭＬ情報を伸長する。ＸＭＬ文書は、ΔＸＭＬ生成部１０２により圧縮されているので、ＸＭＬ伸長部１４１３（図１２参照）を用いて伸長する（ステップＳ５４）。
【０１５９】
伸長したＸＳＬＴ文書と伸長したＸＭＬ文書は、ＸＳＬＴ変換部１０４に送信され、通常のＸＳＬＴ変換処理へ入る（ステップＳ５５）。これらをＸＳＬＴ変換して生成されたＨＴＭＬ文書をブラウザ（図示せず）に渡す。
【０１６０】
一方、ＸＳＬＴ文書がΔ−ＸＳＬＴ変換可能である場合、Δ−ＸＳＬＴに入る（ステップＳ５３）。
【０１６１】
まず、図８に示す処理フローと同様にΔ−ＸＳＬＴ変換部１０３の初回／差分判定部１３１にて、初回変換か差分変換かを判定する。判定には、図１０のＸＭＬ，ＸＳＬＴ，ＨＴＭＬｐ対応テーブル３０１を用いる。既に登録済みであれば差分変換部１３３に送信され、差分変換処理に入る。未登録であれば、初回変換部１３２に送信され、初回変換処理に入る。既に説明したものと同様にして、ＨＴＭＬ文書を生成する。そして、生成されたＨＴＭＬ文書をブラウザ（図示せず）に渡す。
【０１６２】
本実施形態によれば、サーバ・クライアント間において、ＸＭＬ文書およびＸＳＬＴ文書のデータ送信が、ともに差分データだけの送信であるため、転送量を減らすことができ、細い回線を利用したネットでの転送にかかる時間を削減できる。また、ＸＳＬＴ変換を差分データで行うので、処理コストを下げることができる。
【０１６３】
以上では、本実施形態では、構造化文書として、ＸＭＬ文書にＸＳＬＴ文書を用いたＸＳＬＴ変換を施してＨＴＭＬ文書を生成する場合を例にとって説明したが、ＸＭＬ文書を他のＸＭＬ文書に変換する場合や、ＨＴＭＬ文書以外の構造化文書に変換する場合にも本発明は適用可能である。また、ＸＭＬ文書以外の構造化文書を、ＸＭＬ文書、ＨＴＭＬ文書又はそれら以外の構造化文書に変換する場合にも本発明は適用可能である。
【０１６４】
なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。  
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【０１６５】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１６６】
【図１】本発明の一実施形態に係る構造化文書処理装置の構成例を示す図
【図２】同実施形態に係るＸＳＬＴ判定部について説明するための図
【図３】同実施形態に係るＸＳＬＴ判定部の処理手順の一例を示すフローチャート
【図４】同実施形態に係るＸＳＬＴ変換部について説明するための図
【図５】同実施形態に係る差分ＸＳＬＴ変換について説明するための図
【図６】同実施形態に係るΔＸＭＬ生成部の構成例を示す図
【図７】同実施形態に係るΔＸＭＬ生成部の処理手順の一例を示すフローチャート
【図８】同実施形態に係るΔ−ＸＳＬＴ変換部の構成例を示す図
【図９】同実施形態に係るΔ−ＸＳＬＴ変換部の処理手順の一例を示すフローチャート
【図１０】同実施形態に係るＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブルの一例を示す図
【図１１】同実施形態に係る初回変換部の構成例を示す図
【図１２】同実施形態に係るＸＭＬ伸長部の構成例を示す図
【図１３】同実施形態に係るＸＭＬ伸長部処理手順の一例を示すフローチャート
【図１４】同実施形態に係るＸＭＬ文書の一例を示す図
【図１５】同実施形態に係るＸＳＬＴ文書の一例を示す図
【図１６】同実施形態に係るメタＸＳＬＴ文書の一例を示す図
【図１７】同実施形態に係るＸＳＬＴｐ文書の一例を示す図
【図１８】同実施形態に係るＸＳＬＴｄ文書の一例を示す図
【図１９】同実施形態に係るＸＳＬＴｄ生成部の構成例を示す図
【図２０】同実施形態に係る差分ノード情報移行用メタＸＳＬＴ文書によるＸＳＬＴ文書からＸＳＬＴｄ文書への変換及びＸＳＬＴｄ文書による擬似ＸＭＬ文書から擬似ＨＴＭＬ文書への変換について説明するための図
【図２１】同実施形態に係るＸＳＬＴ・ＸＳＬＴｄ対応テーブルの一例を示す図
【図２２】同実施形態に係るＸＳＬＴｐ生成部の構成例を示す図
【図２３】同実施形態に係るｘｐａｔｈ埋め込み用メタＸＳＬＴ文書によるＸＳＬＴ文書からＸＳＬＴｐ文書への変換及びＸＳＬＴｐ文書によるＸＭＬ文書からＨＴＭＬｐ文書への変換について説明するための図
【図２４】同実施形態に係るＸＳＬＴ・ＸＳＬＴｐ対応テーブルの一例を示す図
【図２５】同実施形態に係るｘｐａｔｈ除去フィルターによるｘｐａｔｈ除去フィルター処理の手順の一例を示すフローチャート
【図２６】同実施形態に係るＸＭＬ文書の編集の一例について説明するための図
【図２７】同実施形態に係るＸＭＬ文書に関連付けられたＸＳＬＴ文書の一例を示す図
【図２８】同実施形態に係るΔＸＭＬ文書の一例を示す図
【図２９】同実施形態に係る差分変換部の構成例を示す図
【図３０】同実施形態に係る差分変換処理の手順の一例を示すフローチャート
【図３１】同実施形態に係るΔＸＭＬ文書から擬似ＸＭＬ文書を生成する処理について説明するための図
【図３２】同実施形態に係る擬似ＸＭＬ文書から擬似ＨＴＭＬｐ文書を生成する処理について説明するための図
【図３３】同実施形態に係る擬似ＨＴＭＬｐ文書からΔＨＴＭＬｐ文書を生成する処理について説明するための図
【図３４】同実施形態に係る伸長処理の一例について説明するための図
【図３５】一般的なクライアントとＷｅｂサーバとの間におけるＸＭＬ文書及びＸＳＬＴ文書の基本的な情報の流れについて説明するための図
【図３６】同実施形態に係るクライアント及びサーバ側プロキシ並びにＷｅｂサーバを含む通信システムの構成例を示す図
【図３７】同実施形態に係るサーバ側プロキシの構成例を示す図
【図３８】同実施形態に係るクライアントの構成例を示す図
【図３９】同実施形態に係るクライアントの処理手順の一例を示すフローチャート
【符号の説明】
【０１６７】
１０１…ＸＳＬＴ判定部、１０２…ΔＸＭＬ生成部、１０３…Δ−ＸＳＬＴ変換部、１０４…通常ＸＳＬＴ変換部、１０５…ブラウザ、１２１，１２３１１…キャッシュ管理部、１２２…ＸＭＬ差分圧縮処理部、１２３…データ付加部、１３１…初回／差分判定部、１３２…初回変換部、１３３…差分変換部、２０１，１４１４…ＸＭＬキャッシュ、２０２…ＸＳＬＴｄ用キャッシュ、２０３…ＨＴＭＬｐ用キャッシュ、３０１…ＸＭＬ・ＸＳＬＴ・ＨＴＭＬｐ対応テーブル、３０２…ＸＳＬＴ・ＸＳＬＴｄ対応テーブル、３０３…ＸＳＬＴ・ＸＳＬＴｐ対応テーブル、１３２１…ＸＭＬ伸長部、１３２３…ＸＳＬＴｐ生成部、１３２２…ＸＳＬＴｄ生成部、１３２４，１３２２１，１３２３１，１３３４…ＸＳＬＴ変換部、１３２５，１３３５…ｘｐａｔｈ除去フィルター、１３２１２…ＸＭＬ差分解凍処理部、１３２２２…差分ノード情報移行用メタＸＳＬＴ保持部、１３２３２…ｘｐａｔｈ埋め込み用メタＸＳＬＴ保持部、１３３１…擬似ＸＭＬ生成部、１３３２…ΔＨＴＭＬ抽出部、１３３３…ＨＴＭＬ伸長部、１２００…Ｗｅｂサーバ、１２１０，１４００…クライアント、１３００…サーバ側プロキシ、１４０１…プラグイン、１３０１…ＸＳＬＴ−ＦＰ圧縮部、１３０２…Ｗｅｂキャッシュ、１４１１…ＸＳＬＴ伸長部、１４１２…ＸＳＬＴキャッシュ、１４１３…ＸＭＬ伸長部
【図１】
2006065406.tif 000003
【図２】
2006065406.tif 000004
【図３】
2006065406.tif 000005
【図４】
2006065406.tif 000006
【図５】
2006065406.tif 000007
【図６】
2006065406.tif 000008
【図７】
2006065406.tif 000009
【図８】
2006065406.tif 000010
【図９】
2006065406.tif 000011
【図１０】
2006065406.tif 000012
【図１１】
2006065406.tif 000013
【図１２】
2006065406.tif 000014
【図１３】
2006065406.tif 000015
【図１４】
2006065406.tif 000016
【図１５】
2006065406.tif 000017
【図１６】
2006065406.tif 000018
【図１７】
2006065406.tif 000019
【図１８】
2006065406.tif 000020
【図１９】
2006065406.tif 000021
【図２０】
2006065406.tif 000022
【図２１】
2006065406.tif 000023
【図２２】
2006065406.tif 000024
【図２３】
2006065406.tif 000025
【図２４】
2006065406.tif 000026
【図２５】
2006065406.tif 000027
【図２６】
2006065406.tif 000028
【図２７】
2006065406.tif 000029
【図２８】
2006065406.tif 000030
【図２９】
2006065406.tif 000031
【図３０】
2006065406.tif 000032
【図３１】
2006065406.tif 000033
【図３２】
2006065406.tif 000034
【図３３】
2006065406.tif 000035
【図３４】
2006065406.tif 000036
【図３５】
2006065406.tif 000037
【図３６】
2006065406.tif 000038
【図３７】
2006065406.tif 000039
【図３８】
2006065406.tif 000040
【図３９】
2006065406.tif 000041