JP2004302799A - コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法 - Google Patents

コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法 Download PDF

Info

Publication number
JP2004302799A
JP2004302799A JP2003094281A JP2003094281A JP2004302799A JP 2004302799 A JP2004302799 A JP 2004302799A JP 2003094281 A JP2003094281 A JP 2003094281A JP 2003094281 A JP2003094281 A JP 2003094281A JP 2004302799 A JP2004302799 A JP 2004302799A
Authority
JP
Japan
Prior art keywords
attribute
text
document
internal representation
list
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
JP2003094281A
Other languages
English (en)
Other versions
JP3815567B2 (ja
Inventor
Satoru Fujita
悟 藤田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2003094281A priority Critical patent/JP3815567B2/ja
Priority to US10/813,043 priority patent/US7231591B2/en
Publication of JP2004302799A publication Critical patent/JP2004302799A/ja
Application granted granted Critical
Publication of JP3815567B2 publication Critical patent/JP3815567B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/126Character encoding
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】ネットワークを介して通信された構造化文書を検証するために必要な演算量を抑制する。
【解決手段】本発明によるコンピュータシステムは、構造化文書の内部表現(13)を符号化して符号化文書(4)を作成する符号化手段(12)を含む送信側コンピュータ(1)と、ネットワーク(3)を介して符号化文書(4)を取得し、符号化文書(4)を復号して内部表現(23)を再構成する復号手段(22)を含む受信側コンピュータ(2)とを備ている。演算量を抑制するために、符号化手段(12)は、記述の重複が排除された検証支援情報(4a〜4e)を生成する手段を含み、復号手段(22)は、検証支援情報に基づいて文書の適合性を検証する手段を含む。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムに関し、特に、構造化文書(構造化テキスト)を相互に通信するコンピュータで形成されたコンピュータシステムに関する。
【0002】
【従来の技術】
構造化文書(構造化テキスト)は、文書のデータ構造をあらわす記述(タグ)を文書自体に埋め込んだ文書である。構造化文書は、データ構造について高い柔軟性と拡張性とを有しており、このような特長から、構造化文書は、異なるコンピュータ、及び異なるアプリケーション間のデータ交換に広く使用される。XML、及びSGMLは、典型的な構造化文書の規格である。
【0003】
構造化文書の構造を規定するために、文書型定義が使用される。例えば、XML文書の文書型定義としてDTD(Document Type Definition)及びXMLスキーマが使用される。文書型定義は、構造化文書自体に埋め込まれることも、構造化文書とは別に用意されることもある。構造化文書とは別途に用意されて文書型定義を記述したファイルは、文書構造定義ファイルと呼ばれる。
【0004】
構造化文書は、文書型定義に即した形式で正しく記述される必要がある。構造化文書が文書型定義に従わずに記述されていることは、その構造化文書を取り扱うコンピュータが該構造化文書の内容を正しく把握することを妨げる。このため、構造化文書は、そのデータ構造の妥当性が検証されることが望ましい。特許文献1は、構造化文書のデータ構造の検証について開示している。
【0005】
構造化文書の検証における一つの問題は、構造化文書を検証するために必要な演算量が大きいことである。構造化文書は、本質的に冗長性が大きく、その大きさが大きい傾向にある。この構造化文書の冗長性は、検証に必要な演算量を増加させ、このため、検証に必要なコストを増大させる。
【0006】
このような問題は、特に、構造化文書を一のコンピュータから他のコンピュータに伝送する場合に顕著になる。構造化文書を伝送する場合、該構造化文書は、送信側コンピュータと受信側コンピュータの両方で検証され得る。送信側コンピュータにおいて構造化文書の検証が行われても、受信した構造化文書のデータの完全性を保証するためには、受信側コンピュータにおいても構造化文書の検証が行われる必要がある。送信側コンピュータと受信側コンピュータの両方で構造化文書の検証が行われることは、検証に必要な演算量が大きいという問題を更に深刻にする。
【0007】
【特許文献1】
特開2001−75958号公報
【0008】
【発明が解決しようとする課題】
本発明の目的は、構造化文書を検証するために必要な演算量を抑制し、これにより検証に必要なコストを減少することにある。
本発明の他の目的は、構造化文書を送信側コンピュータから受信側コンピュータに伝送する場合に、受信側コンピュータが構造化文書を検証するために必要な演算量を抑制し、これにより検証に必要なコストを減少することにある。
【0009】
【課題を解決するための手段】
以下に、[発明の実施の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明の実施の形態]の記載との対応関係を明らかにするために付加されている。但し、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0010】
本発明によるコンピュータシステムは、構造化文書の内部表現(13)を符号化して符号化文書(4)を作成する符号化手段(12)を含む送信側コンピュータ(1)と、ネットワーク(3)を介して符号化文書(4)を取得し、符号化文書(4)を復号して内部表現(23)を再構成する復号手段(22)を含む受信側コンピュータ(2)とを備えている。符号化手段(12)は、該構造化文書に含まれる記述を重複することなく列挙することによって内部表現(13)から検証支援情報(4a〜4e)を生成する検証支援情報抽出手段(15)を含み、且つ、検証支援情報(4a〜4e)を含むように符号化文書(4)を生成する。復号手段(22)は、検証支援情報(4a〜4e)に基づいて、再構成される内部表現(23)のデータ構造が、所定の文書型宣言に適合しているかを検証する検証手段(25)を含む。当該コンピュータシステムでは、記述の重複が排除された検証支援情報(4a〜4e)に基づいて内部表現(23)のデータ構造の妥当性が検証される。このような構成は、検証手順の重複を排除し、従って、構造化文書を検証するために必要な演算量を抑制することができる。
【0011】
検証支援情報(4a〜4e)は、内部表現(13)を構成する要素のうち、テキストデータを要素内容として含むテキスト含有要素の要素テキストが、重複しないように列挙された要素テキストリスト(4c)を含み、文書型宣言は、テキスト含有要素の型を定義した要素型宣言を含み、検証手段(25)は、該要素テキストが、該型に適合するか否かを検証することが好適である。これにより、同一の要素テキストが内部表現(13)に複数含まれていても、該要素テキストの検証の重複を避けることができる。
【0012】
検証支援情報(4a〜4e)は、内部表現(13)を構成する要素のうち、属性を有する属性所有要素と、該属性の属性値である属性テキストとが、重複しないように列挙された属性テキストリスト(4d)を含み、文書型宣言は、属性の属性型を定義した属性型宣言を含み、検証手段(25)は、属性テキストが、属性型に適合するか否かを検証することが好適である。これにより、同一の属性テキストが内部表現(13)に複数含まれていても、該属性テキストの検証の重複を避けることができる。
【0013】
検証支援情報(4a〜4e)は、内部表現(13)に含まれる部分構造が、重複しないように列挙された部分構造リスト(4e)を含み、検証手段(25)は、該部分構造が、文書型宣言に定義された構文に適合するか否かを検証することが好適である。これにより、同一の部分構造が内部表現(13)に複数含まれていても、該部分構造の検証の重複を避けることができる。
【0014】
検証支援情報(4a〜4e)が、該要素の要素名を列挙した要素名リスト(4a)と、該属性の属性名を列挙した属性名リスト(4b)と、要素テキストリスト(4c)と、属性テキストリスト(4d)とを含む場合、該部分構造のそれぞれには、構造IDが与えられ、該要素テキストと該属性テキストとのそれぞれにテキストIDが与えられ、該部分構造の部分構造表現は、該要素の要素IDと、該要素が有する属性の属性IDと、該要素の子要素の要素IDと、該親要素が、要素テキストを含むことを示す記号とによって記述され、符号化文書(4)は、該構造IDと該テキストIDとによって内部表現(13)の全体の構造を表現する全体構造データ(4f)を含み、復号手段(22)は、要素名リスト(4a)と属性名リスト(4b)と全体構造データ(4f)とに基づいて内部表現(23)を再構成することが好適である。このような構成は、内部表現(13、23)の全体構成を、小さなデータ量で表現することを可能にする。
【0015】
本発明によるコンピュータは、構造化文書の内部表現を符号化して符号化文書(4)を作成する符号化手段(12)を備えている。符号化手段(12)は、該構造化文書に含まれる記述を重複することなく列挙することによって内部表現から検証支援情報(4a〜4e)を生成する検証支援情報抽出手段(25)を含み、且つ、検証支援情報(4a〜4e)を含むように符号化文書(4)を生成する。このようなコンピュータは、上記のコンピュータシステムを好適に実現する。
【0016】
本発明によるコンピュータは、ネットワーク(3)を介して符号化文書(4)を取得し、符号化文書(4)を復号して構造化文書の内部表現を再構成する復号手段(22)を備えている。符号化文書(4)は、該構造化文書に含まれる記述が重複することなく列挙された検証支援情報(4a〜4e)を含んでいる。
復号手段(22)は、検証支援情報(4a〜4e)に基づいて、再構成される内部表現(23)のデータ構造が、所定の文書型宣言に適合しているかを検証する検証手段(25)を含む。このようなコンピュータは、上記のコンピュータシステムを好適に実現する。
【0017】
本発明による構造化文書通信方法は、
(a)構造化文書の内部表現(13)を符号化して符号化文書(4)を作成するステップと、
(b)ネットワーク(3)を介して符号化文書(4)を取得し、符号化文書(4)を復号して内部表現(23)を再構成するステップ
とを備えている。
該(a)ステップは、
(a1)前記構造化文書に含まれる記述を重複することなく列挙することによって内部表現(13)から検証支援情報(4a〜4e)を生成するステップと、
(a2)前記検証支援情報(4a〜4e)を含むように前記符号化文書(4)を生成するステップ
とを含む。該(b)ステップは、
(b1)検証支援情報(4a〜4e)に基づいて、再構成され内部表現(23)のデータ構造が、所定の文書型宣言に適合しているかを検証するステップ
を含む。このような構造化文書通信方法は、記述の重複が排除された検証支援情報(4a〜4e)に基づいて内部表現(23)のデータ構造の妥当性を検証する。従って、当該構造化文書通信方法は、検証手順の重複を排除し、従って、構造化文書を検証するために必要な演算量を抑制することができる。
【0018】
本発明によるコンピュータプログラムは、
(a1)構造化文書に含まれる記述を重複することなく列挙することによって該構造化文書の内部表現(13)から検証支援情報(4a〜4e)を生成するステップと、
(a2)検証支援情報(4a〜4e)を含むように符号化文書(4)を生成するステップ
とをコンピュータ(1)に実行させる。当該コンピュータプログラムは、上述のコンピュータシステムの実現に好適に使用される。
【0019】
本発明によるコンピュータプログラムは、
(b)ネットワーク(3)を介して符号化文書(4)を取得し、符号化文書(4)を復号して構造化文書の内部表現(23)を再構成するステップ
をコンピュータに実行させるコンピュータプログラムである。符号化文書(4)は、該構造化文書に含まれる記述が重複することなく列挙された検証支援情報(4a〜4e)を含む。該(b)ステップは、
(b1)検証支援情報(4a〜4e)に基づいて、再構成される内部表現(23)のデータ構造が、所定の文書型宣言に適合しているかを検証するステップ
を含む。当該コンピュータプログラムは、上述のコンピュータシステムの実現に好適に使用される。
【0020】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の実施の一形態を説明する。本発明によるコンピュータシステムの実施の一形態では、図1に示されているように、送信側コンピュータ1と受信側コンピュータ2とが設けられる。
【0021】
送信側コンピュータ1には、構造化文書、(例えば、XML文書、及びSGML文書)に対応したアプリケーションプログラム11と構造化文書符号化モジュール12とがインストールされている。アプリケーションプログラム11は、受信側コンピュータ2に送信しようとする構造化文書の内部表現である構造化文書内部表現13を生成する。図10に示されているように、アプリケーションプログラム11は、典型的には、外部から構造化文書13’を受け取り、受け取った構造化文書13’の構造化文書内部表現13を生成するプログラムである。
【0022】
図1に示されているように、送信側コンピュータ1には、送信側コンピュータ2が取り扱う構造化文書の構造を示す文書型宣言を記述した文書構造定義ファイル14が用意されることがある。文書構造定義ファイル14に記述される文書型宣言には、構造化文書内部表現13が表現する構造化文書の文書構造の規則が記述される。より具体的には、文書型宣言は、構造化文書に含まれる要素の型を定義する要素型宣言、要素に与えられる属性の型を定義する属性型宣言を含んでいる。
【0023】
文書構造定義ファイル14が用意される場合、構造化文書内部表現13は、文書構造定義ファイル14に記述されている文書型宣言に従って記述される必要がある。当該コンピュータシステムがXMLを使用する場合、文書型宣言としては、例えば、DTD、XMLスキーマが使用される。
【0024】
構造化文書符号化モジュール12は、アプリケーションプログラム11から渡された構造化文書内部表現13を符号化して符号化文書4を生成するコンピュータプログラムである。生成された符号化文書4は、ネットワーク3を介して受信側コンピュータ2に送信される。
【0025】
受信側コンピュータ2には、アプリケーションプログラム21と構造化文書復号化モジュール22とがインストールされている。構造化文書復号化モジュール22は、受信側コンピュータ2が受信した符号化文書4を復号化して、構造化文書内部表現23を生成するために使用される。アプリケーションプログラム21は、復号化文章復号化モジュール21から構造化文書内部表現23を受け取り、所望の処理を行う。図10に示されているように、アプリケーションプログラム21は、典型的には、構造化文書内部表現23から、それによって表現されている構造化文書24’を再生するプログラムである。送信側コンピュータ1から受信側コンピュータ2への通信の間にエラーが発生しなければ、構造化文書内部表現23は、送信側コンピュータ1のアプリケーションプログラム11が生成する構造化文書内部表現13に一致する。
【0026】
図1に示されているように、受信側コンピュータ2は、受信側コンピュータ2が取り扱う構造化文書が従うべき文書型宣言を記述した文書構造定義ファイル24を保存している。送信側コンピュータ1に用意され得る文書構造定義ファイル14と同様に、文書構造定義ファイル24に記述されている文書型宣言は、構造化文書内部表現23に表現された構造化文書の文書構造の規則を記述している。より具体的には、文書構造定義ファイル24に記述されている文書型宣言は、構造化文書に含まれる要素の型を定義する要素型宣言、要素に与えられる属性の型を定義する属性型宣言を含んでいる。送信側コンピュータ1に文書構造定義ファイル14が用意される場合、受信側コンピュータ2に用意される文書構造定義ファイル24と送信側コンピュータ1に用意される文書構造定義ファイル14とは、一致される必要がある。
【0027】
受信側コンピュータ2が構造化文書内部表現23の内容を正しく把握するためには、構造化文書内部表現23が文書構造定義ファイル24に含まれる文書型宣言に従って記述されていること(このような構造化文書内部表現23の性質は、「構造化文書内部表現23の妥当性」と呼ばれる。)が保証されなくてはならない。構造化文書内部表現23がXML文書の内部表現である場合、これは、構造化文書内部表現23によって表現されるXML文書が「妥当なXML文書(valid XML document)」であることを保証することに相当する。
【0028】
しかし、既述のように、構造化文書は冗長であるから、構造化文書内部表現23を直接に検証して構造化文書内部表現23の妥当性を保証することは、それに必要な演算量が大きく好ましくない。
【0029】
構造化文書内部表現23の妥当性を保証するために、符号化文書4が下記に述べられるような特別な形式で生成され、その符号化文書4に基づいて構造化文書内部表現23の妥当性が検証される。必要な演算量を抑えて構造化文書内部表現23の妥当性の保証を容易化するために、符号化文書4は、下記の2つの特性を備えている。第1に、符号化文書4は、検証支援情報を含んで構成されている。検証支援情報とは、受信側コンピュータ2において構造化文書内部表現23の妥当性の保証に使用される情報である。第2に、符号化文書4は、構造化文書内部表現13の冗長性を排除しながら、構造化文書内部表現13と同等の内容を記述している。既述のように、構造化文書の冗長性は、その検証に必要な演算量を増加させる。冗長性が少ない符号化文書4に基づいて構造化文書内部表現23の妥当性を保証することにより、妥当性の保証に必要な演算量が抑制される。
【0030】
図2は、符号化文書4の具体的な構造を示している。符号化文書4は、要素名リスト4aと、属性名リスト4bと、要素テキストリスト4cと、属性テキストリスト4dと、部分構造リスト4eと、全体文書構造データ4fとを含んでいる。
【0031】
要素名リスト4aは、送信側コンピュータ1のアプリケーションプログラム11によって提供される構造化文書内部表現13に含まれる要素の要素名を列挙したリストである。図3は、要素名リスト4aの内容の例を示している。要素名リスト4aは、構造化文書内部表現13に含まれる要素のそれぞれについて、要素に固有に与えられた要素IDと、その要素の要素名とを記述している。図3を参照すると、例えば、要素ID”E01”が与えられた要素の要素名は、”要素名A”である。
【0032】
要素名リスト4aにおいて、同一の要素名は、重複して列挙されない。ある要素名を有する要素が構造化文書内部表現13に複数回現れても、要素名リスト4aには、その要素名は一度しか現れない。
【0033】
属性名リスト4bは、構造化文書内部表現13中で使用されている属性の属性名を列挙したリストである。図4は、属性名リスト4bの内容の例を示している。属性名リスト4aは、構造化文書内部表現13中で使用されている属性のそれぞれに固有に与えられた属性IDと、その属性の属性名とを記述している。図4を参照すると、例えば、属性ID”A01”が与えられている属性の属性名は、”属性名A”である。
【0034】
属性名リスト4bにおいて、同一の属性名は、重複して列挙されない。ある属性名を有する属性が構造化文書内部表現13に複数回現れても、属性名リスト4bには、その属性名は一度しか現れない。
【0035】
要素テキストリスト4cは、構造化文書内部表現13に含まれる要素の要素テキストを列挙したリストである。要素テキストとは、テキストデータである要素内容である。図5は、要素テキストリスト4cの内容の例を示している。要素テキストリスト4cは、構造化文書内部表現13に含まれる全要素のうち、要素テキストを含む要素の要素IDと、その要素に含まれる要素テキストと、その要素テキストに固有に与えられたテキストIDとを記述している。構造化文書では、ある要素の要素内容は、子要素のみで構成されることが許されているから、全ての要素が要素テキストリスト4cに記載されているとは限らないことに留意されたい。図5を参照すると、例えば、要素ID”E01”が与えられている要素の要素内容は、テキストID”T01”が与えられている要素テキスト”テキストA”と、テキストID”T02”が与えられている要素テキスト”テキストB”と、テキストID”T03”が与えられている要素テキスト”テキストC”とを含んでいる。
【0036】
要素テキストリスト4cにおいて、同一の要素テキストは、重複して列挙されない。ある要素テキストが構造化文書内部表現13に複数回現れても、要素テキストリスト4cには、その要素テキストは一度しか現れない。
【0037】
属性テキストリスト4dは、構造化文書内部表現13中で使用されている属性の属性テキストを列挙したリストである。ある属性の属性テキストとは、その属性の属性値を示すテキストデータである。図6は、属性テキストリスト4dの内容の例を示している。属性テキストリスト4dは、構造化文書内部表現13中で使用されている属性の属性IDと、その属性の属性テキストと、その属性テキストに固有に与えられたテキストIDとを記述している。ある属性テキストのテキストIDは、他の属性テキストのテキストIDと異なるとともに、上述の要素テキストのテキストIDとも異なるように定められる。
【0038】
図6を参照すると、例えば属性ID”A01”が与えられている属性の属性テキスト(属性値)は、テキストID”T01”が与えられている属性テキスト”テキストA”である。
【0039】
属性テキストリスト4dにおいて、同一の属性テキストは、重複して列挙されない。ある属性テキストが構造化文書内部表現13に複数回現れても、属性テキストリスト4cには、その属性テキストは一度しか現れない。
【0040】
部分構造リスト4eは、構造化文書内部表現13に現れる部分構造を示す部分構造表現を列挙したリストである。部分構造は、一の要素(親要素)と、その要素の子要素とから構成される。部分構造には、親要素の子要素の子要素は、含まれないことに留意されたい。部分構造表現は、このような部分構造を表現する記載である。ある要素(親要素)の部分構造表現は、
(1)親要素の要素ID
(2)親要素に規定されている属性の属性ID、
(2)親要素に含まれる子要素の要素ID
(3)親要素が要素テキストを含む場合、該親要素が要素テキストを含むことを示す記号
を含む。
【0041】
図7は、部分構造リスト4eの内容の例を示す。部分構造リスト4eは、部分構造のそれぞれに固有に与えられた構造IDとその部分構造の部分構造表現とを記述している。部分構造表現の先頭には、その部分構造を構成する親要素の要素IDが記述される。図7を参照すると、例えば構造ID”S01”が与えられている部分構造は、要素ID”E01”を有する親要素を含む。その親要素には、属性ID”A01”を有する属性が規定され、更に、その親要素は、属性ID”E02”を有する子要素を2つ含んでいる。また、構造ID”S04”が与えられている部分構造は、要素ID”E01”を有する親要素を含む。この要素は、ある要素テキストを含む。図7において記号”T”は、要素ID”E01”を有する要素が、要素テキストを含むことを意味している。構造ID”S04”が与えられている部分構造表現には、親要素以外の要素IDは含まれておらず、これは、該親要素は子要素を含まないことを示している。
【0042】
部分構造リスト4eにおいて、同一の部分構造は、重複して列挙されない。ある部分構造が構造化文書内部表現13に複数回現れても、部分構造リスト4eには、その部分構造は一度しか現れない。
【0043】
全体文書構造データ4fは、構造化文書内部表現13の全体の構造を示すデータであり、構造IDとテキストIDとによって記述される。全体文書構造データ4fには、構造IDに続いて、該構造IDで特定される部分構造の親要素の要素テキスト、又は、その親要素に与えられている属性の属性テキスト(属性値)のテキストIDが記述される。例えば、構造ID”S04”によって特定される部分構造の部分構造表現が、”E04 T”であり、要素ID”E04”によって特定される要素名が”D”であり、テキストID”T04”によって特定される要素テキストが、”テキストD”であるとする。全体文書構造データ4fが”S04 T04”という記載を含む場合、その記載は、要素名が”D”である要素の要素テキストが”テキストD”であることが表している。構造IDとテキストIDとによって記述される全体文書構造データ4fは、より小さなデータ量で、構造化文書内部表現13の全体の構造を記述することができる。
【0044】
上述の要素名リスト4aと、属性名リスト4bと、要素テキストリスト4cと、属性テキストリスト4dと、部分構造リスト4eと、全体文書構造データ4fとは、符号化データ4を復号化して構造化文書内部表現13と同一の構造化文書内部表現23を復元するために必要な情報を全て含んでいる。
【0045】
要素名リスト4aと、属性名リスト4bと、要素テキストリスト4cと、属性テキストリスト4dと、部分構造リスト4eとは、構造化文書内部表現23を復元するのに必要な情報であるとともに、受信側コンピュータ2における構造化文書内部表現23の妥当性の保証に使用される検証支援情報としても機能する。要素名リスト4aと要素テキストリスト4cとは、構造化文書内部表現23に含まれている要素の要素テキストが、その要素について文書構造定義ファイル24に宣言されている要素型に適合することを検証するために使用される。属性名リスト4bと属性テキストリスト4dとは、構造化文書内部表現23で使用されている属性の属性テキストが、その属性について文書構造定義ファイル24に宣言されている属性型に適合することを検証するために使用される。部分構造リスト4eは、構造化文書内部表現23で使用されている部分構造が、文書構造定義ファイル24に定義されている文書構造に適合することを検証するために使用される。これらを検証することにより、符号化文書4を復号化して構造化文書内部表現23を復元する前に、構造化文書内部表現23の妥当性を保証することが可能になる。
【0046】
上述のように、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eからは、重複が排除されている。これは、構造化文書内部表現23の妥当性を保証するために必要な演算の演算量を有効に減少する。要素テキストリスト4cにおいて、同一の要素テキストが重複して列挙されないことは、該要素テキストの妥当性の検証を重複して行う必要をなくす。更に、属性テキストリスト4dにおいて、同一の属性テキストが重複して列挙されないことは、該属性テキストの妥当性の検証を重複して行う必要をなくす。加えて、部分構造リスト4eにおいて、同一の部分構造が重複して列挙されないことは、該部分構造の妥当性の検証を重複して行う必要をなくす。このように、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eにおける重複の排除により、構造化文書内部表現23の妥当性を保証するために必要な演算の演算量が抑制される。
【0047】
図8は、符号化文書4を生成する構造化文書符号化モジュール12の構成を示す。構造化文書符号化モジュール12は、検証支援情報抽出モジュール15と、全体文書構造抽出モジュール16と、符号化文書出力モジュール17とを備えている。
【0048】
検証支援情報抽出モジュール15は、要素名/属性名抽出モジュール15aと、テキスト抽出モジュール15bと、部分構造抽出モジュール15cとを含む。要素名/属性名抽出モジュール15aは、構造化文書内部表現13から、要素名と属性名とを抽出して、要素名リスト4aと属性名リスト4bとを作成する。テキスト抽出モジュール15bは、構造化文書内部表現13から要素テキスト及び属性テキストとを抽出して、要素テキストリスト4cと属性テキストリスト4dとを作成する。要素テキストリスト4cと属性テキストリスト4dとの作成には、要素名/属性名抽出モジュール15aによって生成された要素名リスト4aと属性名リスト4bが使用される。部分構造抽出モジュール15cは、構造化文書内部表現13から部分構造を抽出して部分構造リスト4eを作成する。部分構造抽出モジュール15cは、抽出した部分構造のそれぞれに構造IDを与え、更に、部分構造の構造IDとその部分構造表現とを列挙して部分構造リスト4eを作成する。
【0049】
要素名/属性名抽出モジュール15a、テキスト抽出モジュール15b、及び部分構造抽出モジュール15cは、送信側コンピュータ1が文書構造定義ファイル14を有している場合に文書構造定義ファイル14を利用して要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eを効率的に作成するように構成されていることが好適である。
【0050】
全体文書構造抽出モジュール16は、構造化文書内部表現13から全体構造データ4fを作成する。全体文書構造抽出モジュール16は、構造化文書内部表現13に基づいて構造化文書の全体構造を把握し、その全体構造を構造IDとテキストIDとで表現する全体構造データ4fを生成する。
【0051】
符号化文書出力モジュール17は、要素名リスト4aと、属性名リスト4bと、要素テキストリスト4cと、属性テキストリスト4dと、部分構造リスト4eと、全体構造データ4fとを統合して、符号化文書4を生成する。
【0052】
図9は、符号化文書4を復号して構造化文書内部表現23を再生する構造化文書復号化モジュール22の構成を示す。構造化文書復号化モジュール22は、検証モジュール25と、符号化文書入力モジュール26と、構造化文書内部表現出力モジュール27とを備えている。
【0053】
符号化文書入力モジュール26は、符号化文書4を展開して、要素名リスト4aと、属性名リスト4bと、要素テキストリスト4cと、属性テキストリスト4dと、部分構造リスト4eと、全体構造データ4fとを生成する。
【0054】
検証モジュール25は、テキスト型検証モジュール25aと部分構造検証モジュール25bとを含む。テキスト型検証モジュール25aは、要素テキストリスト4cに列挙された要素テキストと、属性テキストリスト4dに列挙された属性テキストとが、文書構造定義ファイル24に記述されている文書型宣言に適合しているかを検証する。部分構造検証モジュール25bは、部分構造リスト4eに列挙された部分構造が、文書構造定義ファイル24に規定されている型に適合しているかを検証する。
【0055】
構造化文書内部表現出力モジュール27は、要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、部分構造リスト4e及び全体構造データ4fから構造化文書内部表現23を再生する。
【0056】
続いて、本実施の形態におけるコンピュータシステムの動作が説明される。図11及び図12は、構造化文書符号化モジュール12が構造化文書内部表現13から符号化文書4を生成するために行う処理を示すフローチャートである。構造化文書符号化モジュール12に構造化文書内部表現13が与えられ、構造化文書符号化モジュール12の実行が開始されると(ステップS01)、構造化文書符号化モジュール12は、何も列挙されていない要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eを生成する。更に、構造化文書符号化モジュール12は、構造化文書内部表現13に記述されている要素のうち、要素名/属性名抽出モジュール15aが処理すべき要素を選択する。選択された要素は、以下において、処理対象要素と呼ばれる。構造化文書符号化モジュール12の実行が開始された直後においては、ルート要素(即ち、最上位の要素)が処理対象要素として選択される。
【0057】
要素名/属性名抽出モジュール15aは、処理対象要素の要素名を抽出する(ステップS02)。更に、要素名/属性名抽出モジュール15aは、処理対象要素の要素名が要素名リスト4aに登録されているかを調べる(ステップS03)。登録されていない場合、要素名/属性名抽出モジュール15aは、処理対象要素の要素名を、処理対象要素の要素IDとともに要素名リスト4aに登録する(ステップS04)。ステップS03、S04の処理により、要素名は、重複することなく要素名リスト4aに登録される。
【0058】
更に、要素名/属性名抽出モジュール15aは、処理対象要素が属性を持つかを調べる(ステップS05)。処理対象要素が属性を持たない場合には、構造化文書符号化モジュール12の処理は、図12に示されているステップS14にジャンプする。
【0059】
処理対象要素が属性を持つ場合には、要素名/属性名抽出モジュール15aは、処理対象要素が有する属性の一つを選択する(ステップS06)。処理対象要素が属性を一つしか有しない場合には、その属性が自動的に選択される。
【0060】
続いて、要素名/属性名抽出モジュール15aは、選択された属性の属性名を、構造化文書内部表現13から抽出する(ステップS07)。更に、要素名/属性名抽出モジュール15aは、選択された属性の属性名が属性名リスト4bに登録されているかを調べる。(ステップS08)。登録されていない場合、要素名/属性名抽出モジュール15aは、選択された属性の属性名を、その属性の属性IDとともに属性名リスト4bに登録する(ステップS09)ステップS08、S09の処理により、属性名は、重複することなく属性名リスト4bに登録される。
【0061】
更に、要素名/属性名抽出モジュール15aは、処理対象要素に規定されている全ての属性についてステップS07からステップS12の処理、即ち、属性登録処理が行われたかを調べる。属性登録処理が全ての属性について行われていない場合、属性登録処理が行われていない属性について属性登録処理が行われる。
【0062】
処理対象要素に規定されている全ての属性について属性登録処理が行われると、図12に示されているように、テキスト抽出モジュール15bは、処理対象要素が要素テキストを有するかを調べる(ステップS14)。有しない場合、構造化文書符号化モジュール12の処理は、ステップS18にジャンプする。処理対象要素が要素テキストを有する場合、テキスト抽出モジュール15bは、その要素テキストが要素テキストリスト4cに登録されているかを調べる(ステップS11)。登録されていない場合、テキスト抽出モジュール15bは、その要素テキストにテキストIDを与え、更に、その要素テキストを、処理対象要素の要素IDとテキストIDとともに要素テキストリスト4cに登録する。ステップS10及びステップS11の処理により、要素テキストは、重複することなく要素テキストリスト4cに登録される。
【0063】
続いて、部分構造抽出モジュール15cは、処理対象要素を親要素として有する部分構造を構造化文書内部表現13から抽出し、その部分構造の部分構造表現を取得する(ステップS18)。既述の通り、部分構造表現は、要素IDと属性IDで表現されている。部分構造リスト4eの作成に使用される要素IDは、要素名を検索キーとして要素名リスト4aを検索することによって取得され、属性IDは、属性名を検索キーとして属性名リスト4bを検索することによって取得される。
【0064】
更に部分構造抽出モジュール15cは、抽出した部分構造が部分構造リスト4eに登録されているかを調べる(ステップS19)。登録されていない場合、部分構造抽出モジュール15cは、該部分構造に構造IDを与え、更に、該部分構造の部分構造表現を、構造IDとともに部分構造リスト4eに登録する。
【0065】
続いて、構造化文書符号化モジュール12は、処理対象要素が子要素を有するかを調べる(ステップS21)。有する場合、構造化文書符号化モジュール12は、該処理対象要素の子要素のうちの一つを選択する(ステップS22)。更に、構造化文書符号化モジュール12は、選択された子要素を処理対象要素としてステップS02以下の手順を再帰的に実行する(ステップS23)。これにより、選択された子要素の要素名と要素IDが要素リスト4aに登録され、その子要素に与えられている属性の属性名と属性IDとが属性リスト4bに登録され、その属性の属性テキスト(属性値)が属性テキストリスト4dに登録され、その子要素の要素テキストが要素テキストリスト4cに登録され、その子要素を親要素とする部分構造が部分構造リスト4dに登録される。選択された子要素が、更に子要素を有する場合も同様の処理が行われる。
【0066】
全ての要素についてステップS02からステップS23の処理が行われると、全体文書構造抽出モジュール16は、構造化文書内部表現13を構造IDとテキストIDとで表現する全体構造データ4fを生成する。
【0067】
更に、符号化文書出力モジュール17が、要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、部分構造リスト4e及び全体構造データ4fを統合して符号化文書4を生成し、符号化文書4の生成処理が完了する(ステップS26)。
【0068】
図13は、構造化文書復号化モジュール22が、符号化文書4から生成されるべき構造化文書内部表現23の妥当性を検証し、更に、符号化文書4から構造化文書内部表現23を復元する処理を示すフローチャートである。まず、構造化文書復号化モジュール22が符号化文書4を受け取ると、構造化文書復号化モジュール22の符号化文書入力モジュール26は、符号化文書4から、要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、部分構造リスト4e、及び全体構造データ4fを抽出する(ステップS32〜S37)。
【0069】
更に、構造化文書復号化モジュール22のテキスト型検証モジュール25aは、要素テキストリスト4cに列挙された要素テキストを検証する(ステップS38)。要素テキストの検証は、下記の手順で行われる。テキスト型検証モジュール25aは、要素テキストリスト4cに列挙された要素テキストを有する要素の要素名を、要素IDを検索キーとして要素名リスト4aを検索して取得する。更にテキスト型検証モジュール25aは、取得した要素名を検索キーとして文書構造定義ファイル24を検索し、その要素名を有する要素の要素型宣言を取得する。更にテキスト型検証モジュール25aは、要素テキストが、要素型宣言に規定された型に適合しているかを判定する(ステップS39)。要素テキストが、要素型宣言に規定された型に適合していない場合、即ち、要素テキストに要素型違反がある場合、要素型違反の発生を通知する要素型違反通知を生成する。要素型違反通知は、受信側コンピュータ2の表示装置に表示され、更に、送信側コンピュータ1に送信されて送信側コンピュータ1の表示装置に表示される(ステップS44)。要素型違反が発生した場合、構造化文書内部表現23の復元は行われず、構造化文書復号化モジュール22の処理は終了する(ステップS47)。
【0070】
要素型違反が発生していない場合、テキスト型検証モジュール25aは、更に、属性テキストリスト4dに列挙された属性テキストを検証する(ステップS40)。属性テキストの検証は下記の手順で行われる。テキスト型検証モジュール25aは、属性テキストリスト4dに列挙された属性テキストを属性値として有する属性の属性名を、属性IDを検索キーとして属性名リスト4bを検索して取得する。更にテキスト型検証モジュール25aは、取得した属性名を検索キーとして文書構造定義ファイル24を検索し、その属性名を有する属性の属性型宣言を取得する。更にテキスト型検証モジュール25aは、属性テキストが、属性型宣言に規定された型に適合しているかを判定する(ステップS41)。属性テキストが、属性型宣言に規定された型に適合していない場合、即ち、属性テキストに属性型違反がある場合、属性型違反の発生を通知する属性型違反通知を生成する。属性型違反通知は、受信側コンピュータ2の表示装置に表示され、更に、送信側コンピュータ1に送信されて送信側コンピュータ1の表示装置に表示される(ステップS44)。属性型違反が発生した場合、構造化文書内部表現23の復元は行われず、構造化文書復号化モジュール22の処理は終了する(ステップS47)。
【0071】
属性型違反が発生していない場合、部分構造検証モジュール25bは、部分構造リスト4eに列挙されている部分構造を検証する(ステップS42)。部分構造の検証は、下記の手順で行われる。部分構造検証モジュール25bは、部分構造リスト4eに列挙された部分構造の部分構造表現に現れている要素IDを検索キーとして要素名リスト4aを検索する。部分構造検証モジュール25bは、要素名リスト4aを検索することにより、その部分構造に関係している要素の要素名を取得する。更に、その部分構造に関係している要素のうち、親要素の要素名を検索キーとして文書構造定義ファイル24を検索し、その部分構造が取るべき型を取得する。部分構造検証モジュール25bは、その部分構造が、文書構造定義ファイル24に規定された型に適合しているかを判定する(ステップS43)。部分構造が、文書構造定義ファイル24に規定されている型に適合しない場合、部分構造の型違反の発生を通知する部分構造型違反通知を生成する。部分構造型違反通知は、受信側コンピュータ2の表示装置に表示され、更に、送信側コンピュータ1に送信されて送信側コンピュータ1の表示装置に表示される(ステップS44)。部分構造型違反が発生した場合、構造化文書内部表現23の復元は行われず、構造化文書復号化モジュール22の処理は終了する(ステップS47)。
【0072】
要素型違反、属性型違反、及び部分構造型違反のいずれも発生しなかった場合、構造化文書内部表現出力モジュール27は、要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、部分構造リスト4e及び全体構造データ4fから構造化文書内部表現23を再生する。構造化文書内部表現出力モジュール27は、要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eを参照して全体構造データ4fを解析する。構造化文書内部表現出力モジュール27は、全体構造データ4fを解析することによって構造化文書内部表現23に含まれるべき要素の要素名、その要素の要素内容(即ち、要素テキスト及び子要素の要素名)、その要素に定められた属性の属性名、属性の属性テキスト(属性値)を把握し、更に構造化文書内部表現23を生成する。
【0073】
更に構造化文書内部表現出力モジュール27は、型違反が発生しなかったことを通知する正常通知を生成する。正常通知は、受信側コンピュータ2の表示装置に表示され、更に、送信側コンピュータ1に送信されて送信側コンピュータ1の表示装置に表示される(ステップS46)。構造化文書復号化モジュール22の処理は終了する(ステップS47)。
【0074】
このように、構造化文書復号化モジュール22は、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eに基づいて構造化文書内部表現23の妥当性を検証し、その妥当性が保証された後に構造化文書内部表現23を復元する。このような検証方法は、構造化文書内部表現23の妥当性を保証するために必要な演算の演算量を有効に減少する。上述のように、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eからは、重複が排除されている。要素テキストリスト4cにおいて、同一の要素テキストが重複して列挙されないことは、該要素テキストの妥当性の検証を重複して行う必要をなくす。更に、属性テキストリスト4dにおいて、同一の属性テキストが重複して列挙されないことは、該属性テキストの妥当性の検証を重複して行う必要をなくす。加えて、部分構造リスト4eにおいて、同一の部分構造が重複して列挙されないことは、該部分構造の妥当性の検証を重複して行う必要をなくす。このように、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eにおける重複の排除により、構造化文書内部表現23の妥当性を保証するために必要な演算の演算量が抑制される。
【0075】
以下では、構造化文書の処理の実施例が、説明される。
【0076】
【実施例】
本実施例では、図14に示されているXML文書について上記の実施の形態が適用される。該XML文書の構造がアプリケーションプログラム11によって解析され、構造化文書内部表現13が生成される。生成された構造化文書内部表現は、構造化文書符号化モジュール12に引き渡される
【0077】
ステップS01において要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eが初期化され、更に、ルート要素”Addressbook”が処理対象要素として選択される。ステップS02においてルート要素の要素名”Addressbook”が抽出される。この要素名は要素名リスト4aに登録されていない。従って、ステップS04において、図15に示されているように、ルート要素の要素ID”E01”と要素名”Addressbook”とが要素名リスト4aに登録される。
【0078】
ステップS05において処理対象要素であるルート要素が属性を有するかが調べられる。図14に示されているように、ルート要素は、属性”owner”を有する。ステップS06において属性”owner”が選択され、ステップS07においてその属性の属性名”owner”が抽出される。その属性名は、属性リスト4bに登録されていない(ステップS08)。そのため、ステップS09において、図16に示されているように、該属性の属性ID”A01”と属性名”owner”とが属性名リスト4bに登録される。更に、ステップS10において、該属性の属性テキスト”Suzuki”が抽出される。属性テキスト”Suzuki”は、属性テキストリスト4dに登録されていない(ステップS11)。そのため、ステップS12において、図18に示されているように、該属性の属性ID”A01”と、該属性テキストのテキストID”T10”と、属性テキスト”Suzuki”とが属性テキストリスト4dに登録される。ルート要素は、他の属性を有しないため(ステップS13)、ステップS06からステップS12までの処理は完了する。
【0079】
続いて、ステップS14において、処理対象要素であるルート要素が要素テキストを有するかが判断される。ルート要素は、その要素内容として要素テキストを有しないので、処理がステップS18にジャンプする。
【0080】
ステップS18では、ルート要素”Addressbook”を親要素として有する部分構造が抽出される。即ち、ルート要素に与えられた属性と、ルート要素の子要素とが抽出される。該部分構造の部分構造表現は親要素(ルート要素)の要素ID、親要素の属性の属性ID、及び子要素の要素IDで記述される。ルート要素の子要素”Person”の要素IDを”E02”とすると、ルート要素を親要素として有する部分構造の部分構造表現は、例えば、”E01 A01E02 E02”と定められる。本実施例では、部分構造表現は、親要素の要素ID、親要素が有する属性の属性ID、及び子要素の要素IDが、この順に記載されるという規則に従って作成されている。親要素が属性を複数有する場合には、その属性IDが順次に並べられ、親要素が子要素を複数有する場合には、その要素IDが順次に並べられる。
【0081】
更に、ステップS19では抽出された部分構造が部分構造リスト4eに登録されているかが判断される。ルート要素”Addressbook”を親要素として有する部分構造は登録されていないので、図19に示されているように、ステップS20において該部分構造に構造ID”S01”が与えられ、更に、該部分構造の部分構造表現”E01 A01 E02 E02”が、構造ID”S01”とともに部分構造リスト4eに登録される。
【0082】
続いて、ステップS21においてルート要素”Addressbook”が子要素を有するかが判断される。図14に示されているように、ルート要素は、子要素”Person”を2つ有している。子要素”Person”が処理対象要素として順次に選択され、ステップS02からS22までの処理が、再帰的に実行される(ステップS22〜24)。
【0083】
図14のXML文書を基にして生成される要素名リスト4aが図15に示され、属性名リスト4bが図16に示され、要素テキストリスト4cが図17に示され、属性テキストリスト4dが図18に示され、部分構造リスト4eが図19に示されている。
【0084】
更に、全体構造データ4fが生成される。図14に示されているXML文書の全体構成は、図19の部分構造リスト4eに示されている構造IDと、図17、図18の要素テキストリスト4c及び属性テキストリスト4dに列挙されているテキストIDとを用いて、例えば、
Figure 2004302799
と表現される。本実施例では、下記の規則に従って全体構造データ4fが生成されている。最上位の階層の要素を親要素とする部分構造の構造IDが先頭に置かれ、該親要素の属性の属性テキスト及び該親要素の要素テキストのテキストIDが次に並べられる。更に、該親要素の子要素を親要素とする部分構造の構造IDが並べられる。以下再帰的に、該子要素の属性の属性テキスト及び該子要素の要素テキストのテキストIDが並べられ、該子要素の子要素を親要素とする部分構造の構造IDが並べられる。
【0085】
上記の全体構造データ4fを理解しやすくするために括弧を挿入すると、全体構造データ4fは、”S01 T10 (S02 (S03 (S04 T01) (S05 T02)) (S06 (S07 T04) (S08 T05) (S09 T06)) (S10 T08)) (S11 (S03 (S04 T01) (S05 T03)) (S12 (S07 T04) (S08 T05) (S09 T07) (S13 T09))))”と表現される。
【0086】
先頭の”S01”は、構造ID”S01”を有する部分構造に含まれる親要素がルート要素であることを示している。構造ID”S01”が与えられている部分構造の部分構造表現”E01 A02 E02 E02”は、要素ID”E01”を有する要素(要素”Addressbook”、図15参照)がルート要素であることを示している。ルート要素の要素名は、図15に示されている要素名リスト4aから”Addressboook”であることがわかる。
【0087】
更に、構造ID”S01”を有する部分構造の部分構造表現”E01 A02E02 E02”は、そのルート要素は、属性ID”A01”を有する属性(属性”owner”、図16参照)を有し、且つ、要素ID”E02”を有する要素(要素”Person”、図15参照)を2つ有していることを示している。全体構造データ4fの”S01”に続く”T10”は、その属性の属性値がテキストID”T10”を有する属性テキスト”Suzuki”(図18参照)であることを示している。
【0088】
要素ID”E02”を有する2つの要素”Person”のうちの最初の一方には、表現(S02 … )が割り当てられ、2番目の方には、表現(S11 … )が割り当てられる。表現(S02 … )に含まれる構造ID”S02”を有する部分構造の部分構造表現”E02 E03 E06 E10”から、要素”Person”の最初の一方は、要素ID”E03”、”E06”、及び”E10”をそれぞれに有する要素を子要素として有していることが分かる。要素ID”E03”を有する要素には、表現(S03 … )が割り当てられ、要素ID”E06”を有する要素には、表現(S06 … )が割り当てられ、要素ID”E10”を有する要素には、表現(S10 … )が割り当てられる。以下、同様にして図14のXML文書の全体構造が表現される。但し、このような全体構造を表現するために、他の規則が使用され得ると理解されなくてはならない。
【0089】
図15乃至図19に示されている要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eと、上記の全体構造データ4fとが統合されて、符号化文書4が生成される。
【0090】
一方、図14のXML文書に対応する符号化文書4が構造化文書復号化モジュール22に入力されると、ステップS32〜S37において、その符号化文書4から、図15乃至図19に示されている要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eと、上記の全体構造データ4fとが取り出される。
【0091】
続いて、ステップS38において、テキスト型検証モジュール25aにより、要素テキストリスト4cに挙げられている要素テキストの型が検証される。要素テキストリスト4cに挙げられている9個の要素テキストのそれぞれについて、その要素テキストを要素内容とする要素の要素IDが取り出され、取り出された要素IDを検索キーとして要素名リスト4aが検索されて、該要素の要素名が取り出される。その要素名を用いて文書構造定義ファイル24が検索されて、該要素名を有する要素の要素型宣言が取り出される。更に、要素テキストが該要素型宣言に規定されている型に適合するかが検証される。
【0092】
例えば、図15を参照して、要素”LastName”について考える。更に、文書構造定義ファイル24に規定された要素”LastName”の要素型宣言により、要素”LastName”の要素テキストが文字型であると規定されているとする。図17を参照すると、要素”LastName”は要素テキスト”Yamada”を有しており、要素”LastName”の要素テキストは、正しい型を有していると判断される。
【0093】
更に例えば、図15を参照して、要素”Telephone”について考える。文書構造定義ファイル24に規定された要素”Telephone”の要素型宣言により、要素”Telephone”の要素テキストが、3桁の整数と、それに続くハイフン”−”と、それに続く3桁の整数と、それに続くハイフンと、それに続く4桁の整数というフォーマットを有すると規定されているとする。図17を参照すると、要素”Telephone”は要素テキスト”045−123−4567”を有しており、要素”Telephone”の要素テキストは、正しい型を有していると判断される。
【0094】
要素テキストが取り得る型は、この他にも、例えば、整数型、浮動小数点型、日付型であり得る。
【0095】
同様に、全ての要素について要素型違反がないと判断されると、ステップS40において、属性テキストリスト4dに挙げられている属性テキストの型が検証される。属性テキストリスト4dに挙げられている属性テキストのそれぞれについて、その属性テキストを属性値とする属性の属性IDが取り出され、取り出された属性IDを検索キーとして属性名リスト4bが検索されて、該属性の属性名が取り出される。その属性名を用いて文書構造定義ファイル24が検索されて、該属性名を有する属性の属性型宣言が取り出される。更に、属性テキストが該属性型宣言に規定されている型に適合するかが検証される。
【0096】
例えば、図16を参照して、属性”Owner”について考える。更に、文書構造定義ファイル24に規定された属性”Owner”の属性型宣言により、属性”Owner”の属性テキスト(属性値)が文字型であると規定されているとする。図18を参照すると、属性”Owner”の要素テキストは、”Suzuki”であり、属性”Owner”の要素テキストは、正しい型を有していると判断される。
【0097】
更に、ステップS42において部分構造リスト4eに列挙されている13個の部分構造が検証される。例えば、図19を参照して、構造ID”S01”を有する部分構造の部分構造表現は、”E01 A01 E02 E02”である。要素名リスト4aと属性名リスト4bとを参照すると、この部分構造表現は、要素ID”E01”を有する要素”Addressbook”は属性”Owner”を有し、且つ、その子要素が2つの要素”Person”であることを示している。この部分構造が、文書構造定義ファイル24に規定されている構文に適合するかが判定される。他の部分構造についても、同様の検証が行われる。
【0098】
以上の工程により、要素テキスト、属性テキスト、及び部分構造の検証が終了する。検証が終了した後、要素名リスト4a、属性名リスト4b、要素テキストリスト4c、属性テキストリスト4d、及び部分構造リスト4eと、上記の全体構造データ4fから、図14のXML文書の構造化文書内部表現23が復元される。
【0099】
このような検証方法は、同一の要素テキスト、属性テキスト、及び部分構造に対して重複して検証することを避けることができる。図14のXML文書を用いてその妥当性を検証しようとすれば、同一の検証対象に対して重複した検証が行われる。例えば、要素”Person”が”要素”Name”と要素”Address”を有し、且つ、要素”Name”が要素”LastName”と要素”FirstName”を有するという記述は、図14のXML文書にそれぞれ2回現れる。従って、図14のXML文書を用いて検証が行われた場合、これらの記述は、2回検証されたはずである。更に、要素”LastName”の要素テキスト”Yamada”の型が正しいかという検証も2回繰り返されたはずである。要素”Country”の要素テキスト”Japan”、要素”Prefecture”の要素テキスト”Kanagawa”についても同様である。
【0100】
本実施の形態では、冗長性を排除して構造化文書を表現した符号化文書4が送信され、その符号化文書4に基づいて再生されるべき構造化文書内部表現23の妥当性が検証され、妥当性が保証された後に構造化文書内部表現23が再生される。これにより、同一の検証作業の繰り返しが排除され、検証作業のコストを低減することができる。
【0101】
図20に示されているように、本実施の形態のコンピュータシステムは、送信側コンピュータ1にデータ圧縮モジュール18を有し、受信側コンピュータ2にデータ解凍モジュール28を有していることが好適である。データ圧縮モジュール18は、符号化文書4を圧縮して圧縮符号化文書4’を生成する。データ解凍モジュール28は、圧縮符号化文書4’を受信して解凍し、符号化文書4を再生する。このような構成は、送信側コンピュータ1から受信側コンピュータ2に通信されるデータの量を抑制する。
【0102】
本実施の形態のコンピュータシステムにおいて、要素IDが一連番号を含んで構成される場合、要素名リスト4aには明示的に要素IDが記述される必要はない。要素IDの代わりに、要素名リスト4a内において要素名が記述される順番を使用することが可能である。例えば、要素名リスト4aにおいて第1番目に記述される要素名は、要素ID”E01”を有すると規定され、その要素IDが要素名リスト4aに記述されないことが可能である。通信コストに敏感な状況において本実施の形態のコンピュータシステムが使用される場合、要素名リスト4aをより小さなデータ量で表現するメリットは大きい。
【0103】
同様に、属性IDが一連番号を含んで構成される場合、属性名リスト4bには、明示的に要素IDが記述される必要はない。
【0104】
更に同様に、要素テキストリスト4c及び属性テキストリスト4dが一のリストに記述され、且つ、テキストIDが一連番号を含んで構成される場合、要素テキストリスト4c及び属性テキストリスト4dには、明示的にテキストIDが記述される必要はない。
【0105】
更に同様に、構造IDが一連番号を含んで構成される場合、部分構造リスト4eには、構造IDが明示的に記述される必要がない。
【0106】
【発明の効果】
本発明により、構造化文書を検証するために必要な演算量を抑制し、これにより、検証に必要なコストを減少することができる。
また、本発明により、構造化文書を送信側コンピュータから受信側コンピュータに伝送する場合に、受信側コンピュータが構造化文書を検証するために必要な演算量を抑制し、これにより、検証に必要なコストを減少することができる。
【図面の簡単な説明】
【図1】図1は、本発明によるコンピュータシステムの実施の一形態を示すブロック図である。
【図2】図2は、符号化文書4の内容を示す。
【図3】図3は、要素名リスト4aの内容を示す。
【図4】図4は、属性名リスト4bの内容を示す。
【図5】図5は、要素テキストリスト4cの内容を示す。
【図6】図6は、属性テキストリスト4dの内容を示す。
【図7】図7は、部分構造リスト4eの内容を示す。
【図8】図8は、構造化文書符号化モジュール12の構成を示すブロック図である。
【図9】図9は、構造化文書復号化モジュール22の構成を示すブロック図である。
【図10】図10は、本実施の形態のコンピュータシステムの変形例を示すブロック図である。
【図11】図11は、構造化文書内部表現13から符号化文書4を生成する手順を示すフローチャートである。
【図12】図12は、構造化文書内部表現13から符号化文書4を生成する手順を示すフローチャートである。
【図13】図13は、符号化文書4に基づいて構造化文書内部表現23の妥当性を検証し、更に、構造化文書内部表現23を再構成する手順を示すフローチャートである。
【図14】図14は、XML文書の例を示す。
【図15】図15は、図14のXML文書の内部表現から生成される要素名リスト4aを示す。
【図16】図16は、図14のXML文書の内部表現から生成される属性名リスト4bを示す。
【図17】図17は、図14のXML文書の内部表現から生成される要素テキストリスト4cを示す。
【図18】図18は、図14のXML文書の内部表現から生成される属性テキストリスト4dを示す。
【図19】図19は、図14のXML文書の内部表現から生成される部分構成リスト4eを示す。
【図20】図20は、本実施の形態のコンピュータシステムの他の変形例を示すブロック図である。
【符号の説明】
1:送信側コンピュータ
2:受信側コンピュータ
3:ネットワーク
4:符号化文書
4a:要素名リスト
4b:属性名リスト
4c:要素テキストリスト
4d:属性テキストリスト
4e:部分構造リスト
4f:全体構造データ
11:アプリケーションプログラム
12:構造化文書符号化モジュール
13:構造化文書内部表現
13’:構造化文書
14:文書構造定義ファイル
15:検証支援情報抽出モジュール
15a:要素名/属性名抽出モジュール
15b:テキスト抽出モジュール
15c:部分構造抽出モジュール
16:全体文書構造抽出モジュール
17:符号化文書出力モジュール
21:アプリケーションプログラム
22:構造化文書復号化モジュール
23:構造化文書内部表現
24:文書構造定義ファイル
25:検証モジュール
25a:テキスト型検証モジュール
25b:部分構造検証モジュール
26:符号化文書入力モジュール
27:構造化文書内部表現出力モジュール

