JP2002215403A - 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム - Google Patents

構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム

Info

Publication number
JP2002215403A
JP2002215403A JP2001009650A JP2001009650A JP2002215403A JP 2002215403 A JP2002215403 A JP 2002215403A JP 2001009650 A JP2001009650 A JP 2001009650A JP 2001009650 A JP2001009650 A JP 2001009650A JP 2002215403 A JP2002215403 A JP 2002215403A
Authority
JP
Japan
Prior art keywords
data
structured document
program
document
information
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.)
Granted
Application number
JP2001009650A
Other languages
English (en)
Other versions
JP4099948B2 (ja
Inventor
Wataru Takagi
渉 高木
Onori Yokozuka
大典 横塚
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001009650A priority Critical patent/JP4099948B2/ja
Priority to EP01309672A priority patent/EP1231547B1/en
Priority to US09/988,438 priority patent/US7111284B2/en
Publication of JP2002215403A publication Critical patent/JP2002215403A/ja
Priority to US11/509,881 priority patent/US20060282452A1/en
Application granted granted Critical
Publication of JP4099948B2 publication Critical patent/JP4099948B2/ja
Priority to US13/219,275 priority patent/US20110314456A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【課題】構造化文書のデータを扱うアプリケーションを
作成する場合、従来は、動的に木構造に展開したり、イ
ベントによって呼び出されるコールバック・ルーチンを
駆使したりするプログラミングをする必要があったが、
処理が複雑であるだけでなく、COBOLのようなポイ
ンタの概念の無いプログラム言語では実現が困難である
という問題があった。 【解決手段】データ転記処理部5を用意し、これに処理
対象の構造化文書の文書構造定義情報1、プログラム言
語の構造体定義情報2、及び、文書構造定義と構造体定
義との対応情報3を与えておく。アプリケーションプロ
グラム4からデータ転記処理部5に読み書きの要求を出
すだけで、構造化文書6とプログラム言語の構造体との
間で要素毎のデータ転記が実現する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム言語で
外部データを扱うシステム及び方法に関し、特にプログ
ラム言語で構造化文書を扱うシステム及び方法およびプ
ログラムに関する。
【0002】
【従来の技術】XML(eXtensible Mar
kup Language)に代表される構造化文書
は、さまざまな用途に使われるが、特に、企業間のデー
タ交換形式として使われるとき、プログラム言語でデー
タを扱う必要がある。
【0003】構造化文書自体は、文字列という以上に物
理構造を持たないが、文字列内の文法規則によって構造
を表現する。開始タグと終了タグの構文を用意し、これ
らのタグで文字列データを囲むことで構造化文書を構成
する要素を表す。囲まれた文字列データの中身には、開
始タグと終了タグで囲まれた別の要素を置くことが許さ
れる。これによって、再帰的な入れ子構造を表現する。
この構造は、論理的に木構造である。入れ子になってい
る要素を木構造として見る場合は、直接囲まれている要
素を子ノード、その要素を直接囲んでいる要素を親ノー
ドとし、同じ親ノードを共有するノードを兄弟のノード
とする。
【0004】プログラム言語からこのような構造化文書
を操作する場合、構造化文書の木構造になっているデー
タを直接プログラム言語の構造体に転記する方式はなか
った。
【0005】これまでの技術としては、構造化文書全体
を、各要素をノードとする木構造として主記憶装置内に
展開した上で、このデータ構造を操作するする方法があ
る。例えば、ワールド・ワイド・ウェブ・コンソーシア
ム(World WideWeb Consortiu
m)はドキュメント・オブジェクト・モデル(Docu
ment Object Model)を勧告しており
(http://www.w3.org/TR/REC
−DOM−Level−1/)、主記憶内に木構造とし
て展開したデータ構造に対する各種のデータ操作用イン
ターフェースを定義している。
【0006】また、構造化文書を走査するにつれて、イ
ベントを発生させることで、イベント・ドリブンに構造
化文書を操作する方法がある。XML−DEVメーリン
グリストで開発され、XML文書を扱う上で事実上の業
界標準となっているSimple API for X
ML(http://www.megginson.c
om/SAX/)では、XMLで書かれた構造化文書を
走査し、遭遇したタグ等に対して次々にイベントを発生
させ、特定のイベント処理ルーチン(コールバック・ル
ーチンと呼ぶ)に制御を渡すことで、構造化文書の操作
を可能にしている。
【0007】特開平11−242673では、ある構造
化情報フォーマットから別の構造化情報フォーマットへ
変換するためのオブジェクト指向システムが提案されて
いるが、プログラム言語処理系には関係していない。
【0008】
【発明が解決しようとする課題】構造化文書を扱うアプ
リケーションを作成する場合、次に述べるように、ポイ
ンタ操作機能や、イベントによって呼び出されるコール
バック・ルーチンの登録機能の無いプログラム言語では
実現が困難であるという問題があった。
【0009】上記従来技術のうち、構造化文書を木構造
に展開してプログラム言語から操作する方法では、動的
なデータ構造を扱うため、プログラム言語の言語仕様と
して、ポインタの操作機能、又は、オブジェクト指向言
語であればオブジェクト参照の操作機能を持っていなけ
ればならない。また、構造化文書をイベント・ドリブン
に扱う方法では、プログラム言語の言語仕様として、イ
ベントごとに呼び出されるコールバック・ルーチンを設
定する手段を提供していなければならない。例えばプロ
グラム言語COBOL(JIS X 3002−199
2 電子計算機プログラム言語COBOL)のように、
言語仕様としてデータ用のポインタも、手続きルーチン
用のポインタの概念もない言語では、動的データ構造の
扱いも、イベント・ドリブンのプログラミングも困難で
ある。
【0010】本発明は、ポインタ操作や呼び出されるル
ーチンの登録機能がないプログラム言語でも、構造化文
書のデータを扱える機能を提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、プログラム言語から呼び出して使用するデータ転記
処理部を置く。データ転記処理部は、構造化文書の構造
を定義した情報、構造化文書の構造に対応するプログラ
ム言語の構造体の定義情報、及び、文書構造定義と構造
体定義の対応情報を入力することで、構造化文書の各要
素とプログラム言語の構造体の各項目との間の対応関係
と型情報に基づいて、データ型変換を含めた各々の転記
方法を設定する。
【0012】構造化文書の内容データをプログラム言語
の構造体に転記する要求をアプリケーションプログラム
がデータ転記処理部に出すと、構造化文書の内容データ
を、個々の要素に対して上述のように設定された方法
で、プログラム言語の構造体に転記する。また、逆方向
のデータ転記要求として、プログラム言語の構造体デー
タを構造化文書に転記する要求をアプリケーションプロ
グラムがデータ転記処理部に出すと、プログラム言語の
構造体データを、個々の項目に対して上述のように設定
された方法で、構造化文書に転記する。
【0013】アプリケーションプログラムは、かかるデ
ータ転記処理部とやり取りするだけで、構造化文書のデ
ータを扱うことが可能になる。尚、企業間システムにお
けるデータ構造を変換するプログラムにであって、前述
の企業間で共通に用いる構造化文書のデータ構造を定め
ておき、前述のプログラムは、前述の企業間で用いる構
造化文書のデータ構造を定義した情報と、企業内で用い
るプログラム言語の構造体の定義情報と、前述の企業間
で用いる構造化文書のデータ構造と前記企業内で用いる
プログラム言語の構造体との対応情報とを取得し、前述
の取得した情報に基づいて、前述のプログラム言語の構
造体の状態を格納しておくフラグ構造体と前述のフラグ
構造体に対応するプログラム言語の構造体を作成し、前
述の作成したフラグ構造体と前述のフラグ構造体に対応
するプログラム言語の構造体とを用いることでデータ構
造を変換することを可能とする。
【0014】
【発明の実施の形態】以下、本発明の実施の形態を詳細
に説明する。図1は、本発明における構造化文書を扱う
アプリケーションプログラムの論理的なシステム構成を
示すものである。図2は、図1のシステム構成のうちデ
ータ転記処理部5の一部として、定義情報解析に基づい
てあらかじめ構造化文書アクセスルーチン群503を生
成する部分を示すものである。図3は、図2で生成した
構造化文書アクセスルーチン群503をアプリケーショ
ンプログラムから呼び出す方法で図1のシステム構成を
実施する形態を示すものである。図4は、構造化文書の
構造定義情報としてXMLの文書型を宣言するDTD
(Document Type Definitio
n)の例である。図5は、図4の文書構造定義情報と、
その定義に従った構造化文書本体の例である。図6は、
図4の文書構造定義情報に対応したプログラム言語の構
造体定義502の例である。図7は、図6に示す構造体
に図5に示す構造化文書本体のデータを転記した場合の
データ設定状態を示すものである。図8は、図4の文書
構造定義情報に対応したプログラム言語の構造体定義5
02のもう一つの例である。図9は、構造化文書アクセ
スルーチン群503の機能構成を示すものである。図1
0は、構造化文書の文書構造定義情報1に省略可能要素
や繰り返し要素がある場合に、省略の有無や繰り返し数
を保持する構造体の例である。図11は、文書構造定義
情報1の要素に属性が付く場合、属性値を要素の内容と
共に保持する構造体の例である。図12は、図1のアプ
リケーションプログラム4が、データ転記処理部5を使
って構造化文書6を読み込む処理方法のフローチャート
である。
【0015】図1のデータ転記システムの構成におい
て、データ転記処理部5は、構造化文書の文書構造定義
情報1、プログラム言語の構造体定義情報2、及び、文
書構造定義と構造体定義との対応情報3を取得し、アプ
リケーションプログラム4で使用する構造体と構造化文
書6との間のデータ転記処理方法を確立する。アプリケ
ーションプログラム4は、データ転記処理部5を適宜呼
び出すことで構造化文書6を読み書きするというデータ
転記方法を用いる。データ転記処理部5は、明示的な呼
び出し構文によって呼び出すのではなく、プログラム言
語に備わった入出力用の構文の実行で呼び出すように実
施しても良い。
【0016】データ転記処理部5は、アプリレーション
プログラム4の実行時に、構造化文書の文書構造定義情
報1、プログラム言語の構造体定義情報2、及び、文書
構造定義と構造体定義との対応情報3を取得する方法で
実施しても良いし、アプリレーションプログラム4の実
行前に、これら情報を取得して確立したデータ転記方法
に従うルーチンを生成しておき、アプリレーションプロ
グラム4が生成されたルーチンを使う方法で実施しても
よい。図2以降は、データ転記方法の確立を、アプリケ
ーションプログラムの実行の前の段階であらかじめ行う
方法で本発明を実施する形態を説明する。
【0017】図2において、定義情報解析部501は、
構造化文書の文書構造定義情報1、プログラム言語の構
造体定義情報2、及び、文書構造定義と構造体定義との
対応情報3を入力する。ここで、構造化文書の構造定義
1は、例えば、XML文書であればDTDである。プロ
グラム言語の構造体定義情報2は、ソースプログラムの
構造体変数宣言部分、ソフトウェア開発の上流ツールに
あるリポジトリ情報、又は、変数宣言部分を翻訳したコ
ンパイラの中間情報等を使用する。文書構造定義と構造
体定義との対応情報3は、構造化文書の各要素からプロ
グラム言語の構造体の各項目への対応を、繰り返し要
素、選択可能要素、省略可能要素等を含めて表現する。
さらに、構造化文書に繰り返し要素数の最大値の定めの
無い場合、最大繰り返し数を指定する。また、構造化文
書に文字列長の最大値の定めの無い場合、要素の最大長
も指定する。
【0018】次に、定義情報解析部501は、文書構造
定義と構造体定義との対応付け機能5011によって両
者を対応付ける。さらに、構造体定義生成機能5012
によって、プログラム言語の構造体定義502を生成す
る。ここで、プログラム言語の構造体定義情報2がソー
スプログラムの構造体変数宣言部分である場合は、プロ
グラム言語の構造体定義502と同一であり、構造体定
義生成機能5012は不要である。また、プログラム言
語の構造体定義情報2から、ツール等でプログラム言語
の構造体定義502相当が生成される場合も構造体定義
生成機能5012は不要である。
【0019】定義情報解析部501は、次に、データ転
記処理生成機能5013によって、構造化文書のアクセ
スルーチン群503を生成する。ここで、構造化文書の
アクセスルーチン群503は、文書構造定義と構造体定
義との対応情報3に従って、データを転記するためのル
ーチン群であり、更に、プログラム言語の構造体定義情
報2に従って、文字列から数値への変換等のデータ型変
換も行う。
【0020】文書構造定義と構造体定義との対応情報3
は、構造化文書の文書構造定義情報1と一緒に持たせる
ことも、プログラム言語の構造体定義情報2と一緒に持
たせることもできる。
【0021】構造化文書の文書構造定義情報1に定義さ
れる文書構造のすべて、又は、ある要素部分の構造のす
べてを、その木構造を変えずにプログラム言語の構造体
に対応させる場合、構造化文書の木構造からプログラム
言語の構造体の構造を一意に決められるため、木構造の
形に関する対応情報は必要ない。したがって、文書構造
定義と構造体定義との対応情報3に構造化文書の各要素
に対応する型情報を持たせれば、プログラム言語の構造
体定義情報2は不要である。
【0022】これとは反対に、プログラム言語の構造体
定義情報2に定義されるデータ項目のすべて、又は、構
造体の一部分の構造のすべてを、その構造を変えずに構
造化文書に対応させる場合、プログラム言語の構造体の
構造から構造化文書の木構造を一意に決められるため、
構造化文書の文書構造定義情報1は不要である。この場
合、定義情報解析部501の構造体定義生成機能501
2は、文書構造定義情報を生成する機能に置き換えるこ
とで、構造化文書の文書構造定義情報1を生成すること
ができる。
【0023】図3において、アプリケーションプログラ
ム4は、図2の定義情報解析部501で生成された構造
化文書のアクセスルーチン群503を適宜呼び出すこと
で構造化文書6を読み書きする。このとき、アプリケー
ションプログラム4は、図2の定義情報解析部501で
生成されたプログラム言語の構造体定義502を取り込
んで、読み書きのデータのやり取りに使用する。
【0024】図4は、構造化文書の文書構造定義情報1
の例として、XMLのDTDの例を示している。要素o
rderの宣言71では、要素orderは、要素名
が、この文書型の名前と共通であり、文書型のルート要
素を示している。また、要素orderは、その内側
に、一つのaddress要素と一つ以上のitem要
素を、この順に持つことを定義している。addres
s要素は宣言72で、item要素は宣言73で、それ
ぞれ宣言されている。
【0025】アクセスルーチン群503では、アクセス
の単位を、構造化文書6全体にすることもできるし、一
部分にすることもできる。図4で定義される文書型の構
造化文書へのアクセス用にアクセスルーチン群503を
生成する場合、構造化文書6にアクセスする単位とし
て、order要素を選択すれば、orderは文書型
のルート要素なので、アプリケーションプログラム4
は、文書全体を一度にアクセスすることになる。一方、
アクセス単位を、address要素とitem要素に
分割してアクセスルーチン群503を生成すると、アプ
リケーションプログラム4は、まず、address要
素にアクセスし、次にitem要素に1度以上繰り返し
てアクセスすることで、構造化文書6全体をアクセスす
ることができる。アクセス単位の指定は、プログラム言
語の構造体定義情報2、又は、文書構造定義と構造体定
義との対応情報3で行う。
【0026】図5では、図4のDTDに従ったXML文
書本体の例を図4のDTDと共に示している。アクセス
ルーチン群503のアクセス単位を宣言71で宣言され
るorder要素とする場合は、構造化文書本体(71
0)を一度にアクセスする。また、アクセスルーチン群
503のアクセス単位を宣言72で宣言されるaddr
ess要素と宣言73で宣言されるitem要素に分割
する場合、XML文書のaddress要素(720)
へのアクセスと、XML文書のitem要素(731、
732)への、2回のアクセスで、文書全体をアクセス
する。
【0027】図6は、プログラム言語の構造体定義50
2の例であり、図4に示すDTDに対応して、宣言71
で宣言されるorder要素をアクセス単位として生成
されるプログラム言語COBOLの構造体定義(502
1)を示す。ここでは、図4で宣言される要素名ord
er、address、item、itemname、
price、及び、quantityに、図6に示すC
OBOLのデータ項目名ORDER、ADDRESS、
ITEM、ITEMNAME、PRICE、及び、QU
ANTITYをそれぞれ対応させている。データ項目A
DDRESSは20文字の英数字項目に、データ項目I
TEMNAMEは15文字の英数字項目に、データ項目
PRICE及びQUANTITYは十進数9けたの数字
項目に、そして、データ項目ITEMの繰り返し数は2
回に、それぞれ宣言している。このように、図2におい
て、構造化文書の文書定義情報1に指定されないが、プ
ログラム言語の構造体定義502では必要になる長さ情
報、型情報、及び、繰り返し項目の最大繰り返し数等の
情報は、プログラム言語の構造体定義情報2、又は、文
書構造定義と構造体定義との対応情報3に設定してお
く。
【0028】図7は、図5に示す構造化文書本体(71
0)の各要素のデータを、図6に示すプログラム言語C
OBOLの構造体定義(5021)の各データ項目に転
記した場合のデータの設定状態(5022)を示す。図
7の各データ項目名は図6の同名のデータ項目名に対応
する。図5のitem要素の2回の繰り返し(731、
732)に対して、データ項目ITEMが2回繰り返さ
れ、それぞれに対応する要素データが設定されている。
【0029】図8は、プログラム言語の構造体定義50
2のもう一つの例として、図4のDTDに対応して2つ
の構造体定義が含まれる例を示す。一つは宣言72で宣
言されるaddress要素をアクセス単位として生成
されるCOBOLの構造体定義(5023)であり(た
だし、address要素は末端の要素で内側に構造を
持たないため、COBOLの定義もここでは構造を持た
ない基本型のデータ項目になっている)、もう一つは、
宣言73で宣言されるitem要素をアクセス単位とし
て生成されるCOBOLの構造体定義(5024)であ
る。ここでは、図5で宣言される要素名addres
s、item、itemname、price、及び、
quantityに、図8に示すデータ項目名ADDR
ESS、ITEM、ITEMNAME、PRICE、及
び、QUANTITYをそれぞれ対応させている。図6
の構造体定義(5021)とは異なり、item要素の
繰り返しは指定しない。その代わりに、アプリケーショ
ンプログラム4の中でitem要素のアクセスを繰り返
すことで複数のitem要素にアクセスする。
【0030】図9において、構造化文書アクセスルーチ
ン群503は、初期化処理機能5031、構造化文書ア
クセス単位の読み書き機能5032、構造化文書内位置
付け機能5035、及び、終了処理機能5036からな
る。構造化文書アクセス単位の読み書き機能5032
は、構造化文書から構造体への読み込み機能5033と
構造体から構造化文書への書き出し機能5034からな
る。
【0031】構造化文書アクセス単位の読み書き機能5
032は、アクセス単位毎に一つ生成される。したがっ
て、一つの文書型に複数のアクセス単位を設定する場合
は、複数の構造化文書アクセス単位の読み書き機能50
32が生成される。構造化文書アクセス単位の読み書き
機能5032を実装するルーチンの入り口点は、アクセ
ス単位に一そろいずつ生成しても良いし、一そろいだけ
生成して、呼び出し時に引数やその他の方法で与えられ
る情報によってアクセス単位を選択しても良い。
【0032】初期化処理機能5031は、構造化文書6
を読み込む場合には、まず、指定された場所(ファイル
名や主記憶装置の番地)に格納されている構造化文書を
すべて読み込み、構造化文書の構造を、主記憶装置内で
木構造のデータ構造に展開する。構造化文書6を書き出
す場合には、指定された書き出し場所(ファイル名や主
記憶装置の番地)を確保又は登録する。読み込みの場合
も書き出しの場合も、構造化文書の格納場所にファイル
を指定するなら、ファイルを先にオープンしておく。構
造化文書6に対して読み込みと書き出しを行う場合に
は、上述の読み込み用の初期化、及び、書き出し用の初
期化を行う。
【0033】構造化文書アクセス単位の読み書き機能5
032は、状態として、アクセス対象の構造化文書内の
現在位置を保持する。初期状態は、構造化文書の先頭で
ある。
【0034】構造化文書から構造体への読み込み機能5
033は、主記憶装置内で木構造に展開した構造化文書
から、アクセス単位分の要素データを与えられた構造体
の対応するデータ項目に読み込むことでデータ転記を実
現する。実施の形態として、現在位置から読み込む方法
と、対応するアクセス単位を、現在位置から構造化文書
の前又は後ろ方向に検索し、見つかったアクセス単位を
読み込む方法がある。ここで、読み込んだ要素の終了位
置を、現在位置情報として保持する。次に、構造化文書
から構造体への読み込み機能5033のいずれかが呼ば
れたときには、現在位置から先にあるアクセス単位を探
して、与えられた構造体に読み込む。構造化文書から構
造体への読み込み機能5033が呼ばれたとき、対応す
るアクセス単位が構造化文書内に無ければ、エラーコー
ドを返却することで、アプリケーションプログラム4に
次の操作を選択する機会を与える。
【0035】構造体から構造化文書への書き出し機能5
034は、引数やその他の方法で渡される構造体データ
を、呼び出されるたびに直接構造化文書の文字列として
書き出すことでデータ転記を実現する。実施の形態とし
て、現在位置から書き出す方法と、対応するアクセス単
位が存在可能な位置を、構造化文書の現在位置から後ろ
方向に検索し、見つかった位置にアクセス単位を書き出
す方法がある。構造体から構造化文書への書き出し機能
5034は、与えられたアクセス単位の構造体に格納さ
れたデータを次のように処理することで構造化文書の文
字列を生成する。データ項目は構造体型又は基本型のど
ちらかであり、構造体型は、内部にデータ項目(構造体
型又は基本型)を一つ以上持つという構造になってい
る。まず、データ項目が基本型であれば、型に従ってデ
ータ値を表す文字列に変換し、構造体の文書構造定義と
構造体定義との対応情報3で指定された要素の開始タグ
と終了タグで、変換後の文字列を囲む。それが構造体型
であれば、その構造体が含むデータ項目をすべて開始タ
グと終了タグで囲んでから、それら全体を、構造体の文
書構造定義と構造体定義との対応情報3で指定された要
素の開始タグと終了タグで囲む。なお、構造体から構造
化文書への書き出し機能5034には、引数やその他の
方法で呼び出し時に情報を与えることで選択可能なオプ
ションとして、データ値を表す文字列の前、又は、後ろ
の余分な空白を削除する機能を入れることができる。
【0036】上述の手順だけでは、図8のように構造化
文書のアクセス単位を分割した場合に、構造体5023
を書き出しても構造体5024を書き出しても、全体を
囲んでいるorder要素の開始タグと終了タグを付与
しない。最外側の開始タグ及び終了タグ書き出しでなく
とも、二つの部分的アクセス単位の書き出しの間でも、
同様にタグを付与しない場合がある。そこで、構造体か
ら構造化文書への書き出し機能5034には、部分的な
アクセス単位を書き出すときに、その前に出現していな
ければならない開始タグ及び終了タグを自動的に付与す
る機能を持たせる。また、終了処理機能5036には、
構造化文書6が終了する前に閉じていなければならない
タグを付与する機能を持たせる。
【0037】構造体から構造化文書への書き出し機能5
034のもう一つの実施形態として、各呼び出しでは、
引数やその他の方法で渡される構造体データを構造化文
書の部分的な木構造表現に変換し、主記憶装置内で木構
造表現にした構造化文書に付加していき、終了処理機能
5036が呼ばれるときに、木構造表現全体から文字列
表現の構造化文書を生成する実施形態がある。この実施
形態でも、現在位置から書き出す方法と、対応するアク
セス単位が存在可能な位置を、構造化文書の現在位置か
ら前又は後ろ方向に検索し、見つかった位置にアクセス
単位を書き出す方法がある。例えばXML文書の場合、
ドキュメント・オブジェクト・モデル形式の木構造を作
成し、終了処理機能5036は、現在のドキュメント・
オブジェクト・モデル形式木構造に基づいて、文字列の
XML文書を生成する。この実施形態では、アプリケー
ションプログラム4は、構造化文書6の中で変更しない
部分をアクセス単位にする必要が無いため、既存の構造
化文書の一部分だけを修正するアプリケーションに向い
ている。
【0038】構造化文書内位置付け機能5035は、構
造化文書内の位置を表す情報を受け取り、その位置に新
たに現在位置を設定する。構造化文書内の位置を表す方
法については、XMLであれば、XML Path L
anguage(http://www.w3.org
/TR/1999/REC−xpath−199911
16)を用いることができる。
【0039】終了処理機能5036は、ファイルのクロ
ーズ処理、メモリの解放処理、閉じていないタグの付与
処理等を行う。また、構造体から構造化文書への書き出
し機能5034が主記憶装置内に木構造表現で構築した
構造化文書を、終了処理機能5036が文字列表現の構
造化文書を生成する実施形態の場合は、この生成処理も
行う。
【0040】図10において、XMLの部分的なDTD
(81)は、要素Aの内側に、要素B1又はB2が存在
し、その次に要素Cが存在しても良いが省略可能で、最
後に要素Dが一つ以上繰り返すという構造を定義してい
る。また、要素B1、B2、C、及び、Dは、それぞれ
文字列データと定義している。COBOLの部分的な構
造体(82)は、部分的なDTD(81)に対応する構
造体の例であり、データ項目A、B1、B2、C、及
び、Dは、それぞれ要素A、B1、B2、C、及び、D
に対応する。データ項目B1、B2、C、及び、Dは、
長さ20文字の英数字項目に、データ項目Dの繰り返し
数は10回に、それぞれ固定値で定義し、これらのデー
タ項目を含む構造体としてデータ項目Aを定義してい
る。ここで、選択要素である要素B1と要素B2のそれ
ぞれに独立したデータ項目を与えているが、データ項目
B2をデータ項目B1の再定義項目としてデータ領域を
共用させても良い。
【0041】構造化文書のアクセス単位を要素Aとする
場合、上述の方法だけでは、構造化文書の読み込み時、
要素B1又はB2のどちらが存在したか、要素Cは存在
したかどうか、そして、要素Dの出現回数はいくつであ
ったか、それぞれアプリケーションプログラムでは確認
できない。また、書き出し時には、要素B1又はB2の
どちらを書き出すのか、要素Cは書き出すのか書き出さ
ないのか、要素Dは何回書き出したら良いのかをアプリ
ケーションプログラムから指定できない。そこで、図2
の構造体定義生成機能5012に、要素の存在の有無、
及び、出現回数を納めるフラグ構造体も、プログラム言
語の構造体定義502の一部として生成する機能を加え
る。また、構造化文書から構造体への読み込み機能50
33には、フラグ構造体に値を設定する機能を追加し、
構造体から構造化文書への書き出し機能5034には、
フラグ構造体に設定された値に従ってアクセス単位の構
造化文書を書き出す機能を追加する。(なお、フラグ構
造体とは、構造体の状態を保持するものである。たとえ
ば、データの有無や、データの長さ、データの型、デー
タの出現回数などである。詳しくは以下で図10の(8
3)を用いて説明する。)COBOLの部分的な構造体
(83)は、部分的なDTD(81)及びCOBOLの
部分的な構造体(82)に対応するフラグ構造体の例で
ある。要素B1、B2、及び、Cに対応して、データ項
目B1、B2、及び、Cが一文字のデータ値を持ち、要
素の存在の有無を表現する。また、要素Dに対応して、
データ項目Dが十進数9けたのデータ値を持ち、繰り返
し要素の出現回数を表現する。
【0042】フラグ構造体は、構造化文書の要素データ
に対応する構造体データ項目上の開始位置と長さの情報
を表現する目的でも使用できる。構造化文書から構造体
への読み込み機能5033が、構造化文書の要素データ
の文字列を構造体の固定長データ項目に転記すると、な
んらかの埋め草文字をデータの前又は後ろに挿入する。
このままでは、アプリケーションプログラム4からは、
そもそも構造化文書上でデータであった部分と埋め草と
して埋め込まれた文字との区別がつかない。データ項目
に対応して、実際に読み込んだデータを格納した開始位
置と長さの情報を、フラグ構造体に持たせることで、ア
プリケーションプログラム4は、実際に読み込まれたデ
ータ部分を認識できる。また、構造体から構造化文書へ
の書き出し機能5034が、構造体のデータ項目に格納
された文字列データを構造化文書の要素に転記すると
き、対応するフラグ構造体に格納された開始位置と長さ
情報に従って部分的に転記することで、アプリケーショ
ンプログラム4は、転記するデータ部分を制御できる。
【0043】さらに、フラグ構造体は、構造化文書のデ
ータが、構造体として用意しているデータ領域に収まり
切らない状態を表現する目的でも使用できる。構造化文
書から構造体への読み込み機能5033が構造化文書を
読み込むとき、要素データ長や要素の繰り返し数が、対
応する構造体側で固定に定義しているデータの長さや繰
り返し数を超えているとき、あふれる分のデータは転記
できない。繰り返し数がデータ構造で用意した数を超え
たことを表すフラグ、及び、長さがデータ構造で用意し
た数を超えたことを表すフラグを、フラグ構造体に付加
し、さらに、実際のデータの繰り返し数情報データ項
目、及び、実際のデータの長さ情報データ項目を付加
し、構造化文書から構造体への読み込み機能5033が
これらの情報を設定することで、アプリケーションプロ
グラム4は、読み込みエラー状態を認識できると共に、
エラーに対処する処理を実行することができる。
【0044】なお、フラグ構造体を使用せずに、構造体
に含まれる各基本型データ項目に省略時に設定するそれ
ぞれの値をあらかじめ文書構造定義と構造体定義との対
応情報3で指定しておき、これを構造化文書アクセス単
位の読み書き機能5032が利用することで、要素の存
在の有無を表現する実施の形態もある。構造化文書から
構造体への読み込み機能5033は、構造化文書6の内
容データを構造体読み込むと共に、選択されなかった選
択可能要素、及び、存在しなかった省略可能要素に対応
するデータ項目に、並びに、繰り返し可能要素の構造化
文書内での実際の繰り返し数が、構造体で用意していた
繰り返し数より少ないとき、データが読み込まれなかっ
たデータ項目に、省略時設定値を設定する。反対に、構
造体から構造化文書の書き出し機能5034は、省略時
設定値が設定されているデータ項目の対応する要素を書
き出さない。アプリケーションプログラム4は、読み込
みのとき、省略時設定値が設定されたデータ項目に対応
する要素が構造化文書6に存在しなかったことを認識で
き、書き出しのとき、データ項目にあらかじめ省略時設
定値を設定しておくことで、書き出さない要素を指定で
きる。
【0045】この実施の形態では、フラグ構造体を用い
る実施形態に比較して、機能的にいくつかの制限があ
る。基本型のデータ項目でなく構造体型の項目レベルで
の要素の省略を表現できないし、省略時設定値を意味の
あるデータから除外する必要がある。また、構造化文書
内の繰り返し数が構造体で用意した数を超えたことを表
現する手段を別に用意する必要がある。選択可能要素に
対応して用意するデータ項目は領域を共用せずに、それ
ぞれに独立したデータ項目として用意し、それぞれの省
略時設定値を判断できるようにする必要がある。しかし
ながら、本来のデータを扱う構造体とは別の構造体を用
意する必要が無いので、データの扱いは単純になる。
【0046】図11において、部分的なDTD(91)
には、要素roomと、要素roomに付属する属性s
mokingが定義されている。部分的なXML文書
(92)は、部分的なDTD(91)に従ったXML文
書の例であり、要素roomの内容データには030
8、属性smokingには"no"が設定されている。
開始タグと終了タグで囲まる要素の内容データと共に、
要素の属性値をプログラム言語の構造体で扱うには、構
造化文書の要素に対応して、構造体の中に、属性値用の
データ項目と要素の内容用のデータ項目を持つ構造体を
定義する。部分的なCOBOLの構造体定義(93)
は、部分的なDTD(91)に対して、属性値と要素内
容の両方を表現させたCOBOLの構造体の例である。
要素roomの値は、COBOLでは、構造体ROOM
の中のデータ項目VALに対応付けられ、要素room
の属性smokingの値は、COBOLでは、構造体
ROOMの中の構造体ATTLISTの中のデータ項目
SMOKINGに対応付けられている。
【0047】構造化文書の文書構造定義情報1に属性情
報が含まれる場合、プログラム言語の構造体定義情報2
に、属性情報を格納するデータ項目を定義すると共に、
文書構造定義と構造体定義との対応情報3で、両者の対
応を指定する。さらに、データ転記処理部生成機能50
13では、属性情報の転記処理を含めた構造化文書のア
クセスルーチン群503を生成する。
【0048】図12は、アプリケーションプログラム4
が、構造化文書6を読み込む処理のフローチャートであ
る。構造化文書のアクセスルーチン群503があらかじ
め生成されており、これらのルーチンを呼び出すこと
で、構造化文書6を読み込む。まず、初期化処理機能5
031を呼び、構造化文書の格納されたファイルのオー
プン処理や構造化文書の主記憶装置内での木構造への展
開等の必要な初期化処理を行う(ステップ41)。次
に、構造化文書から構造体への読み込み機能5033を
呼び、この時、対応する構造体を引数やその他の方法で
渡し、定義情報解析部501に対してあらかじめ設定し
たアクセス単位分の構造化文書データを構造体に取得す
る(ステップ42)。次に、アクセス単位の繰り返しが
終わったかどうかを、構造化文書から構造体への読み込
み機能5033の結果で判断し(ステップ43)、繰り
返しが続く場合はステップ42に戻り、終了している場
合はステップ44に行ってこの処理を終了する。構造化
文書6の全体を一度に読み込む場合は、ステップ43の
判断による繰り返し処理は不要である。構造化文書6を
書き出す場合は、ステップ42で、構造化文書から構造
体への読み込み機能5033の代わりに構造体から構造
化文書への書き出し機能5034を呼べば良い。このよ
うに構造化文書のアクセス処理は単純化される。
【0049】以上述べたように、本発明によれば、構造
化文書のアクセスルーチン群を呼ぶだけで、構造化文書
とプログラム言語の構造体との間で内容データを一度に
転記できるため、構造化文書の内容のアクセスに、動的
にデータ構造を構築したり、そのデータ構造を渡り歩く
ためにポインタ操作をしたり、状態管理しながらイベン
ト処理のコール・バックルーチンを駆使したりする必要
がなくなる。そのため、プログラミングの負担を減らす
ことができると共に、プログラム不良を作り込む機会を
少なくすることができる。また、特に、COBOL等の
ポインタの概念を持たない言語でも、構造化文書の処理
が可能になる。
【0050】図13を用いて本発明の他の実施例を説明
する。ここで、ネットワークを介して接続されている企
業システムA(1300)、企業システムB(1302)、企業シス
テムC(1304)の間で顧客データをやり取りする場合を示
す。
【0051】予め、各企業間でデータを交換する場合の
データ構造(1306)を定めておくものとする。各企業内で
は、各企業固有のアプリケーションおよびデータ構造を
用いるものとする。たとえば、企業システムAで用いる
データの構造体は(1301)であり、A社内でのデータ構造
(1306)と各社共通のデータ構造(1306)とのデータ構造を
変換するためのプログラム(1307)をA社の企業システム
が有しているものとする。尚、図示していないが、各企
業システムには、業務に必要なハードウエア・ソフトウ
エアを有しているものとする。企業システムBも同様
に、B社内で用いるデータ構造(1303)と各社共通で用い
るデータ構造(1306)とを変換するためのプログラム(130
8)を有しているものとする。企業システムCも同様に、
C社内で用いるデータ構造(1305)と各社居通で用いるデ
ータ構造(1306)とを変換するためのプログラム(1309)を
有しているものとする。
【0052】各社のシステムが有するデータ変換プログ
ラム(1307,1308,1309)は、本発明の図3で示した構成で
も良いし、他のものでも良い。尚、データ変換プログラ
ム(1307,1308,1309)は、アプリケーションプログラム
(4)と、プログラム言語の構造体定義(502)と、構造化文
書のアクセスルーチン群(503)とを含む一つのプログラ
ムとして図示したが、この構成以外で本発明を実施して
も良い。
【0053】上述のように、予め企業間で送受信する構
造化文書のデータ構造を定めておき、各企業内で用いる
データ構造との変換プログラムを各企業システムで有す
ることにより、企業間でデータ交換を行う際に、各企業
内システムで従来より用いていたデータ構造を変更する
ことなく、他企業システムとのデータ交換を可能とす
る。企業内システムにおいては、従来から用いているデ
ータ構造に変更を及ぼさずにすむため、企業内の従来か
ら用いているアプリケーションの変更やデータベース管
理にかかる手間が省け、システム変更・構築にかける労
力・時間を軽減できる。また、新たなデータ構造でデー
タを交換することになっても、従来からのデータ資源・
ソフトウエア資源に及ぼす影響を少なくすることができ
る。
【0054】たとえば、各企業内システムにおいてはC
OBOLのアプリケーションを用いており、各企業内で
は別々のデータ構造でデータを管理しており、企業間で
送受信するデータ構造をXMLなどの構造化文書で定
め、上述したプログラムを用いて本発明を適用すること
も可能である。
【0055】図14を用いて本発明の他の実施例を説明
する。集計センタ(1400)、A支店システム(1403)、B支
店システム(1404)各々がネットワークで接続されている
ものとする。
【0056】集計センタにおいては、集計センタ内で用
いるデータ構造(1401)を用いて、各支店から送信された
データを処理するものとする。また、集計センタにおい
ては、集計センタ内で用いるデータ構造(1401)でデータ
の処理を行うものとする。
【0057】A支店システムにおいては、顧客からの注
文データをメールプログラムもしくはWebブラウザ等
を経由して顧客端末(1405)、携帯電話(1406)などでうけ
つけ、A支店システム内で処理するものとする。たとえ
ば、A支店システムでは、ポインタを使ってデータを管
理しているものとする。
【0058】B支店システムにおいては、B支店業務ク
ライアントプログラムからの要求をB支店業務サーバプ
ログラムで処理し、配列型のデータ構造でデータを管理
しているものとする。
【0059】集計センタで、A支店、B支店その他各支
店のデータを集計するため、各支店−集計センタ間で用
いるデータ構造(1402)を定めておき、各支店は集計セン
タとの送受信に用いるデータ構造(1402)に基づいてデー
タを送受信し、集計センタはデータ変換プログラム(140
7)を用いて、各支店から受信したデータ構造(1402)を、
センタ内で用いるデータ構造(1401)へ変換してデータ
集計処理を行う。
【0060】このように本発明を適用することで、集計
センタ内で従来より用いられていたデータ構造を変更す
ることなく、各支店からのデータの処理を行うことがで
きるため、センタ内でのアプリケーションの変更に掛か
る時間・労力などが軽減できる。
【0061】たとえば、集計センタ内で従来からCOB
OLのアプリケーションを用いており、集計センタ−支
店間でのデータ交換をXMLなどの構造化文書を用いる
場合などに本発明を適用することも可能である。
【0062】
【発明の効果】以上述べたように、本発明によれば、構
造化文書とプログラム言語の構造体との間で内容データ
を転記できるためプログラム作成の負担を減らすことが
できる。
【図面の簡単な説明】
【図1】本発明における構造化文書を扱うアプリケーシ
ョンプログラムの論理的なシステム構成のブロック図で
ある。
【図2】図1のシステム構成のうち、データ転記処理部
5の一部として、定義情報解析に基づいてあらかじめ構
造化文書アクセスルーチン群503を生成する部分を示
すブロック図である。
【図3】図2で生成した構造化文書アクセスルーチン群
503をアプリケーションプログラムから呼び出す方法
で図1のシステム構成を実施する形態を示す。
【図4】構造化文書の構造定義情報としてXMLの文書
型を宣言するDTD(Document Type D
efinition)の例である。
【図5】図4の文書構造定義情報と、その定義に従った
構造化文書本体の例である。
【図6】図4の文書構造定義情報の全体にマッピングし
たプログラム言語の構造体定義502の例である。
【図7】図6に示す構造体に図5に示す構造化文書本体
のデータを転記した場合のデータ設定状態を示す。
【図8】図4の文書構造定義情報に対して2つに分割し
てマッピングしたプログラム言語の構造体定義502の
例である。
【図9】構造化文書アクセスルーチン群503の機能構
成を表すブロック図である。
【図10】構造化文書の文書構造定義情報1に省略可能
要素や繰り返し要素がある場合に、省略の有無や繰り返
し数の情報を保持する構造体の例である。
【図11】文書構造定義情報1の要素に属性が付く場
合、属性値を要素の内容と共に保持する構造体の例であ
る。
【図12】図1のアプリケーションプログラム4が、デ
ータ転記処理部5を使って構造化文書6を読み込む処理
方法のフローチャートである。
【図13】本発明を企業間システムに適用した例であ
る。
【図14】本発明を支店−集計センタにおけるシステム
に適用した例である。
【符号の説明】
1 構造化文書の文書構造定義情報 2 プログラム言語の構造体定義情報 3 文書構造定義と構造体定義との対応情報 4 アプリケーションプログラム 5 データ転記処理部 6 構造化文書

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】構造化文書のデータ構造からプログラム言
    語のデータ構造へデータを転記するプログラムであっ
    て、 前記プログラムは、構造化文書の構造を定義した情報
    と、プログラム言語の構造体の定義情報と、構造化文書
    の構造とプログラム言語の構造体との対応情報とを取得
    し、 前記取得した情報に基づいて、前記プログラム言語の構
    造体の状態を格納しておくフラグ構造体と前記フラグ構
    造体に対応するプログラム言語の構造体を作成し、 前記作成したフラグ構造体と前記フラグ構造体に対応す
    るプログラム言語の構造体とを用いて、構造化文書のデ
    ータ構造からプログラム言語のデータ構造へデータを転
    記することを特徴とするデータ転記プログラム。
  2. 【請求項2】プログラム言語のデータ構造から構造化文
    書のデータ構造へデータを転記するプログラムであっ
    て、 前記プログラムは、構造化文書の構造を定義した情報
    と、プログラム言語の構造体の定義情報と、構造化文書
    の構造とプログラム言語の構造体との対応情報とを取得
    し、 前記取得した情報に基づいて、前記プログラム言語の構
    造体の状態を格納しておくフラグ構造体と前記フラグ構
    造体に対応するプログラム言語の構造体を作成し、 前記作成したフラグ構造体と前記フラグ構造体に対応す
    るプログラム言語の構造体とを用いて、プログラム言語
    のデータ構造から構造化文書のデータ構造へデータを転
    記することを特徴とするデータ転記プログラム。
  3. 【請求項3】前記フラグ構造体とは、前記プログラム言
    語の構造体に含まれるデータの有無、データの出現回
    数、データの型、データの長さを有することを特徴とす
    る請求項3記載のデータ転記プログラム。
  4. 【請求項4】企業間システムにおけるデータ構造を変換
    するプログラムであって、 前記企業間で共通に用いる構造化文書のデータ構造を定
    めておき、 前記プログラムは、前記企業間で用いる構造化文書のデ
    ータ構造を定義した情報と、企業内で用いるプログラム
    言語の構造体の定義情報と、前記企業間で用いる構造化
    文書のデータ構造と前記企業内で用いるプログラム言語
    の構造体との対応情報とを取得し、 前記取得した情報に基づいて、前記プログラム言語の構
    造体の状態を格納しておくフラグ構造体と前記フラグ構
    造体に対応するプログラム言語の構造体を作成し、 前記作成したフラグ構造体と前記フラグ構造体に対応す
    るプログラム言語の構造体とを用いることを特徴とす
    る、データ構造を変換するプログラム。
  5. 【請求項5】計算機で用いる構造化文書のデータ構造か
    らプログラム言語のデータ構造へデータを転記する方法
    であって、 前記計算機は、構造化文書の構造を定義した情報と、プ
    ログラム言語の構造体の定義情報と、構造化文書の構造
    とプログラム言語の構造体との対応情報とを取得し、 前記取得した情報に基づいて、前記プログラム言語の構
    造体の状態を格納しておくフラグ構造体と前記フラグ構
    造体に対応するプログラム言語の構造体を作成し、 前記作成したフラグ構造体と前記フラグ構造体に対応す
    るプログラム言語の構造体とを用いて、構造化文書のデ
    ータ構造からプログラム言語のデータ構造へデータを転
    記することを特徴とするデータ転記方法。
JP2001009650A 2001-01-18 2001-01-18 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム Expired - Fee Related JP4099948B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001009650A JP4099948B2 (ja) 2001-01-18 2001-01-18 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム
EP01309672A EP1231547B1 (en) 2001-01-18 2001-11-16 System and method for mapping structured documents to structured data of program language and program for executing its method
US09/988,438 US7111284B2 (en) 2001-01-18 2001-11-20 System and method for mapping structured document to structured data of program language and program for executing its method
US11/509,881 US20060282452A1 (en) 2001-01-18 2006-08-24 System and method for mapping structured document to structured data of program language and program for executing its method
US13/219,275 US20110314456A1 (en) 2001-01-18 2011-08-26 System and Method for Mapping Structured Document to Structured Data of Program Language and Program for Executing Its Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001009650A JP4099948B2 (ja) 2001-01-18 2001-01-18 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008013256A Division JP4918916B2 (ja) 2008-01-24 2008-01-24 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2002215403A true JP2002215403A (ja) 2002-08-02
JP4099948B2 JP4099948B2 (ja) 2008-06-11

Family

ID=18877093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001009650A Expired - Fee Related JP4099948B2 (ja) 2001-01-18 2001-01-18 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム

Country Status (3)

Country Link
US (3) US7111284B2 (ja)
EP (1) EP1231547B1 (ja)
JP (1) JP4099948B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165817A (ja) * 2008-01-24 2008-07-17 Hitachi Ltd 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム
JP2010079511A (ja) * 2008-09-25 2010-04-08 Internatl Business Mach Corp <Ibm> 生成装置、プログラムおよび生成方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2841998B1 (fr) * 2002-07-04 2004-10-22 Canon Kk Procede d'execution sur une station d'un reseau de communication d'un programme informatique represente dans un langage de balisage
US6985910B2 (en) 2003-02-06 2006-01-10 International Business Machines Corporation Tilting tree spinning cones method and system for mapping XML to n-dimensional data structure using a single dimensional mapping array
US7752603B2 (en) * 2003-12-08 2010-07-06 Notable Solutions, Inc. Systems and methods for data interchange among autonomous processing entities
US7707498B2 (en) 2004-09-30 2010-04-27 Microsoft Corporation Specific type content manager in an electronic document
US7945590B2 (en) 2005-01-06 2011-05-17 Microsoft Corporation Programmability for binding data
US7617234B2 (en) * 2005-01-06 2009-11-10 Microsoft Corporation XML schema for binding data
US7730394B2 (en) * 2005-01-06 2010-06-01 Microsoft Corporation Data binding in a word-processing application
US7752224B2 (en) * 2005-02-25 2010-07-06 Microsoft Corporation Programmability for XML data store for documents
US7668873B2 (en) * 2005-02-25 2010-02-23 Microsoft Corporation Data store for software application documents
US7953696B2 (en) 2005-09-09 2011-05-31 Microsoft Corporation Real-time synchronization of XML data between applications
US8656374B2 (en) * 2006-06-16 2014-02-18 Business Objects Software Ltd. Processing cobol data record schemas having disparate formats
JP4982154B2 (ja) * 2006-11-08 2012-07-25 株式会社日立製作所 構造化文書の構文解析方法及び装置
US7890320B2 (en) * 2007-04-17 2011-02-15 Microsoft Corporation Tower of numeric types

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250341A (ja) * 1991-11-11 1993-09-28 Matsushita Electric Ind Co Ltd 並列可能性判定装置、及び並列可能性判定方法、並びにそれを用いたプログラム変換装置
US6988025B2 (en) * 2000-11-28 2006-01-17 Power Measurement Ltd. System and method for implementing XML on an energy management device
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US6009436A (en) * 1997-12-23 1999-12-28 Ricoh Company, Ltd. Method and apparatus for mapping structured information to different structured information
US6085196A (en) 1997-12-23 2000-07-04 Ricoh Company, Ltd. Object-oriented system and computer program product for mapping structured information to different structured information
US6279015B1 (en) 1997-12-23 2001-08-21 Ricoh Company, Ltd. Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
US6507856B1 (en) * 1999-01-05 2003-01-14 International Business Machines Corporation Dynamic business process automation system using XML documents
US6826552B1 (en) * 1999-02-05 2004-11-30 Xfi Corporation Apparatus and methods for a computer aided decision-making system
US6854120B1 (en) * 2000-01-14 2005-02-08 International Business Machines Corporation Accessing a ERP application over the internet using strongly typed declarative language files
US6594823B1 (en) * 2000-09-13 2003-07-15 Microsoft Corporation Method and system for representing a high-level programming language data structure in a mark-up language
WO2002097667A2 (en) * 2001-05-31 2002-12-05 Lixto Software Gmbh Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165817A (ja) * 2008-01-24 2008-07-17 Hitachi Ltd 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム
JP2010079511A (ja) * 2008-09-25 2010-04-08 Internatl Business Mach Corp <Ibm> 生成装置、プログラムおよび生成方法
US9582291B2 (en) 2008-09-25 2017-02-28 International Business Machines Corporation Selecting a mapping that minimizes conversion costs
US11194595B2 (en) 2008-09-25 2021-12-07 International Business Machines Corporation Generation apparatus, program, and generation method

Also Published As

Publication number Publication date
US20060282452A1 (en) 2006-12-14
US20020107867A1 (en) 2002-08-08
US7111284B2 (en) 2006-09-19
JP4099948B2 (ja) 2008-06-11
US20110314456A1 (en) 2011-12-22
EP1231547A2 (en) 2002-08-14
EP1231547B1 (en) 2011-08-24
EP1231547A3 (en) 2005-01-12

Similar Documents

Publication Publication Date Title
US20110314456A1 (en) System and Method for Mapping Structured Document to Structured Data of Program Language and Program for Executing Its Method
US6662342B1 (en) Method, system, and program for providing access to objects in a document
US7694284B2 (en) Shareable, bidirectional mechanism for conversion between object model and XML
AU2002354768B8 (en) Programming language extensions for processing XML objects and related applications
US7624400B2 (en) Type bridges
US8136109B1 (en) Delivery of data and formatting information to allow client-side manipulation
US8959428B2 (en) Method and apparatus for generating an integrated view of multiple databases
US6658624B1 (en) Method and system for processing documents controlled by active documents with embedded instructions
US20150205778A1 (en) Reducing programming complexity in applications interfacing with parsers for data elements represented according to a markup languages
US20070005622A1 (en) Method and apparatus for lazy construction of XML documents
US8397157B2 (en) Context-free grammar
KR20030048423A (ko) Xml 퀴어리 처리 방법 및 장치
US7409636B2 (en) Lightweight application program interface (API) for extensible markup language (XML)
JPH1055269A (ja) 情報処理装置
JP2004178602A (ja) 階層構造化データをインポートし、エクスポートする方法及びコンピュータ可読媒体
US20040122795A1 (en) Method, system, and program for optimizing processing of nested functions
JP2003085166A (ja) Html又はxml型文書用のインタフェースと接続するためのアプリケーション用の内部データ構造
JP4918916B2 (ja) 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム
Späth et al. XML and JSON
KR20030095026A (ko) Xml 문서 변환장치 및 xml 문서 변환 소프트웨어를기록한 컴퓨터가 읽을 수 있는 기록매체
JPH11110391A (ja) 文書管理方法
CN116107588A (zh) 程序语言转化方法、装置、设备、介质和程序产品
JP2023510104A (ja) 階層データ
JP2001344267A (ja) Xml文書問い合わせ言語処理装置
WO2001059662A2 (en) Object oriented system, method and article of manufacture for developing and integrating computer application processes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040913

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080124

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080201

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: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080310

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

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees