(57)【要約】【課題】複数のＸＭＬデータを容易に生成することができ、ＸＭＬデータ生成の際の工数を削減できるようにする。【解決手段】構造解析部２０３は、ＤＴＤ入力部２０２が記憶装置Ａ１０から読み込んだ入力ＤＴＤデータ１１を、ＤＴＤオブジェクトとしてメモリ上に展開する。パス合成部２０８は、メモリ上のＤＴＤオブジェクトに従って、生成オプション入力部２０１からの生成オプション情報と生成デフォルト情報とに基づいてパス情報を合成し、合成ＤＯＭオブジェクトをメモリ上に展開する。また、パス合成部２０８は、ＸＭＬ変換ＮＶリストデータと、入力ＮＶリストデータ１３とを必要に応じて参照してパス情報を合成する。そして、ＸＭＬ生成部２０９は、合成ＤＯＭオブジェクトに基づいて出力ＸＭＬデータ３１を生成する。【選択図】  図１
2004240507.tif 000002
【特許請求の範囲】
【請求項１】
指定されるデータ構造に従ってＸＭＬデータを生成するＸＭＬ生成装置であって、
生成すべきＸＭＬデータのデータ構造を指定する構造情報を入力する構造情報入力手段と、
パスが示す要素と要素数との対応関係若しくは要素と要素の値との対応関係を示す対応関係情報、または既存のＸＭＬデータを、再利用情報として入力する再利用情報入力手段と、
生成すべきＸＭＬデータの生成パターンを指定する情報である設定情報を保持する設定情報保持手段と、
前記設定情報および前記再利用情報に基づいて、構造情報から特定されるパス毎に、パス名と要素数または要素の値とを示すパス情報を生成し合成するパス情報合成手段と、
前記パス情報合成手段によって合成された合成情報に基づいて、ＸＭＬデータを生成するＸＭＬ生成手段とを
備えたことを特徴とするＸＭＬ生成装置。
【請求項２】
設定情報を入力する設定情報入力手段を備え、
パス情報合成手段は、前記設定情報入力手段が入力した設定情報と、設定情報保持手段が保持する設定情報と、再利用情報とに基づいてＸＭＬデータのパス情報を生成し合成する
請求項１記載のＸＭＬ生成装置。
【請求項３】
再利用情報入力手段は、再利用情報として対応関係情報を入力する対応関係情報入力手段を含み、
パス情報合成手段は、前記対応関係情報入力手段が入力した対応関係情報に含まれるパス情報を抽出し、抽出した前記パス情報を合成対象として採用してパス情報を合成する
請求項１または請求項２記載のＸＭＬ生成装置。
【請求項４】
再利用情報入力手段は、再利用情報として既存のＸＭＬデータを入力するＸＭＬ入力手段を含み、
パス情報合成手段は、前記ＸＭＬ入力手段が入力した既存のＸＭＬデータに含まれるパス情報を抽出し、抽出した前記パス情報を合成対象として採用してパス情報を合成し、
ＸＭＬ生成手段は、前記パス情報合成手段によって合成された合成情報に基づいて、新たなＸＭＬデータを生成する
請求項１から請求項３のうちのいずれか１項に記載のＸＭＬ生成装置。
【請求項５】
パス情報合成手段は、対応関係情報に含まれるパス情報を、既存のＸＭＬデータに含まれるパス情報に優先して採用することによってパス情報を合成する請求項１から請求項４のうちのいずれか１項に記載のＸＭＬ生成装置。
【請求項６】
パス情報合成手段は、構造情報から特定されるパス情報が対応関係情報または既存のＸＭＬデータに含まれていない場合、設定情報において指定された生成パターンに従いパス情報を合成する請求項５記載のＸＭＬ生成装置。
【請求項７】
パス情報合成手段によって合成された合成情報、構造情報入力手段が入力した構造情報、またはＸＭＬ入力手段が入力した既存のＸＭＬデータに基づいて対応関係情報を生成する対応関係情報生成手段を備えた請求項４から請求項６のうちのいずれか１項に記載のＸＭＬ生成装置。
【請求項８】
再利用情報入力手段は、ＸＭＬ生成手段が生成したＸＭＬデータ、または対応関係情報生成手段が生成した対応関係情報を再利用情報として入力する請求項７記載のＸＭＬ生成装置。
【請求項９】
生成すべきＸＭＬデータの生成パターンを指定する情報である設定情報を保持する設定情報保持手段を備えたＸＭＬ生成装置に搭載されるＸＭＬ生成プログラムであって、
コンピュータに、
生成すべきＸＭＬデータのデータ構造を指定する構造情報を入力する処理と、パスが示す要素と要素数との対応関係若しくは要素と要素の値との対応関係を示す対応関係情報、または既存のＸＭＬデータを、再利用情報として入力する処理と、
前記設定情報および前記再利用情報に基づいて、構造情報から特定されるパス毎に、パス名と要素数または要素の値とを示すパス情報を生成し合成する処理と、
パス情報を合成した合成情報に基づいて、ＸＭＬデータを生成する処理とを実行させるためのＸＭＬ生成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＸＭＬデータのデータ構造を定義する定義情報に基づいてＸＭＬデータを生成するＸＭＬ生成装置、およびＸＭＬ生成プログラムに関する。
【０００２】
【従来の技術】
Ｂ２Ｂｉ（Ｂｕｓｉｎｅｓｓ  ｔｏ  Ｂｕｓｉｎｅｓｓ  Ｉｎｔｅｇｒａｔｉｏｎ）やＥＡＩ（Ｅｎｔｅｒｐｒｉｓｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｇｒａｔｉｏｎ）などの提携システムにおいて、企業間でテストデータを用いて導通試験を行ったりするときにテスト用のＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データが用いられる場合がある。また、システム構築における業務仕様策定の際に雛形データ（以下、テンプレートという）があると便利である。
【０００３】
ＸＭＬデータは構造が複雑であるので、編集作業に手間がかかる場合がある。特許文献１には、ＸＭＬデータの生成に際して、作業効率を向上させ、作業者の負担を軽減できるデータ構造化方式が記載されている。特許文献１に記載されたデータ構造化方式では、ＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）などの文書構造制約情報を入力する。そして、グラフィカルユーザインタフェースを用いた作業者からの指示に基づき、構造化対象のテキスト文書データなどの文書構造を編集する。
【０００４】
【特許文献１】
特開２００１−１０１１８３号公報（第５−８頁、第１図、第４−６図）
【０００５】
【発明が解決しようとする課題】
特許文献１に記載されたデータ構造化方式では、構造化の対象となる実際の文書そのものを見ながら構造化の指示を行う構成を実現することによって、作業効率を向上させ、作業者の負担を軽減させている。しかし、単にユーザがＸＭＬデータなどの編集作業をする際の負担軽減を図ったものであり、ＸＭＬデータ生成の際の工程を削減する構成を実現したものではない。従って、テストデータやＸＭＬデータのテンプレートを容易に生成することはできない。
【０００６】
そこで、本発明は、複数のＸＭＬデータを容易に生成することができ、ＸＭＬデータ生成の際の工数を削減できるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
本発明によるＸＭＬ生成装置は、指定されるデータ構造に従ってＸＭＬデータを生成するＸＭＬ生成装置であって、生成すべきＸＭＬデータのデータ構造を指定する構造情報（例えば、入力ＤＴＤデータ１１）を入力する構造情報入力手段（ＤＴＤ入力部２０２によって実現される）と、パスが示す要素と要素数との対応関係若しくは要素と要素の値との対応関係を示す対応関係情報（例えば、入力ＮＶリストデータ１３）、または既存のＸＭＬデータ（例えば、入力ＸＭＬデータ１２）を、再利用情報として入力する再利用情報入力手段（ＸＭＬ入力部２０５と、ＮＶリスト入力部２０７とによって実現される）と、生成すべきＸＭＬデータの生成パターンを指定する情報である設定情報（例えば、生成デフォルト情報）を保持する設定情報保持手段（ＸＭＬ生成装置２０の記憶装置によって実現される）と、設定情報および再利用情報に基づいて、構造情報から特定されるパス毎に、パス名と要素数または要素の値とを示すパス情報を生成し合成するパス情報合成手段（パス合成部２０８によって実現される）と、パス情報合成手段によって合成された合成情報（例えば、合成ＤＯＭオブジェクト）に基づいて、ＸＭＬデータを生成するＸＭＬ生成手段（ＸＭＬ生成部２０９によって実現される）とを備えたことを特徴とする。
【０００８】
ＸＭＬ生成装置は、設定情報（例えば、生成オプション情報）を入力する設定情報入力手段（生成オプション入力部２０１によって実現される）を備え、パス情報合成手段は、設定情報入力手段が入力した設定情報と、設定情報保持手段が保持する設定情報と、再利用情報とに基づいてＸＭＬデータのパス情報を生成し合成するものであってもよい。そのような構成によれば、ＸＭＬデータを生成する際に、ユーザは生成するＸＭＬデータに含まれる要素値や属性値などの生成パターンを任意に変更することができる。
【０００９】
再利用情報入力手段は、再利用情報として対応関係情報を入力する対応関係情報入力手段（ＮＶリスト入力部２０７によって実現される）を含み、パス情報合成手段は、対応関係情報入力手段が入力した対応関係情報に含まれるパス情報を抽出し、抽出したパス情報を合成対象として採用してパス情報を合成するものであってもよい。そのような構成によれば、ユーザが過去の蓄積データをもとに編集したデータを再利用データとして利用してＸＭＬデータを生成することができる。従って、ＸＭＬデータを編集する場合と比較して、ユーザの手作業に係る処理を低減することができる。
【００１０】
再利用情報入力手段は、再利用情報として既存のＸＭＬデータを入力するＸＭＬ入力手段（ＸＭＬ入力部２０５によって実現される）を含み、パス情報合成手段は、ＸＭＬ入力手段が入力した既存のＸＭＬデータに含まれるパス情報を抽出し、抽出したパス情報を合成対象として採用してパス情報を合成し、ＸＭＬ生成手段は、パス情報合成手段によって合成された合成情報に基づいて、新たなＸＭＬデータを生成するものであってもよい。そのような構成によれば、既存のＸＭＬデータを再利用して新たなＸＭＬデータを生成することにより、ユーザの手作業に係る処理を削減することができる。
【００１１】
パス情報合成手段は、対応関係情報に含まれるパス情報を、既存のＸＭＬデータに含まれるパス情報に優先して採用することによってパス情報を合成するものであってもよい。そのような構成によれば、ユーザが編集した再利用データを優先的に反映したＸＭＬデータを生成することができる。
【００１２】
パス情報合成手段は、構造情報から特定されるパス情報が対応関係情報または既存のＸＭＬデータに含まれていない場合、設定情報において指定された生成パターンに従いパス情報を合成するものであってもよい。そのような構成によれば、ユーザが編集または指定した再利用データに対応する部分のパス情報が含まれていない場合であってもＸＭＬデータを生成できる。
【００１３】
ＸＭＬ生成装置は、パス情報合成手段によって合成された合成情報、構造情報入力手段が入力した構造情報、またはＸＭＬ入力手段が入力した既存のＸＭＬデータに基づいて対応関係情報（例えば、出力ＮＶリストデータ３２、ＤＴＤ変換ＮＶリストデータ、またはＸＭＬ変換ＮＶリストデータ）を生成する対応関係情報生成手段（ＮＶリスト生成部２１１、ＤＴＤ変換部２０４、またはＸＭＬ変換部２０６によって実現される）を備えたものであってもよい。そのような構成によれば、ユーザは、パス情報を合成した結果、構造情報、または既存のＸＭＬデータに基づいて容易に再利用データを編集することができる。従って、ユーザが編集した再利用データを次回のＸＭＬデータ生成時に再利用することができる。
【００１４】
再利用情報入力手段は、ＸＭＬ生成手段が生成したＸＭＬデータ、または対応関係情報生成手段が生成した対応関係情報を再利用情報として入力するものであってもよい。そのような構成によれば、生成したＸＭＬデータやユーザが編集したデータを、再利用データとして次回のＸＭＬデータ生成時に再利用することができる。
【００１５】
本発明によるＸＭＬ生成プログラムは、生成すべきＸＭＬデータの生成パターンを指定する情報である設定情報を保持する設定情報保持手段を備えたＸＭＬ生成装置に搭載されるＸＭＬ生成プログラムであって、コンピュータに、生成すべきＸＭＬデータのデータ構造を指定する構造情報を入力する処理と、パスが示す要素と要素数との対応関係若しくは要素と要素の値との対応関係を示す対応関係情報、または既存のＸＭＬデータを、再利用情報として入力する処理と、設定情報および再利用情報に基づいて、構造情報から特定されるパス毎に、パス名と要素数または要素の値とを示すパス情報を生成し合成する処理と、パス情報を合成した合成情報に基づいて、ＸＭＬデータを生成する処理とを実行させることを特徴とする。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明によるＸＭＬ生成装置の構成の一例を示すブロック図である。図１に示すように、ＸＭＬ生成装置２０は、記憶装置Ａ１０に記憶されるデータを取得してＸＭＬデータを生成し、生成したＸＭＬデータを記憶装置Ｂ３０に出力する。ＸＭＬ生成装置２０は、パーソナルコンピュータやサーバ等の情報処理装置によって実現される。記憶装置Ａ１０および記憶装置Ｂ３０は、磁気記憶装置などによって実現される。なお、記憶装置Ａ１０および記憶装置Ｂ３０は、半導体記憶装置などによって実現されるものであってもよい。
【００１７】
本実施の形態では、ＸＭＬ生成装置２０は、記憶装置Ａ１０に記憶されるＤＴＤデータに含まれるデータ構造の定義情報に従い、ユーザなどから入力される各設定値に基づいてＸＭＬデータを生成する。また、ＸＭＬ生成装置２０は、ＸＭＬデータを生成する際に、ＤＴＤデータ以外の記憶装置Ａ１０に記憶されるデータを参照する。ＸＭＬ生成装置２０がＸＭＬデータを生成する際に参照するデータには、ＸＭＬ生成装置２０が過去に生成した既存データやユーザによって作成された編集データが含まれる。すなわち、ＸＭＬ生成装置２０は、過去に生成した既存データを再利用してＸＭＬデータを生成する。また、ＸＭＬ生成装置２０は、ユーザが既存データに基づきエディタなどを用いて編集作成したデータを利用してＸＭＬデータを生成する。
【００１８】
記憶装置Ａ１０は、生成するＸＭＬデータのデータ構造の情報を含む入力ＤＴＤデータ１１と、ＸＭＬデータを生成する際にＸＭＬ生成装置２０が参照する入力ＸＭＬデータ１２および入力ＮＶリストデータ１３とを記憶する。入力ＤＴＤデータ１１は、生成するＸＭＬデータのデータ構造の定義情報を含むＤＴＤデータである。入力ＸＭＬデータ１２は、ＸＭＬ生成装置２０が過去に生成したＸＭＬデータである。入力ＮＶリストデータ１３は、ＸＭＬ生成装置２０が過去に生成したＮＶリスト（Ｎａｍｅ  ａｎｄ  Ｖａｌｕｅ  Ｌｉｓｔ  ）データである。
【００１９】
ＮＶリストデータとは、各要素と要素の数との対応関係や各要素と要素の値との対応関係をリスト形式にしたテキストデータである。ＮＶリストデータにおいて、各要素の対応関係は、各要素と要素の数または各要素と要素の値とを「＝」で対応付けて表示される。例えば、各要素の対応関係は、「要素名＝要素数」や「要素名＝要素値」と表示される。また、例えば、「＝」ではなく「，」を用いて、「要素名，要素数」や「要素名，要素値」と各要素の対応関係をＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ  ）形式で表示してもよい。入力ＮＶリストデータ１３は、例えば、ＸＭＬ生成装置２０が過去に生成したＸＭＬデータに含まれる各要素の対応関係の情報をリスト形式にしたＮＶリストデータである。従って、ユーザは、エディタなどの編集用ソフトウェアを用いて入力ＮＶリストデータ１３を容易に編集できる。
【００２０】
なお、生成するＸＭＬデータのデータ構造の定義情報を含む入力データはＤＴＤデータに限られない。例えば、ＸＭＬデータのデータ構造の定義情報を含むＸＭＬスキーマであってもよい。
【００２１】
ＸＭＬ生成装置２０は、図１に示すように、ＸＭＬデータの生成パターンを指定する各設定値を入力する生成オプション入力部２０１と、記憶装置Ａ１０からの入力ＤＴＤデータ１１を入力するＤＴＤ入力部２０２と、入力ＤＴＤデータ１１を解析する構造解析部２０３と、入力ＤＴＤデータ１１をＮＶリストデータに変換するＤＴＤ変換部２０４と、記憶装置Ａ１０からの入力ＸＭＬデータ１２を入力するＸＭＬ入力部２０５と、入力ＸＭＬデータ１２をＮＶリストデータに変換するＸＭＬ変換部２０６と、記憶装置Ａ１０からの入力ＮＶリストデータ１３を入力するＮＶリスト入力部２０７と、各入力データに基づいてパス情報を合成するパス合成部２０８と、合成結果に基づいてＸＭＬデータを生成するＸＭＬ生成部２０９と、生成したＸＭＬデータを出力するＸＭＬ出力部２１０と、合成結果に基づいてＮＶリストデータを生成するＮＶリスト生成部２１１と、生成したＮＶリストデータを出力するＮＶリスト出力部２１２とを含む。
【００２２】
生成オプション入力部２０１は、キーボードやマウスなどの入力装置とＸＭＬ生成装置２０の制御部とによって実現され、ユーザからの入力指示に従ってＸＭＬデータの生成パターンを指定する各設定値の入力を必要に応じて受け付ける。以下、ユーザからの指示に従って入力されるＸＭＬデータ生成のための設定値を含む情報を生成オプション情報と記す。なお、生成オプション情報をユーザからの指示に従って入力装置から入力するのでなく、生成オプション入力部２０１は、生成オプション情報を含む外部ファイルを、外部の記憶装置から読み込んで入力してもよい。
【００２３】
なお、ＸＭＬ生成装置２０は、ＸＭＬデータの生成パターンを指定する各設定値のデフォルト値の情報を、ＸＭＬ生成装置２０の記憶装置（図示せず）などに保持している。以下、ＸＭＬ生成装置２０が保持する各設定値のデフォルト値の情報を生成デフォルト情報と記す。各設定値のうち、生成オプション入力部２０１から生成オプション情報として入力された設定値については、ＸＭＬ生成装置２０は、生成オプション情報に含まれる設定値に基づいてＸＭＬデータを生成する。生成オプション情報として入力されなかった設定値については、ＸＭＬ生成装置２０は、生成デフォルト情報に含まれる設定値に基づいてＸＭＬデータを生成する。
【００２４】
ＤＴＤ入力部２０２、ＸＭＬ入力部２０５、およびＮＶリスト入力部２０７は、ＸＭＬ生成装置２０の入出力インタフェース部と制御部とによって実現される。ＤＴＤ入力部２０２は、記憶装置Ａ１０から入力ＤＴＤデータ１１を読み込む。ＸＭＬ入力部２０５は、必要に応じて記憶装置Ａ１０から入力ＸＭＬデータ１２を読み込む。ＮＶリスト入力部２０７は、必要に応じて記憶装置Ａ１０から入力ＮＶリストデータ１３を読み込む。
【００２５】
構造解析部２０３、ＤＴＤ変換部２０４、ＸＭＬ変換部２０６、パス合成部２０８、ＸＭＬ生成部２０９、およびＮＶリスト生成部２１１は、ＸＭＬ生成装置２０の記憶装置に記憶されるプログラムを実行する制御部によって実現される。構造解析部２０３は、ＤＴＤ入力部２０２からの入力ＤＴＤデータ１１のデータ構造をＸＭＬ生成装置２０のメモリ（図示せず）上にＤＴＤオブジェクトとして展開する。ＤＴＤ変換部２０４は、展開されたＤＴＤオブジェクトに基づいて、入力ＤＴＤデータ１１をＮＶリストのデータ形式に変換しＮＶリストデータを生成する。以下、入力ＤＴＤデータ１１をデータ変換して生成したＮＶリストデータをＤＴＤ変換ＮＶリストデータと記す。ＸＭＬ変換部２０６は、ＸＭＬ入力部２０５からの入力ＸＭＬデータ１２をＮＶリストのデータ形式に変換しＮＶリストデータを生成する。以下、入力ＸＭＬデータ１２をデータ変換して生成したＮＶリストデータをＸＭＬ変換ＮＶリストデータと記す。
【００２６】
パス合成部２０８は、構造解析部２０３によって展開されたＤＴＤオブジェクトと、生成オプション入力部２０１からの生成オプション情報と、生成デフォルト情報とに基づいてパス情報を合成する。パス情報の概念についは後述する。また、パス合成部２０８は、ＸＭＬ変換ＮＶリストデータと、入力ＮＶリストデータ１３とを必要に応じて参照してパス情報を合成する。パス合成部２０８は、パス情報を合成した合成結果をＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ  ）オブジェクトとしてメモリ上に展開する。以下、パス合成部２０８がパス情報を合成した合成結果に基づいてメモリ上に展開したＤＯＭオブジェクトを、合成ＤＯＭオブジェクトと記す。
【００２７】
ＸＭＬ生成部２０９は、合成ＤＯＭオブジェクトをテキスト形式に変換してＸＭＬデータを生成する。以下、ＸＭＬ生成部２０９が生成するＸＭＬデータを出力ＸＭＬデータ３１と記す。ＮＶリスト生成部２１１は、合成ＤＯＭオブジェクトをＮＶリスト形式に変換してＮＶリストデータを生成する。以下、ＮＶリスト生成部２１１が生成するＮＶリストデータを出力ＮＶリストデータ３２と記す。
【００２８】
ＸＭＬ出力部２１０およびＮＶリスト出力部２１２は、ＸＭＬ生成装置２０の入出力インタフェース部と制御部とによって実現される。ＸＭＬ出力部２１０は、ＸＭＬ生成部２０９が生成した出力ＸＭＬデータ３１を記憶装置Ｂ３０に出力して記憶させる。ＮＶリスト出力部２１２は、ＮＶリスト生成部２１１が生成した出力ＮＶリストデータ３２を記憶装置Ｂ３０に出力して記憶させる。
【００２９】
記憶装置Ｂ３０は、図１に示すように、ＸＭＬ生成装置２０から出力される出力ＸＭＬデータ３１および出力ＮＶリストデータ３２を記憶する。なお、記憶装置Ａ１０と記憶装置Ｂ３０とは、１台の半導体記憶装置や磁気記憶装置などで実現されるものであってもよい。
【００３０】
構造情報入力手段は、ＤＴＤ入力部２０２によって実現される。再利用情報入力手段は、ＸＭＬ入力部２０５と、ＮＶリスト入力部とによって実現される。設定情報保持手段は、ＸＭＬ生成装置２０の記憶装置によって実現される。パス情報合成手段は、パス合成部２０８によって実現される。ＸＭＬ生成手段は、ＸＭＬ生成部２０９によって実現される。設定情報入力手段は、生成オプション入力部２０１によって実現される。ＸＭＬ入力手段は、ＸＭＬ入力部２０５によって実現される。対応関係情報入力手段は、ＮＶリスト入力部２０７によって実現される。対応関係情報生成手段は、ＮＶリスト生成部２１１と、ＤＴＤ変換部２０４と、ＸＭＬ変換部２０６とによって実現される。
【００３１】
図２は、入力ＤＴＤデータ１１の内容の例を示す説明図である。図２に示すように、本例では、入力ＤＴＤデータ１１において、親要素「Ｓｉｍｐｌｅ」が定義され、さらに子要素「Ｏｎｅ  」，「ＺｅｒｏＯｒＯｎｅ？」，「ＺｅｒｏＯｒＭｏｒｅ＊  」，「ＯｎｅＯｒＭｏｒｅ＋  」などが定義される。図２に示すように、入力ＤＴＤデータ１１には「？」，「＊」，「＋」などの要素の記載回数を定義するＸＭＬ言語の記号が付加された子要素が含まれる。また、本例では、子要素「Ｏｎｅ  」には、属性名「ｉｄＲｅｑ  」および「ｉｄＩｍｐ  」が定義される。属性「ｉｄＲｅｑ  」には、属性値を必ず指定しなければならないことを示すＸＭＬ言語の宣言「＃ＲＥＱＵＩＲＥＤ  」が記述されている。属性「ｉｄＩｍｐ  」には、属性値を省略可能であることを示すＸＭＬ言語の宣言「＃ＩＭＰＬＩＥＤ」が記述されている。
【００３２】
また、本例では、図２に示すように、親要素「Ｓｉｍｐｌｅ」内に定義した子要素のうち、「ＯｒＡ  」、「ＯｒＢ  」および「ＯｒＣ  」については、いずれか１つを選択して指定しなければならないことを示すＸＭＬ言語の記号「｜  」が記述されている。「ＯｒＡ  」を指定した場合には、さらに「ｓｅｌｅｃｔＴｙｐｅ  １」，  「ｓｅｌｅｃｔＴｙｐｅ  ２」，  「ｓｅｌｅｃｔＴｙｐｅ  ３」のうちのいずれか１つのデータ種別を選択して指定しなければならない。なお、本実施の形態では、「｜  」記号がある要素について生成オプション情報として設定値が入力されていない場合には、先頭要素を選択して指定する旨が生成デフォルト情報に設定されている場合を例に説明する。
【００３３】
図３は、入力ＸＭＬデータ１２の内容の例を示す説明図である。本例では、図３に示すように、入力ＸＭＬデータ１２において、属性「ｉｄＲｅｑ  」の属性値として「０００００１」が指定されている。また、入力ＸＭＬデータ１２に含まれる子要素「ＯｎｅＯｒＭｏｒｅ  」の要素数は２つであることが指定されており、それぞれ要素値「ｄａｔａ１  」および「ｄａｔａ２  」が指定されている。また、子要素「ＯｒＡ  」が選択して指定され、データ種別として「ｓｅｌｅｃｔＴｙｐｅ  １」が選択して指定されている。そして、子要素「ＯｒＡ  」の属性値として「Ｖａｌｕｅ  Ａ  」が指定されている。
【００３４】
なお、入力ＸＭＬデータ１２は、必ずしも入力ＤＴＤデータ１１で定義されるデータ構造に合致したデータでなくてもよい。例えば、図２に示す入力ＤＴＤデータ１１において属性「ｉｄＲｅｑ  」が  ＃ＲＥＱＵＩＲＥＤ宣言されているので要素「Ｏｎｅ  」は必須要素であるが、入力ＸＭＬデータ１２は要素「Ｏｎｅ  」を含まないデータであってもよい。また、入力ＸＭＬデータ１２は、ＤＴＤ外部ファイル宣言部において入力ＤＴＤデータ１１とは異なるＤＴＤデータの参照を宣言しているものであってもよい。
【００３５】
図４は、入力ＮＶリストデータ１３の内容の例を示す説明図である。本例では、図４に示すように、入力ＮＶリストデータ１３において、「／Ｓｉｍｐｌｅ／Ｏｎｅ／＠ｉｄＩｍｐ」，「／Ｓｉｍｐｌｅ／ＯｎｅＯｒＭｏｒｅ＋」，「／Ｓｉｍｐｌｅ／ＯｎｅＯｒＭｏｒｅ［２］」の３つのパスに対してそれぞれパス値「インプライド」、「３」および「データ２」が指定されている。
【００３６】
次に、パス情報の概念を説明する。パスとは、ＸＭＬデータやＮＶリストデータに含まれる各要素について、「／  」などの区切り記号を用いて親要素と子要素と間の関係を示したものである。本実施の形態では、パス名をＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ  ）で表現する場合を例に説明する。例えば、親要素「Ｓｉｍｐｌｅ」と子要素「Ｏｎｅ  」，「ＯｎｅＯｒＭｏｒｅ  」との間の関係を示すパスは、「／Ｓｉｍｐｌｅ／Ｏｎｅ／＠ｉｄＲｅｑ」や「／Ｓｉｍｐｌｅ／ＯｎｅＯｒＭｏｒｅ」と表現される。パス情報とは、パス名と要素の数またはパスの値（例えば、要素値や属性値）とを示す情報である。
【００３７】
パス形式の変換に際してＤＴＤデータやＸＭＬデータに「？」，「＊」，「＋」などの記号が存在する場合には、これらの記号を各要素名の末尾に付加することによりパス形式に変換する。例えば、「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＯｎｅ？」，「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＭｏｒｅ＊  」，「／Ｓｉｍｐｌｅ／ＯｎｅＯｒＭｏｒｅ＋」などのパスが生成される。記号「｜  」が存在する場合には、選択要素の前後に括弧を付加することによりパス形式に変換する。例えば、「／Ｓｉｍｐｌｅ／（ＯｒＡ｜ＯｒＢ｜ＯｒＣ）  」などのパスが生成される。
【００３８】
例えば、生成オプション情報において、「？」および「＊」が付加された要素の数を「０」と設定し、「＋」が付加された要素の数を「１」と設定してパス情報を合成した場合を例に説明する。図５は、パス合成部２０８が図２に示す入力ＤＴＤデータ１１に従ってパス情報を合成した結果を、ＮＶリスト変換したＮＶリストデータの一例を示す説明図である。図５に示すＮＶリストデータは、入力ＸＭＬデータ１２および入力ＮＶリストデータ１３の入力はなく、生成オプション情報と、生成デフォルト情報とに基づいてパス情報を合成した合成結果に基づくデータである。
【００３９】
また、前述の「？」，「＊」，「＋」が付加された要素の数以外の設定値として、パスの区切り記号を「／  」と設定し、パスのプレフィックス（パスの接頭子）を指定しない旨を設定し、要素値や属性値のデフォルト値としてｎｕｌｌ値（不定値）を出力しない旨を設定し、ＩＭＰＬＩＥＤ属性を出力しない旨を設定しているものとする。ｎｕｌｌ値を出力しない旨が設定されている場合には、例えば、パス値としてパス名がそのまま出力される。
【００４０】
図５に示すように、パス「／Ｓｉｍｐｌｅ／Ｏｎｅ／＠ｉｄＲｅｑ」については、「ｎｕｌｌ値」を出力しない旨が設定されているので、例えば、そのままパス名「／Ｓｉｍｐｌｅ／Ｏｎｅ／＠ｉｄＲｅｑ」をパス値としてパス情報が生成される。パス「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＯｎｅ？」および「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＭｏｒｅ＊  」については、要素数「０」と設定されているので、パス値「０」としてパス情報が生成される。要素数「０」であるので、要素の内容を示すパス「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＯｎｅ  」および「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＭｏｒｅ」についてのパス情報は生成されない。パス「／Ｓｉｍｐｌｅ／ＯｎｅＯｒＭｏｒｅ＋」については、要素数「１」と設定されているので、パス値「１」としてパス情報が生成される。そして、要素の内容を示すパス「／Ｓｉｍｐｌｅ／ＯｎｅＯｒＭｏｒｅ  」については、ｎｕｌｌ値を出力しない旨が設定されているので、例えば、そのままパス名「／Ｓｉｍｐｌｅ／ＯｎｅＯｒＭｏｒｅ  」をパス値としてパス情報が生成される。
【００４１】
「｜  」記号の選択指定については設定されていないので、生成デフォルト情報に基づいて先頭情報が選択される。すなわち、それぞれ「ＯｒＡ  」と「ｓｅｌｅｃｔＴｙｐｅ１」とが選択され、その選択結果に基づいてパス情報が生成される。なお、生成オプション情報で２番目の情報を選択するように設定されている場合には、パス情報として「／Ｓｉｍｐｌｅ／（ＯｒＡ｜ＯｒＢ｜ＯｒＣ）＝２  」と生成され、要素「ＯｒＢ  」の内容についてのパス情報が生成される。  ＩＭＰＬＩＥＤ属性については出力しない旨が設定されているので、本例では、属性「ｉｄＩｍｐ  」に対するパス情報は生成されない。
【００４２】
また、生成オプション情報において「？」，「＊」，「＋」が付加された全ての要素の数を「１」に設定した場合には、図２に示す入力ＤＴＤデータ１１に含まれる要素の全てのパス情報を生成することができる。図６は、図２に示す入力ＤＴＤデータ１１に従ってパス情報を合成した結果を、ＮＶリスト変換したＮＶリストデータの他の例を示す説明図である。「？」，「＊」，「＋」を含む要素の数以外の設定値や他の条件については、図５の場合と同様である。すなわち、パスの区切り記号を「／  」と設定し、パスのプレフィックスを指定しない旨を設定し、要素値や属性値のデフォルト値としてｎｕｌｌ値を出力しない旨を設定し、ＩＭＰＬＩＥＤ属性を出力しない旨を設定しているものとする。
【００４３】
図６に示すように、図５で生成されたパス情報に加えて、パス「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＯｎｅ？」および「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＭｏｒｅ＊  」についてのパス情報が生成される。すなわち、パス「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＯｎｅ？」については、パス値「１」としてパス情報が生成される。そして、要素の内容を示すパス「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＯｎｅ  」ついては、例えば、そのままパス名「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＯｎｅ  」をパス値としてパス情報が生成される。また、「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＭｏｒｅ＊  」については、パス値「１」としてパス情報が生成される。そして、要素の内容を示すパス「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＭｏｒｅ」については、例えば、そのままパス名「／Ｓｉｍｐｌｅ／ＺｅｒｏＯｒＭｏｒｅ」をパス値としてパス情報が生成される。
【００４４】
次に、動作について説明する。図７は、ＸＭＬ生成装置２０がＸＭＬデータを生成する処理経過の一例を示す流れ図である。ＤＴＤ入力部２０２は、記憶装置Ａ１０から入力ＤＴＤデータ１１を読み込む（ステップＳ１０１）。構造解析部２０３は、ＤＴＤ入力部２０２からの入力ＤＴＤデータ１１のデータ構造を解析してメモリ上にＤＴＤオブジェクトとして展開する（ステップＳ１０２）。
【００４５】
生成オプション入力部２０１は、ユーザからの入力指示に従って、生成オプション情報の入力を受け付け生成オプション情報の各設定値を設定する（ステップＳ１０３）。生成オプション入力部２０１は、生成オプション情報として以下の設定値を設定する。
【００４６】
例えば、生成オプション入力部２０１は、「？」、「＊」、または「＋」などの記号が付加された要素の数を予め設定する。生成オプション入力部２０１は、パスの区切り記号を設定する。例えば、生成オプション入力部２０１は、パスの区切り記号として「／  」と設定する。生成オプション入力部２０１は、パスの接頭子であるプレフィックスを設定する。生成オプション入力部２０１は、データの各要素値や属性値のデフォルト値としてｎｕｌｌ値を出力するか否かを設定する。また、生成オプション入力部２０１は、データ内に  ＩＭＰＬＩＥＤ指定された要素が存在する場合に、その要素を出力するか否かを設定する。
【００４７】
ユーザから生成オプション情報の入力指示が入力されなかった場合には、ステップＳ１０３の処理は実行されない。ステップＳ１０３の処理を実行しない場合には、ＸＭＬ生成装置２０は、以下の処理において生成デフォルト情報に基づいてＸＭＬデータを生成する。また、各設定値のうち生成オプション情報として入力されなかった設定値については、ＸＭＬ生成装置２０は、生成デフォルト情報に含まれる設定値に基づいてＸＭＬデータを生成する。
【００４８】
ＸＭＬ入力部２０５は、ユーザから入力ＸＭＬデータのファイル名が入力されると、入力されたファイル名に対応する入力ＸＭＬデータ１２を、記憶装置Ａ１０から読み込む（ステップＳ１０４）。ユーザからファイル名が入力されない場合には、ＸＭＬ入力部２０５は、ステップＳ１０４の処理を実行しない。すなわち、ＸＭＬ生成装置２０は、以下の処理において、入力ＸＭＬデータ１２を参照せずにＸＭＬデータを生成する。
【００４９】
ＮＶリスト入力部２０７は、ユーザから入力ＮＶリストデータのファイル名が入力されると、入力されたファイル名に対応する入力ＮＶリストデータ１３を、記憶装置Ａ１０から読み込む（ステップＳ１０５）。ユーザからファイル名が入力されない場合には、ＮＶリスト入力部２０７は、ステップＳ１０５の処理を実行しない。すなわち、ＸＭＬ生成装置２０は、以下の処理において、入力ＮＶリストデータ１３を参照せずにＸＭＬデータを生成する。
【００５０】
なお、ユーザからファイル名が入力された場合にステップＳ１０４やステップＳ１０５の処理を実行するのではなく、例えば、バッチ処理に含まれる指示に従って、ステップＳ１０４やステップＳ１０５の処理を実行するようにしてもよい。
【００５１】
ステップＳ１０３，Ｓ１０４，Ｓ１０５の処理を実行する順番は、本実施の形態で示した順番に限られない。また、ステップＳ１０３，Ｓ１０４，Ｓ１０５のうちのいずれかまたは全ての処理をステップＳ１０１およびステップＳ１０２の処理の前に実行してもよい。
【００５２】
ユーザから入力ＤＴＤデータ１１をＮＶリストデータに変換する旨の指示が入力されると、ＤＴＤ変換部２０４は、ＸＭＬ生成装置２０のメモリ上に展開されたＤＴＤオブジェクトに基づいて、入力ＤＴＤデータ１１をＮＶリストのデータ形式に変換しＤＴＤ変換ＮＶリストデータを生成する（ステップＳ１０６）。ユーザから入力ＤＴＤデータ１１の変換指示が入力されなかった場合には、ＤＴＤ変換部２０４は、ステップＳ１０６の処理を実行しない。すなわち、ＤＴＤ変換部２０４は、ＤＴＤ変換ＮＶリストデータを生成しない。
【００５３】
なお、ユーザからＮＶリストデータに変換する旨の指示が入力された場合にステップＳ１０６の処理を実行するのではなく、例えば、バッチ処理に含まれる指示に従って、ステップＳ１０６の処理を実行するようにしてもよい。
【００５４】
ＸＭＬ変換部２０６は、ＸＭＬ入力部２０５からの入力ＸＭＬデータ１２をＮＶリストのデータ形式に変換してＮＶリストデータとして生成する（ステップＳ１０７）。ユーザからファイル名が入力されずステップＳ１０４の処理が実行されなかった場合には、ＸＭＬ変換部２０６は、ステップＳ１０７の処理を実行しない。すなわち、ＸＭＬ変換部２０６は、ＸＭＬ変換ＮＶリストデータを生成しない。
【００５５】
図８は、ＸＭＬ変換部２０６が生成するＸＭＬ変換ＮＶリストデータの一例を示す説明図である。図８に示すＸＭＬ変換ＮＶリストデータは、図３に示す入力ＸＭＬデータ１２をＮＶリスト変換して生成されたＮＶリストデータである。図８に示すように、ＸＭＬ変換部２０６は、前述したパスの概念に従って入力ＸＭＬデータ１２をＮＶリスト変換しＸＭＬ変換ＮＶリストデータを生成する。
【００５６】
パス合成部２０８は、メモリ上に展開された入力ＤＴＤデータ１１のＤＴＤオブジェクトに従い、生成オプション情報と生成デフォルト情報とに含まれる各設定値に基づいてパス情報を合成する（ステップＳ１０８）。また、ＸＭＬ変換ＮＶリストデータが生成されている場合には、パス合成部２０８は、ＸＭＬ変換ＮＶリストデータを参照してパス情報を合成する。また、入力ＮＶリストデータ１３が入力されている場合には、パス合成部２０８は、入力ＮＶリストデータ１３を参照してパス情報を合成する。
【００５７】
図９は、パス合成部２０８がパス情報を合成する処理経過の一例を示す流れ図である。パス合成部２０８は、まず入力ＮＶリストデータ１３を参照し、対応する部分のパス情報が入力ＮＶリストデータ１３に存在するか否かを判定する（ステップＳ２１）。パス情報が存在する場合には、パス合成部２０８は、入力ＮＶリストデータ１３に含まれるパス情報を抽出する（ステップＳ２２）。ステップＳ２１で対応する部分のパス情報がない場合または入力ＮＶリストデータ１３がない場合には、パス合成部２０８は、ＸＭＬ変換ＮＶリストデータを参照する。パス合成部２０８は、対応する部分のパス情報がＸＭＬ変換ＮＶリストデータに存在するか否かを判定する（ステップＳ２３）。パス情報が存在する場合には、パス合成部２０８は、ＸＭＬ変換ＮＶリストデータに含まれるパス情報を抽出する（ステップＳ２４）。
【００５８】
ステップＳ２３で対応する部分のパス情報がない場合またはＸＭＬ変換ＮＶリストデータがない場合には、パス合成部２０８は、生成オプション情報または生成デフォルト情報に、デフォルト値としてｎｕｌｌ値を出力する旨の指定があるか否かを判定する（ステップＳ２５）。ｎｕｌｌ値を出力する旨の指定がある場合には、パス合成部２０８は、対応する部分のパス値をｎｕｌｌ値としてパス情報を生成する（ステップＳ２６）。ｎｕｌｌ値を出力する旨の指定がない場合には、パス合成部２０８は、対応する部分のパス名をそのままパス値としてパス情報を生成する（ステップＳ２７）。パス合成部２０８は、ステップＳ２１からステップＳ２７までの手順に従って抽出または生成したパス情報を合成する。そして、パス合成部は、合成ＤＯＭオブジェクトをメモリ上に展開する。
【００５９】
パス情報が合成されると、ＸＭＬ生成部２０９は、メモリ上に構成された合成ＤＯＭオブジェクトをテキスト形式に変換して出力ＸＭＬデータ３１を生成する（ステップＳ１０９）。また、ユーザから出力ＮＶリストデータ３２を生成する旨の指示が入力されると、ＮＶリスト生成部２１１は、合成ＤＯＭオブジェクトをＮＶリスト形式に変換して出力ＮＶリストデータ３２を生成する（ステップＳ１１０）。ユーザから出力ＮＶリストデータ３２を生成する旨の指示が入力されなかった場合には、ＮＶリスト生成部２１１は、ステップＳ１１０の処理を実行しない。すなわち、ＮＶリスト生成部２１１は、出力ＮＶリストデータ３２を生成しない。
【００６０】
なお、ユーザから出力ＮＶリストデータ３２を生成する旨の指示が入力された場合にステップＳ１１０の処理を実行するのではなく、例えば、バッチ処理に含まれる指示に従って、ステップＳ１１０の処理を実行するようにしてもよい。
【００６１】
図１０は、生成された出力ＸＭＬデータ３１および出力ＮＶリストデータ３２の一例を示す説明図である。図１０（ａ）は、ＸＭＬ生成部２０９が生成した出力ＸＭＬデータ３１である。また、図１０（ｂ）は、ＮＶリスト生成部２１１が生成した出力ＮＶリストデータ３２である。本例では、入力ＸＭＬデータ１２および入力ＮＶリストデータ１３の入力がなく、図２に示す入力ＤＴＤデータ１１に従って、生成オプション情報と生成デフォルト情報とに基づいて、出力ＸＭＬデータ３１と出力ＮＶリストデータ３２とを生成した場合を例に説明する。また、ステップＳ１０３において、「？」および「＊」が付加された要素の数を「０」と設定し、「＋」が付加された要素の数を「１」と設定し、パスの区切り記号は「／  」と設定し、パスのプレフィックスは指定しない旨を設定し、要素値や属性値のデフォルト値としてｎｕｌｌ値を出力する旨を設定し、ＩＭＰＬＩＥＤ属性を出力しない旨を設定しているものとする。
【００６２】
図１０（ａ）に示すように、ＸＭＬ生成部２０９は、ＸＭＬ宣言部「？ｘｍｌ  ｖｅｒｓｉｏｎ＝’１．０’  ｅｎｃｏｄｉｎｇ＝’ＵＴＦ−８’？」とＤＴＤ外部ファイル宣言部「！ＤＯＣＴＹＰＥ  Ｓｉｍｐｌｅ  ＳＹＳＴＥＭ  ”ｓｉｍｐｌｅ．ｄｔｄ”  」とを自動的に生成する。なお、ＸＭＬ宣言部のうち出力文字コードの指定である「ｅｎｃｏｄｉｎｇ＝’ＵＴＦ−８’」の部分については、ステップＳ１０３において生成オプション情報の設定値として設定してもよい。
【００６３】
ＸＭＬ生成部２０９は、生成オプション情報によって「＋」が付加された要素を１つ生成するように設定されているので、要素「ＯｎｅＯｒＭｏｒｅ  」についてのタグを１つ生成する。本例では、デフォルト値としてｎｕｌｌ値を出力する旨が設定されているので、パス合成部２０８は、ステップＳ２７においてパス値がｎｕｌｌ値であるとしてパス情報を合成する。従って、ＸＭＬ生成部２０９は、タグ「ＯｎｅＯｒＭｏｒｅ  」を空要素のタグとして生成する。ＸＭＬ生成部２０９は、属性「ｉｄＲｅｑ  」については  ＃ＲＥＱＵＩＲＥＤ宣言がされておりｎｕｌｌ値を属性値として生成できないので、ワーニング表示であることを示す「＃＃＃＃ｒｅｑｕｉｒｅｄ＃＃＃＃」を生成する。また、「｜  」記号の選択指定については生成オプション情報に設定されていないので、ＸＭＬ生成部２０９は、生成デフォルト情報に基づいて先頭情報を選択してタグを生成する。本例では、ＸＭＬ生成部２０９は、それぞれ「ＯｒＡ  」および「ｓｅｌｅｃｔＴｙｐｅ  １」を選択してタグを生成する。
【００６４】
また、図１０（ｂ）に示すように、ＮＶリスト生成部２１１は、要素「ＺｅｒｏＯｒＯｎｅ？」および「ＺｅｒｏＯｒＭｏｒｅ＊  」については要素値「０」を生成し、要素「ＯｎｅＯｒＭｏｒｅ＋」について要素値「１」を生成する。そして、デフォルト値としてｎｕｌｌ値を出力する旨が設定されているので、ＮＶリスト生成部２１１は、要素「ＯｎｅＯｒＭｏｒｅ  」の要素値を空欄として生成する。また、ＮＶリスト生成部２１１は、属性「ｉｄＲｅｑ  」については  ＃ＲＥＱＵＩＲＥＤ宣言がされておりｎｕｌｌ値を属性値として生成できないので、ワーニング「＃＃＃＃ｒｅｑｕｉｒｅｄ＃＃＃＃」を生成する。また、「｜  」記号の選択指定については、ＮＶリスト生成部２１１は、それぞれ「ＯｒＡ  」および「ｓｅｌｅｃｔＴｙｐｅ  １」を選択して要素値を生成する。
【００６５】
図１１は、生成された出力ＸＭＬデータ３１および出力ＮＶリストデータ３２の他の例を示す説明図である。図１１（ａ）は、ＸＭＬ生成部２０９が生成した出力ＸＭＬデータ３１である。また、図１１（ｂ）は、ＮＶリスト生成部２１１が生成した出力ＮＶリストデータ３２である。本例では、図１０と同様に、図２に示す入力ＤＴＤデータ１１に従って、生成オプション情報と生成デフォルト情報とに基づいて、出力ＸＭＬデータ３１と出力ＮＶリストデータ３２とを生成した場合を例に説明する。本例では、ステップＳ１０３において、「？」，「＊」，「＋」が付加された要素の数を「１」と設定し、パスの区切り記号は「／  」と設定し、パスのプレフィックスは指定しない旨を設定し、要素値や属性値のデフォルト値としてｎｕｌｌ値を出力しない旨を設定し、ＩＭＰＬＩＥＤ属性を出力する旨を設定しているものとする。
【００６６】
図１１（ａ）に示すように、「？」，「＊」，「＋」が付加された各要素について要素を１つ生成するように設定されているので、ＸＭＬ生成部２０９は、要素「ＺｅｒｏＯｒＯｎｅ  」，「ＺｅｒｏＯｒＭｏｒｅ」，「ＯｎｅＯｒＭｏｒｅ  」についてそれぞれタグを１つ生成する。また、図１１（ｂ）に示すように、ＮＶリスト生成部２１１は、要素「ＺｅｒｏＯｒＯｎｅ  」，「ＺｅｒｏＯｒＭｏｒｅ」，「ＯｎｅＯｒＭｏｒｅ  」についてそれぞれ要素値を１つ生成する。本例では、デフォルト値としてｎｕｌｌ値を出力しない旨が設定されているので、パス合成部２０８は、ステップＳ２７においてパス名をそのままパス値としてパス情報を合成する。従って、ＸＭＬ生成部２０９は、パス名をそのままそれぞれの要素値としてタグを生成する。同様にＮＶリスト生成部２１１は、パス名をそのまま各要素の要素値として生成する。
【００６７】
また、デフォルト値としてｎｕｌｌ値を出力しない旨が設定されているので、ＸＭＬ生成部２０９およびＮＶリスト生成部２１１は、パス名をそのまま属性「ｉｄＲｅｑ  」の属性値として生成する。また、ＩＭＰＬＩＥＤ属性を出力する旨が設定されているので、ＸＭＬ生成部２０９およびＮＶリスト生成部２１１は、それぞれ属性「ｉｄＩｍｐ  」のパス名をそのまま属性値として生成する。
【００６８】
図１２は、生成された出力ＸＭＬデータ３１および出力ＮＶリストデータ３２のさらに他の例を示す説明図である。図１２（ａ）は、ＸＭＬ生成部２０９が生成した出力ＸＭＬデータ３１である。また、図１２（ｂ）は、ＮＶリスト生成部２１１が生成した出力ＮＶリストデータ３２である。本例では、参照データとして図３に示す入力ＸＭＬデータ１２のみが入力された場合を例に説明する。本例では、ステップＳ１０３において、「？」，「＊」，「＋」が付加された要素の数を「１」と設定し、パスの区切り記号は「／  」と設定し、パスのプレフィックスは指定しない旨を設定し、要素値や属性値のデフォルト値としてｎｕｌｌ値を出力しない旨を設定し、ＩＭＰＬＩＥＤ属性を出力する旨を設定しているものとする。
【００６９】
「？」，「＊」，「＋」が付加された各要素について要素を１つ生成するように設定されているが、要素「ＯｎｅＯｒＭｏｒｅ  」については図３に示す入力ＸＭＬデータ１２で２つのパス値が指定されているので、パス合成部２０８は、ステップＳ２４において入力ＸＭＬデータ１２で指定されるパス値を抽出しパス情報を合成する。従って、ＸＭＬ生成部２０９は、図１２（ａ）に示すように、要素「ＯｎｅＯｒＭｏｒｅ  」について２つのタグを生成する。また、ＸＭＬ生成部２０９は、それぞれ２つのタグ「ＯｎｅＯｒＭｏｒｅ  」の要素値として、入力ＸＭＬデータ１２で指定される「ｄａｔａ１  」および「ｄａｔａ２  」を生成する。また、ＮＶリスト生成部２１１は、図１２（ｂ）に示すように、「ＯｎｅＯｒＭｏｒｅ  」の要素値として、入力ＸＭＬデータ１２で指定されている「ｄａｔａ１  」および「ｄａｔａ２  」を生成する。
【００７０】
また、デフォルト値としてｎｕｌｌ値を出力しない旨が設定されているが、属性「ｉｄＲｅｑ  」については図３に示す入力ＸＭＬデータ１２で属性値「０００００１」と指定されているので、パス合成部２０８は、ステップＳ２４において入力ＸＭＬデータ１２で指定される属性値「０００００１」を抽出しパス情報を合成する。従って、ＸＭＬ生成部２０９およびＮＶリスト生成部２１１は、図１２（ａ）および図１２（ｂ）に示すように、属性「ｉｄＲｅｑ  」については「０００００１  」を属性値として生成する。
【００７１】
「｜  」記号の選択指定については、図３に示す入力ＸＭＬデータ１２で、「ＯｒＡ  」および「ｓｅｌｅｃｔＴｙｐｅ  １」を選択するように指定されているので、パス合成部２０８は、ステップＳ２４においてデータ種別が「ｓｅｌｅｃｔＴｙｐｅ  １」である要素「ＯｒＡ  」についてのパス値を抽出してパス情報を合成する。従って、ＸＭＬ生成部２０９は、図１３（ａ）に示すように、データ種別が「ｓｅｌｅｃｔＴｙｐｅ  １」である要素「ＯｒＡ  」についてのタグを生成する。そして、図３に示す入力ＸＭＬデータ１２で「ＯｒＡ  」のパス値が「Ｖａｌｕｅ  Ａ  」と指定されているので、パス合成部２０８は、タグ「ＯｒＡ  」の要素値として入力ＸＭＬデータ１２で指定される「Ｖａｌｕｅ  Ａ  」を生成する。また、ＮＶリスト生成部２１１は、図１３（ｂ）に示すように、「ＯｒＡ  」の要素値として、入力ＸＭＬデータ１２で指定される「Ｖａｌｕｅ  Ａ  」を要素値として生成する。
【００７２】
図１３は、生成された出力ＸＭＬデータ３１および出力ＮＶリストデータ３２のさらに他の例を示す説明図である。図１３（ａ）は、ＸＭＬ生成部２０９が生成した出力ＸＭＬデータ３１である。また、図１３（ｂ）は、ＮＶリスト生成部２１１が生成した出力ＮＶリストデータ３２である。本例では、参照データとして図３に示す入力ＸＭＬデータ１２と図４に示す入力ＮＶリストデータ１３とが入力された場合を例に説明する。本例では、ステップＳ１０３において、「？」，「＊」，「＋」が付加された要素の数を「１」と設定し、パスの区切り記号は「／  」と設定し、パスのプレフィックスは指定しない旨を設定し、要素値や属性値のデフォルト値としてｎｕｌｌ値を出力しない旨を設定し、ＩＭＰＬＩＥＤ属性を出力する旨を設定しているものとする。
【００７３】
「？」，「＊」，「＋」が付加された各要素について要素を１つ生成するように設定されているが、要素「ＯｎｅＯｒＭｏｒｅ  」については図４に示す入力ＮＶリストデータ１３で要素の数が「３」と指定されているので、パス合成部２０８は、ステップＳ２２で入力ＮＶリストデータ１３に指定される要素の数を抽出しパス情報を合成する。従って、ＸＭＬ生成部２０９は、図１３（ａ）に示すように、要素「ＯｎｅＯｒＭｏｒｅ  」について３つのタグを生成する。また、要素「ＯｎｅＯｒＭｏｒｅ  」の２つ目の要素値については図４に示す入力ＮＶリストデータ１３で「データ２」と指定されているので、パス合成部２０８は、ステップＳ２２で入力ＮＶリストデータ１３に指定される要素の値を抽出しパス情報を合成する。従って、ＸＭＬ生成部２０９は、図１３（ａ）に示すように、タグ「ＯｎｅＯｒＭｏｒｅ  」の２つ目の要素値として「データ２」を生成する。
【００７４】
ＮＶリスト生成部２１１は、図１３（ｂ）に示すように、要素「ＯｎｅＯｒＭｏｒｅ  」について３つの要素を生成する。また、ＮＶリスト生成部２１１は、要素「ＯｎｅＯｒＭｏｒｅ  」の２つ目の要素値として、入力ＮＶリストデータ１３で指定される「データ２」を生成する。
【００７５】
また、デフォルト値としてｎｕｌｌ値を出力しない旨が設定されているが、属性「ｉｄＩｍｐ  」については図４に示す入力ＮＶリストデータ１３で「インプライド」と出力するように指定されているので、パス合成部２０８は、ステップＳ２２で入力ＮＶリストデータ１３に指定されている属性値を抽出しパス情報を合成する。従って、ＸＭＬ生成部２０９およびＮＶリスト生成部２１１は、図１３（ａ）および図１３（ｂ）に示すように、属性「ｉｄＩｍｐ  」については「インプライド」を属性値として生成する。
【００７６】
また、要素「ＯｎｅＯｒＭｏｒｅ  」の１つ目の値については図３に示す入力ＸＭＬデータ１２で「ｄａｔａ１  」と指定されているので、パス合成部２０８は、ステップＳ２４で入力ＸＭＬデータ１２に指定される値を抽出しパス情報を合成する。従って、ＸＭＬ生成部２０９は、図１３（ａ）に示すように、タグ「ＯｎｅＯｒＭｏｒｅ  」の１つ目の値を「ｄａｔａ１  」と生成する。また、ＮＶリスト生成部２１１は、図１３（ｂ）に示すように、要素「ＯｎｅＯｒＭｏｒｅ  」の１つ目の要素値を「ｄａｔａ１  」と生成する。
【００７７】
また、属性「ｉｄＲｅｑ  」については図３に示す入力ＸＭＬデータ１２で「０００００１」と出力するように指定されているので、パス合成部２０８は、ステップＳ２４で入力ＸＭＬデータ１２に指定される要素を抽出しパス情報を合成する。従って、ＸＭＬ生成部２０９およびＮＶリスト生成部２１１は、図１３（ａ）および図１３（ｂ）に示すように、属性「ｉｄＲｅｑ  」については「０００００１  」を属性値として生成する。
【００７８】
「｜  」記号の選択指定については、図３に示す入力ＸＭＬデータ１２で、「ＯｒＡ  」および「ｓｅｌｅｃｔＴｙｐｅ  １」を選択するように指定されているので、図１２の場合と同様に、ＸＭＬ生成部２０９は、データ種別が「ｓｅｌｅｃｔＴｙｐｅ  １」である要素「ＯｒＡ  」についてのタグを生成し、要素値として入力ＸＭＬデータ１２で指定される「Ｖａｌｕｅ  Ａ  」を生成する。また、ＮＶリスト生成部２１１は、「ＯｒＡ  」の要素値として、入力ＸＭＬデータ１２で指定される「Ｖａｌｕｅ  Ａ  」を要素値として生成する。
【００７９】
ステップＳ１０９で出力ＸＭＬデータ３１が生成されると、ＸＭＬ出力部２１０は、生成した出力ＸＭＬデータ３１を記憶装置Ｂ３０に出力し記憶させる（ステップＳ１１１）。また、ＮＶリスト出力部２１２は、ステップＳ１１０が実行された場合には、生成した出力ＮＶリストデータ３２を記憶装置Ｂ３０に出力し記憶させる（ステップＳ１１２）。また、ＮＶリスト出力部２１２は、ステップＳ１０６が実行された場合には、生成したＤＴＤ変換ＮＶリストデータを記憶装置Ｂ３０に出力し記憶させる（ステップＳ１１３）。また、ＮＶリスト出力部２１２は、ステップＳ１０７が実行された場合には、生成したＸＭＬ変換ＮＶリストデータを記憶装置Ｂ３０に出力し記憶させる（ステップＳ１１４）。なお、ステップＳ１１１，Ｓ１１２，Ｓ１１３，Ｓ１１４を実行する順番は、本実施の形態で示した順番に限られない。
【００８０】
以上のように、本実施の形態によれば、生成すべきＸＭＬデータのデータ構造の定義情報に従い、既存のＸＭＬデータやユーザが既存データなどをもとに編集したＮＶリストデータを再利用データとして利用することによりＸＭＬデータを生成する。よって、再利用データを利用することにより、ユーザの手作業に係る処理を削減することができる。従って、一部のデータのみが異なる多数のテストデータやＸＭＬデータのテンプレートを容易に生成することができ、ＸＭＬデータ生成の際の工数を低減することができる。
【００８１】
また、本実施の形態によれば、生成した出力ＸＭＬデータ３１を蓄積し、過去に生成した出力ＸＭＬデータ３１のなかで再利用したいデータを指定して入力ＸＭＬデータ１２として利用することができる。従って、既存のＸＭＬデータを再利用して新たなＸＭＬデータを生成することにより、ユーザの手作業に係る処理を削減することができる。
【００８２】
また、本実施の形態によれば、入力ＤＴＤデータ１１、入力ＸＭＬデータ１２、または出力ＸＭＬデータ３１を、ユーザがエディタなどで編集しやすいＮＶリストデータとして生成し蓄積することができる。よって、ユーザが過去の蓄積データをもとに編集したＮＶリストデータを再利用データとして利用してＸＭＬデータを生成することができる。従って、ＸＭＬデータを編集する場合と比較して、ユーザの手作業に係る処理を低減することができる。
【００８３】
なお、本実施の形態では、ＸＭＬ生成装置２０に記憶装置Ａ１０および記憶装置Ｂ３０が接続される場合を例に説明したが、ＸＭＬ生成装置２０は、ＸＭＬ生成装置２０内蔵の記憶装置に記憶される入力データに基づいてＸＭＬデータを生成するものであってもよい。また、ＸＭＬ生成装置２０は、生成したＸＭＬデータを、ＸＭＬ生成装置２０内蔵の記憶装置に記憶させるものであってもよい。
【００８４】
また、本実施の形態では、パスの区切り記号として「／  」を指定し、パスのプレフィックスを指定しない場合を例に説明したが、パスの区切り記号およびプレフィックスは、本実施の形態で示した例に限られない。例えば、パスの区切り記号として「．  」を指定し、パスのプレフィックスを「ｄａｔａ」としてもよい。そのように指定した場合には、例えば、本実施の形態で「／Ｓｉｍｐｌｅ／Ｏｎｅ／＠ｉｄＲｅｑ」と示したパス値は、「ｄａｔａ．Ｓｉｍｐｌｅ．Ｏｎｅ．＠ｉｄＲｅｑ」と出力される。
【００８５】
また、本実施の形態では、ユーザがエディタ編集したＮＶリストデータを再利用データとして利用してＸＭＬデータを生成する場合を例に説明したが、ユーザが編集したＸＭＬデータを再利用データとして利用してもよい。
【００８６】
また、図１に示した構成は、ソフトウェアによって実現可能である。すなわち、本実施の形態では、コンピュータに、生成すべきＸＭＬデータのデータ構造を指定する構造情報を入力する処理と、パスが示す要素と要素数との対応関係若しくは要素と要素の値との対応関係を示す対応関係情報、または既存のＸＭＬデータを、再利用情報として入力する処理と、設定情報および再利用情報に基づいて、構造情報から特定されるパス毎に、パス名と要素数または要素の値とを示すパス情報を生成し合成する処理と、パス情報を合成した合成情報に基づいて、ＸＭＬデータを生成する処理とを実行させるためのＸＭＬ生成プログラムによってＸＭＬ生成装置を実現可能である。
【００８７】
【発明の効果】
本発明によれば、ＸＭＬ生成装置が、生成すべきＸＭＬデータのデータ構造を指定する構造情報を入力する構造情報入力手段と、パスが示す要素と要素数との対応関係若しくは要素と要素の値との対応関係を示す対応関係情報、または既存のＸＭＬデータを、再利用情報として入力する再利用情報入力手段と、設定情報および再利用情報に基づいて、構造情報から特定されるパス毎に、パス名と要素数または要素の値とを示すパス情報を生成し合成するパス情報合成手段と、パス情報合成手段によって合成された合成情報に基づいて、ＸＭＬデータを生成するＸＭＬ生成手段とを備えるように構成したので、既存のＸＭＬデータやユーザが既存データなどをもとに編集したデータを再利用データとして利用することにより、ユーザの手作業に係る処理を削減することができる。従って、テストデータや多数のＸＭＬデータのテンプレートを容易に生成することができ、ＸＭＬデータ生成の際の工数を低減することができる。
【００８８】
また、本発明によれば、ＸＭＬ生成プログラムが、コンピュータに、生成すべきＸＭＬデータのデータ構造を指定する構造情報を入力する処理と、パスが示す要素と要素数との対応関係若しくは要素と要素の値との対応関係を示す対応関係情報、または既存のＸＭＬデータを、再利用情報として入力する処理と、設定情報および再利用情報に基づいて、構造情報から特定されるパス毎に、パス名と要素数または要素の値とを示すパス情報を生成し合成する処理と、パス情報を合成した合成情報に基づいて、ＸＭＬデータを生成する処理とを実行させるので、既存のＸＭＬデータやユーザが既存データなどをもとに編集したデータを再利用データとして利用することにより、ユーザの手作業に係る処理を削減することができる。従って、テストデータやＸＭＬデータのテンプレートを容易に生成することができ、ＸＭＬデータ生成の際の工数を低減することができる。
【図面の簡単な説明】
【図１】本発明によるＸＭＬ生成装置の構成の一例を示すブロック図である。
【図２】入力ＤＴＤデータの内容の例を示す説明図である。
【図３】入力ＸＭＬデータの内容の例を示す説明図である。
【図４】入力ＮＶリストデータの内容の例を示す説明図である。
【図５】パス合成結果に基づくＮＶリストデータの一例を示す説明図である。
【図６】パス合成結果に基づくＮＶリストデータの他の例を示す説明図である。
【図７】ＸＭＬデータを生成する処理経過の一例を示す流れ図である。
【図８】ＸＭＬ変換ＮＶリストデータの例を示す説明図である。
【図９】パス合成の処理経過の一例を示す流れ図である。
【図１０】出力ＸＭＬデータおよび出力ＮＶリストデータの内容の一例を示す説明図である。
【図１１】出力ＸＭＬデータおよび出力ＮＶリストデータの内容の他の例を示す説明図である。
【図１２】出力ＸＭＬデータおよび出力ＮＶリストデータの内容のさらに他の例を示す説明図である。
【図１３】出力ＸＭＬデータおよび出力ＮＶリストデータの内容のさらに他の例を示す説明図である。
【符号の説明】
１０  記憶装置Ａ
１１  入力ＤＴＤデータ
１２  入力ＸＭＬデータ
１３  入力ＮＶリストデータ
２０  ＸＭＬ生成装置
２０１  生成オプション入力部
２０２  ＤＴＤ入力部
２０３  構造解析部
２０４  ＤＴＤ変換部
２０５  ＸＭＬ入力部
２０６  ＸＭＬ変換部
２０７  ＮＶリスト入力部
２０８  パス合成部
２０９  ＸＭＬ生成部
２１０  ＸＭＬ出力部
２１１  ＮＶリスト生成部
２１２  ＮＶリスト出力部
３０  記憶装置Ｂ
３１  出力ＸＭＬデータ
３２  出力ＮＶリストデータ
【図１】
2004240507.tif 000003
【図２】
2004240507.tif 000004
【図３】
2004240507.tif 000005
【図４】
2004240507.tif 000006
【図５】
2004240507.tif 000007
【図６】
2004240507.tif 000008
【図７】
2004240507.tif 000009
【図８】
2004240507.tif 000010
【図９】
2004240507.tif 000011
【図１０】
2004240507.tif 000012
【図１１】
2004240507.tif 000013
【図１２】
2004240507.tif 000014
【図１３】
2004240507.tif 000015