Claims (18)

  1. 構造化文書の内部表現を符号化して符号化文書を作成する符号化手段を含む送信側コンピュータと、
    ネットワークを介して前記符号化文書を取得し、前記符号化文書を復号して前記内部表現を再構成する復号手段を含む受信側コンピュータ
    とを備え、
    前記符号化手段は、前記構造化文書に含まれる記述を重複することなく列挙することによって前記内部表現から検証支援情報を生成する検証支援情報抽出手段を含み、且つ、前記検証支援情報を含むように前記符号化文書を生成し、
    前記復号手段は、前記検証支援情報に基づいて、再構成される前記内部表現のデータ構造が、所定の文書型宣言に適合しているかを検証する検証手段を含む
    コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムにおいて、
    前記検証支援情報は、前記内部表現を構成する要素のうち、テキストデータを要素内容として含むテキスト含有要素の要素テキストが、重複しないように列挙された要素テキストリストを含み、
    前記文書型宣言は、前記テキスト含有要素の型を定義した要素型宣言を含み、
    前記検証手段は、前記要素テキストが、前記型に適合するか否かを検証する
    コンピュータシステム。
  3. 請求項1に記載のコンピュータシステムにおいて、
    前記検証支援情報は、前記内部表現を構成する要素のうち、属性を有する属性所有要素と、前記属性の属性値である属性テキストとが、重複しないように列挙された属性テキストリストを含み、
    前記文書型宣言は、前記属性の属性型を定義した属性型宣言を含み、
    前記検証手段は、前記属性テキストが、前記属性型に適合するか否かを検証する
    コンピュータシステム。
  4. 請求項1に記載のコンピュータシステムにおいて、
    前記検証支援情報は、前記内部表現に含まれる部分構造が、重複しないように列挙された部分構造リストを含み、
    前記検証手段は、前記部分構造が、前記文書型宣言に定義された構文に適合するか否かを検証する
    コンピュータシステム。
  5. 請求項4に記載のコンピュータシステムにおいて、
    前記検証支援情報は、
    前記要素の要素名を列挙した要素名リストと、
    前記属性の属性名を列挙した属性名リストと、
    前記内部表現を構成する要素のうち、テキストデータを要素内容として含むテキスト含有要素の要素テキストが、重複しないように列挙された要素テキストリストと、
    前記内部表現を構成する要素のうち、属性を有する属性所有要素と、前記属性の属性値である属性テキストとが、重複しないように列挙された属性テキストリスト
    とを含み、
    前記部分構造のそれぞれには、構造IDが与えられ、
    前記要素テキストと前記属性テキストとのそれぞれにテキストIDが与えられ、
    前記部分構造の部分構造表現は、前記要素の要素IDと、前記要素が有する属性の属性IDと、前記要素の子要素の要素IDと、前記親要素が、要素テキストを含むことを示す記号とによって記述され、
    前記符号化文書は、前記構造IDと前記テキストIDとによって前記内部表現の全体の構造を表現する全体構造データを含み、
    前記復号手段は、前記要素名リストと前記属性名リストと前記全体構造データとに基づいて前記内部表現を再構成する
    コンピュータシステム。
  6. 構造化文書の内部表現を符号化して符号化文書を作成する符号化手段を備え、
    前記符号化手段は、前記構造化文書に含まれる記述を重複することなく列挙することによって前記内部表現から検証支援情報を生成する検証支援情報抽出手段を含み、且つ、前記検証支援情報を含むように前記符号化文書を生成する
    コンピュータ。
  7. 請求項6に記載のコンピュータにおいて、
    前記検証支援情報は、前記内部表現を構成する要素のうち、テキストデータを要素内容として含むテキスト含有要素の要素テキストが、重複しないように列挙された要素テキストリストを含む
    コンピュータ。
  8. 請求項6に記載のコンピュータにおいて、
    前記検証支援情報は、前記内部表現を構成する要素のうち、属性を有する属性所有要素と、前記属性の属性値である属性テキストとが、重複しないように列挙された属性テキストリストを含む
    コンピュータ。
  9. 請求項6に記載のコンピュータにおいて、
    前記検証支援情報は、前記内部表現に含まれる部分構造が、重複しないように列挙された部分構造リストを含む
    コンピュータ。
  10. 請求項9に記載のコンピュータにおいて、
    前記検証支援情報は、
    前記要素の要素名を列挙した要素名リストと、
    前記属性の属性名を列挙した属性名リストと、
    前記内部表現を構成する要素のうち、テキストデータを要素内容として含むテキスト含有要素の要素テキストが、重複しないように列挙された要素テキストリストと、
    前記内部表現を構成する要素のうち、属性を有する属性所有要素と、前記属性の属性値である属性テキストとが、重複しないように列挙された属性テキストリスト
    とを含み、
    前記部分構造のそれぞれには、構造IDが与えられ、
    前記要素テキストと前記属性テキストとのそれぞれにテキストIDが与えられ、
    前記部分構造の部分構造表現は、前記要素の要素IDと、前記要素が有する属性の属性IDと、前記要素の子要素の要素IDと、前記親要素が、要素テキストを含むことを示す記号とによって記述され、
    前記符号化文書は、前記構造IDと前記テキストIDとによって前記内部表現の全体の構造を表現する全体構造データを含む
    コンピュータ。
  11. ネットワークを介して符号化文書を取得し、前記符号化文書を復号して構造化文書の内部表現を再構成する復号手段
    を備え、
    前記符号化文書は、前記構造化文書に含まれる記述が重複することなく列挙された検証支援情報を含み、
    前記復号手段は、前記検証支援情報に基づいて、再構成される前記内部表現のデータ構造が、所定の文書型宣言に適合しているかを検証する検証手段を含む
    コンピュータ。
  12. 請求項11に記載のコンピュータにおいて、
    前記検証支援情報は、前記内部表現を構成する要素のうち、テキストデータを要素内容として含むテキスト含有要素の要素テキストが、重複しないように列挙された要素テキストリストを含み、
    前記文書型宣言は、前記テキスト含有要素の型を定義した要素型宣言を含み、
    前記検証手段は、前記要素テキストが、前記型に適合するか否かを検証する
    コンピュータ。
  13. 請求項11に記載のコンピュータにおいて、
    前記検証支援情報は、前記内部表現を構成する要素のうち、属性を有する属性所有要素と、前記属性の属性値である属性テキストとが、重複しないように列挙された属性テキストリストを含み、
    前記文書型宣言は、前記属性の属性型を定義した属性型宣言を含み、
    前記検証手段は、前記属性テキストが、前記属性型に適合するか否かを検証する
    コンピュータ。
  14. 請求項11に記載のコンピュータにおいて、
    前記検証支援情報は、前記内部表現に含まれる部分構造が、重複しないように列挙された部分構造リストを含み、
    前記検証手段は、前記部分構造が、前記文書型宣言に定義された構文に適合するか否かを検証する
    コンピュータ。
  15. 請求項14に記載のコンピュータにおいて、
    前記検証支援情報は、
    前記要素の要素名を列挙した要素名リストと、
    前記属性の属性名を列挙した属性名リストと、
    前記内部表現を構成する要素のうち、テキストデータを要素内容として含むテキスト含有要素の要素テキストが、重複しないように列挙された要素テキストリストと、
    前記内部表現を構成する要素のうち、属性を有する属性所有要素と、前記属性の属性値である属性テキストとが、重複しないように列挙された属性テキストリスト
    とを含み、
    前記部分構造のそれぞれには、構造IDが与えられ、
    前記要素テキストと前記属性テキストとのそれぞれにテキストIDが与えられ、
    前記部分構造の部分構造表現は、前記要素の要素IDと、前記要素が有する属性の属性IDと、前記要素の子要素の要素IDと、前記親要素が、要素テキストを含むことを示す記号とによって記述され、
    前記符号化文書は、前記構造IDと前記テキストIDとによって前記内部表現の全体の構造を表現する全体構造データを含み、
    前記復号手段は、前記要素名リストと前記属性名リストと前記全体構造データとに基づいて前記内部表現を再構成する
    コンピュータ。
  16. (a)構造化文書の内部表現を符号化して符号化文書を作成するステップと、
    (b)ネットワークを介して前記符号化文書を取得し、前記符号化文書を復号して前記内部表現を再構成するステップ
    とを備え、
    前記(a)ステップは、
    (a1)前記構造化文書に含まれる記述を重複することなく列挙することによって前記内部表現から検証支援情報を生成するステップと、
    (a2)前記検証支援情報を含むように前記符号化文書を生成するステップ
    とを含み、
    前記(b)ステップは、
    (b1)前記検証支援情報に基づいて、再構成される前記内部表現のデータ構造が、所定の文書型宣言に適合しているかを検証するステップ
    を含む
    構造化文書通信方法。
  17. (a1)構造化文書に含まれる記述を重複することなく列挙することによって前記構造化文書の内部表現から検証支援情報を生成するステップと、
    (a2)前記検証支援情報を含むように符号化文書を生成するステップ
    とをコンピュータに実行させる
    コンピュータプログラム。
  18. (b)ネットワークを介して符号化文書を取得し、符号化文書を復号して構造化文書の内部表現を再構成するステップ
    をコンピュータに実行させるコンピュータプログラムであって、
    前記符号化文書は、前記構造化文書に含まれる記述が重複することなく列挙された検証支援情報を含み、
    前記(b)ステップは、
    (b1)前記検証支援情報に基づいて、再構成される前記内部表現のデータ構造が、所定の文書型宣言に適合しているかを検証するステップ
    を含む
    コンピュータプログラム。
