(57)【特許請求の範囲】
【請求項１】
ソースデータから２以上のテンプレートを用いて複数のコンテンツデータを生成するマルチテンプレート管理システムであって、
前記テンプレートから木構造を生成するツリー生成手段と、
前記テンプレートのひとつが変更されたときに、前記ツリー生成手段が生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成手段と、
前記差分生成手段で生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正手段と、
を備えたことを特徴とするマルチテンプレート管理システム。
【請求項２】
前記テンプレート修正手段は、テンプレートの変更内容を規定するテンプレート修正指示を受け前記テンプレートの全てを一括して変更することを特徴とする請求項１記載のマルチテンプレート管理システム。
【請求項３】
前記テンプレート修正手段は、テンプレートの変更内容を規定するテンプレート修正指示を受けたとき、一部の前記テンプレートのみを選択的に変更することを特徴とする請求項１記載のマルチテンプレート管理システム。
【請求項４】
前記テンプレート修正手段は、全てのテンプレートの中身が空の初期状態から、１以上のテンプレート修正指示を逐次的に受け前記テンプレートを変更していくことを特徴とする請求項１乃至３に何れか１項記載のマルチテンプレート管理システム。
【請求項５】
前記ツリー生成手段は、前記テンプレートに含まれる前記コンテンツデータのタグ情報と前記ソースデータのタグ情報とから木構造を生成することを特徴とする請求項１記載のマルチテンプレート管理システム。
【請求項６】
前記ツリー生成手段が生成した前記各テンプレートの木構造と前記差分生成手段が生成した差分情報を受け取り、前記木構造に含まれる部分木の探索を行うツリーマッチング手段とを備え、
前記テンプレート修正手段は、前記差分生成手段が生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルールと、前記差分生成手段が生成した差分情報と、前記ツリーマッチング手段が探索した部分木の対応と、前記変更ルールとを用いてテンプレートの変更作業を行うことを特徴とする請求項１または請求項５記載のマルチテンプレート管理システム。
【請求項７】
前記ソースデータから前記テンプレートを用いて生成されるコンテンツデータのコンテンツ形式が、ＨＴＭＬ、ＣｏｍｐａｃｔＨＴＭＬ、ＳＭＩＬ、ＢＭＬであることを特徴とする請求項１乃至６に何れか１項記載のマルチテンプレート管理システム。
【請求項８】
ソースデータから２以上のテンプレートを用いて複数のコンテンツデータを生成する処理をコンピュータに実行させるためのマルチテンプレート管理プログラムであって、
コンピュータを、
テンプレートから木構造を生成するツリー生成処理手段と、
テンプレートのひとつが変更されたときに、前記ツリー生成処理手段で生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成処理手段と、
前記差分生成処理手段で生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正処理手段として機能させることを特徴とするマルチテンプレート管理プログラム。
【請求項９】
前記ツリー生成処理手段は、前記テンプレートに含まれる前記コンテンツデータのタグ情報と前記ソースデータのタグ情報とから木構造を生成することを特徴とする請求項８記載のマルチテンプレート管理プログラム。
【請求項１０】
前記ツリー生成処理手段で生成した前記各テンプレートの木構造と前記差分生成処理手段で生成した差分情報を受け取り、前記木構造に含まれる部分木の探索を行うツリーマッチング処理手段を備え、前記テンプレート修正処理手段では、前記差分生成処理手段で生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルールと、前記差分生成処理手段で生成した差分情報と、前記ツリーマッチング処理手段で探索した部分木の対応と、前記変更ルールとを用いてテンプレートの変更作業を行うことを特徴とする請求項８または９記載のマルチテンプレート管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の環境に情報を配信する際のデータ作成に要するコストを低減するマルチマルチテンプレート管理システムおよびその方法とマルチマルチテンプレート管理プログラムに関する。
【０００２】
【従来の技術】
携帯電話のようなモバイル機器の普及にともないインターネットに接続する端末の多様化が進んでいる。ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）を閲覧するブラウザ環境の場合、出力デバイスの持つ解像度や色数などもまちまちである。このような状況でコンテンツデータを公開する場合、特定の端末環境を仮定してコンテンツを作成すると想定されていない端末環境下で不都合が生じることがある。例えば、デスクトップＰＣでの閲覧を前提として表示に広い面積を必要とする画像を含んだコンテンツを作成すると、表示画面の狭いモバイル端末や画像を表示できない携帯電話では画像を正しく表示できないため、利用者に情報を正確に伝えること出来ないことがある。しかし、閲覧で利用される可能性のある端末それぞれに適合したコンテンツデータを予め作成しておくことは、コンテンツ作成のコストを増大させることになり現実的ではない。このような問題を解決するために特開平１１−０１５７２３、ＯＲＡＣＬＥ社のＰｏｒｔａｌ−ｔｏ−ＧＯ、特許第３０６８１３１号公報などで示されるような「ワンソースマルチユース」方式が提案されている。
【０００３】
【発明が解決しようとする課題】
特開平１１−０１５７２３号公報に開示された技術やＯＲＡＣＬＥ社のＰｏｒｔａｌ−ｔｏ−ＧＯは個々のブラウザ環境に適応したテンプレートや変換コンポーネントを予め用意しておき、ひとつのソースデータを、利用するブラウザに対応するテンプレートやコンポーネントで変換することで各ブラウザ環境用のコンテンツデータを出力するようになっている。また、特許第３０６８１３１号公報に開示された技術もひとつのソースデータに予め決められた手順でデザイン変更を加えることでデザインの異なる複数のコンテンツデータを出力するようになっている。しかしいずれの方式も、個々の環境やデザイン毎にテンプレートや変換手順を作成、管理する必要があるため、画面レイアウトの変更や表示要素の増減によりひとつのテンプレートや変換手順を変更しても、その変更内容が他のテンプレートなどに波及することはない。従って、全てのテンプレートや変換手順を個別に変更する必要があるため、変更作業コストは依然として少なくならない。さらに、個々のテンプレートを個別に変更していると、変更作業中に修正洩れや変更ミスが発生する可能性も高い。これに対処する手法として、複数の文書に対し同じ修正作業が容易に加えられる環境の提供を目的とした特開平１０−２６９２１４号公報に開示された技術があるが、これは複数のバッファに修正文字列を保持するだけで修正作業自体は特に自動化されておらず、作業コストはあまり低減されない。
【０００４】
本発明の目的は、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更に要する作業コストの低減と修正洩れを防止できるマルチテンプレート管理システムおよびその方法とマルチテンプレート管理プログラムを提供することである。
【０００５】
【課題を解決するための手段】
本発明に係るマルチテンプレート管理システムは、ソースデータから２以上のテンプレートを用いて複数のコンテンツデータを生成するマルチテンプレート管理システムであって、前記テンプレートから木構造を生成するツリー生成手段と、前記テンプレートのひとつが変更されたときに、前記ツリー生成手段が生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成手段と、前記差分生成手段で生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正手段とを備えたことを特徴とする。
【０００７】
本発明に係るマルチテンプレート管理プログラムは、ソースデータから２以上のテンプレートを用いて複数のコンテンツデータを生成する処理をコンピュータに実行させるためのマルチテンプレート管理プログラムであって、コンピュータを、テンプレートから木構造を生成するツリー生成処理手段と、テンプレートのひとつが変更されたときに、前記ツリー生成処理手段で生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成処理手段と、前記差分生成処理手段で生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正処理手段として機能させることを特徴とする。
【０００８】
本発明のマルチテンプレート管理システムおよびマルチテンプレート管理プログラムは、テンプレートから木構造を生成し、前記テンプレートのひとつが変更されたときに、前記生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成し、前記生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更し、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更に要する作業コストの低減と修正洩れを防止する。
【０００９】
【発明の実施の形態】
以下、本発明の実施の一形態について説明する。
なお、以下の説明では本発明の実施に必要不可欠な要素についてのみ示し、当業者にとって良く知られている従来品と同一の要素についてはその説明を省略する。図１は、この実施の形態のマルチテンプレート管理システムの構成の一例を示したブロック図である。このマルチテンプレート管理システム２は、ソースデータ１０をＮ個（Ｎは２以上の任意の数）のテンプレート１１−１〜１１−Ｎで変換することでＮ種類のブラウザ環境に対応したコンテンツデータ１２−１〜１２−Ｎを提供するワンソースマルチユースシステムのＮ個のテンプレートを管理するものである。
【００１０】
ここで、ソースデータ１０は主にブラウザ環境に依存しない情報を保存してあるもので、例えば、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のテキストデータとして記述される。図２はこのＸＭＬ形式のテキストデータとして記述された前記ソースデータ１０の例である。テンプレートは、ブラウザ環境に応じてソースデータを変換するための規則を記述したもので、例えば、ＸＳＬＴ（ＸＳＬ，ｅＸｔｅｎｓｉｂｌｅ  Ｓｔｙｌｅｓｈｅｅｔ  Ｌａｎｇｕａｇｅ，Ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ）を使って図３に示すように記述される。コンテンツデータは実際に各ブラウザで表示されるデータであり、例えば、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を使って記述される。この場合の一例として、図２のソースデータを図３のテンプレートで変換した結果を図４に示す。
【００１１】
図１のマルチテンプレート管理システム２は、前記テンプレート１１−１〜１１−Ｎから木構造を生成するツリー生成手段２０と、テンプレートのいずれかひとつに変更作業が加えられたときに、変更前と変更後のテンプレートのそれぞれから前記ツリー生成手段２０が生成した木構造を受け取り、それら木構造の差分情報を生成する差分生成手段２１と、前記ツリー生成手段２０が生成した各テンプレートの木構造と前記差分生成手段２１が生成した差分情報を受け取り、前記木構造に含まれる部分木の探索を行うツリーマッチング手段２２と、前記差分生成手段２１が生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルール２３と、前記差分生成手段２１が生成した差分情報と前記ツリーマッチング手段２２が探索した部分木の対応と前記変更ルール２３を用いて、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更作業を行うテンプレート修正手段２４とを備えている。
【００１２】
すなわち、テンプレートから出力フォーマット依存の情報（ＨＴＭＬ文書の＜Ｐ＞タグなど）とデータソースから引いてくる情報をもとにツリーを構成する「ツリー生成」と、個々の出力フォーマットの対応関係を保存した「マッチング知識」と、前記マッチング知識を利用して前記「ツリー生成」で生成したツリーを比較する「ツリーマッチング」と、編集作業により修正されたテンプレートの修正作業内容を取り出す「差分生成」と、テンプレートの変更ルールを記述した「変更ルール」と、テンプレートの修正作業内容から対応する変更ルールを取り出し、前記「ツリーマッチング」の比較結果を利用して、複数の環境に情報を配信する際のコンテンツデータ作成のための個々のテンプレートを修正する「テンプレート修正」から構成される。
【００１３】
次に、上述のマルチテンプレート管理システムにおいて、テンプレートのひとつに変更が加えられたときの動作内容を図を用いて具体的に説明する。以下の説明では、ソースデータ１０に情報が追加されたため、テンプレート管理者がテンプレート１１−１に変更を加えテンプレート１１−１ａとしたときのマルチテンプレート管理システムの動作について述べる。また、以下の説明では特にテンプレート１１−１と、テンプレート１１−２、テンプレート１１−Ｎの３つに関することのみ説明しているが、それ以外のテンプレート１１−３〜テンプレート１１−（Ｎ−１）についても同様の処理を行なっているものとする。
【００１４】
図１のツリー生成手段２０は、テンプレート１１−１〜テンプレート１１−Ｎのそれぞれに対し、各テンプレートに含まれる情報をもとにノードと各ノードの親子関係を決定して木構造を生成する。具体的な生成手順は次の通りである。
（１）テンプレート中に含まれる、ソースデータやコンテンツデータのタグ情報を抽出する。
（２）抽出した情報をノードとし、テンプレート中で各情報が出現している場所の親子関係と同じ親子関係を持った木構造を生成する。
【００１５】
図５は、図３に示すテンプレート１１−１の一部から実際に木構造を生成したときの例を示している。テンプレート１１−１からは、ｌｉｎｋやｄｅｓｃｒｉｐｔｉｏｎといったソースデータのタグ情報と、ＰやＡといったコンテンツデータのタグ情報と、コンテンツデータのタグ属性情報であるＨＲＥＦが抽出され、それぞれが図５の符号１０１〜１０８で示される木構造のノードとなる。
【００１６】
各ノードの親子関係は各情報が出現している場所の親子関係と同じとなるように決定されるので、例えば、ノード１０５であるＰはテンプレート中で＜ｘｓｌ：ｔｅｍｐｌａｔｅ  ｍａｔｃｈ＝“ｌｉｎｋ”＞タグの子供として記述されているので、前記＜ｘｓｌ：ｔｅｍｐｌａｔｅ  ｍａｔｃｈ＝“ｌｉｎｋ”＞タグから抽出されたノード１０１の子供として木構造を生成する。以下、同様にして、図５にあるようにテンプレートから木構造が生成される。ここで、図中の長方形ノード１０１，１０２，１０３，１０４はソースデータのタグ情報、角丸ノード１０５，１０６，１０７はコンテンツデータのタグ名情報、楕円ノード１０８はコンテンツデータのタグ属性情報として抽出されたことを示している。
【００１７】
前記ツリー生成手段２０は、テンプレート１１−２〜テンプレート１１−Ｎについても同様の手順で木構造を抽出する。例として、テンプレート１１−２とテンプレート１１−Ｎの一部分を図６（ａ）と図７（ａ）に、前記それぞれのテンプレートの一部分から木構造を生成した結果を図６（ｂ）と図７（ｂ）に示す。なお、図６（ａ）に示したテンプレート１１−２はノートＰＣ用のブラウザを対象としたテンプレートで、テンプレート１１−１と比べ、画面の表示面積を節約するために説明文（ソースデータのｄｅｓｃｒｉｐｔｉｏｎ部に相当）の表示を省略している。また、図７（ａ）のテンプレート１１−Ｎは携帯電話用のブラウザを対象としたテンプレートで、さらに画面の表示面積を節約するためリンク文字列の短縮化“図７中のｓｕｂｓｔｒｉｎｇ（）関数で実現する”を行うものである。
【００１８】
以上のような状況で、図２のソースデータにイメージ情報が追加され、図８のようになったとする。追加されたイメージ情報は図８の符号２０１、２０２で示されるように＜ｉｍａｇｅ＞タグで表現されている。このとき、テンプレートの管理者は増えたイメージ情報を新たにコンテンツデータに加えるため、図３に示すテンプレート１１−１のみを変更して、イメージ情報表示を行う図９に示すテンプレート１１−１ａにしたとする。変更箇所は図９の点線で囲まれた符号３０１で示す部分である。このとき前記ツリー生成手段２０は、前述した手順に従いテンプレート１１−１ａからも木構造の生成を行う。
この生成した結果の一部を図１０に示す。ここで、点線で表現されているノード４０９，４１０，４１１が前記変更箇所３０１に相当する部分である。
【００１９】
このとき前記差分生成手段２１は、変更前のテンプレート１１−１と変更後のテンプレート１１−１ａから生成されたそれぞれ図５と図１０に示す木構造から、既知の手法により共通する部分木を削除することで、差分情報を生成する。例えば、次のような再帰的手順で実行することが可能である。
（１）２つの木構造の各ルートノードに注目する。
（２）注目しているノード同士がお互い同じ名前で、かつ、両方とも子供を持たないならば、各木構造の現在注目しているノードを削除して終了する。
（３）注目しているノード同士がお互い同じ名前で、かつ、各ノードの子供の中に同じ名前の子供があるならば、それらの子供同士をルートノードとして（１）からの処理を再帰的に実行する。全ての同じ名前の子供について処理が終了した時点で、各木構造の現在注目しているノードを削除して終了する。
（４）上記（２）（３）以外の場合は終了する。
（５）処理が終了した時点で、変更前の木構造に残っている部分木を削除部分木、変更後の木構造に残っている部分木を追加部分木として抽出する。
（６）抽出された削除部分木、追加部分木と、それらの部分木の親ノードを対にして差分情報とする。ただし、追加部分木の親ノードに関しては、変更前の木構造内でその親ノードに対応するノードを親ノードとする。
前述の図５と図１０の場合には、図１１に示すように、削除部分木はなし、追加部分木は図１０のノード４０９，４１０，４１１、追加部分木の親ノードは図１０のノード４０５に対応する変更前の木構造内のノード１０７となる。
【００２０】
次に前記ツリーマッチング手段２２は、前記ツリー生成手段２０が生成した木構造と、前記差分生成手段２１が生成した差分情報を受け取り、差分情報に含まれる削除部分木、あるいは、追加部分木の親ノードをルートとする部分木と一致する部分木を、既知の手法により各テンプレートより生成した木構造内から探索する。例えば、次のような再帰的手順で実行することが可能である。
（１）探索する部分木のルートノードと同じ名前を持つノードを探索対象の木構造内から探索する。
（２）そのようなノードが存在しなければ探索失敗で終了する。
（３）ノードが見つかった場合には、見つかったノードの子供と部分木のルートノードの子供とが１対１で対応付け可能であるかどうかをチェックする。両ノードとも子供を持たない場合は探索成功で終了する。
（４）対応づけ出来なければ探索失敗で終了する。
（５）対応づけが可能だった場合は、対応する子供同士をルートとして（３）からの処理を再帰的に実行する。全ての子供に対して処理が成功すれば探索成功として終了する。
（６）子供に対する処理がひとつでも失敗すれば探索失敗として終了する。
（７）以上の処理を部分木のルートノードと同じ名前を持つ全てのノードに対して実行し、全てのノードで探索が失敗するか、いずれかひとつのノードで探索が成功すれば終了する。
例の場合には、まず、図１１の追加部分木の親ノード１０７をルートとする部分木はノード１０７、ノード１０８、ノード１０４、ノード１０３からなる。この部分木と一致する部分木を上記の手順で、探索対象となるテンプレート１１−２〜テンプレート１１−Ｎから生成された木構造を図６（ｂ）と図７（ｂ）の木構造から探索すると、図１２に示す部分木５０２、および、図１３の部分木６０２が得られる。
【００２１】
次に前記テンプレート修正手段２４は、前記差分生成手段２１が生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルール２３と、前記ツリーマッチング手段２２が探索した部分木の対応と、前記差分生成手段２１が生成した差分情報とを用いて、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更作業を行う。この変更作業は次の３ステップ、ステップＳ１：木構造の変更、ステップＳ２：変更部分のテンプレートへの変換、ステップＳ３：テンプレートの変更からなる。
ここで前記各ステップを順番に説明する。
先ずステップＳ１では、前記差分生成手段２１が生成した差分情報と前記変更ルール２３に記述されたルールに従い、前記ツリー生成手段２０が生成したテンプレートの木構造を変更する。ここで変更ルール２３は、テンプレートの木構造に追加部分木を追加、あるいは、削除部分木を削除するための方法を記述したもので、例えば、図１４に示すようなものとなっている。図１１の差分情報の場合には、追加部分木の部分木（ノード４０９、ノード４１０、ノード４１１）をテンプレート１１−２の木構造からツリーマッチング手段２２が探索した部分木５０２のルートノードに追加する（図１５のノード７０７、ノード７０８、ノード７０９）。さらに、追加した部分木のルートノード（ノード７０７）の名前がＩＭＧであるので、名前がｈｅｉｇｈｔ、値が２０の属性を追加した部分木のルートノード（ノード７０７）に追加する（図１５のノード７１０、ノード７１１）。テンプレート１１−Ｎに対しては、追加部分木のルートノード４０９の名前がＩＭＧであるので木構造の変更は行わない。
【００２２】
次のステップＳ２では、前記ステップＳ１で変更された部分の木構造を予め定めた手順に従いテンプレートに変換する。例えばテンプレート１１−２用変換手順は図１６に示されるようなものとなる。この手順に従いテンプレート１１−２から生成された木構造に追加されたノード７０７〜ノード７１１をテンプレートに変換すると図１７のようになる。ここで、ノード７０７は図１７の符号８０１と符号８０４に示すようなテンプレートに、ノード７０８とノード７０９は図１７の符号８０２に示すテンプレート、ノード７１０とノード７１１は図１７の符号８０３のテンプレートに対応している。
【００２３】
最後のステップＳ３では、ステップＳ２で得られたテンプレートをもとに対象となるテンプレートを変更する。具体的には追加部分木から得られたテンプレートは対象テンプレートに挿入し、削除部分木から得られたテンプレートは対象テンプレートから削除することで処理が行われる。挿入、あるいは、削除する場所は変更された木構造に従い決定される。例えば、図１１の追加部分木から図１５を経て得られたテンプレート図１７は図６（ａ）に示す対象テンプレートであるテンプレート１１−２に挿入され最終的に図１８に示されるテンプレートとなる。ここで、挿入される場所は図１５の木構造において変更された場所（ノード７０２の子供で、かつノード７０６の弟となる場所）から決定され、＜Ａ＞タグの子供で、かつ、＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝“ｄａｔａ／ｎａｍｅ”／＞の弟である図１８の符号９０１で示す部分となる。
【００２４】
以上の手順をまとめると、例えば、図３のテンプレート１１−１を図９のように変更するだけで、図６（ａ）の異なる環境に情報を配信する際のコンテンツデータ作成のためのテンプレート１１−２は図１８のように変更される。また、図７（ａ）の異なる環境に情報を配信する際のコンテンツデータ作成のためのテンプレート１１−Ｎは今回のテンプレート１１−１の変更に追随する必要がないため変更なしとなる。
【００２５】
また、以上の手順の例はテンプレートに追加変更を行なった場合のものであるが、削除変更の場合でも上記の手順で処理を行うことが出来る。例として、上記の追加手順を逆に辿ってテンプレートの一部を削除した場合について説明する。すなわち、変更前が図９で示されるようなテンプレート１１−１から図９の符号３０１で示される部分を削除して図３のようなテンプレートに変更した場合には、変更前と変更後の木構造はそれぞれ図１０と図５に示されるものとなり、そこから差分生成手段２１が生成する差分情報は図１９のようになる。
【００２６】
ツリーマッチング手段２２は、削除部分木の親ノード４０５をルートとする部分木（ノード４０５〜ノード４１１）と一致する部分木を各テンプレートより生成した木構造から探索する。例えばテンプレート１１−２が図１８に示されるようなものだった場合、図１８のテンプレートから生成した木構造は図１５のようになり、探索結果としてノード７０２、ノード７０４〜ノード７０９からなる部分木が得られる。
【００２７】
次に、テンプレート修正手段２４は図１４のテンプレート１１−２用の部分木の削除ルールを用いて木構造を変更する。図１５の木構造で説明すると、削除部分木の部分木に該当する部分であるノード７０７〜ノード７０９、および、その子孫であるノード７１０とノード７１１が削除され、図６（ｂ）の木構造が得られる。次に、削除されたノード７０７〜ノード７１１からなる部分木を図１６の変換手順に従いテンプレートに変換すると図１７のようになるので、図１７のテンプレートに対応する図１８のテンプレート１１−２の符号９０１の部分が削除されて、最終的に、図６（ａ）に示されるテンプレートが得られる。
以上の手順をまとめると、例えば、図９のテンプレート１１−１を図３のように変更するだけで、図１８のテンプレート１１−２は図６（ａ）のように変更される。
【００２８】
以上、述べたように、この実施の形態のマルチテンプレート管理システムは、ワンソースマルチユース方式で使用される複数のテンプレートのいずれかひとつのテンプレートを変更するだけで、複数の環境に情報を配信する際のコンテンツデータ作成のための他のテンプレートも必要に応じて自動的に変更することが可能となる。これにより、テンプレートの変更に要する作業コストを最大１／Ｎに減少させることが出来るようになり、また、テンプレートの変更作業をシステムが自動的に行うため、複数の環境に情報を配信する際のコンテンツデータ作成のための全てのテンプレートを人手により変更している場合に発生する可能性があるテンプレートの修正洩れを防止できる。
【００２９】
また、前記実施の形態の説明では、コンテンツデータがＨＴＭＬであるようなテンプレートを管理対象としているが、ＣｏｍｐａｃｔＨＴＭＬやＳＭＩＬ（Ｓｙｎｃｈｒｏｎｉｚｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｇｒａｔｉｏｎ  Ｌａｎｇｕａｇｅ）やＢＭＬ（Ｂｒｏａｄｃａｓｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などのような形式のコンテンツデータを生成するテンプレートを管理対象としても良い。
【００３０】
また、前記実施の形態の説明では、全てのテンプレートがＨＴＭＬ形式のコンテンツデータを生成しているが、例えば、テンプレート１１−１はＨＴＭＬ形式のコンテンツデータ、テンプレート１１−２はＣｏｍｐａｃｔＨＴＭＬ形式のコンテンツデータ、テンプレート１１−３はＢＭＬ形式のコンテンツデータのように複数の形式のコンテンツデータを生成するワンソースマルチユースシステムのテンプレートを管理対象としても良い。
【００３１】
また、前記実施の形態の説明では、テンプレートはＸＳＬＴを使って記述されているが、他の形式、例えばＪＳＰ（ＪａｖａＳｅｒｖｅｒ  Ｐａｇｅｓ）などを用いて記述されたテンプレートを管理対象としても良い。
【００３２】
また、前記実施の形態の説明では、ソースデータＸＭＬ形式のテキストデータとしているが、例えばＯｒａｃｌｅ社のＸＤＫ（ＸＭＬ  Ｄｅｖｅｌｏｐｅｒ′ｓ  Ｋｉｔ）などのようにリレーショナルデータベースのテーブルを参照できるテンプレートを利用してデータベースのテーブルをソースデータとするワンソースマルチユースシステムのテンプレートを管理対象としても良い。
【００３３】
また、前記実施の形態の説明では、ソースデータはひとつのＸＭＬ形式のテキストデータとしているが、例えば、複数のテキストデータ、あるいは、複数のデータベースのテーブル、あるいは、テキストデータとデータベースのテーブルを組み合わせたものなどをソースデータとするテンプレートを管理対象としても良い。
【００３４】
また、前記実施の形態の説明では、図１４に示すように、テンプレート１１−Ｎに対しては差分情報の部分木のルートノード名がＩＭＧの場合にはテンプレートの変更は行わないとなっているが、このような変更ルールを設けずに全てのテンプレートを一括して変更するようにしても良い。
【００３５】
また、前記実施の形態の説明では、ツリー生成手段２０はテンプレート中に含まれるソースデータやコンテンツデータのタグ情報を抽出して木構造を生成しているが、その他の情報を含めて生成しても良い。例として、テンプレートに含まれる全てのタグ情報を利用して生成した木構造を図２０に示す。
【００３６】
また、前記実施の形態では、より詳細な情報が木構造に含まれるので、ツリーマッチング手段２２が部分木探索で間違った部分木を結果としてしまう探索ミスを減らすことが可能となる。
【００３７】
また、前記実施の形態の説明では、差分生成手段２１やテンプレート修正手段２４はツリー生成手段２０が生成した木構造をベースに処理を進めているが、例えば前記差分生成手段２１はＵＮＩＸでテキストファイルの差分を生成する際に標準的に使用されているｄｉｆｆコマンドなどを用いてテンプレートから直接差分情報を生成し（この生成結果の例を図２１に示す）、前記テンプレート修正手段２４は差分生成手段２１が生成した差分情報を、同じくＵＮＩＸでテキストファイルの差分をもとにファイルの変更を行う際に標準的に使用されているｐａｔｃｈコマンドなどを用いてテンプレートを直接変更するようにしても良い。図２２は、このときのマルチテンプレート管理システム４の構成を示すブロック図である。
【００３８】
また、前記実施の形態では、ツリー生成手段２０とツリーマッチング手段２２がなくても図１の構成で示されるマルチマルチテンプレート管理システムと同様の効果が得られるマルチマルチテンプレート管理システムを構築することが可能となる。
【００３９】
また、前記実施の形態の説明では、テンプレート修正手段２４は差分生成手段２１が生成した差分情報をもとにテンプレートの変更を行なっているが、例えば、図２１に示されるような内容のテンプレートの修正指示をテンプレート管理者から受けることで管理対象となるテンプレートの修正を行うようにしてもよい。図２３は、このときのマルチテンプレート管理システム６の構成を示すブロック図である。
【００４０】
また、前記実施の形態では、ツリー生成手段２０と差分生成手段２１とツリーマッチング手段２２がなくても、テンプレート管理者は修正指示をひとつ与えるだけで、図１の構成で示されるシステムと同様に管理対象のテンプレートの修正を一括して行うことが可能となる。
【００４１】
また、前記実施の形態の説明で明らかなように、全ての処理手順はテンプレートの初期状態に依存していない。従って、全てのテンプレートの中身が空の状態を初期状態としてマルチテンプレート管理システムを動作させ、テンプレートのひとつを作成する、あるいは、作成のための編集指示をテンプレート修正手段２４に順次与えても良い。
【００４２】
また、前記実施の形態では、ワンソースマルチユースシステムの初期テンプレートを一括して作成することが可能となり、そのときの作業コストは最大１／Ｎに減少できることになる。
【００５０】
【発明の効果】
本発明によれば、各テンプレートの形式が異なる場合やコメントなどの本質的でない部分の差に影響されることなくテンプレートの変更が可能になり、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更に要する作業コストの低減と修正漏れを防止できる効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態によるマルチテンプレート管理システムの構成を示すブロック構成図である。
【図２】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるソースデータの一例を示した図である。
【図３】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレートの一例を示した図である。
【図４】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるコンテンツデータの一例を示した図である。
【図５】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の生成結果の一例を示した図である。
【図６】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の生成結果の一例を示した図である。
【図７】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の生成結果の一例を示した図である。
【図８】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるソースデータの追加例を示した図である。
【図９】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレートの変更例を示した図である。
【図１０】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける変更後のテンプレートから生成した木構造を示した図である。
【図１１】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける差分情報の一例を示した図である。
【図１２】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける部分木の探索結果を示した図である。
【図１３】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける部分木の探索結果を示した図である。
【図１４】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレート変更ルールの一例を示した図である。
【図１５】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の変更結果を示した図である。
【図１６】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造からテンプレートへの変換手順の一例を示した図である。
【図１７】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の変更部分をテンプレートに変換した結果を示した図である。
【図１８】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレートの変更結果を示した図である。
【図１９】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける差分情報の他の例を示した図である。
【図２０】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける他の手法による木構造の生成結果の一例を示した図である。
【図２１】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける他の形式による差分情報の一例を示した図である。
【図２２】本発明の他の実施の形態のマルチマルチテンプレート管理システムの構成を示すブロック構成図である。
【図２３】本発明の他の実施の形態のマルチマルチテンプレート管理システムの構成を示すブロック構成図である。
【符号の説明】
１０……ソースデータ、１１−１〜１１−Ｎ……テンプレート、１１−１ａ……変更作業を受けたテンプレート、１２−１〜１２−Ｎ……コンテンツデータ、２，４，６……マルチテンプレート管理システム、２０……ツリー生成手段、２１……差分生成手段、２２……ツリーマッチング手段、２３……変更ルール、２４……テンプレート修正手段。
【図１】
0003843810.tif 000002
【図２】
0003843810.tif 000003
【図３】
0003843810.tif 000004
【図４】
0003843810.tif 000005
【図５】
0003843810.tif 000006
【図６】
0003843810.tif 000007
【図７】
0003843810.tif 000008
【図８】
0003843810.tif 000009
【図９】
0003843810.tif 000010
【図１０】
0003843810.tif 000011
【図１１】
0003843810.tif 000012
【図１２】
0003843810.tif 000013
【図１３】
0003843810.tif 000014
【図１４】
0003843810.tif 000015
【図１５】
0003843810.tif 000016
【図１６】
0003843810.tif 000017
【図１７】
0003843810.tif 000018
【図１８】
0003843810.tif 000019
【図１９】
0003843810.tif 000020
【図２０】
0003843810.tif 000021
【図２１】
0003843810.tif 000022
【図２２】
0003843810.tif 000023
【図２３】
0003843810.tif 000024