(57)【要約】【課題】変換後の構造化文書に与える影響の有無とは無関係に変換元の構造化文書を変換対象とする場合に比して変換に要する時間を短縮する。【解決手段】プログラムは、第１の構造化文書から生成された複数の中間文書を、表現上の規則に基づいて、それぞれ第２の構造化文書に変換する機能と、第１の構造化文書に変更があった場合、変更の前後で計算された中間文書のハッシュ値を比較する機能と、ハッシュ値が相違した場合、相違する前記中間文書を新たな第２の構造化文書に変換し、変更前の第２の構造化文書と差し替える機能とをコンピュータに実行させる。【選択図】図３
2018206303.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の構造化文書から生成された複数の中間文書を、表現上の規則に基づいて、それぞれ第２の構造化文書に変換する機能と、
前記第１の構造化文書に変更があった場合、変更の前後で計算された前記中間文書のハッシュ値を比較する機能と、
前記ハッシュ値が相違した場合、相違する前記中間文書を新たな前記第２の構造化文書に変換し、変更前の当該第２の構造化文書と差し替える機能と、
を実行させるためのプログラム。
【請求項２】
前記ハッシュ値を計算する度に、算出された当該ハッシュ値と当該ハッシュ値に対応する前記第２の構造化文書を特定する情報とを紐付けたリストを生成する、請求項１に記載のプログラム。
【請求項３】
変更後に生成された前記リストに存在する前記第２の構造化文書を特定する情報が、変更前に生成された当該リストに存在しない場合、新たに生成された前記第２の構造化文書を変更前から存在する他の前記第２の構造化文書に追加すると共に、当該リストを更新する、請求項２に記載のプログラム。
【請求項４】
変更前に生成された前記リストに存在する前記第２の構造化文書を特定する情報が、変更後に生成された当該リストに存在しない場合、変更前から存在する他の前記第２の構造化文書から対応する前記第２の構造化文書を削除すると共に、当該リストを更新する、請求項２に記載のプログラム。
【請求項５】
前記表現上の規則を使用して、前記第１の構造化文書に含まれる要素の位置を特定する情報を抽出して前記中間文書を生成する機能を更に有する、請求項１に記載のプログラム。
【請求項６】
前記中間文書は、前記表現上の規則が使用される文書単位で生成される、請求項５に記載のプログラム。
【請求項７】
第１の構造化文書から生成された複数の中間文書を、表現上の規則に基づいて、それぞれ第２の構造化文書に変換する変換部と、
前記第１の構造化文書に変更があった場合、変更の前後で計算された前記中間文書のハッシュ値を比較する比較部と、
前記ハッシュ値が相違した場合、相違する前記中間文書を新たな前記第２の構造化文書に変換し、変更前の当該第２の構造化文書と差し替える差替部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
今日、様々な情報がウェブページの形態でネットワーク上に公開されている。ウェブページは、ＨＴＭＬ（HyperText Markup Language）文書とも呼ばれ、データ記述言語の一例であるＨＴＭＬにより記述されている。
ＨＴＭＬ文書を直接生成することも可能であるが、多くの場合、ＸＭＬ（Extensible Markup Language）文書を一旦生成し、その後、スタイルシートを用いてＸＭＬ文書をＨＴＭＬ文書に変換する手法が用いられる。その理由は、文書とその表示の方法とを分離できるためである。
【０００３】
ただし、ＸＭＬ文書からＨＴＭＬ文書への変換には多くのリソースを必要とする。このため、例えば特許文献１には、大容量のＸＭＬ文書を複数の小容量のＸＭＬ文書に機械的に分割することで、各文書の変換処理に要するリソースの軽減を図る技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１７９４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、予め定めた行数単位で機械的にＸＭＬ文書を小容量のＸＭＬ文書に分割する手法では、変換されるデータ量自体は不変であり、結局のところ変換に要する時間の短縮にはつながらない。
【０００６】
本発明は、変換後の構造化文書に与える影響の有無とは無関係に変換元の構造化文書を変換対象とする場合に比して、変換に要する時間の短縮を目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、コンピュータに、第１の構造化文書から生成された複数の中間文書を、表現上の規則に基づいて、それぞれ第２の構造化文書に変換する機能と、前記第１の構造化文書に変更があった場合、変更の前後で計算された前記中間文書のハッシュ値を比較する機能と、前記ハッシュ値が相違した場合、相違する前記中間文書を新たな前記第２の構造化文書に変換し、変更前の当該第２の構造化文書と差し替える機能と、を実行させるためのプログラムである。
請求項２に記載の発明は、前記ハッシュ値を計算する度に、算出された当該ハッシュ値と当該ハッシュ値に対応する前記第２の構造化文書を特定する情報とを紐付けたリストを生成する、請求項１に記載のプログラムである。
請求項３に記載の発明は、変更後に生成された前記リストに存在する前記第２の構造化文書を特定する情報が、変更前に生成された当該リストに存在しない場合、新たに生成された前記第２の構造化文書を変更前から存在する他の前記第２の構造化文書に追加すると共に、当該リストを更新する、請求項２に記載のプログラムである。
請求項４に記載の発明は、変更前に生成された前記リストに存在する前記第２の構造化文書を特定する情報が、変更後に生成された当該リストに存在しない場合、変更前から存在する他の前記第２の構造化文書から対応する前記第２の構造化文書を削除すると共に、当該リストを更新する、請求項２に記載のプログラムである。
請求項５に記載の発明は、前記表現上の規則を使用して、前記第１の構造化文書に含まれる要素の位置を特定する情報を抽出して前記中間文書を生成する機能を更に有する、請求項１に記載のプログラムである。
請求項６に記載の発明は、前記中間文書は、前記表現上の規則が使用される文書単位で生成される、請求項５に記載のプログラムである。
請求項７に記載の発明は、第１の構造化文書から生成された複数の中間文書を、表現上の規則に基づいて、それぞれ第２の構造化文書に変換する変換部と、前記第１の構造化文書に変更があった場合、変更の前後で計算された前記中間文書のハッシュ値を比較する比較部と、前記ハッシュ値が相違した場合、相違する前記中間文書を新たな前記第２の構造化文書に変換し、変更前の当該第２の構造化文書と差し替える差替部と、を有する情報処理装置である。
【発明の効果】
【０００８】
請求項１記載の発明によれば、第２の構造化文書に与える影響の有無とは無関係に第１の構造化文書を変換対象とする場合に比して、変換に要する時間を短縮できる。
請求項２記載の発明によれば、変換が必要な第１の構造化文書と変換が必要でない第１の構造化文書を区別できる。
請求項３記載の発明によれば、第２の構造化文書に変更が反映されるまでに要する時間を短縮できる。
請求項４記載の発明によれば、第２の構造化文書に変更が反映されるまでに要する時間を短縮できる。
請求項５記載の発明によれば、中間文書の生成を自動化でき、第２の構造化文書に変更が反映されるまでに要する総時間を短縮できる。
請求項６記載の発明によれば、中間文書の生成を自動化でき、第２の構造化文書に変更が反映されるまでに要する総時間を短縮できる。
請求項７記載の発明によれば、第２の構造化文書に与える影響の有無とは無関係に第１の構造化文書を変換対象とする場合に比して、変換に要する時間を短縮できる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係るウェブシステムの構成例を説明する図である。
【図２】本実施の形態に係る情報処理装置のハードウェア構成の例を説明する図である。
【図３】実施の形態１に係る情報処理装置のソフトウェア構成の例を説明する図である。
【図４】変更有無判断部による処理のイメージを説明する図である。
【図５】スタイルシートの構成例を説明する図である。
【図６】端末装置のブラウザ画面に表示される本文ＨＴＭＬ文書、目次ＨＴＭＬ文書、図ＨＴＭＬ文書を例示する図である。
【図７】文書処理装置を構成する信号処理部が実行する処理動作の例を説明するフローチャートである。
【図８】全量変換の場合に実行される処理の流れを概略的に示す図である。
【図９】２回目以降のＨＴＭＬ変換の場合に実行される処理の流れを概略的に示す図である。
【図１０】実施の形態２に係る情報処理装置のソフトウェア構成の例を説明する図である。
【図１１】文書処理装置を構成する信号処理部が実行する処理動作の例を説明するフローチャートである。
【図１２】変換データ判定部によるパス式の抽出処理を説明する図である。
【図１３】中間ＸＭＬ文書生成部による中間ＸＭＬ文書の生成処理を説明する図である。
【図１４】スタイルシートの具体例と変換パス表に保存される値との関係を説明する図である。
【図１５】ＸＭＬ文書と生成された中間ＸＭＬ文書の関係を説明する図である。
【図１６】図１５に例示したＸＭＬ文書の一部分にＨＴＭＬ文書では利用されない情報が追加された場合の中間ＸＭＬ文書の生成例を説明する図である。
【図１７】ＨＴＭＬ文書に新たな情報を付加するような修正がＸＭＬ文書に加えられた場合における新旧２つの中間ＸＭＬ文書の具体例を示す図である。
【図１８】新しいＨＴＭＬ文書のための記述がＸＭＬ文書に追加されている場合を説明する図である。
【図１９】旧ＨＴＭＬ文書に対応する記述がＸＭＬ文書から削除された場合を説明する図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、実施の形態について詳細に説明する。
【００１１】
＜実施の形態１＞
＜システム全体の構成＞
図１は、本実施の形態に係るウェブシステム１の構成例を説明する図である。
ウェブシステム１は、ネットワーク上にＨＴＭＬ文書を閲覧可能に公開するサーバシステム１０と、ブラウザプログラム（以下「ブラウザ」という）が実行される端末装置２０とで構成される。本実施の形態におけるネットワークは、ローカルエリアネットワークでもインターネットでも構わない。
端末装置２０は、ユーザによって操作され、ネットワーク上に公開されている情報の閲覧に使用される。端末装置２０は、ネットワーク通信機能を有するコンピュータであり、据え置き型か携帯型かは問わない。
【００１２】
サーバシステム１０は、ＸＭＬ文書からＨＴＭＬ文書を生成する情報処理装置１００と、端末装置２０からアクセスがあったＵＲＬ（Uniform Resource Locator）に保存されているＨＴＭＬ文書を端末装置２０に送信するウェブサーバ２００とを有し、これらはローカルネットワーク１１を介して互いに接続されている。もっとも、情報処理装置１００とウェブサーバ２００がインターネットで接続されていてもよい。
ＸＭＬ文書は第１の構造化文書の一例であり、ＨＴＭＬ文書は第２の構造化文書の一例である。
【００１３】
本実施の形態に係るウェブサーバ２００には、情報処理装置１００で生成されたＨＴＭＬ文書が特定のＵＲＬに紐付けられて保存されている。ＨＴＭＬ文書は、ウェブサーバ２００に内蔵の記憶装置に記憶されていても、外部の記憶装置に記憶されていてもよい。すなわち、ウェブサーバ２００と記憶装置は一体構成でも、別構成でもよい。
【００１４】
＜情報処理装置の構成＞
図２は、本実施の形態に係る情報処理装置１００のハードウェア構成の例を説明する図である。
情報処理装置１００は、ＸＭＬ文書をＨＴＭＬ文書に変換する各種の処理動作を実行する信号処理部１０１と、各種のプログラムやデータが記憶される記憶装置１０２と、作業者による操作の受け付けに使用される操作受付装置１０３と、外部装置との間でデータを受け渡しする通信装置１０４とを有している。
【００１５】
信号処理部１０１は、プログラムを実行するＣＰＵ（Central Processing Unit）１０１Ａと、起動プログラム等が保存されるＲＯＭ（Read Only Memory）１０１Ｂと、作業領域として使用されるＲＡＭ（Random Access Memory）１０１Ｃとを有している。
なお、記憶装置１０２は、ハードディスク装置等で構成される。記憶装置１０２は、情報処理装置１００に内蔵の装置に限らず、通信装置１０４を通じて接続される外部装置でもよい。
操作受付装置１０３は、例えばキーボード、マウスである。
通信装置１０４は、例えばＵＳＢ（Universal Serial Bus）インターフェース、ネットワークインターフェースである。
【００１６】
図３は、実施の形態１に係る情報処理装置１００のソフトウェア構成の例を説明する図である。
図３に示すソフトウェア構成は、信号処理部１０１によるプログラムの実行を通じて実現される。
本実施の形態における信号処理部１０１は、記憶装置１０２から中間ＸＭＬ文書１２１を読み出す文書読出し部１１０と、中間ＸＭＬ文書１２１毎に変更の有無を判断する変更有無判断部１１１と、スタイルシート１２３を用いて中間ＸＭＬ文書１２１をＨＴＭＬ文書に変換する文書変換部１１２と、変換後のＨＴＭＬ文書を既存のＨＴＭＬ文書にマージして新しいＨＴＭＬ文書を生成するデータマージ部１１３として機能する。
【００１７】
中間ＸＭＬ文書１２１は、ＨＴＭＬ文書の生成に必要な記述をＸＭＬ文書から抽出した部分データであり、表示単位であるＨＴＭＬ文書別に用意される。
従って、ＨＴＭＬ文書が複数であれば（換言すると、スタイルシート１２３が複数であれば）、中間ＸＭＬ文書１２１も複数である。ここでの中間ＸＭＬ文書１２１は、中間文書の一例である。
本実施の形態の場合、中間ＸＭＬ文書１２１は既に生成され、記憶装置１０２に記憶されている。もっとも、中間ＸＭＬ文書１２１は、情報処理装置１００を用いて生成しても良いし、他の装置を用いて生成してもよい。
中間ＸＭＬ文書１２１は、ＸＭＬ文書に変更が加えられるたびに生成される。
【００１８】
以下では、必要に応じ、変更が加えられる前のＸＭＬ文書を「旧ＸＭＬ文書」とよび、変更が加えられた後のＸＭＬ文書を「新ＸＭＬ文書」とよぶことがある。
ここで、新旧の違いは、特定の変更に対する前後関係を表しているのにすぎない。従って、ある変更との関係では新ＸＭＬ文書であったしても、追加の変更が加えられた場合には、追加の変更との関係では旧ＸＭＬ文書として扱われる。
また、旧ＸＭＬ文書から生成された中間ＸＭＬ文書１２１を「旧中間ＸＭＬ文書」とよび、新ＸＭＬ文書から生成された中間ＸＭＬ文書１２１を「新中間ＸＭＬ文書」とよぶことがある。
中間ＸＭＬ文書１２１は、作業者が手作業で生成してもよいし、後述する実施の形態２で説明するようにプログラム処理を通じて生成してもよい。
【００１９】
文書読出し部１１０は、変換対象として作業者から指定された新中間ＸＭＬ文書１２１Ｎを記憶装置１０２から読み出して変更有無判断部１１１に出力する機能を提供する。
旧中間ＸＭＬ文書１２１Ｏについて算出されたハッシュ値と、新中間ＸＭＬ文書１２１Ｎについて算出されたハッシュ値は、いずれも記憶装置１０２のハッシュ値リスト１２２に記憶されている。
以下では、旧中間ＸＭＬ文書１２１Ｏについて算出されたハッシュ値を「旧ハッシュ値」といい、新中間ＸＭＬ文書１２１Ｎについて算出されたハッシュ値を「新ハッシュ値」ということがある。
以下では、旧ハッシュ値を記憶するハッシュ値リストを「旧ハッシュ値リスト」といい、新ハッシュ値を記憶するハッシュ値リストを「新ハッシュ値リスト」ということがある。
記憶装置１０２に新ハッシュ値リスト１２２Ｎが存在しない場合、変更有無判断部１１１が新ハッシュ値を計算して記憶装置１０２に記憶する。
ここでの変更有無判断部１１１は、比較部の一例である。
【００２０】
変更有無判断部１１１は、変換対象である個々の新中間ＸＭＬ文書１２１Ｎについて算出された新ハッシュ値と、対応関係にある旧中間ＸＭＬ文書１２１Ｏについて記憶されている旧ハッシュ値とを比較する機能を提供する。
ここで、対応関係があるとは個々の中間ＸＭＬ文書１２１に紐付けられたＨＴＭＬ文書の名称が共通することをいう。
このため、変更有無判断部１１１は、まず新中間ＸＭＬ文書１２１Ｎに対応するＨＴＭＬ文書の名称が旧中間ＸＭＬ文書１２１Ｏについて保存されている旧ハッシュ値リスト１２２Ｏに存在するか否かを判断し、存在する場合にハッシュ値の比較処理を実行する。
【００２１】
例えば新中間ＸＭＬ文書１２１Ｎに対応するＨＴＭＬ文書の名称が旧中間ＸＭＬ文書１２１Ｏについて保存されている旧ハッシュ値リスト１２２Ｏに存在し、かつ、新旧のハッシュ値が一致する場合、変更有無判断部１１１は、新中間ＸＭＬ文書１２１Ｎの内容と旧中間ＸＭＬ文書１２１Ｏの内容とが同じであると判断する。
例えば新中間ＸＭＬ文書１２１Ｎに対応するＨＴＭＬ文書の名称が旧中間ＸＭＬ文書１２１Ｏについて保存されている旧ハッシュ値リスト１２２Ｏに存在しても、新旧のハッシュ値が異なる場合、変更有無判断部１１１は、新中間ＸＭＬ文書１２１Ｎには内容の変更又は修正が含まれると判断する。この場合、変更有無判断部１１１は、変更又は修正が検知された新中間ＸＭＬ文書１２１Ｎを差異リストに登録する。
【００２２】
例えば新中間ＸＭＬ文書１２１Ｎに対応するＨＴＭＬ文書の名称が旧中間ＸＭＬ文書１２１Ｏについて保存されている旧ハッシュ値リスト１２２Ｏに存在しない場合、変更有無判断部１１１は、処理対象とする新中間ＸＭＬ文書１２１Ｎは新規に生成されたと判断する。この場合も、変更有無判断部１１１は、変更又は修正が検知された新中間ＸＭＬ文書１２１Ｎを差異リストに登録する。
例えば旧中間ＸＭＬ文書１２１Ｏについて保存されている旧ハッシュ値リスト１２２Ｏには存在するＨＴＭＬ文書の名称が、新中間ＸＭＬ文書１２１Ｎについて保存される新ハッシュ値リスト１２２Ｎ（今回の文書変換処理が完了した後は新たな文書変換処理との関係で旧ハッシュ値リスト１２２Ｏとして使用される）に存在しない場合、変更有無判断部１１１は、旧中間ＸＭＬ文書１２１Ｏが削除されたと判断する。この場合、変更有無判断部１１１は、削除されたと判断された旧中間ＸＭＬ文書１２１Ｏを削除リストに登録する。
【００２３】
図４は、変更有無判断部１１１による処理のイメージを説明する図である。
図４には、新ＸＭＬ文書から生成された複数の新中間ＸＭＬ文書＃１、＃２、＃３が、いずれもＨＴＭＬ文書＃１、＃２、＃３と対応関係を有することが示されている。
変更有無判断部１１１は、例えばＨＴＭＬ文書＃１に対応する新中間ＸＭＬ文書＃１について計算された新ハッシュ値＃１と、対応する旧中間ＸＭＬ文書＃１について計算された旧ハッシュ値＃１とを比較する。
勿論、変更有無判断部１１１は、新ハッシュ値＃２と旧ハッシュ値＃２とを比較し、新ハッシュ値＃３と旧ハッシュ値＃３とを比較する。
【００２４】
図３の説明に戻る。
文書変換部１１２は、差異リストに登録されている新中間ＸＭＬ文書１２１Ｎに限り（すなわち、内容の変更又は修正を含む新中間ＸＭＬ文書１２１Ｎと新規に生成された新中間ＸＭＬ文書１２１Ｎに限り）、対応するスタイルシート１２３を用いてＨＴＭＬ文書に変換する機能と、生成されたＨＴＭＬ文書を差分変換データ１２４として記憶装置１０２に保存する機能とを提供する。
ここで、スタイルシート１２３とは、ＸＳＬＴ（Extensible Stylesheet Language Transformations）文書のことであり、ＨＴＭＬ文書の表示形式の制御に使用される。スタイルシート１２３は、表現上の規則の一例である。
【００２５】
図５は、スタイルシート１２３の構成例を説明する図である。スタイルシート１２３は、生成対象であるＨＴＭＬ文書単位で用意されている。
本例の場合、スタイルシート１２３は、本文ＨＴＭＬ文書に対応するスタイルシート（すなわち本文ＨＴＭＬ文書用スタイルシート）１２３Ａと、目次ＨＴＭＬ文書に対応するスタイルシート（すなわち目次ＨＴＭＬ文書用スタイルシート）１２３Ｂと、図ＨＴＭＬ文書に対応するスタイルシート（すなわち図ＨＴＭＬ文書用スタイルシート）１２３Ｃとを含んでいる。
【００２６】
図６は、端末装置２０のブラウザ画面２５に表示される本文ＨＴＭＬ文書、目次ＨＴＭＬ文書、図ＨＴＭＬ文書を例示する図である。
本文ＨＴＭＬ文書の表示ウインドウはブラウザ画面２５の右側に配置され、目次ＨＴＭＬ文書はブラウザ画面２５の左側に配置され、図ＨＴＭＬ文書は本文ＨＴＭＬ文書の表示ウインドウ内の左下隅位置に重ねて配置されている。
【００２７】
ここで、本文ＨＴＭＬ文書の表示ウインドウには、「１．２  画像の挿入」とのタイトルが付された文書が表示されている。
また、本文ＨＴＭＬ文書の左隣に表示される目次ＨＴＭＬ文書のウインドウには、本文ＨＴＭＬ文書には「ご利用上の注意」とのタイトルが付されていること、本文ＨＴＭＬ文書は３つの章で構成されること等が表示されている。
また、本文ＨＴＭＬ文書に重ねて表示される図ＨＴＭＬ文書のウインドウには、本文ＨＴＭＬ文書に埋め込まれたリンク関係を通じて読み出されたサンプル画像が表示されている。
【００２８】
図３の説明に戻る。
データマージ部１１３は、差分変換データ１２４を前回の変換データ１２５（すなわち、旧中間ＸＭＬ文書１２１Ｏを用いて生成された既存のＨＴＭＬ文書）にマージして今回の変換データ１２６を生成する機能を提供する。
例えばデータマージ部１１３は、新たに作成されたＨＴＭＬ文書を既存のＨＴＭＬ文書に追加し、又は、差し替える。
また例えばデータマージ部１１３は、削除リストに基づいて既存のＨＴＭＬ文書から対応する文書を削除する。
ここでのデータマージ部１１３は差替部の一例である。
【００２９】
＜処理動作＞
続いて、情報処理装置１００において実行される処理動作について説明する。
図７は、情報処理装置１００を構成する信号処理部１０１が実行する処理動作の例を説明するフローチャートである。
まず、信号処理部１０１は、新中間ＸＭＬ文書１２１Ｎを受け付ける（ステップ１０１）。具体的には、文書読出し部１１０が対象とする新中間ＸＭＬ文書１２１Ｎを記憶装置１０２から読み出す。
【００３０】
次に、信号処理部１０１は、新中間ＸＭＬ文書１２１ＮのＨＴＭＬ文書への変換が初めてか否かを判定する（ステップ１０２）。この判定は、変更有無判断部１１１が実行する。
例えば変更有無判断部１１１は、受け付けた新中間ＸＭＬ文書１２１Ｎに対応するＨＴＭＬ文書の名称が旧ハッシュ値リスト１２２Ｏに含まれている否かにより初めての変換か否かを判定する。
対応するＨＴＭＬ文書の名称が存在する場合、変更有無判断部１１１は、初めての変換でないと判断する。
一方、対応するＨＴＭＬ文書の名称が存在しない場合、変更有無判断部１１１は、初めての変換であると判断する。
初めての変換であると判定された場合（ステップ１０２で肯定結果が得られた場合）、変更有無判断部１１１は、変換処理の対象になった複数の新中間ＸＭＬ文書１２１Ｎのそれぞれについて新ハッシュ値を計算し、記憶装置１０２の新ハッシュ値リスト１２２Ｎに登録する。
【００３１】
さらに、信号処理部１０１は、複数の新中間ＸＭＬ文書１２１Ｎの全てをそれぞれ対応するスタイルシート１２３を用いてＨＴＭＬ文書に変換する（ステップ１０３）。この処理は、文書変換部１１２が実行する。
本実施の形態では、全ての新中間ＸＭＬ文書１２１ＮをＨＴＭＬ文書に変換することを、全量変換という。
図８は、全量変換の場合に実行される処理の流れを概略的に示す図である。
図８に示すように、全量変換の場合、入力された全ての新中間ＸＭＬ文書１２１Ｎについて新ハッシュ値が計算され、算出された新ハッシュ値が新ハッシュ値リスト１２２Ｎに保存される。その後、全ての新中間ＸＭＬ文書１２１Ｎに対してＨＴＭＬ変換が実行され、それぞれに対応するＨＴＭＬ文書が生成される。
【００３２】
初めての変換でないと判定された場合（ステップ１０２で否定結果が得られた場合）、変更有無判断部１１１は、新中間ＸＭＬ文書１２１Ｎのそれぞれについて新ハッシュ値を計算する（ステップ１０４）。
次に、変更有無判断部１１１は、新ハッシュ値と旧ハッシュ値を比較する（ステップ１０５）。
続いて、変更有無判断部１１１は、対応する旧ハッシュ値が無いか否かを判定する（ステップ１０６）。換言すると、変更有無判断部１１１は、新中間ＸＭＬ文書１２１Ｎが対応するＨＴＭＬ文書の名称が旧中間ＸＭＬ文書１２１Ｏに対応する旧ハッシュ値リスト１２２Ｏに存在するか否か判定する。
【００３３】
ステップ１０６で肯定結果が得られた場合（対応する旧ハッシュ値が存在せず、新規生成の場合）、変更有無判断部１１１は、差異リストに対応するＨＴＭＬ文書の名称を登録し、文書変換部１１２は、新中間ＸＭＬ文書１２１Ｎを対応するスタイルシート１２３でＨＴＭＬ変換する（ステップ１０８）。
ステップ１０６で否定結果が得られた場合（対応する旧ハッシュ値が存在する場合）、変更有無判断部１１１は、新ハッシュ値と旧ハッシュ値が異なっているか否かを判定する（ステップ１０７）。
ステップ１０７で肯定結果が得られた場合（新中間ＸＭＬ文書１２１Ｎが新規生成の場合）、変更有無判断部１１１はステップ１０８に進み、ＨＴＭＬ変換と名称の登録とを実行する。
【００３４】
一方、ステップ１０７で否定結果が得られた場合（旧中間ＸＭＬ文書１２１Ｏが削除されている場合）、変更有無判断部１１１は、削除リストに旧中間ＸＭＬ文書１２１Ｏに対応するＨＴＭＬ文書の名称を登録する（ステップ１０９）。
ステップ１０８又はステップ１０９の実行後、データマージ部１１３は、差分変換データ１２４を前回の変換データ１２５にマージして今回の変換データ１２６を生成する（ステップ１１０）。
また、データマージ部１１３は、削除リストに登録されているＨＴＭＬ文書を今回の変換データ１２６から削除する（ステップ１１１）。
【００３５】
図９は、２回目以降のＨＴＭＬ変換の場合に実行される処理の流れを概略的に示す図である。
図９に示すように、２回目以降のＨＴＭＬ変換の場合も、入力された全ての新中間ＸＭＬ文書１２１Ｎについて新ハッシュ値が計算され、算出された新ハッシュ値が新ハッシュ値リスト１２２Ｎに保存される。
その後は、新中間ＸＭＬ文書１２１Ｎについての新ハッシュ値リスト１２２Ｎと旧中間ＸＭＬ文書１２１Ｏについての旧ハッシュ値リスト１２２Ｏとの比較処理が実行され、差異リストや削除リストが生成される。また、生成された差異リストや削除リストに基づいて、変更部分に限ってＨＴＭＬ文書が生成される。
【００３６】
＜実施の形態１の効果＞
本実施の形態で説明した手法では、新中間ＸＭＬ文書１２１Ｎ毎に新ハッシュ値を計算し、新ハッシュ値リスト１２２Ｎと旧ハッシュ値リスト１２２Ｏとの比較により変化が検出された新中間ＸＭＬ文書１２１Ｎに限り、ＨＴＭＬ変換が実行される。
このため、本実施の形態によれば、変更の有無によらず全ての新中間ＸＭＬ文書１２１ＮをＨＴＭＬ変換の処理対象とする従前の手法に比して、ＨＴＭＬ文書が生成されるまでに要する時間を短縮することができる。
また、本実施の形態によれば、２回目以降のＨＴＭＬ変換には、リソースの少ない情報処理装置１００を用いることが可能になる。
【００３７】
＜実施の形態２＞
前述の実施の形態１の場合には、ＨＴＭＬ変換の処理対象となる新中間ＸＭＬ文書１２１Ｎが記憶装置１０２に記憶されている場合について説明したが、本実施の形態では、プログラム処理を通じ、ＸＭＬ文書から新中間ＸＭＬ文書１２１Ｎを生成する場合について説明する。
図１０は、実施の形態２に係る情報処理装置１００のソフトウェア構成の例を説明する図である。
図１０には、図３との対応部分に対応する符号が付されている。なお、図１０に示すソフトウェア構成は、信号処理部１０１によるプログラムの実行を通じて実現される。
【００３８】
図１０と図３を比較して分かるように、本実施の形態における信号処理部１０１は、新中間ＸＭＬ文書１２１Ｎを生成するための機能を有する点で、実施の形態１における信号処理部１０１（図３）と異なっている。
すなわち、本実施の形態に係る信号処理部１０１は、スタイルシート１２３からパス式を抽出して変換パス表１３２を生成する変換データ判定部１３１と、ＸＭＬ文書１３０と変換パス表１３２から新中間ＸＭＬ文書１２１Ｎを生成する中間ＸＭＬ文書生成部１３３とを更に有している。
ここで、パス式とは、要素の位置を特定する情報の一例である。
【００３９】
＜処理動作＞
続いて、本実施の形態に係る情報処理装置１００において実行される処理動作について説明する。
図１１は、情報処理装置１００を構成する信号処理部１０１が実行する処理動作の例を説明するフローチャートである。
図１１には、図７との対応部分に対応する符号を付して示している。図１１に示すフローチャートと図７に示すフローチャートとの違いは、ステップ１０１（図７）に代えてステップ２０１とステップ２０２が実行される点である。
【００４０】
以下では、相違点であるステップ２０１とステップ２０２について説明する。
ステップ２０１では、変換データ判定部１３１（図１０参照）が、スタイルシート１２３からパス式（例えばＸＰａｔｈ式）を抽出し、パス式に含まれる値を変換パス表１３２に登録する。
スタイルシート１２３は、ＨＴＭＬ文書単位で用意されている。従って、変換データ判定部１３１は、スタイルシート１２３毎にパス式を抽出する。
【００４１】
図１２は、変換データ判定部１３１によるパス式の抽出処理を説明する図である。
図１２の場合、スタイルシート１２３は、ＨＴＭＬ文書＃１〜＃３に対応する３つである。図中では、スタイルシート＃１〜＃３で示す。
図１２には、スタイルシート＃１の一部が示されており、パス式として「select="/INDEX/@NODETITLE"」と「match="/INDEX"」が抽出されている。
変換パス表１３２には、パス式に含まれる値、すなわち「/INDEX/@NODETITLE」と「/INDEX」が、対応するＨＴＭＬ文書に紐付けられた状態で保存される。
【００４２】
図１３は、中間ＸＭＬ文書生成部１３３（図１０参照）による中間ＸＭＬ文書１２１の生成処理を説明する図である。
図１３は、ＨＴＭＬ文書＃１に対応する中間ＸＭＬ文書＃１の生成する例を示している。
ここで、中間ＸＭＬ文書生成部１３３は、変換パス表１３２を参照し、ＸＭＬ文書１３０の中からＨＴＭＬ文書＃１に対応する値「/INDEX/@NODETITLE」と「/INDEX」に関連する記述を抽出し、中間ＸＭＬ文書＃１を生成する。
ここでの抽出される記述は、ＸＭＬ文書１３０のうちＨＴＭＬ文書＃１に関連するパス情報の一例である。
ＨＴＭＬ文書＃２に対応する中間ＸＭＬ文書＃２やＨＴＭＬ文書＃３に対応する中間ＸＭＬ文書＃３も同様の手順で生成される。
【００４３】
以下では、より具体的な文書を用いて、変換データ判定部１３１（図１０参照）と中間ＸＭＬ文書生成部１３３（図１０参照）の処理動作を説明する。
図１４は、スタイルシート１２３の具体例と変換パス表１３２に保存される値との関係を説明する図である。
図１４におけるスタイルシート１２３は、図目次ＨＴＭＬ文書用のスタイルシート（fig_index．xsl）の例である。
図１４の場合、スタイルシート１２３から「Ｈ３」、「ＴＩＴＬＥ」、「ＦＩＧ」が抽出されている。図中、「Ｈ３」、「ＴＩＴＬＥ」、「ＦＩＧ」は太文字で示している。
【００４４】
図１１の説明に戻る。
ステップ２０２では、中間ＸＭＬ文書生成部１３３（図１０参照）が、変換パス表１３２を参照し、変換対象として指定されたＸＭＬ文書１３０から、ＨＴＭＬ文書別の中間ＸＭＬ文書１２１を生成する。具体的には、中間ＸＭＬ文書生成部１３３は、ＸＭＬ文書１３０の中からパス式に合致していないデータを削除し、中間ＸＭＬ文書１２１を生成する。
【００４５】
図１５は、ＸＭＬ文書１３０と生成された中間ＸＭＬ文書１２１の関係を説明する図である。
図１５におけるＸＭＬ文書１３０は、図目次ＨＴＭＬ文書に関連する記述部分であり、ＸＭＬ文書１３０のうち「Ｈ３／ＴＩＴＬＥ」、「Ｈ３／／ＦＩＧ／ＴＩＴＬＥ」に関連する記述部分を抽出したものが中間ＸＭＬ文書１２１である。図１５では、抽出部分を太線で囲んで示している。
【００４６】
この場合において、ＸＭＬ文書１３０に変更が加えられた場合を検討する。
図１６は、図１５に例示したＸＭＬ文書１３０の一部分にＨＴＭＬ文書では利用されない情報が追加された場合の中間ＸＭＬ文書１２１の生成例を説明する図である。
図１６に示すＸＭＬ文書１３０の例では、太線で囲んだ部分で「画像を扱う。」が「画像を挿入することができます。」と変更されている。
ただし、この「画像を挿入することができます。」との文は、スタイルシート１２３によって生成されるＨＴＭＬ文書には影響しない情報である。
このため、スタイルシート１２３を用いて生成された変換パス表１３２に基づいて生成された中間ＸＭＬ文書１２１の内容は、修正前の中間ＸＭＬ文書１２１の内容（図１５）と同じになる。
【００４７】
従って、「画像を挿入することができます。」との修正が加えられた後のＸＭＬ文書１３０について生成された新中間ＸＭＬ文書１２１Ｎについて計算される新ハッシュ値と、修正前のＸＭＬ文書１３０について生成された旧中間ＸＭＬ文書１２１Ｏについて計算される旧ハッシュ値とは一致する。
このため、変更有無判断部１１１は、この新中間ＸＭＬ文書１２１Ｎに対応するＨＴＭＬ文書の名称（すなわち、図目次ＨＴＭＬ文書）を差異リストに登録しない。結果的に、この新中間ＸＭＬ文書１２１Ｎについては、文書変換部１１２によるＨＴＭＬ変換の対象から除外される。
【００４８】
以下では、新中間ＸＭＬ文書１２１Ｎに対応する新ハッシュ値と旧中間ＸＭＬ文書１２１Ｏに対応する旧ハッシュ値とが異なる場合の具体例を説明する。
図１７は、ＨＴＭＬ文書に新たな情報を付加するような修正がＸＭＬ文書１３０に加えられた場合における新旧２つの中間ＸＭＬ文書１２１の具体例を示す図である。（Ａ）は新中間ＸＭＬ文書１２１Ｎの具体例であり、（Ｂ）は旧中間ＸＭＬ文書１２１Ｏの具体例である。
新中間ＸＭＬ文書１２１Ｎのうち太枠で囲んだ記述が追加部分である。なお、修正は記述の追加だけでなく削除も含まれる。
いずれにしても新中間ＸＭＬ文書１２１Ｎは、旧中間ＸＭＬ文書１２１Ｏとは内容が異なるため、文書変換部１１２によるＨＴＭＬ変換の対象となる。
【００４９】
図１８は、新しいＨＴＭＬ文書のための記述がＸＭＬ文書１３０に追加されている場合を説明する図である。（Ａ）は新中間ＸＭＬ文書１２１Ｎの具体例であり、（Ｂ）は旧中間ＸＭＬ文書１２１Ｏの具体例である。
この場合、図１８に示すように、旧中間ＸＭＬ文書１２１Ｏのデータは存在しない。従って、新中間ＸＭＬ文書１２１Ｎは、文書変換部１１２によるＨＴＭＬ変換の対象となる。
【００５０】
図１９は、既存のＨＴＭＬ文書に対応する記述がＸＭＬ文書１３０から削除された場合を説明する図である。（Ａ）は新中間ＸＭＬ文書１２１Ｎの具体例であり、（Ｂ）は旧中間ＸＭＬ文書１２１Ｏの具体例である。
この場合、図１９に示すように、旧中間ＸＭＬ文書１２１Ｏに対応する新中間ＸＭＬ文書１２１Ｎのデータは存在しない。このことは、削除リストによって確認されるので、データマージ部１１３は、マージ後のＨＴＭＬ文書の中から対応するＨＴＭＬ文書を削除する。
【００５１】
＜実施の形態２の効果＞
本実施の形態によれば、予め中間ＸＭＬ文書１２１を手作業で準備する必要がなくなり、作業者によって編集されたＸＭＬ文書１３０と各ＨＴＭＬ文書に対応するスタイルシート１２３を情報処理装置１００に与えれば、対応するＨＴＭＬ文書を情報処理装置１００の信号処理により生成することができる。
このため、本実施の形態の場合には、ＨＴＭＬ文書が生成されるまでに要する時間を、実施の形態１の場合よりも短縮することができる。
【００５２】
＜他の実施の形態＞
以上、本発明の実施の形態について説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
例えば前述の実施の形態では、構造化文書の一例であるＸＭＬ文書をＨＴＭＬ文書に変換する場合について説明したが、他の構造化文書の変換処理にも用いることができる。例えばＳＧＭＬ（Standard Generalized Markup Language）で記述された文書、ＸＨＴＭＬ（Extensible HyperText Markup Language）で記述された文書、ＭａｔｈＭＬ（Mathematical Markup Language)で記述された文書等の構造変換にも使用できる。
【符号の説明】
【００５３】
１…ウェブシステム、１０…サーバシステム、２０…端末装置、２５…ブラウザ画面、１００…情報処理装置、１１０…文書読出し部、１１１…変更有無判断部、１１２…文書変換部、１１３…データマージ部、１２１、１２１Ｎ、１２１Ｏ…中間ＸＭＬ文書、１２２１２２Ｎ、１２２Ｏ…ハッシュ値リスト、１２３…スタイルシート、１２３Ａ…本文ＨＴＭＬ文書用スタイルシート、１２３Ｂ…目次ＨＴＭＬ文書用スタイルシート、１２３Ｃ…図ＨＴＭＬ文書用スタイルシート、１２４…差分変換データ、１２５…前回の変換データ、１２６…今回の変換データ、１３０…ＸＭＬ文書、１３１…変換データ判定部、１３２…変換パス表、１３３…中間ＸＭＬ文書生成部
【図１】
2018206303.tif 000003
【図２】
2018206303.tif 000004
【図３】
2018206303.tif 000005
【図４】
2018206303.tif 000006
【図５】
2018206303.tif 000007
【図６】
2018206303.tif 000008
【図７】
2018206303.tif 000009
【図８】
2018206303.tif 000010
【図９】
2018206303.tif 000011
【図１０】
2018206303.tif 000012
【図１１】
2018206303.tif 000013
【図１２】
2018206303.tif 000014
【図１３】
2018206303.tif 000015
【図１４】
2018206303.tif 000016
【図１５】
2018206303.tif 000017
【図１６】
2018206303.tif 000018
【図１７】
2018206303.tif 000019
【図１８】
2018206303.tif 000020
【図１９】
2018206303.tif 000021