(57)【要約】  【課題】  Ｗｅｂサイト内の特定のＷｅｂページ群に閉じた分かりやすいナビゲーションを生成する。  【解決手段】  Ｗｅｂサイトの木構造の情報を記憶するサイト構造記憶手段１１と、特定のＷｅｂページをナビゲーションルートに設定するナビゲーションルート設定手段１２と、Ｗｅｂページの情報を記憶するページ記憶手段１３と、レベル指定を含むナビゲーションタグをＷｅｂページに挿入するナビゲーションタグ挿入手段１４と、ナビゲーションルートとレベル指定とに基づいてナビゲーションに含めるページを選択するページ選択手段１５と、選択されたページの構造情報を生成する構造情報生成手段１６と、ナビゲーションのテンプレートを記憶するテンプレート記憶手段１７と、構造情報とテンプレートとに基づいてナビゲーションを生成するナビゲーション生成手段１８とを備えた。  【選択図】  図1
2005056028.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサイトの木構造の一部をなす所定の部分木に含まれる少なくとも１つのＷｅｂページを選択するページ選択手段と、
前記ページ選択手段により選択された前記Ｗｅｂページへのリンクと、当該Ｗｅｂページの前記所定の部分木における位置を示す情報とを含むナビゲーションを生成するナビゲーション生成手段と
を備えたことを特徴とするナビゲーション生成装置。
【請求項２】
前記ページ選択手段は、前記ナビゲーションを表示するＷｅｂページを含む部分木のうち、そのルートの前記Ｗｅｂサイトにおけるレベルが最も下位である部分木を、前記所定の部分木とすることを特徴とする請求項１記載のナビゲーション生成装置。
【請求項３】
前記ページ選択手段は、所定のＷｅｂページをルートとする部分木に含まれ、かつ、指定されたレベルにある少なくとも１つのＷｅｂページを選択することを特徴とする請求項１記載のナビゲーション生成装置。
【請求項４】
前記ナビゲーション生成手段は、部分木における位置に応じたスタイルを定義したテンプレートを用いて、選択された前記Ｗｅｂページへのリンクのスタイルを、当該Ｗｅｂページの前記所定の部分木における位置に応じたスタイルとした前記ナビゲーションを生成することを特徴とする請求項１記載のナビゲーション生成装置。
【請求項５】
前記ナビゲーション生成手段は、前記テンプレートにおける所定の記述を、選択された前記Ｗｅｂページへのリンクを形成するためのリンク情報によって置き換えることにより、前記ナビゲーションを生成することを特徴とする請求項４記載のナビゲーション生成装置。
【請求項６】
Ｗｅｂサイトに含まれる特定のＷｅｂページの指定を受け付ける受付手段と、
前記受付手段が指定を受け付けた前記特定のＷｅｂページをルートとする部分木に含まれる少なくとも１つのＷｅｂページへのリンクを含むナビゲーションを生成するための設定を行う設定手段と
を備えたことを特徴とする情報管理装置。
【請求項７】
前記Ｗｅｂサイトに含まれる複数のＷｅｂページをそれぞれ表す複数の要素からなるサイト構造情報を記憶するサイト構造記憶手段を更に備え、
前記設定手段は、前記サイト構造記憶手段に記憶された前記サイト構造情報に含まれる前記複数の要素のうち、前記受付手段が指定を受け付けた前記特定のＷｅｂページを表す要素に対し、前記設定を行うことを特徴とする請求項６記載の情報管理装置。
【請求項８】
前記Ｗｅｂサイトに含まれる複数のＷｅｂページをそれぞれ表す複数の要素を表示するサイト構造表示手段を更に備え、
前記設定手段は、前記サイト構造表示手段により表示された前記複数の要素のうち、前記受付手段が指定を受け付けた前記特定のＷｅｂページを表す要素と関連付けて、前記設定が行われたことを示す情報を表示することを特徴とする請求項６記載の情報管理装置。
【請求項９】
所定の記憶装置に記憶されたＷｅｂサイトの木構造の情報に基づき、当該木構造の一部をなす所定の部分木に含まれる少なくとも１つのＷｅｂページを選択するステップと、
選択された前記Ｗｅｂページへのリンクと、当該Ｗｅｂページの前記所定の部分木における位置を示す情報とを含むナビゲーションを所定の記憶装置に出力するステップと
を含むことを特徴とするナビゲーション生成方法。
【請求項１０】
前記ナビゲーションを出力するステップでは、部分木における位置に応じたスタイルを定義したテンプレートを用いて、選択された前記Ｗｅｂページへのリンクのスタイルを、当該Ｗｅｂページの前記所定の部分木における位置に応じたスタイルとした前記ナビゲーションを出力することを特徴とする請求項９記載のナビゲーション生成方法。
【請求項１１】
前記ナビゲーションを出力するステップでは、前記テンプレートにおける所定の記述を、選択された前記Ｗｅｂページへのリンクを形成するためのリンク情報によって置き換えることにより、前記ナビゲーションを生成することを特徴とする請求項１０記載のナビゲーション生成方法。
【請求項１２】
Ｗｅｂサイトに含まれる特定のＷｅｂページの指定を受け付けるステップと、
指定された前記特定のＷｅｂページをルートとする部分木に含まれる少なくとも１つのＷｅｂページへのリンクを含むナビゲーションを生成するための設定を、所定の記憶装置に記憶された前記Ｗｅｂサイトの木構造の情報に対して行うステップと
を含むことを特徴とするサイト構造管理方法。
【請求項１３】
前記設定を行うステップでは、前記Ｗｅｂサイトの木構造の情報に含まれる複数のＷｅｂページをそれぞれ表す複数の要素のうち、指定された前記特定のＷｅｂページを表す要素に対し、前記設定を行うことを特徴とする請求項１２記載のサイト構造管理方法。
【請求項１４】
前記Ｗｅｂサイトに含まれる複数のＷｅｂページをそれぞれ表す複数の要素を表示するステップを更に含み、
前記設定を行うステップでは、表示された前記複数の要素のうち、指定された前記特定のＷｅｂページを表す要素と関連付けて、前記設定が行われたことを示す情報を表示することを特徴とする請求項１２記載のサイト構造管理方法。
【請求項１５】
コンピュータに、
Ｗｅｂサイトの木構造の一部をなす所定の部分木に含まれる少なくとも１つのＷｅｂページを選択する機能と、
選択された前記Ｗｅｂページへのリンクと、当該Ｗｅｂページの前記所定の部分木における位置を示す情報とを含むナビゲーションを生成する機能と
を実現させるためのプログラム。
【請求項１６】
前記選択する機能では、前記ナビゲーションを表示するＷｅｂページを含む部分木のうち、そのルートの前記Ｗｅｂサイトにおけるレベルが最も下位である部分木を、前記所定の部分木とすることを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記選択する機能では、所定のＷｅｂページをルートとする部分木に含まれ、かつ、指定されたレベルにある少なくとも１つのＷｅｂページを選択することを特徴とする請求項１５記載のプログラム。
【請求項１８】
前記ナビゲーションを生成する機能では、部分木における位置に応じたスタイルを定義したテンプレートを用いて、選択された前記Ｗｅｂページへのリンクのスタイルを、当該Ｗｅｂページの前記所定の部分木における位置に応じたスタイルとした前記ナビゲーションを生成することを特徴とする請求項１５記載のプログラム。
【請求項１９】
前記ナビゲーションを生成する機能では、前記テンプレートにおける所定の記述を、選択された前記Ｗｅｂページへのリンクを形成するためのリンク情報によって置き換えることにより、前記ナビゲーションを生成することを特徴とする請求項１８記載のプログラム。
【請求項２０】
コンピュータに、
選択された前記Ｗｅｂページへのリンクを形成するためのリンク情報と当該Ｗｅｂページの属性を示す属性情報との対応を、所定の順序に並べたリスト構造の構造情報を生成する機能を更に実現させ、
前記ナビゲーションを生成する機能では、前記構造情報に含まれる各属性情報に対して定義された前記テンプレートの部分を、当該部分における所定の記述を前記構造情報に含まれる対応するリンク情報によって置き換えた上で前記所定の順序で並べることにより、前記ナビゲーションを生成することを特徴とする請求項１８記載のプログラム。
【請求項２１】
前記構造情報を生成する機能では、前記リンク情報と前記属性情報との対応を、外部から指定された順序に並べることにより、前記リスト構造の構造情報を生成することを特徴とする請求項２０記載のプログラム。
【請求項２２】
コンピュータに、
選択された前記Ｗｅｂページへのリンクを形成するためのリンク情報を、前記所定の部分木における当該各Ｗｅｂページの位置に応じて配置した木構造の構造情報を生成する機能を更に実現させ、
前記ナビゲーションを生成する機能では、前記構造情報における各Ｗｅｂページの位置に対して定義された前記テンプレートの部分を、当該部分における所定の記述を前記構造情報に含まれる対応するリンク情報によって置き換えた上で当該各Ｗｅｂページの位置に応じて配置することにより、前記ナビゲーションを生成することを特徴とする請求項１８記載のプログラム。
【請求項２３】
コンピュータに、
Ｗｅｂサイトに含まれる特定のＷｅｂページの指定を受け付ける機能と、
指定された前記特定のＷｅｂページをルートとする部分木に含まれる少なくとも１つのＷｅｂページへのリンクを含むナビゲーションを生成するための設定を行う機能と
を実現させるためのプログラム。
【請求項２４】
前記設定を行う機能では、前記Ｗｅｂサイトの木構造の情報に含まれる複数のＷｅｂページをそれぞれ表す複数の要素のうち、指定された前記特定のＷｅｂページを表す要素に対し、前記設定を行うことを特徴とする請求項２３記載のプログラム。
【請求項２５】
前記設定を行う機能では、前記Ｗｅｂサイトの木構造を編集するための編集プログラムにより表示された複数のＷｅｂページをそれぞれ表す複数の要素のうち、指定された前記特定のＷｅｂページを表す要素と関連付けて、前記設定が行われたことを示す情報を表示する旨を、当該編集プログラムに指示することを特徴とする請求項２３記載のプログラム。
【請求項２６】
コンピュータに、
Ｗｅｂサイトの木構造を、当該Ｗｅｂサイトに含まれる各Ｗｅｂページの区別ができる形式で表示する機能と、
前記Ｗｅｂサイトに含まれるどのＷｅｂページがナビゲーションのルートに設定されているかが分かる形式で、当該ナビゲーションのルートに設定されていることを示す情報を表示する機能と
を実現させるためのプログラム。
【請求項２７】
前記Ｗｅｂサイトの木構造を表示する機能では、前記Ｗｅｂサイトに含まれる複数のＷｅｂページをそれぞれ表す複数の要素を表示し、
前記ナビゲーションのルートに設定されていることを示す情報を表示する機能では、当該ナビゲーションのルートに設定されているＷｅｂページを表す要素の中に、当該情報を表示することを特徴とする請求項２６記載のプログラム。
【請求項２８】
Ｗｅｂサイトに含まれる複数のＷｅｂページをそれぞれ表す複数の要素からなるサイト構造データであって、
当該Ｗｅｂサイトに含まれる特定のＷｅｂページをルートとする部分木に含まれる少なくとも１つのＷｅｂページへのリンクをナビゲーションに含めるための設定が、当該特定のＷｅｂページを表す要素に対してなされたことを特徴とするサイト構造データ。
【請求項２９】
前記サイト構造データは、前記複数のＷｅｂページの情報をそれぞれ記述した前記複数の要素からなり、前記特定のＷｅｂページの情報を記述した要素に対し、前記設定を示す記述が追加されたことを特徴とする請求項２８記載のサイト構造データ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂページに表示するナビゲーションを自動生成するナビゲーション生成装置等に係り、より詳しくは、Ｗｅｂサイトの木構造の一部をなす部分木に含まれるＷｅｂページへのリンクを含むナビゲーションを生成するナビゲーション生成装置等に関する。ここで、「ナビゲーション」とは、目的とするＷｅｂページへの移動や現在閲覧しているＷｅｂページのＷｅｂサイト内での位置の把握を容易に行えるようにする等のためにＷｅｂページ上に表示される、他のＷｅｂページへのハイパーリンク(以下、「リンク」という)等を含む情報の集まりのことをいう。
【背景技術】
【０００２】
現在、インターネット上には、多数のＷｅｂサイトが存在する。Ｗｅｂサイトとしては、商用のものから私用のものまで様々なものがあるが、特に、商用のＷｅｂサイトにおいては、ユーザビリティについて工夫したＷｅｂページが多く見られる。このような工夫として、従来より、Ｗｅｂページにナビゲーションを表示することが行われていた(例えば、特許文献１参照。)。
また、既存のＷｅｂページ作成支援ソフトウェアの中には、Ｗｅｂページに表示するナビゲーションの作成を支援するものもある。かかるソフトウェアにおいては、ナビゲーションに含めるリンクを選択するための方法として、Ｗｅｂサイトに含まれる全てのＷｅｂページへのリンクを選択する第１の方法と、ナビゲーションを表示するＷｅｂページとの相対的な関係(親ページ、子ページ等)で指定されたＷｅｂページへのリンクを選択する第２の方法とがあった。
【０００３】
【特許文献１】特開平１０−１４９３７２号公報(第３頁、図２−４)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の技術のうち、特許文献１では、Ｗｅｂページに表示するナビゲーションを作成することについては述べられていない。
かかるナビゲーションの作成は、既存のソフトウェアを用いれば比較的簡単に行うことはできる。しかしながら、大規模なＷｅｂサイトになると、満足のいくナビゲーションを作成することが困難になるという問題点があった。
即ち、大規模なＷｅｂサイトでは、トップページこそ共通するものの、１つのＷｅｂサイトの中に、例えば、製品Ａに関するＷｅｂページ群と製品Ｂに関するＷｅｂページ群のように異なるテーマを持つ複数のＷｅｂページ群が含まれる場合がある。このようなＷｅｂサイトについてのナビゲーションを生成する場合、既存ソフトウェアにおける第１の方法では、全てのＷｅｂページ上のナビゲーションに、製品Ａに関するＷｅｂページへのリンクおよび製品Ｂに関するＷｅｂページへのリンクが含まれることになってしまう。本来、製品Ａに関するＷｅｂページ上のナビゲーションには製品Ｂに関するＷｅｂページへのリンクは含めたくなく、製品Ｂに関するＷｅｂページ上のナビゲーションには製品Ａに関するＷｅｂページへのリンクは含めたくないという要望があるのであるが、第１の方法では、そのような要望に応えたナビゲーションを生成することができない。
【０００５】
なお、既存のソフトウェアにおける第２の方法であれば、このような要望に応えることは一応可能ではある。
しかしながら、第２の方法を用いた場合、以下に述べるような別の問題が生じてしまう。
即ち、相対的な関係に応じてスタイルを定義したテンプレートを用いてナビゲーションを生成すると、同じＷｅｂページへのリンクであってもナビゲーションが表示されるＷｅｂページによって異なるスタイルで表示されてしまうということである。
例えば、ナビゲーションを表示するＷｅｂページの親ページへのリンクはスタイルＡで、ナビゲーションを表示するＷｅｂページ自身またはその兄弟ページへのリンクはスタイルＢで、ナビゲーションを表示するＷｅｂページの子ページへのリンクはスタイルＣで表示することが定義されていたとする。また、あるＷｅｂサイトにおいて、「１．ｈｔｍ」の子ページが「２．ｈｔｍ」であり、その子ページが「３．ｈｔｍ」であり、その子ページが「４．ｈｔｍ」であり、その子ページが「５．ｈｔｍ」であったとする。この場合、「２．ｈｔｍ」、「３．ｈｔｍ」、「４．ｈｔｍ」にナビゲーションを作成したとすると、「３．ｈｔｍ」へのリンクは、「２．ｈｔｍ」上のナビゲーションではスタイルＣで表示され、「３．ｈｔｍ」上のナビゲーションではスタイルＢで表示され、「４．ｈｔｍ」上のナビゲーションではスタイルＡで表示されることになってしまう。つまり、同じ「３．ｈｔｍ」へのリンクであるにもかかわらず、ナビゲーションが表示されるＷｅｂページによって表示されるスタイルが異なることとなってしまい、これも、各Ｗｅｂページを行き来するユーザにとって分かりやすいナビゲーションを生成したいという要望に応えることになっていない。
【０００６】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、Ｗｅｂサイト内の特定のＷｅｂページ群に閉じた分かりやすいナビゲーションを生成できるようにすることにある。
【課題を解決するための手段】
【０００７】
かかる目的のもと、本発明は、Ｗｅｂサイト内の特定のＷｅｂページ群に含まれるＷｅｂページへのリンクのみを含み、かつ、そのＷｅｂページのそのＷｅｂページ群における位置が分かるようにしている。即ち、本発明のナビゲーション生成装置は、Ｗｅｂサイトの木構造の一部をなす所定の部分木に含まれる少なくとも１つのＷｅｂページを選択するページ選択手段と、このページ選択手段により選択されたＷｅｂページへのリンクと、そのＷｅｂページの所定の部分木における位置を示す情報とを含むナビゲーションを生成するナビゲーション生成手段とを備えている。また、ナビゲーション生成手段は、部分木における位置に応じたスタイルを定義したテンプレートを用いて、選択されたＷｅｂページへのリンクのスタイルを、そのＷｅｂページの所定の部分木における位置に応じたスタイルとしたナビゲーションを生成することを特徴とする。
また、本発明は、ナビゲーションを生成するための設定を行う情報管理装置として捉えることもできる。その場合、本発明の情報管理装置は、Ｗｅｂサイトに含まれる特定のＷｅｂページの指定を受け付ける受付手段と、この受付手段が指定を受け付けた特定のＷｅｂページをルートとする部分木に含まれる少なくとも１つのＷｅｂページへのリンクを含むナビゲーションを生成するための設定を行う設定手段とを備えている。
【０００８】
更に、本発明は、ナビゲーション生成装置における方法として捉えることもできる。その場合、本発明のナビゲーション生成方法は、所定の記憶装置に記憶されたＷｅｂサイトの木構造の情報に基づき、その木構造の一部をなす所定の部分木に含まれる少なくとも１つのＷｅｂページを選択するステップと、選択されたＷｅｂページへのリンクと、そのＷｅｂページの所定の部分木における位置を示す情報とを含むナビゲーションを所定の記憶装置に出力するステップとを含んでいる。また、ナビゲーションを出力するステップでは、部分木における位置に応じたスタイルを定義したテンプレートを用いて、選択されたＷｅｂページへのリンクのスタイルを、そのＷｅｂページの所定の部分木における位置に応じたスタイルとしたナビゲーションを出力することを特徴とする。
更にまた、本発明は、ナビゲーションを生成するための設定を行う情報管理装置における方法として捉えることもできる。その場合、本発明のサイト構造管理方法は、Ｗｅｂサイトに含まれる特定のＷｅｂページの指定を受け付けるステップと、指定された特定のＷｅｂページをルートとする部分木に含まれる少なくとも１つのＷｅｂページへのリンクを含むナビゲーションを生成するための設定を、所定の記憶装置に記憶されたＷｅｂサイトの木構造の情報に対して行うステップとを含んでいる。
【０００９】
一方、本発明は、コンピュータにナビゲーションを生成する機能を実現させるためのコンピュータプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、Ｗｅｂサイトの木構造の一部をなす所定の部分木に含まれる少なくとも１つのＷｅｂページを選択する機能と、選択されたＷｅｂページへのリンクと、そのＷｅｂページの所定の部分木における位置を示す情報とを含むナビゲーションを生成する機能とを実現させる。また、ナビゲーションを生成する機能では、部分木における位置に応じたスタイルを定義したテンプレートを用いて、選択されたＷｅｂページへのリンクのスタイルを、そのＷｅｂページの所定の部分木における位置に応じたスタイルとしたナビゲーションを生成することを特徴とする。
更に、本発明は、コンピュータにナビゲーションを生成するための設定を行う機能を実現させるためのコンピュータプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、Ｗｅｂサイトに含まれる特定のＷｅｂページの指定を受け付ける機能と、指定された特定のＷｅｂページをルートとする部分木に含まれる少なくとも１つのＷｅｂページへのリンクを含むナビゲーションを生成するための設定を行う機能とを実現させる。
【発明の効果】
【００１０】
本発明によれば、Ｗｅｂサイト内の特定のＷｅｂページ群に閉じた分かりやすいナビゲーションを生成することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。なお、以下の説明では、「Ｗｅｂページ」を単に「ページ」と称する。
まず、本実施の形態におけるナビゲーション生成装置の構成について説明する。
図１は、本実施の形態におけるナビゲーション生成装置の全体構成を示した図である。
図１に示すように、このナビゲーション生成装置は、サイト構造記憶手段１１と、ナビゲーションルート設定手段１２と、ページ記憶手段１３と、ナビゲーションタグ挿入手段１４と、ページ選択手段１５と、構造情報生成手段１６と、テンプレート記憶手段１７と、ナビゲーション生成手段１８とを備えている。
【００１２】
サイト構造記憶手段１１は、Ｗｅｂサイトのサイト構造を表す情報(以下、「サイト構造情報」という)を記憶する手段である。Ｗｅｂサイトは、通常、トップページを根(ルート)、末端のページを葉(リーフ)、ルートからリーフに行き着くまでに辿るページを節(ノード)とする木構造をなしているので、サイト構造情報は、木構造を表すのに適した方法で表現される。
なお、本実施の形態では、Ｗｅｂサイトに含まれる各ページに対し、レベルを定義する（以下、このレベルを「サイト構造におけるレベル」という）。具体的には、トップページのレベルを１とし、トップページの子ページのレベルを２とし、トップページの子ページの子ページのレベルを３とし、レベルを表す数値は、ルートからリーフに向かうに従って大きくなるように定義する。
【００１３】
ナビゲーションルート設定手段１２は、サイト構造記憶手段１１に記憶されたサイト構造情報に含まれる特定のページをナビゲーションルートに設定する手段である。より詳しく言えば、特定のページの指定を受け付ける受付手段と、その特定のページをナビゲーションルートに設定する設定手段とを含む。なお、設定手段による設定は、ナビゲーションルートとして設定する場合に限らず、特定のページをルートとする部分木に含まれるページへのリンクを含むナビゲーションを生成するための設定と捉えることも可能である。
ここで、「ナビゲーションルート」とは、ナビゲーションの基点となるページのことである。Ｗｅｂサイトの木構造は、通常、幾つかの小さな部分木に分けることができるが、あるページがナビゲーションルートに設定されると、そのページをルートとする特定の部分木を構成する各ページがナビゲーションに含まれることになる。
なお、本実施の形態では、ナビゲーションに含まれる各ページに対しても、レベルを定義する（以下、このレベルを「ナビゲーションにおけるレベル」という）。具体的には、ナビゲーションルートのレベルを１とし、ナビゲーションルートの子ページのレベルを２とし、ナビゲーションルートの子ページの子ページのレベルを３とし、レベルを表す数値は、ナビゲーションルートからリーフに向かうに従って大きくなるように定義する。
【００１４】
ページ記憶手段１３は、Ｗｅｂサイトに含まれる各ページの記述(ＨＴＭＬファイル等)を記憶する手段である。
ナビゲーションタグ挿入手段１４は、ページ記憶手段１３に記憶されたページ記述にナビゲーションタグを挿入する手段である。
ページ選択手段１５は、サイト構造記憶手段１１に記憶されたサイト構造情報に含まれるページの中から、ナビゲーションに含めるページを選択する手段である。
構造情報生成手段１６は、ページ選択手段１５により選択されたページのラベルおよびパス、他のページとの関係等を含む構造情報を生成する手段である。
テンプレート記憶手段１７は、ナビゲーションのスタイルを定義したテンプレートを記憶する手段である。なお、テンプレートは、アプリケーションプログラムが提供したものを用いることもできるし、ユーザが独自に作成したものを用いることもできる。
ナビゲーション生成手段１８は、構造情報生成手段１６により生成された構造情報と、テンプレート記憶手段１７に記憶されたテンプレートとに基づき、ナビゲーションを生成する手段である。
【００１５】
なお、本実施の形態におけるナビゲーション生成装置のハードウェア構成としては、一般的なコンピュータシステムと同様のものを採用することができる。即ち、中央処理装置(ＣＰＵ)と、メインメモリとを含み、これらがバスを介して補助記憶装置と接続されたようなものであればよい。ここで、補助記憶装置としては、ハードディスク、フレキシブルディスク、ＭＯ(Magneto Optical disk)、ＣＤ−ＲＯＭ等が想定される。
補助記憶装置には、本実施の形態を実現するためのコンピュータプログラムが記憶され、中央処理装置(ＣＰＵ)がこのコンピュータプログラムをメインメモリに読み込んで実行することにより、ナビゲーションルート設定手段１２、ナビゲーションタグ挿入手段１４、ページ選択手段１５、構造情報生成手段１６、ナビゲーション生成手段１８の各手段が実現される。また、サイト構造記憶手段１１、ページ記憶手段１３、テンプレート記憶手段１７の各手段における記憶領域への入出力を制御する機能についても、同様の動作により実現されることとしてよい。
また、サイト構造記憶手段１１、ページ記憶手段１３、テンプレート記憶手段１７の各手段における記憶領域としての機能は、補助記憶装置を用いて実現してもよいし、メインメモリを用いて実現してもよい。また、これらの記憶手段に記憶された各データは、インターネット等の通信回線を介してダウンロードされたものであってもよい。
【００１６】
更に、ナビゲーション生成装置には、キーボードやポインティングデバイス等の入力装置が接続されていてもよいし、ディスプレイ等の出力装置が接続されていてもよい。更にまた、入力装置、出力装置として機能する端末装置が、ナビゲーション生成装置とは別に設けられ、これらの装置間が通信回線を介して接続された構成であってもよい。
なお、このいずれの構成においても、図１には示していないが、入力装置および出力装置に対するユーザインターフェースを実現する機能が必要となる。例えば、Ｗｅｂサイトの木構造をそのＷｅｂサイトに含まれる各ページの区別ができる形式で表示する機能、Ｗｅｂサイトに含まれるどのページがナビゲーションルートに設定されているかが分かる形式でその旨の情報を表示する機能等である。
【００１７】
次に、本実施の形態におけるナビゲーション生成装置の動作について説明する。
図２は、ナビゲーション生成装置に対するユーザの操作の流れを示したフローチャートである。
まず、ユーザは、サイト構造を作成し、そのサイト構造を表すサイト構造情報をサイト構造記憶手段１１に記憶する(ステップ２０１)。次に、ナビゲーションルート設定手段１２を用いて、サイト構造記憶手段１１に記憶されたサイト構造情報に含まれる特定のページをナビゲーションルートに設定する(ステップ２０２)。
一方、この時、ページ記憶手段１３には、サイト構造記憶手段１１に記憶されたサイト構造情報に含まれる各ページのページ記述が記憶されているものとする。なお、これらのページ記述は、サイト構造の作成と同時に設けられてもよいし、サイト構造の作成の前後の任意のタイミングで設けられてもよい。これらの準備が整うと、ユーザは、ページに表示するナビゲーションを作成する操作を行う。
【００１８】
まず、ユーザは、ページ記憶手段１３に記憶されたページのうちの１つに着目する。即ち、ページのインデックスを「ｉ」で表すと、ｉがサイト構造情報に含まれるページ数以下であるかどうかを判断する(ステップ２０３)。
ここで、ｉがページ数以下でない場合、処理は終了するが、ｉがページ数以下である場合、ユーザは、そのページにナビゲーションを挿入するかどうか判断する(ステップ２０４)。そのページがナビゲーションを挿入したいページである場合、ユーザは、ナビゲーションタグ挿入手段１４を用いて、ナビゲーションタグをページに挿入し(ステップ２０５)、その後、ナビゲーションの自動作成を指示する(ステップ２０６)。
また、そのページがナビゲーションを挿入したいページでなかった場合、または、ナビゲーションの自動作成が終了した場合、ユーザは、ページ記憶手段１３に記憶された次のページに着目し、上記と同様の処理を行う。即ち、ｉに１を加算し(ステップ２０７)、ステップ２０３に戻り、ｉがサイト構造情報に含まれるページ数以下であれば、ステップ２０４〜２０６の処理を繰り返す。
本実施の形態におけるユーザの操作の流れは以上の通りである。
以下、図２に示したユーザの操作により起動されるソフトウェアの処理動作のうち、本実施の形態に特有のものについて、更に詳しく説明する。
【００１９】
まず、図２のステップ２０２におけるナビゲーションルートの設定処理について、詳細に説明する。
図３は、ナビゲーションルート設定手段１２によるナビゲーションルートの設定処理の動作を示したフローチャートである。
サイト構造記憶手段１１に記憶されたサイト構造情報の特定のページをナビゲーションルートに設定する指示があると、ナビゲーションルート設定手段１２は、まず、その対象となっているページを特定する(ステップ３０１)。次に、ナビゲーションルート設定手段１２は、サイト構造記憶手段１１に記憶されたサイト構造情報を読み出し、読み出されたサイト構造情報におけるそのページのノードの属性として、そのページがナビゲーションルートであることを示す情報を付加する(ステップ３０２)。最後に、ナビゲーションルート設定手段１２は、指定されたページをナビゲーションルートに設定したことを示す情報を出力する(ステップ３０３)。
以上により、ナビゲーションルート設定手段１２によるナビゲーションルートの設定処理は終了する。
【００２０】
次に、図２のステップ２０５におけるナビゲーションタグの挿入処理について、詳細に説明する。
図４は、ナビゲーションタグ挿入手段１４によるナビゲーションタグの挿入処理の動作を示したフローチャートである。
ナビゲーションタグ挿入手段１４は、まず、ページ記憶手段１３に記憶されたページのうち、ナビゲーションを挿入するページを読み込み、保持しておく。そして、ナビゲーションの作成の際に用いるテンプレートの選択を受け付ける(ステップ４０１)。また、ナビゲーションに含めるページを選択するための情報、例えば、ページのレベルの範囲を示す開始レベル・終了レベルの指定を受け付ける(ステップ４０２)。そして、ナビゲーションタグ挿入手段１４は、先に読み込んでおいたページに対し、選択されたテンプレートを示す情報と、ページを選択するためのページ選択情報とを含むナビゲーションタグを書き込む(ステップ４０３)。最後に、ナビゲーションタグ挿入手段１４は、ナビゲーションタグを挿入したことを示す情報を出力する(ステップ４０４)。
以上により、ナビゲーションタグ挿入手段１４によるナビゲーションタグの挿入処理は終了する。この後、ユーザが、ページの保存を要求したり、ナビゲーションの自動生成を明示的に要求したりしたタイミングで、ページ選択手段１５に制御が移るが、その際、ナビゲーションタグ挿入手段１４からページ選択手段１５へ、ナビゲーションタグが挿入されたページが受け渡される。
【００２１】
次に、図２のステップ２０６におけるナビゲーションの自動生成処理について、詳細に説明する。
図５は、ページ選択手段１５、構造情報生成手段１６、および、ナビゲーション生成手段１８によるナビゲーションの自動生成処理の動作を示したフローチャートである。
ページ選択手段１５は、まず、サイト構造記憶手段１１に記憶されたサイト構造情報を読み込み、保持しておく。そして、読み込んだサイト構造情報の中で、現在ナビゲーションを挿入しようとしているページ(以下、「現在ページ」という)の位置を特定する(ステップ５０１)。次に、ページ選択手段１５は、そのページがトップページであるかどうかを判定する(ステップ５０２)。そのページがトップページである場合は、処理はステップ５０５に進むが、トップページでない場合は、そのページがナビゲーションルートであるかどうかを判定する(ステップ５０３)。ここで、そのページがナビゲーションルートである場合は、処理はステップ５０５に進むが、ナビゲーションルートでない場合は、そのページの親のページの情報を取得し(ステップ５０４)、ステップ５０２に戻る。そして、同様の処理をナビゲーションルートまたはトップページに辿りつくまで行う。
一方、ナビゲーションルートまたはトップページに辿り着いた場合、ページ選択手段１５は、そのページのナビゲーションにおけるレベルを１とする(ステップ５０５)。
【００２２】
次に、ページ選択手段１５は、ナビゲーションタグ挿入手段１４から受け渡されたページを参照し、その中に書き込まれたナビゲーションタグからページ選択情報を取得する(ステップ５０６)。そして、ステップ５０５においてナビゲーションのレベル１に設定されたページの情報と、このページ選択情報と、先に読み込んでおいたサイト構造情報とに基づき、ナビゲーションに含めるページを選択する(ステップ５０７)。例えば、ページ選択情報が、ページのレベルの範囲を示すものであった場合は、ナビゲーションルートを基点としてそのレベルの範囲に対応するページを選択する。
以上により、ページ選択手段１５による処理は終了し、構造情報生成手段１６に制御が移る。なお、その際、ページ選択手段１５から構造情報生成手段１６へ、選択されたページを特定するための識別情報と、ナビゲーションタグが挿入されたページと、サイト構造情報とが受け渡される。
【００２３】
次に、構造情報生成手段１６は、ページ選択手段１５より受け渡されたサイト構造情報の中から、ページ選択手段１５より受け渡された識別情報に対応するページの部分を抽出し、ナビゲーションの構造情報を生成する(ステップ５０８)。構造情報には、選択されたページのラベルおよびパス、他のページとの関係等の情報が含まれる。
この処理が終了すると、ナビゲーション生成手段１８に制御が移る。なお、その際、構造情報生成手段１６からナビゲーション生成手段１８へ、構造情報と、ナビゲーションタグが挿入されたページとが受け渡される。
【００２４】
最後に、ナビゲーション生成手段１８は、構造情報生成手段１６から受け渡された構造情報と、テンプレート記憶手段１７に記憶されたテンプレートとに基づき、ナビゲーションを生成する(ステップ５０９)。そして、構造情報生成手段１６から受け渡されたページにナビゲーションの記述を挿入し、ページ記憶手段１３に書き戻す。
以上により、ナビゲーションの自動生成処理は終了する。
【００２５】
以下、本実施の形態の動作について、具体例を用いて詳細に説明する。
本具体例では、サイトエディタ上で、図６に示すようなサイト構造が作成されているとする(ステップ２０１)。これに対するサイト構造情報は、例えば、ＸＭＬにより記述され、図７に示すようなものとなる。即ち、図７のようなサイト構造情報がサイト構造記憶手段１１に記憶されている。
このようなサイト構造情報に対し、ナビゲーションルート設定手段１２がナビゲーションルートを設定する処理を具体的に説明する。
【００２６】
図８に示すように、「newpage2」をナビゲーションルートに設定する場合、ナビゲーションルート設定手段１２は、ナビゲーションルートに設定するページとして「newpage2」を特定する(ステップ３０１)。そして、図９に示すように、サイト構造情報の「newpage2」の記述に、「newpage2」がナビゲーションルートであることを示す記述を追加する(ステップ３０２)。具体的には、「newpage2」に対応する<page>タグの中に、「navroot="true"」という記述を書き込む。また、ナビゲーションルート設定手段１２は、図８に示すように、サイトエディタ上に表示されたサイト構造における「newpage2」を表すオブジェクト内に、「newpage2」がナビゲーションルートに設定されたことを示すアイコンを表示する(ステップ３０３)。
【００２７】
更に、図１０に示すように、「newpage3」をナビゲーションルートに設定する場合、ナビゲーションルート設定手段１２は、ナビゲーションルートに設定するページとして「newpage3」を特定する(ステップ３０１)。そして、図１１に示すように、サイト構造情報の「newpage3」の記述に、「newpage3」がナビゲーションルートであることを示す記述を追加する(ステップ３０２)。具体的には、「newpage3」に対応する<page>タグの中に、「navroot="true"」という記述を書き込む。また、ナビゲーションルート設定手段１２は、図１０に示すように、サイトエディタ上に表示されたサイト構造における「newpage3」を表すオブジェクト内に、「newpage3」がナビゲーションルートに設定されたことを示すアイコンを表示する(ステップ３０３)。
【００２８】
次に、ナビゲーションタグ挿入手段１４がページにナビゲーションタグを挿入する処理について、具体的に説明する。なお、ここでは、「newpage2」にナビゲーションタグを挿入するものとする。
まず、「newpage2」に対応するＨＴＭＬファイル「newpage2.html」が読み込まれ、エディタには、図１２に示すような画面が表示されている。図１２では、「newpage2.html」の編集領域に何も記述されていないが、何らかのテキストを記述した後に以降の操作を行うようにしてもよい。
図１２において、例えば、メニューバーの「Insert」からナビゲーションの挿入を指示することで、制御はナビゲーションタグ挿入手段１４に渡され、ナビゲーションタグ挿入手段１４が、図１３に示すようなナビゲーションタグ挿入ダイアログを表示する。
【００２９】
図１３のナビゲーションタグ挿入ダイアログにおいては、「Site Map Type」欄で、ナビゲーションのテンプレートとして、サンプルのものを用いるか、ユーザ定義のものを用いるかを指定することができる。そこで、ユーザが、図１３に示すように、ユーザ定義のテンプレートを用いることを指定すると、「Thumbnail」欄に、選択可能なテンプレートが表示される。ここでは、選択可能なテンプレートとして、「sitemap_vertical.html」がプレビュー表示されている。なお、この例では、１つのテンプレートのみが表示されているが、選択可能なテンプレートが複数存在する場合は、複数のテンプレートがプレビュー表示される。
ユーザが、表示されたテンプレートの中から使いたいテンプレートをクリックすると、「Specification File」欄に、その選択されたテンプレートのロケーションおよびファイル名が表示される。ここでは、テンプレートとして「sitemap_vertical.html」を選択しており、その結果、ロケーションとして、「/WebContent」が、ファイル名として、「sitemap_vertical.html」が表示されている。
また、ナビゲーションタグ挿入ダイアログにおいては、ナビゲーションに含めるページを選択するための情報として、ページのナビゲーションにおけるレベルの範囲を指定できるようになっている。ここでは、「Start level」欄で指定された「１」から「End level」欄で指定された「３」までがレベルとして指定されている。なお、この例では、ナビゲーションに含めるページを選択するための情報として、レベル範囲を指定するようにしているが、他にも様々な指定のしかたが考えられる。他の指定方法については、後述するナビゲーションの設定の変更についての説明において詳しく述べる。
【００３０】
以上のような設定を行い、「ＯＫ」ボタンをクリックすると、ナビゲーションタグ挿入手段１４は、選択されたテンプレートの情報を受け付ける(ステップ４０１)と共に、ページを選択するための情報を受け付ける(ステップ４０２)。そして、図１４に示すように、「newpage2.html」にナビゲーションタグを書き込む(ステップ４０３)。具体的には、ナビゲーションタグは、ナビゲーションタグの開始を表す「<!-- siteedit:navbar ... -->」と、ナビゲーションに含めるページのレベルを表す「targetlevel="1-3"」と、ナビゲーションのテンプレートとして用いるＨＴＭＬファイル名を表す「spec="sitemap_vertical.html"」と、ナビゲーションタグの終了を表す「<!-- /siteedit:navbar -->」とを含んでいる。
また、この時、エディタの画面表示は、図１５に示すようなものとなる。即ち、ナビゲーションタグ挿入手段１４は、「newpage2.html」の編集領域に、ナビゲーションタグが挿入されたことを示すアイコンを表示する(ステップ４０４)。このアイコンにおいては、左半分がナビゲーションタグの開始を示し、右半分がナビゲーションタグの終了を示している。但し、このアイコンは、ＨＴＭＬエディタ上でのみ表示されるものであり、ＨＴＭＬファイルをブラウザで開いた時には表示されない。
【００３１】
次に、ナビゲーションの自動作成について、具体的に説明する。
まず、ページ選択手段１５は、サイト構造記憶手段１１に記憶されたサイト構造情報を参照し、現在ページの位置を特定する(ステップ５０１)。この例では、「newpage2」にナビゲーションを挿入しようとしているので、「newpage2」の位置を特定する。次に、ページ選択手段１５は、「newpage2」がトップページであるかどうかを判定する(ステップ５０２)。ここでは、「newpage2」はトップページではないので、次に、ナビゲーション生成手段１８は、「newpage2」がナビゲーションルートであるかどうかを判断する(ステップ５０３)。ここでは、「newpage2」はナビゲーションルートなので、「newpage2」のナビゲーションにおけるレベルを１に設定する(ステップ５０５)。なお、この時、「newpage2」の子ページである「newpage4」および「newpage5」のナビゲーションにおけるレベルは２に設定される。
【００３２】
次に、ページ選択手段１５は、ナビゲーションタグ挿入手段１４から渡されたページに書き込まれたナビゲーションタグから、ページ選択情報を取得する(ステップ５０６)。具体的には、「targetlevel="1-3"」という記述を取得する。ページ選択手段１５は、この記述を参照することにより、ナビゲーションにおけるレベルが１〜３のページを選択することを決定する。この例では、「newpage4」および「newpage5」のナビゲーションにおけるレベルが２なので、これらのページをナビゲーションに含めるページとして選択する。一方、ナビゲーションにおけるレベル３のページは存在しないので、結局、選択されるページは、「newpage2」、「newpage4」、「newpage5」となる。
その後、ページ選択手段１５は、選択されるページが「newpage2」、「newpage4」、「newpage5」であることを示す情報と、ナビゲーションタグ挿入後のページと、サイト構造情報とを構造情報生成手段１６に受け渡す。
【００３３】
次に、構造情報生成手段１６は、ナビゲーションの構造情報を生成する(ステップ５０８)。
具体的には、構造情報生成手段１６は、まず、ページ選択手段１５より受け渡されたサイト構造情報の中から、「newpage2」、「newpage4」、「newpage5」により構成される部分木を抽出する。なお、部分木を構成する「newpage2」、「newpage4」、「newpage5」には、それぞれのページのラベルやパス等の情報も含まれているので、以下では、これらの情報の集合を「アイテム」と呼ぶことにする。
ここでは、図１３の「Thumbnail」欄に示すように、各ページへのリンクをリスト形式で含むナビゲーションを作成しようとしているので、構造情報生成手段１６は、部分木を所定の規則に則ってリスト構造の構造情報に変換する。例えば、「newpage2」、「newpage4」、「newpage5」をこの順で含むリスト構造を作成する。
また、各アイテムには、対応するページのナビゲーションにおけるレベルを示す「level」、そのページが現在ページであることを示す「self」、そのページが現在ページの直系の祖先であることを示す「ancestor」等の属性が付加される。
具体的には、「newpage2」については、「level=0」、「self=true」、「ancestor=false」等が付加され、「newpage3」については、「level=1」、「self=false」、「ancestor=false」等が付加され、「newpage4」については、「level=1」、「self=false」、「ancestor=false」等が付加される。なお、ユーザインターフェース上は、ルートをレベル１と定義したが、コンピュータ内部においては、ルートを「level=0」と定義するものとする。
リスト構造の構造情報が生成されると、構造情報生成手段１６は、その構造情報をナビゲーション生成手段１８に受け渡す。
【００３４】
ナビゲーション生成手段１８は、構造情報生成手段１６から受け渡された構造情報と、テンプレート記憶手段１７に記憶されたテンプレートとに基づき、ナビゲーションを生成する。即ち、テンプレートに記述された制御構造を、構造情報生成手段１６から受け渡された構造情報に基づいて実行し、その出力としてナビゲーションを得る。
図１６に、テンプレートの例を示す。このテンプレートにおいて、ナビゲーションとして出力される部分は、表(<table>〜</table>)として定義されており、構造情報に含まれる各アイテムについて、表の中身が実行される。このテンプレートにおいて、表の中身には、各アイテムに付加された属性を組み合わせた条件による場合分けがなされている。ここでは、「level」と「self」を組み合わせた４つの場合分けがなされており、各アイテムについて、アイテムが満足する条件に対して定義された部分がナビゲーションとして出力される。
【００３５】
このテンプレートを用いた処理について、より詳細に説明する。
まず、ナビゲーション生成手段１８は、<table>タグ１６０１および<tbody>タグ１６０２を出力する。次に、タグ１６０３を解釈し、構造情報に含まれる各アイテムを変数"item"に設定して、タグ１６０３〜１６０６の部分を処理する。
この部分には、levelおよびselfの組み合わせによる条件が定義されている。即ち、selfかつlevel=0の場合、selfでなくかつlevel=0の場合、上記以外でselfの場合、それ以外の場合である。各アイテムについて、この部分の処理を行い、アイテムが満足する条件に対して定義された<tr>要素を取り出す。
【００３６】
具体的には、以下の通りの処理を行う。
即ち、ナビゲーション生成手段１８は、まず、構造情報における一番目のアイテムである「newpage2」を変数"item"に設定して、タグ１６０３〜１６０６の部分を処理する。「newpage2」は、selfかつlevel=0であるので、<tr>要素１６０４を出力する。その際、「${item.label}」は「newpage2」のラベルに、「${item.href}」は「newpage2」のパスに置き換える。
次に、ナビゲーション生成手段１８は、構造情報における二番目のアイテムである「newpage4」を変数"item"に設定して、タグ１６０３〜１６０６の部分を処理する。「newpage4」は、selfでなくかつlevel=0でもないので、<tr>要素１６０５を出力する。その際、「${item.label}」は「newpage4」のラベルに、「${item.href}」は「newpage4」のパスに置き換える。
更に、ナビゲーション生成手段１８は、構造情報における三番目のアイテムである「newpage5」を変数"item"に設定して、タグ１６０３〜１６０６の部分を処理する。「newpage5」は、selfでなくかつlevel=0でもないので、<tr>要素１６０５を出力する。その際、「${item.label}」は「newpage5」のラベルに、「${item.href}」は「newpage5」のパスに置き換える。
以上の処理が終了すると、構造情報には他にアイテムが存在しないので、ナビゲーション生成手段１８は、</tbody>タグ１６０７および</table>タグ１６０８を出力する。
【００３７】
なお、上記の例では、「self」および「level」のみを組み合わせて条件としたが、「ancestor」その他の属性も組み合わせて条件とすることにより、各属性に応じたきめ細かなナビゲーションを提供することも可能である。
以上の処理によりナビゲーションが自動生成された後のＨＴＭＬソースを、図１７に示す。ナビゲーションタグの開始タグ「<!-- siteedit:navbar ... -->」と、終了タグ「<!-- /siteedit:navbar -->」の間に、以上の処理で出力されたナビゲーション(<table>...</table>)が挿入されている。
また、この時のエディタの画面表示例を図１８に示す。この画面では、ナビゲーションタグの開始タグを表すアイコンと、終了タグを表すアイコンとの間に、「newpage2」、「newpage4」、「newpage5」へのリンクを含むナビゲーションの表示イメージが出力されている。
なお、「newpage3」にナビゲーションを挿入する場合も、上記と同様の処理を行い、「newpage3」、「newpage6」、「newpage7」へのリンクを含むナビゲーションが生成される。
【００３８】
また、テンプレートとしては、以上のようなものだけでなく、図１９のナビゲーションタグ挿入ダイアログにプレビュー表示されたようなものを用いることもできる。
図１３に示したものは、リスト構造からなる構造情報を用いてナビゲーションを作成するものであったが、図１９に示したものは、木構造からなる構造情報を用いてナビゲーションを作成するものである。
【００３９】
ここでは、「newpage」にナビゲーションを作成するものとし、図１９に示したテンプレートを用いてナビゲーションを自動作成する際の動作について、具体的に説明する。
まず、ページ選択手段１５は、サイト構造記憶手段１１に記憶されたサイト構造情報を参照し、現在ページの位置を特定する(ステップ５０１)。この例では、「newpage」にナビゲーションを挿入しようとしているので、「newpage」の位置を特定する。次に、ページ選択手段１５は、「newpage」がトップページであるかどうかを判定する(ステップ５０２)。ここでは、「newpage」はトップページなので、「newpage」のナビゲーションにおけるレベルを１に設定する(ステップ５０５)。なお、この時、「newpage」の子ページである「newpage2」および「newpage3」のナビゲーションにおけるレベルは２に設定され、「newpage2」の子ページである「newpage4」および「newpage5」、「newpage3」の子ページである「newpage6」および「newpage7」のナビゲーションにおけるレベルは３に設定される。
【００４０】
次に、ページ選択手段１５は、ナビゲーションタグ挿入手段１４から渡されたページに書き込まれたナビゲーションタグから、ページ選択情報を取得する(ステップ５０６)。具体的には、「targetlevel="1-3"」という記述を取得する。ページ選択手段１５は、この記述を参照することにより、ナビゲーションにおけるレベルが１〜３のページを選択することを決定する。この例では、「newpage2」および「newpage3」のナビゲーションにおけるレベルが２なので、これらのページをナビゲーションに含めるページとして選択する。また、「newpage4」、「newpage5」、「newpage6」、「newpage7」のナビゲーションにおけるレベルが３なので、これらのページもナビゲーションに含めるページとして選択する。これにより、結局、選択されるページは、「newpage」、「newpage2」、「newpage3」、「newpage4」、「newpage5」、「newpage6」、「newpage7」となる。
その後、ページ選択手段１５は、選択されるページが「newpage」、「newpage2」、「newpage3」、「newpage4」、「newpage5」、「newpage6」、「newpage7」であることを示す情報と、ナビゲーションタグ挿入後のページと、サイト構造情報とを構造情報生成手段１６に受け渡す。
【００４１】
次に、構造情報生成手段１６は、ナビゲーションの構造情報を作成する(ステップ５０８)。
具体的には、構造情報生成手段１６は、まず、ページ選択手段１５より受け渡されたサイト構造情報の中から、「newpage」、「newpage2」、「newpage3」、「newpage4」、「newpage5」、「newpage6」、「newpage7」により構成される部分木を抽出する。
ここでは、図１９の「Thumbnail」欄に示すように、各ページへのリンクを木構造の形式で含むナビゲーションを作成しようとしているので、構造情報生成手段１６は、部分木をそのまま木構造の構造情報とする。
また、図１３のテンプレートを用いる場合と同様、各アイテムに、対応するページのナビゲーションにおけるレベルを示す「level」、そのページが現在ページであることを示す「self」、そのページが現在ページの直系の祖先であることを示す「ancestor」等の属性を付加するようにしてもよい。
木構造の構造情報が生成されると、構造情報生成手段１６は、その構造情報をナビゲーション生成手段１８に受け渡す。
【００４２】
ナビゲーション生成手段１８は、構造情報生成手段１６から受け渡された構造情報と、テンプレート記憶手段１７に記憶されたテンプレートとに基づき、ナビゲーションを生成する。即ち、テンプレートに記述された制御構造を、構造情報生成手段１６から受け渡された構造情報に基づいて実行し、その出力としてナビゲーションを得る。
図２０に、テンプレートの例を示す。このテンプレートは、木構造に含まれる子ノードの有無や子ノードの数を、制御構造における場合分けの条件や出力されるタグの属性の値に設定することで、自由度の高いナビゲーションを作成できるようにするものである。
【００４３】
このテンプレートを用いた処理について、より詳細に説明する。
まず、ナビゲーション生成手段１８は、タグ２００１を解釈し、構造情報における一番上のアイテムである「newpage」を変数"top"に設定して、タグ２００１〜２０２１の部分を処理する。
即ち、ナビゲーション生成手段１８は、まず、<table>タグ２００２、<tbody>タグ２００３、<tr>要素２００４、<tr>タグ２００５を出力する。その際、「${top.childcount}」は「newpage」の子供のノード(以下、「子ノード」という)の数に、「${top.item.label}」は「newpage」のラベルに、「${top.item.href}」は「newpage」のパスに置き換える。
【００４４】
次に、ナビゲーション生成手段１８は、タグ２００６を解釈し、構造情報における「newpage」の一番目の子ノードである「newpage2」を変数"node"に設定して、タグ２００６〜２０１７の部分を処理する。
即ち、ナビゲーション生成手段１８は、まず、<td>タグ２００７、<a>要素２００８を出力する。その際、「${node.item.label}」は「newpage2」のラベルに、「${node.item.href}」は「newpage2」のパスに置き換える。
次に、ナビゲーション生成手段１８は、タグ２００９を解釈し、「newpage2」に子ノードが存在するので、タグ２００９〜２０１５の部分を処理する。
即ち、ナビゲーション生成手段１８は、まず、<ul>タグ２０１０を出力する。
次に、ナビゲーション生成手段１８は、タグ２０１１を解釈し、構造情報における「newpage2」の一番目の子ノードである「newpage4」を変数"node2"に設定して、<li>要素２０１２を出力する。その際、「${node2.item.label}」は「newpage4」のラベルに、「${node2.item.href}」は「newpage4」のパスに置き換える。また、ナビゲーション生成手段１８は、構造情報における「newpage2」の二番目の子ノードである「newpage5」を変数"node2"に設定して、<li>要素２０１２を出力する。その際、「${node2.item.label}」は「newpage5」のラベルに、「${node2.item.href}」は「newpage5」のパスに置き換える。
この処理が終了すると、「newpage2」には他に子ノードが存在しないので、ナビゲーション生成手段１８は、</ul>タグ２０１４、</td>タグ２０１６を出力する。
【００４５】
次に、ナビゲーション生成手段１８は、「newpage」の二番目の子ノードである「newpage3」を変数"node"に設定して、タグ２００６〜２０１７の部分を同様に処理する。
この処理が終了すると、「newpage」には他に子ノードが存在しないので、ナビゲーション生成手段１８は、</tr>タグ２０１８、</tbody>タグ２０１９、</table>タグ２０２０を出力する。
【００４６】
以上の処理によりナビゲーションが自動生成された後のＨＴＭＬソースを、図２１に示す。ナビゲーションタグの開始タグ「<!-- siteedit:navbar ... -->」と、終了タグ「<!-- /siteedit:navbar -->」の間に、以上の処理で出力されたナビゲーション(<table>...</table>)が挿入されている。
また、この時のエディタの画面表示例を図２２に示す。この画面では、ナビゲーションタグの開始タグを表すアイコンと、終了タグを表すアイコンとの間にナビゲーションの表示イメージが出力されている。
【００４７】
なお、上記説明では、構造情報生成手段１６がリスト構造の構造情報と木構造の構造情報のいずれを生成するかの決定方法については触れなかった。リスト構造の構造情報を用いるテンプレートのみが用意されているシステムにおいては、構造情報生成手段１６は、リスト構造の構造情報のみを生成するように構成しておけばよいし、木構造の構造情報を用いるテンプレートのみが用意されているシステムにおいては、構造情報生成手段１６は、木構造の構造情報のみを生成するように構成しておけばよいからである。
しかしながら、リスト構造の構造情報を用いるテンプレートと木構造の構造情報を用いるテンプレートの両方が用意されているシステムも考えられる。その場合は、テンプレートに、リスト構造の構造情報を用いるか木構造の構造情報を用いるかの属性を定義しておき、構造情報生成手段１６は、選択されたテンプレートに定義された属性に基づき、いずれの構造情報を生成するかを判定すればよい。あるいは、選択されたテンプレートの種類に関わらず、リスト構造の構造情報と木構造の構造情報の両方を生成するようにしてもよい。
【００４８】
また、本実施の形態においては、図１３、１９のナビゲーションタグ挿入ダイアログを用いて行ったナビゲーションの設定を変更する機能も設けている。なお、ナビゲーションの設定の変更は、図５におけるナビゲーションの自動作成の前に行ってもよいし、後に行ってもよい。但し、ナビゲーションの自動作成後に設定を変更した場合は、再度ナビゲーションの自動作成を行うことにより、設定の変更が反映されたナビゲーションが作成されることになる。
以下、このナビゲーションの設定の変更処理について、具体的に説明する。
図２３は、ナビゲーションのテンプレートとして用いるファイル名の変更や、ナビゲーションに含めるページの表示順序の設定の追加を行うためのダイアログである。後者の設定は、「Current page is first sibling」にチェックをすることにより行われ、これにより、ナビゲーションにおいて自ページを兄弟ページの中で一番上に表示することができる。このような設定がなされると、ナビゲーションタグにはそのことを意味する記述(「topsibling="true"」)が書き込まれる。
このような記述があると、構造情報生成手段１６が、ステップ５０８における構造情報の生成の際に、自ページを兄弟ページの中で一番上に配置する処理を行うことになる。
【００４９】
図２４は、ナビゲーションに含めるページを自ページとの相対的な関係により指定する設定を追加するためのダイアログである。
具体的には、「Top page」にチェックをすることにより、サイト構造のトップページをナビゲーションに含める設定を行うことができる。「Parent page」にチェックをすることにより、自分の親ページをナビゲーションに含める設定を行うことができる。「Ancestor pages」にチェックをすることにより、自分の祖先ページ(親ページ、祖父ページ、曽祖父ページ等)をナビゲーションに含める設定を行うことができる。「Current page」にチェックをすることにより、自分をナビゲーションに含める設定を行うことができる。「Children pages」にチェックをすることにより、自分の子ページをナビゲーションに含める設定を行うことができる。「Sibling pages」にチェックをすることにより、自分の兄弟ページをナビゲーションに含める設定を行うことができる。「Children of top page」にチェックをすることにより、トップページの子ページをナビゲーションに含める設定を行うことができる。「First child page」にチェックをすることにより、自分の長男ページ(一番最初の子ページ)をナビゲーションに含める設定を行うことができる。「Previous page」にチェックをすることにより、自分の前のページ(すぐ上の兄ページ)をナビゲーションに含める設定を行うことができる。「Next page」にチェックをすることにより、自分の次のページ(すぐ下の弟ページ)をナビゲーションに含める設定を行うことができる。
このような設定がなされると、ナビゲーションタグにはそれぞれの設定を意味する記述が書き込まれ、ページ選択手段１５がステップ５０７においてこれらの設定によって指定されたページも併せて選択することになる。
【００５０】
図２５は、ナビゲーションに含めるページの開始レベル・終了レベルの設定の変更や、ナビゲーションに含むページを直系の祖先と子孫のみに制限する設定の追加を行うためのダイアログである。後者の設定は、「Limit links to direct children only」にチェックをすることにより行われる。これにより、ナビゲーションタグにはそれを意味する記述が書き込まれ、ページ選択手段１５が、ステップ５０７におけるページの選択の際に、直系の祖先でも子孫でもないページを除外する処理を行うことになる。
【００５１】
このように、図２３〜２５に示したダイアログにおいては、図１３、１９のナビゲーションタグ挿入ダイアログでは設定していなかった多数の設定を追加している。しかしながら、これらの設定は、必ずしも設定の変更時に行わなければならないというものではなく、図１３、１９のナビゲーションタグ挿入ダイアログによるナビゲーションの設定のタイミングで行うことも可能である。
【００５２】
以上、本実施の形態の動作について説明してきた。
本実施の形態では、ナビゲーションを作成するページのページ記述については、ナビゲーションタグ挿入手段１４がページ記憶手段１３から読み出し、ナビゲーションタグ挿入手段１４、ページ選択手段１５、構造情報生成手段１６の各手段はページ記憶手段１３に書き戻すことなく、最後に、ナビゲーション生成手段１８がページ記憶手段１３に書き戻すようにしている。しかしながら、ナビゲーションタグ挿入手段１４、ページ選択手段１５、構造情報生成手段１６、ナビゲーション生成手段１８の各手段が、それぞれにおける処理の開始時にページ記憶手段１３から読み出し、それぞれにおける処理の終了後にページ記憶手段１３に書き戻すようにしてもよい。
また、サイト構造情報については、ページ選択手段１５がサイト構造記憶手段１１から読み出し、ページ選択手段１５から構造情報生成手段１６へそのまま受け渡すように構成したが、ページ選択手段１５から構造情報生成手段１６へ受け渡さずに、構造情報生成手段１６が再度、サイト構造記憶手段１１から読み出すようにしてもよい。
【００５３】
このように、本実施の形態では、Ｗｅｂサイトの木構造の任意の部分木に含まれるページへのリンクと、そのページの部分木における位置を示す情報とを含むナビゲーションを生成することにより、Ｗｅｂサイト内の特定のページ群に閉じた分かりやすいナビゲーションを生成することが可能となる。
また、本実施の形態では、一般的な部分木における位置に応じたスタイルを定義したテンプレートを用いて、特定の部分木に含まれるページへのリンクのスタイルを決定することにより、テンプレートを共通化することが可能となる。
【図面の簡単な説明】
【００５４】
【図１】本実施の形態におけるナビゲーション生成装置の全体構成を示したブロック図である。
【図２】本実施の形態におけるナビゲーション生成装置の操作手順を示したフローチャートである。
【図３】本実施の形態におけるナビゲーションルートの設定処理の動作を示したフローチャートである。
【図４】本実施の形態におけるナビゲーションタグの挿入処理の動作を示したフローチャートである。
【図５】本実施の形態におけるナビゲーションの自動生成処理の動作を示したフローチャートである。
【図６】本実施の形態の具体例で用いるサイト構造を示した図である。
【図７】本実施の形態の具体例で用いるサイト構造を表すサイト構造情報を示した図である。
【図８】本実施の形態の具体例で用いるサイト構造を示した図である。
【図９】本実施の形態の具体例で用いるサイト構造を表すサイト構造情報を示した図である。
【図１０】本実施の形態の具体例で用いるサイト構造を示した図である。
【図１１】本実施の形態の具体例で用いるサイト構造を表すサイト構造情報を示した図である。
【図１２】本実施の形態の具体例におけるエディタの画面表示例を示す図である。
【図１３】本実施の形態の具体例におけるナビゲーションタグ挿入ダイアログの表示例を示す図である。
【図１４】本実施の形態の具体例におけるナビゲーションタグ挿入後のページ記述の例を示す図である。
【図１５】本実施の形態の具体例におけるエディタの画面表示例を示す図である。
【図１６】本実施の形態の具体例におけるテンプレートの一例を示す図である。
【図１７】本実施の形態の具体例におけるナビゲーション挿入後のページ記述の例を示す図である。
【図１８】本実施の形態の具体例におけるエディタの画面表示例を示す図である。
【図１９】本実施の形態の具体例におけるナビゲーションタグ挿入ダイアログの表示例を示す図である。
【図２０】本実施の形態の具体例におけるテンプレートの一例を示す図である。
【図２１】本実施の形態の具体例におけるナビゲーションタグ挿入後のページ記述の例を示す図である。
【図２２】本実施の形態の具体例におけるエディタの画面表示例を示す図である。
【図２３】本実施の形態におけるナビゲーションの設定変更ダイアログを示す図である。
【図２４】本実施の形態におけるナビゲーションの設定変更ダイアログを示す図である。
【図２５】本実施の形態におけるナビゲーションの設定変更ダイアログを示す図である。
【符号の説明】
【００５５】
１１…サイト構造記憶手段、１２…ナビゲーションルート設定手段、１３…ページ記憶手段、１４…ナビゲーションタグ挿入手段、１５…ページ選択手段、１６…構造情報生成手段、１７…テンプレート記憶手段、１８…ナビゲーション生成手段
【図１】
2005056028.tif 000003
【図２】
2005056028.tif 000004
【図３】
2005056028.tif 000005
【図４】
2005056028.tif 000006
【図５】
2005056028.tif 000007
【図６】
2005056028.tif 000008
【図７】
2005056028.tif 000009
【図８】
2005056028.tif 000010
【図９】
2005056028.tif 000011
【図１０】
2005056028.tif 000012
【図１１】
2005056028.tif 000013
【図１２】
2005056028.tif 000014
【図１３】
2005056028.tif 000015
【図１４】
2005056028.tif 000016
【図１５】
2005056028.tif 000017
【図１６】
2005056028.tif 000018
【図１７】
2005056028.tif 000019
【図１８】
2005056028.tif 000020
【図１９】
2005056028.tif 000021
【図２０】
2005056028.tif 000022
【図２１】
2005056028.tif 000023
【図２２】
2005056028.tif 000024
【図２３】
2005056028.tif 000025
【図２４】
2005056028.tif 000026
【図２５】
2005056028.tif 000027