(57)【特許請求の範囲】
【請求項１】
バリアブルデータ印刷の文書に内部データを適用することでバリアブルデータ印刷の印刷データを生成する情報処理装置であって、
マークアップ言語データ構造情報を読み込んでマークアップ言語データが有する構造を表示するマークアップ言語データ構造表示手段と、
前記マークアップ言語データ構造表示手段で表示されたマークアップ言語データ構造において、前記内部データを適用する際の基準となるレコード単位を示すレコードレベルとなるレコードレベル要素の指定をユーザから受け付けるレコードレベル要素指定受付手段と、
前記マークアップ言語データ構造表示手段により表示されたマークアップ言語データ構造において、前記レコードレベル要素を基準として使用可能な使用要素を選択し、前記選択された使用要素に対するフィールドの参照名の指定を受け付けるフィールド参照名受付手段と、
前記フィールド参照名受付手段で指定されたフィールド参照名と文書中の可変部分とを関連付ける可変部分関連付手段と、
前記マークアップ言語データ構造情報に基づいたマークアップ言語データを前記内部データの構造に変換するマークアップ言語データ構造変換手段と、
前記マークアップ言語データ構造変換手段が変換したデータ構造を使用し、前記可変部分関連付手段にて関連付けられた文書中の可変部分に対して前記内部データを適用してバリアブルデータ印刷の印刷データを生成する印刷データ生成手段と
を有し、
前記マークアップ言語データ構造変換手段は、前記レコードレベル要素指定受付手段で指定された前記レコードレベル要素を基準とした単位ごとに変換し、
前記マークアップ言語データ構造情報は、前記マークアップ言語データとは別に管理されていることを特徴とする情報処理装置。
【請求項２】
前記レコードレベル要素指定受付手段におけるレコードレベル要素の指定を受け付けた後に、前記マークアップ言語データ構造表示手段で表示されたマークアップ言語データ構造から前記内部データとして使用する使用要素の指定をユーザから受け付ける使用要素受付手段を更に有し、
前記使用要素受付手段は、前記レコードレベル要素を基準に使用可能な使用要素として、前記レコードレベル要素指定受付手段で指定された前記レコードレベル要素よりも下位の要素が選択されるように制御し、
前記マークアップ言語データ構造変換手段は、指定された前記使用要素を前記内部データの構造に変換することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記マークアップ言語データ構造変換手段で変換した前記内部データと内部データの構造を有する他のデータとを結合し、前記バリアブルデータ印刷の文書に適用するための内部データを生成する複数内部データ結合手段と、
前記レコードレベル要素を基準に使用可能な使用要素から選択された使用要素の１つに対して主キーを指定する主キー指定手段と
を更に有し、
前記複数内部データ結合手段は、前記主キーに基づいて結合処理を実行することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記マークアップ言語データ構造情報で要素が有限回の繰り返しが可能か否かを判定する有限回判定手段と、
前記有限回の繰り返しが可能と判定された要素について、繰り返し可能な回数分の要素を追加して、表示する有限回繰返要素表示手段と
を更に有することを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記マークアップ言語データ構造情報で要素が無限回の繰り返しが可能か否かを判定する無限回判定手段と、
前記無限回の繰り返しが可能と判定された要素について、所定の有限回の回数分の要素を追加して、表示する無限回繰返要素表示手段と
を更に有することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記マークアップ言語データ構造表示手段は、
前記マークアップ言語データ構造において繰り返し可能な要素が前記レコードレベル要素の候補であることを示す表示を行うレコードレベル候補表示手段と、
前記マークアップ言語データ構造において使用要素として指定できない要素を使用除外要素として示す表示を行う使用除外要素表示手段とのうち、少なくとも一方を有すること
を特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記マークアップ言語データは、ＸＭＬデータであることを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記マークアップ言語データ構造情報は、ＸＭＬスキーマ、またはＲｅｌａｘ、またはＤＴＤのいずれかであることを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
バリアブルデータ印刷の文書に内部データを適用することでバリアブルデータ印刷の印刷データを生成する情報処理装置の制御方法であって、
前記情報処理装置のマークアップ言語データ構造表示手段が、マークアップ言語データ構造情報を読み込んでマークアップ言語データが有する構造を表示するマークアップ言語データ構造表示工程と、
前記情報処理装置のレコードレベル要素指定受付手段が、前記マークアップ言語データ構造表示工程で表示されたマークアップ言語データ構造において、前記内部データを適用する際の基準となるレコード単位を示すレコードレベルとなるレコードレベル要素の指定をユーザから受け付けるレコードレベル要素指定受付工程と、
前記情報処理装置のフィールド参照名受付手段が、前記マークアップ言語データ構造表示工程により表示されたマークアップ言語データ構造において、前記レコードレベル要素を基準として使用可能な使用要素を選択し、前記選択された使用要素に対するフィールドの参照名の指定を受け付けるフィールド参照名受付工程と、
前記情報処理装置の可変部分関連付手段が、前記フィールド参照名受付工程にて指定されたフィールド参照名と文書中の可変部分とを関連付ける可変部分関連付工程と、
前記情報処理装置のマークアップ言語データ構造変換手段が、前記マークアップ言語データ構造情報に基づいたマークアップ言語データを前記内部データの構造に変換するマークアップ言語データ構造変換工程と、
前記情報処理装置の印刷データ生成手段が、前記マークアップ言語データ構造変換工程にて変換したデータ構造を使用し、前記可変部分関連付工程にて関連付けられた文書中の可変部分に対して前記内部データを適用してバリアブルデータ印刷の印刷データを生成する印刷データ生成工程と
を有し、
前記マークアップ言語データ構造変換工程にて、前記レコードレベル要素指定受付工程で指定された前記レコードレベル要素を基準とした単位ごとに変換し、
前記マークアップ言語データ構造情報は、前記マークアップ言語データとは別に管理されていることを特徴とする制御方法。
【請求項１０】
コンピュータを、
マークアップ言語データ構造情報を読み込んでマークアップ言語データが有する構造を表示するマークアップ言語データ構造表示手段、
前記マークアップ言語データ構造表示手段で表示されたマークアップ言語データ構造において、前記内部データを適用する際の基準となるレコード単位を示すレコードレベルとなるレコードレベル要素の指定をユーザから受け付けるレコードレベル要素指定受付手段、
前記マークアップ言語データ構造表示手段により表示されたマークアップ言語データ構造において、前記レコードレベル要素を基準として使用可能な使用要素を選択し、前記選択された使用要素に対するフィールドの参照名の指定を受け付けるフィールド参照名受付手段、
前記フィールド参照名受付手段で指定されたフィールド参照名と文書中の可変部分とを関連付ける可変部分関連付手段、
前記マークアップ言語データ構造情報に基づいたマークアップ言語データを内部データの構造に変換するマークアップ言語データ構造変換手段、
前記マークアップ言語データ構造変換手段が変換したデータ構造を使用し、前記可変部分関連付手段にて関連付けられた文書中の可変部分に対して前記内部データを適用してバリアブルデータ印刷の印刷データを生成する印刷データ生成手段
として機能させ、
前記マークアップ言語データ構造変換手段は、前記レコードレベル要素指定受付手段で指定された前記レコードレベル要素を基準とした単位ごとに変換し、
前記マークアップ言語データ構造情報は、前記マークアップ言語データとは別に管理されていることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、及びプログラムに関する。特にデータソースとの関係を記述したテンプレート文書に対して、データベースから取得したデータをマージして、バリアブルデータ印刷用のデータを生成して印刷する技術に関する。
【背景技術】
【０００２】
近年、電子写真方式の印刷装置やインクジェット方式の印刷装置の高速化、高画質化に伴い、プリント・オン・デマンド（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ；以下、ＰＯＤと表記する）と呼ばれる市場が広がりを見せている。ＰＯＤでは、デジタル複写機やデジタル複合機等のデジタル画像形成装置を最大限に活用して、電子データを用いたデジタル印刷を行う。こうして、比較的小ロットのジョブを短納期で取り扱えることを目指す。
【０００３】
ＰＯＤでは、電子データを用いる特性を生かして、バリアブルデータ印刷（Ｖａｒｉａｂｌｅ  Ｄａｔａ  Ｐｒｉｎｔｉｎｇ；以下、ＶＤＰと表記する）として知られる印刷方法が行われている。ＶＤＰで使用するＶＤＰ文書では、固定部分と可変部分を分け、可変部分のデータをＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）やＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）ファイルなどのデータソースから供給する。ここで、データソースの桁（フィールド）をテンプレート文書の可変部分と関連付け、データソースの行（レコード）ごとに適用することで、可変部分のみが異なる内容の印刷を行う。
【０００４】
ここで、ＲＤＢやＣＳＶファイルから供給されるデータ以外のフォーマットとしてＸＭＬデータがある。ＸＭＬデータは、ＸＭＬファイルやＸＭＬデータベースなどのデータソースから供給される。ＸＭＬデータについては、例えば特許文献１のように、文書のコンテンツ領域に、ＸＭＬデータの特定のノードをＸＰａｔｈで表記して関連付けておくという技術がある。また、例えば特許文献２のように、ＸＭＬデータをスプレッドシートにマッピングするという技術がある。しかしながら、これらの技術では、データソースの行（レコード）という概念が表現できないため、ＶＤＰ文書には適用できない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３２３８１３号公報
【特許文献２】特開２００４−２６５４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＶＤＰでは、ユーザの多様なニーズに応えるために、多種のデータソースに対応し、それらを自由に結合して使用できる柔軟性が必要である。しかしながら、ＸＭＬファイルやＸＭＬデータベースなどのデータソースから供給されるＸＭＬデータについては、ＲＤＢやＣＳＶファイルのような行・桁（二次元）で表現されるデータ構造をしていない。ＶＤＰでは、データソースの桁（フィールド）をテンプレート文書の可変部分と関連付け、データソースの行（レコード）ごとに適用することで、少しずつ異なる内容の印刷を行う。このため、ＸＭＬデータはそのままの構造ではＶＤＰ文書に適用できない。また、データソースを結合する場合、データソースの桁（フィールド）と行（レコード）を統合するという操作を伴う。このため、ＸＭＬデータと、ＲＤＢやＣＳＶファイルから供給されるデータとを結合してＶＤＰ文書に適用することもできない。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明に係る情報処理装置は、以下の構成を有する。すなわち、バリアブルデータ印刷の文書に内部データを適用することでバリアブルデータ印刷の印刷データを生成する情報処理装置であって、マークアップ言語データ構造情報を読み込んでマークアップ言語データが有する構造を表示するマークアップ言語データ構造表示手段と、前記マークアップ言語データ構造表示手段で表示されたマークアップ言語データ構造において、前記内部データを適用する際の基準となるレコード単位を示すレコードレベルとなるレコードレベル要素の指定をユーザから受け付けるレコードレベル要素指定受付手段と、前記マークアップ言語データ構造表示手段により表示されたマークアップ言語データ構造において、前記レコードレベル要素を基準として使用可能な使用要素を選択し、前記選択された使用要素に対するフィールドの参照名の指定を受け付けるフィールド参照名受付手段と、前記フィールド参照名受付手段で指定されたフィールド参照名と文書中の可変部分とを関連付ける可変部分関連付手段と、前記マークアップ言語データ構造情報に基づいたマークアップ言語データを前記内部データの構造に変換するマークアップ言語データ構造変換手段と、前記マークアップ言語データ構造変換手段が変換したデータ構造を使用し、前記可変部分関連付手段にて関連付けられた文書中の可変部分に対して前記内部データを適用してバリアブルデータ印刷の印刷データを生成する印刷データ生成手段とを有し、前記マークアップ言語データ構造変換手段は、前記レコードレベル要素指定受付手段で指定された前記レコードレベル要素を基準とした単位ごとに変換し、前記マークアップ言語データ構造情報は、前記マークアップ言語データとは別に管理されている。
【発明の効果】
【０００８】
本発明によれば、二次元構造を有していないマークアップ言語をＶＤＰ印刷データ生成のためのデータソースとして用いることが可能となり、データソースとして用いるデータの汎用性が向上する。また、データソースにおける要素に対する視認性、操作性といった点でもユーザの利便性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係るＰＯＤシステム及び情報処理装置の構成例の図。
【図２】本実施形態に係るデータソース編集画面例の図。
【図３】本実施形態に係るＣＳＶデータソース追加画面例の図。
【図４】本実施形態に係る使用するＣＳＶファイル、及びＸＭＬスキーマファイルの例の図。
【図５】本実施形態に係るＸＭＬデータソース追加画面例の図。
【図６】本実施形態に係るＸＭＬデータソース追加画面で読込ボタンが操作された後の処理を示すフローチャートの図。
【図７】本実施形態に係るＸＭＬデータソース追加画面でＸＭＬスキーマの各要素を表示する処理を示すフローチャートの図。
【図８】本実施形態に係るＶＤＰ文書編集画面の例の図。
【図９】本実施形態に係るＶＤＰ文書印刷時の処理を示すフローチャートの図。
【図１０】本実施形態に係るＶＤＰ文書印刷時にＸＭＬデータを内部データ構造に変換する処理を示すフローチャートの図。
【図１１】第一の実施形態に係るＸＭＬデータファイル及びそのＤＯＭツリーの例の図。
【図１２】第一の実施形態に係る各データソースから作成したテーブルと、それらを結合して作成したテーブルの例の図。
【図１３】第二の実施形態に係る処理を示すフローチャートの図。
【図１４】第二の実施形態に係るＸＭＬスキーマ表示領域の例の図。
【図１５】第三の実施形態に係る処理を示すフローチャートの例図
【発明を実施するための形態】
【００１０】
＜第一の実施形態＞
以下、本発明を実施するための形態について図面を用いて説明する。また、本発明はマークアップ言語を対象としているが、ここではＸＭＬデータをその例として説明する。よって、ここで述べられていないマークアップ言語への適用も本願発明の範疇であることは言うまでも無い。
【００１１】
［ＰＯＤシステムの構成］
図１（ａ）は、本発明の実施形態に係るＰＯＤシステムの構成を示す模式図である。このＰＯＤシステムは、情報処理装置であるデータベースサーバ１０２、クライアントコンピュータ（ＰＣ）１０３、及びＰＯＤ印刷装置１０４を有し、それらがネットワーク１０１を介して接続されている。
【００１２】
データベースサーバ１０２に対しては、ネットワーク経由でデータの読み書きが可能である。クライアントＰＣ１０３は、データベースサーバ１０２から取得したデータを使用してＶＤＰ（バリアブルデータ印刷）印刷データを生成し、ＰＯＤ印刷装置１０４に送信する。ＰＯＤ印刷装置１０４は、受信したＶＤＰ印刷データの印刷を行う。
【００１３】
本発明の実施形態では、データベースサーバ１０２とクライアントＰＣ１０３がネットワーク接続されているが、本発明はこれに限定されるものでない。例えば、データベースサーバはインターネット上でいわゆるクラウドサービスとして実行されるのでも良いし、データベースサーバとクライアントＰＣは同一の情報処理装置であっても良い。
【００１４】
［コンピュータ装置の構成］
次に、図１（ｂ）を用いて、本発明の実施形態に係る情報処理装置の構成を説明する。図１（ｂ）は、データベースサーバ１０２およびクライアントＰＣ１０３の構成の一例を示すブロック図である。ＣＰＵ２０１はＲＡＭ２０２に格納されている制御プログラムに従って本装置全体の制御を行う。内部記憶部２０２は、ＣＰＵ２０１が実行する本装置の制御プログラムや、文書画像等のデータを格納する。内部記憶部２０２は、ＲＡＭ等が該当する。ネットワークインタフェース２０３はＣＰＵ２０１の制御の下にネットワークとの接続を行ってデータ等を送受信する。外部記憶装置２０４は、データを保存する。磁気ディスク等が該当する。また、ディスプレイ２０５、キーボード２０６、マウス等のポインティングデバイス２０７を備える。ＲＡＭ２０２に格納されているプログラムは、所定の動作を行うために、同じくＲＡＭ２０２に格納されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の機能を必要に応じて使用する。また、ＲＡＭ２０２に格納されているプログラムは、ＲＡＭ２０２に一時的に記憶するデータの内容の読み書きを行ったり、外部記憶装置２０４上でデータの読み書きを行ったり、ネットワークインタフェース２０３を通じてデータの送受信を行ったりする。また、ＲＡＭ２０２に格納されているプログラムは、キーボード２０６やポインティングデバイス２０７からの入力を受け取ったり、ディスプレイ２０５に表示を行ったりする。
【００１５】
データベースサーバ１０２では、外部記憶装置２０４にデータベースを格納する。また、ＲＡＭ２０２に格納されたデータベースプログラムがネットワークインタフェース２０３を通じて上記データベースの読み書きを行う命令を受信すると、ＣＰＵ２０１が命令を実行してネットワークインタフェース２０３を通じて結果を送信する。クライアントＰＣ１０３では、ＲＡＭ２０２に格納されたＶＤＰプログラムがキーボード２０６やポインティングデバイス２０７からの入力を受け付けてＲＡＭ２０２にＶＤＰ文書を作成し、ディスプレイ２０５への表示や外部記憶装置２０４への読み書きを行う。ＶＤＰプログラムがキーボード２０６やポインティングデバイス２０７から印刷の指示を受け付けると、ＲＡＭ２０２にＶＤＰ印刷データを作成し、ネットワークインタフェース２０３を通じてＰＯＤ印刷装置１０４に送信する。
【００１６】
［データソース編集］
次に、図２（ａ）を用いてデータソース編集画面について説明する。本発明の実施形態に係るクライアントＰＣ１０３におけるＶＤＰプログラムは、ユーザからの処理指示を受け付け、データソース編集が指示された場合に、図２（ａ）に示すようなデータソース編集画面をディスプレイ２０５に表示する。ダイアログボックス３０１は、データソース編集を行うためのインタフェースである。領域３０２は編集したデータソースを表示する。ＣＳＶデータソース追加ボタン３０３は、ＣＳＶファイルをデータソースとして追加することをユーザに指示させる。ＸＭＬデータソース追加ボタン３０４は、ＸＭＬファイルをデータソースとして追加することをユーザに指示させる。ＯＫボタン３０５は、データソース編集内容を保存して終了する。キャンセルボタン３０６は、データソース編集内容を破棄して終了する。
【００１７】
なお、本発明の実施形態では、データソースとしてＣＳＶファイルとＸＭＬファイルのみ扱うが、本発明はこれに限定されるものでなく、ＯＤＢＣ・ＪＤＢＣ等のインタフェースを経由したＲＤＢデータベースであっても良い。また、ＸＭＬデータベースであっても良い。その他、ＣＭＳ（Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）やＤＡＭ（Ｄｉｇｉｔａｌ  Ａｓｓｅｔ  Ｍａｎａｇｅｍｅｎｔ）等のコンテンツ管理システムであっても良いし、ファイルサーバであっても良い。
【００１８】
［ＣＳＶデータソース追加］
次に、図３、図４を参照して、ＣＳＶデータソース追加ボタン３０３が操作された場合のＶＤＰプログラムの動作について説明する。
【００１９】
図３（ａ）は、本発明の実施形態に係るクライアントＰＣ１０３におけるＶＤＰプログラムが、ＣＳＶデータソース追加ボタン３０３が操作された場合に、ディスプレイ２０５に表示するＣＳＶデータソース追加画面である。ダイアログボックス４０１は、ＣＳＶデータソースの追加を行うために用いられる。テキスト入力フィールドおよび読込ボタン４０２は、ユーザにＣＳＶファイルを指定させる。チェックボックス４０３は、ＣＳＶファイルの一行目をフィールド名として使用するかどうかをユーザに指定させる。領域４０４は、テキスト入力フィールドおよび読込ボタン４０２で指定されたＣＳＶファイルのフィールド名を表示する領域４０６、ユーザに主キーを指定させるための領域４０５、ユーザにフィールド参照名を指定させるための領域４０７を有する。主キーは、レコードを一意に識別するために選択されるキーのことである。ＯＫボタン４０８は、ＣＳＶデータソース追加内容を保存して終了する。キャンセルボタン４０９は、ＣＳＶデータソース追加内容を破棄して終了する。
【００２０】
図４（ａ）は、本発明の実施形態で使用するＣＳＶファイルの例である。データベースサーバ１０２の外部記憶装置２０４に格納されており、ここでは「￥￥データベースサーバ￥顧客マスター．ｃｓｖ」というＵＮＣ表記パスでアクセスすることができる。１行目はフィールド名として使用されており、コンマ区切りでそれぞれ「顧客ＩＤ」、「姓」、「名」、「性別」、「年齢」というフィールド名が指定されている。二行目以降は、各行にコンマ区切りでデータが指定されている。
【００２１】
図３（ｂ）は、図３（ａ）に示すＣＳＶデータソース追加画面に図４（ａ）に示すＣＳＶファイルを指定した場合の編集結果の一例を示す。テキスト入力フィールド６０２には、図４（ａ）に示すＣＳＶファイルのＵＮＣ表記パスが指定されている。この状態で読込ボタンが操作されると、ＶＤＰプログラムは、指定されたＣＳＶファイルを読み込む。チェックボックス６０３がチェックされている場合は、指定されたＣＳＶファイルの１行目からコンマ区切りでフィールド名を取得し、領域６０６に表示する。ここでは、チェックボックス６０３がチェックされているので、図４（ａ）に示すＣＳＶファイルの１行目にある「顧客ＩＤ」、「姓」、「名」、「性別」、「年齢」をそれぞれフィールド名として領域６０６に表示している。ＶＤＰプログラムはユーザの入力を受け付け、領域６０５で主キーの指定、領域６０７でフィールド参照名の指定を受け取る。ここでは、顧客ＩＤフィールドが主キーとして指定され、「顧客ＩＤ」、「姓」、「名」、「性別」、「年齢」フィールドに対してそれぞれ「顧客ＩＤ」、「顧客＿姓」、「顧客＿名」、「顧客＿性別」、「顧客＿年齢」というフィールド参照名が指定されたとする。ここで、ＯＫボタン６０８が操作されると、ＶＤＰプログラムは、ＣＳＶデータソース追加画面を終了する。
【００２２】
図２（ｂ）は、データソース編集画面に図３（ｂ）で編集したＣＳＶデータソースが追加された場合の表示の一例を示す図である。オブジェクト７０１は、追加したＣＳＶデータソースを表わす。ＶＤＰプログラムは、領域６０７で指定されたフィールド参照名を表示する。また、領域６０５で主キーに指定されたフィールドには鍵アイコンを表示する。
【００２３】
本発明の実施形態では、ＵＮＣ表記パスを指定することとしたが、本発明はこれに限定されるものではなく、例えばＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）などの記述方式でも良い。また、フィールド名を指定するのはＣＳＶファイルの１行目以外の行でも良く、他の方法、たとえば別のファイルからフィールド名を指定するのでも良い。
【００２４】
［ＸＭＬデータソース追加］
図４〜図７を参照して、ＸＭＬデータソース追加ボタン３０４が操作された場合のＶＤＰプログラムの動作について説明する。図５（ａ）は、本実施形態に係るクライアントＰＣ１０３におけるＶＤＰプログラムが、ＸＭＬデータソース追加ボタン３０４が操作された場合に、ディスプレイ２０５に表示するＸＭＬデータソース追加画面である。ダイアログボックス８０１は、ＸＭＬデータソースの追加を行うインタフェースである。テキスト入力フィールド８０２は、ユーザにＸＭＬファイルを指定させる。テキスト入力フィールドおよび読込ボタン８０３は、ユーザにＸＭＬスキーマファイルを指定させる。スキーマ表示領域８０４は、テキスト入力フィールドおよび読込ボタン８０３で指定されたＸＭＬスキーマファイルの構造を表示する。レコード要素ボタン８０５は、スキーマ表示領域８０４に表示されたＸＭＬスキーマファイルの構造からレコードレベルとなる要素をユーザに指定させる。ここでレコードレベル要素は、ＸＭＬデータソースを適用してＶＤＰ印刷を行う際に、繰り返しの単位となり、レコード単位の構造を有する。使用要素ボタン８０６は、スキーマ表示領域８０４に表示されたＸＭＬスキーマファイルの構造からデータソースとして使用する要素をユーザに指定させる。フィールド管理領域８０７は、使用要素ボタン８０６で指定された要素のフィールド名を表示する領域８０９、ユーザに主キーを指定させる領域８０８、ユーザにフィールド参照名を指定させる領域８１０を有する。ＯＫボタン８１１は、ＸＭＬデータソース追加内容を保存して終了する。キャンセルボタン８１２は、ＸＭＬデータソース追加内容を破棄して終了する。
【００２５】
図４（ｂ）は、第一の実施形態で使用するＸＭＬスキーマファイルの内容を示した図である。データベースサーバ１０２の外部記憶装置２０４に格納されており、「￥￥データベースサーバ￥オーダー．ｘｓｄ」というＵＮＣ表記パスでアクセスすることができる。ルート要素は「ｏｒｄｅｒｓ」であり、一回だけ現れる。「ｏｒｄｅｒｓ」要素の子要素は「ｏｒｄｅｒ」である。「ｏｒｄｅｒ」要素は無限回現れることができる。「ｏｒｄｅｒ」要素の子要素は「ｃｕｓｔｏｍｅｒ＿ｉｄ」、「ａｄｄｒｅｓｓ」、及び「ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ」である。「ｃｕｓｔｏｍｅｒ＿ｉｄ」、「ａｄｄｒｅｓｓ」はこの順で一回ずつ現れる。また、「ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ」要素は一回だけ現れる。「ａｄｄｒｅｓｓ」要素の子要素は「ｚｉｐ」「ｐｒｅｆｅｃｔｕｒｅ」「ｃｉｔｙ」「ｓｔｒｅｅｔ」「ｔｅｌ」であり、この順で一回ずつ現れる。「ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ」要素の子要素は「ｐｒｏｄｕｃｔ＿ｎａｍｅ」「ｏｒｄｅｒ＿ｄａｔｅ」であり、この順で一回ずつ現れる。なお、本発明の実施形態では、ＸＭＬスキーマを使用しているが、本発明はこれに限定されるものではなく、マークアップ言語データ構造情報としてのＸＭＬデータ構造情報を有する、例えばＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）、Ｒｅｌａｘ等、マークアップ言語データの構造を指定できる形式であれば任意のものが使用可能である。
【００２６】
図５（ｂ）は、図５（ａ）に示すＸＭＬデータソース追加画面に図４（ｂ）に示すＸＭＬスキーマファイルを指定した場合の編集結果の一例を示す図である。テキスト入力フィールド１００２には図１１（ａ）に示すＸＭＬファイルのＵＮＣ表記パスが指定されている。テキスト入力フィールド１００３には図４（ｂ）に示すＸＭＬスキーマファイルのＵＮＣ表記パスが指定されている。
【００２７】
［読込フロー］
この状態で読込ボタンが操作された後の処理を図６のフローチャートを用いて説明する。図６は、１００３で読込ボタンが操作された後のＶＤＰプログラムの処理を示すフローチャートである。ＶＤＰプログラムは、外部記憶装置２０４等に格納されていたものがＲＡＭ２０２に読み出され、ＣＰＵ２０１にて実行されることとなる。Ｓ１１０１は開始処理である。Ｓ１１０２にて、ＶＤＰプログラムは、指定されたＸＭＬスキーマファイルを読み込み、そのＸＭＬスキーマの構造を図５（ｂ）にて示したスキーマ表示領域１００４に表示する。これにより、マークアップ言語データ構造表示手段を実現する。なお、ここでは表示例として図４（ｂ）に示すＸＭＬスキーマにしたがった階層構造と要素名を表示する。ＸＭＬスキーマを解釈してその階層構造を表示する手順は公知であるので省略するが、各要素の表示方法については図７を用いて後述する。Ｓ１１０３でＶＤＰプログラムはユーザの操作を受け付ける。Ｓ１１０４は、Ｓ１１０３で受け付けた操作がレコード要素ボタン１００５を押下されたか否かの判定処理である。レコード要素ボタンが押下された場合（Ｓ１１０４にてＹＥＳ）は、Ｓ１１０５に進む。レコード要素ボタン１００５の押下でない場合（Ｓ１１０４にてＮＯ）は、Ｓ１１０６に進む。Ｓ１１０５では、スキーマ表示領域１００４で選択されている要素をレコードレベル要素として保持しておく。その後、Ｓ１１０３に戻る。なお、Ｓ１１０３にてユーザの操作を受け付けた際にレコードレベル要素を指定され、Ｓ１１０５にて保持することにより、レコードレベル要素指定受付手段を実現する。
【００２８】
Ｓ１１０６は、Ｓ１１０３で受け付けた操作が使用要素ボタン１００６の押下か否かの判定処理である。使用要素ボタンが押下された場合（Ｓ１１０６にてＹＥＳ）は、Ｓ１１０７に進む。ユーザからの操作が使用要素ボタン１００６の押下でない場合（Ｓ１１０６にてＮＯ）は、Ｓ１１０８に進む。Ｓ１１０７では、スキーマ表示領域１００４で選択されている要素を使用要素として保持し、フィールド管理領域１００７に追加する。Ｓ１１０３におけるユーザ操作及び、Ｓ１１０７での使用要素の保持により、使用要素受付手段を実現する。その後、Ｓ１１０３に戻る。Ｓ１１０８は、Ｓ１１０３で受け付けた操作がＯＫボタン１０１１かキャンセルボタン１０１２のいずれかが押下されたか否かの判定処理である。ＯＫボタン１０１１かキャンセルボタン１０１２のいずれかが押下された場合（Ｓ１１０８にてＹＥＳ）は、Ｓ１１１０に進む。それ以外の場合（Ｓ１１０８にてＮＯ）は、Ｓ１１０９に進む。Ｓ１１０９では、その他の入力に従って処理を行う。その後、Ｓ１１０３に戻る。Ｓ１１１０は終了処理である。
【００２９】
［スキーマ要素表示フロー］
図７は、ＶＤＰプログラムがスキーマ表示領域１００４にＸＭＬスキーマの各要素を表示する際の処理を示すフローチャートである。Ｓ１２０１は開始処理である。Ｓ１２０２は、すでにレコードレベル要素が指定済みか否かの判定処理である。レコードレベル要素が指定済みの場合（Ｓ１２０２にてＹＥＳ）は、Ｓ１２０６に進む。レコードレベル要素がまだ指定されていない場合（Ｓ１２０２にてＮＯ）は、Ｓ１２０３に進む。Ｓ１２０３は、要素が繰り返し可能か否かの判定処理である。そして、その判定基準は、要素にｍａｘＯｃｃｕｒｓ属性が指定されており、その値として２以上の値、または“ｕｎｂｏｕｎｄｅｄ”が指定されていれば、繰り返し可能と判定する。繰り返し可能の場合（Ｓ１２０３にてＹＥＳ）は、Ｓ１２０４に進む。繰り返し可能でない場合（Ｓ１２０３にてＮＯ）は、Ｓ１２０５に進む。Ｓ１２０４は、レコードレベル要素の候補を強調表示する処理である。これにより、レコードレベル候補表示手段を実現する。図５（ｂ）の例では、「ｏｒｄｅｒ」要素の右に「＊」を付加して表示している。その後、Ｓ１２０９へ進む。Ｓ１２０５は要素を通常表示する処理である。その後、Ｓ１２０９へ進む。
【００３０】
Ｓ１２０６は、要素がレコードレベル要素の下位要素か否かの判定処理である。レコードレベル要素の下位要素の場合（Ｓ１２０６にてＹＥＳ）は、Ｓ１２０７に進む。レコードレベル要素の下位要素でない場合（Ｓ１２０６にてＮＯ）は、Ｓ１２０８に進む。Ｓ１２０７は、要素が繰り返し可能か否かの判定処理である。本実施形態では、要素にｍａｘＯｃｃｕｒｓ属性が指定されており、その値として２以上の値または“ｕｎｂｏｕｎｄｅｄ”が指定されていれば、繰り返し可能と判定する。繰り返し可能の場合（Ｓ１２０７にてＹＥＳ）はＳ１２０８に進む。繰り返し可能でない場合（Ｓ１２０７にてＮＯ）はＳ１２０５に進む。Ｓ１２０８は、レコードレベル要素が指定済みで、かつレコードレベルの下位要素でない場合か、あるいはレコードレベル要素が指定済みで、かつレコードレベルの下位要素であり、繰り返し可能のためデータソースとして使用できない要素の場合において、淡色表示してユーザが選択できないようにする処理である。これにより、使用除外要素表示手段を実現する。その後、Ｓ１２０９へ進む。Ｓ１２０９は終了処理である。
【００３１】
なお、レコードレベル候補表示手段、及び使用除外要素表示手段は、両方を備えていても良いし、いずれか一方のみを備えていてもよい。
【００３２】
［処理結果］
以上の処理により、スキーマ表示領域１００４でレコードレベル要素が選択され、レコード要素ボタン１００５が操作（押下）されると、ＶＤＰプログラムはその要素をレコードレベル要素と判定する。ここでは、「ｏｒｄｅｒ」が指定されたとする。また、レコードレベル要素が指定された状態で、スキーマ表示領域１００４でレコードレベル要素より下位の要素が選択され使用要素ボタン１００６が操作されると、ＶＤＰプログラムはその要素をデータソースとして使用する要素と判定し、フィールド管理領域１００７に追加する。ここでは、「ｃｕｓｔｏｍｅｒ＿ｉｄ」「ｚｉｐ」「ｓｔｒｅｅｔ」「ｐｒｏｄｕｃｔ＿ｎａｍｅ」「ｏｒｄｅｒ＿ｄａｔｅ」が指定されたとする。ＶＤＰプログラムは、指定された要素の要素名を領域１００９に表示する。ＶＤＰプログラムはユーザの入力を受け付け、領域１００８で主キーの指定、領域１０１０でフィールド参照名の指定を受け取る。ここでは、顧客ＩＤフィールドが主キーとして指定され、「ｃｕｓｔｏｍｅｒ＿ｉｄ」「ｚｉｐ」「ｓｔｒｅｅｔ」「ｐｒｏｄｕｃｔ＿ｎａｍｅ」「ｏｒｄｅｒ＿ｄａｔｅ」フィールドに対してそれぞれ「顧客ＩＤ」、「顧客＿郵便番号」、「顧客＿住所」、「オーダー＿商品」、「オーダー＿日付」というフィールド参照名がユーザによって指定されたとする。ここで、ＯＫボタン１０１１が操作されると、ＶＤＰプログラムは、ＸＭＬデータソース追加画面を終了する。
【００３３】
図２（ｃ）は、図２（ｂ）に示すデータソース編集画面に図５（ｂ）で編集したＸＭＬデータソースが追加された場合の表示の一例を示す。ＸＭＬデータソース１３０２は、追加したＸＭＬのデータソースを表わす。ＶＤＰプログラムは、領域１０１０で指定されたフィールド参照名を表示する。また、領域１００８で主キーに指定されたフィールドには鍵アイコンを表示する。ここで、ＶＤＰプログラムは、追加したデータソース同士の結合の指示をユーザから受け付けることができる。ここでは、ＣＳＶデータソース１３０１とＸＭＬデータソース１３０２の結合が指示されたとすると、結合後のデータソースを結合データソース１３０３に表示する。結合は、両データソースの主キーを使用して行われる。結合後のデータソースでは、結合対象である各データソースのフィールドの和集合を使用する。
【００３４】
なお、本実施形態では、スキーマ表示領域１００４に表示する要素名の右に「＊」を付加して強調表示しているが、本発明はこれに限定されるものではなく、要素名をボールドにしたり、要素名の表示色を変えたりしても良い。また、本実施形態では、要素を淡色表示してユーザが選択できないようにしているが、本発明はこれに限定されるものではなく、要素名そのものを非表示にしても良い。
【００３５】
［ＶＤＰ文書編集］
次に、図８（ａ）に示すＶＤＰ文書編集画面について説明する。本実施形態に係るクライアントＰＣ１０３におけるＶＤＰプログラムは、ユーザから各種の編集操作を受け付け、その結果をディスプレイ２０５に表示する。ここでは、入力文字列の可変部分をデータソースと関連付ける操作を受け付けた結果を図８（ａ）に示す。データソース１４０１には、図２（ｃ）に示した結合後のデータソースを表示する。可変部分１４０２は、データソース１４０１の「顧客＿郵便番号」フィールドと関連付けられている。同様に、可変部分１４０３〜１４０８は、データソース１４０１の「顧客＿住所」「顧客＿姓」「顧客＿名」「顧客＿姓」「オーダー＿商品」「オーダー＿日付」フィールドとそれぞれ関連付けられている。
【００３６】
なお、本実施形態では、文字列を可変部分としているが、本発明はこれに限定されるものではなく、画像、グラフィック、レイヤーなど、編集対象の部品であればいずれも可変部分としてデータソースと関連付けることが可能である。また、関連付けの際に、ＧＵＩやスクリプト等で関連付けのルールを設定するようにしても良い。
【００３７】
［ＶＤＰ文書印刷］
次に、図８〜図１２を参照して、図８（ａ）に示すＶＤＰ文書の印刷が指示された場合のＶＤＰプログラムの動作について説明する。図９は、本実施形態においてＶＤＰプログラムがＶＤＰ文書の印刷指示を受け付けた際の処理を示すフローチャートである。Ｓ１５０１は開始処理である。Ｓ１５０２はデータソースが結合されているか否かをＶＤＰプログラムが判定する処理である。結合されている場合（Ｓ１５０２にてＹＥＳ）はＳ１５０４に進む。結合されていない場合（Ｓ１５０２にてＮＯ）はＳ１５０３に進む。図８（ａ）に示すＶＤＰ文書では図２（ｃ）に示す結合データソース１３０３を使用しているため、Ｓ１５０４に進む。Ｓ１５０３は、ＶＤＰプログラムがデータソースからデータを読み込んでテーブルを作成する処理である。
【００３８】
Ｓ１５０４は、データソースが結合されている場合に、ＶＤＰプログラムが各データソースからデータを読み込んでテーブルを作成する処理である。ＶＤＰプログラムがＣＳＶデータソース１３０１のデータを読み込む際にＲＡＭ２０２に保持するテーブルのデータ構造を図１２の１９０１に示す。ＶＤＰプログラムがＸＭＬデータソース１３０２のデータを読み込む際にＲＡＭ２０２に保持するテーブルのデータ構造を図１２の１９０７に示す。なお、ＣＳＶデータソース１３０１のＣＳＶファイルとして指定されている「￥￥データベースサーバ￥顧客マスター．ｃｓｖ」（図４（ａ））からテーブル１９０１を作成する方法は公知であるので省略する。ＸＭＬデータソース１３０２からテーブル１９０７を作成する処理は図１０を使用して後述する。ＸＭＬデータソース１３０２のＸＭＬデータとして指定されている「￥￥データベースサーバ￥オーダー．ｘｍｌ」の内容を図１１（ａ）に示す。
【００３９】
Ｓ１５０５は、Ｓ１５０４で作成した各テーブルをＶＤＰプログラムが結合する処理である。ＶＤＰプログラムが結合データソース１３０３のデータを保持するためにＲＡＭ２０２に保持するテーブルのデータ構造を図１２の１９１３に示す。テーブル１９１３のデータは、ＣＳＶデータソース１３０１とＸＭＬデータソース１３０２のデータを読み込んだテーブル１９０１と１９０７から作成する。ここでは、ＣＳＶデータソース１３０１の主キーが顧客ＩＤであり、ＸＭＬデータソース１３０２の主キーも顧客ＩＤであることから、顧客ＩＤを主キーとしてテーブル１９０１とテーブル１９０７を結合することで、テーブル１９１３を得る。これにより、複数内部データ結合手段を実現する。Ｓ１５０６は、作成したテーブルのデータをＶＤＰプログラムが１レコードずつＶＤＰ文書に適用してＶＤＰ印刷データを作成する処理である。続いて、Ｓ１５０７は、作成したＶＤＰ印刷データをＶＤＰプログラムがネットワーク１０１を通じてＰＯＤ印刷装置１０４に送信する処理を行う。Ｓ１５０８は終了処理である。
【００４０】
［データ構造変換フロー］
図１０は、本実施形態においてＶＤＰプログラムがＶＤＰ文書の印刷指示を受け付けた際に、ＸＭＬデータソースの入力として指定されたＸＭＬファイルを読み込んでテーブル型の内部データ構造に変換する処理を示すフローチャートである。Ｓ１６０１は開始処理である。Ｓ１６０２で、ＶＤＰプログラムは、データソースのＸＭＬデータとして指定されているＸＭＬファイルをオープンする。ここでは図１１（ａ）に示すＸＭＬファイルをオープンする。Ｓ１６０３で、ＶＤＰプログラムは、オープンしたＸＭＬファイルの内容を読み込んで、ＲＡＭ２０２にＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）ツリーを作成する。ＸＭＬデータからＤＯＭツリーを作成する方法は公知であるので省略する。作成したＤＯＭツリーを図１１（ｂ）に示す。図１１（ａ）におけるＸＭＬデータと図１１（ｂ）におけるＤＯＭツリーとの対応の例として図中に１８０１〜１８０６にて示す。また、ここではルートの要素となる“ｏｒｄｅｒｓ”の配下にレコードレベル要素である“ｏｒｄｅｒ”がそのレコード単位で構成されている。Ｓ１６０４で、ＶＤＰプログラムは、作成したＤＯＭツリーから次のレコードレベル要素を検索する。ここでは「ｏｒｄｅｒ」がレコードレベル要素なので、ノード１８０１が検索される。Ｓ１６０５は、すべてのレコードレベル要素の処理が終了したか否かの判定処理である。Ｓ１６０４で次のレコードレベル要素が見つからなかった場合（Ｓ１６０５にてＹＥＳ）は、Ｓ１６０７に進む。レコードレベル要素が見つかった場合（Ｓ１６０５にてＮＯ）は、Ｓ１６０６に進む。Ｓ１６０６は、Ｓ１６０４で見つかったレコードレベル要素の下位要素のうち、データソースとして使用する要素をテーブル１９０７に追加する処理である。Ｓ１６０６にて、データをテーブルに追加し、データソースとして利用できるように形式を変換することによって、マークアップ言語データ構造変換手段を実現する。処理終了後、Ｓ１６０４に戻る。ここでは「ｃｕｓｔｏｍｅｒ＿ｉｄ」「ｚｉｐ」「ｓｔｒｅｅｔ」「ｐｒｏｄｕｃｔ＿ｎａｍｅ」「ｏｒｄｅｒ＿ｄａｔｅ」が使用要素である。また、各要素にはそれぞれ「顧客ＩＤ」、「顧客＿郵便番号」、「顧客＿住所」、「オーダー＿商品」、「オーダー＿日付」というフィールド参照名が定義されている。このため、ＶＤＰプログラムは、ノード１８０２〜１８０６の値から、行１９０９をテーブル１９０７に追加する。
【００４１】
同様にして、次のＳ１６０４の実行でノード１８０７が検索され、ＶＤＰプログラムは、ノード１８０８〜１８１２の値から、行１９１０をテーブル１９０７に追加する。同様にして、次のＳ１６０４の実行でノード１８１３が検索され、ＶＤＰプログラムは、ノード１８１４〜１８１８の値から、行１９１１をテーブル１９０７に追加する。同様にして、次のＳ１６０４の実行でノード１８１９が検索され、ＶＤＰプログラムは、ノード１８２０〜１８２４の値から、行１９１２をテーブル１９０７に追加する。これですべてのレコードレベル要素の処理が終了したので、Ｓ１６０５からＳ１６０７に進む。Ｓ１６０７は終了処理である。
【００４２】
図８（ｂ）は、図８（ｂ）に示すＶＤＰ文書に対して、結合データソース１３０３の最初のレコード１９１５を適用した結果の例である。図８（ａ）に示すように、各可変領域には結合データソースのフィールドが関連付けられている。図８（ａ）の可変部分１４０２〜１４０８をレコード１９１５の各フィールドの値で置き換えた結果、図８（ｂ）の可変領域２００１〜２００７を得る。レコード１９１６〜１９１８の適用も同様に行うことができる。
【００４３】
本実施形態では、ＸＭＬデータからＤＯＭツリーを作成して処理を行っているが、これに限定されるものではなく、ＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）やその他のインタフェースを使用して処理を行うこともできる。また、各データソースのデータをいったんテーブル型のデータ構造に読み込んでから結合しているが、これに限定されるものではない。例えば、各データソースから１レコードずつ読み込んで順次結合しても良い。また、データソースが同一のデータベースプログラムで管理されている場合は、例えば発行するＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文によってデータベースサーバ上で結合してからデータを取得することもできる。
【００４４】
以上により、本発明によれば、二次元構造をしていないＸＭＬデータ（ＸＭＬファイルやＸＭＬデータベースから取得したものも含む）であっても、ＶＤＰ文書のデータソースとして適用することが可能になる。また、他のデータソース（ＲＤＢやＣＳＶ）から取得したデータをＸＭＬデータと結合してＶＤＰ文書に適用することも可能になる。また、レコードレベル要素を指定する際に、候補となる要素を強調して表示することが可能になることで、ユーザの視認性を高め、効率的な作業を行わせることが可能になる。また、使用要素を指定する際に、使用できない要素をあらかじめ除外して表示することが可能になることで、ユーザの操作性を高め、効率的な作業を行わせることが可能になる。また、ＸＭＬデータの構造がどんなに複雑であっても、あらかじめ使用する要素だけを指定してあるので、ＶＤＰ文書と関連付ける際の操作が効率化される。これにより、二次元構造を有していないＸＭＬデータをＶＤＰ文書生成のためのデータソースとして用いることが可能となり、データソースとして用いるデータの汎用性が向上する。また、データソースにおける要素に対する視認性、操作性といった点でもユーザの利便性を向上させることができる。
【００４５】
＜第二の実施形態＞
第一の実施形態においては、ＸＭＬデータソースであっても、レコードレベル要素と使用するレコードレベル要素の下位要素である使用要素指定を受け付けることで、ＶＤＰ文書への適用や他のデータソースとの結合が可能であることを示した。しかしながら、レコードレベル要素の下位要素のうち、繰り返し可能なものは使用するための指定ができず、使用除外要素として指定の対象外となっていた。そこで、繰り返し可能な下位要素についても指定可能とすることを実現する。
【００４６】
図１３は、第二の実施形態において、ＶＤＰプログラムがスキーマ表示領域１００４にＸＭＬスキーマの各要素を表示する処理を示すフローチャートである。第一の実施形態において同様の処理を行っていた図７のフローチャートに代わりに使用される。Ｓ２１０１〜Ｓ２１０７は、図７におけるＳ１２０１〜Ｓ１２０７と同様である。ただし、Ｓ２１０７の判定で、繰り返し可能でない場合（Ｓ２１０７にてＮＯ）はＳ２１０８に、繰り返し可能の場合（Ｓ２１０７にてＹＥＳ）はＳ２１０９に進む。Ｓ２１０８は、要素の要素名をスキーマ表示領域１００４に追加するのではなく、要素名の前に「親要素名／」（“親要素名”という文字列ではなく、親要素の要素名を意味する）を付加してから追加する処理である。Ｓ２１０５に進んで通常表示を行う。Ｓ２１０９は、要素が繰り返し可能である場合に、それが有限回の繰り返しであるか否かを判定する処理である。本実施形態では、要素にｍａｘＯｃｃｕｒｓ属性が指定されており、その値としてｕｎｂｏｕｎｄｅｄ以外の１以上の数値が指定されていれば、有限回の繰り返しであると判定する。有限回の繰り返しの場合（Ｓ２１０９にてＹＥＳ）はＳ２１１０に進む。有限回の繰り返しでない場合（Ｓ２１０９にてＮＯ）はＳ２１１１に進む。Ｓ２１１０は、要素名の前に「親要素名／」を付加し、要素名の後に「＿１」〜「＿ｎ」（ｎは繰り返し可能回数）をそれぞれ付加したｎ個の要素をスキーマ表示領域１００４に追加する処理である。この処理により、有限回繰返要素表示手段を実現する。その後、Ｓ２１０５に進んで通常表示を行う。Ｓ２１１１、Ｓ２１１２は、図７のＳ１２０８、Ｓ１２０９と同様である。
【００４７】
ＸＭＬスキーマファイルの記述において、ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ要素のｍａｘＯｃｃｕｒｓ属性は、この要素が複数回現れることができることを定義することができる。よって、例えば、図４の２１行目のｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ要素のｍａｘＯｃｃｕｒｓ属性に“３”という値が指定されていれば（ｍａｘＯｃｃｕｒｓ＝３）、この要素が最大３回まで現れることができることを示す。図１４は、ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ要素のｍａｘＯｃｃｕｒｓ属性に３が設定されているＸＭＬスキーマファイルの表示結果の例を示す図である。図１４における表示結果２３０１は、レコードレベル要素の指定前の表示結果、表示結果２３０２は「ｏｒｄｅｒ」をレコードレベル要素として指定した後の表示結果である。表示結果２３０１では、「ｏｒｄｅｒ」と「ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ」要素が繰り返し可能であることから、Ｓ２１０３とＳ２１０４の処理にしたがって強調表示している。図１５の例では、要素の右に「＊」を付加して強調表示している。表示結果２３０２では、「ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ」要素がレコードレベル要素の下位要素であり、かつ繰り返し可能である。そのため、Ｓ２１０６〜Ｓ２１０９の処理にしたがって要素名（ここでは、ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ）の最後に「＿１」〜「＿３」を付加した３個の要素を表示している。
【００４８】
以上の処理により、レコードレベル要素の下位要素のうち、繰り返し可能なものであっても使用要素として指定できるようになる。これにより、第一の実施形態の効果に加え、繰り返し可能なＸＭＬ要素をあらかじめ展開して表示しておくことで、それらを別個のものとしてＶＤＰ文書と関連付けることができる。
【００４９】
＜第三の実施形態＞
第二の実施形態においては、レコードレベル要素の下位にある繰り返し可能な要素のうち、繰り返し可能回数が有限回のものは使用要素として指定できるようになることを示した。しかしながら、繰り返し可能回数が無限回のものは使用要素として指定できず、使用除外要素として指定の対象外となっていた。第三の実施形態においては、繰り返し可能回数が無限回であっても要素の使用自体の制限を行わず、繰り返し可能回数を制御することによって利用可能とする。
【００５０】
図１５は、第三の実施形態において、ＶＤＰプログラムがスキーマ表示領域１００４にＸＭＬスキーマの各要素を表示する処理を示すフローチャートである。第一の実施形態において同様の処理を行っていた図７のフローチャート、あるいは第二の実施形態における図１３のフローチャートに代わりに使用される。Ｓ２４０１〜Ｓ２４１０は、図１３のＳ２１０１〜Ｓ２１１０と同様である。ただし、Ｓ２４０９の判定で、有限回の繰り返しでない場合はＳ２４１１に進む。Ｓ２４１１は、要素が無限回の繰り返しが可能の場合に、要素名の前に「親要素名／」（“親要素名”という文字列ではなく、親要素の要素名を意味する）を付加する。そして、要素名の後に「＿１」〜「＿ｍ」（ｍはあらかじめ決められた回数）をそれぞれ付加したｍ個の要素をスキーマ表示領域１００４に追加する処理である。こうすることで、無限回の繰り返しが可能な要素であっても、あらかじめ決められた回数（たとえば５回）だけ繰り返した要素を使用要素として使用できるようにする。この処理により、無限回繰返要素表示手段を実現する。Ｓ２４０５に進んで通常表示を行う。Ｓ２４１２、Ｓ２４１３は、図１３のＳ２１１１、Ｓ２１１２と同様である。
【００５１】
第二の実施形態に対し、第三の実施形態では、ＸＭＬスキーマファイルの記述において、ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ要素のｍａｘＯｃｃｕｒｓ属性に回数の制限なくこの要素が現れることができることを示す“ｕｎｂｏｕｎｄｅｄ”という値を指定する。ここで「ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ」要素がレコードレベル要素の下位要素であり、かつ無限回の繰り返し可能であることから、図１５におけるＳ２４０６、Ｓ２４０７、Ｓ２４０９、Ｓ２４１１の処理にしたがって、第二の実施形態と同様に要素名（ここでは、ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ）の最後に「＿１」〜「＿５」を付加した５個の要素を表示する（ここではｍ＝５）。具体的には、ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ＿１、・・・、ｃｕｓｔｏｍｅｒ＿ｏｒｄｅｒ＿５となる。
【００５２】
以上の処理により、レコードレベル要素の下位要素のうち、無限回繰り返し可能なものであってもその一部を使用要素として指定できるようになる。これにより、第一の実施形態、第二の実施形態の効果に加え、無限回繰り返し可能なＸＭＬ要素であっても、それらをあらかじめ有限回数だけ展開して表示しておくことで、ＶＤＰ文書と関連付けることができる。
【００５３】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005632593.tif 000002
【図２】
0005632593.tif 000003
【図３】
0005632593.tif 000004
【図４】
0005632593.tif 000005
【図５】
0005632593.tif 000006
【図６】
0005632593.tif 000007
【図７】
0005632593.tif 000008
【図８】
0005632593.tif 000009
【図９】
0005632593.tif 000010
【図１０】
0005632593.tif 000011
【図１１】
0005632593.tif 000012
【図１２】
0005632593.tif 000013
【図１３】
0005632593.tif 000014
【図１４】
0005632593.tif 000015
【図１５】
0005632593.tif 000016