JP2003094281A 2003-03-31 2003-03-31 コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法 Expired - Fee Related JP3815567B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003094281A JP3815567B2 (ja) 2003-03-31 2003-03-31 コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法
US10/813,043 US7231591B2 (en) 2003-03-31 2004-03-31 Computer system suitable for communications of structured documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003094281A JP3815567B2 (ja) 2003-03-31 2003-03-31 コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法

Publications (2)

Publication Number Publication Date
JP2004302799A true JP2004302799A (ja) 2004-10-28
JP3815567B2 JP3815567B2 (ja) 2006-08-30

Family

ID=33406873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003094281A Expired - Fee Related JP3815567B2 (ja) 2003-03-31 2003-03-31 コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法

Country Status (2)

Country Link
US (1) US7231591B2 (ja)
JP (1) JP3815567B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146781A1 (ja) * 2007-05-28 2008-12-04 Nec Corporation 構造化文書変換装置
JP2014086048A (ja) * 2012-10-26 2014-05-12 Toshiba Corp 検証装置、検査方法およびプログラム
US10685179B2 (en) 2016-10-12 2020-06-16 Fujitsu Limited XML verification apparatus, verification method, encoding apparatus, encoding method, and computer-readable recording medium

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284522A (ja) * 2004-03-29 2005-10-13 Nec Corp 構造化文書派生システム、構造化文書派生方法及び構造化文書派生用プログラム
WO2006004946A2 (en) * 2004-06-30 2006-01-12 Reactivity, Inc. Accelerated schema-based validation
WO2006110987A1 (en) 2005-04-18 2006-10-26 Research In Motion Limited System and method for efficient hosting of wireless applications by encoding application component definitions
US20060288028A1 (en) * 2005-05-26 2006-12-21 International Business Machines Corporation Decompressing electronic documents
US7738887B2 (en) * 2005-10-31 2010-06-15 Microsoft Corporation Voice instant messaging between mobile and computing devices
US20070115917A1 (en) * 2005-10-31 2007-05-24 Microsoft Corporation MTOM data transfer via TCP
JP2008192032A (ja) * 2007-02-07 2008-08-21 Fuji Xerox Co Ltd 文書処理装置、文書処理方法、プログラム
US20100064297A1 (en) * 2008-09-05 2010-03-11 Invensys Systems, Inc. Configuring And Providing Enhanced Access To Profibus Device Diagnostic Data
US8407215B2 (en) * 2010-12-10 2013-03-26 Sap Ag Text analysis to identify relevant entities
US20150312298A1 (en) * 2011-03-24 2015-10-29 Kevin J. O'Keefe Method and system for information exchange and processing
US20150121351A1 (en) * 2013-10-31 2015-04-30 Alan Cabrera Generating configuration data based on application definitions
JP2019125035A (ja) * 2018-01-12 2019-07-25 富士通株式会社 検証プログラム、検証装置および検証方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190560A (ja) 1995-01-10 1996-07-23 Fujitsu Ltd 構造テスト装置
JPH10214265A (ja) 1997-01-30 1998-08-11 Mitsubishi Electric Corp 構造化文書処理装置
JP2000330989A (ja) * 1999-05-21 2000-11-30 Fujitsu Ltd 構造化文書作成方法および構造化文書を記録したコンピュータ読取可能な記録媒体
JP2001075958A (ja) 1999-09-03 2001-03-23 Mitsubishi Electric Corp 構造化文書処理装置及び構造化文書処理方法
US6966027B1 (en) * 1999-10-04 2005-11-15 Koninklijke Philips Electronics N.V. Method and apparatus for streaming XML content
JP3368883B2 (ja) 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
GB0011426D0 (en) * 2000-05-11 2000-06-28 Charteris Limited A method for transforming documents written in different XML-based languages
JP3583688B2 (ja) 2000-05-22 2004-11-04 日本電信電話株式会社 Xmlデータ変換方式およびxmlデータ変換方法
AUPR063400A0 (en) * 2000-10-06 2000-11-02 Canon Kabushiki Kaisha Xml encoding scheme
JP4774145B2 (ja) 2000-11-24 2011-09-14 富士通株式会社 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム
US20020138518A1 (en) * 2000-12-27 2002-09-26 Kddi Corporation Method and system for code processing of document data
JP3894280B2 (ja) 2001-02-02 2007-03-14 インターナショナル・ビジネス・マシーンズ・コーポレーション Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体
US7089543B2 (en) * 2001-07-13 2006-08-08 Sony Corporation Use of formal logic specification in construction of semantic descriptions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146781A1 (ja) * 2007-05-28 2008-12-04 Nec Corporation 構造化文書変換装置
JP2014086048A (ja) * 2012-10-26 2014-05-12 Toshiba Corp 検証装置、検査方法およびプログラム
US10685179B2 (en) 2016-10-12 2020-06-16 Fujitsu Limited XML verification apparatus, verification method, encoding apparatus, encoding method, and computer-readable recording medium

