JP2008165817A - 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム - Google Patents
構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム Download PDFInfo
- Publication number
- JP2008165817A JP2008165817A JP2008013256A JP2008013256A JP2008165817A JP 2008165817 A JP2008165817 A JP 2008165817A JP 2008013256 A JP2008013256 A JP 2008013256A JP 2008013256 A JP2008013256 A JP 2008013256A JP 2008165817 A JP2008165817 A JP 2008165817A
- Authority
- JP
- Japan
- Prior art keywords
- data
- structured document
- programming language
- elements
- document
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
構造化文書のデータを扱うアプリケーションを作成する場合、従来は、動的に木構造に展開したり、イベントによって呼び出されるコールバック・ルーチンを駆使したりするプログラミングをする必要があったが、処理が複雑であるだけでなく、COBOLのようなポインタの概念の無いプログラム言語では実現が困難であるという問題があった。
【解決手段】
データ転記処理部5を用意し、これに処理対象の構造化文書の文書構造定義情報1、プログラム言語の構造体定義情報2、及び、文書構造定義と構造体定義との対応情報3を与えておく。アプリケーションプログラム4からデータ転記処理部5に読み書きの要求を出すだけで、構造化文書6とプログラム言語の構造体との間で要素毎のデータ転記が実現する。
【選択図】 図1
Description
例えば、ワールド・ワイド・ウェブ・コンソーシアム(World Wide Web Consortium)はドキュメント・オブジェクト・モデル(Document Object Model)を勧告しており(非特許文献1)、主記憶内に木構造として展開したデータ構造に対する各種のデータ操作用インターフェースを定義している。
尚、企業間システムにおけるデータ構造を変換するプログラムにであって、前述の企業間で共通に用いる構造化文書のデータ構造を定めておき、前述のプログラムは、前述の企業間で用いる構造化文書のデータ構造を定義した情報と、企業内で用いるプログラム言語の構造体の定義情報と、前述の企業間で用いる構造化文書のデータ構造と前記企業内で用いるプログラム言語の構造体との対応情報とを取得し、前述の取得した情報に基づいて、前述のプログラム言語の構造体の状態を格納しておくフラグ構造体と前述のフラグ構造体に対応するプログラム言語の構造体を作成し、前述の作成したフラグ構造体と前述のフラグ構造体に対応するプログラム言語の構造体とを用いることでデータ構造を変換することを可能とする。
図1は、本発明における構造化文書を扱うアプリケーションプログラムの論理的なシステム構成を示すものである。図2は、図1のシステム構成のうちデータ転記処理部5の一部として、定義情報解析に基づいてあらかじめ構造化文書アクセスルーチン群503を生成する部分を示すものである。図3は、図2で生成した構造化文書アクセスルーチン群503をアプリケーションプログラムから呼び出す方法で図1のシステム構成を実施する形態を示すものである。図4は、構造化文書の構造定義情報としてXMLの文書型を宣言するDTD(Document Type Definition)の例である。図5は、図4の文書構造定義情報と、その定義に従った構造化文書本体の例である。図6は、図4の文書構造定義情報に対応したプログラム言語の構造体定義502の例である。図7は、図6に示す構造体に図5に示す構造化文書本体のデータを転記した場合のデータ設定状態を示すものである。図8は、図4の文書構造定義情報に対応したプログラム言語の構造体定義502のもう一つの例である。図9は、構造化文書アクセスルーチン群503の機能構成を示すものである。図10は、構造化文書の文書構造定義情報1に省略可能要素や繰り返し要素がある場合に、省略の有無や繰り返し数を保持する構造体の例である。図11は、文書構造定義情報1の要素に属性が付く場合、属性値を要素の内容と共に保持する構造体の例である。図12は、図1のアプリケーションプログラム4が、データ転記処理部5を使って構造化文書6を読み込む処理方法のフローチャートである。
を、この順に持つことを定義している。address要素は宣言72で、item要素は宣言73で、それぞれ宣言されている。
また、アクセスルーチン群503のアクセス単位を宣言72で宣言されるaddress要素と宣言73で宣言されるitem要素に分割する場合、XML文書のaddress要素(720)へのアクセスと、XML文書のitem要素(731、732)への、2回のアクセスで、文書全体をアクセスする。
ここで、読み込んだ要素の終了位置を、現在位置情報として保持する。次に、構造化文書から構造体への読み込み機能5033のいずれかが呼ばれたときには、現在位置から先にあるアクセス単位を探して、与えられた構造体に読み込む。構造化文書から構造体への読み込み機能5033が呼ばれたとき、対応するアクセス単位が構造化文書内に無ければ、エラーコードを返却することで、アプリケーションプログラム4に次の操作を選択する機会を与える。
COBOLの部分的な構造体(83)は、部分的なDTD(81)及びCOBOLの部分的な構造体(82)に対応するフラグ構造体の例である。要素B1、B2、及び、Cに対応して、データ項目B1、B2、及び、Cが一文字のデータ値を持ち、要素の存在の有無を表現する。また、要素Dに対応して、データ項目Dが十進数9けたのデータ値を持ち、繰り返し要素の出現回数を表現する。
このように構造化文書のアクセス処理は単純化される。
ここで、ネットワークを介して接続されている企業システムA(1300)、企業システムB(1302)、企業システムC(1304)の間で顧客データをやり取りする場合を示す。
各企業内では、各企業固有のアプリケーションおよびデータ構造を用いるものとする。
たとえば、企業システムAで用いるデータの構造体は(1301)であり、A社内でのデータ構造(1306)と各社共通のデータ構造(1306)とのデータ構造を変換するためのプログラム(1307)をA社の企業システムが有しているものとする。尚、図示していないが、各企業システムには、業務に必要なハードウエア・ソフトウエアを有しているものとする。
企業システムBも同様に、B社内で用いるデータ構造(1303)と各社共通で用いるデータ構造(1306)とを変換するためのプログラム(1308)を有しているものとする。
企業システムCも同様に、C社内で用いるデータ構造(1305)と各社居通で用いるデータ構造(1306)とを変換するためのプログラム(1309)を有しているものとする。
集計センタ(1400)、A支店システム(1403)、B支店システム(1404)各々がネットワークで接続されているものとする。
A支店システムにおいては、顧客からの注文データをメールプログラムもしくはWebブラウザ等を経由して顧客端末(1405)、携帯電話(1406)などでうけつけ、A支店システム内で処理するものとする。たとえば、A支店システムでは、ポインタを使ってデータを管理しているものとする。
このように本発明を適用することで、集計センタ内で従来より用いられていたデータ構造を変更することなく、各支店からのデータの処理を行うことができるため、センタ内でのアプリケーションの変更に掛かる時間・労力などが軽減できる。
2 プログラム言語の構造体定義情報
3 文書構造定義と構造体定義との対応情報
4 アプリケーションプログラム
5 データ転記処理部
6 構造化文書
Claims (4)
- 省略可能要素、選択可能要素、繰り返し数不定の繰り返し要素、任意の長さのデータをもつ要素を含むデータ構造が定義可能である構造化文書から、省略可能要素、選択可能要素、繰り返し数不定の繰り返し要素、任意の長さのデータをもつ要素を含むデータ構造が定義不可能であるプログラム言語の構造体に、データを読み込むアプリケーションプログラム構築方法において、
構造化文書の構造を定義した情報、及び、構造化文書の構造とプログラム言語の構造体との対応情報を取得し、前記対応情報から プログラム言語の構造体と、前記構造化文書のデータ構造のうち、省略可能要素、選択可能要素、繰り返し数不定の繰り返し要素、及び、任意の長さのデータをもつ要素に対応させる前記プログラム言語のデータ構造の要素に対して、構造化文書データでの要素の有無、選択された要素、要素の繰り返し数、要素のデータ長の情報をそれぞれ格納するフラグ構造体と、構造化文書の構造を定義した情報に従う構造化文書データから前記プログラム言語の構造体に、対応するデータを転記する読み込みルーチンを作成し、
前記読み込みルーチンを呼び出すことで、前記構造化文書のデータを前記構造体に読み込み、構造化文書の要素の有無、選択された要素、要素の繰り返し数、要素のデータ長の情報を前記フラグ構造体に設定する
ことを特徴とする、構造化文書からプログラム言語の構造体へデータを読み込むアプリケーションプログラム構築方法。 - 省略可能要素、選択可能要素、繰り返し数不定の繰り返し要素、任意の長さのデータをもつ要素を含むデータ構造が定義可能である構造化文書へ、省略可能要素、選択可能要素、繰り返し数不定の繰り返し要素、任意の長さのデータをもつ要素を含むデータ構造が定義不可能であるプログラム言語の構造体から、データを書き出すアプリケーションプログラム構築方法において、
構造化文書の構造を定義した情報、及び、構造化文書の構造とプログラム言語の構造体との対応情報を取得し、前記対応情報から プログラム言語の構造体と、前記構造化文書のデータ構造のうち、省略可能要素、選択可能要素、繰り返し数不定の繰り返し要素、及び、任意の長さのデータをもつ要素に対応させる前記プログラム言語のデータ構造の要素に対して、構造化文書データでの要素の有無、選択された要素、要素の繰り返し数、要素のデータ長の情報をそれぞれ格納するフラグ構造体と、構造化文書の構造を定義した情報に従う構造化文書データへ前記プログラム言語の構造体から、対応するデータを転記する書き出しルーチンを作成し、
前記書き出しルーチンを呼び出すことで、前記フラグ構造体に設定されている構造化文書の要素の有無、選択された要素、要素の繰り返し数、要素のデータ長の情報に従って、前記構造化文書へ前記構造体からデータを書き出すことを特徴とする、構造化文書へプログラム言語の構造体のデータを書き出すアプリケーションプログラム構築方法。 - 構造化文書から、プログラム言語の構造体に、データを読み込むアプリケーションプログラム構築方法において、
構造化文書の構造を定義した情報、及び、構造化文書の構造の部分要素に対するプログラム言語の構造体の対応情報を取得し、前記対応情報からプログラム言語の構造体と、 構造化文書の構造を定義した情報に従う構造化文書データの前記部分要素から前記プログラム言語の構造体に、対応するデータを転記する読み込みルーチンを作成し、
前記読み込みルーチンを複数回呼び出すことで、前記構造化文書のデータを前記構造体に読み込むことを特徴とする、構造化文書からプログラム言語の構造体へデータを読み込むアプリケーションプログラム構築方法。 - 構造化文書へ、プログラム言語の構造体から、データを書き出すアプリケーションプログラム構築方法において、
構造化文書の構造を定義した情報、及び、構造化文書の構造の部分要素に対するプログラム言語の構造体の対応情報を取得し、前記対応情報からプログラム言語の構造体と、 構造化文書の構造を定義した情報に従う構造化文書データの前記部分要素へ前記プログラム言語の構造体から、対応するデータを転記する書き出しルーチンを作成し、
前記書き出しルーチンを複数回呼び出すことで、前記構造化文書のデータへ前記構造体から書き出すことを特徴とする、構造化文書へプログラム言語の構造体からデータを書き出すアプリケーションプログラム構築方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008013256A JP4918916B2 (ja) | 2008-01-24 | 2008-01-24 | 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008013256A JP4918916B2 (ja) | 2008-01-24 | 2008-01-24 | 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001009650A Division JP4099948B2 (ja) | 2001-01-18 | 2001-01-18 | 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008165817A true JP2008165817A (ja) | 2008-07-17 |
JP4918916B2 JP4918916B2 (ja) | 2012-04-18 |
Family
ID=39695107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008013256A Expired - Fee Related JP4918916B2 (ja) | 2008-01-24 | 2008-01-24 | 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4918916B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215403A (ja) * | 2001-01-18 | 2002-08-02 | Hitachi Ltd | 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム |
-
2008
- 2008-01-24 JP JP2008013256A patent/JP4918916B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215403A (ja) * | 2001-01-18 | 2002-08-02 | Hitachi Ltd | 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4918916B2 (ja) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060282452A1 (en) | System and method for mapping structured document to structured data of program language and program for executing its method | |
US6754884B1 (en) | Programming language extensions for processing XML objects and related applications | |
TWI334551B (en) | Method and computer-readable medium for improting and exporting hierarchically structured data | |
US7694284B2 (en) | Shareable, bidirectional mechanism for conversion between object model and XML | |
Greenfield et al. | ASDF: A new data format for astronomy | |
US7210097B1 (en) | Method for loading large XML documents on demand | |
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 | |
US20030018661A1 (en) | XML smart mapping system and method | |
JP2004295897A (ja) | 初期タイプの初期オブジェクトを最終タイプの最終オブジェクトに変形する方法 | |
CA2438176A1 (en) | Xml-based multi-format business services design pattern | |
AU2002354768A1 (en) | Programming language extensions for processing XML objects and related applications | |
US20100058285A1 (en) | Compositional view of imperative object model | |
US6766350B1 (en) | Shared management of data objects in a communication network | |
Brandes et al. | Graph markup language (GraphML) | |
Liu et al. | Engineering information service infrastructure for ubiquitous computing | |
KR102407941B1 (ko) | Rpc에 기반하여 외부 장치의 함수 또는 프로시저를 호출하는 전자 장치가 사용자 인터페이스를 생성하는 방법, 그 컴퓨터 프로그램 및 그 전자 장치 | |
JP4918916B2 (ja) | 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム | |
Brandes et al. | GraphML transformation | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
US7305667B1 (en) | Call back structures for user defined DOMs | |
Aziz et al. | An Introduction to JavaScript Object Notation (JSON) in JavaScript and .NET | |
JP2003140960A (ja) | Xmlデータのデータ変換方法及びプログラム | |
KR100319765B1 (ko) | 시각적인 화면 설계와 고속 처리가 가능한 동적문서 연동장치 및 그 방법 | |
CN116107588A (zh) | 程序语言转化方法、装置、设备、介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111130 |
|
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: 20120104 |
|
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: 20120117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |