JP3843810B2 - Multi-template management system and multi-template management program - Google Patents

Multi-template management system and multi-template management program Download PDF

Info

Publication number
JP3843810B2
JP3843810B2 JP2001351889A JP2001351889A JP3843810B2 JP 3843810 B2 JP3843810 B2 JP 3843810B2 JP 2001351889 A JP2001351889 A JP 2001351889A JP 2001351889 A JP2001351889 A JP 2001351889A JP 3843810 B2 JP3843810 B2 JP 3843810B2
Authority
JP
Japan
Prior art keywords
template
tree
tree structure
generated
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001351889A
Other languages
Japanese (ja)
Other versions
JP2003150584A (en
Inventor
和生 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2001351889A priority Critical patent/JP3843810B2/en
Publication of JP2003150584A publication Critical patent/JP2003150584A/en
Application granted granted Critical
Publication of JP3843810B2 publication Critical patent/JP3843810B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の環境に情報を配信する際のデータ作成に要するコストを低減するマルチマルチテンプレート管理システムおよびその方法とマルチマルチテンプレート管理プログラムに関する。
【0002】
【従来の技術】
携帯電話のようなモバイル機器の普及にともないインターネットに接続する端末の多様化が進んでいる。WWW(World Wide Web)を閲覧するブラウザ環境の場合、出力デバイスの持つ解像度や色数などもまちまちである。このような状況でコンテンツデータを公開する場合、特定の端末環境を仮定してコンテンツを作成すると想定されていない端末環境下で不都合が生じることがある。例えば、デスクトップPCでの閲覧を前提として表示に広い面積を必要とする画像を含んだコンテンツを作成すると、表示画面の狭いモバイル端末や画像を表示できない携帯電話では画像を正しく表示できないため、利用者に情報を正確に伝えること出来ないことがある。しかし、閲覧で利用される可能性のある端末それぞれに適合したコンテンツデータを予め作成しておくことは、コンテンツ作成のコストを増大させることになり現実的ではない。このような問題を解決するために特開平11−015723、ORACLE社のPortal−to−GO、特許第3068131号公報などで示されるような「ワンソースマルチユース」方式が提案されている。
【0003】
【発明が解決しようとする課題】
特開平11−015723号公報に開示された技術やORACLE社のPortal−to−GOは個々のブラウザ環境に適応したテンプレートや変換コンポーネントを予め用意しておき、ひとつのソースデータを、利用するブラウザに対応するテンプレートやコンポーネントで変換することで各ブラウザ環境用のコンテンツデータを出力するようになっている。また、特許第3068131号公報に開示された技術もひとつのソースデータに予め決められた手順でデザイン変更を加えることでデザインの異なる複数のコンテンツデータを出力するようになっている。しかしいずれの方式も、個々の環境やデザイン毎にテンプレートや変換手順を作成、管理する必要があるため、画面レイアウトの変更や表示要素の増減によりひとつのテンプレートや変換手順を変更しても、その変更内容が他のテンプレートなどに波及することはない。従って、全てのテンプレートや変換手順を個別に変更する必要があるため、変更作業コストは依然として少なくならない。さらに、個々のテンプレートを個別に変更していると、変更作業中に修正洩れや変更ミスが発生する可能性も高い。これに対処する手法として、複数の文書に対し同じ修正作業が容易に加えられる環境の提供を目的とした特開平10−269214号公報に開示された技術があるが、これは複数のバッファに修正文字列を保持するだけで修正作業自体は特に自動化されておらず、作業コストはあまり低減されない。
【0004】
本発明の目的は、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更に要する作業コストの低減と修正洩れを防止できるマルチテンプレート管理システムおよびその方法とマルチテンプレート管理プログラムを提供することである。
【0005】
【課題を解決するための手段】
本発明に係るマルチテンプレート管理システムは、ソースデータから2以上のテンプレートを用いて複数のコンテンツデータを生成するマルチテンプレート管理システムであって、前記テンプレートから木構造を生成するツリー生成手段と、前記テンプレートのひとつが変更されたときに、前記ツリー生成手段が生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成手段と、前記差分生成手段生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正手段とを備えたことを特徴とする。
【0007】
本発明に係るマルチテンプレート管理プログラムは、ソースデータから2以上のテンプレートを用いて複数のコンテンツデータを生成する処理をコンピュータに実行させるためのマルチテンプレート管理プログラムであって、コンピュータを、テンプレートから木構造を生成するツリー生成処理手段と、テンプレートのひとつが変更されたときに、前記ツリー生成処理手段で生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成処理手段と、前記差分生成処理手段で生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正処理手段として機能させることを特徴とする。
【0008】
本発明のマルチテンプレート管理システムおよびマルチテンプレート管理プログラムは、テンプレートから木構造を生成し、前記テンプレートのひとつが変更されたときに、前記生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成し、前記生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更し、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更に要する作業コストの低減と修正洩れを防止する。
【0009】
【発明の実施の形態】
以下、本発明の実施の一形態について説明する。
なお、以下の説明では本発明の実施に必要不可欠な要素についてのみ示し、当業者にとって良く知られている従来品と同一の要素についてはその説明を省略する。図1は、この実施の形態のマルチテンプレート管理システムの構成の一例を示したブロック図である。このマルチテンプレート管理システム2は、ソースデータ10をN個(Nは2以上の任意の数)のテンプレート11−1〜11−Nで変換することでN種類のブラウザ環境に対応したコンテンツデータ12−1〜12−Nを提供するワンソースマルチユースシステムのN個のテンプレートを管理するものである。
【0010】
ここで、ソースデータ10は主にブラウザ環境に依存しない情報を保存してあるもので、例えば、XML(eXtensible Markup Language)形式のテキストデータとして記述される。図2はこのXML形式のテキストデータとして記述された前記ソースデータ10の例である。テンプレートは、ブラウザ環境に応じてソースデータを変換するための規則を記述したもので、例えば、XSLT(XSL,eXtensible Stylesheet Language,Transformations)を使って図3に示すように記述される。コンテンツデータは実際に各ブラウザで表示されるデータであり、例えば、HTML(HyperText Markup Language)を使って記述される。この場合の一例として、図2のソースデータを図3のテンプレートで変換した結果を図4に示す。
【0011】
図1のマルチテンプレート管理システム2は、前記テンプレート11−1〜11−Nから木構造を生成するツリー生成手段20と、テンプレートのいずれかひとつに変更作業が加えられたときに、変更前と変更後のテンプレートのそれぞれから前記ツリー生成手段20が生成した木構造を受け取り、それら木構造の差分情報を生成する差分生成手段21と、前記ツリー生成手段20が生成した各テンプレートの木構造と前記差分生成手段21が生成した差分情報を受け取り、前記木構造に含まれる部分木の探索を行うツリーマッチング手段22と、前記差分生成手段21が生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルール23と、前記差分生成手段21が生成した差分情報と前記ツリーマッチング手段22が探索した部分木の対応と前記変更ルール23を用いて、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更作業を行うテンプレート修正手段24とを備えている。
【0012】
すなわち、テンプレートから出力フォーマット依存の情報(HTML文書の<P>タグなど)とデータソースから引いてくる情報をもとにツリーを構成する「ツリー生成」と、個々の出力フォーマットの対応関係を保存した「マッチング知識」と、前記マッチング知識を利用して前記「ツリー生成」で生成したツリーを比較する「ツリーマッチング」と、編集作業により修正されたテンプレートの修正作業内容を取り出す「差分生成」と、テンプレートの変更ルールを記述した「変更ルール」と、テンプレートの修正作業内容から対応する変更ルールを取り出し、前記「ツリーマッチング」の比較結果を利用して、複数の環境に情報を配信する際のコンテンツデータ作成のための個々のテンプレートを修正する「テンプレート修正」から構成される。
【0013】
次に、上述のマルチテンプレート管理システムにおいて、テンプレートのひとつに変更が加えられたときの動作内容を図を用いて具体的に説明する。以下の説明では、ソースデータ10に情報が追加されたため、テンプレート管理者がテンプレート11−1に変更を加えテンプレート11−1aとしたときのマルチテンプレート管理システムの動作について述べる。また、以下の説明では特にテンプレート11−1と、テンプレート11−2、テンプレート11−Nの3つに関することのみ説明しているが、それ以外のテンプレート11−3〜テンプレート11−(N−1)についても同様の処理を行なっているものとする。
【0014】
図1のツリー生成手段20は、テンプレート11−1〜テンプレート11−Nのそれぞれに対し、各テンプレートに含まれる情報をもとにノードと各ノードの親子関係を決定して木構造を生成する。具体的な生成手順は次の通りである。
(1)テンプレート中に含まれる、ソースデータやコンテンツデータのタグ情報を抽出する。
(2)抽出した情報をノードとし、テンプレート中で各情報が出現している場所の親子関係と同じ親子関係を持った木構造を生成する。
【0015】
図5は、図3に示すテンプレート11−1の一部から実際に木構造を生成したときの例を示している。テンプレート11−1からは、linkやdescriptionといったソースデータのタグ情報と、PやAといったコンテンツデータのタグ情報と、コンテンツデータのタグ属性情報であるHREFが抽出され、それぞれが図5の符号101〜108で示される木構造のノードとなる。
【0016】
各ノードの親子関係は各情報が出現している場所の親子関係と同じとなるように決定されるので、例えば、ノード105であるPはテンプレート中で<xsl:template match=“link”>タグの子供として記述されているので、前記<xsl:template match=“link”>タグから抽出されたノード101の子供として木構造を生成する。以下、同様にして、図5にあるようにテンプレートから木構造が生成される。ここで、図中の長方形ノード101,102,103,104はソースデータのタグ情報、角丸ノード105,106,107はコンテンツデータのタグ名情報、楕円ノード108はコンテンツデータのタグ属性情報として抽出されたことを示している。
【0017】
前記ツリー生成手段20は、テンプレート11−2〜テンプレート11−Nについても同様の手順で木構造を抽出する。例として、テンプレート11−2とテンプレート11−Nの一部分を図6(a)と図7(a)に、前記それぞれのテンプレートの一部分から木構造を生成した結果を図6(b)と図7(b)に示す。なお、図6(a)に示したテンプレート11−2はノートPC用のブラウザを対象としたテンプレートで、テンプレート11−1と比べ、画面の表示面積を節約するために説明文(ソースデータのdescription部に相当)の表示を省略している。また、図7(a)のテンプレート11−Nは携帯電話用のブラウザを対象としたテンプレートで、さらに画面の表示面積を節約するためリンク文字列の短縮化“図7中のsubstring()関数で実現する”を行うものである。
【0018】
以上のような状況で、図2のソースデータにイメージ情報が追加され、図8のようになったとする。追加されたイメージ情報は図8の符号201、202で示されるように<image>タグで表現されている。このとき、テンプレートの管理者は増えたイメージ情報を新たにコンテンツデータに加えるため、図3に示すテンプレート11−1のみを変更して、イメージ情報表示を行う図9に示すテンプレート11−1aにしたとする。変更箇所は図9の点線で囲まれた符号301で示す部分である。このとき前記ツリー生成手段20は、前述した手順に従いテンプレート11−1aからも木構造の生成を行う。
この生成した結果の一部を図10に示す。ここで、点線で表現されているノード409,410,411が前記変更箇所301に相当する部分である。
【0019】
このとき前記差分生成手段21は、変更前のテンプレート11−1と変更後のテンプレート11−1aから生成されたそれぞれ図5と図10に示す木構造から、既知の手法により共通する部分木を削除することで、差分情報を生成する。例えば、次のような再帰的手順で実行することが可能である。
(1)2つの木構造の各ルートノードに注目する。
(2)注目しているノード同士がお互い同じ名前で、かつ、両方とも子供を持たないならば、各木構造の現在注目しているノードを削除して終了する。
(3)注目しているノード同士がお互い同じ名前で、かつ、各ノードの子供の中に同じ名前の子供があるならば、それらの子供同士をルートノードとして(1)からの処理を再帰的に実行する。全ての同じ名前の子供について処理が終了した時点で、各木構造の現在注目しているノードを削除して終了する。
(4)上記(2)(3)以外の場合は終了する。
(5)処理が終了した時点で、変更前の木構造に残っている部分木を削除部分木、変更後の木構造に残っている部分木を追加部分木として抽出する。
(6)抽出された削除部分木、追加部分木と、それらの部分木の親ノードを対にして差分情報とする。ただし、追加部分木の親ノードに関しては、変更前の木構造内でその親ノードに対応するノードを親ノードとする。
前述の図5と図10の場合には、図11に示すように、削除部分木はなし、追加部分木は図10のノード409,410,411、追加部分木の親ノードは図10のノード405に対応する変更前の木構造内のノード107となる。
【0020】
次に前記ツリーマッチング手段22は、前記ツリー生成手段20が生成した木構造と、前記差分生成手段21が生成した差分情報を受け取り、差分情報に含まれる削除部分木、あるいは、追加部分木の親ノードをルートとする部分木と一致する部分木を、既知の手法により各テンプレートより生成した木構造内から探索する。例えば、次のような再帰的手順で実行することが可能である。
(1)探索する部分木のルートノードと同じ名前を持つノードを探索対象の木構造内から探索する。
(2)そのようなノードが存在しなければ探索失敗で終了する。
(3)ノードが見つかった場合には、見つかったノードの子供と部分木のルートノードの子供とが1対1で対応付け可能であるかどうかをチェックする。両ノードとも子供を持たない場合は探索成功で終了する。
(4)対応づけ出来なければ探索失敗で終了する。
(5)対応づけが可能だった場合は、対応する子供同士をルートとして(3)からの処理を再帰的に実行する。全ての子供に対して処理が成功すれば探索成功として終了する。
(6)子供に対する処理がひとつでも失敗すれば探索失敗として終了する。
(7)以上の処理を部分木のルートノードと同じ名前を持つ全てのノードに対して実行し、全てのノードで探索が失敗するか、いずれかひとつのノードで探索が成功すれば終了する。
例の場合には、まず、図11の追加部分木の親ノード107をルートとする部分木はノード107、ノード108、ノード104、ノード103からなる。この部分木と一致する部分木を上記の手順で、探索対象となるテンプレート11−2〜テンプレート11−Nから生成された木構造を図6(b)と図7(b)の木構造から探索すると、図12に示す部分木502、および、図13の部分木602が得られる。
【0021】
次に前記テンプレート修正手段24は、前記差分生成手段21が生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルール23と、前記ツリーマッチング手段22が探索した部分木の対応と、前記差分生成手段21が生成した差分情報とを用いて、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更作業を行う。この変更作業は次の3ステップ、ステップS1:木構造の変更、ステップS2:変更部分のテンプレートへの変換、ステップS3:テンプレートの変更からなる。
ここで前記各ステップを順番に説明する。
先ずステップS1では、前記差分生成手段21が生成した差分情報と前記変更ルール23に記述されたルールに従い、前記ツリー生成手段20が生成したテンプレートの木構造を変更する。ここで変更ルール23は、テンプレートの木構造に追加部分木を追加、あるいは、削除部分木を削除するための方法を記述したもので、例えば、図14に示すようなものとなっている。図11の差分情報の場合には、追加部分木の部分木(ノード409、ノード410、ノード411)をテンプレート11−2の木構造からツリーマッチング手段22が探索した部分木502のルートノードに追加する(図15のノード707、ノード708、ノード709)。さらに、追加した部分木のルートノード(ノード707)の名前がIMGであるので、名前がheight、値が20の属性を追加した部分木のルートノード(ノード707)に追加する(図15のノード710、ノード711)。テンプレート11−Nに対しては、追加部分木のルートノード409の名前がIMGであるので木構造の変更は行わない。
【0022】
次のステップS2では、前記ステップS1で変更された部分の木構造を予め定めた手順に従いテンプレートに変換する。例えばテンプレート11−2用変換手順は図16に示されるようなものとなる。この手順に従いテンプレート11−2から生成された木構造に追加されたノード707〜ノード711をテンプレートに変換すると図17のようになる。ここで、ノード707は図17の符号801と符号804に示すようなテンプレートに、ノード708とノード709は図17の符号802に示すテンプレート、ノード710とノード711は図17の符号803のテンプレートに対応している。
【0023】
最後のステップS3では、ステップS2で得られたテンプレートをもとに対象となるテンプレートを変更する。具体的には追加部分木から得られたテンプレートは対象テンプレートに挿入し、削除部分木から得られたテンプレートは対象テンプレートから削除することで処理が行われる。挿入、あるいは、削除する場所は変更された木構造に従い決定される。例えば、図11の追加部分木から図15を経て得られたテンプレート図17は図6(a)に示す対象テンプレートであるテンプレート11−2に挿入され最終的に図18に示されるテンプレートとなる。ここで、挿入される場所は図15の木構造において変更された場所(ノード702の子供で、かつノード706の弟となる場所)から決定され、<A>タグの子供で、かつ、<xsl:value−of select=“data/name”/>の弟である図18の符号901で示す部分となる。
【0024】
以上の手順をまとめると、例えば、図3のテンプレート11−1を図9のように変更するだけで、図6(a)の異なる環境に情報を配信する際のコンテンツデータ作成のためのテンプレート11−2は図18のように変更される。また、図7(a)の異なる環境に情報を配信する際のコンテンツデータ作成のためのテンプレート11−Nは今回のテンプレート11−1の変更に追随する必要がないため変更なしとなる。
【0025】
また、以上の手順の例はテンプレートに追加変更を行なった場合のものであるが、削除変更の場合でも上記の手順で処理を行うことが出来る。例として、上記の追加手順を逆に辿ってテンプレートの一部を削除した場合について説明する。すなわち、変更前が図9で示されるようなテンプレート11−1から図9の符号301で示される部分を削除して図3のようなテンプレートに変更した場合には、変更前と変更後の木構造はそれぞれ図10と図5に示されるものとなり、そこから差分生成手段21が生成する差分情報は図19のようになる。
【0026】
ツリーマッチング手段22は、削除部分木の親ノード405をルートとする部分木(ノード405〜ノード411)と一致する部分木を各テンプレートより生成した木構造から探索する。例えばテンプレート11−2が図18に示されるようなものだった場合、図18のテンプレートから生成した木構造は図15のようになり、探索結果としてノード702、ノード704〜ノード709からなる部分木が得られる。
【0027】
次に、テンプレート修正手段24は図14のテンプレート11−2用の部分木の削除ルールを用いて木構造を変更する。図15の木構造で説明すると、削除部分木の部分木に該当する部分であるノード707〜ノード709、および、その子孫であるノード710とノード711が削除され、図6(b)の木構造が得られる。次に、削除されたノード707〜ノード711からなる部分木を図16の変換手順に従いテンプレートに変換すると図17のようになるので、図17のテンプレートに対応する図18のテンプレート11−2の符号901の部分が削除されて、最終的に、図6(a)に示されるテンプレートが得られる。
以上の手順をまとめると、例えば、図9のテンプレート11−1を図3のように変更するだけで、図18のテンプレート11−2は図6(a)のように変更される。
【0028】
以上、述べたように、この実施の形態のマルチテンプレート管理システムは、ワンソースマルチユース方式で使用される複数のテンプレートのいずれかひとつのテンプレートを変更するだけで、複数の環境に情報を配信する際のコンテンツデータ作成のための他のテンプレートも必要に応じて自動的に変更することが可能となる。これにより、テンプレートの変更に要する作業コストを最大1/Nに減少させることが出来るようになり、また、テンプレートの変更作業をシステムが自動的に行うため、複数の環境に情報を配信する際のコンテンツデータ作成のための全てのテンプレートを人手により変更している場合に発生する可能性があるテンプレートの修正洩れを防止できる。
【0029】
また、前記実施の形態の説明では、コンテンツデータがHTMLであるようなテンプレートを管理対象としているが、CompactHTMLやSMIL(Synchronized Multimedia Integration Language)やBML(Broadcast Markup Language)などのような形式のコンテンツデータを生成するテンプレートを管理対象としても良い。
【0030】
また、前記実施の形態の説明では、全てのテンプレートがHTML形式のコンテンツデータを生成しているが、例えば、テンプレート11−1はHTML形式のコンテンツデータ、テンプレート11−2はCompactHTML形式のコンテンツデータ、テンプレート11−3はBML形式のコンテンツデータのように複数の形式のコンテンツデータを生成するワンソースマルチユースシステムのテンプレートを管理対象としても良い。
【0031】
また、前記実施の形態の説明では、テンプレートはXSLTを使って記述されているが、他の形式、例えばJSP(JavaServer Pages)などを用いて記述されたテンプレートを管理対象としても良い。
【0032】
また、前記実施の形態の説明では、ソースデータXML形式のテキストデータとしているが、例えばOracle社のXDK(XML Developer′s Kit)などのようにリレーショナルデータベースのテーブルを参照できるテンプレートを利用してデータベースのテーブルをソースデータとするワンソースマルチユースシステムのテンプレートを管理対象としても良い。
【0033】
また、前記実施の形態の説明では、ソースデータはひとつのXML形式のテキストデータとしているが、例えば、複数のテキストデータ、あるいは、複数のデータベースのテーブル、あるいは、テキストデータとデータベースのテーブルを組み合わせたものなどをソースデータとするテンプレートを管理対象としても良い。
【0034】
また、前記実施の形態の説明では、図14に示すように、テンプレート11−Nに対しては差分情報の部分木のルートノード名がIMGの場合にはテンプレートの変更は行わないとなっているが、このような変更ルールを設けずに全てのテンプレートを一括して変更するようにしても良い。
【0035】
また、前記実施の形態の説明では、ツリー生成手段20はテンプレート中に含まれるソースデータやコンテンツデータのタグ情報を抽出して木構造を生成しているが、その他の情報を含めて生成しても良い。例として、テンプレートに含まれる全てのタグ情報を利用して生成した木構造を図20に示す。
【0036】
また、前記実施の形態では、より詳細な情報が木構造に含まれるので、ツリーマッチング手段22が部分木探索で間違った部分木を結果としてしまう探索ミスを減らすことが可能となる。
【0037】
また、前記実施の形態の説明では、差分生成手段21やテンプレート修正手段24はツリー生成手段20が生成した木構造をベースに処理を進めているが、例えば前記差分生成手段21はUNIXでテキストファイルの差分を生成する際に標準的に使用されているdiffコマンドなどを用いてテンプレートから直接差分情報を生成し(この生成結果の例を図21に示す)、前記テンプレート修正手段24は差分生成手段21が生成した差分情報を、同じくUNIXでテキストファイルの差分をもとにファイルの変更を行う際に標準的に使用されているpatchコマンドなどを用いてテンプレートを直接変更するようにしても良い。図22は、このときのマルチテンプレート管理システム4の構成を示すブロック図である。
【0038】
また、前記実施の形態では、ツリー生成手段20とツリーマッチング手段22がなくても図1の構成で示されるマルチマルチテンプレート管理システムと同様の効果が得られるマルチマルチテンプレート管理システムを構築することが可能となる。
【0039】
また、前記実施の形態の説明では、テンプレート修正手段24は差分生成手段21が生成した差分情報をもとにテンプレートの変更を行なっているが、例えば、図21に示されるような内容のテンプレートの修正指示をテンプレート管理者から受けることで管理対象となるテンプレートの修正を行うようにしてもよい。図23は、このときのマルチテンプレート管理システム6の構成を示すブロック図である。
【0040】
また、前記実施の形態では、ツリー生成手段20と差分生成手段21とツリーマッチング手段22がなくても、テンプレート管理者は修正指示をひとつ与えるだけで、図1の構成で示されるシステムと同様に管理対象のテンプレートの修正を一括して行うことが可能となる。
【0041】
また、前記実施の形態の説明で明らかなように、全ての処理手順はテンプレートの初期状態に依存していない。従って、全てのテンプレートの中身が空の状態を初期状態としてマルチテンプレート管理システムを動作させ、テンプレートのひとつを作成する、あるいは、作成のための編集指示をテンプレート修正手段24に順次与えても良い。
【0042】
また、前記実施の形態では、ワンソースマルチユースシステムの初期テンプレートを一括して作成することが可能となり、そのときの作業コストは最大1/Nに減少できることになる。
【0050】
【発明の効果】
本発明によれば、各テンプレートの形式が異なる場合やコメントなどの本質的でない部分の差に影響されることなくテンプレートの変更が可能になり、複数の環境に情報を配信する際のコンテンツデータ作成のためのテンプレートの変更に要する作業コストの低減と修正漏れを防止できる効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態によるマルチテンプレート管理システムの構成を示すブロック構成図である。
【図2】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるソースデータの一例を示した図である。
【図3】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレートの一例を示した図である。
【図4】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるコンテンツデータの一例を示した図である。
【図5】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の生成結果の一例を示した図である。
【図6】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の生成結果の一例を示した図である。
【図7】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の生成結果の一例を示した図である。
【図8】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるソースデータの追加例を示した図である。
【図9】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレートの変更例を示した図である。
【図10】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける変更後のテンプレートから生成した木構造を示した図である。
【図11】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける差分情報の一例を示した図である。
【図12】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける部分木の探索結果を示した図である。
【図13】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける部分木の探索結果を示した図である。
【図14】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレート変更ルールの一例を示した図である。
【図15】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の変更結果を示した図である。
【図16】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造からテンプレートへの変換手順の一例を示した図である。
【図17】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける木構造の変更部分をテンプレートに変換した結果を示した図である。
【図18】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおけるテンプレートの変更結果を示した図である。
【図19】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける差分情報の他の例を示した図である。
【図20】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける他の手法による木構造の生成結果の一例を示した図である。
【図21】本発明の実施の一形態によるマルチマルチテンプレート管理システムにおける他の形式による差分情報の一例を示した図である。
【図22】本発明の他の実施の形態のマルチマルチテンプレート管理システムの構成を示すブロック構成図である。
【図23】本発明の他の実施の形態のマルチマルチテンプレート管理システムの構成を示すブロック構成図である。
【符号の説明】
10……ソースデータ、11−1〜11−N……テンプレート、11−1a……変更作業を受けたテンプレート、12−1〜12−N……コンテンツデータ、2,4,6……マルチテンプレート管理システム、20……ツリー生成手段、21……差分生成手段、22……ツリーマッチング手段、23……変更ルール、24……テンプレート修正手段。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a multi-multi template management system and method and a multi-multi template management program for reducing the cost required for data creation when distributing information to a plurality of environments.
[0002]
[Prior art]
With the spread of mobile devices such as cellular phones, terminals connected to the Internet have been diversified. In the case of a browser environment for browsing the WWW (World Wide Web), the resolution, the number of colors, and the like of the output device also vary. When content data is disclosed in such a situation, inconvenience may occur in a terminal environment where it is not assumed that content is created assuming a specific terminal environment. For example, if you create content that includes images that require a large area for display on the premise of browsing on a desktop PC, the image cannot be displayed correctly on a mobile terminal with a narrow display screen or a mobile phone that cannot display images. May not be able to convey information accurately. However, creating content data suitable for each terminal that may be used for browsing in advance increases the cost of creating the content, which is not realistic. In order to solve such a problem, a “one-source multi-use” system as shown in Japanese Patent Application Laid-Open No. 11-015723, Portal-to-GO of ORACLE Corporation, Japanese Patent No. 3068131, and the like has been proposed.
[0003]
[Problems to be solved by the invention]
The technology disclosed in Japanese Patent Application Laid-Open No. 11-015723 and Portal-to-GO of ORACLE Inc. prepare templates and conversion components suitable for individual browser environments in advance, and use one source data for the browser to be used. Content data for each browser environment is output by converting with corresponding templates and components. In addition, the technique disclosed in Japanese Patent No. 3068131 also outputs a plurality of content data with different designs by applying a design change to a single source data according to a predetermined procedure. However, in both methods, it is necessary to create and manage templates and conversion procedures for each environment and design, so even if one template or conversion procedure is changed by changing the screen layout or increasing or decreasing display elements, The changes will not affect other templates. Therefore, since it is necessary to change all the templates and conversion procedures individually, the change work cost is still not reduced. Furthermore, if each template is changed individually, there is a high possibility that a correction omission or a change error will occur during the change operation. As a technique for dealing with this, there is a technique disclosed in Japanese Patent Laid-Open No. 10-269214 for the purpose of providing an environment in which the same correction work can be easily applied to a plurality of documents, but this is corrected to a plurality of buffers. The correction operation itself is not particularly automated simply by holding the character string, and the operation cost is not reduced so much.
[0004]
An object of the present invention is to provide a multi-template management system and method and a multi-template management program capable of reducing work costs required for changing templates for creating content data when distributing information to a plurality of environments and preventing correction omissions. Is to provide.
[0005]
[Means for Solving the Problems]
A multi-template management system according to the present invention is a multi-template management system that generates a plurality of content data using two or more templates from source data, and includes a tree generation unit that generates a tree structure from the template, and the template Difference generation means for generating difference information from the tree structure generated by the tree generation means when one of them is changed, and generating difference information indicating the change contents of the template from the template before and after the change, The difference generation means so Receive the difference information of the generated tree structure, By changing a tree structure generated from a template other than the changed template with the difference information of the received tree structure, and converting the changed tree structure into a template, For creating content data when distributing information to multiple environments Other than the modified template A template correction means for changing the template is provided.
[0007]
A multi-template management program according to the present invention is a multi-template management program for causing a computer to execute a process of generating a plurality of content data using two or more templates from source data, Computer Tree generation processing to generate a tree structure from a template means When one of the templates is changed, the tree generation process means Difference generation processing for generating difference information from the tree structure generated in step 1, and generating difference information indicating the change contents of the template from the template before and after the change means And the difference generation process means Receiving the difference information of the tree structure generated in By changing a tree structure generated from a template other than the changed template with the difference information of the received tree structure, and converting the changed tree structure into a template, For creating content data when distributing information to multiple environments Other than the modified template Template correction process to change the template Function as a means It is characterized by making it.
[0008]
The multi-template management system and multi-template management program of the present invention Generates a tree structure from a template, generates difference information from the generated tree structure when one of the templates is changed, and generates difference information indicating the contents of the template change from the template before and after the change And receiving the difference information of the generated tree structure, changing the tree structure generated from a template other than the changed template with the received difference information of the tree structure, and converting the changed tree structure into a template By changing the template other than the modified template for creating content data when distributing information to a plurality of environments, the template for creating content data when distributing information to a plurality of environments is changed. Reduce work costs required for change and prevent omission of correction.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described.
In the following description, only the elements indispensable for the implementation of the present invention are shown, and the description of the same elements as the conventional products well known to those skilled in the art is omitted. FIG. 1 is a block diagram showing an example of the configuration of the multi-template management system according to this embodiment. The multi-template management system 2 converts the source data 10 with N (N is an arbitrary number of 2 or more) templates 11-1 to 11-N, thereby enabling content data 12- corresponding to N types of browser environments. It manages N templates of a one-source multi-use system that provides 1 to 12-N.
[0010]
Here, the source data 10 mainly stores information that does not depend on the browser environment, and is described, for example, as text data in an XML (extensible Markup Language) format. FIG. 2 shows an example of the source data 10 described as text data in the XML format. The template describes a rule for converting source data according to the browser environment, and is described as shown in FIG. 3 using, for example, XSLT (XSL, eXtensible Style Language, Transformations). The content data is data that is actually displayed in each browser, and is described using, for example, HTML (HyperText Markup Language). As an example of this case, FIG. 4 shows the result of converting the source data of FIG. 2 with the template of FIG.
[0011]
The multi-template management system 2 shown in FIG. 1 changes the pre-change and the change when the tree generation means 20 for generating a tree structure from the templates 11-1 to 11-N and any one of the templates is changed. The difference generating means 21 that receives the tree structure generated by the tree generating means 20 from each of the subsequent templates and generates difference information of the tree structures, and the tree structure of each template generated by the tree generating means 20 and the difference A tree matching unit 22 that receives the difference information generated by the generation unit 21 and searches for a subtree included in the tree structure, and a procedure for changing a template based on the difference information generated by the difference generation unit 21 The change rule 23 describing the difference information, the difference information generated by the difference generation means 21 and the tree matching means 22 Using searched subtrees corresponding to the said change rule 23, and a template modification means 24 for changing operation of the template for content data creation at the time of distributing information to a plurality of environments.
[0012]
In other words, the output format dependent information (such as <P> tag of HTML document) from the template and the “tree generation” that configures the tree based on the information drawn from the data source, and the correspondence between each output format is saved “Matching knowledge”, “tree matching” for comparing the tree generated by the “tree generation” using the matching knowledge, and “difference generation” for extracting the correction work content of the template corrected by the editing work; When the information is distributed to multiple environments using the "change rule" describing the template change rule and the corresponding change rule from the template correction work, and using the comparison result of the "tree matching" Consists of "template modification" to modify individual templates for content data creation It is.
[0013]
Next, the operation contents when a change is made to one of the templates in the above-described multi-template management system will be specifically described with reference to the drawings. In the following description, since information is added to the source data 10, the operation of the multi-template management system when the template manager changes the template 11-1 to make the template 11-1a will be described. In the following description, only the template 11-1, the template 11-2, and the template 11-N are described, but the other templates 11-3 to 11- (N-1) are described. It is assumed that the same processing is performed for.
[0014]
1 generates a tree structure for each of the templates 11-1 to 11-N by determining a parent-child relationship between each node based on information included in each template. A specific generation procedure is as follows.
(1) Extract tag information of source data and content data included in a template.
(2) Using the extracted information as a node, generate a tree structure having the same parent-child relationship as the parent-child relationship where each information appears in the template.
[0015]
FIG. 5 shows an example when a tree structure is actually generated from a part of the template 11-1 shown in FIG. From the template 11-1, tag information of source data such as link and description, tag information of content data such as P and A, and HREF which is tag attribute information of the content data are extracted. It becomes a tree-structured node 108.
[0016]
Since the parent-child relationship of each node is determined to be the same as the parent-child relationship of the place where each information appears, for example, the node 105 P is an <xsl: template match = “link”> tag in the template. Therefore, a tree structure is generated as a child of the node 101 extracted from the <xsl: template match = “link”> tag. Thereafter, similarly, a tree structure is generated from the template as shown in FIG. Here, the rectangular nodes 101, 102, 103, and 104 in the figure are extracted as tag information of source data, the rounded nodes 105, 106, and 107 are extracted as tag name information of content data, and the ellipse node 108 is extracted as tag attribute information of content data. It has been shown.
[0017]
The tree generation means 20 extracts a tree structure in the same procedure for the templates 11-2 to 11-N. As an example, FIGS. 6A and 7A show a part of the templates 11-2 and 11-N, and FIG. 6B and FIG. 7 show the results of generating a tree structure from a part of each of the templates. Shown in (b). A template 11-2 shown in FIG. 6A is a template for a browser for a notebook PC. Compared with the template 11-1, a description (source data description) is used to save the display area of the screen. Are omitted). Further, the template 11-N in FIG. 7A is a template for a mobile phone browser. Further, in order to save screen display area, the link character string is shortened by the “substring () function in FIG. To “realize”.
[0018]
In the above situation, assume that image information is added to the source data of FIG. The added image information is represented by an <image> tag as indicated by reference numerals 201 and 202 in FIG. At this time, the template administrator adds only the increased image information to the content data, so that only the template 11-1 shown in FIG. 3 is changed to the template 11-1a shown in FIG. And The changed portion is a portion denoted by reference numeral 301 surrounded by a dotted line in FIG. At this time, the tree generation means 20 also generates a tree structure from the template 11-1a according to the procedure described above.
Part of the generated result is shown in FIG. Here, nodes 409, 410, and 411 expressed by dotted lines are portions corresponding to the changed portion 301.
[0019]
At this time, the difference generation means 21 deletes a common subtree by a known method from the tree structures shown in FIGS. 5 and 10 generated from the template 11-1 before the change and the template 11-1a after the change, respectively. By doing so, difference information is generated. For example, it can be executed by the following recursive procedure.
(1) Pay attention to each root node of two tree structures.
(2) If the nodes being noticed have the same name and both do not have children, the currently noticed node of each tree structure is deleted and the process ends.
(3) If the nodes being noticed have the same name and there are children of the same name among the children of each node, the processing from (1) is recursively with those children as the root node. To run. When processing is completed for all children with the same name, the node currently focused on in each tree structure is deleted and the processing ends.
(4) In cases other than (2) and (3) above, the process ends.
(5) When the processing is completed, the subtree remaining in the tree structure before the change is extracted as the deleted subtree, and the subtree remaining in the tree structure after the change is extracted as the additional subtree.
(6) The extracted deletion subtree, the additional subtree, and the parent node of those subtrees are paired to obtain difference information. However, regarding the parent node of the additional subtree, the node corresponding to the parent node in the tree structure before the change is set as the parent node.
In the case of FIGS. 5 and 10 described above, as shown in FIG. 11, there is no deleted subtree, the additional subtrees are nodes 409, 410, and 411 in FIG. 10, and the parent node of the additional subtree is the node 405 in FIG. Corresponds to the node 107 in the tree structure before the change.
[0020]
Next, the tree matching unit 22 receives the tree structure generated by the tree generation unit 20 and the difference information generated by the difference generation unit 21, and deletes a subtree included in the difference information or a parent of an additional subtree. A subtree matching the subtree rooted at the node is searched from the tree structure generated from each template by a known method. For example, it can be executed by the following recursive procedure.
(1) A node having the same name as the root node of the subtree to be searched is searched from the search target tree structure.
(2) If no such node exists, the search ends with a failure.
(3) When a node is found, it is checked whether or not the child of the found node and the child of the root node of the subtree can be associated one-to-one. If both nodes have no children, the search ends with success.
(4) If it cannot be associated, the search ends with a failure.
(5) If the association is possible, the processes from (3) are recursively executed with the corresponding children as the root. If the processing is successful for all children, the search ends as successful.
(6) If even one process for a child fails, the search ends as a search failure.
(7) The above processing is executed for all nodes having the same name as the root node of the subtree, and the search ends at all nodes or the search is successful at any one of the nodes.
In the case of the example, first, the subtree having the root of the parent node 107 of the additional subtree in FIG. 11 includes the node 107, the node 108, the node 104, and the node 103. The tree structure generated from the templates 11-2 to 11-N to be searched is searched from the tree structures of FIG. 6B and FIG. Then, the subtree 502 shown in FIG. 12 and the subtree 602 of FIG. 13 are obtained.
[0021]
Next, the template correction unit 24 corresponds to the change rule 23 describing the procedure for changing the template based on the difference information generated by the difference generation unit 21 and the subtree searched by the tree matching unit 22. Using the difference information generated by the difference generation means 21, a template change operation for creating content data when distributing information to a plurality of environments is performed. This change operation includes the following three steps: Step S1: Change of the tree structure, Step S2: Conversion of the changed portion into a template, Step S3: Change of the template.
Here, the steps will be described in order.
First, in step S 1, the tree structure of the template generated by the tree generation unit 20 is changed according to the difference information generated by the difference generation unit 21 and the rules described in the change rule 23. Here, the change rule 23 describes a method for adding an additional subtree to a template tree structure or deleting a deleted subtree, and is, for example, as shown in FIG. In the case of the difference information in FIG. 11, the subtree (node 409, node 410, node 411) of the additional subtree is added to the root node of the subtree 502 searched by the tree matching means 22 from the tree structure of the template 11-2. (Node 707, node 708, and node 709 in FIG. 15). Further, since the name of the root node (node 707) of the added subtree is IMG, it is added to the root node (node 707) of the subtree to which the attribute having the name “height” and the value “20” is added (the node in FIG. 15). 710, node 711). For the template 11-N, since the name of the root node 409 of the additional subtree is IMG, the tree structure is not changed.
[0022]
In the next step S2, the tree structure changed in step S1 is converted into a template according to a predetermined procedure. For example, the conversion procedure for template 11-2 is as shown in FIG. When the nodes 707 to 711 added to the tree structure generated from the template 11-2 are converted into templates according to this procedure, the result is as shown in FIG. Here, the node 707 is a template as indicated by reference numerals 801 and 804 in FIG. 17, the nodes 708 and 709 are templates as indicated by reference numeral 802 in FIG. 17, and the nodes 710 and 711 are templates indicated by reference numeral 803 in FIG. It corresponds.
[0023]
In the last step S3, the target template is changed based on the template obtained in step S2. Specifically, processing is performed by inserting a template obtained from the additional subtree into the target template and deleting a template obtained from the deleted subtree from the target template. The place to insert or delete is determined according to the modified tree structure. For example, the template FIG. 17 obtained from the additional subtree of FIG. 11 through FIG. 15 is inserted into the template 11-2, which is the target template shown in FIG. 6A, and finally becomes the template shown in FIG. Here, the place to be inserted is determined from the place changed in the tree structure of FIG. 15 (place that is a child of the node 702 and a brother of the node 706), is a child of the <A> tag, and <xsl : Value-of select = “data / name” /> This is a portion indicated by reference numeral 901 in FIG.
[0024]
Summarizing the above procedure, for example, the template 11 for creating content data when distributing information to different environments shown in FIG. 6A can be obtained simply by changing the template 11-1 shown in FIG. 3 as shown in FIG. -2 is changed as shown in FIG. In addition, the template 11-N for creating content data when distributing information to different environments in FIG. 7A does not need to follow the change of the template 11-1 at this time, and is not changed.
[0025]
Moreover, although the example of the above procedure is a case where an additional change is made to the template, the processing can be performed according to the above procedure even in the case of a deletion change. As an example, a case will be described in which part of the template is deleted by following the above addition procedure in reverse. That is, when the template 11-1 as shown in FIG. 9 is deleted from the template 11-1 shown in FIG. 9 and changed to the template as shown in FIG. The structures are as shown in FIGS. 10 and 5, respectively, and the difference information generated by the difference generation means 21 therefrom is as shown in FIG.
[0026]
The tree matching means 22 searches the tree structure generated from each template for a partial tree that matches the partial tree (nodes 405 to 411) having the root of the parent node 405 of the deleted partial tree. For example, when the template 11-2 is as shown in FIG. 18, the tree structure generated from the template of FIG. 18 is as shown in FIG. 15, and the search result is a subtree consisting of nodes 702 and 704 to 709. Is obtained.
[0027]
Next, the template correction means 24 changes the tree structure using the subtree deletion rule for the template 11-2 in FIG. Referring to the tree structure of FIG. 15, the nodes 707 to 709 corresponding to the subtree of the deleted subtree and the descendants of nodes 710 and 711 are deleted, and the tree structure of FIG. Is obtained. Next, when the subtree consisting of the deleted nodes 707 to 711 is converted into a template according to the conversion procedure of FIG. 16, it becomes as shown in FIG. 17, so the code of the template 11-2 of FIG. 18 corresponding to the template of FIG. The part 901 is deleted, and finally the template shown in FIG. 6A is obtained.
Summarizing the above procedure, for example, the template 11-2 of FIG. 18 is changed as shown in FIG. 6A only by changing the template 11-1 of FIG. 9 as shown in FIG.
[0028]
As described above, the multi-template management system according to this embodiment distributes information to a plurality of environments only by changing any one of a plurality of templates used in the one-source multi-use method. Other templates for creating content data at the time can be automatically changed as necessary. As a result, the work cost required to change the template can be reduced to 1 / N at the maximum, and the template change work is automatically performed by the system, so when distributing information to a plurality of environments. It is possible to prevent omission of template correction that may occur when all templates for creating content data are changed manually.
[0029]
In the description of the above embodiment, a template whose content data is HTML is targeted for management. However, content HTML, SMIL (Synchronized Multimedia Integration Language), BML (Broadcast Markup Language), etc. It is also possible to manage a template that generates
[0030]
Further, in the description of the embodiment, all templates generate content data in HTML format. For example, template 11-1 is content data in HTML format, template 11-2 is content data in Compact HTML format, The template 11-3 may be a management target of a template of a one-source multi-use system that generates content data in a plurality of formats, such as content data in the BML format.
[0031]
In the description of the embodiment, the template is described using XSLT. However, a template described using another format, such as JSP (Java Server Pages), may be used as a management target.
[0032]
In the above description of the embodiment, source data is text data in XML format. For example, a database using a template that can refer to a relational database table such as XDK (XML Developer's Kit) of Oracle Corporation is used. A template of a one-source multi-use system that uses the above table as source data may be managed.
[0033]
In the description of the above embodiment, the source data is one text data in XML format. For example, a plurality of text data, a plurality of database tables, or a combination of text data and a database table is used. Templates that use things as source data may be managed.
[0034]
Further, in the description of the above embodiment, as shown in FIG. 14, for the template 11-N, the template is not changed when the root node name of the subtree of the difference information is IMG. However, all the templates may be changed at once without providing such a change rule.
[0035]
In the description of the embodiment, the tree generation unit 20 generates the tree structure by extracting the tag information of the source data and content data included in the template, but generates the tree structure including other information. Also good. As an example, FIG. 20 shows a tree structure generated using all tag information included in a template.
[0036]
In the embodiment, more detailed information is included in the tree structure, so that the tree matching unit 22 can reduce a search mistake that results in an incorrect subtree in the subtree search.
[0037]
In the description of the embodiment, the difference generation means 21 and the template correction means 24 proceed based on the tree structure generated by the tree generation means 20, but the difference generation means 21 is a text file by UNIX, for example. The difference information is directly generated from the template by using a diff command or the like that is normally used when generating the difference (an example of the generation result is shown in FIG. 21). The template may be changed directly by using a patch command or the like that is standardly used when changing the file based on the difference of the text file in UNIX, similarly to the difference information generated by 21. FIG. 22 is a block diagram showing the configuration of the multi-template management system 4 at this time.
[0038]
Further, in the above embodiment, it is possible to construct a multi-multi template management system that can obtain the same effects as the multi-multi template management system shown in the configuration of FIG. 1 without the tree generation means 20 and the tree matching means 22. It becomes possible.
[0039]
In the description of the above embodiment, the template correction unit 24 changes the template based on the difference information generated by the difference generation unit 21. For example, the template correction unit 24 has the contents shown in FIG. A template to be managed may be corrected by receiving a correction instruction from the template manager. FIG. 23 is a block diagram showing the configuration of the multi-template management system 6 at this time.
[0040]
Further, in the above embodiment, even if the tree generation unit 20, the difference generation unit 21 and the tree matching unit 22 are not provided, the template manager only gives one correction instruction, similarly to the system shown in the configuration of FIG. It becomes possible to modify the templates to be managed in a batch.
[0041]
Further, as is clear from the description of the above embodiment, all processing procedures do not depend on the initial state of the template. Accordingly, the multi-template management system may be operated by setting the empty state of all the templates as an initial state to create one of the templates, or an editing instruction for creation may be sequentially given to the template correcting unit 24.
[0042]
In the embodiment, it is possible to create an initial template for a one-source multi-use system in a batch, and the work cost at that time can be reduced to 1 / N at the maximum.
[0050]
【The invention's effect】
According to the present invention, it is possible to change a template without being affected by differences in the format of each template or differences in non-essential parts such as comments, and content data creation when distributing information to multiple environments This has the effect of reducing the work cost required for changing the template and preventing omission of correction.
[Brief description of the drawings]
FIG. 1 is a block configuration diagram showing a configuration of a multi-template management system according to an embodiment of the present invention.
FIG. 2 is a diagram showing an example of source data in the multi-multi template management system according to the embodiment of the present invention.
FIG. 3 is a diagram showing an example of a template in the multi-multi template management system according to the embodiment of the present invention.
FIG. 4 is a diagram showing an example of content data in the multi-multi template management system according to the embodiment of the present invention.
FIG. 5 is a diagram showing an example of a tree structure generation result in the multi-multi template management system according to the embodiment of the present invention.
FIG. 6 is a diagram showing an example of a tree structure generation result in the multi-multi template management system according to the embodiment of the present invention.
FIG. 7 is a diagram showing an example of a tree structure generation result in the multi-multi template management system according to the embodiment of the present invention.
FIG. 8 is a diagram showing an example of adding source data in the multi-multi template management system according to the embodiment of the present invention.
FIG. 9 is a diagram showing a template change example in the multi-multi template management system according to the embodiment of the present invention.
FIG. 10 is a diagram showing a tree structure generated from a template after change in the multi-multi template management system according to the embodiment of the present invention.
FIG. 11 is a diagram showing an example of difference information in the multi-multi template management system according to the embodiment of the present invention.
FIG. 12 is a diagram showing a search result of a partial tree in the multi-multi template management system according to the embodiment of the present invention.
FIG. 13 is a diagram illustrating a search result of a partial tree in the multi-multi template management system according to the embodiment of the present invention.
FIG. 14 is a diagram showing an example of a template change rule in the multi-multi template management system according to the embodiment of the present invention.
FIG. 15 is a diagram showing a tree structure change result in the multi-multi template management system according to the embodiment of the present invention.
FIG. 16 is a diagram showing an example of a conversion procedure from a tree structure to a template in the multi-multi template management system according to the embodiment of the present invention.
FIG. 17 is a diagram illustrating a result of converting a changed part of the tree structure into a template in the multi-multi template management system according to the embodiment of the present invention.
FIG. 18 is a diagram showing a template change result in the multi-multi template management system according to the embodiment of the present invention.
FIG. 19 is a diagram showing another example of difference information in the multi-multi template management system according to the embodiment of the present invention.
FIG. 20 is a diagram showing an example of a generation result of a tree structure by another method in the multi-multi template management system according to the embodiment of the present invention.
FIG. 21 is a diagram showing an example of difference information in another format in the multi-multi template management system according to the embodiment of the present invention.
FIG. 22 is a block configuration diagram showing a configuration of a multi-multi template management system according to another embodiment of the present invention.
FIG. 23 is a block configuration diagram showing a configuration of a multi-multi template management system according to another embodiment of the present invention.
[Explanation of symbols]
10 ... Source data, 11-1 to 11 -N ... Template, 11-1 a ... Template that has been changed, 12-1 to 12-N ... Content data, 2, 4, 6 ... Multi-template Management system 20... Tree generation means 21. Difference generation means 22. Tree matching means 23 23 Change rule 24 Template correction means

Claims (10)

ソースデータから2以上のテンプレートを用いて複数のコンテンツデータを生成するマルチテンプレート管理システムであって、
前記テンプレートから木構造を生成するツリー生成手段と、
前記テンプレートのひとつが変更されたときに、前記ツリー生成手段が生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成手段と、
前記差分生成手段で生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正手段と、
を備えたことを特徴とするマルチテンプレート管理システム。
A multi-template management system that generates a plurality of content data using two or more templates from source data,
Tree generating means for generating a tree structure from the template;
Difference generation means for generating difference information from the tree structure generated by the tree generation means when one of the templates is changed, and generating difference information indicating the change contents of the template from the template before and after the change When,
The difference information of the tree structure generated by the difference generation means is received, the tree structure generated from a template other than the changed template is changed by the received difference information of the tree structure, and the changed tree structure is used as a template. A template correction means for changing a template other than the changed template for creating content data when distributing information to a plurality of environments,
A multi-template management system characterized by comprising:
前記テンプレート修正手段は、テンプレートの変更内容を規定するテンプレート修正指示を受け前記テンプレートの全てを一括して変更することを特徴とする請求項1記載のマルチテンプレート管理システム。  2. The multi-template management system according to claim 1, wherein the template correction means receives a template correction instruction that defines a template change content and changes all of the templates at once. 前記テンプレート修正手段は、テンプレートの変更内容を規定するテンプレート修正指示を受けたとき、一部の前記テンプレートのみを選択的に変更することを特徴とする請求項1記載のマルチテンプレート管理システム。  The multi-template management system according to claim 1, wherein the template correction unit selectively changes only a part of the templates when receiving a template correction instruction that defines a template change content. 前記テンプレート修正手段は、全てのテンプレートの中身が空の初期状態から、1以上のテンプレート修正指示を逐次的に受け前記テンプレートを変更していくことを特徴とする請求項1乃至3に何れか1項記載のマルチテンプレート管理システム。  4. The template correction unit according to claim 1, wherein the template correction unit sequentially receives one or more template correction instructions from an initial state in which all the templates are empty, and changes the template. The multi-template management system described in the section. 前記ツリー生成手段は、前記テンプレートに含まれる前記コンテンツデータのタグ情報と前記ソースデータのタグ情報とから木構造を生成することを特徴とする請求項1記載のマルチテンプレート管理システム。  The multi-template management system according to claim 1, wherein the tree generation unit generates a tree structure from tag information of the content data and tag information of the source data included in the template. 前記ツリー生成手段が生成した前記各テンプレートの木構造と前記差分生成手段が生成した差分情報を受け取り、前記木構造に含まれる部分木の探索を行うツリーマッチング手段とを備え、
前記テンプレート修正手段は、前記差分生成手段が生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルールと、前記差分生成手段が生成した差分情報と、前記ツリーマッチング手段が探索した部分木の対応と、前記変更ルールとを用いてテンプレートの変更作業を行うことを特徴とする請求項1または請求項5記載のマルチテンプレート管理システム。
A tree matching unit that receives the tree structure of each template generated by the tree generation unit and the difference information generated by the difference generation unit, and searches for a partial tree included in the tree structure;
The template correction means includes a change rule describing a procedure for changing a template based on the difference information generated by the difference generation means, the difference information generated by the difference generation means, and the tree matching means searches 6. The multi-template management system according to claim 1, wherein a template changing operation is performed using the correspondence of the partial tree and the change rule.
前記ソースデータから前記テンプレートを用いて生成されるコンテンツデータのコンテンツ形式が、HTML、CompactHTML、SMIL、BMLであることを特徴とする請求項1乃至6に何れか1項記載のマルチテンプレート管理システム。  The multi-template management system according to any one of claims 1 to 6, wherein a content format of content data generated from the source data using the template is HTML, CompactHTML, SMIL, or BML. ソースデータから2以上のテンプレートを用いて複数のコンテンツデータを生成する処理をコンピュータに実行させるためのマルチテンプレート管理プログラムであって、
コンピュータを、
テンプレートから木構造を生成するツリー生成処理手段と、
テンプレートのひとつが変更されたときに、前記ツリー生成処理手段で生成した木構造から差分情報を生成し、変更前と変更後の前記テンプレートからテンプレートの変更内容を示す差分情報を生成する差分生成処理手段と、
前記差分生成処理手段で生成した前記木構造の差分情報を受け取り、受け取った木構造の差分情報で前記変更されたテンプレート以外のテンプレートから生成された木構造を変更し、前記変更された木構造をテンプレートへ変換することで、複数の環境に情報を配信する際のコンテンツデータ作成のための前記変更されたテンプレート以外のテンプレートを変更するテンプレート修正処理手段として機能させることを特徴とするマルチテンプレート管理プログラム。
A multi-template management program for causing a computer to execute a process of generating a plurality of content data using two or more templates from source data,
Computer
Tree generation processing means for generating a tree structure from the template;
Difference generation processing for generating difference information from the tree structure generated by the tree generation processing means when one of the templates is changed, and generating difference information indicating the change contents of the template from the template before and after the change Means,
The difference information of the tree structure generated by the difference generation processing means is received, the tree structure generated from a template other than the changed template is changed by the received difference information of the tree structure, and the changed tree structure is A multi-template management program that functions as a template correction processing means for changing a template other than the changed template for creating content data when distributing information to a plurality of environments by converting to a template .
前記ツリー生成処理手段は、前記テンプレートに含まれる前記コンテンツデータのタグ情報と前記ソースデータのタグ情報とから木構造を生成することを特徴とする請求項記載のマルチテンプレート管理プログラム。9. The multi-template management program according to claim 8, wherein the tree generation processing unit generates a tree structure from tag information of the content data and tag information of the source data included in the template. 前記ツリー生成処理手段で生成した前記各テンプレートの木構造と前記差分生成処理手段で生成した差分情報を受け取り、前記木構造に含まれる部分木の探索を行うツリーマッチング処理手段を備え、前記テンプレート修正処理手段では、前記差分生成処理手段で生成した差分情報をもとにテンプレートを変更するための手順を記述した変更ルールと、前記差分生成処理手段で生成した差分情報と、前記ツリーマッチング処理手段で探索した部分木の対応と、前記変更ルールとを用いてテンプレートの変更作業を行うことを特徴とする請求項または記載のマルチテンプレート管理プログラム。Receiving the tree structure of each template generated by the tree generation processing means and the difference information generated by the difference generation processing means, and comprising a tree matching processing means for searching for a partial tree included in the tree structure, the template correction In the processing means, a change rule describing a procedure for changing a template based on the difference information generated by the difference generation processing means, difference information generated by the difference generation processing means, and the tree matching processing means 10. The multi-template management program according to claim 8 or 9 , wherein a template change operation is performed using the searched partial tree correspondence and the change rule.
JP2001351889A 2001-11-16 2001-11-16 Multi-template management system and multi-template management program Expired - Fee Related JP3843810B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001351889A JP3843810B2 (en) 2001-11-16 2001-11-16 Multi-template management system and multi-template management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001351889A JP3843810B2 (en) 2001-11-16 2001-11-16 Multi-template management system and multi-template management program

Publications (2)

Publication Number Publication Date
JP2003150584A JP2003150584A (en) 2003-05-23
JP3843810B2 true JP3843810B2 (en) 2006-11-08

Family

ID=19164137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001351889A Expired - Fee Related JP3843810B2 (en) 2001-11-16 2001-11-16 Multi-template management system and multi-template management program

Country Status (1)

Country Link
JP (1) JP3843810B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1607925A4 (en) * 2003-03-22 2011-01-26 Sunflare Co Ltd Interactive learning system based on template-template structure
JP4539151B2 (en) * 2003-08-29 2010-09-08 富士ゼロックス株式会社 Tree structure differential data creation device
JP4513437B2 (en) * 2004-07-13 2010-07-28 富士ゼロックス株式会社 Program and apparatus for creating tree structure information
JP7415498B2 (en) 2019-12-03 2024-01-17 富士フイルムビジネスイノベーション株式会社 Information processing device and program
CN112070479A (en) * 2020-09-03 2020-12-11 中国平安财产保险股份有限公司 Task distribution method, device, equipment and storage medium
CN115904572B (en) * 2022-10-26 2023-07-28 北京力控元通科技有限公司 Template creation method, calling method, program product, system and device

Also Published As

Publication number Publication date
JP2003150584A (en) 2003-05-23

Similar Documents

Publication Publication Date Title
US10976888B2 (en) Automatically generating column layouts in electronic documents
US10067931B2 (en) Analysis of documents using rules
US10169310B2 (en) Rich text handling for a web application
US7146565B2 (en) Structured document edit apparatus, structured document edit method, and program product
US7444643B2 (en) Accessing a ERP application over the internet using strongly typed declarative language files
US7721195B2 (en) RTF template and XSL/FO conversion: a new way to create computer reports
US7039859B1 (en) Generating visual editors from schema descriptions
US20040088653A1 (en) System and method for copying formatting information between Web pages
US20020129059A1 (en) XML auto map generator
US20130073947A1 (en) Method and Apparatus for Generating Object-Oriented World Wide Web Pages
US20020002567A1 (en) Method and system for managing documents
US20020032706A1 (en) Method and system for building internet-based applications
US20060104511A1 (en) Method, system and apparatus for generating structured document files
US9471557B2 (en) Client-side modification of electronic documents in a client-server environment
JP2006525608A (en) System and method for managing dynamic content assemblies
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US20020038349A1 (en) Method and system for reusing internet-based applications
US20040268249A1 (en) Document transformation
US20020035580A1 (en) Computer readable medium containing HTML document generation program
US20040103370A1 (en) System and method for rendering MFS XML documents for display
JPWO2012141183A1 (en) Content providing device for various terminal devices
CN109656951A (en) Method and inquiry system based on expression formula inquiry data
US20030159105A1 (en) Interpretive transformation system and method
JP3843810B2 (en) Multi-template management system and multi-template management program
WO2001048630A9 (en) Client-server data communication system and method for data transfer between a server and different clients

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060608

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060608

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060718

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060807

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090825

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100825

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110825

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110825

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120825

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130825

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees