JPH09146931A - 文書型定義生成装置 - Google Patents

文書型定義生成装置

Info

Publication number
JPH09146931A
JPH09146931A JP30620595A JP30620595A JPH09146931A JP H09146931 A JPH09146931 A JP H09146931A JP 30620595 A JP30620595 A JP 30620595A JP 30620595 A JP30620595 A JP 30620595A JP H09146931 A JPH09146931 A JP H09146931A
Authority
JP
Japan
Prior art keywords
document
document type
type definition
sample
structure 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.)
Abandoned
Application number
JP30620595A
Other languages
English (en)
Inventor
Toru Takazawa
通 高澤
Hiroshi Nakayama
寛 中山
Hideaki Kitamura
秀明 北村
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.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing Co 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 Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP30620595A priority Critical patent/JPH09146931A/ja
Priority to GB9623606A priority patent/GB2307571A/en
Publication of JPH09146931A publication Critical patent/JPH09146931A/ja
Abandoned legal-status Critical Current

Links

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/151Transformation
    • 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]

Abstract

(57)【要約】 【課題】 SGMLの文書型定義(以下、DTDとい
う)を自動生成する。 【解決手段】 ユーザは、DTDを作成したい文書種類
について、SGMLの文法に従ってタグ付けを施したサ
ンプル文書をいくつか用意する。これらサンプル文書は
サンプル入力部10から入力される。構造情報抽出部1
2は、サンプル入力部10から受け取ったサンプル文書
のタグから論理構造情報を抽出する。構造化リスト処理
部14は、抽出された論理構造情報に基づき、構造化リ
ストを作成する。そして、用意されたすべてのサンプル
文書についての処理が終わったところで、DTD作成部
16はその構造化リストを解析してDTDを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、SGML文書のよ
うな構造化記述文書管理に用いられる文書型定義を生成
する文書型定義生成装置に関する。
【0002】
【従来の技術】SGML(Standard Generalized Marku
p Language)は、同じ種類の文書を電子的な媒体を通じ
て交換したり、データベースに保存して再利用したりす
るのを容易にするという目的の下に作られた文書記述言
語の国際標準規格である。
【0003】SGMLでは、文書をいくつかの要素に分
け、それら要素同士の階層関係として当該文書の論理構
造を記述する。文書内の各要素には、当該要素の識別名
や属性などの情報を含んだタグが付され、SGMLの文
書処理システムはこのタグを制御情報として用いて文書
処理を行う。
【0004】例えば、領収書をSGMLで記述すると、
図12に示すようになる。図12では、領収書は、「見
出し」、「内容」、「日付」などという要素に分けられ
ている。「見出し」や「内容」などが要素の識別名であ
り、1つの要素の始まりと終りとは、それぞれ開始タグ
<要素識別名>、終了タグ</要素識別名>によって示
される。そして、要素の階層関係は、要素の入れ子構造
として表現される。すなわち、ある要素の中に他の要素
が記述されている場合は、前者と後者とは、親と子とい
う関係になる。例えば、「日付」という要素は、「内
容」という要素の開始タグ<内容>から終了タグ</内
容>までの間に記述されているので、「内容」が親で
「日付」が子という階層関係となる。従って、図12
は、図13に示すような論理構造を表していることにな
る。SGMLには、このほかに要素の属性の記述の仕方
などの様々な規則が定められているが、ここでは省略す
る。なお、このようにSGMLの文法に従ってタグが付
された個々の文書のことを、文書インスタンスと言う。
【0005】SGMLの文書処理システムにおいては、
個々の文書インスタンスの管理は、文書型定義(以下、
DTDという。DTD :Document Type Definition)を用
いて行う。DTDは、文書をSGMLで記述する際のタ
グ付けの規則を定義したものである。このDTDは、文
書の種類ごとに作成される。例えば、領収書のDTD
は、図14に示すような形となる。DTDは、要素の識
別名や当該要素の子要素など各要素の内容を規定した要
素宣言(図14の<!ELEMENT …>)や、要素の属性に
ついて規定した属性宣言(<!ATTLIST …>、図14に
は含まれない)などの宣言文からなる。なお、属性は、
コンピュータ処理においてのみ用い、印刷やディスプレ
イによる表示の際には現れない情報である。
【0006】SGMLの文書処理システムは、このDT
Dを用いて、ユーザが作成した文書インスタンスの構文
チェック、対話的な手法による文書インスタンスの作成
支援、データ検索などの処理を行う。文書処理システム
にDTDが登録されている文書種類の文書であれば、そ
のような処理機能を用いて容易に文書インスタンスの作
成、検索などを行うことができる。
【0007】
【発明が解決しようとする課題】このように、SGML
で文書処理を行うには、処理対象の文書種類についてあ
らかじめDTDを作成しておく必要がある。このため、
その文書種類に含まれる文書に共通する論理構造をあら
かじめ分析し、その分析結果を図14のような形式にコ
ーディングしていた。このコーディング作業は、SGM
Lについて専門知識が要求されるため、従来はSGML
の専門家が手作業で行っていた。
【0008】従って、ユーザが新たな文書種類の文書を
SGMLで作成し、SGMLによる文書処理を行おうと
しても、そのためには論理構造の分析や専門家によるコ
ーディングという作業が必要となるため、実現までに時
間が掛かり、ユーザレベルで手軽に新たな文書種類のS
GML化を行うことは困難であった。このように、DT
Dの作成は、文書のSGML化推進のボトルネックとな
っており、DTDの作成を効率化するツールが要望され
ている。
【0009】本発明は、このような問題を解決するため
になされたものであり、構造化記述文章に対する文書型
定義(DTD)を自動的に生成する文書型定義生成装置
を提供することを目的とする。
【0010】
【課題を解決するための手段】前述の目的を達成するた
めに、本発明に係る文書型定義生成装置は、構造化記述
文書で記述されたサンプル文書から論理構造情報を抽出
する構造情報抽出手段と、抽出された論理構造情報に基
づいて文書型定義を作成する定義作成手段とを有するこ
とを特徴とする。
【0011】本発明では、文書型定義を作成しようとす
る文書種類について構造化記述文書の文法に従って作成
されたサンプル文書から、構造情報抽出手段が論理構造
情報を抽出し、その抽出された論理構造情報から定義作
成手段が所定の形式の文書型定義を生成する。本発明に
よれば、ユーザは、文書型定義の構造について詳しく知
らなくても、自分が欲しい文書のイメージを表したサン
プル文書を用意するだけで文書型定義を得ることができ
る。サンプル文書は、ユーザ自身が作成してもよいし、
既存の文書インスタンスから選んだものでもよい。
【0012】また、本発明に係る文書型定義生成装置
は、構造化記述文書で記述されたサンプル文書から論理
構造情報を抽出する構造情報抽出手段と、複数のサンプ
ル文書から抽出された論理構造情報を集計する集計手段
と、集計手段の集計結果に基づいて文書型定義を作成す
る定義作成手段と、を有し、同一文書種類について作成
された複数のサンプル文書から当該文書種類についての
文書型定義を生成することを特徴とする。
【0013】この構成では、同一文書種類について作成
された複数のサンプル文書からそれぞれ論理構造情報を
抽出し、その集計結果から文書型定義を作成する。この
構成によれば、複数のサンプル文書について共通して利
用できる文書型定義を自動的に生成することができる。
従って、ユーザは、ある文書種類の文書型定義が欲しい
場合には、その文書種類の文書の実例をいくつか構造化
記述文書の文法に従ってサンプル文書として記述する
か、又はその文書種類について既に作成されている文書
インスタンスをサンプル文書として用意するかし、それ
らサンプル文書を本発明の装置に入力することにより、
当該文書種類の文書型定義を得ることができる。
【0014】また、本発明に係る文書型定義生成装置
は、前記定義作成手段が、各サンプル文書からの論理構
造情報が集計されるごとに当該集計結果に基づいて文書
型定義を作成することを特徴とする。
【0015】この構成では、各サンプル文書が入力され
るごとに更新された文書型定義が生成される。従って、
ユーザは、ユーザ自身が意図する文書型定義を効率よく
得ることができる。
【0016】なお、本発明に係る文書型定義生成装置で
は、構造化記述文書としてSGML文章を適用可能であ
り、この場合、構造情報抽出手段はサンプル文書のタグ
を認識し、そこから論理構造情報を抽出する。
【0017】また、本発明に係る文書型定義作成装置
は、前記構造情報抽出手段が、サンプル文書の各要素の
入れ子構造を解析して各要素の階層関係を求める手段を
有することを特徴とする。
【0018】すなわち、構造情報抽出手段は、文書の論
理構造情報のうち各要素の階層関係の情報を、各要素の
入れ子構造を解析することにより抽出する。この構成に
よれば、文書の各要素の階層関係を自動的に抽出するこ
とができる。
【0019】なお、構造化記述文書としてSGML文書
を適用する場合には、構造情報抽出手段は各要素の階層
関係を、開始タグ及び終了タグから各要素の入れ子構造
を解析することにより抽出する。
【0020】
【発明の実施の形態】以下、本発明に係る文書型定義生
成装置の実施形態を図面に基づいて説明する。
【0021】本実施形態の文書型定義生成装置は、ユー
ザが用意したサンプル文書を入力として受け取り、その
サンプル文書から論理構造情報を抽出して文書型定義
(DTD)を自動生成する。サンプル文書としては、S
GMLの文法に従ってタグ付けされたものを用いる。サ
ンプル文書は、ユーザ自身が作成してもよいし、既存の
文書インスタンスから選んだものでもよい。
【0022】図1は本発明に係る文書型定義生成装置の
機能ブロック図であり、図2はこの文書型定義生成装置
の動作を示したフローチャートである。以下、図1及び
図2を参照して本実施形態について説明する。
【0023】ユーザが用意したサンプル文書は、サンプ
ル入力部10から入力される(S100)。構造情報抽
出部12は、入力されたサンプル文書のタグから論理構
造情報を抽出する(S102)。サンプル文書から抽出
される論理構造情報には、当該サンプル文書に含まれる
要素の識別名や、各要素の階層関係などの情報が含まれ
る。そして、構造化リスト処理部14は、抽出された論
理構造情報に基づき、構造化リストを作成あるいは更新
する(S104)。構造化リストとは、本実施形態にお
いて、サンプル文書から抽出した論理構造情報の集計の
ために用いるリストのことである。なお、構造化リスト
の具体例や、構造情報抽出部12及び構造化リスト処理
部14の詳細な動作については、後に詳しく説明する。
【0024】以降、用意したサンプル文書が尽きるま
で、サンプル文書の入力、論理構造情報の抽出、構造化
リストの更新のサイクルを繰り返す。そして、用意され
たすべてのサンプル文書についての処理が終わったとこ
ろで構造化リスト処理部14は最終的な構造化リストを
DTD作成部16に出力する。DTD作成部16は、こ
の最終的な構造化リストからDTDを生成する(S10
6)。なお、DTD作成部16の詳細な動作について
は、後に詳しく説明する。
【0025】本実施形態の装置では、このような構成に
より、用意されたサンプル文書の構造を記述するDTD
を自動生成することができる。
【0026】次に、具体例を用いて、本実施形態におけ
る構造化リストの作成・更新処理、及び構造化リストか
らのDTDの生成処理の流れを説明する。なお、以下で
は、「コンサート情報」の案内文書を例にとって説明を
行う。
【0027】「コンサート情報」の案内文書をSGML
で作成し、管理できるようにしたいと思った場合、ユー
ザは、「コンサート情報」案内文書の実例を、サンプル
文書としていくつか作成する。このサンプル文書は、S
GMLの文法に従って開始タグや終了タグを付した形で
記述する。このようにして作成された複数のサンプル文
書は、文書型定義生成装置のサンプル入力部10に入力
される。なお、以下では、サンプル文書として図5〜図
7に示す3つの文書インスタンスが、その順に入力され
た場合について説明する。
【0028】構造情報抽出部12は、サンプル入力部1
0から与えられるサンプル文書のタグを読み取り、その
サンプル文書の論理構造情報を抽出する。そして、構造
化リスト処理部14は、抽出された論理構造情報を構造
化リストに反映させる。
【0029】本実施形態における構造化リストは、例え
ば図8に示すように、要素の識別子、識別名、リンク情
報、出現回数、出現順序、属性情報、及び階層レベルの
7つのフィールドを有している。ここで、識別子は、文
書の要素に与えられるID番号である。また、リンク情
報は、構造化リストにおける各要素間のリンク関係を示
すためのものであり、当該要素の直前にリンクする要素
の識別子と直後にリンクする要素の識別子とから成り立
っている。なお、リンク情報におけるs,eは、それぞ
れリストの先頭、末尾を示す値である。また、出現回数
は、入力された複数のサンプル文書中に当該要素が出現
した回数を示す。例えば、図8は、最初のサンプル文書
を読み取ったときにできた構造化リストなので、各要素
の出現回数はすべて1回となっている。出現順序のフィ
ールドは、入力された複数のサンプル文書において、当
該要素と他の要素との出現順序が入れ替わったことがあ
るか否かを示す。属性情報のフィールドには、当該要素
の属性情報が書き込まれる。属性情報は、開始タグ内の
識別名の次に書かれ、例えば検索時のキーなどとして用
いられる。例えば、図5のサンプル文書の要素「アーテ
ィスト名」の開始タグ内に書かれている「ジャンル」が
属性情報である。そして、階層レベルは、当該要素と他
の要素との階層関係を示す値である。例えば、図8の構
造化リストでは、階層レベル0の要素「コンサート情
報」は、後に続く階層レベル1の要素「アーティスト
名」、「開催日」、「場所」の親であり、階層レベル2
の要素「会場名」、「住所」、「電話」は、それら要素
の直前の階層レベル1の要素「場所」の子である。
【0030】なお、図8は、サンプル文書1(図5)に
ついての処理が終わった時点での構造化リストの状態を
示し、図9及び図10は、ぞれぞれサンプル文書2(図
6)及びサンプル文書3(図7)の処理が終わった時点
での構造化リストの状態を示す。
【0031】以下、構造情報抽出部12及び構造化リス
ト処理部14による構造化リスト作成・更新処理の流れ
を図3のフローチャートを参照して詳しく説明する。
【0032】構造情報抽出部12は、サンプル文書の文
字列を順次読み取っていく(S200)。そして、まず
読み取った文字列が、開始タグであるか否かを判別する
(S202)。すなわち、読み取った文字列がタグ開始
区切子“<”から始まり、その“<”の次にスラッシュ
“/”なしで識別名が来た場合に、次にタグ終了区切子
“>”が来るまでの文字列が開始タグであると判別す
る。
【0033】読み取った文字列が開始タグであった場合
には、当該開始タグの先頭に記載されている要素識別名
を読み取り、その要素識別名が構造化リストに既に登録
されているか否かを調べ、当該要素が新規要素か否かを
判別する(S204)。すなわち、構造情報抽出部12
は、構造化リスト処理部14にある現在の構造化リスト
を参照し、当該要素識別名が構造化リストに登録されて
いない場合には当該要素が新規要素であると判別し、既
に登録されている場合には新規要素でないと判別する。
この判別結果は、構造化リスト処理部14に伝えられ
る。
【0034】そして、当該要素が新規要素であると判別
された場合には、構造化リスト処理部14は、構造化リ
ストに新規要素を追加する(S206)。すなわち、当
該新規要素に要素識別子を与え、要素識別子及び要素識
別名を構造化リストに書き加え、当該要素の出現回数を
1とする。また、構造化リスト処理部14は、この追加
に伴うリンク情報の更新を行う。
【0035】次に、当該要素の階層レベルを求め、構造
化リストに書き込む(S208)。階層レベルは、階層
判定スタックと言うLIFO(Last In Fast Out)のリス
トを用いて求める。そこで、以下に、階層判定スタック
を用いた階層レベルの求め方について説明する。
【0036】本実施形態では、開始タグを読み取った場
合に階層判定スタックの先頭にデータが挿入され(S2
14)、終了タグを読み取った場合に階層判定スタック
の先頭のデータが削除される(S222)。階層判定ス
タックには、要素の識別名とその要素の階層レベルとが
1つのデータとして挿入される。このような構成のた
め、階層判定スタックの先頭は、未だ完結していない
(すなわち、終了タグによって閉じていない)要素のう
ちの最新のものを示す。従って、新たに読み取られた要
素は、その階層判定スタックの先頭の要素の子というこ
とになる。そこで、構造化リストに新規要素が加わった
場合には、S208にて階層判定スタックの先頭にある
要素の階層レベルを読み取り、その階層レベルに1を加
えた値を当該新規要素の階層レベルとする。
【0037】具体例で説明すると、図5のサンプル文書
1の最初の要素「コンサート情報」が入力されたときに
は、階層判定スタックは空なので、このときには図8の
構造化リストに示すように「コンサート情報」の階層レ
ベルを0とする。そして、S214にて「コンサート情
報」及びその階層レベル0を階層判定スタックの先頭に
挿入して、さらにサンプル文書の読み取りを続ける。次
に「アーティスト名」の開始タグが来た時点では、「コ
ンサート情報」の終了タグは来ていないので、階層判定
スタックの先頭には、「コンサート情報」及び階層レベ
ル0というデータが存在する。そこで、「アーティスト
名」の階層レベルは1となる。このあと、S214で
「アーティスト名」も階層判定スタックに挿入される
が、図5では次の要素の開始タグが来る前に「アーティ
スト名」の終了タグが来るので、S222にて「アーテ
ィスト名」のデータが開始判定スタックから削除され、
この結果次の要素「開催日」の階層レベル判定時には階
層判定スタックの先頭は「コンサート情報」となる。従
って、「開催日」の階層レベルも1となる。以下、同様
にして、階層判定スタックの先頭のデータより、階層レ
ベルが求められる。
【0038】階層レベルの書き込みが終わると、読み取
った開始タグの中に属性情報が含まれているか否かを判
定する(S210)。属性情報が含まれている場合は、
その情報を構造化リストの属性情報のフィールドに書き
込む(S212)。例えば、図5のサンプル文書には、
要素「アーティスト名」の開始タグに属性情報「ジャン
ル」が記述されているので、この場合S212で「アー
ティスト名」の属性情報のフィールドに「ジャンル」を
書き込む。この後、前述したように階層判定スタックの
先頭に当該要素の識別名及びS208で求めた当該要素
の階層レベルを挿入する(S214)。
【0039】以上、S204の判定により新規要素と判
定された場合の処理の流れ(S206〜S214)を説
明した。一方、読み取った要素がS204にて新規要素
でないと判定された場合には、構造化リストにおける当
該要素の出現回数に1を加える(S216)。そして、
当該要素の出現順序が前回出現時の順序と異なっている
か否かチェックし、当該要素が他の要素と順序が入れ替
わったことを示す値を出現順序のフィールドに書き込
む。例えば、サンプル文書3(図7)では、「開催日」
と「場所」の順序が入れ替わっているので、サンプル文
書3について処理が終わった後の構造化リスト(図1
0)では、「開催日」と「場所」とに、出現順序が入れ
替わったことを表す値1が書き込まれている。なお、新
規要素でない場合でも、階層情報を得るために、当該要
素のデータは階層判定スタックに挿入される(S21
4)。
【0040】次に、サンプル文書から読み取った文字列
が、S202において開始タグでないと判定された場合
について説明する。この場合、まず当該文字列が終了タ
グであるか否かを判定する(S220)。読み取った文
字列がタグ開始区切子“<”から始まり、その次にスラ
ッシュ“/”が来た場合は、次にタグ終了区切子“>”
が来るまでの文字列が終了タグと判定される。そして、
終了タグと判定されると、階層判定スタックのメンテナ
ンスのため、階層判定スタックの先頭から当該要素のデ
ータを削除する(S222)。なお、S220において
終了タグでないと判定された場合は、その文字列は、タ
グ以外の内容を示すものなので、この場合には何も行わ
ない。
【0041】以上のような処理が終わると、全サンプル
文書についての処理が終わったか否かを判定し(S22
4)、終わっていない場合は、サンプル文書から次の文
字列を読み取り、前述の処理を繰り返す。そして、全サ
ンプル文書についての処理が終わると構造化リストの作
成・更新処理が終了し、最終的な構造化リストが構造化
リスト処理部14からDTD作成部16に入力される。
【0042】図8〜10に示した構造化リストの状態に
ついて簡単に説明すると、サンプル文書1(図5)の処
理が終了した段階では、構造化リストにおいて、図8に
示すようにすべての要素の出現回数が1にセットされ
る。次に入力されるサンプル文書2(図6)では、サン
プル文書1と同じ種類の要素が同じ順序で現れているの
で、サンプル文書2の処理が終わった段階では、図9に
示すように構造化リストの全要素の出現回数が2とな
る。その次に入力されるサンプル文書3(図7)には、
サンプル文書1及び2に現れた要素がすべて現れている
が、「開催日」と「場所」の出現順序がサンプル文書1
及び2の場合と入れ替わっている。そして、さらにサン
プル文書3には、サンプル文書1及び2にはない「費
用」という要素が加わっている。従って、サンプル文書
3の処理が終わった段階では、新しく加わった「費用」
の出現回数が1にセットされ、それ以外の要素の出現回
数は3にセットされる。なお、要素「費用」は、「コン
サート情報」の子要素なので、その階層レベルの値は1
にセットされる。そして、「開催日」と「場所」の出現
順序フィールドには、入れ替わりがあったことを示す値
1が書き込まれる。
【0043】以上、構造情報抽出部12及び構造化リス
ト処理部14による構造化リストの作成・更新処理につ
いて説明した。DTD作成部16では、その処理の結果
得られた最終的な構造化リストを解析して、サンプル文
書の論理構造を包括的に規定するDTDを作成する。以
下、図10に示した構造化リストからDTDを作成する
場合を例にとって、DTD作成部16におけるDTD作
成処理の流れについて説明する。
【0044】図4は、DTD作成部16における処理の
流れを示すフローチャートである。以下、このフローチ
ャートを参照して、DTD作成処理の説明を行う。な
お、図10の構造化リストから最終的に作成されるDT
Dは、図11に示すような形となる。以下の説明におい
ては、図11を適宜参照する。
【0045】図4に示すように、DTD作成部16は、
構造化リストから要素を取り出し(S300)、取り出
した要素について要素宣言を発生する(S302)。そ
して、当該要素に親がある場合には、その親要素の内容
モデルに当該要素の識別名を追加する(S304)。こ
こで、内容モデルとは、子要素の識別名をその出現順序
に従って左から順に列挙したものであり、例えば図11
では、DTDの最初の行の「コンサート情報」の要素宣
言の後半の括弧書きの部分が、要素「コンサート情報」
の内容モデルである。そして、次に、当該要素に属性情
報が含まれるかどうか確認し(S306)、含まれる場
合には当該要素について属性宣言を発生する(S30
8)。例えば、図11では、DTDの第3行目が要素
「アーティスト名」についての属性宣言となっている。
このような一連の処理の後、構造化リストの最後まで処
理が終わったか否かを判定し(S310)、終わってい
ない場合は構造化リストの次の要素を取り出して、以上
の処理を繰り返す。このような処理を構造化リストの最
後まで行うことにより、構造化リストの内容を反映した
DTDが得られる。
【0046】図10の構造化リストの例では、まず最初
の要素「コンサート情報」について、識別名、出現回
数、出現順序、属性、階層レベルなどのデータが取り出
され(S300)、その識別名を用いて要素「コンサー
ト情報」の要素宣言が発生される(S302)。この結
果、DTDの最初の行として<!ELEMENT コンサート情
報>という要素宣言が作成される。ただし、図11に示
した「コンサート情報」の要素宣言の後半の内容モデル
は、この段階では作成されない。そして、「コンサート
情報」は、階層レベルが0、すなわち最上位の要素なの
で親要素が存在せず、従ってS304における処理は行
われない。また、構造化リストには「コンサート情報」
について属性情報が記載されていないので、S308の
処理も行われない。
【0047】このようにして構造化リストの最初の要素
「コンサート情報」についての処理が終わると、構造化
リストから次の要素「アーティスト名」についてのデー
タを取り出す(S300)。そして、DTDの第2行目
として「アーティスト名」についての要素宣言を作成す
る(S302)。要素「アーティスト名」を親要素の要
素宣言の内容モデルに書き込む(S304)。すなわ
ち、要素「アーティスト名」の階層レベルは1なので、
構造化リストにおいて当該要素の前の最も近いところに
現れる階層レベル0の要素(この場合は「コンサート情
報」)が親要素であると判定し、その親要素「コンサー
ト情報」の要素宣言の中に内容モデルの欄を作成し、そ
こに「アーティスト名」という識別名を書き込む。な
お、以下他の要素の処理を行うに連れて、親要素の内容
モデルには、出現順序に従って左から順に子要素の識別
名が書き込まれる。内容モデル内においては、子要素同
士はカンマ“,”で区切られる。
【0048】また、要素「アーティスト名」には属性情
報「ジャンル」が付随しているので、DTDの第3行目
として要素「アーティスト名」の属性宣言を作成する
(S308)。なお、図11において、「アーティスト
名」の属性宣言の後半に示されている“id ID”及
び“#IMPLIED”は、属性情報「ジャンル」の性
質を規定する属性値型及び省略時値であり、それぞれS
GMLの規則に規定されているものの中の一つである。
本実施形態では、属性宣言には、この属性値型及び省略
時値がデフォルトとして書き込まれる。
【0049】このようにして要素「アーティスト名」に
ついての処理が終わると、構造化リストから次の要素
「開催日」のデータを取り出す。そして、以下、構造化
リストの最後の要素「費用」について処理が終わるまで
以上の工程を繰り返す。
【0050】なお、図10の構造化リストにおいては、
要素「開催日」及び「場所」の出現順序が、順序の入れ
替わりがあることを示す値1となっているので、DTD
に順序についての情報を反映させる必要がある。SGM
Lでは、要素の順序の入れ替わりは、それら要素の親要
素の内容モデルにおいて、記号“&”を用いて表す。す
なわち、この例では、図11に示すように、要素「コン
サート情報」の内容モデルの中に、“(開催日&場
所)”と書くことにより、要素「開催日」及び「場所」
とが順不同であることを示すことができる。
【0051】このため、本実施形態では、S304にお
いて要素の識別名をその要素の親要素の内容モデルに書
き込む際に、当該要素の出現順序の値を確認する。要素
「開催日」の処理において、出現順序を確認すると値が
1となっているので、親要素「コンサート情報」の内容
モデルに“(開催日&”と書き込む。そして、要素「開
催日」と同一階層レベルの次に現れる要素「場所」の処
理する際に、当該要素「場所」の出現順序が1であるこ
とを確認し、親要素「コンサート情報」の内容モデルに
“場所)”と書き込む。このようにして、DTDに出現
順序の入れ替わりについての情報が反映される。
【0052】また、図11に示したDTDにおいては、
「コンサート情報」の要素宣言の中の内容モデルにおい
て、最後の子要素「費用」の後に記号“?”が付されて
いる。この記号“?”は、出現が任意である(すなわ
ち、出現してもしなくてもよい)要素を示す。この例で
は、図10の構造化リストにおいて要素「費用」の出現
回数が1回となっており、最上位階層の要素「コンサー
ト情報」の出現回数よりも小さいので、要素「費用」の
出現が任意と判定している。この判定は、S304にお
いて行う。すなわち、S304において要素の識別名を
親要素の内容モデルに書き込む際に、当該要素の出現回
数を最上位階層の要素の出現回数と比較し、当該要素の
出現回数が最上位階層の要素の出現回数よりも少ない場
合には、当該要素の識別名の後に記号“?”を付加して
親要素の内容モデルに書き込む。
【0053】また、図11のDTDの要素宣言の中に
“(#PCDATA)”と書かれているところがある
が、これはその要素の中に書き込まれるテキストのデー
タ型が構文解析対象文字データであることを示してい
る。このようなデータ型についてはSGMLに規定が定
められている。本実施形態では、テキストを含む要素に
ついては、#PCDATAをデフォルトのデータ型とし
て宣言する。
【0054】なお、以上の説明では、複数のサンプル文
書からDTDを自動生成していたが、本実施形態の装置
は、1つのサンプル文書だけからでもDTDを自動生成
することができる。
【0055】また、上記説明では、すべてのサンプル文
章を入力し、それに伴う構造化リストの更新がすべて終
了した際にのみDTDを自動生成していたが、各サンプ
ルを入力した時点でそれぞれDTDを生成しても良い。
この場合、各DTDはそれぞれ入力されたサンプル文書
までの構造化リスト更新を反映したものとなり、ユーザ
は効率的に意図するDTDを入手することができる。
【0056】以上説明したように、本実施形態によれ
ば、DTDの作成の仕方を知らないユーザでも、SGM
Lの文法に従って作成されたサンプル文書を用意するこ
とにより、このサンプル文書から自動的にDTDを生成
することができる。
【0057】また、本実施形態では、DTDを作成する
前に個々の文書インスタンスを作成し、作成した文書イ
ンスタンスをサンプル文書として用いてDTDを作成す
ることができる。従って、文書インスタンスの作成とD
TDの作成とを同時進行的に行うことが可能となる。
【図面の簡単な説明】
【図1】 本発明に係る文書型定義生成装置の機能ブロ
ック図である。
【図2】 本発明に係る文書型定義生成装置における全
体的な処理の流れを示すフローチャートである。
【図3】 構造化リストの作成・更新処理の流れを示す
フローチャートである。
【図4】 構造化リストからDTDを自動生成する際の
処理の流れを示すフローチャートである。
【図5】 サンプル文書1を示す図である。
【図6】 サンプル文書2を示す図である。
【図7】 サンプル文書3を示す図である。
【図8】 サンプル文書1から作成された構造化リスト
を示す図である。
【図9】 サンプル文書1及び2から作成された構造化
リストを示す図である。
【図10】 サンプル文書1及び2及び3から作成され
た構造化リストを示す図である。
【図11】 図10の構造化リストに基づき作成された
DTDを示す図である。
【図12】 領収書をSGMLで記述した例を示す図で
ある。
【図13】 図12の文書インスタンスの構造を示す説
明図である。
【図14】 領収書のDTDを一例を示す図である。
【符号の説明】
10 サンプル入力部、12 構造情報抽出部、14
構造化リスト処理部、16 DTD作成部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北村 秀明 京都市上京区堀川通寺之内上る4丁目天神 北町1番地の1 大日本スクリーン製造株 式会社内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 構造化記述文書の文書型定義を生成する
    文書型定義生成装置であって、 構造化記述文書で記述されたサンプル文書から論理構造
    情報を抽出する構造情報抽出手段と、 抽出された論理構造情報に基づいて文書型定義を作成す
    る定義作成手段と、 を有する文書型定義生成装置。
  2. 【請求項2】 構造化記述文書の文書型定義を生成する
    文書型定義生成装置であって、 構造化記述文書で記述されたサンプル文書から論理構造
    情報を抽出する構造情報抽出手段と、 複数のサンプル文書から抽出された論理構造情報を集計
    する集計手段と、 集計手段の集計結果に基づいて文書型定義を作成する定
    義作成手段と、 を有し、同一文書種類について作成された複数のサンプ
    ル文書から当該文書種類についての文書型定義を生成す
    る文書型定義生成装置。
  3. 【請求項3】 請求項2に記載の文書型定義生成装置に
    おいて、 前記定義作成手段は、各サンプル文書からの論理構造情
    報が集計されるごとに当該集計結果に基づいて文書型定
    義を作成することを特徴とする文書型定義生成装置。
  4. 【請求項4】 請求項1〜3いずれかに記載の文書型定
    義生成装置において、 前記構造情報抽出手段は、サンプル文書の各要素の入れ
    子構造を解析して各要素の階層関係を求める手段を有す
    ることを特徴とする文書型定義生成装置。
  5. 【請求項5】 請求項1〜3いずれかに記載の文書型定
    義生成装置において、 前記構造化記述文書は、SGML文書であり、 前記構造情報抽出手段は、SGML文書のタグから論理
    構造情報を抽出することを特徴とする文書型定義生成装
    置。
  6. 【請求項6】 請求項5に記載の文書型定義生成装置に
    おいて、 前記構造情報抽出手段は、開始タグ及び終了タグにより
    サンプル文書の各要素の入れ子構造を解析して各要素の
    階層関係を求める手段を有することを特徴とする文書型
    定義生成装置。
JP30620595A 1995-11-24 1995-11-24 文書型定義生成装置 Abandoned JPH09146931A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30620595A JPH09146931A (ja) 1995-11-24 1995-11-24 文書型定義生成装置
GB9623606A GB2307571A (en) 1995-11-24 1996-11-13 Automatically generating a document type definition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30620595A JPH09146931A (ja) 1995-11-24 1995-11-24 文書型定義生成装置

Publications (1)

Publication Number Publication Date
JPH09146931A true JPH09146931A (ja) 1997-06-06

Family

ID=17954265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30620595A Abandoned JPH09146931A (ja) 1995-11-24 1995-11-24 文書型定義生成装置

Country Status (2)

Country Link
JP (1) JPH09146931A (ja)
GB (1) GB2307571A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092529A (ja) * 2004-08-23 2006-04-06 Sun Microsyst Inc Xml入力文書を検証するxmlスキーマを自動的に生成するシステムおよび方法
WO2006051954A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation 文書処理装置及び文書処理方法
US7120863B1 (en) 1999-11-15 2006-10-10 International Business Machines Corporation Method, system, and program for interfacing with elements in a document
JP2009527852A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Ediスキーマをモデル化するためのxmlペイロード仕様
JP2009527851A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Ediインスタンスベースのトランザクションセット定義
JP2010217972A (ja) * 2009-03-13 2010-09-30 Toshiba Corp 構造化文書生成装置及び構造化文書生成プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6964011B1 (en) * 1998-11-26 2005-11-08 Canon Kabushiki Kaisha Document type definition generating method and apparatus, and storage medium for storing program
US7287219B1 (en) * 1999-03-11 2007-10-23 Abode Systems Incorporated Method of constructing a document type definition from a set of structured electronic documents
US6850948B1 (en) 2000-10-30 2005-02-01 Koninklijke Philips Electronics N.V. Method and apparatus for compressing textual documents
US7428699B1 (en) 2003-01-15 2008-09-23 Adobe Systems Incorporated Configurable representation of structured data
US7657832B1 (en) 2003-09-18 2010-02-02 Adobe Systems Incorporated Correcting validation errors in structured documents
US9411781B2 (en) 2006-01-18 2016-08-09 Adobe Systems Incorporated Rule-based structural expression of text and formatting attributes in documents

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713966A (ja) * 1993-04-12 1995-01-17 Xerox Corp 文書の編集方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120863B1 (en) 1999-11-15 2006-10-10 International Business Machines Corporation Method, system, and program for interfacing with elements in a document
JP2006092529A (ja) * 2004-08-23 2006-04-06 Sun Microsyst Inc Xml入力文書を検証するxmlスキーマを自動的に生成するシステムおよび方法
WO2006051954A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation 文書処理装置及び文書処理方法
JP2009527852A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Ediスキーマをモデル化するためのxmlペイロード仕様
JP2009527851A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Ediインスタンスベースのトランザクションセット定義
JP2011159302A (ja) * 2006-02-24 2011-08-18 Microsoft Corp Ediスキーマをモデル化するためのxmlペイロード仕様
JP2010217972A (ja) * 2009-03-13 2010-09-30 Toshiba Corp 構造化文書生成装置及び構造化文書生成プログラム

Also Published As

Publication number Publication date
GB9623606D0 (en) 1997-01-08
GB2307571A (en) 1997-05-28

Similar Documents

Publication Publication Date Title
KR100324456B1 (ko) 구조화문서검색표시방법및장치
US7111011B2 (en) Document processing apparatus, document processing method, document processing program and recording medium
US7143026B2 (en) Generating rules to convert HTML tables to prose
US6098061A (en) Computer system for interactive help using human-understandable knowledge and computer-understandable knowledge
JPH11242676A (ja) 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体
JPH10240752A (ja) 構造化文書の登録方法,検索方法、およびそれに用いられる可搬型媒体
JP2004234354A (ja) 構造パターン候補を生成する方法、システムおよびプログラム
Schmidt The role of markup in the digital humanities
JP2004265423A (ja) 文書翻訳方法
JP2007226452A (ja) 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
JP3028738B2 (ja) 文書共通論理情報編集装置
JPH09146931A (ja) 文書型定義生成装置
JPH05101054A (ja) 部品合成による文書作成支援システム
JPH11110384A (ja) 構造化文書検索表示方法及び装置
JP3724878B2 (ja) キーワード抽出ルール生成方法
JPH10222510A (ja) 文書変換方法
JP3632643B2 (ja) 構造化文書管理装置
JP3842576B2 (ja) 構造化文書編集方法及び構造化文書編集システム
JP3842572B2 (ja) 構造化文書管理方法および構造化文書管理装置およびプログラム
JP2003288332A (ja) 構造化文書作成支援方法及び構造化文書作成支援システム
JP2003288365A (ja) 付加情報管理方法及び付加情報管理システム
JP3419483B2 (ja) 自然言語処理装置及びその方法
JP2003196296A (ja) 文献知識管理装置、文献知識管理方法、プログラム、および、記録媒体
JP2004118543A (ja) 構造化文書検索方法、検索支援方法、検索支援装置および検索支援プログラム
JP2611641B2 (ja) データ項目名変換装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20040507