JP4246186B2 - 構造化文書のデータ展開方法、データ処理方法及び処理システム - Google Patents

構造化文書のデータ展開方法、データ処理方法及び処理システム Download PDF

Info

Publication number
JP4246186B2
JP4246186B2 JP2005243703A JP2005243703A JP4246186B2 JP 4246186 B2 JP4246186 B2 JP 4246186B2 JP 2005243703 A JP2005243703 A JP 2005243703A JP 2005243703 A JP2005243703 A JP 2005243703A JP 4246186 B2 JP4246186 B2 JP 4246186B2
Authority
JP
Japan
Prior art keywords
record
name
structured document
array
associative array
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.)
Expired - Fee Related
Application number
JP2005243703A
Other languages
English (en)
Other versions
JP2007058623A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005243703A priority Critical patent/JP4246186B2/ja
Priority to US11/334,525 priority patent/US20070055679A1/en
Publication of JP2007058623A publication Critical patent/JP2007058623A/ja
Application granted granted Critical
Publication of JP4246186B2 publication Critical patent/JP4246186B2/ja
Expired - Fee Related 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/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/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、XML(eXtensible Markup Language)等で記載された構造化文書のデータ展開方法及びデータ処理方法に関し、特に、XML文書を使用するXMLアプリケーションの開発、利用を容易とするための構造化文書のデータ展開方法及びデータ処理方法に関する。
近年,インターネットを通して,個人,企業,自治体など,あらゆる種類のシステムが接続され,これらが連携して,WebサービスやEDI(Electronic Data Interchange),EC(Electronic Commerce)が行われている。このために、幅広い情報交換が必要になっており、データ交換、データ処理に、XML(eXtensible Markup Language)が、データを構造化する柔軟な表現能力を持ち,コンピュータ処理に適するため、共通基盤のフォーマットとして注目されている。
XMLは,1986年に、ISOで標準化されたSGML(Standard Generalized Markup Language)を、インターネットで活用し易くするために,1998年2月に、その基本仕様XML1.0が、W3C(World Wide Web Consortium)において、策定されたものである。
Webページ作成言語であるHTML(Hyper Text Markup Language)は、タグが固定で、表示に特化したものとなっており,タグ情報を基にコンピュータで、情報を処理したいという要件に対応できない問題があった。XMLは,利用者が、自由にタグを定義でき,文書中の文字列に意味付けができる言語構造を持ち,コンピュータで情報処理できる。
ここで,XML規格に基づき,用語の呼び方を定めておく。一対の"<- ->"で囲まれた文字列をタグ,"<文字列>"を開始タグ,"</文字列>"を終了タグ,開始タグから終了タグまでの文字列全体を要素,開始タグと終了タグで挟まれた文字列を要素内容,タグ内に記述される要素の名前を要素名(あるいはタグ名),要素に対する付加情報を属性と呼ぶ。
このような構造化文書は,文書自身の中にタグを埋め込む形で,データ構造を記述する。データ構造を、タグとして文書に埋め込んだ構成を採ることにより,データ項目の追加、削除、変更に対して、柔軟性と拡張性を持つ。また、タグ名に,人が読んで意味のある名前を付けることにより,データに、視認性を持たせることができる。
このXML文書を,検索・更新・削除などの操作を施す場合には、その処理を行うアプリケーションソフトが、処理しやすいデータ形式に、XML文書を展開する必要がある。図9に示すように、XML文書ファイル100を、API(Application Programming Interface)ソフトである基盤ソフト(構造化文書展開ソフト)110が、読み込み、標準形式に、メモリに展開する。この展開された文書を、データ検索・更新のアプリケーションソフト112を使用して、ユーザが、検索、更新を行う。基盤ソフト110は、検索・更新されたデータ形式の文書を,XML文書ファイル102に書き込む。
代表的な構造化文書であるXML文書では、応用(アプリケーション)ソフトからXML文書を扱うために、DOM (Document Object Model)と,SAX (Simple API for XML)と呼ばれる二つのAPI(Application Programming Interface)規格が標準化されている。
XMLのAPIソフトは、パーサ(Parser)と呼ばれる。異なるXMLパーサを使って、様々なアプリケーションを開発する場合に、常に同じAPIで、XMLデータを操作することができるようになるので、開発効率が向上し、XMLプログラミングのノウハウの蓄積が可能となる。
2つのAPIのうち、SAXは、メモリ消費が小さく,一般に高速だが,時系列出力で,参照するだけの簡単な処理に向くという特徴を持つ。一方、DOMは,一般に低速で,メモリ消費が大きいが,文書の要素を、階層的なツリー状に展開するため,複雑な処理内容でも、プログラムが組み易いという特徴を持つ。このため,データの更新やランダム・アクセスを伴うXMLデータ処理では,DOMを用いることが多い。
図10は、XML文書の説明図、図11及び図12は、第1の従来の技術であるDOMの説明図である。図10のXML文書は、製品のカタログの例を示し、開始タグ<カタログ>と終了タグ</カタログ>で囲まれた文字列が、カタログの内容(要素内容)を表記し、その中で、開始タグ<モデル名>と終了タグ</モデル名>で囲まれた文字列(MS360)が、モデル名の要素内容であり、開始タグ<部品 タイプ=‥‥>と終了タグ</部品>で囲まれた文字列が、その部品の要素、要素内容である。
図11に示すように、XMLパーサが、XMLデータ中の要素を認識すると,DOMの場合は、それを基に、DOMツリーを生成する。即ち、プロセッサは、XMLデータを一気に読み込んで、構文解析し,メモリ上にツリーを展開する(このツリーを「DOMツリー」と呼ぶ)。DOMでは,このメモリ上に、展開されたDOMツリーにアクセスしたり,要素を追加・削除することで、XMLデータの構造を、変更することができる。このツリー上の各要素にランダムに、アクセスするためのインターフェイスを定義したものが、DOMのAPIである。
DOMツリーのオブジェクトは,プログラミング言語やOSにかかわらず、同じ構造であるので,プログラミング言語やプラットフォームに依存しないアプリケーション開発が可能である。とりわけ,ツリーに、ランダムにアクセスすることができるので,XMLデータの構造を大きく変更したい場合には、DOMが有効である。
DOMは,オブジェクトを使用してXMLデータをモデル化する。オブジェクト指向技術において、オブジェクトは、プロパティとメソッドで構成されるように,DOMのオブジェクトも、「属性」(オブジェクトが保持するデータや関連情報)と、「メソッド」(オブジェクトの振る舞いを制御する関数)で構成される。
DOMは、(a)「XMLの構成要素という観点」から見たインターフェイスであるDocumentやElementなどのオブジェクトと,(b)「ツリー構造上の観点」から見たインターフェイスであるNodeオブジェクトとの,2つの観点を持つ。従って、XMLの要素を表すオブジェクトは、ElementであるとともにNodeでもある。
DOMツリーにアクセスする場合は、Nodeオブジェクトだけを使って,ある程度のツリー操作が行えるようになっており、例えば,図10に示す部品表のXML文書の場合,DOMパーサによって、図11のように、メモリ上に、DOMツリーとして展開される。
図11では、オブジェクトの型として見ると、「カタログ」が、ドキュメントエレメント型であり、「部品」が、ノードリスト型であり、「名称」、「型番」、「クロック」、「キャッシュ」、「備考」もNodelist型であり、「オプション」が、ノード型であり、「タイプ」が、Named Node Map型である。
そして、各型が、それぞれ異なるメソッド(オブジェクトの振る舞い)を持つ。例えば、Nodelist型では、メソッドとして、「get Element by Tag Names」,「first Child」,「next Sibling」を、Node型では、「has ChildNodes」、「childNodes」、「nodeName」等を持つ。
ここで、DOMでのデータの更新処理は,図12のように、XML文書の読み取り後、メモリ上に、図11のようなDOMツリーに展開する。DOMツリーのルート要素を取得し、子要素(Child Element)として、レコード要素を取得し、ノードの兄弟関係を辿って、対象の要素オブジェクトをアクセスする(探す)。そして,対応するメソッドを用いて、要素名や要素内容を書き換えて,XML文書を書き出すといった操作を行う(例えば、特許文献1参照)。
このように,DOMは,レコードの挿入、削除,要素名の変更,レコード内データ構造の変更等,どんなデータ操作でもできる利点があるものの,一方で,プログラミングが複雑であり,要素のアクセスには,親子,兄弟関係を辿る必要がある。
図13乃至図15は、第2の従来技術の説明図であり、連想配列を用いる方法を示す。この方法は、Script言語で、XMLを扱う場合に、個別にプログラムで採られる手法であり,APIソフトの形にはなっていない。XML文書を前述のDOM展開した後,レコードの部分を取り出して,要素名を、添字の連想配列に、要素内容を格納して扱う。ここで、配列の添字が、文字列の配列の場合を、「連想配列」と呼んでいる。
例えば,前述の図10の部品のカタログの場合,レコードの部分(CPUキット等)を取り出して,連想配列Array[1],[2]に、図14のように格納する。これらは、図13の格納及び指定法に示すように、1次元の添字Array[1],[2]が、レコード番号を指定し,2次元の添字["名称“]が、レコード中の要素名で指定される連想配列の要素内容(CPUキット等)を指定する。1次元の添字のレコード番号(数字「1」、「2」)と,2次元の添字の要素名とで,この連想配列のアドレスが指定され,格納した要素内容が取り出し,書き込みがなされる(例えば、特許文献2参照)。
即ち、図15のフロー図に示すように、XML文書を読み出し、前述のDOM展開した後,対象とするレコードの部分を取り出して,要素名を、添字の連想配列に、要素内容を格納する。次に、1次元の添字のレコード番号(数字「1」、「2」)と,2次元の添字の要素名とで,この連想配列のアドレスを指定し、格納した要素内容をアクセスし、更新する。ここで、要素名は、単なる添字のため、変更できない。
更に、1次元の添字のレコード番号(数字「1」、「2」)と,2次元の添字を数え上げ、格納した内容を出力する。ここで、連想配列だけでは、元のXML文書に戻すことができないため、元のXML文書の取り出した部分に、乗せる形で、XML文書として、書き出す(表示、印刷する)。
この連想配列方法の利点は,連想配列格納後のプログラミングが簡単なことである。即ち、親子関係や、兄弟関係を排除しているため、これらを考慮しないで、アプリケーションソフトを開発できる。
特開2003−67403号公報 特表2002−517823号公報
従来の代表的なAPIであるDOM (Document Object Model)は,XML文書の階層構造の親子,兄弟関係を、全てリスト形式で扱うようになっており,どんな複雑なXML文書に対しても、汎用に使える利点がある。しかし,このXML標準APIに関する専門知識(オブジェクトの各型と、その型のメソッド)が必要であり,プログラミングが難しいという問題があった。
即ち、アプリケーションソフトでは、XML文書を,APIソフト(基盤ソフト)を介して操作するので,これによって,XMLのアプリケーションプログラムを作成するSE(システムエンジニア)のプログラミングが難しくなる。
一方、従来の連想配列方法では、配列なので、参照、更新がやり易いという利点がある。しかし、連想配列の添字を、固定的に使っているので,要素名の変更ができない。又、指定した部分(レコード)の要素の順番がないため、出力する際に、ユーザが順番を指定する必要がある。更に、書き戻すときには、連想配列に格納したレコード内の要素間に順番がないため、ユーザが順番を指定しないと、書き戻すことができない。
本発明の目的は、要素名と要素内容で表す構造化文書のアプリケーションソフトの開発を容易とするための構造化文書の展開方法及び処理方法を提供することにある。
又、本発明の他の目的は、要素名と要素内容で表す構造化文書のアプリケーションプログラミングインターフェイスとして、利用できる構造化文書の展開方法及び処理方法を提供することにある。
更に、本発明の他の目的は、要素名と要素内容で表す構造化文書のレコード内の階層、要素名の変更、レコードの挿入、削除を容易に実行するための構造化文書の展開方法及び処理方法を提供することにある。
本発明の構造化文書の展開方法は、タグで囲まれた文字列からなる複数のレコード要素が階層化されて関連付けたレコードで構成された構造化文書のファイルを、コンピュータが読み出し、前記構造化文書内の前記レコード要素の出現順序に、前記レコード要素から、要素名/属性名と、要素内容/属性値に分解し、メモリに展開する構造化文書の展開方法であって前記コンピュータが、前記読み出したレコード要素を、前記構造化文書の前記階層を含む前記要素名/属性名を添字とし,前記要素名/属性名に、前記出現順序に関係付けた連続番号を割り付け、1段目の連想配列を作成し、前記メモリに格納するステップと,前記コンピュータが、前記連続番号を添字とし,リンク先としての対応する要素内容/属性値を格納した2段目の連想配列を作成し、前記メモリに格納するステップとを有する。
又、本発明の構造化文書の処理方法は、タグで囲まれた文字列からなる複数のレコード要素が階層化されて関連付けたレコードで構成された構造化文書のファイルを、コンピュータが読み出し、前記構造化文書内の前記レコード要素の出現順序に、前記レコード要素から、要素名/属性名と、要素内容/属性値に分解し、メモリに展開し、展開したレコードを処理する構造化文書の処理方法であって前記コンピュータが、前記読み出したレコード要素を、前記構造化文書の前記階層を含む前記要素名/属性名を添字とし,前記要素名/属性名に、前記出現順序に関係付けた連続番号を割り付け、1段目の連想配列を作成し、前記メモリに格納するステップと,前記コンピュータが、前記連続番号を添字とし,リンク先としての対応する要素内容/属性値を格納した2段目の連想配列を作成し、前記メモリに格納するステップと、前記コンピュータが、前記階層を含む要素名/属性名で、レコード要素を指定し、前記第1の連想配列の対応する前記連続番号により、前記第2の連想配列の前記要素内容/属性値を、アクセスし、参照処理するステップと、前記コンピュータが、前記連続番号で前記要素内容/属性値を読み出し、前記構造化文書に書き出すステップとを有する。
更に、本発明では、好ましくは、前記連続番号を割り付け、格納するステップは、前記レコード要素の上位階層を、1次元目の添字として、第1の連続番号割り付け、格納するステップと、前記レコード要素内の階層を、2次元目の要素として、第2の連続番号を割り付け、格納するステップからなる。
更に、本発明では、好ましくは、前記第1の連続番号を割り付け、格納するステップは、指定されたレコードの外の階層を表すときに,前記第1の連続番号を、間隔を空けて割り付けるステップを有する。
更に、本発明では、好ましくは、前記構造化文書が、XML文書からなる。
更に、本発明では、好ましくは、前記XML文書を読み込んで、要素開始タグ,要素内容,要素終了タグのイベント型の出力に変換し、前記変換したイベントを前記要素として、入力するステップを更に有する。
更に、本発明では、好ましくは、前記連続番号を割り付け、格納するステップは、前記XML文書のレコード要素の開始タグを検出するステップと、前記開始タグの検出により、前記レコード要素の要素名を、第1の連続番号を割り付け、格納するステップと、前記前記開始タグのレコード要素に続く、前記レコード要素の要素名を第2の連続番号を割り付け、格納するステップとを有し、前記要素内容/属性値を格納するステップは、前記第2の連続番号に対応した位置に、前記レコード要素の要素内容を格納するステップとからなる。
更に、本発明では、好ましくは、前記第1の連続番号を割り付け、格納するステップは、指定されたレコードの外の階層を表すときに,前記第1の連続番号を、間隔を空けて割り付けるステップを有する。
更に、本発明では、好ましくは、前記連続番号を割り付け、格納するステップは、前記XML文書のレコード要素の上位階層の開始タグを検出するステップと、前記開始タグの検出により、前記レコード要素の要素名を、第1の連続番号を割り付け、格納するステップと、前記第1の連続番号のリンク先に、2次元配列を設定するステップと、前記レコード要素内の開始タグを検出するステップと、前記レコード要素内の開始タグの検出により、前記レコード要素の要素名を、第2の連続番号を割り付け、格納するステップとを有し、前記要素内容/属性値を格納するステップは、前記設定した2次元配列内の前記第2の連続番号に対応した位置に、前記レコード要素の要素内容を格納するステップとからなる。
更に、本発明では、好ましくは、指定レコード要素で、前記第1の連続番号で割り付けられたレコード要素を走査し、指定レコード要素の前記第1の連続番号を探すステップと、前記第1の連続番号の2次元配列に対応する前記第2の連続番号で割り付けられたレコード要素内の要素内容を走査し、前記2次元配列内の要素内容を引き出すステップを更に有する。
更に、本発明では、好ましくは、前記処理ステップは、前記連続番号により、異なる前記要素内容/属性値を持つ連想配列に、移し変えるステップからなる。
更に、本発明では、好ましくは、前記処理ステップは、前記構造化文書である異なるタグ名のセットを持つ連想配列に移し変えて対応付け,同一のXML文書を異なるボキャブラリで操作するステップからなる。
従来,XML等の構造化文書のAPIは,どんな複雑なXML文書も扱える汎用のものであるため,その分,操作が複雑になった。本発明では、これを解決するため,レコード形式のXML文書に特化し,対象XML文書について,レコード要素を指定して,メモリ展開した要素を、2段構えの連想配列に格納し,直感的な配列操作のみで,XML文書全体に渡る各種データ操作が,容易に行うことができる。即ち、2段構えの連想配列を採り,双方の連想配列を連番でリンクし,前段の連想配列から要素名でもって,後段の連想配列をアクセスできるようにするととともに,後段を2次元連想配列にして,階層を表すようにした。
以下、本発明の実施の形態を、構造化文書展開方法、構造化文書展開処理、構造化文書展開処理をAPIとした構造化文書処理、他の実施の形態の順で説明する。
・・構造化文書展開方法・・
図1は、本発明の一実施の形態の構造化文書展開方法の説明図、図2は、図1のタグの連想配列と内容の連想配列とのプログラムでの指定方法の説明図、図3は、本発明の構造化文書展開方法のAPIへの実装図である。
図1に示すように、本発明は、連想配列を2段に構成したことを基本とする。即ち、1段目のタグの連想配列Tag1、Tag2に、XML文書のパスを含む要素名からのリンク、2段目の要素内容、属性値の連想配列に、リンク先として要素内容、属性値を格納する。1段目の連想配列のリンク(Tag1,Tag2)は、連番とする。XML文書を図1の形式に展開するため、XML文書をSAX(Simple API for XML)で分解し、SAXで出力される要素名,要素内容のストリームに、このリンクを付す。
タグの連想配列Tag1,Tag2は,要素名を添字にして格納位置を与える1次元連想配列であり、Tag1,Tag2の格納内容は、連番のリンクとし,Tag1とTag2とで、階層(パス)と要素名を示し、2段目の要素内容、属性値の連想配列Arrayの格納内容(要素内容)をアクセスする。即ち、パスを含む要素名と,要素内容の連想配列の間に、連番を付けたリンクを張る。階層となるレコードの内外は,タグの連想配列のTag1の添字で表現し,2段目の連想配列とリンクさせ、区別する。このリンクTag2は、次の役割を果たす。
(1)要素(要素名、要素内容)に、順序を付ける。
(2)Tag1,Tag2の番号を変更することで,レコードの挿入を容易にする。
(3)別ボキャブラリを、要素名の連想配列で、 1つの要素名で、複数の要素内容のリンクを張ることができる。尚、通常,DOM処理ならば,別名で扱う場合は,データ全体をXSLTで変換してから扱うことになり、この変換が不要となる。
図1は、図10のXML文書の「カタログ」のレコードを展開したものである。図1では、図10の第1の階層の要素名「モデル名」、「部品」に対し、1次元の添字にするタグの連想配列Tag1を割り付ける。ここで、部品(1)に対し、2つの添字「20」、「30」を割り付けているのは、属性の連想配列Array(ここでは、@タイプ“CPU”)と、要素内容の連想配列Array[“30”]を区別するためである。
又、図10の第2の階層の要素名「名称」、「型番」等に対し、2次元の添字にするタグの連想配列Tag2を割り付ける。例えば、要素名「名称」には、Tag2=1が割り付けられ、このTag2が、要素内容の連想配列Array[30]の1番目の要素内容(CPUキット)を指定し、以下、同様である。
一方、アプリケーションプログラムは、図2に示すように、2次元連想配列Array [Tag1["レコード要素名"] ][Tag2 ["パスを含む要素名/属性名"] ] で指定する。Tag1,Tag2は、Arrayの添字にする1次元のタグの連想配列であり、要素名を格納した1次元配列Tag1で、要素内容を格納した連想配列をアクセスし、これらは、実際の格納位置を与える。
図1に示すように、指定したレコード要素の外を表すタグTag1の連想配列は、「10」ごとの連番を与えるように記している。ここでは、10,20,30,40…である。
これは,10ごとの連番を取ることによって,間に10個のレコード要素の挿入を可能にするためである。削除の際には,対象とするレコード要素がなくなるだけなので,連番の大小の順序は変わらない。連想配列は、添字である文字列に対して,それに対応する格納場所を対応付けているだけなので,連番としても割付けていない間の番号の分のメモリ領域を取ることはない。
また、図10のXML文書の例で示した部品カタログは、正確には、表形式では、個々の「部品」のレコード内の要素が異なったものとなっている。この形式の表に、図1のように、レコード内の要素(要素名)に、連番を付けていても,連想配列では、添字と格納内容の1対1の対応関係の領域のみを、メモリに取るだけである。このため、表形式のように、レコード内に出て来ない要素の領域を取ることはなく、各レコードは、正味のメモリ領域を消費するだけになる。
更に、後述するように、Tag1,Tag2のタグの連想配列を、別な要素名の配列と取り替えれば,要素名が変更できる。
図3は、本発明の連想配列法をAPIプロセッサに実装した一実施の形態の説明図である。本発明の連想配列法を適用したAPIプロセッサ(APIソフト)10は、XMLプロセッサであるSAX30と、本発明の連想配列法を使用したアプリケーション20とで構成される。
図3において、入力したXML文書は、SAX30によって、シリアルのイベント(開始タグ,要素内容,終了タグ,属性名,属性値等)に分解されて、アプリケーション20に渡される。アプリケーション20では、図1、図2で説明したように、渡されたイベント列を,タグの連想配列と、内容の連想配列とに格納する。
例えば、図3の例では、“title”,“p”が、要素名であり、添字のタグの連想配列Tagが、図1、図2のTag2であり、“健康診断のお知らせ”、“明日の社内検診・・・”が、要素内容であり、図1、図2のデータを格納する連想配列Arrayである。そして、Tag2は、タグカウンタTag−countをカウントアップして、アドレスする連想配列の内容に作成される。又、ここでは、レコードが、”memo“1つのため、Tag1を表示していない。
・・構造化文書展開処理・・
図4は、本発明の一実施の形態のXML文書の読み取り、連想配列への格納処理フロー図である。ここで,タグを格納するタグの連想配列に、"Tag1"、"Tag2"を、要素内容/属性値を格納する連想配列に"Array"を使うものとする。図1、図10を参照して、図4の処理を説明する。
(S10)まず,XML文書のルート要素「カタログ」、レコード要素として扱う要素名「部品」を入力する。
(S11)次に、入力されたXML文書レコード(図10のカタログのレコード)の読取を行う。
(S12)このXML文書レコードの要素を読み取り、解読する。
(S13)要素の読み取りで、読み取った要素が、ルート要素の終了タグ(図10では、</カタログ>)かを判定する。終了タグと判定すると、終了する。
(S14)ルート要素が、ルート要素の終了タグでなければ、ルート要素に属性があるかを判定する。属性がなければ、ステップS16に進む。
(S15)要素に属性がある場合には、図1に示すように、「要素名/@属性名」を、タグの連想配列Tag1に格納し、「10」毎の連番を付け、Array配列の1次元添字として、リンクを張る。更に、Arrayのリンク先に属性値を格納する。
(S16)次に、読み取った要素が、レコード要素の開始タグかを判定する。開始タグと判定すると、指定されたレコードのため、ステップS18に進む。
(S17)レコード要素の開始タグでないと判定すると、指定レコード外のため、指定レコード外の要素名/要素内容を読み取り、要素名をタグ名の連想配列Tag1に格納し、「10」毎の連番を付け、Array配列の1次元添字として、リンクを張る。更に、Arrayのリンク先に要素内容(図1では、MS360,CPU等)を格納する。そして、ステップS13に戻る。
(S18)一方、レコード要素の開始タグと判定すると、指定レコードであるから、要素名をタグ名の連想配列Tag1に格納し、「10」毎の連番を付け、Array配列の1次元添字として、リンクを張る。例えば、図1では、部品を読み取り、“部品(1)”、“部品(2)”…として、格納する。更に、Arrayのリンク先に、2次元配列を用意する。
(S19)そして、要素を読み取り、属性があるかを判定する。属性がなければ、ステップS21に進む。
(S20)属性がある場合には、「要素名/@属性名」を、タグの連想配列Tag2に格納し、1毎の連番を付け、Array配列の2次元添字として、リンクを張る。更に、Arrayのリンク先に属性値(図1では、MS360,CPU)を格納する。
(S21)レコード要素の終了タグかを判定する。レコード要素の終了タグである場合には、ステップS13に戻る。
(S22)一方、レコード要素の終了タグでない場合には、要素名/要素内容を読み取り、要素名をタグ名の連想配列Tag2に格納し、1毎の連番を付け、Array配列の2次元添字として、リンクを張る。又、このとき、既に現れている要素名は、前の連番を使用する。更に、Arrayのリンク先に要素内容(図1では、MS360,CPU)を格納する。そして、ステップS19に戻る。
このように、レコード要素の開始タグである場合には,レコード要素名に、添字“(i)”を付けて,タグ名の連想配列Tag1の添字として,10ごとの連番を、配列に格納する。次に現れるものは、レコードの中と見なし,要素名をタグ名の連想配列Tag2の添字として,1毎の連番を配列に格納する。次に、要素を読み取り,レコード要素の終了タグが出てくるまで,読取った要素名/属性名を添字にして,連番を付して、タグ配列Tag2に格納する。
もし,既にその要素名/属性名が現れていれば,先に割当てた連番を使う。そして、内容の連想配列Arrayに,レコードの連番を1次元の添字にし,その連番を2次元の添字にして,出現した要素内容/属性値を格納する。レコード要素の終了タグが出た場合は,次に戻ってルート要素の終了タグが出ているかを調べる。ルート要素の終了タグが出た場合は終了する。
このように、2次元の連想配列Arrayは、XML文書の要素名/属性名を用いて,配列への読み書きとして,配列の内容をアクセスすることができる。この連想配列は、XML文書の全要素・属性を格納するようになっており,更新処理をした後,結果をXML文書に書き出すことができる。
次に、XML文書の出力処理(書き込み処理)を説明する。図5は、本発明の一実施の形態のXML文書の出力処理フロー図である。ここでも,タグを格納するタグの連想配列に、"Tag1"、"Tag2"を、要素内容/属性値を格納する連想配列に"Array"を使うものとする。図1、図10を参照して、図5の処理を説明する。
(S30)まず,XML文書のルート要素「カタログ」、レコード要素として扱う要素名「部品」を入力(指定)する。
(S31)入力されたルート要素を出力する。
(S32)図1の格納内容の1次元配列Tag1を、順次走査する。1次元配列Tag1の配列要素を全て走査したかを判定する。全て走査した場合には、終了する。
(S33)全て走査していない場合には、その走査された要素が、ステップS30で指定した指定レコード要素名かを判定する。指定レコード要素名であれば、ステップS35に進む。
(S34)一方、指定レコード要素名でない場合には、タグの配列Tag1の配列要素を引き、これで、Array配列を読み出す。そして、Tag1の要素名/属性値と要素内容/属性値を、XML文書に書き出す。そして、ステップS32に戻り、次のTag1を走査する。
(S35)指定レコード要素名である場合には、図1の格納内容の1次元配列Tag2を、順次走査する。1次元配列Tag2の配列要素を全て走査したかを判定する。全て走査した場合には、ステップS32に戻る。
(S36)全て走査していない場合には、その走査されたタグの配列Tag2の配列要素を引き、これで、Array配列を読み出す。
(S37)引き出した内容が、登録されていない(Array配列に存在しない)か否かを判定する。未登録の場合には、そのTag2の要素/属性を読み飛ばし、ステップS35に戻る。例えば、図1のTag2の「7」の「容量」の内容である「200GB」が、Array[“50”]内に登録されていない場合である。
(S38)一方、引き出した内容が登録されている場合には、Tag2の要素名/属性値と要素内容/属性値を、XML文書に書き出す。即ち、XML文書を可変長化されたテキストとして書き出す。尚、メモリ上には、アクセスし易いように、固定長の形式で格納する。そして、ステップS35に戻り、次のTag2を走査する。
このように、本発明の連想配列は、XML文書の全要素・属性を格納するため、更新処理をした後,結果をXML文書に書き出すことができる。
**構造化文書展開処理をAPIとした構造化文書処理**
図6は、本発明の一実施の形態の構造化文書展開処理をAPIとした構造化文書処理フロー図である。
(S40)先ず、処理したいレコード要素(図1の例では、「部品」)を指定する。
(S42)図2に示すように、処理したいタグ(添字)の1次元連想配列Tag1の名前と、要素内容/属性値(内容)の2次元の連想配列の名前(Tag1,Tag2,Array)を指定する。
(S44)XML文書を読み取る。
(S46)図5に示す処理を実行し、図1に示すように、指定した連想配列に格納する。即ち、指定したレコード以外の要素内容/属性値を、1次元連想配列に格納し、指定レコードの要素内容/属性値を2次元連想配列(2段目)Arrayに格納する。指定したレコードの要素名/属性名を添字の1次元連想配列Tag2に格納する。
(S48)要素名を使って、タグの連想配列Tag2を添字として、要素内容の2次元配列Arrayを書き替える。
(S50)要素名の添字連想配列を数え上げて、2次元連想配列Arrayを読み出し、XML文書に書き出す。そして、終了する。
このように連想配列の要素名/属性名を用いて,配列への読み書きのための,配列の内容をアクセスすることができる。この連想配列は、XML文書の全要素・属性を格納するようになっており,更新処理をした後,結果をXML文書に書き出すことができる。
図7及び図8は、本発明の他の実施の形態の構造化文書展開処理をAPIとした構造化文書処理の説明図である。図7は、ある部署(仮にA部署)と,別部署(仮にB部署)で,異なるタグ・セットを用いている場合のXML文書のデータ処理への応用を示す。
先ず、A部署とB部署のボキャブラリ対応表50を、B部署で用意する。ここでは、日本語と英語のタグセットの対応表である。この対応表を用いて、タグの対応付けを行う。図8に示すように、A部署のXML文書100は、図5の連想配列処理により、図1と同様に、タグの連想配列Tag1,Tag2と、要素内容・属性値の連想配列Arrayに展開される。
図7の対応表で、図8のように、別な添字の連想配列(英数字の要素名)Tag1−1,Tag−2−1を用いることによって,別名でデータ処理を行うことができる。即ち、XML文書100を読み取り、連想配列10により、メモリに展開した後,図7のタグの対応付けのように、A部署とB部署のタグを対応付ける。図8で示すと、A部署のタグ配列Tag2の内容を,B部署のタグ配列Tag2−1に移し変える。これによって,データ更新加工ソフト112は、B部署のタグを用いて,A部署の要素内容がアクセスできるようになる。
このように、従来,XML文書は,タグが異なるだけでも、A部署用,B部署用に、2重に作らなければならず,データ処理ソフトも部署ごとに別々のものを用いていた。これらの不都合を回避するためには、XML文書のタグ・セットを、予めトップダウンで設定した後,双方で共通のタグ・セット、データ処理ソフトを用いることが必要になっていた。しかし,このやり方では,トップダウンで、共通のタグ・セットが決まるまで,XML化が進められないことになる。また,この例では,タグ・セットが、日本語と英語であり,A部署が日本,B部署が海外であれば,共通化せず,2系統あった方が,各々の部署にとっては使い易い。
本発明によれば,従来のように、トップダウンで、共通タグ・セットを決めてなくても,大体の項目さえ合っていれば、ボトムアップで、XML化を始め,タグ・セット間の差異を、タグ・セットの対応付けだけで吸収できる。また,この例のように、日本語と英語のタグ・セットの場合,並存して使うことができる。
このように、従来は、XML文書が、部分的に連想配列に格納されるのに対して,本発明では,XML文書全体が、2次元連想配列に格納され,APIとして使えるため,直感的な配列操作のみで,XML文書全体に渡る各種データ操作が容易に行えるようになる。
又、レコード要素名を与えて,レコード要素を反映した2次元配列構造を取るため,レコードの中と外が区別でき,レコード単位には、オブジェクトとして、扱うことが可能になる。更に,本発明のAPI形式により,前段の連想配列を取り替えるだけで,要素内容を別の要素名でアクセスすることが簡単に行える。レコード内の階層,要素名の変更や,レコードの挿入・削除等の操作も行える。
**他の実施の形態**
前述の実施の形態では、構造化文書を、XML文書で説明したが、他の構造化文書にも適用できる。又、XML文書を、図10の例で、図1、図2のように、展開したもので説明したが、他の内容のXML文書にも適用できる。更に、図3のSAXの代わりに、DOMを使用することもできる。
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
(付記1)レコードから構成される構造化文書を、要素に分解し,メモリに展開する構造化文書の展開方法において、前記要素を、1段目の連想配列に、パスを含む要素名/属性名を添字とし,その内容に出現順序に関係付けた連続番号を割り付け、格納するステップと,2段目の連想配列に、前記連続番号を添字とし,その内容に対応する要素内容/属性値を格納するステップとを有することを特徴とする構造化文書の展開方法。
(付記2)前記連続番号を割り付け、格納するステップは、前記レコード要素の上位階層を、1次元目の添字として、第1の連続番号割り付け、格納するステップと、前記レコード要素内の階層を、2次元目の要素として、第2の連続番号を割り付け、格納するステップからなることを特徴とする付記1の構造化文書の展開方法。
(付記3)前記第1の連続番号を割り付け、格納するステップは、指定されたレコードの外の階層を表すときに,前記第1の連続番号を、間隔を空けて割り付けるステップを有することを特徴とする付記2の構造化文書の展開方法。
(付記4)前記構造化文書が、XML文書からなることを特徴とする付記1の構造化文書の展開方法。
(付記5)前記XML文書を読み込んで、要素開始タグ,要素内容,要素終了タグのイベント型の出力に変換し、前記変換したイベントを前記要素として、入力するステップを更に有することを特徴とする付記4の構造化文書の展開方法。
(付記6)前記連続番号を割り付け、格納するステップは、前記XML文書のレコード要素の開始タグを検出するステップと、前記開始タグの検出により、前記レコード要素の要素名を、第1の連続番号を割り付け、格納するステップと、前記前記開始タグのレコード要素に続く、前記レコード要素の要素名を第2の連続番号を割り付け、格納するステップとを有し、前記要素内容/属性値を格納するステップは、前記第2の連続番号に対応した位置に、前記レコード要素の要素内容を格納するステップとからなることを特徴とする付記4の構造化文書の展開方法。
(付記7)前記第1の連続番号を割り付け、格納するステップは、指定されたレコードの外の階層を表すときに,前記第1の連続番号を、間隔を空けて割り付けるステップを有することを特徴とする付記6の構造化文書の展開方法。
(付記8)前記連続番号を割り付け、格納するステップは、前記XML文書のレコード要素の上位階層の開始タグを検出するステップと、前記開始タグの検出により、前記レコード要素の要素名を、第1の連続番号を割り付け、格納するステップと、前記第1の連続番号のリンク先に、2次元配列を設定するステップと、前記レコード要素内の開始タグを検出するステップと、前記レコード要素内の開始タグの検出により、前記レコード要素の要素名を、第2の連続番号を割り付け、格納するステップとを有し、前記要素内容/属性値を格納するステップは、前記設定した2次元配列内の前記第2の連続番号に対応した位置に、前記レコード要素の要素内容を格納するステップとからなることを特徴とする付記4の構造化文書の展開方法。
(付記9)指定レコード要素で、前記第1の連続番号で割り付けられたレコード要素を走査し、指定レコード要素の前記第1の連続番号を探すステップと、前記第1の連続番号の2次元配列に対応する前記第2の連続番号で割り付けられたレコード要素内の要素内容を走査し、前記2次元配列内の要素内容を引き出すステップを更に有することを特徴とする付記2の構造化文書の展開方法。
(付記10)レコードから構成される構造化文書を、要素に分解し,メモリに展開し、展開したレコードを処理する構造化文書の処理方法において、前記要素を、1段目の連想配列に、パスを含む要素名/属性名を添字とし,その内容に出現順序に関係付けた連続番号を割り付け、格納するステップと,2段目の連想配列に、前記連続番号を添字とし,その内容に対応する要素内容/属性値を格納するステップと、前記パスを含む要素名/属性名で指定されたレコードの前記要素内容/属性値を、前記連続番号を使用して、処理するステップと、前記連続番号で前記要素内容/属性値を読み出し、前記構造化文書に書き出すステップとを有することを特徴とする構造化文書の処理方法。
(付記11)前記連続番号を割り付け、格納するステップは、前記レコード要素の上位階層を、1次元目の添字として、第1の連続番号割り付け、格納するステップと、前記レコード要素内の階層を、2次元目の要素として、第2の連続番号を割り付け、格納するステップからなることを特徴とする付記10の構造化文書の処理方法。
(付記12)前記第1の連続番号を割り付け、格納するステップは、指定されたレコードの外の階層を表すときに,前記第1の連続番号を、間隔を空けて割り付けるステップを有することを特徴とする付記11の構造化文書の処理方法。
(付記13)前記構造化文書が、XML文書からなることを特徴とする付記10の構造化文書の処理方法。
(付記14)前記XML文書を読み込んで、要素開始タグ,要素内容,要素終了タグのイベント型の出力に変換し、前記変換したイベントを前記要素として、入力するステップを更に有することを特徴とする付記13の構造化文書の処理方法。
(付記15)前記連続番号を割り付け、格納するステップは、前記XML文書のレコード要素の開始タグを検出するステップと、前記開始タグの検出により、前記レコード要素の要素名を、第1の連続番号を割り付け、格納するステップと、前記前記開始タグのレコード要素に続く、前記レコード要素の要素名を第2の連続番号を割り付け、格納するステップとを有し、前記要素内容/属性値を格納するステップは、前記第2の連続番号に対応した位置に、前記レコード要素の要素内容を格納するステップとからなることを特徴とする付記13の構造化文書の処理方法。
(付記16)前記第1の連続番号を割り付け、格納するステップは、指定されたレコードの外の階層を表すときに,前記第1の連続番号を、間隔を空けて割り付けるステップを有することを特徴とする付記15の構造化文書の処理方法。
(付記17)前記連続番号を割り付け、格納するステップは、前記XML文書のレコード要素の上位階層の開始タグを検出するステップと、前記開始タグの検出により、前記レコード要素の要素名を、第1の連続番号を割り付け、格納するステップと、前記第1の連続番号のリンク先に、2次元配列を設定するステップと、前記レコード要素内の開始タグを検出するステップと、前記レコード要素内の開始タグの検出により、前記レコード要素の要素名を、第2の連続番号を割り付け、格納するステップとを有し、前記要素内容/属性値を格納するステップは、前記設定した2次元配列内の前記第2の連続番号に対応した位置に、前記レコード要素の要素内容を格納するステップとからなることを特徴とする付記13の構造化文書の処理方法。
(付記18)指定レコード要素で、前記第1の連続番号で割り付けられたレコード要素を走査し、指定レコード要素の前記第1の連続番号を探すステップと、前記第1の連続番号の2次元配列に対応する前記第2の連続番号で割り付けられたレコード要素内の要素内容を走査し、前記2次元配列内の要素内容を引き出すステップを更に有することを特徴とする付記11の構造化文書の処理方法。
(付記19)前記処理ステップは、前記連続番号により、異なる前記要素内容/属性値を持つ連想配列に、移し変えるステップからなることを特徴とする付記11の構造化文書の処理方法。
(付記20)前記処理ステップは、前記構造化文書である異なるタグ名のセットを持つ連想配列に移し変えて対応付け,同一のXML文書を異なるボキャブラリで操作するステップからなることを特徴とする付記19の構造化文書の処理方法。
構造化文書全体が2次元連想配列に格納され,APIとして使えるため,直感的な配列操作のみで,構造化文書全体に渡る各種データ操作が容易に行えるようになる。2段構えの連想配列を採り,双方の連想配列を連番でリンクし,前段の連想配列から要素名でもって,後段の連想配列をアクセスできるようにするととともに,後段を2次元連想配列にして、階層を表すようにしたので、構造化文書のアプリケーション開発に寄与する。
本発明の一実施の形態の連想配列による構造化文書の展開処理の説明図である。 図1のプログラム上での指定法の説明図である。 本発明の一実施の形態のAPIの説明図である。 本発明の一実施の形態のメモリ格納処理フロー図である。 本発明の一実施の形態の書き出し処理フロー図である。 本発明の一実施の形態の構造化文書の処理フロー図である。 本発明の他の実施の形態の構造化文書の処理の説明図である。 図7の連想配列の移し変えの説明図である。 従来の構造化文書の処理システムの説明図である。 図9の構造化文書の説明図である。 従来の構造化文書のAPIの説明図である。 図11の処理フロー図である。 従来の構造化文書の連想配列処理の説明図である。 従来の構造化文書の連想配列のアクセス処理の説明図である。 従来の構造化文書の連想配列処理フロー図である。
符号の説明
10 API(Application Programming Interface)
20 2次元連想配列アプリケーション
30 SAX
100,102 構造化文書(XML文書)
110 基盤ソフト(APIソフト)
112 アプリケーションソフト
Tag1 1次元の添字にする連想配列
Tag2 2次元の添字にする連想配列
Array 内容の連想配列

Claims (6)

  1. タグで囲まれた文字列からなる複数のレコード要素が階層化されて関連付けたレコードで構成された構造化文書のファイルを、コンピュータが読み出し、前記構造化文書内の前記レコード要素の出現順序に、前記レコード要素から、要素名/属性名と、要素内容/属性値に分解し、メモリに展開する構造化文書の展開方法であって
    前記コンピュータが、前記読み出したレコード要素を、前記構造化文書の前記階層を含む前記要素名/属性名を添字とし,前記要素名/属性名に、前記出現順序に関係付けた連続番号を割り付け、1段目の連想配列を作成し、前記メモリに格納するステップと,
    前記コンピュータが、前記連続番号を添字とし,リンク先としての対応する要素内容/属性値を格納した2段目の連想配列を作成し、前記メモリに格納するステップとを有する
    ことを特徴とする構造化文書の展開方法。
  2. 前記1段目の連想配列を作成し、前記メモリに格納するステップは、
    前記コンピュータが、前記レコードの上位階層前記レコード要素に対し、1次元目の添字として、第1の連続番号割り付け、前記1段目の第1の連想配列を作成し、前記メモリに格納するステップと、
    前記コンピュータが、前記レコードの下位階層の前記レコード要素に対し、2次元目の要素として、第2の連続番号を割り付け、前記1段目の第2の連想配列を作成し、前記メモリに格納するステップからなる
    ことを特徴とする請求項1の構造化文書の展開方法。
  3. 前記1段目の第1の連想配列を作成し、格納するステップは、
    前記レコードの外の同一の階層の他のレコードの上位階層の前記レコード要素を表すときに,前記コンピュータが、前記第1の連続番号を、間隔を空けて割り付けるステップを有する
    ことを特徴とする請求項2の構造化文書の展開方法。
  4. タグで囲まれた文字列からなる複数のレコード要素が階層化されて関連付けたレコードで構成された構造化文書のファイルを、コンピュータが読み出し、前記構造化文書内の前記レコード要素の出現順序に、前記レコード要素から、要素名/属性名と、要素内容/属性値に分解し、メモリに展開し、展開したレコードを処理する構造化文書の処理方法であって
    前記コンピュータが、前記読み出したレコード要素を、前記構造化文書の前記階層を含む前記要素名/属性名を添字とし,前記要素名/属性名に、前記出現順序に関係付けた連続番号を割り付け、1段目の連想配列を作成し、前記メモリに格納するステップと,
    前記コンピュータが、前記連続番号を添字とし,リンク先としての対応する要素内容/属性値を格納した2段目の連想配列を作成し、前記メモリに格納するステップと、
    前記コンピュータが、前記階層を含む要素名/属性名で、レコード要素を指定し、前記第1の連想配列の対応する前記連続番号により、前記第2の連想配列の前記要素内容/属性値を、アクセスし、参照処理するステップと、
    前記コンピュータが、前記連続番号で前記要素内容/属性値を読み出し、前記構造化文書に書き出すステップとを有する
    ことを特徴とする構造化文書の処理方法。
  5. 前記参照処理するステップは、前記コンピュータが、前記連続番号により、異なる前記要素内容/属性値を持つ連想配列に、移し変えるステップからなる
    ことを特徴とする請求項4の構造化文書の処理方法。
  6. タグで囲まれた文字列からなる複数のレコード要素が階層化されて関連付けたレコードで構成された構造化文書のファイルと、
    前記ファイルを読み出し、前記構造化文書内の前記レコード要素の出現順序に、前記レコード要素から、要素名/属性名と、要素内容/属性値に分解し、メモリに展開し、展開したレコードを処理するコンピュータとを有し、
    前記コンピュータは、前記読み出したレコード要素を、前記構造化文書の前記階層を含む前記要素名/属性名を添字とし,前記要素名/属性名に、前記出現順序に関係付けた連続番号を割り付け、1段目の連想配列を作成し、前記メモリに格納し、前記連続番号を添字とし,リンク先としての対応する要素内容/属性値を格納した2段目の連想配列を作成し、前記メモリに格納し、
    前記コンピュータが、前記階層を含む要素名/属性名で、レコード要素を指定し、前記第1の連想配列の対応する前記連続番号により、前記第2の連想配列の前記要素内容/属性値を、アクセスし、参照処理し、前記連続番号で前記要素内容/属性値を読み出し、前記構造化文書に書き出す
    ことを特徴とする構造化文書の処理システム。
JP2005243703A 2005-08-25 2005-08-25 構造化文書のデータ展開方法、データ処理方法及び処理システム Expired - Fee Related JP4246186B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005243703A JP4246186B2 (ja) 2005-08-25 2005-08-25 構造化文書のデータ展開方法、データ処理方法及び処理システム
US11/334,525 US20070055679A1 (en) 2005-08-25 2006-01-19 Data expansion method and data processing method for structured documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005243703A JP4246186B2 (ja) 2005-08-25 2005-08-25 構造化文書のデータ展開方法、データ処理方法及び処理システム

Publications (2)

Publication Number Publication Date
JP2007058623A JP2007058623A (ja) 2007-03-08
JP4246186B2 true JP4246186B2 (ja) 2009-04-02

Family

ID=37831171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005243703A Expired - Fee Related JP4246186B2 (ja) 2005-08-25 2005-08-25 構造化文書のデータ展開方法、データ処理方法及び処理システム

Country Status (2)

Country Link
US (1) US20070055679A1 (ja)
JP (1) JP4246186B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231606B2 (en) 2000-10-31 2007-06-12 Software Research, Inc. Method and system for testing websites
WO2008126224A1 (ja) * 2007-03-29 2008-10-23 Fujitsu Limited 情報処理装置及び情報処理方法
US8392890B2 (en) * 2007-10-15 2013-03-05 Software Research, Inc. Method and system for testing websites
US8266518B2 (en) * 2008-01-16 2012-09-11 Raytheon Company Anti-tamper process toolset
US20110251914A1 (en) * 2008-09-22 2011-10-13 Fujifilm North America Corporation System and Method for Providing Scalable and Customized Product Offerings to Customers
AU2012282688B2 (en) * 2011-07-11 2017-08-17 Paper Software LLC System and method for processing document
EP2732381A4 (en) 2011-07-11 2015-10-21 Paper Software LLC METHOD AND SYSTEM TO SEARCH FOR A DOCUMENT
AU2012281166B2 (en) 2011-07-11 2017-08-24 Paper Software LLC System and method for processing document
US10572578B2 (en) 2011-07-11 2020-02-25 Paper Software LLC System and method for processing document
CN102306191A (zh) * 2011-08-31 2012-01-04 飞天诚信科技股份有限公司 基于嵌入式平台的xml报文解析方法
US10268948B2 (en) * 2015-07-23 2019-04-23 The Boeing Company Data driven classification and troubleshooting system and method using associative memory and a machine learning algorithm to improve the accuracy and performance of the associative memory
CN108205529A (zh) * 2016-12-16 2018-06-26 北京京东尚科信息技术有限公司 明细数据的显示方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250895A (ja) * 1993-02-26 1994-09-09 Fujitsu Ltd 構造化データベースシステム
US6763499B1 (en) * 1999-07-26 2004-07-13 Microsoft Corporation Methods and apparatus for parsing extensible markup language (XML) data streams
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6490591B1 (en) * 2000-03-13 2002-12-03 Cisco Technology, Inc. Apparatus and method for storing complex structures by conversion of arrays to strings
US6938204B1 (en) * 2000-08-31 2005-08-30 International Business Machines Corporation Array-based extensible document storage format
EP1225516A1 (en) * 2001-01-22 2002-07-24 Sun Microsystems, Inc. Storing data of an XML-document in a relational database
US7089567B2 (en) * 2001-04-09 2006-08-08 International Business Machines Corporation Efficient RPC mechanism using XML
JP4045400B2 (ja) * 2001-08-24 2008-02-13 富士ゼロックス株式会社 検索装置及び検索方法
US20030066033A1 (en) * 2001-09-13 2003-04-03 Direen, Harry George Method of performing set operations on hierarchical objects
US6925470B1 (en) * 2002-01-25 2005-08-02 Amphire Solutions, Inc. Method and apparatus for database mapping of XML objects into a relational database
US20030188264A1 (en) * 2002-03-29 2003-10-02 Full Degree, Inc. Method and apparatus for XML data normalization
JP4388929B2 (ja) * 2002-12-27 2009-12-24 富士通株式会社 構造化文書の構造変換装置、構造変換方法、記録媒体
GB0306610D0 (en) * 2003-03-21 2003-04-30 British Telecomm Conversion of structured information
US7124147B2 (en) * 2003-04-29 2006-10-17 Hewlett-Packard Development Company, L.P. Data structures related to documents, and querying such data structures
US7870112B2 (en) * 2004-06-30 2011-01-11 Oracle International Corporation Efficient memory usage for unified document object model implementation for Java
GB0428365D0 (en) * 2004-12-24 2005-02-02 Ibm Methods and apparatus for generating a parser and parsing a document

Also Published As

Publication number Publication date
US20070055679A1 (en) 2007-03-08
JP2007058623A (ja) 2007-03-08

Similar Documents

Publication Publication Date Title
JP4246186B2 (ja) 構造化文書のデータ展開方法、データ処理方法及び処理システム
US8418053B2 (en) Division program, combination program and information processing method
JP4997749B2 (ja) 文書処理方法、プログラム及びシステム
US7114123B2 (en) User controllable data grouping in structural document translation
JP4189416B2 (ja) 構造化文書管理システム及びプログラム
US20090210780A1 (en) Document processing and management approach to creating a new document in a mark up language environment using new fragment and new scheme
US20080098018A1 (en) Secondary lazy-accessible serialization of electronic content
JP2002108850A (ja) 階層構造の構造化文書を変換する装置
JP2003203067A (ja) 構造化文書変換方法およびデータ変換方法
JP4388929B2 (ja) 構造化文書の構造変換装置、構造変換方法、記録媒体
JP2008090500A (ja) データ構造変換システム、プログラム及びデータ構造
JP2005234837A (ja) 構造化文書処理方法、構造化文書処理システム及びそのプログラム
US6175843B1 (en) Method and system for displaying a structured document
US7073122B1 (en) Method and apparatus for extracting structured data from HTML pages
JPH0652161A (ja) 文書処理方法及び文書処理装置
CA2422490C (en) Method and apparatus for extracting structured data from html pages
JP3788956B2 (ja) 構造化文書表示方法、構造化文書表示装置及びプログラム
JP4951407B2 (ja) コンテンツ部品検索方法及び装置
JP2003140960A (ja) Xmlデータのデータ変換方法及びプログラム
JP4887726B2 (ja) 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置
JP4606862B2 (ja) データ変換装置
JP4410005B2 (ja) 構造化文書の構造変換装置、プログラム
KR20140065389A (ko) 모듈의 구조 해석을 지원하는 장치 및 프로그램
JP2006154952A (ja) 構造化文書処理装置及び構造化文書処理方法、プログラム、記憶媒体
JP4786695B2 (ja) 構造化文書の構造変換装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140116

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees