(57)【要約】【課題】変換後のデータをイメージし易いスタイルシートを用いた、プログラム経験のないユーザにも理解し易い変換を実行することが可能な構造化データ変換装置、構造化データ変換プログラム、スタイルシートのデータ構造及び構造化データ変換方法を提供する。【解決手段】構造化データ変換手段は、変換処理対象となる変換先要素を対象変換先要素とし、対象変換先要素に対応付けた変換命令文を対象変換命令文とし、対象変換命令文に記述の変換元要素を対象変換元要素として、対象変換命令文をスタイルシートから取得し、変換元構造化データに基づいて対象変換元要素の値の総数を検出し、対象変換元要素の値を変換元構造化データより取得し、取得した対象変換元要素の値を変換先構造化データの対象変換先要素の値として設定する処理を、検出した対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。【選択図】      図１
2005018264.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換装置であって、
変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換手段を備え、
前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記変換命令文は、指定した前記変換元構造化データの変換元要素を、当該変換命令文に対応する変換先階層に直属する前記変換先要素として、変換すべきことを示し、
前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、前記対象変換先要素に対応付けた前記変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素として、前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換装置。
【請求項２】
複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換装置であって、
変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換手段を備え、
前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、階層指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記階層指定文は、前記変換元構造化データの階層を変換元階層として、１個又は複数個の前記変換元階層を指定するものであり、
前記変換命令文は、前記階層指定文によって指定された前記変換元階層に直属の前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、
前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記階層指定文を対象階層指定文として、
前記対象階層指定文及び前記対象変換命令文を前記スタイルシートから取得し、取得した前記対象階層指定文に記述の前記変換元階層毎に、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換装置。
【請求項３】
複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換装置であって、
変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換手段を備え、
前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、要素指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記要素指定文は、前記変換元構造化データの１個又は複数個の変換元要素を指定するものであり、
前記変換命令文は、前記要素指定文によって指定された前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、
前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記要素指定文を対象要素指定文として、
前記対象要素指定文及び前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて、取得した前記対象要素指定文に記述の前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換装置。
【請求項４】
前記構造化データ変換手段は、
前記スタイルシートに基づいて、前記変換先構造化データの前記複数の変換先要素の階層的な結合関係を示す変換先構造モデルを生成する変換先構造モデル生成手段と、
前記変換先構造モデル生成手段によって生成された前記変換先構造モデルに基づいて、前記複数の変換先要素の中から前記対象変換先要素を順次選択し、前記スタイルシートを及び前記変換元構造化データに基づいて、前記対象変換先要素へ変換される前記変換元要素の値の総数を検出し、前記対象変換先要素に対応した変換処理回数として設定する変換処理回数設定手段と、
前記変換処理回数設定手段によって設定された前記変換処理回数だけ、前記変換元構造化データより前記変換元要素の値を取得し、取得した前記変換元要素の値を前記対象変換先要素の値として設定する変換先要素設定手段と、
を備えていることを特徴とする請求項１乃至３のいずれか１項に記載の構造化データ変換装置。
【請求項５】
前記変換処理回数設定手段は、
前記対象変換先要素が直属する前記変換先階層を対象変換先階層とし、前記変換先構造モデルに基づいて、上位の前記変換先階層より下位の前記変換先階層へと対象変換先階層を順次検索し、当該対象変換先階層に直属する前記変換先要素を前記対象変換先要素として順次選択する対象変換先要素選択手段と、
前記スタイルシートに基づいて、前記対象変換先要素選択手段によって選択された前記対象変換先要素に対応付けた１個又は複数個の前記変換命令文の中より、前記対象変換命令文を順次選択する対象変換命令文選択手段と、
前記スタイルシートに基づいて、前記対象変換命令文選択手段によって選択された前記対象変換命令文に記述の前記変換元要素を取得し、前記変換元構造化データより、取得した前記変換元要素の値の総数を検出するデータ数検出手段と、を備えていることを特徴とする請求項４に記載の構造化データ変換装置。
【請求項６】
前記データ数検出手段は、前記変換元構造化データの階層を変換元階層として、前記対象変換命令文に記述の前記変換元要素が、複数の異なる前記変換元階層に直属の変換元要素であるとき、前記変換元階層毎に検出された前記変換元階層に直属の変換元要素の値の数の総和を、前記変換元要素の値の総数として検出することを特徴とする請求項５に記載の構造化データ変換装置。
【請求項７】
請求項１に記載の構造化データ変換手段として実現される処理をコンピュータに実行させるためのプログラムであって、
前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、前記対象変換先要素に対応付けた前記変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素として、前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換プログラム。
【請求項８】
請求項２に記載の構造化データ変換手段として実現される処理をコンピュータに実行させるためのプログラムであって、
前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記階層指定文を対象階層指定文として、
前記対象階層指定文及び前記対象変換命令文を前記スタイルシートから取得し、取得した前記対象階層指定文に記述の前記変換元階層毎に、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換プログラム。
【請求項９】
請求項３に記載の構造化データ変換手段として実現される処理をコンピュータに実行させるためのプログラムであって、
前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記要素指定文を対象要素指定文として、
前記対象要素指定文及び前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて、取得した前記対象要素指定文に記述の前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換プログラム。
【請求項１０】
請求項１に記載のスタイルシートのデータ構造であって、
前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記変換命令文は、指定した前記変換元構造化データの変換元要素を、当該変換命令文に対応する変換先階層に直属する前記変換先要素として、変換すべきことを示していることを特徴とするスタイルシートのデータ構造。
【請求項１１】
請求項２に記載のスタイルシートのデータ構造であって、
前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、階層指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記階層指定文は、前記変換元構造化データの階層を変換元階層として、１個又は複数個の前記変換元階層を指定するものであり、
前記変換命令文は、前記階層指定文によって指定された前記変換元階層に直属の前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示していることを特徴とするスタイルシートのデータ構造。
【請求項１２】
請求項３に記載のスタイルシートのデータ構造であって、
前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、要素指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記要素指定文は、前記変換元構造化データの１個又は複数個の変換元要素を指定するものであり、
前記変換命令文は、前記要素指定文によって指定された前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示していることを特徴とするスタイルシートのデータ構造。
【請求項１３】
複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換方法であって、
変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換工程を備え、
前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記変換命令文は、指定した前記変換元構造化データの変換元要素を、当該変換命令文に対応する変換先階層に直属する前記変換先要素として、変換すべきことを示し、
前記構造化データ変換工程は、変換処理対象となる前記変換先要素を対象変換先要素とし、前記対象変換先要素に対応付けた前記変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素として、前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換方法。
【請求項１４】
複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換方法であって、
変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換工程を備え、
前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、階層指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記階層指定文は、前記変換元構造化データの階層を変換元階層として、１個又は複数個の前記変換元階層を指定するものであり、
前記変換命令文は、前記階層指定文によって指定された前記変換元階層に直属の前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、
前記構造化データ変換工程は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記階層指定文を対象階層指定文として、
前記対象階層指定文及び前記対象変換命令文を前記スタイルシートから取得し、取得した前記対象階層指定文に記述の前記変換元階層毎に、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換方法。
【請求項１５】
複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換方法であって、
変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換工程を備え、
前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、要素指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、
前記要素指定文は、前記変換元構造化データの１個又は複数個の変換元要素を指定するものであり、
前記変換命令文は、前記要素指定文によって指定された前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、
前記構造化データ変換工程は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記要素指定文を対象要素指定文として、
前記対象要素指定文及び前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて、取得した前記対象要素指定文に記述の前記対象変換元要素の値の総数を検出し、
前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする構造化データ変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、構造化データ変換装置、構造化データ変換プログラム、スタイルシートのデータ構造及び構造化データ変換方法に関する。特に、変換後のデータをイメージし易いスタイルシートを用いた、プログラム経験のないユーザにも理解し易い変換を実行することが可能な構造化データ変換装置、構造化データ変換プログラム、スタイルシートのデータ構造及び構造化データ変換方法に関する。
【０００２】
【従来の技術】
従来から、異なるシステム間においてデータ変換を行なったり、異なる企業間においてデータ変換を行なったりする場合、個別に設計された変換処理プログラムを用いて、データ変換が行なわれていた。非特許文献１では、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）にて記述された構造化データの場合は、ＸＳＬＴ（ＸＭＬ  Ｓｔｙｌｅ  ｓｈｅｅｔ  Ｌａｎｇｕａｇｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）エンジンと変換定義を記述したスタイルシートを用いたデータ変換の方法が提案されている（以下、「ＸＳＬＴデータ変換方法」と呼ぶ）。
【０００３】
ＸＳＬＴデータ変換方法は、スタイルシートに記述されている変換定義の順に、変換前の構造化データ（以下、「変換元構造化データ」と呼ぶ）より変換後の構造化データ（以下、「変換先構造化データ」と呼ぶ）を生成する方法であり、スタイルシートの変換定義の記述を変更するだけで、異なるシステム間においてデータ変換を行なう方法であった。
【０００４】
図６乃至図１３を参照して、ＸＳＬＴデータ変換方法を説明する。
図６は、ＸＳＬＴデータ変換方法の変換イメージを示す図である。
図６に示すように、まず、変換元構造化データより、スタイルシートに記述されている変換定義に合致する変換元要素の値を検索し、取得する（図中（６−１））。次に、取得した変換元要素の値を変換先構造化データにおける変換先要素の値として設定する（図中（６−２））。
【０００５】
図７は、変換元構造化データと変換先構造化データとにおけるそれぞれの構造モデルの一例を示す図である。ここで、構造モデルとは、構造化データの複数の変換先要素の階層的な結合関係を示す結合関連図であり、変換元構造化データの構造モデルを変換元構造モデル、変換先構造化データの構造モデルを変換先構造モデルと呼ぶ。
【０００６】
図７に示すように、変換元構造モデルの親階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ＞の要素（ＩｔｅｍＮａｍｅ）と子階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の要素（ＭｏｎｔｈＮａｍｅ）とが、変換先構造モデルにおいては、階層の親子関係が逆転し、（月名）が親階層＜製品売上／地区／月＞の要素となり、（製品名）が子階層＜製品売上／地区／月／製品＞の要素となっている。即ち、変換元構造モデルの階層の親子関係と変換先構造モデルの階層の親子関係とが逆転している。また、変換元構造モデルにおける階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の要素（ＭｏｎｔｈＮａｍｅ）と、階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞の要素（ＭｏｎｔｈＮａｍｅ）とが、変換先構造モデルにおいて統合され、階層＜月＞の要素（月名）となっている。即ち、変換元構造モデルの異なる階層の要素が、変換先構造モデルにおいて統合され１つの階層の要素となっている。
【０００７】
図８は、図７の場合のＸＳＬＴデータ変換方法における、スタイルシートに記述されている変換定義の一例である。
図８に示すように、変換元構造化データより変換先構造化データへ変換するための繰り返し処理、階層の親子関係の逆転処理、及び階層の統合処理を実行するための処理文が記述されている。
【０００８】
繰り返し処理として、処理文（８−１−１）から処理文（８−１−２）までの処理（１）、処理文（８−２−１）から処理文（８−２−２）までの処理（２）、処理文（８−４−１）から処理文（８−４−２）までの処理（４）、及び、処理文（８−７−１）から処理文（８−７−２）までの処理（７）が記述され、多重の繰り返し処理を実行するような記述となっている。
【０００９】
図７に示したように、変換元構造モデルの親階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ＞の要素（ＩｔｅｍＮａｍｅ）と子階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の要素（ＭｏｎｔｈＮａｍｅ）とが、変換先構造モデルにおいては、階層の親子関係が逆転し、（月名）が親階層＜製品売上／地区／月＞の要素となり、（製品名）が子階層＜製品売上／地区／月／製品＞の要素となるようにするため、処理文（８−３）にて、変換元要素（ＩｔｅｍＮａｍｅ）が“ＴＶ”となる（月名）が検索され、設定される。処理文（８−５−１）から処理文（８−５−２）までの処理（５）を検索した（月名）毎に実行する。処理（５）の中の処理文（８−６）により、（製品名）が検索され、設定される。これにより、階層の親子関係の逆転処理が実行される。
【００１０】
図７に示したように、変換元構造モデルにおける階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の要素（ＭｏｎｔｈＮａｍｅ）と、階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞の要素（ＭｏｎｔｈＮａｍｅ）とが、変換先構造モデルにおいて統合され、階層＜月＞の要素（月名）となるようにするため、処理文（８−３）にて、変換元要素（ＩｔｅｍＮａｍｅ）が“ＴＶ”となる（月名）が検索され、設定される。これにより、階層の統合処理が実行される。
【００１１】
図９は、変換元構造化データの一例を示す図である。
図９に示すように、変換元構造化データには、図７の変換元構造モデルにおける変換元階層の変換元要素の値が記述されている。以下に、記述文についての説明を、例を挙げて説明する。
記述文（９−１）は、図７の変換元構造モデルの階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ＞の要素（ＲｅｇｉｏｎＮａｍｅ）の値が「東京」であることを示す。
【００１２】
記述文（９−２）は、図７の変換元構造モデルの階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ＞の要素（ＩｔｅｍＮａｍｅ）の値が「ＴＶ」であることを示す。
記述文（９−３）は、図７の変換元構造モデルの階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ＞の要素（Ｎａｍｅ）の値が「上期」であることを示す。
記述文（９−４）は、図７の変換元構造モデルの階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の要素（ＭｏｎｔｈＮａｍｅ）の値が「１」であることを示す。
【００１３】
記述文（９−５）は、図７の変換元構造モデルの階層＜ＩｔｅｍＳａｌｅ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞の要素（Ｄａｙ）の値が「１」であり、要素（Ｑｕａｎｔｉｔｙ）の値が「１０」であり、要素（Ａｍｏｕｎｔ）の値が「１０００」であることを示す。
次に、スタイルシートと変換元構造化データとに基づいたＸＳＬＴデータ変換方法を説明する。
図１０は、スタイルシートに記述の繰り返し条件設定に基づいたデータ変換処理のフローチャートである。
【００１４】
図１０に示すように、まず、変換元構造化データとスタイルシートを取得する（Ｓ１００２）。次に、スタイルシートより変換対象となる変換条件である対象変換条件を、順次取得する（Ｓ１００４）。ここで、変換条件とは、変換元構造化データの要素（以下、「変換元要素」と呼ぶ）とその要素の値の取得条件及び変換条件である。次に、取得した対象変換条件に適合する変換元要素の値を、変換元構造化データより取得する（Ｓ１００６）。次に、対象変換条件に基づいて、取得した変換元要素の値を、変換先構造化データの要素（以下、「変換先要素」と呼ぶ）の値として設定する（Ｓ１００８）。次に、スタイルシートに繰り返し条件設定が記述されているか否かを判定し（Ｓ１０１０）、スタイルシートに繰り返し条件設定が記述されている場合（Ｓ１０１０；Ｙｅｓ）は、ステップＳ１００６へ戻り、スタイルシートに記述された繰り返し条件設定を満足する回数だけ、ステップＳ１００６乃至ステップＳ１０１０を繰り返し、次のステップＳ１０１２へ移行する。一方、スタイルシートに繰り返し条件設定が記述されていない場合（Ｓ１０１０；Ｎｏ）は、スタイルシートに記述の変換条件を全て実行したか否かを判定する（Ｓ１０１２）。スタイルシートに記述の変換条件を全て実行した場合（Ｓ１０１２；Ｙｅｓ）は、変換先構造化データを所定の記録装置等へ出力し（Ｓ１０１４）、処理を終了する。一方、スタイルシートに記述の変換条件を全て実行していない場合（Ｓ１０１２；Ｎｏ）は、ステップＳ１００４へ戻り、スタイルシートに記述の変換条件を全て実行するまで、ステップＳ１００４乃至ステップＳ１０１２を繰り返し、処理を終了する。
【００１５】
図１１は、変換元構造化データの階層の親子関係と変換先構造化データの階層の親子関係が逆転する場合のデータ変換処理のフローチャートである。ここで、変換元構造化データの階層の親階層を変換元親階層とし、変換元構造化データの階層の子階層を変換元子階層とする。また、変換先構造化データの階層の親階層を変換先親階層とし、変換先構造化データの階層の子階層を変換先子階層とする。
【００１６】
図１１に示すように、まず、変換元構造化データとスタイルシートを取得する（Ｓ１１０２）。次に、スタイルシートより変換対象となる変換条件である対象変換条件を、順次取得する（Ｓ１１０４）。次に、取得した対象変換条件に適合する変換元要素であって、逆転させる変換元子階層の変換元要素の値を、変換元構造化データより順次取得し（Ｓ１１０６）、取得した値が一意の値となるように、既に取得した値と同一の値であるか否かを判定し、異なる値の場合にのみ、変換元子階層の変換元要素の値として取得する（Ｓ１１０８）。次に、変換元子階層の変換元要素の全ての値を取得したか否かを判定し（Ｓ１１１０）、変換元子階層の変換元要素の全ての値を取得した場合（Ｓ１１１０；Ｙｅｓ）は、次のステップＳ１１１２へ移行する。一方、変換元子階層の変換元要素の全ての値を取得していない場合（Ｓ１１１０；Ｎｏ）は、ステップＳ１１０６へ戻り、変換元子階層の変換元要素の全ての値を取得するまで、ステップＳ１１０６乃至ステップＳ１１１０を繰り返し、次のステップＳ１１１２へ移行する。
【００１７】
次に、一意に取得した変換元子階層の変換元要素の値を、対象変換条件に基づいて、逆転した変換先親階層の変換先要素の値として、順次設定する（Ｓ１１１２）。次に、変換元子階層の変換元要素の値が同一である変換元親階層の変換元要素の値を、変換元構造化データより順次取得し（Ｓ１１１４）、取得した変換元親階層の変換元要素の値を、逆転した変換先子階層の変換先要素の値として、設定する（Ｓ１１１６）。次に、変換元子階層の変換元要素の値が同一である変換元親階層の変換元要素の全ての値を取得したか否かを判定し（Ｓ１１１８）、変換元子階層の変換元要素の値が同一である変換元親階層の変換元要素の全ての値を取得した場合（Ｓ１１１８；Ｙｅｓ）は、次のステップＳ１１２０へ移行する。一方、変換元子階層の変換元要素の値が同一である変換元親階層の変換元要素の全ての値を取得していない場合（Ｓ１１１８；Ｎｏ）は、ステップＳ１１１４へ戻り、変換元子階層の変換元要素の値が同一である変換元親階層の変換元要素の全ての値を取得するまで、ステップＳ１１１４乃至ステップＳ１１１８を繰り返し、次のステップＳ１１２０へ移行する。
【００１８】
次に、一意に取得した変換元子階層の変換元要素の全ての値を、逆転した変換先親階層の変換先要素の値として、設定したか否かを判定し（Ｓ１１２０）、一意に取得した変換元子階層の変換元要素の全ての値を、逆転した変換先親階層の変換先要素の値として、設定した場合（Ｓ１１２０；Ｙｅｓ）は、次のステップＳ１１２２へ移行する。一方、一意に取得した変換元子階層の変換元要素の全ての値を、逆転した変換先親階層の変換先要素の値として、設定していない場合（Ｓ１１２０；Ｎｏ）は、ステップＳ１１１２へ戻り、一意に取得した変換元子階層の変換元要素の全ての値を、逆転した変換先親階層の変換先要素の値として設定するまで、ステップＳ１１１２乃至ステップＳ１１２０を繰り返し、次のステップＳ１１２２へ移行する。
【００１９】
次に、スタイルシートに記述の変換条件を全て実行したか否かを判定する（Ｓ１１２２）。スタイルシートに記述の変換条件を全て実行した場合（Ｓ１１２２；Ｙｅｓ）は、変換先構造化データを所定の記録装置等へ出力し（Ｓ１１２４）、処理を終了する。一方、スタイルシートに記述の変換条件を全て実行していない場合（Ｓ１１２２；Ｎｏ）は、ステップＳ１１０４へ戻り、スタイルシートに記述の変換条件を全て実行するまで、ステップＳ１１０４乃至ステップＳ１１２２を繰り返し、処理を終了する。
【００２０】
次に、図７、図１２及び図１３を参照して、図８のスタイルシートを用いて、図９の変換元構造化データより生成された変換先構造化データを説明する。
図１２及び図１３は、図８のスタイルシートに記述されている変換定義の順に、図９の変換元構造化データを変換した変換先構造化データを示す図である。
図１２及び図１３に示すように、変換先構造化データには、変換先階層の変換先要素の値が記述されている。以下に、記述文についての説明を、例を挙げて説明する。
【００２１】
記述文（１２−１）は、図７の変換先構造モデルの階層＜製品売上／地区＞の要素（地区名）の値が「東京」であることを示す。
記述文（１２−２）は、図７の変換先構造モデルの階層＜製品売上／地区／月＞の要素（月名）の値が「１」であることを示す。
記述文（１２−３）は、図７の変換先構造モデルの階層＜製品売上／地区／月／製品＞の要素（製品名）の値が「ＴＶ」であることを示す。
【００２２】
記述文（１２−４）は、図７の変換先構造モデルの階層＜製品売上／地区／月／製品／売上＞の要素（日付）の値が「１」であり、要素（数量）の値が「１０」であり、要素（総額）の値が「１０００」であることを示す。
上述したように、ＸＳＬＴデータ変換方法は、スタイルシートに記述されている変換定義の順に、変換元構造化データを変換先構造化データへ変換する方法である。
【００２３】
【非特許文献１】
Ｊａｍｅｓ  Ｃｌａｒｋ、
“ＸＳＬ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ（ＸＳＬＴ）”、
［ｏｎｌｉｎｅ］、１９９９年１１月１６日、
Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ（Ｗ３Ｃ）、
［２００３年５月３０日検索］、
インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｘｓｌｔ＞
【００２４】
【発明が解決しようとする課題】
上述したように、ＸＳＬＴデータ変換方法は、スタイルシートの変換定義の記述を変更するだけで、異なるシステム間においてデータ変換を行なうことが可能である。
しかしながら、スタイルシートは、図８に示したように多重ループや、変換による階層の親子関係の逆転や異なる階層の統合による変換条件の記述等のプログラム言語に似た記述が必要であるため、プログラム経験のないユーザや、変換ルールについての知識がないユーザにとって、スタイルシートを記述することは容易なことではなかった。また、ＸＳＬＴデータ変換方法は、変換によって生成される変換後の変換先構造化データを、ユーザが具体的にイメージすることが難しかった。即ち、図８のスタイルシートから、図９の変換元構造化データを変換した図１２及び図１３の変換先構造化データをイメージすることは困難であった。
【００２５】
本発明は、以上のような問題点を解決するためになされたもので、変換後のデータをイメージし易いスタイルシートを用いた、プログラム経験のないユーザにも理解し易い変換を実行することが可能な構造化データ変換装置、構造化データ変換プログラム、スタイルシートのデータ構造及び構造化データ変換方法を提供することを目的とする。
【００２６】
【課題を解決するための手段】
上述した従来の問題点を解決すべく下記の発明を提供する。
本発明に係る請求項１に記載の構造化データ変換装置は、複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換装置であって、変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換手段を備え、前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記変換命令文は、指定した前記変換元構造化データの変換元要素を、当該変換命令文に対応する変換先階層に直属する前記変換先要素として、変換すべきことを示し、前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、前記対象変換先要素に対応付けた前記変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素として、前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００２７】
このような構成であれば、構造化データ変換手段によって、対象変換命令文がスタイルシートから取得され、変換元構造化データに基づいて対象変換元要素の値の総数が検出される。更に、対象変換元要素の値が変換元構造化データより取得され、取得された対象変換元要素の値が変換先構造化データの対象変換先要素の値として設定される処理が、検出された対象変換元要素の値の総数だけ繰り返えし行なわれる。
【００２８】
本発明に係る請求項２に記載の構造化データ変換装置は、複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換装置であって、変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換手段を備え、前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、階層指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記階層指定文は、前記変換元構造化データの階層を変換元階層として、１個又は複数個の前記変換元階層を指定するものであり、前記変換命令文は、前記階層指定文によって指定された前記変換元階層に直属の前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記階層指定文を対象階層指定文として、前記対象階層指定文及び前記対象変換命令文を前記スタイルシートから取得し、取得した前記対象階層指定文に記述の前記変換元階層毎に、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００２９】
このような構成であれば、構造化データ変換手段によって、対象階層指定文及び対象変換命令文がスタイルシートから取得され、取得された対象階層指定文に記述の変換元階層毎に、変換元構造化データに基づいて対象変換元要素の値の総数が検出される。更に、対象変換元要素の値が変換元構造化データより取得され、取得された対象変換元要素の値が変換先構造化データの対象変換先要素の値として設定される処理が、検出された対象変換元要素の値の総数だけ繰り返し行なわれる。
【００３０】
本発明に係る請求項３に記載の構造化データ変換装置は、複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換装置であって、変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換手段を備え、前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、要素指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記要素指定文は、前記変換元構造化データの１個又は複数個の変換元要素を指定するものであり、前記変換命令文は、前記要素指定文によって指定された前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記要素指定文を対象要素指定文として、前記対象要素指定文及び前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて、取得した前記対象要素指定文に記述の前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００３１】
このような構成であれば、構造化データ変換手段によって、対象要素指定文及び対象変換命令文がスタイルシートから取得され、変換元構造化データに基づいて、取得された対象要素指定文に記述の対象変換元要素の値の総数が検出される。更に、対象変換元要素の値が変換元構造化データより取得され、取得された対象変換元要素の値が変換先構造化データの対象変換先要素の値として設定される処理が、検出された対象変換元要素の値の総数だけ繰り返し行なわれる。
【００３２】
本発明に係る請求項４に記載の構造化データ変換装置は、本発明に係る請求項１乃至３のいずれか１項に記載の構造化データ変換装置において、前記構造化データ変換手段は、前記スタイルシートに基づいて、前記変換先構造化データの前記複数の変換先要素の階層的な結合関係を示す変換先構造モデルを生成する変換先構造モデル生成手段と、前記変換先構造モデル生成手段によって生成された前記変換先構造モデルに基づいて、前記複数の変換先要素の中から前記対象変換先要素を順次選択し、前記スタイルシートを及び前記変換元構造化データに基づいて、前記対象変換先要素へ変換される前記変換元要素の値の総数を検出し、前記対象変換先要素に対応した変換処理回数として設定する変換処理回数設定手段と、前記変換処理回数設定手段によって設定された前記変換処理回数だけ、前記変換元構造化データより前記変換元要素の値を取得し、取得した前記変換元要素の値を前記対象変換先要素の値として設定する変換先要素設定手段と、を備えていることを特徴とする。
【００３３】
このような構成であれば、変換先構造モデル生成手段によって、スタイルシートに基づいて、変換先構造化データの複数の変換先要素の階層的な結合関係を示す変換先構造モデルが生成される。また、変換処理回数設定手段によって、生成された変換先構造モデルに基づいて、複数の変換先要素の中から対象変換先要素が順次選択され、スタイルシートを及び変換元構造化データに基づいて、対象変換先要素へ変換される変換元要素の値の総数が検出され、対象変換先要素に対応した変換処理回数として設定される。また、変換先要素設定手段によって、設定された変換処理回数だけ、変換元構造化データより変換元要素の値が取得され、取得された変換元要素の値が対象変換先要素の値として設定される。
【００３４】
本発明に係る請求項５に記載の構造化データ変換装置は、本発明に係る請求項４に記載の構造化データ変換装置において、前記変換処理回数設定手段は、前記対象変換先要素が直属する前記変換先階層を対象変換先階層とし、前記変換先構造モデルに基づいて、上位の前記変換先階層より下位の前記変換先階層へと対象変換先階層を順次検索し、当該対象変換先階層に直属する前記変換先要素を前記対象変換先要素として順次選択する対象変換先要素選択手段と、前記スタイルシートに基づいて、前記対象変換先要素選択手段によって選択された前記対象変換先要素に対応付けた１個又は複数個の前記変換命令文の中より、前記対象変換命令文を順次選択する対象変換命令文選択手段と、前記スタイルシートに基づいて、前記対象変換命令文選択手段によって選択された前記対象変換命令文に記述の前記変換元要素を取得し、前記変換元構造化データより、取得した前記変換元要素の値の総数を検出するデータ数検出手段と、を備えていることを特徴とする。
【００３５】
このような構成であれば、対象変換先要素選択手段によって、変換先構造モデルに基づいて、上位の変換先階層より下位の変換先階層へと対象変換先階層が順次検索され、検索された対象変換先階層に直属する変換先要素が対象変換先要素として順次選択される。また、対象変換命令文選択手段によって、スタイルシートに基づいて、選択された対象変換先要素に対応付けた１個又は複数個の変換命令文の中より、対象変換命令文が順次選択される。また、データ数検出手段によって、選択された対象変換命令文に記述の変換元要素が取得され、変換元構造化データより、取得された変換元要素の値の総数が検出される。
【００３６】
本発明に係る請求項６に記載の構造化データ変換装置は、本発明に係る請求項５に記載の構造化データ変換装置において、前記データ数検出手段は、前記変換元構造化データの階層を変換元階層として、前記対象変換命令文に記述の前記変換元要素が、複数の異なる前記変換元階層に直属の変換元要素であるとき、前記変換元階層毎に検出された前記変換元階層に直属の変換元要素の値の数の総和を、前記変換元要素の値の総数として検出することを特徴とする。
【００３７】
本発明に係る請求項７に記載の構造化データ変換プログラムは、本発明に係る請求項１に記載の構造化データ変換手段として実現される処理をコンピュータに実行させるためのプログラムであって、前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、前記対象変換先要素に対応付けた前記変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素として、前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００３８】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムによって、コンピュータが処理を実行すると、本発明に係る請求項１に記載の構造化データ変換手段と同等の作用が得られる。
本発明に係る請求項８に記載の構造化データ変換プログラムは、本発明に係る請求項２に記載の構造化データ変換手段として実現される処理をコンピュータに実行させるためのプログラムであって、前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記階層指定文を対象階層指定文として、前記対象階層指定文及び前記対象変換命令文を前記スタイルシートから取得し、取得した前記対象階層指定文に記述の前記変換元階層毎に、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００３９】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムによって、コンピュータが処理を実行すると、本発明に係る請求項２に記載の構造化データ変換手段と同等の作用が得られる。
本発明に係る請求項９に記載の構造化データ変換プログラムは、本発明に係る請求項３に記載の構造化データ変換手段として実現される処理をコンピュータに実行させるためのプログラムであって、前記構造化データ変換手段は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記要素指定文を対象要素指定文として、前記対象要素指定文及び前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて、取得した前記対象要素指定文に記述の前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００４０】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムによって、コンピュータが処理を実行すると、本発明に係る請求項３に記載の構造化データ変換手段と同等の作用が得られる。
本発明に係る請求項１０に記載のスタイルシートのデータ構造は、本発明に係る請求項１に記載のスタイルシートのデータ構造であって、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記変換命令文は、指定した前記変換元構造化データの変換元要素を、当該変換命令文に対応する変換先階層に直属する前記変換先要素として、変換すべきことを示していることを特徴とする。
【００４１】
このような構成であれば、スタイルシートを、本発明に係る請求項１に記載の構造化データ変換装置に与えると、本発明に係る請求項１に記載の構造化データ変換装置と同等の作用が得られる。
本発明に係る請求項１１に記載のスタイルシートのデータ構造は、本発明に係る請求項２に記載のスタイルシートのデータ構造であって、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、階層指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記階層指定文は、前記変換元構造化データの階層を変換元階層として、１個又は複数個の前記変換元階層を指定するものであり、前記変換命令文は、前記階層指定文によって指定された前記変換元階層に直属の前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示していることを特徴とする。
【００４２】
このような構成であれば、スタイルシートを、本発明に係る請求項２に記載の構造化データ変換装置に与えると、本発明に係る請求項２に記載の構造化データ変換装置と同等の作用が得られる。
本発明に係る請求項１２に記載のスタイルシートのデータ構造は、本発明に係る請求項３に記載のスタイルシートのデータ構造であって、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、要素指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記要素指定文は、前記変換元構造化データの１個又は複数個の変換元要素を指定するものであり、前記変換命令文は、前記要素指定文によって指定された前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示していることを特徴とする。
このような構成であれば、スタイルシートを、本発明に係る請求項３に記載の構造化データ変換装置に与えると、本発明に係る請求項３に記載の構造化データ変換装置と同等の作用が得られる。
【００４３】
本発明に係る請求項１３に記載の構造化データ変換方法は、複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換方法であって、変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換工程を備え、前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記変換命令文は、指定した前記変換元構造化データの変換元要素を、当該変換命令文に対応する変換先階層に直属する前記変換先要素として、変換すべきことを示し、前記構造化データ変換工程は、変換処理対象となる前記変換先要素を対象変換先要素とし、前記対象変換先要素に対応付けた前記変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素として、前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００４４】
本発明に係る請求項１４に記載の構造化データ変換方法は、複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換方法であって、変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換工程を備え、前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、階層指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記階層指定文は、前記変換元構造化データの階層を変換元階層として、１個又は複数個の前記変換元階層を指定するものであり、前記変換命令文は、前記階層指定文によって指定された前記変換元階層に直属の前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、前記構造化データ変換工程は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記階層指定文を対象階層指定文として、前記対象階層指定文及び前記対象変換命令文を前記スタイルシートから取得し、取得した前記対象階層指定文に記述の前記変換元階層毎に、前記変換元構造化データに基づいて前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００４５】
本発明に係る請求項１５に記載の構造化データ変換方法は、複数の要素が階層的な結合関係を有する構造化データを、前記結合関係の異なる構造化データに変換する構造化データ変換方法であって、変換元の前記構造化データである変換元構造化データ及び変換規則を記述したスタイルシートに基づいて、変換先の前記構造化データである変換先構造化データを生成する構造化データ変換工程を備え、前記スタイルシートは、前記変換先構造化データの階層を変換先階層として、前記変換先階層毎に、要素指定文及び当該変換先階層に直属する変換先要素に対応させた変換命令文を記述したものであり、前記要素指定文は、前記変換元構造化データの１個又は複数個の変換元要素を指定するものであり、前記変換命令文は、前記要素指定文によって指定された前記変換元要素を、当該変換命令文に対応付けられた前記変換先階層に直属の前記変換先要素として変換すべきことを示し、前記構造化データ変換工程は、変換処理対象となる前記変換先要素を対象変換先要素とし、変換処理対象となる変換命令文を対象変換命令文とし、前記対象変換命令文に記述の前記変換元要素を対象変換元要素とし、前記対象変換命令文に対応付けられる前記要素指定文を対象要素指定文として、前記対象要素指定文及び前記対象変換命令文を前記スタイルシートから取得し、前記変換元構造化データに基づいて、取得した前記対象要素指定文に記述の前記対象変換元要素の値の総数を検出し、前記対象変換元要素の値を前記変換元構造化データより取得し、取得した前記対象変換元要素の値を前記変換先構造化データの前記対象変換先要素の値として設定する処理を、前記検出した前記対象変換元要素の値の総数だけ繰り返し行なうことを特徴とする。
【００４６】
【発明の実施の形態】
この発明の一実施態様を、図面を参照しながら説明する。
図１は、本発明の構造化データ変換方法の変換イメージを示す図である。
図１に示すように、まず、スタイルシートに記述されている処理文に基づいて、変換先構造モデルを生成する（図中（１−１））。次に、生成した変換先構造モデルに基づいて、変換先階層毎に、変換先要素に対応付けられる変換命令文に記述の変換元要素の値を、変換元構造化データより取得し、変換先要素の値として設定する（図中（１−２））。
【００４７】
図２は、スタイルシートの一例を示す図である。
スタイルシートには、変換先階層毎に、変換先階層に直属する変換先要素に対応させた変換命令文、変換元構造化データの階層を変換元階層として、１個又は複数個の変換元階層を指定する階層指定文、及び、変換元構造化データの１個又は複数個の変換元要素を指定する要素指定文が記述されている。以下、要素をフィールドと呼び、直属の階層及び要素を参照するデータ単位をエンティティと呼ぶ。
【００４８】
図２に示すように、スタイルシートに記述されている処理文の詳細を、記述されている順番に説明する。ここで、処理文には、変換先階層に直属する変換先要素に対応させた変換命令文、変換元構造化データの階層を変換元階層として、１個又は複数個の変換元階層を指定する階層指定文、及び、変換元構造化データの１個又は複数個の変換元要素を指定する要素指定文が含まれる。
【００４９】
処理文（２−１）は、“製品売上”エンティティを生成するための処理文である。
処理文（２−２）は、図７の変換元構造モデルの最上位の階層であるルート階層＜／＞に直属する変換元要素の値の数を、変換元構造化データより検索するとともに、基準点をルート階層＜／＞に設定する処理文である。ここで、基準点とは、参照している変換元構造モデルの変換元階層である。
【００５０】
処理文（２−３）は、“地区”エンティティを生成するための処理文である。
処理文（２−４）は、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ＞に直属する変換元要素の値の数を、変換元構造化データより検索するとともに、基準点を変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ＞に変更するための処理文である。
【００５１】
処理文（２−５）は、“地区名”フィールドを生成するための処理文である。
処理文（２−６）は、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ＞の変換元要素（ＲｅｇｉｏｎＮａｍｅ）に対応する変換元構造化データの値を、“地区名”フィールドの値として設定するための処理文である。
処理文（２−７）は、“月”エンティティを生成するための処理文である。
【００５２】
処理文（２−８）は、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）、及び、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）の値の数を、変換元構造化データより検索するとともに、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）の値の数を検索しているときは、基準点を変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞に変更し、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）の値の数を検索しているときは、基準点を変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞に変更するための処理文である。
【００５３】
処理文（２−９）は、“月名”フィールドを生成するための処理文である。
処理文（２−１０）は、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）に対応する変換元構造化データの値を、“月名”フィールドの値として設定し、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）に対応する変換元構造化データの値を、“月名”フィールドの値として設定するための処理文である。
【００５４】
処理文（２−１１）は、“製品”エンティティを生成するための処理文である。
処理文（２−１２）は、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ＞の変換元要素（ＩｔｅｍＮａｍｅ）の値の数を、変換元構造化データより検索するための処理文である。ここで、基準点は、変更されない。
処理文（２−１３）は、“製品名”フィールドを生成するための処理文である。
処理文（２−１４）は、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ＞の変換元要素（ＩｔｅｍＮａｍｅ）対応する変換元構造化データの値を、“製品名”フィールドの値として設定するための処理文である。
【００５５】
処理文（２−１５）は、“売上”エンティティを生成するための処理文である。
処理文（２−１６）は、処理文（２−８）にて、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞に直属する変換元要素の値の数を、変換元構造化データより検索するとともに、基準点を変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞に変更し、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞に直属する変換元要素の値の数を、変換元構造化データより検索するとともに、基準点を変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞に変更するための処理文である。
【００５６】
処理文（２−１７）は、“日付”フィールドを生成するための処理文である。
処理文（２−１８）は、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞の変換元要素（Ｄａｙ）に対応する変換元構造化データの値を、“日付”フィールドの値として設定し、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞の変換元要素（Ｄａｙ）に対応する変換元構造化データの値を、“日付”フィールドの値として設定するための処理文である。
【００５７】
処理文（２−１９）は、“数量”フィールドを生成するための処理文である。
処理文（２−２０）は、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞の変換元要素（Ｑｕａｎｔｉｔｙ）に対応する変換元構造化データの値を、“日付”フィールドの値として設定し、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞の変換元要素（Ｑｕａｎｔｉｔｙ）に対応する変換元構造化データの値を、“数量”フィールドの値として設定するための処理文である。
【００５８】
処理文（２−２１）は、“総額”フィールドを生成するための処理文である。
処理文（２−２２）は、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞の変換元要素（Ａｍｏｕｎｔ）に対応する変換元構造化データの値を、“日付”フィールドの値として設定し、基準点が、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞であるときは、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞の変換元要素（Ａｍｏｕｎｔ）に対応する変換元構造化データの値を、“総額”フィールドの値として設定するための処理文である。
【００５９】
図２のスタイルシートに基づいて生成された変換先構造モデルが、上述した図７の変換先構造モデルである。図７の変換先構造モデルに基づいて、上述した図９の変換元構造化データをデータ変換すると、上述した図１２及び図１３の変換先構造化データが生成される。
図３は、構造化データ変換装置の構成図である。
【００６０】
図３に示すように、構造化データ変換装置１００は、制御プログラムに基づいて演算及び装置全体を制御するＣＰＵ１０２と、所定領域にあらかじめＣＰＵ１０２の制御プログラム等を格納しているＲＯＭ１０４と、ＲＯＭ１０４等から読み出された情報やＣＰＵ１０２の演算過程において必要な演算結果を格納するためのＲＡＭ１０６と、外部装置に対して情報の入出力を媒介するインタフェース１０８を備えており、これらは、情報を転送するための信号線であるバス１１０により相互にかつ情報授受可能に接続されている。
【００６１】
インタフェース１０８には、外部装置として、データの入力が可能なキーボード、マウス等の入力装置１１２と、スタイルシート、変換元構造化データ、変換先構造化データ等の情報を格納している記憶装置１１４と、変換処理した変換先構造化データを表示したり、他のシステムへ変換先構造化データを出力したりするための出力装置１１６とが接続されている。
【００６２】
次に、図２、図４、図７、図９、図１２及び図１３を参照して、構造化データ変換装置の機能を説明する。
図４は、構造化データ変換装置の機能ブロック図の一例である。
構造化データ変換装置１００は、構造化データ変換手段２００を備え、構造化データ変換手段２００は、変換先構造モデル生成手段２０２、変換処理回数設定手段２０４、変換先要素設定手段２０６、変換先構造化データ格納手段２０８、スタイルシート保存部２５２、変換元構造化データ２５４及び変換先構造化データ２５６を備えている。また、変換処理回数設定手段２０４は、対象変換先要素選択手段２１２、対象変換命令文選択手段２１４及びデータ数検出手段２１６を、更に備えている。
【００６３】
構造化データ変換手段２００は、スタイルシートに記述されている処理文に基づいて、変換先構造モデルを生成する。また、生成した変換先構造モデルに基づいて、変換先階層毎に、変換先要素に対応付けられる変換命令文に記述の変換元要素の値を、変換元構造化データより取得し、変換先要素の値として設定することにより、変換先構造化データを生成する。
【００６４】
変換先構造モデル生成手段２０２は、スタイルシート保存部２５２よりスタイルシートを取得し、取得したスタイルシートに基づいて、変換した後の複数の変換先要素の階層的な結合関係を示す変換先構造モデルを生成する。図２および図７に示したように、スタイルシートのエンティティの生成の処理文により変換先構造モデルの変換先階層が生成される。例えば、  “製品売上”エンティティを生成し（図中処理文（２−１））、生成した“製品売上”エンティティに、“地区”エンティティを生成する（図中処理文（２−３））ことにより、図７の変換先構造モデルにおける変換先階層＜製品売上＞及び変換先階層＜製品売上／地区＞が生成される。また、スタイルシートのフィールドの生成の処理文により変換先構造モデルの変換先要素が生成される。例えば、“地区”エンティティに、“地区名”フィールドを生成する（図中処理文（２−５））ことにより、図７の変換先構造モデルにおける変換先階層＜製品売上／地区＞に変換先要素（地区名）が生成される。上述のようにして、図２のスタイルシートに基づいて、図７の変換先構造モデルが生成される。
【００６５】
図４に戻り、変換処理回数設定手段２０４は、変換先構造モデル生成手段２０２によって生成された変換先構造モデルに基づいて、変換先要素の中から対象変換先要素を順次選択する。更に、スタイルシート及び変換元構造化データ保存部２５４より取得した変換元構造化データに基づいて、対象変換先要素へ変換される変換元要素の値の総数を検出し、検出した総数を対象変換先要素に対応した変換処理回数として設定する。
【００６６】
対象変換先要素選択手段２１２は、変換先構造モデル生成手段２０２によって生成された変換先構造モデルに基づいて、上位の変換先階層より下位の変換先階層へと対象変換先階層を順次検索し、更に、対象変換先階層に直属する変換先要素を対象変換先要素として順次選択する。例えば、図７の変換先構造モデルの変換先階層＜製品売上＞には変換先要素がないので、次の変換先階層＜製品売上／地区＞を対象変換先階層として検索し、検索した変換先階層＜製品売上／地区＞の変換先要素（地区名）を対象変換先要素として選択する。
【００６７】
対象変換命令文選択手段２１４は、スタイルシートに基づいて、対象変換先要素選択手段２１２によって選択された対象変換先要素に対応付けた１個又は複数個の変換命令文を検索し、検索した変換命令文の中より、対象変換命令文を順次選択する。例えば、対象変換先要素選択手段２１２によって選択された対象変換先要素が図７の変換先要素（地区名）であるとき、変換先要素（地区名）に対応付けられた変換命令文を、図２のスタイルシートから検索すると変換命令文（２−６）だけである。従って、変換命令文（２−６）を対象変換命令文として選択する。
【００６８】
データ数検出手段２１６は、スタイルシートに基づいて、対象変換命令文選択手段２１４によって選択された対象変換命令文に記述の変換元要素を取得する。更に、変換元構造化データ保存部２５４より変換元構造化データを取得し、取得した変換元構造化データより、変換元要素の値の総数を検出する。例えば、変換元構造化データが図９の変換元構造化データであり、対象変換命令文選択手段２１４によって選択された対象変換命令文が図２の変換命令文（２−６）であるとき、対象変換命令文に記述の変換元要素として要素（ＲｅｇｉｏｎＮａｍｅ）を取得する。図９の変換元構造化データより変換元要素（ＲｅｇｉｏｎＮａｍｅ）の値を検索すると、「東京」の１個だけである。従って、変換元要素の値の総数は「１」となり、「１」が変換処理回数として設定される。
【００６９】
変換先要素設定手段２０６は、変換処理回数設定手段２０４によって設定された変換処理回数だけ、変換元構造化データより変換元要素の値を取得し、取得した変換元要素の値を対象変換先要素の値として設定する。例えば、対象変換先要素が図７の変換先要素（地区名）であるとき、上述したように、対象変換命令文として変換命令文（２−６）が選択され、変換命令文（２−６）に記述の変換元要素として要素（ＲｅｇｉｏｎＮａｍｅ）を取得される。図９の変換元構造化データより変換元要素（ＲｅｇｉｏｎＮａｍｅ）の値である「東京」を１個取得し、取得した「東京」を変換先要素（地区名）の値として設定する。
【００７０】
変換先構造化データ格納手段２０８は、変換先要素設定手段２０６によって設定された変換先要素の値によって構成される変換先構造化データを変換先構造化データ保存部２５６へ格納する。例えば、図２のスタイルシートを用いて、図９の変換元構造化データをデータ変換すると図１２及び図１３の変換先構造化データが生成され、生成された変換先構造化データが変換先構造化データ保存部２５６へ格納される。
【００７１】
次に、スタイルシートを用いて、変換元構造化データを変換先構造化データに変換する構造化データ変換処理について説明する。
図５は、構造化データ変換装置１００のＲＯＭ１０４に予め格納されている制御プログラムにより実行される構造化データ変換処理の一例を示すフローチャートである。
【００７２】
図５に示すように、まず、スタイルシートをスタイルシート保存部２５２より取得し、変換元構造化データを変換元構造化データ保存部２５４より取得する（Ｓ５０２）。次に、取得したスタイルシートに基づいて、変換した後の複数の変換先要素の階層的な結合関係を示す変換先構造モデルを生成する（Ｓ５０４）。次に、生成した変更先構造モデルの最上位階層であるルート階層より、全ての変換先階層を対象変換先階層として順次検索する（Ｓ５０６）。ここで、検索は、上位の階層から下位の階層へ、下位の階層が無いときは、その階層が直属する親階層へ戻り、親階層に直属の異なる階層へと、対象変換先階層を順次検索する。
【００７３】
次に、検索した対象変換先階層に直属する変換先要素を対象変換先要素として順次検索する（Ｓ５０８）。次に、検索した対象変換先要素に対応付けた１個又は複数個の変換命令文をスタイルシートより検索し、検索した変換命令文の中より対象変換命令文を順次検索する（Ｓ５１０）。次に、検索した対象変換命令文に記述の変換元要素をスタイルシートより取得し（Ｓ５１２）、変換元構造化データより変換元要素の値の総数である変換処理回数を設定する（Ｓ５１４）。
【００７４】
対象変換命令文に記述の変換元要素の値を、変換元構造化データより取得し（Ｓ５１６）、取得した変換元要素の値を対象変換先要素の値として設定し（Ｓ５１８）、検出した変換処理回数分だけ変換元要素の値を取得したか否かを判定する（Ｓ５２０）。変換処理回数分だけ変換元要素の値を取得した場合（Ｓ５２０；Ｙｅｓ）は、次のステップＳ５２２へ移行する。一方、変換処理回数分だけ変換元要素の値を取得していない場合（Ｓ５２０；Ｎｏ）は、ステップＳ５１６へ戻り、変換処理回数分だけ変換元要素の値を取得するまで、ステップＳ５１６乃至ステップＳ５２０を繰り返し、次のステップＳ５２２へ移行する。
【００７５】
次に、対象変換先要素に対応付けた全ての変換命令文を対象変換命令文として検索したか否かを判定し（Ｓ５２２）、全ての変換命令文を対象変換命令文として検索した場合（Ｓ５２２；Ｙｅｓ）は、次のステップＳ５２４へ移行する。一方、全ての変換命令文を対象変換命令文として検索していない場合（Ｓ５２２；Ｎｏ）は、ステップＳ５１０へ戻り、全ての変換命令文を対象変換命令文として検索するまで、ステップＳ５１０乃至ステップＳ５２２を繰り返し、次のステップＳ５２４へ移行する。
【００７６】
次に、対象変換先階層に直属する全ての変換先要素を対象変換先要素として検索したか否かを判定し（Ｓ５２４）、全ての変換先要素を対象変換先要素として検索した場合（Ｓ５２４；Ｙｅｓ）は、次のステップＳ５２６へ移行する。一方、全ての変換先要素を対象変換先要素として検索していない場合（Ｓ５２４；Ｎｏ）は、ステップＳ５０８へ戻り、全ての変換先要素を対象変換先要素として検索するまで、ステップＳ５０８乃至ステップＳ５２４を繰り返し、次のステップＳ５２６へ移行する。
【００７７】
次に、全ての変換先階層を対象変換先階層として検索したか否かを判定し（Ｓ５２６）、全ての変換先階層を対象変換先階層として検索した場合（Ｓ５２６；Ｙｅｓ）は、次のステップＳ５２８へ移行する。一方、全ての変換先階層を対象変換先階層として検索していない場合（Ｓ５２６；Ｎｏ）は、ステップＳ５０６へ戻り、全ての変換先階層を対象変換先階層として検索するまで、ステップＳ５０６乃至ステップＳ５２６を繰り返し、次のステップＳ５２８へ移行する。最後に、設定された変換先要素の値によって構成される変換先構造化データを変換先構造化データ保存部２５６へ格納し（Ｓ５２８）、処理を終了する。
【００７８】
次に、図２、図７、図９、図１２及び図１３を参照して、構造化データ変換処理の動作を説明する。
図２のスタイルシートの処理文（２−２）により、図７の変換元構造モデルの最上位の階層であるルート階層＜／＞に直属する変換元要素はないので、図１２及び図１３の変換先構造化データにおいて、「＜製品売上＞・・・＜／製品売上＞」は１回だけ、繰り返される。
【００７９】
図２のスタイルシートの処理文（２−４）により、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ＞に直属する変換元要素の値の数は、図９の変換元構造化データにおいて、“東京”の１個だけなので、図１２及び図１３において、「＜地区＞・・・＜／地区＞」は１回だけ、繰り返される。
図２のスタイルシートの処理文（２−６）により、“地区名”フィールドの値として、“東京”が設定される。
【００８０】
図２のスタイルシートの処理文（２−８）により、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）、及び、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ＞の変換元要素（ＭｏｎｔｈＮａｍｅ）の値の数は、図９の変換元構造化データにおいて、“１”、“２”、“１１”、及び“１２”の４個なので、図１２及び図１３において、「＜月＞・・・＜／月＞」は４回繰り返される。
【００８１】
図２のスタイルシートの処理文（２−１０）により、“月名”フィールドの値として、“１”、“２”、“１１”、及び“１２”が設定される。
図２のスタイルシートの処理文（２−１２）により、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ＞の変換元要素（ＩｔｅｍＮａｍｅ）の値の数は、図９の変換元構造化データにおいて、“ＴＶ”及び“ＤＶＤ”の２個なので、図１２及び図１３において、「＜製品＞・・・＜／製品＞」は、各「＜月＞・・・＜／月＞」の中で２回繰り返される。
【００８２】
図２のスタイルシートの処理文（２−１４）により、“製品名”フィールドの値として、“ＴＶ”及び“ＤＶＤ”  が設定される。
図２のスタイルシートの処理文（２−１６）により、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｆｉｒｓｔ／Ｍｏｎｔｈ／Ｓａｌｅ＞に直属する変換元要素の値の数、及び、変換元階層＜ＩｔｅｍＳａｌｅｓ／Ｒｅｇｉｏｎ／Ｉｔｅｍ／Ｓｅｃｏｎｄ／Ｍｏｎｔｈ／Ｓａｌｅ＞に直属する変換元要素の値の数は、図９の変換元構造化データにおいて、それぞれ２個なので、図１２及び図１３において、「＜売上＞・・・＜／売上＞」は、各「＜製品＞・・・＜／製品＞」の中で２回繰り返される。
【００８３】
図２のスタイルシートの処理文（２−１８）により、“製品名”フィールドの値が“ＴＶ”のときは、“日付”フィールドの値として、“１”及び“１５”  が設定され、“製品名”フィールドの値が“ＤＶＤ”のときは、“日付”フィールドの値として、“１”及び“１５”  が設定される。
図２のスタイルシートの処理文（２−２０）により、“製品名”フィールドの値が“ＴＶ”のときは、“数量”フィールドの値として、“１０”及び“１５”が設定され、“製品名”フィールドの値が“ＤＶＤ”のときは、“数量”フィールドの値として、“１０”及び“１５”  が設定される。
【００８４】
図２のスタイルシートの処理文（２−２２）により、“製品名”フィールドの値が“ＴＶ”のときは、“総額”フィールドの値として、“１０００”及び“１５００”  が設定され、“製品名”フィールドの値が“ＤＶＤ”のときは、“総額”フィールドの値として、“１００００”及び“１５０００”  が設定される。
【００８５】
上述したように、本発明の構造化データ変換処理により、図２のスタイルシートを用いて、図９の変換元構造化データより図１２及び図１３の変換先構造化データが生成される。
上述の本発明の構造化データ変換方法は、スタイルシートに記述されている変換先構造モデルの変換先要素の値へ、変換元構造化データの変換元要素の値を設定する方法であり、プログラム経験のないユーザや、変換ルールについての知識がないユーザが容易に、スタイルシートを記述することが可能である。更に、変換によって生成される変換後の変換先構造化データを、ユーザが具体的に容易にイメージすることが可能である。
【００８６】
上述した図５のフローチャートに示す処理を実行する場合には、構造化データ変換装置１００のＲＯＭ１０４に予め格納されている制御プログラムを実行する場合について説明したが、これらの各工程を実行させるプログラムを記録した情報記録媒体から、そのプログラムをＲＡＭ１０６に読み込んで実行するようにしても良い。
【００８７】
ここで、情報記録媒体とは、ＲＡＭ、ＲＯＭ等の半導体記録媒体、ＦＤ、ＨＤ等の磁気記憶型記録媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記録媒体、ＭＯ等の磁気記憶型／光学的読取方式記録媒体であって、電子的、磁気的、光学等の読み取り方法のいかんにかかわらず、コンピュータによって読み取り可能な情報記録媒体であれば、あらゆる情報記録媒体を含むものである。
【００８８】
尚、上述の実施態様は説明のためのものであり、本発明の範囲を制限するものではない。従って、当業者であればこれらの各要素もしくは全要素をこれと均等なものによって置換した実施態様を採用することが可能であるが、これらの実施態様も本発明の範囲に含まれる。
【００８９】
【発明の効果】
以上説明したように、本発明によれば、例えば、変換先階層が、変換元階層の上位階層と下位階層との関係が逆転するようなとき、変換元要素を変換先要素に変換するための多重ループを、変換規則としてスタイルシートに記述する必要がなくなる。また、例えば、変換先階層が、変換元階層の上位階層と下位階層との関係が逆転するようなとき、変換元要素の同じ値を括ったりするような変換元要素の値の判定条件を、変換規則としてスタイルシートに記述する必要がなくなる。また、例えば、異なる変換元階層に直属の変換元要素を同じ変換先要素に変換するようなとき、同じ変換処理を変換規則としてスタイルシートに複数記述する必要がなくなる。
従って、プログラム経験のないユーザや、変換ルールについての知識がないユーザが容易に、スタイルシートを記述することが可能である。更に、変換によって生成される変換後の変換先構造化データを、ユーザが具体的に容易にイメージすることが可能である。
【図面の簡単な説明】
【図１】本発明の構造化データ変換方法の変換イメージを示す図。
【図２】スタイルシートの一例を示す図。
【図３】構造化データ変換装置の構成図。
【図４】構造化データ変換装置の機能ブロック図の一例。
【図５】構造化データ変換装置のＲＯＭに予め格納されている制御プログラムにより実行される構造化データ変換処理の一例を示すフローチャート。
【図６】ＸＳＬＴデータ変換方法の変換イメージを示す図。
【図７】変換元構造化データと変換先構造化データとにおけるそれぞれの構造モデルの一例を示す図。
【図８】ＸＳＬＴデータ変換方法における、スタイルシートに記述されている変換定義の一例。
【図９】変換元構造化データの一例を示す図。
【図１０】スタイルシートに記述の繰り返し条件設定に基づいたデータ変換処理のフローチャート。
【図１１】変換元構造化データの階層の親子関係と変換先構造化データの階層の親子関係が逆転する場合のデータ変換処理のフローチャート。
【図１２】変換先構造化データを示す図。
【図１３】図１２の続きの変換先構造化データを示す図。
【符号の説明】
１００      構造化データ変換装置
１０２      ＣＰＵ
１０４      ＲＯＭ
１０６      ＲＡＭ
１０８      インタフェース
１１０      バス
１１２      入力装置
１１４      記憶装置
１１６      出力装置
２００      構造化データ変換手段
２０２      変換先構造モデル生成手段
２０４      変換処理回数設定手段
２０６      変換先要素設定手段
２０８      変換先構造化データ格納手段
２１２      対象変換先要素選択手段
２１４      対象変換命令文選択手段
２１６      データ数検出手段
２５２      スタイルシート保存部
２５４      変換元構造化データ
２５６      変換先構造化データ
【図１】
2005018264.tif 000003
【図２】
2005018264.tif 000004
【図３】
2005018264.tif 000005
【図４】
2005018264.tif 000006
【図５】
2005018264.tif 000007
【図６】
2005018264.tif 000008
【図７】
2005018264.tif 000009
【図８】
2005018264.tif 000010
【図９】
2005018264.tif 000011
【図１０】
2005018264.tif 000012
【図１１】
2005018264.tif 000013
【図１２】
2005018264.tif 000014
【図１３】
2005018264.tif 000015