JP4977128B2 - データベースからxml文書を動的に生成する方法 - Google Patents

データベースからxml文書を動的に生成する方法 Download PDF

Info

Publication number
JP4977128B2
JP4977128B2 JP2008510552A JP2008510552A JP4977128B2 JP 4977128 B2 JP4977128 B2 JP 4977128B2 JP 2008510552 A JP2008510552 A JP 2008510552A JP 2008510552 A JP2008510552 A JP 2008510552A JP 4977128 B2 JP4977128 B2 JP 4977128B2
Authority
JP
Japan
Prior art keywords
template
templates
xml
xml document
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008510552A
Other languages
English (en)
Other versions
JP2008541254A (ja
Inventor
モレナール,リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Publication of JP2008541254A publication Critical patent/JP2008541254A/ja
Application granted granted Critical
Publication of JP4977128B2 publication Critical patent/JP4977128B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Description

本発明は、一般にコンピュータによって生成されたデータベースに関し、より詳細にはデータベースを調べるときにマークアップ言語XML(eXtensible Markup Language(拡張可能マークアップ言語))を使用するタイプの文書の自動生成に関する。
コンピュータから直接或いはネットワークを介して生成されたデータベースは、多数の会社、行政機関、及びあらゆる種類の商業組織や他の組織によって非常に長い間使用されてきた。データベースは、データを構造化した様式で最小限の冗長性で記憶することができるものである。従って、データベースを使用する主な利点は、多数の異なるユーザがそのデータベースに同時にアクセスできることである。
例えば、世界中の全ての航空会社のフライトの全ての時刻表と予約状況、あるいは国際的ホテルチェーンの全ての提供サービスを含むデータベースがある。この場合、特にインターネットによって全ての専用ネットワーク又は公衆ネットワークを相互接続することができるので、旅行代理店は、世界中のどこからでもこの情報にアクセスすることができる。従って、データベースの概念は、一般に、この情報を組み合わせ共有できるように、ネットワークの概念と結合される。
データとユーザを管理するために、データベース管理システム(DBMS)が必要とされる。DBMSは、データベースの管理を可能にするソフトウェアアプリケーションの集まりであり、即ち、データへの単純なアクセスを可能にし、複数ユーザの情報へのアクセスを許可し、データベース内にあるデータの操作(入力、削除、修正)を可能にする。
殆どの場合、データベースは、データをテーブルの形で編成するいわゆる関係モデルに従って構成される。データは、関係に関する形式演算の集まりからなる集合理論(即ち、関係代数)に基づく数学的概念に従って取り扱われる。関係演算は、他のテーブルに関する基本演算(例えば、結合、共通部分演算、更には差分等)から新しい関係(テーブル)を作成することを可能にする。
構造化された照会言語がこれまで幅広く採用されてきた。略語SQL(Structured Query Language)として知られる照会言語は、データ定義言語でもありデータ処理制御言語でもある。データの定義は、管理者の仕事である。SQL言語を使用する人は殆ど、自分が関心のあるデータを選択できるデータ処理言語だけを使用する。ユーザの視点から見ると、データ処理言語の最も重要なコマンドは、SELECTコマンドである。このコマンドは、関係代数に基づいて、幾つかの関係テーブルでデータ選択操作を実行して、それらをユーザが使用できるようにすることができる。
インターネットが著しく発達し、インターネットによって公衆ネットワークと専用ネットワークの相互接続が可能になったため、HTTP(Hyper Text Transfer Protocol)と呼ばれるプロトコルの採用とウェブ(ワールドワイドウェブ)の名前で知られる通信システムの開発によって、データ交換が標準化された。ワールドワイドウェブで情報を検索することができ、その情報にアクセスしてハイパーテキスト又はHTML(Hyper Text Markup Language)を用いて視覚化することができる。この言語によって、ウェブブラウザで表示できるハイパーテキスト文書を作成することができる。
HTML言語は、文書とその形式を記述するために1980年代に採用された略語SGML(Standard Generalized Markup Language)として知られるより高度な規格の極めて単純な特別バージョンである。SGML言語は、文書のトポグラフィカルな様相ではなく文書の論理構造を記述するために現在でも使用されている記号言語である。適用される原理は、章、段落、序文、導入部、及び文書の他の構成要素の汎用マーキング(マーカによる)である。HTML言語の単純さは、この言語が採用された大きな要因であり、ウェブの開発当初は全く十分であったが、より要求が厳しい用途の要件によってすぐにその限界が明らかになった。HTMLの単純さは、更なる開発の余地を犠牲にして達成されたため、HTMLが導出された規格、即ちSGMLと類似しているがSGMLの複雑さをなくし開発と順応性の可能性を提供する言語がすぐに必要とされるようになった。これに対する対応は、ウェブの標準化作業を委ねられた組織によって1996年の終わりに提案された新しい規格であった。この規格は、XML(eXtensible Markup Language)として知られる。XMLは、SGMLとよく似ているがその複雑はなく、HTML言語の拡張を可能にするメタ言語である。詳細には、このXMLは、例えばテキストをより明確に記述するために新しいマーカを定義することができ、文書を完全に個人化することができる。XMLの成功は、その拡張性によるデータドメインを記述する能力にある。XMLにより、含まれるデータの語いと構文を構造化し確立することができる。
従って、XML言語が、データベース、特に前述の関係データベースから得られたデータを含む文書をフォーマットするために作成されてからずっと使用されてきたことは驚くことではない。データはSQL照会によって取得される。
しかしながら、取得したデータを使用し、そのデータをユーザのウェブブラウザによって開かれるウィンドウに表示するために文書に含めるには、大量のコーディング作業を必要とする。既に前に引用した旅行代理店(ユーザ)が調べるデータベースの例では、必要とされる表示の個人化レベルは極めて高い場合がある。実際に、そのような旅行代理店の顧客は極めて多様な要求を持つ。旅行代理店のスタッフの仕事を容易にし、その生産性を高め、顧客満足度を高めるためには、顧客が行楽客かビジネスマンか女性かによって、データの選択とその提示が大きく異なる場合がある。
従って、XML文書の自動生成は、特にそのようなアプリケーションの開発者から注目されてきた。例えば、米国特許第6,636,845号として米国特許庁(USPTO)から発行された特許を参照することができる。この特許は、単一のSQL照会からXML文書を生成する方法(Generating one or more XML documents from a single SQL query(単一SQL照会からの一以上のXML文書を生成する))について述べている。しかしながら、記載された方法には融通性がない。詳細には、この方法は、データに対するアクセスを記述するために静的な定義に基づく。従って、対応するXML文書内でアクセスすべきデータのタイプと同じ数の定義がある。
米国特許第6,636,845号
本発明の一般的な目的は、データベースからXML文書を生成するための改良された方法を提案することである。
本発明の特定の目的は、データベース内のデータへのアクセスの動的定義からXML文書を生成できることである。
本発明の別の目的は、データベース形式で記述された入れ子式テンプレート(nested template)の組み合わせを使用することによってこの動的定義を取得することである。
本発明の更に他の目的は、アプリケーション用に生成されるXML文書を単純化しその数を減らし同時に高度の個人化を維持することである。
本発明の他の目的、特徴及び利点は、以下の説明及び添付図面を考察することにより当業者に明らかになるであろう。他の利点も実現できることを理解されたい。
ソースデータベースから抽出されたデータを含む少なくとも1つのXML文書を自動的に生成する方法を説明する。この方法は、複数のテンプレートをデータベース形式で定義することにあり、そのようなテンプレートは実行可能命令を含む。各テンプレートと関連付けられた照会も定義される。照会は、ソースデータベースからデータをレコードセットの形で抽出するために使用される。テンプレートの命令は、レコードセットから取得するデータを含む少なくとも1つのXML文書を生成するために実行される。命令は、他のテンプレートのいずれか1つのテンプレートを呼び出すための少なくとも1つの呼出し命令を含む。XML文書は、属性を含む要素から成る。この方法は、現行要素の概念を維持することを特徴とする。この方法は、また、現行要素に割り当てる新しい要素を作成する命令を含む。次に新しい要素は現行要素になる。この方法は、また、現行要素に対する新しい属性を作成する命令と、現行要素の親要素に現行要素の役割を割り当てなおす、現行要素を閉じる命令とを含む。この方法は、XML文書の名前を構成し、現行要素になるルート要素を作成し、テンプレートのどれがルートテンプレートかを指定できるファイル定義を含む。テンプレート呼出し命令が実行されるとき或いはファイル定義が開かれルートテンプレートが使用されるときに、パラメータを使用してテンプレートをリンクする。テンプレート命令はそれぞれ、各レコードセットの記録に適用される。命令は、XMLジェネレータによって解釈される。ソースデータベースは、関係データベースであり、照会は、SQLとして知られる構造化照会言語の規則に従う照会である。テンプレート、照会、命令、ファイル定義、及びパラメータは、少なくとも1つの関係データベース内にテーブルの形で収容され、ソースデータベースに含まれていてもよい。
本発明の目標、目的、並びに特徴と利点は、以下の添付図面によって示された本発明の実施形態の詳細な説明から明らかになるであろう。
添付した図面は、例として示され、本発明の範囲を限定しない。
図1は、以下でVISTA(100)と呼ぶソフトウェアアプリケーションに使用される本発明の全体的な実施方法を示す。この方法の目的は、ソースデータベース(140)から取り出された情報を、リモートユーザのブラウザが容易に解釈できる形式で自動的にフォーマットすることによってリモートユーザが利用できるようにすることである。データベースは、例えば、国際的ホテルチェーンの提供サービスと予約状況を含む。従って、この例では、ユーザは旅行代理店であり、旅行代理店は、世界中のどこからでもインターネットを介して公衆ネットワーク又は専用ネットワークからこの情報にアクセスすることができる。
背景技術の節で述べたように、XML言語はこの目的に最適である。XMLは、主要なウェブ標準化機構、即ちW3C(World Wide Web Consortium)によって提案され、これまで幅広く採用されてきた。従って、VISTAは、文章を、それらの内容を表示するためにXMLファイル(110)の形式で生成し、それにより求められている情報をユーザが使用できるようにする。このために、アプリケーション(100)は、構文アナライザ(パーサ)によってXMLファイルを読み出さなければならない。パーサは、有名な米国企業「Microsoft Corporation」等のソフトウェア供給業者によって開発販売されている標準ツールである。パーサを実行する際、ターゲットファイルの分析により、アプリケーションユーザのブラウザが表示できるページを構成するオブジェクト(105)が生成される。
XMLファイルを生成するために使用されるXMLジェネレータ(120)は、モデル又はテンプレート(これらの主題に関する英語技術文献では「テンプレート」という用語が使用されている)に基づく。テンプレートは、使用される関係データベースの形式と言語でXMLジェネレータの定義テーブル(130)に記憶される。再使用される可能性を高めるためにテンプレートを入れ子にすることができる。本発明によるテンプレートは、XMLジェネレータが解釈することができ且つそれらのコンテキストで再使用することができる命令セットである。テンプレートのコンテキストは、英語技術用語よる1組のレコード又はレコードセット、即ちデータベースに送られる特定の照会によって得られるデータベースの部分ビューに適用される。照会は、前に述べたような構造化照会言語(SQL)に従う。本発明によれば、照会は、それぞれ特定のレコードセットへのアクセスを提供するオブジェクトの形で定義されデータベース(135)内に記憶される。照会オブジェクトは、パラメータを含むことができる。この場合、パラメータは、照会を修正する役割をする。例えば、図書館内の全ての本をリストするデータベースでは、本を特定の著者の名前で検索することができ、従って「著者」パラメータを含む照会が定義される。特定の検索では、著者パラメータを特定の著者の名前によって置き換えることができる。照会に応じてデータベースから返される対応するレコードセットは、図書館に収容されているその著者による本のリストからなる。
XMLが、ユーザにデータを配布する最も適切な手段である場合、製品に関するデータを記憶するには関係データベース(140)が理想的である。詳細には、適切に構造化されたデータベースを使用することにより、そのデータベースに含まれる情報の容易且つ有効な保守が保証され、冗長性が防止される。従って、データベース(140)は、アプリケーション(100)のユーザのために生成されるXMLファイルに含まれることになるデータの必須の供給源である。本発明の方法は、特に、既に延べた構造化照会言語SQLを利用する。ターゲットXML文書を生成することを可能にするデータベースの形式のテンプレートを使用することにより、ユーザが自分のブラウザで接続するときに、ソースデータベースに直接アクセスするために通常必要になるソフトウェア資源をユーザに配布する必要がなくなる。これは、必然的に、求める情報にアクセスするのに必要な時間を長くし、ネットワークを遮断し、求める情報の入手をきわめて複雑にする。実際に、データベースの構造と構成は、データベースの効率を保証し且つ冗長性を回避しようとするものであるが、ユーザへの情報の表示は他の基準に従う。データベース内のデータの構造をユーザが必要とするデータに整合させることは、本発明が推奨するように、XMLジェネレータ(120)によってソース側で適切に実行できる。このXMLジェネレータは、ユーザにとって十分な情報を含む少数のターゲットXMLファイル(110)を作成する定義テーブル(110)及び関連した照会定義(135)のテンプレートに依存する。
本発明による定義テーブル、テンプレート、及び照会は、図1に線図で示したようにソースデータベース(140)と別のデータベースに含まれてもよいが、何らの問題なしに、固有データベース(150)の一部を適切に構成できる。
従って、本発明の目的は、実際の規格を構成するソフトウェアアプリケーションによって管理された単一ソース(140)(関係データベース)からXML文書(110)を生成することである。そのようなソフトウェアアプリケーションには、多数の周知の商品がある。例えば「Oracle」、「IBM DB2」、「Microsoft Access」の名前で知られているものであるが、これらの製品は、それぞれの会社によって開発販売されているものである。従って、データの管理とインテグリティー自体は、幅広く試験され使用されている標準製品の使用により実現される。従って、XML文書を生成し試験するための規則をデータベース自体の中にそのデータベースの形式で含めることによって、多数の利点を得ることができる。特に、開発時間が短縮される。従って、データベースに変更を加え、VISTA(100)等の所定のアプリケーションの全てのXMLファイルを自動的に再発生するのは、特定のコードを更新し修正するよりも時間がかからない。更に、これは、アプリケーション自体(この例ではVISTA)を開発する役割の専門家が直接実行することができるが、特定のソフトウェアの開発は、常に、高度に専門化されたプログラマによるコストのかかるコーディング作業を必要とする。
図2は、XMLジェネレータの「定義テーブル」の構造を示す。各テーブルは次のものを含む。
Figure 0004977128
パラメータ(210)を利用するファイル定義(200)は、適切なレコードセットを見つけるためにデータベースに適用される特定の照会の定義を含む。ファイル定義は、命令(230)を利用するテンプレート(220)を参照する。命令が、別のテンプレート(225)を呼び出すタイプのものであるときは、呼び出したテンプレート(240)にパラメータを渡さなければならない。
前述のテーブルで述べたXML文書の要素と属性は、XML言語の不可欠な部分をなし、当業者に周知の概念である。一般に、XML文書は、<xxxElement>と</Element>の形の開始マーカと終了マーカによって囲まれた1つ以上の要素を含む。そして、各要素は、1つ以上の属性を有することができ、各属性は、テンプレート命令で指定される名前と値を有する。
図3は、前述した、「XMLジェネレータの定義テーブル」の一部分を構成する「ファイル定義」の内容に基づいてファイルを生成するプロセスを示す。
ファイル定義(300)を開いた後で、この定義の各レコード(314)について、関連した「照会定義」があるかどうかを調べる(320)。「照会定義」がある場合(322)は、対応する照会を実行する。次に、データベースから取得した「レコードセット」を開く(330)。レコードセット内のレコードと同じ数のターゲットファイルを作成する(360)。レコードセット内の全てのレコードに対してスクロールを行う(350)。最後のレコードを処理したとき(334)、プロセスは、ファイル定義の次のレコードに進む(370)。
関連した照会定義があるかどうかを調べたとき(320)、答えが否定の場合(324)は、ファイル定義の次のレコードに進む前に1つのターゲットファイルを作成する(380)。レコードがなくなった場合、プロセスは完了する(312)。
図4に、「ターゲットファイル」作成段階(380)と、「ターゲットXMLファイル」を作成するための類似の段階(360)を示す。
ターゲットファイルの作成は、まず最初に、ファイル名を作る段階(400)を含む。前に示したように、複数のターゲットファイルを作成するために同じ「ファイル定義」が使用される場合、その名前は、次のものを連結して作られる。
−ファイル定義に由来するプレフィックス
−レコードセットの現行レコードに由来する動的部分
−ファイル定義に由来するサフィックス
しかしながら、前述のような関連した照会定義がない場合は、単一ファイルを作成しなければならない。その場合、プレフィックスとサフィックスだけが使用され、動的部分はない。
この後で、XML文書の構造を表わし且つ既に述べたウェブ標準化機構(W3C)から出されたDOM仕様(文書オブジェクトモデル)に準拠するオブジェクトの形でターゲットXMLファイルを有効に作成する(410)。
ファイル定義内にルート要素が出現する場合(422)、ルート定義を作成する(430)。この後、ファイル定義内にパラメータがある場合(442)は、テンプレートに渡す(444)ためにそのパラメータを探す(440)。
テンプレート(450)(ルートテンプレート又は入れ子テンプレート(即ち、別のテンプレートによって呼び出さたもの))の処理は、図5に更に詳しく示されている。
呼び出しているテンプレート(又はファイル定義)によって定義されたパラメータは、呼び出されたテンプレートのパラメータと一致しなければならない。このために、パラメータの定義に基づいて一時的な「パラメータグループ」が構成される(500)。これが行われたとき、「レコードセット」の現行レコードから適切な値が得られる。
段階(500)は、図5の右側部分に詳しく示されている。各パラメータは、その名前(501)並びにパラメータによって定義されたフィールド(502)とによって見つけられる。フィールドの値は、「レコードセット」から取得され(503)、この値でパラメータの値を固定することができる(504)。このプロセスは、処理するパラメータがある限り(505)繰り返される(506)。
次に、呼び出されるテンプレートを見つける(510)。関連した「照会定義」のパラメータは、適切な「レコードセット」を取得するために(520)データベース上で実行する前に、呼び出しているテンプレートのパラメータと一致させなければならない。パラメータは、処理する命令がなくなるか(560)「レコードセット」内のレコードがなくなる(550)まで、「レコードセット」(530)内の各レコードと命令の各々に網羅的に適用される(540)。
図6は、命令処理段階をより詳細に示す。命令を実行するとき、システムは、現行要素の概念を維持する。この要素が、以下に述べる各命令のターゲットである。現行要素がない場合、テンプレートのルート要素、即ち最初の要素が使用される。
命令には、要素を作成する命令(600)、属性を作成する命令(610)、要素を閉じる命令(620)、テンプレートを呼び出す命令(630)など、幾つかのタイプがある。最初の2つの場合は、最初に、現行の「レコードセット」に指定されたフィールドの値を取得する(602)必要がある。最後の場合は、最初に、呼び出されたテンプレートに渡すパラメータを取得する(632)必要がある。
従って、命令が、前述のように作られた名前の付いたXML要素(600)を作成しなければならない場合がある。次に、現行要素に新しい要素が割り当てられ(605)、従ってその現行要素は、新しい子要素の親になる。必要に応じて、新しい要素に値を挿入してもよく、その値は、「レコードセット」に指定されたフィールドに対応しなければならない。
命令が、属性(610)をXML要素に割り当てなければならない場合がある。現行要素についての属性を作成する(615)。前述のように、必要に応じてこの属性に値を固定することができ、この値は、レコードセットの特定のフィールドに対応しなければならない。
命令が要素を閉じる場合があり(620)、これにより、現行要素の役割が親要素に割り当てなおされる(625)。
最後に、命令が、前に指定された名前でテンプレートを呼び出す場合のある(630)。呼び出されたテンプレートを処理するために(635)、現行テンプレートのレコードセットから呼び出されたテンプレートのレコードセットにパラメータが渡される。
図7は、関係データベースからターゲットXMLファイルを生成するための本発明による方法を特定の例で示す。この例では、多国籍チームによって世界中で販売されているソフトウェア製品の開発環境の殆どでそうであるように、コードの専門用語は全て英語で定義されている。しかしながら、このことは、以下の説明の明確な理解を防げないはずである。必要であれば、用語が説明されるか又は一連の文字と数字であると容易に解釈され、これは特に重要でないが、明らかな記憶上の理由や実際的な理由のために用語に何らかの意味を付与しようと試みられている。
XMLファイルの作成は、既に説明した「ファイル定義」を開く段階(700)で始まり、このファイル定義は、データベース内のテーブル(705)の形をとる。このテーブルに含まれる情報により、指定された名前(codesList_CAR.xml)を有し第1の空要素(codes_list)を含むXMLファイルを作成することができる。この要素は現行要素になる。ファイル定義は、使用されたルートテンプレート(710)の名前を含む。
次に、前述のテンプレートを処理する(720)。第1の段階は、データベースに、テンプレート(CarCodesList)用に定義された照会(722)を実行して、対応するレコードセット(730)を取得することである。テンプレート(710)の命令は、この例では5個であり、得られるレコードセット内の各レコードに適用される。
最初に、前に作成した現行要素の子要素(リスト)を作成する(724)。この要素は次に現行要素になる。次に、テンプレート(710)の次の2つの命令(インデックス2及び3)が処理される。これらは、テンプレート内に指定されているフィールド名にそれぞれ対応する2つの属性(Name、Area)(726)を作成する働きをする。従って、XMLファイルの現行要素(リスト)(728)は、これらの属性を含む。
次の命令(テンプレート(710)のインデックス4)は、別のテンプレート(CodesListltem)を利用して、そのテンプレートのためにパラメータが定義される(715)。呼び出されたテンプレート(740)も、照会定義(CodesListltem)を有する。これにより、呼び出しているテンプレート(715)のパラメータがその呼び出しを有効に実行するためにフィールド(742)を見つけることを可能にした後、データベース内の対応するレコードセット(750)を取得できるようになる。
呼び出されたテンプレートは、XMLファイルの内容を豊かにするために前に既に説明したように処理される(760)。
本発明の全体的な実施方法を示す図である。 XMLジェネレータの定義テーブルの構造を示す図である。 ファイル定義の内容に基づくファイルの生成に関するプロセスを示す図である。 ターゲットXMLファイルを作成する段階を示す図である。 テンプレートの処理を示す図である。 テンプレートの命令を示す図である。 本発明の例示的実施形態の図である。 本発明の例示的実施形態の図である。
符号の説明
100 VISTA
105 オブジェクト
110 ターゲットTMLファイル
120 XMLジェネレータ
130 定義テーブル
135 照会(定義)
140 ソースデータベース(PD−DB)

Claims (12)

  1. ソースデータベース(140)から抽出したデータを含む少なくとも1つのXML文書(110)を自動的に生成する(120)方法であって、前記ソースデータベースが、前記少なくとも1つのXML文書を生成する手段を有し、前記少なくとも1つのXML文書を生成し、前記手段は、前記少なくとも1つのXML文書を生成するために前記ソースデータベースの形式と言語で定義された定義テーブル及び照会(130,135)を利用するXMLジェネレータ(120)を含む方法において、
    前記XMLジェネレータが処理する段階として、
    少なくとも1つの定義テーブル(130)内に定義された複数のテンプレート(220,225)を利用する段階であって、前記複数のテンプレート(220,225)は、前記XMLジェネレータ(120)によって前記少なくとも1つのXML文書を生成するために実行可能な命令(230)を含み、前記実行可能命令(230)は、前記複数のテンプレート(220,25)の内の任意のテンプレートを呼び出すために少なくとも1つの呼出し命令(630)を含む段階と、
    前記複数のテンプレート(220,25)のそれぞれと関連付けられて定義された照会(135)を前記少なくとも1つのXML文書を生成するために利用する段階であって、前記照会は、前記ソースデータベース(140)からデータをレコードセット(730)の形で抽出するために利用される段階と、
    実行段階(700)の際に前記少なくとも1つの定義テーブル(130)に含まれるファイル定義(200)を開いてから前記実行可能な命令(230)を実行する段階であって、前記実行段階(700)は、前記レコードセット(730)から抽出した前記データを含む前記少なくとも1つのXML文書を生成できるようにするために、前記呼び出したテンプレートの少なくとも1つのテンプレートによって前記複数のテンプレート(220,225)の少なくとも1つの他のテンプレートに対する呼び出しを含む段階とを含む方法。
  2. 前記少なくとも1つのXML文書は、属性(726)を含むことができる要素(702)を含み、前記実行段階(700)は、前記実行可能な命令(230)によって前記要素とその前記属性を作成するための段階を含む、請求項1に記載の方法。
  3. 前記ファイル定義(200)は、前記XML文書の名前を作り(400)、前記XML文書の構造を表すターゲットファイルを作成し(410)、現に処理が行われる現行要素の役割を割り当てるルート要素を作成し(430)、前記複数のテンプレートの内の任意のテンプレートを呼び出すことができるルートテンプレート(710)を処理するための情報を含む、請求項1又は2に記載の方法。
  4. 前記複数のテンプレート(220,225)の何れかが、前記現行要素の新しい子要素(600)を作成し、前記現行要素の役割を前記新しい要素(600)に割り当てる(605)ための命令と、前記現行要素の新しい属性を作成する(610)命令と、前記現行要素を閉じ、前記現行要素の親要素に現行要素の役割を割り当てなおす(620)ための命令とを少なくとも含む、請求項3に記載の方法。
  5. 前記ファイル定義(200)がパラメータ(210,240)を含み、前記パラメータは、前記テンプレート呼出し命令が実行されるとき或いは前記ファイル定義が開かれ前記ルートテンプレートが使用されるときに前記テンプレートをリンクする働きをする、請求項3又は4に記載の方法。
  6. 前記複数のテンプレートの前記実行可能な命令(230)がそれぞれ、前記レコードセットの各レコードに適用される(530)、請求項1から5のいずれか1項に記載の方法。
  7. 前記実行可能な命令(230)は、XMLジェネレータ(120)によって解釈される、請求項6に記載の方法。
  8. 前記ソースデータベース(140)は、関係データベースであり、前記照会(135)は、SQLとして知られる構造化照会言語の規則に従う照会である、請求項1から7のいずれか1項に記載の方法。
  9. 前記複数のテンプレート(220,225)、照会(135)、実行可能な命令(230)、ファイル定義(200)及びパラメータ(210,240)は、少なくとも1つの関係データベース内にテーブルの形で含まれる、請求項1から8のいずれか1項に記載の方法。
  10. 前記複数のテンプレート(220,225)、照会(135)、実行可能な命令(230)、ファイル定義(200)及びパラメータ(210,240)は、前記ソースデータベース(140)に含まれる、請求項1から8のいずれか1項に記載の方法。
  11. システム、特にXML文書のジェネレータ(120)であって、請求項1から10のいずれか1項に記載の方法を実施するように適合された手段を含むシステム。
  12. プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムはコンピュータに請求項1から10のいずれか1項に記載方法の段階を実行させるためのものである記録媒体。
JP2008510552A 2005-05-09 2006-05-05 データベースからxml文書を動的に生成する方法 Active JP4977128B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP05103829.7 2005-05-09
EP05103829A EP1722307A1 (fr) 2005-05-09 2005-05-09 Méthode dynamique de génération de documents XML à partir d'une base de données
US67923205P 2005-05-10 2005-05-10
US60/679,232 2005-05-10
PCT/EP2006/062102 WO2006122886A1 (fr) 2005-05-09 2006-05-05 Methode dynamique de generation de documents xml a partir d'une base de donnees

Publications (2)

Publication Number Publication Date
JP2008541254A JP2008541254A (ja) 2008-11-20
JP4977128B2 true JP4977128B2 (ja) 2012-07-18

Family

ID=34939745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008510552A Active JP4977128B2 (ja) 2005-05-09 2006-05-05 データベースからxml文書を動的に生成する方法

Country Status (13)

Country Link
US (1) US8468446B2 (ja)
EP (2) EP1722307A1 (ja)
JP (1) JP4977128B2 (ja)
KR (1) KR101331532B1 (ja)
CN (1) CN100565521C (ja)
AT (1) ATE414303T1 (ja)
AU (1) AU2006248984B2 (ja)
BR (1) BRPI0611363A2 (ja)
CA (1) CA2603908C (ja)
DE (1) DE602006003649D1 (ja)
ES (1) ES2317546T3 (ja)
WO (1) WO2006122886A1 (ja)
ZA (1) ZA200709325B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962443B2 (en) 2007-02-08 2011-06-14 Interactive Documents, Llc Method and system for replacing data in a structured design template
US8321846B2 (en) * 2008-11-13 2012-11-27 Oracle International Corporation Executable template
US20100332192A1 (en) * 2009-04-27 2010-12-30 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Method and Tools for Self-Describing Data Processing
US8615526B2 (en) * 2010-06-21 2013-12-24 Tata Consultancy Services Limited Markup language based query and file generation
CN101866361A (zh) * 2010-06-30 2010-10-20 山东中创软件工程股份有限公司 一种异构数据集成方法及装置
US9846693B2 (en) * 2010-07-23 2017-12-19 Ibm International Group Bv Document tracking in heterogeneous application environments
CN102622219B (zh) * 2011-01-31 2015-06-17 富士通株式会社 对动态调用服务的执行结果进行渲染的方法、装置及系统
US8850306B2 (en) * 2011-03-28 2014-09-30 Microsoft Corporation Techniques to create structured document templates using enhanced content controls
US9128986B2 (en) * 2011-06-29 2015-09-08 Infosys Limited Method and system for managing a database having a plurality of tables
KR101122629B1 (ko) * 2011-11-18 2012-03-09 김춘기 데이터베이스의 데이터를 변환하여 xml 문서를 생성하는 방법
KR101416712B1 (ko) * 2012-07-12 2014-07-09 김영근 정형 및 비정형 데이터를 xml 문서에 구현하는 방법
KR101449725B1 (ko) * 2012-11-12 2014-10-16 한국과학기술정보연구원 Pdf 문서 파일을 자동 변환하는 장치 및 방법
CN103902634B (zh) * 2012-12-30 2017-09-29 航天信息股份有限公司 利用Adapter实现View组件与数据库字段自动绑定的方法
CN104063468B (zh) * 2014-06-27 2017-11-10 北京思特奇信息技术股份有限公司 一种数据报表自动生成及提取方法及装置
CN104537103B (zh) * 2015-01-12 2018-11-16 用友医疗卫生信息系统有限公司 数据处理方法和数据处理装置
CN104679909B (zh) * 2015-03-25 2018-07-17 郑州悉知信息科技股份有限公司 一种设置网站tdk的方法及装置
US10552425B1 (en) * 2016-04-28 2020-02-04 Jpmorgan Chase Bank, N.A. System and method for automated data utilization
CN106021594B (zh) * 2016-06-06 2019-06-11 福建榕基软件股份有限公司 数据库表和xml报文的映射处理方法及其系统
CN106202008B (zh) * 2016-06-28 2019-04-05 武汉斗鱼网络科技有限公司 一种MySQL数据库结构化文档生成方法及装置
KR102157218B1 (ko) * 2018-12-28 2020-09-18 인천대학교 산학협력단 공간 데이터의 의미론적 주석을 위한 데이터 변환 방법
CN110569456B (zh) * 2019-07-26 2022-03-08 广州视源电子科技股份有限公司 Web端数据离线缓存方法及装置、电子设备
KR102253751B1 (ko) * 2020-10-15 2021-05-20 주식회사 위키랩 워드프로세서와 데이터베이스를 연동하여 문서를 생성하는 시스템 및 방법
US11755647B2 (en) 2020-12-03 2023-09-12 International Business Machines Corporation XML production through database mining and blockchain

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
JP2000250841A (ja) * 1999-03-02 2000-09-14 Hitachi Ltd ページ生成方法及び装置並びにページ生成プログラムを記録した記憶媒体および電子モールシステム
JP2001092695A (ja) * 1999-09-24 2001-04-06 Hitachi Information Systems Ltd 構造化文書とデータベースのデータ交換処理方法及びそのプログラムを記録した媒体
US6826727B1 (en) * 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US7213017B2 (en) * 2000-03-17 2007-05-01 Microsoft Corporation Systems and methods for transforming query results into hierarchical information
US6963875B2 (en) * 2000-03-23 2005-11-08 General Atomics Persistent archives
US6941510B1 (en) * 2000-06-06 2005-09-06 Groove Networks, Inc. Method and apparatus for efficient management of XML documents
US7076534B1 (en) * 2000-06-30 2006-07-11 Microsoft Corporation Server-side scripting that enables creation of customized documents for clients
US6708186B1 (en) * 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US6725231B2 (en) * 2001-03-27 2004-04-20 Koninklijke Philips Electronics N.V. DICOM XML DTD/schema generator
US7131063B2 (en) * 2001-09-13 2006-10-31 International Business Machines Corporation Method and system for delivering dynamic information in a network
US7210097B1 (en) * 2002-05-22 2007-04-24 Pitney Bowes Inc. Method for loading large XML documents on demand
US20040002907A1 (en) * 2002-06-28 2004-01-01 Tosswill Andrew R. Template for inputting customized processing features in an electronic bill presentment and payment system
CA2414053A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7584216B2 (en) * 2003-02-21 2009-09-01 Motionpoint Corporation Dynamic language translation of web site content
US20040268238A1 (en) * 2003-06-30 2004-12-30 Peiya Liu Systems and methods for processing documents using an XML-based process flow description language
US20050081144A1 (en) * 2003-10-13 2005-04-14 Bankers Systems Inc. Document creation system and method using knowledge base, precedence, and integrated rules
US7458022B2 (en) * 2003-10-22 2008-11-25 Intel Corporation Hardware/software partition for high performance structured data transformation
US7640497B1 (en) * 2003-12-22 2009-12-29 Apple Inc. Transforming a hierarchical data structure according to requirements specified in a transformation template
CN1560763B (zh) * 2004-02-19 2010-05-05 北京大学 一种可扩展标记语言路径查询翻译为结构查询的方法
US7500185B2 (en) * 2004-04-29 2009-03-03 Koninklijke Philips Electronics N.V. Framework of validating DICOM structured reporting documents using XSLT technology
US7721195B2 (en) * 2004-08-24 2010-05-18 Oracle International Corporation RTF template and XSL/FO conversion: a new way to create computer reports
US7966286B2 (en) * 2005-02-14 2011-06-21 Microsoft Corporation Hierarchical management of object schema and behavior
US7949941B2 (en) * 2005-04-22 2011-05-24 Oracle International Corporation Optimizing XSLT based on input XML document structure description and translating XSLT into equivalent XQuery expressions

Also Published As

Publication number Publication date
US20090265608A1 (en) 2009-10-22
ZA200709325B (en) 2008-11-26
AU2006248984A1 (en) 2006-11-23
CN101171582A (zh) 2008-04-30
CN100565521C (zh) 2009-12-02
ES2317546T3 (es) 2009-04-16
CA2603908C (fr) 2014-03-25
EP1880325B1 (fr) 2008-11-12
DE602006003649D1 (de) 2008-12-24
KR101331532B1 (ko) 2013-11-20
WO2006122886A1 (fr) 2006-11-23
AU2006248984B2 (en) 2010-12-23
EP1722307A1 (fr) 2006-11-15
EP1880325A1 (fr) 2008-01-23
US8468446B2 (en) 2013-06-18
ATE414303T1 (de) 2008-11-15
JP2008541254A (ja) 2008-11-20
CA2603908A1 (fr) 2006-11-23
BRPI0611363A2 (pt) 2010-09-08
KR20080027251A (ko) 2008-03-26

Similar Documents

Publication Publication Date Title
JP4977128B2 (ja) データベースからxml文書を動的に生成する方法
US6502112B1 (en) Method in a computing system for comparing XMI-based XML documents for identical contents
USRE48030E1 (en) Computer-implemented system and method for tagged and rectangular data processing
US7165073B2 (en) Dynamic, hierarchical data exchange system
US8996979B2 (en) Document automation systems
US7599947B1 (en) Method and system for converting hierarchical database schemas into relational database schemas
US6594672B1 (en) Generating multidimensional output using meta-models and meta-outlines
US6781609B1 (en) Technique for flexible inclusion of information items and various media types in a user interface
US5752021A (en) Document database management apparatus capable of conversion between retrieval formulae for different schemata
US7975220B2 (en) Apparatus, program product and method for structured document management
JP2006525608A (ja) ダイナミックコンテンツアセンブリを管理するためのシステムおよび方法
JP2002024211A (ja) 文書管理方法およびシステム並びにその処理プログラムを格納した記憶媒体
US20060007464A1 (en) Structured data update and transformation system
US6915303B2 (en) Code generator system for digital libraries
WO2006102512A2 (en) Change control management of xml documents
US7600186B2 (en) Generating a synonym dictionary representing a mapping of elements in different data models
Jones et al. Python & XML: XML Processing with Python
US20070094289A1 (en) Dynamic, hierarchical data exchange system
JPH10187680A (ja) 単語、文、部分の粒度で管理するドキュメントリポジトリ装置
Jayashree et al. Data integration with xml etl processing
JP3842576B2 (ja) 構造化文書編集方法及び構造化文書編集システム
Gardner Information architecture planning with XML
JP4410005B2 (ja) 構造化文書の構造変換装置、プログラム
WO2001018657A1 (en) Dynamic content identifier for xml web pages
Paik et al. Web Services–Data Services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110707

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120413

R150 Certificate of patent or registration of utility model

Ref document number: 4977128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250