(57)【要約】【課題】複数の要素データから構成される集合型データを効率よく入力することのできるデータ入力方法およびそれを用いた入力支援装置を提供する。【解決手段】項目毎に、その値のデータ型として、複数の要素データからなる集合型データの種類と当該集合型データを構成する要素データの種類とが定められた複数の項目のうち、選択された入力対象の項目に予め定められている集合型データの種類と要素データの種類の組合せに対応する入力形式を選択し、選択された入力形式に従って、要素データと演算により要素データを生成するための計算ルールと要素データを生成するための処理手順のうちの少なくとも１つを、第１の項目の値を生成するための入力データとして入力し、この入力データを基に入力対象の値を生成する。【選択図】    図１
2004302684.tif 000002
【特許請求の範囲】
【請求項１】
複数の項目のそれぞれに対し、その値として複数の要素データからなる集合型データを入力するためのデータ入力方法であって、
前記複数の項目のそれぞれには、各項目に対応する値のデータ型として、複数の要素データからなる集合型データの種類と、当該集合型データを構成する要素データの種類とが定められており、
前記複数の項目のうち入力対象の項目を選択する第１の選択ステップと、
前記入力対象に予め定められている前記集合型データの種類と前記要素データの種類の組合せに対応する入力形式を選択する第２の選択ステップと、
選択された入力形式に従って、前記要素データと演算により前記要素データを生成するための計算ルールと前記要素データを生成するための処理手順のうちの少なくとも１つを、前記第１の項目の値を生成するための入力データとして入力する入力ステップと、
前記入力データを基に、前記入力対象の値を生成する生成ステップと、
を有するデータ入力方法。
【請求項２】
前記入力対象に予め定められた前記要素データの種類が文字型であるとき、前記処理手順は、複数の配列のそれぞれの要素の直積により前記要素データを生成するものであることを特徴とする請求項１記載のデータ入力方法。
【請求項３】
前記集合型データの種類と前記要素データの種類との複数種類の組合せのうち同じ入力形式のものを予めグループ化して、前記入力対象に予め定められた前記組合せから、当該組合せに対応するグループの入力形式を選択することを特徴とする請求項１記載のデータ入力方法。
【請求項４】
前記生成ステップで生成された前記入力対象の値を構成する各要素データが、当該入力対象に予め定められた集合型データの種類と要素データの種類により定められる条件を満たすものであるかを検索する検査ステップをさらに有することを特徴とする請求項１記載のデータ入力方法。
【請求項５】
前記複数の項目のそれぞれは、ＩＳＯ１３５８４  ＰＬＩＢに規定された諸元項目であることを特徴とする請求項１記載のデータ入力方法。
【請求項６】
複数の項目のそれぞれに対し予め定められたデータ型の値を入力するための入力支援装置であって、
前記複数の項目のそれぞれには、その値のデータ型として、複数の要素データからなる集合型データか、１つの要素データからなる単純型データかが予め定められており、集合型データの場合には、さらに集合型データの種類と当該集合型データの要素データの種類とが予め定められており、
前記複数の項目のうち前記集合型データを値とする第１の項目が選択されたとき、当該第１の項目に対応する前記集合型データの種類と前記要素データの種類の組合せに対応する入力形式を選択する選択手段と、
この選択手段で選択された入力形式に従って、前記要素データと演算により前記要素データを生成するための計算ルールと前記要素データを生成するための処理手順のうちの少なくとも１つを、前記第１の項目の値を生成するための入力データとして入力するための第１の入力手段と、
この第１の入力手段で入力された前記入力データを基に、前記第１の項目の値を生成する生成手段と、
この生成手段で生成された値を前記第１の項目の値として記憶する第１の記憶手段と、
前記複数の項目のうち前記単純型データを値とする第２の項目が選択されたとき、当該第２の項目の値を入力するための第２の入力手段と、
この第２の入力手段で入力された値を前記第２の項目の値として記憶する第２の記憶手段と、
を具備したことを特徴とする入力支援装置。
【請求項７】
前記第１の項目に予め定められた前記要素データの種類が文字型であるとき、前記処理手順は、複数の配列のそれぞれの要素の直積により前記要素データを生成するものであることを特徴とする請求項６記載の入力支援装置。
【請求項８】
前記集合型データの種類と前記要素データの種類との複数種類の組合せのうち同じ入力形式のものは予めグループ化されており、前記選択手段は、前記第１の項目に対応する前記組合せから、当該組合せに対応するグループの入力形式を選択することを特徴とする請求項６記載の入力支援装置。
【請求項９】
前記生成手段で生成された前記第１の項目の値を構成する各要素データが、当該第１の項目に予め定められた集合型データの種類と要素データの種類により定められる条件を満たすものであるかを検索する検査手段をさらに具備したことを特徴とする請求項６記載の入力支援装置。
【請求項１０】
前記複数の項目のうち、前記第１の入力手段で前記入力データは入力されているが前記生成手段で前記値の生成されていない項目を識別するための情報を表示する表示手段をさらに具備したことを特徴とする請求項６記載の入力支援装置。
【請求項１１】
前記複数の項目のそれぞれは、ＩＳＯ１３５８４  ＰＬＩＢに規定された諸元項目であることを特徴とする請求項６記載の入力支援装置。
【請求項１２】
複数の項目のそれぞれに対し予め定められたデータ型の値を入力するためのプログラムであって、
前記複数の項目のそれぞれには、その値のデータ型として、複数の要素データからなる集合型データか、１つの要素データからなる単純型データかが予め定められており、集合型データの場合には、さらに集合型データの種類と当該集合型データの要素データの種類とが予め定められており、
前記複数の項目のうち前記集合型データを値とする第１の項目が選択されたとき、当該第１の項目に対応する前記集合型データの種類と前記要素データの種類の組合せに対応する入力形式を選択する選択ステップと、
この選択手段で選択された入力形式に従って、前記要素データと演算により前記要素データを生成するための計算ルールと前記要素データを生成するための処理手順のうちの少なくとも１つを、前記第１の項目の値を生成するための入力データとして入力する第１の入力ステップと、
この第１の入力ステップで入力された前記入力データを基に、前記第１の項目の値を生成する生成ステップと、
この生成ステップで生成された値を前記第１の項目の値として記憶手段に記憶する第１の記憶ステップと、
前記複数の項目のうち前記単純型データを値とする第２の項目が選択されたとき、当該第２の項目の値を入力する第２の入力ステップと、
この第２の入力ステップで入力された値を前記第２の項目の値として前記記憶手段に記憶する第２の記憶ステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
例えば、電子カタログのコンテンツデータの入力支援装置に関する。
【０００２】
【従来の技術】
ＩＳＯ１３５８４標準の電子カタログに代表される部品の技術情報を表現したデータは、各部品を表現するための語彙を提供する「辞書」とこの「辞書」に基づいて実際の製品の技術仕様を記述した「コンテンツデータ」とで構成される（例えば、非特許文献１、２、４参照）。
【０００３】
ＩＳＯ１３５８４標準の「辞書」では、概念階層としてツリー上に表現された製品分類とその製品分類の属する技術属性（諸元項目：ｐｒｏｐｅｒｔｙ）が主要な辞書要素となっており、応用分野ごとに国際団体等で標準化されようになっている。一方、コンテンツデータは主に実際の部品サプライヤ等で前述の標準化された辞書を用いて、各自の製品情報として登録するようになっている。
【０００４】
近年、ＩＳＯ１３５８４標準の電子カタログによる企業間電子商取引を実現しようとする試みが様々な業界でなされている。例えば、重電業界においては業界横断的なサプライチェーンマネージメントの実用化をめざした「ＪｅＭａｒｃｈｅ」プロジェクトが進められている（例えば、非特許文献３参照）。
【０００５】
「ＪｅＭａｒｃｈｅ」ではＩＳＯ１３５８４−４２の規定に基づき、コンテンツデータを表現する単純型データ（整数（Ｉｎｔ）型、実数（Ｒｅａｌ）型、文字（Ｓｔｒｉｎｇ）型、ブール代数（Ｂｏｏｌｅａｎ）型、選択肢（ＥＮＵＭ）型）として表形式で入力する方法が開発されている。
【０００６】
また、諸元項目間の制約を記述することで、コンテンツデータの検索時に単純型データのコンテンツデータを動的に生成する技術も開発されている（例えば、特許文献１参照）。
【０００７】
近年、具体的な適用が進む中、より複雑なデータを表現できる集合型データへの拡張のニーズが高まりつつあり、電気・電子分野でのＩＳＯ１３５８４の適用を規定したＩＥＣ６１３６０では、集合型データとしてＳｅｔ型、Ｌｉｓｔ型、Ｂａｇ型、Ａｒｒａｙ型等が新たに追加されることになった。
【０００８】
【非特許文献１】
ＩＳＯ１３５８４−４２：Ｉｎｄｕｓｔｒｉａｌ  Ａｕｔｏｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｉｎｔｅｇｒａｔｉｏｎ−Ｐａｒｔｓ  Ｌｉｂｒａｒｙ
【０００９】
【非特許文献２】
ＩＥＣ６１３６０−１：Ｓｔａｎｄａｒｄ  ｄａｔａ  ｅｌｅｍｅｎｔｔｙｐｅｓ  ｗｉｔｈ  ａｓｓｏｃｉａｔｅｄ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  Ｓｃｈｅｍｅ  ｆｏｒ  ｅｌｅｃｔｒｉｃ  ｃｏｍｐｏｎｅｎｔｓ
【００１０】
【非特許文献３】
［２００３年２月５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｊｅｍａｒｃｈｅ．ｃｏｍ／＞
【００１１】
【非特許文献４】
平成１１年度ＩＰＡ事業：「重電危機製造業における中小企業群との複合的ＳＣＭの基盤構築」の実験作業―外部設計書第ＩＩ編「電子カタログ」
【００１２】
【特許文献１】
特開平１１−８５８３６号公報
【００１３】
【発明が解決しようとする課題】
しかしながら、従来のコンテンツデータの作成方法では、要素データが１つの単純なデータ型への入力を対象としていたため、複数の要素データからなる集合型データの入力を行う場合、集合の各要素を全て連結した文字列として入力するか、または単純に各要素を１つづつ手入力することになり、データの入力作業を効率的に行うことが困難である。
【００１４】
そこで、本発明では、上記問題点に鑑み、複数の要素データから構成される集合型データを効率よく入力することのできるデータ入力方法、およびそれを用いた入力支援装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明は、複数の項目のそれぞれに対し、その値として複数の要素データからなる集合型データを入力するためのものであって、前記複数の項目のそれぞれには、各項目に対応する値のデータ型として、複数の要素データからなる集合型データの種類と、当該集合型データを構成する要素データの種類とが定められており、前記複数の項目のうち選択された入力対象の項目に予め定められている前記集合型データの種類と前記要素データの種類の組合せに対応する入力形式を選択し、選択された入力形式に従って、前記要素データと演算により前記要素データを生成するための計算ルールと前記要素データを生成するための処理手順のうちの少なくとも１つを、前記第１の項目の値を生成するための入力データとして入力し、前記入力データを基に、前記入力対象の値を生成する。本発明によれば、複数の要素データから構成される集合型データの各要素を１つ１つ全て入力する替わりに、計算ルールや処理手順での入力を可能にすることで、入力の手間や誤入力を軽減し、効率よくデータ入力が行える。
【００１６】
【発明の実施の形態】
以下、本発明の本実施形態を、図面を参照して詳細に説明する。
【００１７】
本実施形態では、ＩＳＯ１３５８４およびＩＥＣ６１３６０で定める集合型データを例として用いて、コンテンツデータが集合型データである場合の入力を容易にするデータ入力方法を適用した電子カタログコンテンツ作成システムについて説明する。
【００１８】
コンテンツデータは、後述する諸元項目に対応する値として入力されるものである。
【００１９】
ここで、集合型データとは、所定のデータ型の複数の要素データで構成されるデータであり、単純型データとは、１つの要素データで構成されるデータである。集合型データの種別としては、ここでは、例えば、ＩＳＯ１３５８４の定めに従い分類された、以下の５種類を用いる。
【００２０】
・Ｓｅｔ型（要素の重複を許さない集合）
・Ｃｏｎｓｔｒａｉｎｔ＿Ｓｅｔ型（Ｓｅｔ型の１種で、その部分集合をコンテンツとできるもの）
・Ｂａｇ型（要素の重複を許す集合）
・Ｌｉｓｔ型（要素に順序が定められている集合）
・Ａｒｒａｙ型（配列型）
上記のような集合型データの中には、さらに、次のような属性を有するものもある。すなわち、
・「Ｕｎｉｑｕｅｎｅｓｓ」は、要素の重複許可の有無を設定するものであり、一意性が必要な場合は「ＴＲＵＥ」、要素の重複が可能な場合は「ＦＡＬＳＥ」と設定される。「Ｕｎｉｑｕｅｎｅｓｓ」は、Ｌｉｓｔ型とＡｒｒａｙ型で設定することができる。
【００２１】
・「Ｏｐｔｉｏｎａｌ」は、複数の要素のなかにヌル値（Ｎｕｌｌ）が含まれていることを許容するか否かの設定であり、可能な場合「ＴＲＵＥ」、禁止の場合は「ＦＡＬＳＥ」の値をとる。「Ｏｐｔｉｏｎａｌ」は、Ａｒｒａｙ型で設定することができる。
【００２２】
なお、集合型データの種別は、上記５種類に限るものではなく、上記以外の集合型データがあってもよい。
【００２３】
集合型データの各要素のデータ型（基本データ型）としては、Ｉｎｔ（整数）、Ｉｎｔ＿ｍｅａｓｕｒｅ（単位付整数）、Ｉｎｔ＿ｃｕｒｒｅｎｃｙ（貨幣単位付整数）、Ｒｅａｌ（実数）、Ｒｅａｌ＿ｍｅａｓｕｒｅ（単位付実数）、Ｒｅａｌ＿ｃｕｒｒｅｎｃｙ（貨幣単位付実数）、Ｓｔｒｉｎｇ（文字列）、Ｂｏｏｌｅａｎ（ブール代数）、ｄａｔｅ（日付）、ＥＮＵＭ（選択肢型）、Ｌｅｖｅｌ（最小値、公称値、代表値、最大値で構成されるデータでＩｎｔとＲｅａｌがある）などがある。この基本データ型もＩＳＯ１３５８４の規定に沿ったものであるが、上記データ型に限定するものではなく、上記以外のデータ型があってもよい。
【００２４】
なお、コンテンツデータには、集合型データの他に、単純型データがあるが、この単純型データは、１つの要素からなるものである。
【００２５】
（電子カタログコンテンツ作成システムの構成）
図１は、本発明の入力支援装置を適用した電子カタログコンテンツ作成システムの機能構成を示すブロック図であり、辞書データ記憶部１、電子カタログコンテンツデータ編集部２、入力タイプ選択ルール編集部３、入力タイプ選択ルール記憶部４、入力タイプ選択部５、入力フォーム編集部６、入力フォーム記憶部７、生成ルール編集部８、生成ルール記憶部９、コンテンツデータ生成部１０、電子カタログコンテンツデータ記憶部１１、インタフェース部１２から構成されている。
【００２６】
インタフェース部１２は、キーボードやマウスなどの各種入力装置や、ディスプレイなどの出力装置などから構成され、ユーザ操作により、ここから電子カタログコンテンツデータ編集部２へ各種指示やデータの入力などが行われる。
【００２７】
インタフェース部１２からのユーザ操作に基づいて電子カタログコンテンツデータ編集部２は、辞書データ記憶部１に記憶されている辞書データを読み込み、この辞書データに応じた電子カタログコンテンツデータ記憶部１１に記憶されているコンテンツデータを編集および保存を行う。
【００２８】
電子カタログコンテンツデータ編集部２は、インタフェース部１２から入力された操作コマンドに応じて、入力タイプ選択ルール編集部３、入力フォーム編集部６、生成ルール編集部８、コンテンツデータ生成部１０などへ処理を切り替える。
【００２９】
図２は、辞書データ記憶部１に記憶されている辞書データのデータ構造を示したもので、ここでは、表形式のデータとして表現している。辞書要素２０１は、１つの行として表現されている。辞書要素の各フィールドはＩＳＯ１３５８４で規定された要件のうち、特に、本実施形態の説明のために必要な部分を抜粋したもので構成されている。すなわち、各辞書要素は、辞書要素の識別コード２０２、諸元項目名称２０３、単位２０４、当該諸元項目に対応するコンテンツデータのデータ型が単純型データか、集合型データかを表す情報（単純型データ（Ｓｉｍｐｌｅ）／集合型データの種別（Ｃｏｍｐｌｅｘ））２０５、集合型データの要素に対する一意性要求の有無（「Ｕｎｉｑｕｅｎｅｓｓ」）２０６、集合型データの要素に対するヌル値許可の有無（「Ｏｐｔｉｏｎａｌ」）２０７、データの基本データ型（Ｄａｔａ  Ｔｙｐｅ）２０８、辞書要素の定義２０９、辞書要素の注意２１０で構成されている。
【００３０】
ＩＳＯ１３５８４の場合、基本データ型が「ＥＮＵＭ型」であるときは取り得る値の離散値を予め定める必要がある。
【００３１】
本実施形態では、ＥＮＵＭ型の辞書要素における選択要素２１１は１つの行として表現されている、この選択要素は辞書要素の識別のコード２１２、名称２１３、選択要素の値２１４、選択要素の値の定義２１５で構成されている。
【００３２】
図３は、電子カタログコンテンツデータ記憶部１１に記憶されているある１つの製品についての１組のコンテンツデータ（製品（部品）データ）の具体例を示したものである。図３に示した製品（部品）データでは、図２に示したような各辞書要素のデータ２００１と、各辞書要素に対応する値としてのコンテンツデータ２００２で構成されている。
【００３３】
入力タイプ選択ルール編集部３は、ユーザからの操作コマンドが「入力要求」である場合、指定された諸元項目に対応するコンテンツデータのデータ型が集合型データであるときに、当該集合型データの種別と、その要素の基本データ型とから、入力タイプを選択するためのルール（入力タイプ判定ルール）と、集合型データであるコンテンツデータを生成する際に用いる検査処理を選択するための検査処理選択ルールを作成・編集する。
【００３４】
入力タイプ選択ルール編集部３で作成・編集された入力タイプ選択ルール、検査処理選択ルールは、入力タイプ選択ルール記憶部４に記憶される。
【００３５】
入力タイプ選択部５は、ユーザからの操作コマンドが「入力要求」である場合に、指定された諸元項目に対応するコンテンツデータのデータ型が集合型データであるときに、生成ルール編集部８から起動される。入力タイプ選択ルール記憶部４に記憶されている入力タイプ選択ルールと検査処理選択ルールを参照して、当該集合型データの種別と、その要素の基本データ型とから、入力タイプと、検査処理を選択する。
【００３６】
図４は、入力タイプ選択ルール記憶部４に格納されている入力タイプ選択ルールの一例を示したもので、図５は、入力タイプ選択ルール記憶部４に格納されている検査処理選択ルールの一例を示したものである。
【００３７】
図４と図５に示すように、入力タイプ選択ルールと、検査処理選択ルールは、ともに、横軸方向に集合型データの種別を並べ（図４の領域３０１参照）、縦軸方向に基本データ型の種別を並べた（図５の領域３０２参照）マトリクスで表現されている。
【００３８】
図４に示したマトリクスの要素は、当該要素の属する列と行のそれぞれに対応する集合型データの種別と基本データ型の種別に対応する入力タイプを表している。すなわち、このマトリクスにより、集合型データの種別と基本データ型に応じた入力タイプが１つ決定する。
【００３９】
図５に示したマトリクスの要素は、当該要素の属する列と行のそれぞれに対応する集合型データの種別と基本データ型の種別に対応する検査処理を表している。すなわち、このマトリクスにより、集合型データの種別と基本データ型に応じた検査処理が１組決定する。
【００４０】
図４，図５に示すマトリクスには、入力タイプと検査処理は、それぞれ文字情報とし格納されている。
【００４１】
なお、入力タイプ選択ルール、検査処理選択ルールは、入力タイプ選択ルール編集部３により、入力タイプの名称、検査処理の名称はもちろんのこと、横軸、縦軸方向の各項目についても編集することができ、別の標準を用いたマトリクスを構成することも可能である。
【００４２】
入力タイプは、基本データ型の種別が数字型（Ｉｎｔ（整数型）、Ｉｎｔ＿ｍｅａｓｕｒｅ（単位付整数型）、Ｉｎｔ＿ｃｕｒｒｅｎｃｙ（貨幣単位付整数型）、Ｒｅａｌ（実数型）、Ｒｅａｌ＿ｍｅａｓｕｒｅ（単位付実数型）、Ｒｅａｌ＿ｃｕｒｒｅｎｃｙ（貨幣単位付実数型））か、文字型（Ｓｔｒｉｎｇ）か、ブール代数型（Ｂｏｏｌｅａｎ）か、日付型（ｄａｔｅ）か、選択肢型（ＥＮＵＭ）か、レベル型（Ｌｅｖｅｌ）かで、Ｎｕｍ、Ｓｔｒ、Ｃｏｎｓｔ・Ｂｏｏｌ、Ｄａｔａ、ＥＮＵＭ、Ｌｅｖｅｌと、大きく６種類のタイプに分けられる。さらに、この６種類のタイプが、集合型データの種別が配列型（要素の位置が予め定められている場合）か、配列型でない（要素の位置は予め定められていない）かで、ａｒｒａｙ、ｔｙｐｅの２種類に分けることができる。従って、ここでは、基本データ型と集合型データの種別に応じて、ほぼ１４種類の入力タイプを設定した。この分類は、入力形式が同じかあるいは類似するものをグループ化するためのものである。そして、各グループには、それぞれ１つ入力フォームを対応付けている。
【００４３】
検査処理は、後述する入力タイプに応じて定める入力フォーム中に入力されたデータを基に、コンテンツデータ生成部１０でコンテンツデータを生成した後、当該コンテンツデータに誤りがないかを（指定された諸元項目に対応するコンテンツデータの集合型データの種別、基本データ型の種別、「Ｕｎｉｑｕｅｎｅｓｓ」、「Ｏｐｔｉｏｎａｌ」により定められた条件を満たすものであるか否か）を検索するためのものである。ここでは、検査処理プログラム（検査処理関数）として、以下のようなものがある。
【００４４】
・Ｎｏｎ＿Ｉｎｔ（）：整数以外のデータの有無を検査する処理
・Ｎｏｎ＿Ｎｕｍｅｒｉｃ（）：実数以外のデータの有無を検査する処理
・Ｎｏｎ＿ｄａｔｅ（）：ＩＳＯ１０３０３のＤａｔｅ型およびＴｉｍｅ型となるデータの有無を検査する処理
・Ｎｏｎ＿ＥＮＵＭ（）：当該辞書要素で定められた選択子以外のデータの有無を検査する処理
・Ｎｏｎ＿Ｂｏｏｌｅａｎ（）：ＴＲＵＥおよびＦＡＬＳＥ以外のデータの有無を検査する処理
・Ｕｎｉｑｕｅｎｅｓｓ（）：集合に含まれる要素が一意であるかどうかを検査する処理
・Ｎｕｌｌ（）：集合に含まれる要素にヌル値があるかどうかを検査する処理
上記各検査処理プログラムは、入力フォーム記憶部７に記憶されている。
【００４５】
入力フォーム編集部６は、上記入力タイプに対応する入力フォームを作成・編集するためのものである。
【００４６】
入力フォーム編集部６で作成・編集された入力フォームは、入力フォーム記憶部７に記憶される。
【００４７】
生成ルール編集部８は、表示画面に表示された入力フォームへの入力と同期して、当該入力フォームに入力された数値、文字列、演算子、ルールや、当該入力フォームに対応する入力タイプや基本データ型や選択された検査処理のリストなどを記述した生成ルールを作成・編集する。
【００４８】
生成ルール編集部８で作成・編集された生成ルールは、生成ルール記憶部９に記憶される。
【００４９】
コンテンツデータ生成部１０は、生成ルール編集部８で生成された生成ルールを基に、コンテンツデータを生成する。
【００５０】
（電子カタログ作成システムの処理動作）
図３７は、図１の電子カタログコンテンツデータ編集部２の処理動作を説明するためのフローチャートである。図３７に基づいて本実施形態における基本的な処理の流れを述べる。
【００５１】
まず、ユーザからの操作コマンドを受け取り（ステップＳ１）、そのコマンドが「辞書読み込み操作」であれば（ステップＳ２）、ユーザが選択した辞書データを辞書データ記憶部１から読み込み、図６に示すようなデータ入力画面を生成・表示し（ステップＳ１０）、ステップＳ１へ戻り、次の入力を待つ。
【００５２】
ユーザからの操作コマンドが「データ入力要求操作」であれば（ステップＳ３）、入力要求で指定された諸元（１セル）に対応する辞書要素から、当該諸元のコンテンツデータについての単純型データ／集合型データの種別２０５の値Ｖを得る（ステップＳ１１）。もしＶが単純型の場合は通常のデータ入力を行う（ステップＳ１２〜ステップＳ１３）。
【００５３】
Ｖが集合型の場合（ステップＳ１２）は、入力要求で指定されたセルに対応する辞書要素のデータを読み込み（ステップＳ１４）、生成ルール編集部８における生成ルール編集処理を実行する（ステップＳ１５）。この生成ルール編集処理が終ると、ステップＳ１へ戻り、次の入力を待つ。
【００５４】
ユーザからの操作コマンドが、「集合型コンテンツデータ生成操作」であれば（ステップＳ４）、コンテンツデータ生成部１０におけるコンテンツデータ生成処理を実行し（ステップＳ１６）、生成されたコンテンツデータを図６に示すような編集画面上の当該コンテンツデータに対応するセルに表示し、処理が終ると、ステップＳ１へ戻り、次の入力を待つ。
【００５５】
ユーザからの操作コマンドが、「入力フォーム編集操作」であれば（図３８のステップＳ５）、入力フォーム編集部６における入力フォーム編集処理を実行し（ステップＳ１７）、処理が終ると、ステップＳ１へ戻り、次の入力を待つ。
【００５６】
ユーザからの操作コマンドが、「入力タイプ選択ルール編集操作」であれば（ステップＳ６）、入力タイプ編集操作部３における選択ルール編集処理を実行し（ステップＳ１８）、処理が終るとステップＳ１へ戻り、次の入力を待つ。
【００５７】
ユーザからの操作コマンドが、「電子カタログコンテンツデータの読み込み操作」であれば（ステップＳ７）、電子カタログコンテンツデータ記憶部１１から電子カタログコンテンツデータを読み込み、データ入力画面を生成・表示し（ステップＳ１９）、処理が終るとステップＳ１へ戻り、次の入力を待つ。
【００５８】
ユーザからの操作コマンドが、「電子カタログコンテンツデータの保存操作」であれば（ステップＳ８）、現在表示されている電子カタログコンテンツデータを電子カタログコンテンツデータ記憶部１１に保存する（ステップＳ２０）。その際、「集合型コンテンツデータ生成操作」により新たに生成されたコンテンツデータがあれば、それを当該コンテンツデータに対応する製品（部品）データ中の当該諸元項目の値として電子カタログコンテンツデータ記憶部１１に記憶する。処理が終るとステップＳ１へ戻り、次の入力を待つ。
【００５９】
ユーザからの操作コマンドが、「終了操作」であれば（ステップＳ９）、全体の処理は終了する。
【００６０】
図６は、電子カタログコンテンツデータ編集部２により表示される編集画面の例を示したものである。各行は１つの製品（部品）データに対応する。本実施形態では、辞書読込ボタン２２０１、コンテンツ読込ボタン２２０２、コンテンツ保存ボタン２２０３、コンテンツ生成ボタン２２０４、選択ルール編集ボタン２２０５、入力フォーム編集ボタン２２０６、終了ボタン２２０７のそれぞれを選択することにより、図３７〜図３８で説明した上記各操作コマンドとして電子コンテンツデータ編集部２に入力する。
【００６１】
また、実際のコンテンツデータの入力は、図６の編集画面中のコンテンツデータを入力したい箇所（すなわち、ある１つの製品（部品）のある１つの諸元に対応するセル）をマウス等で選択することで入力が可能になる。
【００６２】
図６において、セル２２０８に示すように、コンテンツデータが未入力のセルは空白となり、コンテンツデータが登録済みのところは、セル２２０９に示すように、実データが表示される。
【００６３】
また、セル２２１０に示すように、入力フォーム上にデータが入力されて、生成ルールが編集されているが、まだ、コンテンツデータ生成部１０におけるコンテンツデータ生成処理が未実施の場合は、「（＊）」が表示される。
【００６４】
図６に示した編集画面により、コンテンツデータの入力状況が一覧できる。
【００６５】
（生成ルール編集処理：集合型コンテンツデータの入力）
図３９は、図３７のステップＳ１５における生成ルール編集処理を説明するためのフローチャートである。この処理は、主に、図１の生成ルール編集部８において実行される。
【００６６】
集合型コンテンツデータは、複数の要素を持つ。各要素を１つ１つ入力することはもちろん可能であるが、各要素に規則性があれば、その規則（ルール）と、全要素のうちの１つあるいはいくつかを指定するだけで、全ての要素を入力することもできる。特に、後者の入力方法は、要素の数が多いときに、入力の手間を省けるという点で有用である。
【００６７】
そこで、ここでは、入力タイプ選択部５で選択された入力タイプに応じた入力フォームでは、各要素を１つ１つ入力するモード（入力タイプ「手入力」）の他、当該入力フォームに予め用意された簡易ルールを用いて要素を入力するモード（入力タイプ「簡易ルール」）と、ユーザが所望の規則を入力し、その規則を用いて要素を入力するモード（入力タイプ「ルール編集」）を設けている。
【００６８】
入力フォームに書き込まれた（入力された）データやルールは、生成ルールとして生成ルール記憶部９に保存される。生成ルールは、コンテンツデータ生成部１０がコンテンツデータを生成する際に必要なデータや処理手順などを記述したものである。ここでは、入力フォームへの入力（編集作業）は、生成ルールを編集するための作業であるともいえるので、ここでは、生成ルール編集処理と呼ぶ。
【００６９】
まず、図３７のステップＳ１で指定された、図６の編集画面上の１つのセル（のコンテンツデータ）に対応する生成ルールが生成ルール記憶部９に存在するかどうか調べる（ステップＳ３１）。存在する場合は、該当生成ルールＲとその生成ルールに対応する集合型コンテンツデータの入力フォームＦを読み込み、それを表示し、編集を可能にする（ステップＳ４２）。表示された入力フォーム上での編集が終了となれば（ステップＳ４３）、生成ルールＲを生成ルール記憶部９に保存する（ステップＳ４４）。
【００７０】
ステップＳ３１において、図６の編集画面上の１つのセル（のコンテンツデータ）に対応する生成ルールが生成ルール記憶部９に存在しない場合には、図３７のステップＳ１４にて読込まれた辞書データから、「Ｓｉｍｐｌｅ／Ｃｏｍｐｌｅｘ」、「ＤａｔａＴｙｐｅ」、「Ｕｎｉｑｕｅｎｅｓｓ」、「Ｏｐｔｉｏｎａｌ」のそれぞれの値を取り出す（ステップＳ３２）。
【００７１】
次に、上記４つの値に基づいて、入力タイプ選択処理を実行する（ステップＳ３３）。この処理によって得られた入力タイプＴに基づいて、生成ルールＲを新規作成し、この新規に作成された生成ルールＲに、同じく入力タイプ選択処理にて選択された検査処理のリストＣを代入する（ステップＳ３４）。
【００７２】
入力タイプＴに対応する入力フォームＦを入力フォーム記憶部７から読み出し、当該入力フォームＦに上記生成ルールＲを読み込み、表示し、編集を可能にする（ステップＳ３５）。
【００７３】
入力タイプＴがＥＮＵＭ型の場合（ステップＳ３６）、当該辞書データから選択肢のデータを読み込み、入力フォームＦの所定のダイアログ部分に書き込む（ステップＳ３７）。
【００７４】
入力タイプＴがＡｒｒａｙタイプの場合（ステップＳ３８）は、当該辞書データから配列の範囲定義データを読み込み、入力フォームＦの変数として書き込む（ステップＳ３９）。
【００７５】
編集終了となれば（ステップＳ４０）、生成ルールＲを生成ルール記憶部９に保存する（ステップＳ４１）。
【００７６】
図４０は、図３９のステップＳ３３における入力タイプ選択処理手順を説明するためのフローチャートである。この処理は、図１の入力タイプ選択５において実行される。
【００７７】
まず、図３９のステップＳ３２で得られた「Ｓｉｍｐｌｅ／Ｃｏｍｐｌｅｘ」、「ＤａｔａＴｙｐｅ」、「Ｕｎｉｑｕｅｎｅｓｓ」、「Ｏｐｔｉｏｎａｌ」の値を条件として、入力タイプ選択部５に記憶されている図４に示した入力タイプ選択ルールと、図５に示した検査処理選択ルールを参照して、入力タイプＴと検査処理のリストＣを求める（ステップＳ５１）。
【００７８】
上記条件を満たす入力タイプＴが存在すれば（ステップＳ５２）、入力タイプＴと検査処理のリストＣを生成ルール編集部８に返す（ステップＳ５３）。入力タイプＴが存在しなければ、エラーメッセージを表示する（ステップＳ５４）。
【００７９】
図７から図２１に、入力タイプ別の集合型コンテンツデータの入力フォームの例を示す。なお、図７〜図２１は、生成ルール編集部８により表示される各入力フォームに対応する生成ルール編集画面の表示例を示したものである。以下、図７〜図２１を参照して、入力タイプ別の入力フォームの構成と、各入力フォームへのデータの入力方法について説明する。なお、入力フォームは、入力フォーム記憶部７に格納されている。これらの入力フォームは入力フォーム編集部６により、ボタン構成、並び順、初期表示の行数、各フィールドのデフォルト値などを指定することでき、当然ながら、別の標準に基づいた入力タイプのためのフォームを作成することも可能である。
【００８０】
入力フォーム記憶部７には、前述した検査処理プログラムも格納されている。
【００８１】
（入力タイプが「Ｎｕｍ＿ｔｙｐｅ」である集合型コンテンツデータ入力フォーム）
図７は、入力タイプが「Ｎｕｍ＿ｔｙｐｅ」である集合型コンテンツデータの入力フォームの例を示している。図７（ａ）は、「Ｎｕｍ＿ｔｙｐｅ」入力フォームのメイン画面を示したもので、１行分の入力領域４０９に１つの入力要素を入力するようになっている。
【００８２】
移動ボタン４０８は、ある行に対応する入力要素を他の行へ移動するためのものである。
【００８３】
１つの入力要素を入力するための１行分の入力領域４０９には、当該入力要素を移動する際に用いるチェックボックス４０７と、入力タイプを指定するためのダイアログボックス４０２、入力値域を入力するためのフィールド４０３、ピッチ計算式の演算子を指定するためのダイアログボックス４０４、ピッチの入力フィールド４０５、ユーザが所望のルールを作成・編集するためのボタン４０６から構成されている。なお、入力フォーム上の入力タイプとは、入力フォーム上にデータを入力する際の手段としての「手入力」、「簡易ルール」、「ルール編集」のいずれかを指すもので、入力タイプ選択図５で選択される入力タイプとは異なるものである。
【００８４】
入力要素（行）の順番を変更したい場合には、当該入力要素に対応するチェックボックス４０７をチェックし、移動ボタン４０８をクリックすることで、当該入力要素の位置を上や下に移動することができる。
【００８５】
入力タイプを指定するためのダイアログボックス４０２には、図７（ｂ）に示すように、「手入力」、「簡易ルール」、「ルール編集」が表示され、これらのうちの何れか１つを選択することができる。
【００８６】
入力値域の入力フールド４０３は、ダイアログボックス４０２にて入力タイプとして「手入力」を選択した場合には、左側のフィードのみに入力することができ、入力タイプとして「簡易ルール」を選択した場合には、要素の範囲を入力する。また、入力タイプとして「ルール編集」を選択した場合には、入力が禁止されている。
【００８７】
入力タイプが「簡易ルール」の場合は、コンテンツデータを生成するためのルールとして予め用意された演算を実行してコンテンツデータが生成される。ここでは、図７（ｃ）に示すように、演算子指定ダイアログボックス４０４において、四則演算子が選択できるようになっている。もちろん、その他の２項演算子も用意することは可能であるし、フォームを変更して、多項演算を容易することも可能である。入力タイプとして「簡易ルール」を選択した場合、ピッチの入力フィールド４０５は、演算子指定ダイアログボックス４０４において指定された演算子への引数が入力される。
【００８８】
入力タイプが「ルール編集」の場合は、ユーザがコンテンツデータを生成するために所望のルールを入力し、このルールを実行することによりコンテンツデータが生成される。入力タイプとして「ルール編集」が選択された場合に、ルール編集ボタン４０６により、図７（ｄ）に示すような、ルールの編集画面が起動される。このルールの編集画面上で、ユーザは所望のルールを作成・編集することができる。ここに書かれるルールはどのような言語でも記述してもよく、その場合，当該言語のパーザを用意する必要がある。
【００８９】
また、ある要素に対してすでにルールが設定されている場合は、当該ルールを読み出すようにしてもよい。
【００９０】
図２２から図２４に、図７の「Ｎｕｍ＿ｔｙｐｅ」の入力フォームの入力例を示す。
【００９１】
図２２は、入力タイプ「手入力」で、２つの入力要素をそれぞれ入力した様子を示している。
【００９２】
図２３は、入力タイプ「簡易ルール」で２つの入力要素を入力し、入力タイプ「手入力」で、１つの入力要素を入力した様子を示している。
【００９３】
入力要素２４０１では、「簡易ルール」として、「１．５」以上「６．０」以下の範囲で、順次「１．５」をプラスしていくルールが記述されている。このルールによれば、コンテンツデータ生成部１０において、コンテンツデータとして、（１．５、３．０、４．５、６．０）の４つの値が生成されることになる。
【００９４】
入力要素２４０２では、「簡易ルール」として、「１０」以上「８０」以下の範囲で、順次「２」を乗じていくルールが記述されている。このルールによれば、コンテンツデータ生成部１０において、コンテンツデータとして、（１０、２０、４０、８０）の４つの値が生成されることになる。
【００９５】
したがって、図２３に記述したルールにより、コンテンツデータ生成部１０でにより、（１．５、３．０、４．５、６．０，１０、２０、４０、８０、１００）という集合型データが生成されることになる。
【００９６】
図２４は、入力タイプ「ルール編集」で、ユーザ定義のルール２５０１が記述されている。このルールは要素の値Ｙは、漸化式Ｙ（ｎ）＝Ｙ（ｎ−１）×２＋０．０５  Ｙ（０）＝０．１×２＋０．０５＝０．２５として与えられており、このルールにより、コンテンツデータ生成部１０において、（０．２５、０．５５、１．１５、２．３５、４．７５）という集合型データが生成されることになる。
【００９７】
（入力タイプが「Ｓｔｒ＿ｔｙｐｅ」である集合型コンテンツデータ入力フォーム）
図８は、入力タイプが「Ｓｔｒ＿ｔｙｐｅ」である集合型コンテンツデータの入力フォームの例を示している。「Ｓｔｒ＿ｔｙｐｅ」の入力フォームは、図７の「Ｎｕｍ＿ｔｙｐｅ」の入力フォームとほぼ同じであるが、異なるのは、図８（ａ）に示すメイン画面では、図７（ａ）のピッチ計算式の演算子指定ダイアログボックス４０４とピッチの入力フィールド３０５が、ピッチ計算式指定ダイアログボックス５０１に置き換えられている。
【００９８】
ピッチ計算式指定ダイアログボックス５０１は、入力タイプとして「簡易ルール」を指定した場合に、図８（ｃ）に示すように、文字発生演算子として「昇順（Ａｌｐｈａｂｅｔ）」、「昇順（あいおうえお）、「降順（Ａｌｐｈａｂｅｔ）」、「降順（あいおうえお）」が選択できるようになっている。例えば、入力値域を「Ａ」〜「Ｄ」、文字発生演算子として「昇順（Ａｌｐｈａｂｅｔ）」と指定すると、（Ａ，Ｂ，Ｃ，Ｄ）がコンテンツデータとして生成される。もちろん、その他の文字列演算子も用意することは可能である。
【００９９】
また、入力タイプとして「ルール編集」が選択された場合には、図８（ｄ）に示すようなルールの編集画面が起動され、これによりユーザは所望のルールを作成・編集することができる。図８（ｄ）に示す編集画面では、複数の配列からなる文字の組合せ表による文字列展開ルール５０２として記述するようになっているが、もちろん、「Ｎｕｍ＿Ｔｙｐｅ」と同様の編集画面を用意してもよい。
【０１００】
図２５（ａ）に、図８の「Ｓｔｒ＿ｔｙｐｅ」の入力フォームの入力例を示す。最初の入力要素において、入力タイプ「ルール編集」で、ユーザ定義ルール２６０１が記述されている。このルールは、複数の配列のそれぞれの要素として入力された文字列の直積によりコンテンツデータを生成するものである。例えば、図２５（ｂ）図に示すように、１次元配列の各コラム（列）に入力された文字の直積を求めるルールが記述されており、ルール２６０１により、（Ａ，Ｓ）×（ＮＸ）×（００１，００２，００３）×（＃Ｓｐａｃｅ，−１）の組合せが生成されることになる。
【０１０１】
図２５（ａ）では、さらに入力タイプ「手入力」で、文字列「ＳＨＴ」が入力要素として入力されている。この結果、コンテンツデータとして、（ＡＮＸ００１、ＡＮＸ００１−１，  ＡＮＸ００２，  ＡＮＸ００２−１，  ＡＮＸ００３，  ＡＮＸ００３−１，  ＳＮＸ００１，  ＳＮＸ００１−１，  ＳＮＸ００２，  ＳＮＸ００２−１，  ＳＮＸ００３，  ＳＮＸ００３−１、ＳＨＴ）という値をもつ集合型データが生成される。
【０１０２】
（入力タイプが「Ｂｏｏｌ＿ｔｙｐｅ」である集合型コンテンツデータ入力フォーム）
図９は、入力タイプが「Ｂｏｏｌ＿ｔｙｐｅ」である集合型コンテンツデータの入力フォームの例を示している。このタイプは要素の値が「ＴＲＵＥ、ＦＡＬＳＥ」の２値の何れかとなるため、ユーザが所望のルールを記述するフィールドが設定されておらず、入力フィールドが図９（ｂ）に示すダイアログ形式で選択できるようになっている。
【０１０３】
入力タイプが「Ｃｏｎｓｔ１」である集合型コンテンツデータ入力フォーム図１０は、入力タイプが「Ｃｏｎｓｔ１」である集合型コンテンツデータの入力フォームの例を示している。このタイプは、２通りの集合しかありえないため、各集合に対応するボタン７０１で、そのいずれかを選択するようになっている。
【０１０４】
（入力タイプが「Ｄａｔｅ＿ｔｙｐｅ」である集合型コンテンツデータ入力フォーム）
図１１は、入力タイプが「Ｄａｔｅ＿ｔｙｐｅ」である集合型コンテンツデータの入力フォームの例を示している。このタイプは年月日と時分秒を入力することで各入力要素を設定するようになっている。
【０１０５】
（入力タイプが「ＥＮＵＭ＿ｔｙｐｅ」である集合型コンテンツデータ入力フォーム）
図１２（ａ）は、入力タイプが「ＥＮＵＭ＿ｔｙｐｅ」である集合型コンテンツデータの入力フォームの例を示したものである。このタイプは要素の値が辞書データによって定められているため、入力フィールドがダイアログ形式で選択できるようになっている。
【０１０６】
例えば、図２におけるコードが「ＡＡＥ００７」である諸元の場合、図１２（ｂ）に示すように、ダイアログボックスには、辞書要素の定義に従い，「ＯＮ」と「ＯＦＦ」の値が表示されるようになる。
【０１０７】
（入力タイプが「Ｌｅｖｅｌ＿ｔｙｐｅ」である集合型コンテンツデータ入力フォーム）
図１３（ａ）は、入力タイプが「Ｌｅｖｅｌ＿ｔｙｐｅ」である集合型コンテンツデータの入力フォームの例を示したものである。このタイプは各入力要素自体が、最大４種類（Ｍｉｎ、Ｎｏｍ、Ｔｙｐ、Ｍａｘ）の値を持つことができるため、入力値として４つのフィ−ルド１００１〜１００４を持っている。
【０１０８】
通常は、入力タイプ「手入力」で、個々設定するが、入力タイプ「ルール編集」で、１つの要素に含まれる４種類の値の間でのルールを記述することができるようになっている。例えば、「Ｍｉｎ」に対応する値が「Ｔｙｐ」に対応する値の７５％、「Ｍａｘ」に対応する値が「Ｔｙｐ」に対応する値の１２５％、「Ｎｏｍ」に対応する値と「Ｔｙｐ」に対応する値が等しい場合、図１３（ａ）のメイン画面には、「Ｔｙｐ」のみを記述し、図１３（ｃ）に示すルールの編集画面にて、ルールとして、「Ｍｉｎ＝Ｔｙｐ×０．７５、Ｍａｘ＝Ｔｙｐ×１．２５、Ｍｏｍ＝Ｔｙｐ」と記述することができる。
【０１０９】
以上が、配列型ではない（すなわち非ａｒｒａｙ型の）入力タイプの入力フォームである。次に、配列型（ａｒｒａｙ型）の入力タイプの入力フォームについて説明する。なお、ここでは、説明の簡単のため、配列として１次元配列の場合を例にとり説明する。
【０１１０】
（ａｒｒａｙ型の入力タイプに対応した入力フォーム）
図１４から図２１に、配列型（Ａｒｒａｙ型）の入力タイプに対応した入力フォームを示す。ａｒｒａｙ型であるため、入力要素の位置を配列番号として明示的に記述できるようになっている。
【０１１１】
（１）図１４（ａ）は、入力タイプが「Ｎｕｍ＿ａｒｒａｙ」である集合型コンテンツデータの入力フォームの例を示したものである。このタイプでは、入力要素の順番を移動するような場面は想定しにくいため、この入力フォームには移動ボタンが設定されていない。また、入力タイプを指定するためのダイアログボックスでは、図１４（ｂ）に示すように、「手入力」、「ルール編集」の何れか１つを入力要素ごとに選択することができる。
【０１１２】
「手入力」の場合は、配列番号フィールド１１０１の左側のフィードのみに入力することができ、「ルール編集」の場合は、フィールド１１０１に配列番号の範囲を記述することができる。
【０１１３】
「ルール編集」を指定した場合は、図１４（ｃ）に示したようなルール編集画面が起動され、ユーザがルールを記述することができる。
【０１１４】
なお、ａｒｒａｙ型の場合は、要素数が辞書で規定されているため、番号の範囲があらかじめ変数として設定されており（領域１１０２に記述されている）、ユーザはこの変数をルールに用いることができる。
【０１１５】
図２６は、図１４の「Ｎｕｍ＿ａｒｒａｙ」の入力フォームにおける入力例を示したものである。ここでは、配列番号「１」〜「５」までは、ルールが記述されており、配列番号「６」、「７」にはそれぞれの値が設定されている。ここで設定されているルールでは、配列番号の順に１０づつ増加する内容となっており、このルールを実行すると、コンテンツデータとして（１０、２０、３０、４０、５０）が生成される。したがって、図２６に示した入力要素からは、（コンテンツデータとして、（１０、２０、３０、４０、５０、１００、１０００）という配列データが生成されることとなる。
【０１１６】
（２）図１５は、入力タイプが「Ｓｔｒ＿ａｒｒａｙ」である集合型コンテンツデータの入力フォームの例を示したものである。この例では、図１４の「Ｎｕｍ＿ａｒｒａｙ」とフォームが一致している。
【０１１７】
（３）図１６は、入力タイプが「Ｂｏｏｌ＿ａｒｒａｙ」である集合型コンテンツデータの入力フォームの例を示したものである。配列番号を設定した各入力要素に、「ＴＲＵＥ」、「ＦＡＬＳＥ」の２値の何れかを入力すればよく、この入力方法は、図９の「Ｂｏｏｌ＿ｔｙｐｅ」と同様である。
【０１１８】
（４）図１７は、入力タイプが「Ｃｏｎｓｔ２」である集合型コンテンツデータの入力フォームの例を示したものである。このタイプでは、入力要素の位置と値が予め定められた複数個のパターンの中から、ユーザは所望のパターンを選択すればよい。そのために、各パターンに選択ボタンを設け、そのいずれかを選択する。すなわち、この場合、１２通りのパターンしかありえないため、これらパターンのいずれかを選択するようになっている。
【０１１９】
（５）図１８は、入力タイプが「Ｃｏｎｓｔ３」である集合型コンテンツデータの入力フォームの例を示したものである。図１７と同様で、このタイプでは、２通りの集合しかありえないため、この候補のいずれかを選択するようになっている。
【０１２０】
（６）図１９は、入力タイプが「Ｄａｔｅ＿ａｒｒａｙ」である集合型コンテンツデータの入力フォームの例を示したものである。各入力要素の位置は配列番号により設定するが、それ以外の各入力要素の値の入力方法は、図１１の「Ｄａｔｅ＿ｔｙｐｅ」と同様である。
【０１２１】
（７）図２０は、入力タイプが「ＥＮＵＭ＿ａｒｒａｙ」である集合型コンテンツデータの入力フォームの例を示したものである。各入力要素の位置は、配列番号により設定するが、それ以外の各入力要素の値の入力の方法は、図１２の「ＥＮＵＭ＿ｔｙｐｅ」と同様である。
【０１２２】
図２７は、「Ｅｎｕｍ＿ａｒｒａｙ」の入力フォームにおける入力例を示したものである。ここでは、配列番号ごとに辞書データで定義された選択肢の値が設定されている。
【０１２３】
（８）図２１は、入力タイプが「Ｌｅｖｅｌ＿ａｒｒａｙ」である集合型コンテンツデータの入力フォームの例である。各入力要素の位置は、配列番号で設定するが、それ以外の各入力要素の値の入力方法は、図１３の「Ｌｅｖｅｌ＿ｔｙｐｅ」と同様である。
【０１２４】
（集合型コンテンツデータの生成）
上記の各入力フォームに入力されたデータやルールなどは、生成ルールとして生成ルール記憶部９に記憶される。
【０１２５】
図２８、図２９は、生成ルールのデータ構造を示したものである。
【０１２６】
図２８は非ａｒｒａｙ型の（ａｒｒａｙ（配列）型ではない）入力タイプに対応した入力フォームに入力されたデータやルールなどを表す生成ルールのデータ構造であり、図２９は、ａｒｒａｙ型の入力タイプに対応した入力フォームに入力されたデータやルールなどを表す生成ルールのデータ構造である。
【０１２７】
図３０には、生成ルールに記述されるデータのうち、「ルール編集」という入力タイプで、ユーザが入力したルール（ユーザ定義ルール）を表すデータのデータ構造を示したもので、（ｂ）図は、基本データ型が文字型の場合のデータ構造であり、図２５（ｂ）に示すような各コラム（ｃｏｌｕｍｎ）に入力された文字列でルールが記述されている場合のデータ構造で、（ａ）図は、基本データ型が文字型ではない場合であり、テキストによりルールが記述されている場合のデータ構造である。
【０１２８】
図２８〜図３０に示した生成ルールのデータ構造において共通している点は、１行で１データレコードを示しており、データレコードは「Ｉｔｅｍ」フィールド１９０１、「Ｔａｇ」フィールド１９０２、「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールド１９０３からなる。「Ｉｔｅｍ」フィールドは以下に示す種別をもっている。
【０１２９】
・Ｆｏｒｍａｔ：入力タイプ名称（入力タイプ選択部５で選択された入力タイプ）
・ＤａｔａＴｙｐｅ：基本データ型
・ＢＳＵ：辞書要素の識別コード
・ＩＤ：コンテンツデータを識別するＩＤ
・Ｄａｔａ：ルールデータ
・Ｆｕｎｃ：検査処理の名称
・Ｒａｎｇｅ：配列の範囲（Ａｒｒａｙ型のみ）
・Ｔｅｘｔ：ユーザ定義ルールの定義文（図３０（ａ）のテキスト型のユーザ定義ルールのみ）
・Ｃｏｌｕｍｎ：コラムリスト（図３０（ｂ）のコラム型のユーザ定義ルールのみ）
このうち、非ａｒｒａｙ型の生成ルールでは「Ｉｔｅｍ」種別が「Ｄａｔａ」であるものは、以下のＴａｇ種別を持っている。
【０１３０】
・Ｖａｌｕｅ：基本データ型がＤａｔｅ型、Ｌｅｖｅｌ型でない場合に、「手入力」で入力された要素の値が「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールド１９０３に記述される。
【０１３１】
・ＤａｔｅＶａｌｕｅ：基本データ型がＤａｔｅ型である場合に、「手入力」で入力された、年（Ｙｖａｌｕｅ）、月（Ｍｖａｌｕｅ）、日（Ｄｖａｌｕｅ）、時（Ｈｖａｌｕｅ）、分（ＭＭＶａｌｕｅ）、秒（Ｓｖａｌｕｅ）の６つの値が、フィールド１９０３に記述される。
【０１３２】
・ＬｅｖｅｌＶａｌｕｅ：基本データ型がＬｅｖｅｌ型である場合に、「手入力」で入力された、最小（ＭｉｎＶａｌｕｅ）、公称（ＮｏｍＶａｌｕｅ）、代表（ＴｙｐｅＶａｌｕｅ）、最大（ＭａｘＶａｌｕｅ）の４つの値が、フィールド１９０３に記述される。
【０１３３】
・ＰｒｅｄｅｆｉｎｅｄＲｕｌｅ：基本データ型が文字型でない集合型コンテンツデータの入力フォームに設けられている簡易ルールで入力された、値域（Ｂｏｕｎｄ１、Ｂｏｕｎｄ２）、ピッチ計算式（ＣａｌｃＴｙｐｅ、Ｐｉｔｃｈ）の４つの値がフィールド１９０３に記述される。
【０１３４】
・ＰｒｅｄｅｆｉｎｅｄＳｔｒＲｕｌｅ：基本データ型が文字型である集合型コンテンツデータの入力フォームに設けられている、文字列用の簡易ルールで入力された、値域（Ｂｏｕｎｄ１、Ｂｏｕｎｄ２）、ピッチ計算式（Ｐｉｔｃｈ）の３つの値が、フィールド１９０３に記述される。
【０１３５】
・ＵｓｅｒＲｕｌｅ：基本データ型がレベル型でない場合に「ルール編集」で入力された、ユーザ定義ルールの名称（ＲｕｌｅＮａｍｅ）
・ＬｅｖｅｌＵｓｅｒＲｕｌｅ：基本データ型がＬｅｖｅｌ型である場合に「ルール編集」で入力された、４つの値とユーザ定義ルール名（ＲｕｌｅＮａｍｅ）がフィールド１９０３に記述される。
【０１３６】
また、ａｒｒａｙ型の生成ルールでは、「Ｉｔｅｍ」種別が「Ｄａｔａ」であるものは、以下のＴａｇ種別を持っている。
【０１３７】
・Ｖａｌｕｅ：「手入力」で入力された、配列番号（Ｎｕｍ）と要素の値（Ｖａｌｕｅ）がフィールド１９０３に記述される。
【０１３８】
・ＤａｔｅＶａｌｕｅ：「手入力」で入力された、配列番号（Ｎｕｍ）と基本データ型がＤａｔｅ型のデータがフィールド１９０３に記述される。
【０１３９】
・ＬｅｖｅｌＶａｌｕｅ：「手入力」で入力された、配列番号（Ｎｕｍ）と基本データ型がＬｅｖｅｌ型のデータがフィールド１９０３に記述される。
【０１４０】
・ＬｅｖｅｌＵｓｅｒＲｕｌｅ：「ルール編集」で入力された、配列番号（Ｎｕｍ）と基本データ型がＬｅｖｅｌ型のデータとユーザ定義ルール名がフィールド１９０３に記述される。
【０１４１】
・ＵｓｅｒＲｕｌｅ：「ルール編集」で入力された、配列番号の範囲（Ｎｕｍ１，Ｎｕｍ２）とユーザ定義ルール名（ＲｕｌｅＮａｍｅ）がフィールド１９０３に記述される。
【０１４２】
図３１〜図３６は、図２２〜図２７に示した入力フォームへの入力例のそれぞれに対応する生成ルールを示したものである。
【０１４３】
図３１に示す生成ルールは、図２２に示したＮｕｍ＿ｔｙｐｅの入力フォームへの入力例に対応するものである。この場合、入力タイプの名称、基本データ型、辞書要素の識別コード、コンテンツデータを識別するＩＤ、手入力で入力されたコンテンツデータの２つの要素の値、選択された２つの検査処理の名称が、この順で記述されている。
【０１４４】
図３２に示す生成ルールは、図２３に示したＮｕｍ＿ｔｙｐｅの入力フォームへの入力例に対応するものである。この場合、入力タイプの名称、基本データ型、辞書要素の識別コード、コンテンツデータを識別するＩＤ、簡易ルールで入力された１行目の入力要素２４０１の値、２行目の入力要素の値２４０２、手入力で入力されたコンテンツデータの要素の値、選択された１つの検査処理の名称が、この順で記述されている。
【０１４５】
図３３（ａ）に示す生成ルールは、図２４に示したＮｕｍ＿ｔｙｐｅの入力フォームへの入力例に対応するものである。この場合、入力タイプの名称、基本データ型、辞書要素の識別コード、コンテンツデータを識別するＩＤ、ユーザ定義ルールの名称、選択された２つの検査処理の名称が、この順で記述されている。図３３（ｂ）は、ユーザ定義ルールを記述した生成ルールである。この場合、ユーザ定義ルールの名称と、基本データ型に続き、ユーザにより入力されたルールが「Ｔｅｘｔ」として記述されている。
【０１４６】
図３４（ａ）に示す生成ルールは、図２５に示したＳｔｒ＿ｔｙｐｅの入力フォームへの入力例に対応するものである。この場合、入力タイプの名称、基本データ型、辞書要素の識別コード、コンテンツデータを識別するＩＤ、ユーザ定義ルールの名称、手入力されたコンテンツデータの要素の値が、この順で記述されている。図３４（ｂ）は、ユーザ定義ルールを記述した生成ルールである。この場合、ユーザ定義ルールの名称と、基本データ型に続き、ユーザにより各コラムに入力された文字列が「ｃｏｌｕｍｎ」として記述されている。
【０１４７】
図３５（ａ）に示す生成ルールは、図２６に示したＮｕｍ＿ａｒｒａｙの入力フォームへの入力例に対応するものである。この場合、入力タイプの名称、基本データ型、辞書要素の識別コード、コンテンツデータを識別するＩＤ、配列の範囲（ここでは、１行７列）、ユーザ定義ルールの名称、手入力されたコンテンツデータの２つの要素の値、選択された検査処理の名称が、この順で記述されている。図３５（ｂ）は、ユーザ定義ルールを記述した生成ルールである。この場合、ユーザ定義ルールの名称と、基本データ型に続き、ユーザによりユーザにより入力されたルールが「Ｔｅｘｔ」として記述されている。
【０１４８】
図３６に示す生成ルールは、図２７に示したＥＮＵＭ＿ａｒｒａｙの入力フォームへの入力例に対応するものである。この場合、入力タイプの名称、基本データ型、辞書要素の識別コード、コンテンツデータを識別するＩＤ、配列の範囲（ここでは、１行６列）、配列の要素としてダイアログボックスに表示された値のうちユーザにより選択された値、選択された検査処理の名称が、この順で記述されている。
【０１４９】
コンテンツデータ生成部１０は、上記生成ルールに記述されたデータを用いて、集合型コンテンツデータを生成する。
【０１５０】
図４１は、図３７のステップＳ１２におけるコンテンツデータ生成処理を説明するためのフローチャートである。この処理はコンテンツデータ生成部１０で実行される。
【０１５１】
はじめに、電子カタログコンテンツデータ編集部２の編集画面上で指定されたセルに対し、「集合型コンテンツデータ生成」操作があった場合、当該指定されたセルに対応する生成ルールが、生成ルール記憶部９に記憶されているかを調べる（ステップＳ６１）。存在しなければ、エラーメッセージを表示する（ステップＳ６２）。当該生成ルールが存在すれば、当該生成ルールＲを生成ルール記憶部９から読み出す（ステップＳ６３）。
【０１５２】
次に、生成ルールＲの「Ｆｏｒｍａｔ」データレコードＲ１の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの値Ｄ１（すなわち、入力タイプ）を得る（ステップＳ６３）。そして、生成ルールＲから、「Ｄａｔａ」データの先頭レコードＲ２を取り出す（ステップＳ６５）。
【０１５３】
値Ｄ１で表されている入力タイプがａｒｒａｙ型かどうかを調べる（ステップＳ６６）。入力タイプがａｒｒａｙ型でない場合は、生成ルールＲの「ＤａｔａＴｙｐｅ」データレコードＲ４を取り出し、その「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの値に対応する空集合のリストＬを生成し（ステップＳ６７）、第１のデータ生成処理を実行する（ステップＳ６８）。次に、生成ルールの次の「Ｄａｔａ」データレコードを探し、それを新たなＲ２としてステップＳ６８へ戻り第１のデータ生成処理を実行することを、生成ルールに「Ｄａｔａ」データレコードが存在する間繰り返す（ステップＳ６９〜ステップＳ７０）。第１のデータ生成処理を繰返し実行することで、リストＬの各要素が生成される。
【０１５４】
ステップＳ６６で、値Ｄ１で表されている入力タイプがａｒｒａｙ型の場合は、図４２のステップＳ７１へ進み、生成ルールＲの「ＤａｔａＴｙｐｅ」データレコードＲ４と「Ｒａｎｇｅ」データレコードＲ５を求め、Ｒ４のＤｅｓｃｒｉｐｔｉｏｎフィールドの値に対応し、Ｒ５のＤｅｓｃｒｉｐｔｉｏｎフィールドの値（範囲）を持つ配列Ａを生成し（ステップＳ７１）、第２のデータ生成処理を実行する（ステップＳ７２）。次に、生成ルールＲの次の「Ｄａｔａ」データレコードを探し、それを新たなＲ２としてステップＳ７２へ戻り第２のデータ生成処理を実行することを、生成ルールに「Ｄａｔａ」データレコードが存在する間繰り返す（ステップＳ７３〜ステップＳ７４）。第２のデータ生成処理を繰返し実行することで、配列Ａの各要素が生成される。
【０１５５】
ステップＳ６９あるいはステップＳ７３において、「Ｄａｔａ」データレコードが終了したら、生成ルールＲから、先頭の「Ｆｕｎｃ」データレコードＲ３を取り出す（ステップＳ７５）。このデータレコードＲ３の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドに記述された検査処理のプログラム（以下、検査関数と呼ぶ）を、生成ルール記憶部９から読込み、当該検査処理を、リストＬあるいは配列Ａに適用する（ステップＳ７６）。
【０１５６】
検査関数がエラーを検出した場合、すなわち、リストＬや配列Ａの要素に、当該集合型コンテンツデータの種別や基本データ型、「Ｕｎｉｑｕｅｎｅｓｓ」、「Ｏｐｔｉｏｎａｌ」により定められた条件を満たさないものが存在するときは（ステップＳ７７）、エラーメッセージを表示し、処理を中断する（ステップＳ７８）。
【０１５７】
リストＬや配列Ａに検査関数を適用して、エラーが検出されなかった場合、すなわち、リストＬや配列Ａの全ての要素が、当該集合型コンテンツデータの種別や基本データ型、「Ｕｎｉｑｕｅｎｅｓｓ」、「Ｏｐｔｉｏｎａｌ」により定められた条件を満たすときは、次に、生成ルールの次の「Ｆｕｎｃ」データレコードを探し、それを新たなＲ３としてステップＳ７６へ戻り、次の検査関数をリストＬや配列Ａに適用して、リストＬや配列Ａの要素に、当該集合型コンテンツデータの種別や基本データ型、「Ｕｎｉｑｕｅｎｅｓｓ」、「Ｏｐｔｉｏｎａｌ」により定められた条件を満たさないものはないか検査することを、生成ルールに「Ｆｕｎｃ」データレコードが存在する間繰り返す（ステップＳ７９〜ステップＳ８０）。
【０１５８】
生成ルールＲに記述されている各「Ｆｕｎｃ」データレコードに対応する検査関数を用いてリストＬや配列Ａの各要素を検査して、いずれの検査においてもエラーが検出されなかったときは、当該リストＬや、配列Ａの各要素を、指定されセルに代入する（ステップＳ８１）。
【０１５９】
次に、図４３、図４４に示すフローチャートを参照して、図４１のステップＳ６８における第１のデータ生成処理について説明する。この処理は、ａｒｒａｙ型でない集合型コンテンツデータの各要素をリストＬの要素として生成するための処理である。データレコードＲ２の「Ｔａｇ」フィールドの値に応じて、データ処理手順が異なる。
【０１６０】
「Ｔａｇ」フィールドの値が「Ｖａｌｕｅ」である場合、すなわち、「手入力」で入力された要素の値である場合（ステップＳ１０１）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの値（＝Ｖａｌｕｅ）をリストＬに追加する（ステップＳ１０５）。
【０１６１】
「Ｔａｇ」フィールドの値が「ＤａｔｅＶａｌｕｅ」である場合、すなわち、「手入力」で入力されたＤａｔｅ型の要素の値である場合（ステップＳ１０２）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの値（＝Ｙｖａｌｕｅ、Ｍｖａｌｕｅ、Ｄｖａｌｕｅ、Ｈｖａｌｕｅ、ＭＭＶａｌｕｅ、Ｓｖａｌｕｅ）をリストＬに追加する（ステップＳ１０６）。
【０１６２】
「Ｔａｇ」フィールドの値が「ＬｅｖｅｌＶａｌｕｅ」である場合、すなわち、「手入力」で入力されたＬｅｖｅｌ型の要素の値である場合（ステップＳ１０３）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの値（＝ＭｉｎＶａｌｕｅ、ＮｏｍＶａｌｕｅ、ＴｙｐｅＶａｌｕｅ、ＭａｘＶａｌｕｅ）をリストＬに追加する（ステップＳ１０７）。
【０１６３】
「Ｔａｇ」フィールドの値が「ＰｒｅｄｅｆｉｎｄＲｕｌｅ」である場合、すなわち、入力フォームに予め備わっている簡易ルールを用いて入力している場合（ステップＳ１０４）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの値（＝Ｂｏｕｎｄ１、Ｂｏｕｎｄ２、ＣａｌｃＴｙｐｅ、Ｐｉｔｃｈ）を取出し（ステップＳ１０８）、変数Ｘに、「Ｂｏｕｎｄ１」に対応する値代入し、ＸをリストＬに追加する（ステップＳ１０９）。
【０１６４】
次に、Ｘに、「Ｐｉｔｃｈ」に対応する値を引数とした「ＣａｌｃＴｙｐｅ」に対応する演算を実行し、その結果をＸに代入し、Ｘの新たな値をリストＬに追加する（ステップＳ１１１）。ステップＳ１１１の処理は、  Ｘ≦Ｂｏｕｎｄ２を満たす間繰り返す（ステップＳ１１０〜ステップＳ１１３）。
【０１６５】
「Ｔａｇ」フィールドの値が「ＰｒｅｄｅｆｉｎｅｄＳｔｒＲｕｌｅ」である場合、すなわち、文字列用の簡易ルールで入力している場合（図４４のステップＳ１１５）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの値（＝Ｂｏｕｎｄ１、Ｂｏｕｎｄ２、Ｐｉｔｃｈ）を取出し（ステップＳ１１６）、Ｘに「Ｂｏｕｎｄ１」に対応する値を代入し、Ｘの値をリストＬに追加する（ステップＳ１１７）。次にＸに「Ｐｉｔｃｈｅ」に対応する演算を実行し、その結果をＸに代入し、新たなＸの値をリストＬに追加する（ステップＳ１１９）。ステップＳ１１９の処理は、  Ｘ≦Ｂｏｕｎｄ２  を満たす間繰り返す（ステップＳ１１８〜ステップＳ１２１）。
【０１６６】
「Ｔａｇ」フィールドの値が「ＬｅｖｅｌＵｓｅｒＲｕｌｅ」である場合、すなわち、基本データ型がＬｅｖｅｌ型である場合にユーザ定義ルールで入力している場合（ステップＳ１１６）、はじめに、データレコードＲ２のＤｅｓｃｒｉｐｔｉｏｎフィールドの最初の４つの値（＝ＭｉｎＶａｌｕｅ、ＮｏｍＶａｌｕｅ、ＴｙｐｅＶａｌｕｅ、ＭａｘＶａｌｕｅ）をリストＬに追加し（ステップＳ１１７）、次に、リストＬに対しデータレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最後の値（＝ＲｕｌｅＮａｍｅ）、すなわち、ユーザ定義ルール名に対応する生成ルールに記述されている処理を実行し（ステップＳ１１８）、実行の結果得られた値をリストＬの内容として追加する（ステップＳ１１９）。
【０１６７】
「Ｔａｇ」フィールドの値が「ＵｓｅｒＲｕｌｅ」である場合、すなわち、基本データ型がＬｅｖｅｌ型でない場合にユーザ定義ルールで入力している場合（ステップＳ１２０）、リストＬに対し。データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最後の値（＝ＲｕｌｅＮａｍｅ）、すなわち、ユーザ定義ルール名に対応する生成ルールに記述されている処理を実行し（ステップＳ１２１）、実行の結果得られた値をリストＬの内容として追加する（ステップＳ１２２）。
【０１６８】
「Ｔａｇ」フィールドの値が、上記のいずれにも該当しない場合は、エラーメッセージを表示する（ステップＳ１２３）。
【０１６９】
次に、図４５、図４６に示すフローチャートを参照して、図４２のステップＳ７２における第２のデータ生成処理について説明する。この処理は、ａｒｒａｙ型の集合型コンテンツデータの各要素を配列Ａの要素として生成するための処理である。データレコードＲ２の「Ｔａｇ」フィールドの値に応じて、データ処理手順が異なる。
【０１７０】
「Ｔａｇ」フィールドの値が「Ｖａｌｕｅ」である場合、すなわち、「手入力」で配列番号（Ｎｕｍ）と要素の値（Ｖａｌｕｅ）を入力した場合（ステップＳ１３１）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最初の値（＝Ｎｕｍ）と一致する配列Ａのアドレスに、当該「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの次の値（＝Ｖａｌｕｅ）を代入する（ステップＳ１３２）。
【０１７１】
「Ｔａｇ」フィールドの値が「ＤａｔｅＶａｌｕｅ」である場合、すなわち、「手入力」で、配列番号（Ｎｕｍ）と基本データ型がＤａｔｅ型のデータが入力された場合（ステップＳ１３３）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最初の値（＝Ｎｕｍ）と一致する配列Ａのアドレスに、当該「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの残りの６つの値（＝Ｙｖａｌｕｅ、Ｍｖａｌｕｅ、Ｄｖａｌｕｅ、Ｈｖａｌｕｅ、ＭＭＶａｌｕｅ、Ｓｖａｌｕｅ）を代入する（ステップＳ１３４）。
【０１７２】
「Ｔａｇ」フィールドの値が「ＬｅｖｅｌＶａｌｕｅ」である場合、すなわち、「手入力」で、配列番号（Ｎｕｍ）と基本データ型がＤａｔｅ型のデータが入力された場合（ステップＳ１３５）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎフィールド」の最初の値（＝Ｎｕｍ）と一致する配列Ａのアドレスに、当該「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの残りの４つの値（＝ＭｉｎＶａｌｕｅ、ＮｏｍＶａｌｕｅ、ＴｙｐｅＶａｌｕｅ、ＭａｘＶａｌｕｅ）を代入する（ステップＳ１３６）。
【０１７３】
「Ｔａｇ」フィールドの値が「ＬｅｖｅｌＵｓｅｒＲｕｌｅ」である場合、すなわち、「ルール編集」で、配列番号（Ｎｕｍ）と基本データ型がＬｅｖｅｌ型のデータとユーザ定義ルールが入力された場合（図４６のステップＳ１３７）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最初の値（＝Ｎｕｍ）と一致する配列Ａのアドレスに、当該「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの残りの４つの値（＝ＭｉｎＶａｌｕｅ、ＮｏｍＶａｌｕｅ、ＴｙｐｅＶａｌｕｅ、ＭａｘＶａｌｕｅ）を代入し（ステップＳ１３８）、次に、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最後の値（＝ＲｕｌｅＮａｍｅ）すなわち、ユーザ定義ルール名に対応する生成ルールに記述されている処理を実行し（ステップＳ１３９）、実行の結果得られた値を配列Ａの内容として追加する（ステップＳ１４０）。
【０１７４】
「Ｔａｇ」フィールドの値が「ＵｓｅｒＲｕｌｅ」である場合、すなわち、「ルール編集」で、配列番号の範囲（Ｎｕｍ１，Ｎｕｍ２）とユーザ定義ルールが入力された場合（ステップＳ１４１）、データレコードＲ２の「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最初の２つの値（＝Ｎｕｍ１、Ｎｕｍ２）の範囲にある全ての配列Ａのアドレスに、当該「Ｄｅｓｃｒｉｐｔｉｏｎ」フィールドの最後の値（＝ＲｕｌｅＮａｍｅ）、すなわち、ユーザ定義ルール名に対応する生成ルールに記述されている処理を実行し（ステップＳ１４２）、実行の結果得られた値を配列Ａの内容として追加する（ステップＳ１４３）。
【０１７５】
「Ｔａｇ」フィールドの値が、上記のいずれにも該当しない場合は、エラーメッセージを表示する（ステップＳ１４４）。
【０１７６】
（集合型コンテンツデータの入力手順）
図４７〜図５０を参照して、図１の電子カタログコンテンツ作成システムで、集合型コンテンツデータを入力する場合のユーザ操作手順について、図３７に示したフローチャートに従って説明する。
【０１７７】
図４７に示したような、電子カタログコンテンツデータ編集部２で表示される編集画面Ｇ１上で、ユーザは、未入力部分（空白のセル）を選択する（図３７のステップＳ３）。すると、当該選択されたセルに対応するコンテンツデータは、集合型コンテンツデータであるために（ステップＳ１１〜ステップＳ１２）、当該選択されたセルに対応する辞書要素データを読込み、図４８に示すように、生成ルール編集画面Ｇ２が起動される。
【０１７８】
例えば、ユーザにより選択されたセルに対応する諸元は、コード「ＡＥＥ００２」の「目盛り設定」であり、図２に示した辞書要素データから、この諸元に対応するコンテンツデータは、Ｌｉｓｔ型の集合型コンテンツデータであり、基本データ型はＲｅａｌ型である。そして、「Ｕｎｉｑｕｅｎｅｓｓ」の値は「ＦＡＬＳＥ」である。ステップＳ１５の生成ルール編集処理では、まず、これらを条件として、当該セルに対応する入力タイプと検査処理を選択する。すると、入力タイプは、Ｎｕｍ＿ｔｙｐｅであることがわかる。図４８の生成ルール編集画面Ｇ２には、図７に示したＮｕｍ＿ｔｙｐｅの入力フォームが表示されている。
【０１７９】
ここでは、「簡易ルール」および「手入力」にて生成ルールが入力（編集）され、当該生成ルール編集画面に設けられた「ＯＫ」ボタンが押されて、当該生成ルールが生成ルール記憶部９に記憶される。
【０１８０】
この時点で、編集画面Ｇ１の当該選択されたセルには、図４９に示すように、生成ルールが保存されているが、まだ、コンテンツデータ生成部１０におけるコンテンツデータ生成処理が未実施であることを示す印「（＊）」が表示される。
【０１８１】
次に、図４９に示すように、編集画面Ｇ１上の生成ルールの保存されているセルを選択し、編集画面Ｇ１に設けられた「コンテンツ生成」ボタンが押されて（ステップＳ４）、コンテンツデータ生成処理が開始される（ステップＳ１２）。
【０１８２】
このときのコンテンツデータ生成処理（具体的には、図４３の第１のデータ生成処理のステップＳ１０４、ステップＳ１０８〜ステップＳ１１３の処理）では、まず、生成ルールの１番目の「Ｄａｔａ」データレコードを処理対象として、「簡易ルール」で入力されたデータ、すなわち、Ｂｏｕｎｄ１＝１．５、Ｂｏｕｎｄ２＝６．０、ＣａｌｃＴｙｐｅ＝＋、Ｐｉｔｃｈ＝１．５から、（１．５，３．０，４．５、６．０）を生成し、これをリストＬの要素する。次に、生成ルールの２番目の「Ｄａｔａ」データレコードを処理対象として、「簡易ルール」で入力されたデータ、すなわち、Ｂｏｕｎｄ１＝１０、Ｂｏｕｎｄ２＝８０、ＣａｌｃＴｙｐｅ＝＊、Ｐｉｔｃｈ＝２から、（１０，２０，４０，８０）を生成し、これをリストＬの要素に追加する。最後に、生成ルールの３番目の「Ｄａｔａ」データレコードを処理対象として、「手入力」で入力されたデータ、すなわち、「１００」をリストＬの最後の要素として追加する。その結果、リストＬとして、（１．５，３．０，４．５、６．０、１０，２０，４０，８０、１００）が得られる。
【０１８３】
リストＬの要素は、図５０に示すように、編集画面Ｇ１上のコンテンツ生成のために選択されたセルに表示される。なお、図５０では、セルに、生成された集合型コンテンツデータの一部が表示されている様子を示している。この場合、当該セルにカーソルをおくことにより、図５０に示すように、コンテンツデータ全体がポップアップされて表示される。
【０１８４】
以上説明したように、上記実施形態によれば、複数の要素データから構成される集合型データの各要素を１つ１つ全て入力する替わりに、計算ルール（入力フォームに備わる簡易ルール）や処理手順（ユーザ定義ルール）での入力を可能にすることで、要素データの個数が多くなればなるほど、要素データを全て手入力で入力する場合と比べて、入力の手間が大幅に軽減できるとともに、誤入力もなく、一度に数多くの要素データを入力することができる。
【０１８５】
また、コンテンツデータ生成部１０で生成されたコンテンツデータを構成する各要素データに対しては、当該コンテンツデータの集合型の種類とその要素データの種類により定められる条件を満たす否かを検査することで、入力するコンテンツデータの信頼性と品質の向上が図れる。
【０１８６】
本発明の実施の形態に記載した本発明の手法（特に、図３７〜図４６のフローチャートで示した処理手順など）は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。
【０１８７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１８８】
【発明の効果】
以上説明したように、本発明によれば、入力に手間のかかる複数の要素データからなる集合型データの入力作業を大幅に軽減することができる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかる電子カタログコンテンツ作成システムの機能構成例を示した図。
【図２】辞書データのデータ構造を示した図。
【図３】電子カタログコンテンツデータの一例を示した図。
【図４】入力タイプ選択ルールの一例を示した図。
【図５】検査処理選択ルールの一例を示した図。
【図６】電子カタログコンテンツデータ編集部により表示される編集画面の一例を示した図。
【図７】入力タイプが「Ｎｕｍ＿ｔｙｐｅ」の入力フォームの画面表示例を示した図。
【図８】入力タイプが「Ｓｔｒ＿ｔｙｐｅ」の入力フォームの画面表示例を示した図。
【図９】入力タイプが「Ｂｏｏｌ＿ｔｙｐｅ」の入力フォームの画面表示例を示した図。
【図１０】入力タイプが「Ｃｏｎｓｔ１」の入力フォームの画面表示例を示した図。
【図１１】入力タイプが「Ｄａｔｅ＿ｔｙｐｅ」の入力フォームの画面表示例を示した図。
【図１２】入力タイプが「ＥＮＵＭ＿ｔｙｐｅ」の入力フォームの画面表示例を示した図。
【図１３】入力タイプが「Ｌｅｖｅｌ＿ｔｙｐｅ」の入力フォームの画面表示例を示した図。
【図１４】入力タイプが「Ｎｕｍ＿ａｒｒａｙ」の入力フォームの画面表示例を示した図。
【図１５】入力タイプが「Ｓｔｒ＿ａｒｒａｙ」の入力フォームの画面表示例を示した図。
【図１６】入力タイプが「Ｂｏｏｌ＿ａｒｒａｙ」の入力フォームの画面表示例を示した図。
【図１７】入力タイプが「Ｃｏｎｓｔ２」の入力フォームの画面表示例を示した図。
【図１８】入力タイプが「Ｃｏｎｓｔ３」の入力フォームの画面表示例を示した図。
【図１９】入力タイプが「Ｄａｔｅ＿ａｒｒａｙ」の入力フォームの画面表示例を示した図。
【図２０】入力タイプが「ＥＮＵＭ＿ａｒｒａｙ」の入力フォームの画面表示例を示した図。
【図２１】入力タイプが「Ｌｅｖｅｌ＿ａｒｒａｙ」の入力フォームの画面表示例を示した図。
【図２２】入力タイプが「Ｎｕｍ＿ｔｙｐｅ」の入力フォームに、「手入力」でデータ入力した場合の入力例を示した図。
【図２３】入力タイプが「Ｎｕｍ＿ｔｙｐｅ」の入力フォームに、「簡易ルール」でデータ入力した場合の入力例を示した図。
【図２４】入力タイプが「Ｎｕｍ＿ｔｙｐｅ」の入力フォームに、「ルール編集」でデータ入力した場合の入力例を示した図。
【図２５】入力タイプが「Ｓｔｒ＿ｔｙｐｅ」の入力フォームに、「ルール編集」でデータ入力した場合の入力例を示した図。
【図２６】入力タイプが「Ｎｕｍ＿ａｒｒａｙ」の入力フォームに、「ルール編集」でデータ入力した場合の入力例を示した図。
【図２７】入力タイプが「ＥＮＵＭ＿ａｒｒａｙ」の入力フォームへのデータ入力例を示した図。
【図２８】非配列型の生成ルールのデータ構造を示した図。
【図２９】配列型の生成ルールのデータ構造を示した図。
【図３０】ユーザ定義ルールを記述する生成ルールのデータ構造を示した図。
【図３１】図２２に示したＮｕｍ＿ｔｙｐｅの入力フォームへの入力例に対応する生成ルールの具体例を示した図。
【図３２】図２３に示したＮｕｍ＿ｔｙｐｅの入力フォームへの入力例に対応する生成ルールの具体例を示した図。
【図３３】図２４に示したＮｕｍ＿ｔｙｐｅの入力フォームへの入力例に対応する生成ルールの具体例を示した図。
【図３４】図２５に示したＳｔｒ＿ｔｙｐｅの入力フォームへの入力例に対応する生成ルールの具体例を示した図。
【図３５】図２６に示したＮｕｍ＿ａｒｒａｙの入力フォームへの入力例に対応する生成ルールの具体例を示した図。
【図３６】図２７に示したＥＮＵＭ＿ａｒｒａｙの入力フォームへの入力例に対応する生成ルールの具体例を示した図。
【図３７】電子カタログコンテンツデータ編集部の処理動作を説明するためのフローチャート。
【図３８】電子カタログコンテンツデータ編集部の処理動作を説明するためのフローチャート。
【図３９】生成ルール編集部の生成ルール編集処理動作を説明するためのフローチャート。
【図４０】入力タイプ選択部の入力タイプ選択処理動作を説明するためのフローチャート。
【図４１】コンテンツデータ生成部のコンテンツデータ生成処理動作を説明するためのフローチャート。
【図４２】コンテンツデータ生成部のコンテンツデータ生成処理動作を説明するためのフローチャート。
【図４３】コンテンツデータ生成処理で実行される第１のデータ生成処理動作を説明するためのフローチャート。
【図４４】コンテンツデータ生成処理で実行される第１のデータ生成処理動作を説明するためのフローチャート。
【図４５】コンテンツデータ生成処理で実行される第２のデータ生成処理動作を説明するためのフローチャート。
【図４６】コンテンツデータ生成処理で実行される第２のデータ生成処理動作を説明するためのフローチャート。
【図４７】編集画面上でのユーザ操作を説明するための図。
【図４８】入力フォームを表示した生成ルール編集画面の表示例を示した図。
【図４９】編集画面上での生成ルールが保存されているセルの表示例を示した図。
【図５０】編集画面上での生成されたコンテンツデータの表示例を示した図。
【符号の説明】
１…辞書データ記憶部、２…電子カタログコンテンツデータ編集部、３…入力タイプ選択ルール編集部、４…入力タイプ選択ルール記憶部、５…入力タイプ選択部、６…入力フォーム編集部、７…入力フォーム記憶部、８…生成ルール編集部、９…生成ルール記憶部、１０…コンテンツデータ生成部、１１…電子カタログコンテンツデータ記憶部、１２…インタフェース部
【図１】
2004302684.tif 000003
【図２】
2004302684.tif 000004
【図３】
2004302684.tif 000005
【図４】
2004302684.tif 000006
【図５】
2004302684.tif 000007
【図６】
2004302684.tif 000008
【図７】
2004302684.tif 000009
【図８】
2004302684.tif 000010
【図９】
2004302684.tif 000011
【図１０】
2004302684.tif 000012
【図１１】
2004302684.tif 000013
【図１２】
2004302684.tif 000014
【図１３】
2004302684.tif 000015
【図１４】
2004302684.tif 000016
【図１５】
2004302684.tif 000017
【図１６】
2004302684.tif 000018
【図１７】
2004302684.tif 000019
【図１８】
2004302684.tif 000020
【図１９】
2004302684.tif 000021
【図２０】
2004302684.tif 000022
【図２１】
2004302684.tif 000023
【図２２】
2004302684.tif 000024
【図２３】
2004302684.tif 000025
【図２４】
2004302684.tif 000026
【図２５】
2004302684.tif 000027
【図２６】
2004302684.tif 000028
【図２７】
2004302684.tif 000029
【図２８】
2004302684.tif 000030
【図２９】
2004302684.tif 000031
【図３０】
2004302684.tif 000032
【図３１】
2004302684.tif 000033
【図３２】
2004302684.tif 000034
【図３３】
2004302684.tif 000035
【図３４】
2004302684.tif 000036
【図３５】
2004302684.tif 000037
【図３６】
2004302684.tif 000038
【図３７】
2004302684.tif 000039
【図３８】
2004302684.tif 000040
【図３９】
2004302684.tif 000041
【図４０】
2004302684.tif 000042
【図４１】
2004302684.tif 000043
【図４２】
2004302684.tif 000044
【図４３】
2004302684.tif 000045
【図４４】
2004302684.tif 000046
【図４５】
2004302684.tif 000047
【図４６】
2004302684.tif 000048
【図４７】
2004302684.tif 000049
【図４８】
2004302684.tif 000050
【図４９】
2004302684.tif 000051
【図５０】
2004302684.tif 000052