Also Published As

Publication number Publication date
JP3815567B2 (ja) 2006-08-30
US7231591B2 (en) 2007-06-12
US20040268239A1 (en) 2004-12-30

Similar Documents

Publication Publication Date Title
JP3815567B2 (ja) コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法
US7571465B2 (en) Information exchanging system, information communication terminal, information exchanging method, and computer product
US8041753B2 (en) Method and systems for hyperlinking files
US7320003B2 (en) Method and system for storing and retrieving document data using a markup language string and a serialized string
JP4774145B2 (ja) 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム
KR101247075B1 (ko) 마크업 언어 데이터의 인코딩
US6848079B2 (en) Document conversion using an intermediate computer which retrieves and stores position information on document data
JP4373721B2 (ja) マークアップ言語文書を符号化するための方法およびシステム
US20050256893A1 (en) Method and system for updating hierarchical data structures
JP2001503537A (ja) オンラインデータリポジトリの変更データの識別
US20070168556A1 (en) Electronic data delivery method
CN112615907A (zh) 一种数据同步系统及方法
US20050256836A1 (en) HTML file processing technique
JP2004102926A (ja) 識別子生成方法、同一性判定方法、識別子送信方法、識別子生成装置、同一性判定装置および識別子送信装置
US20080162944A1 (en) Information processing apparatus, information processing system, and computer readable storage medium
US6857070B1 (en) Data processing method and apparatus, and storage medium capable of being read by a computer
US7921358B2 (en) Automatic package conformance validation
US20050050516A1 (en) Framework for providing and using schema data for markup languages
US20020087536A1 (en) Methods for reproducing and recreating original data
CN111651417A (zh) 日志处理方法及装置
CN101390089B (zh) 用于共享edi模式的可伸缩算法
JP2005333233A (ja) 電子署名装置および署名検証装置
JP2002016787A (ja) コンテンツ情報再構築システムおよびコンテンツ情報再構築用プログラム記録媒体
JP2001014281A (ja) 情報処理方法およびネットワーク情報機器
US20090313288A1 (en) Method of improved hierarchical xml databases

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060410

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060530

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees