JP2007265429A - 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP2007265429A
JP2007265429A JP2007141070A JP2007141070A JP2007265429A JP 2007265429 A JP2007265429 A JP 2007265429A JP 2007141070 A JP2007141070 A JP 2007141070A JP 2007141070 A JP2007141070 A JP 2007141070A JP 2007265429 A JP2007265429 A JP 2007265429A
Authority
JP
Japan
Prior art keywords
document
conversion
structured
computer
template
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.)
Pending
Application number
JP2007141070A
Other languages
English (en)
Inventor
Hideharu Suzuki
偉元 鈴木
Norihiro Ishikawa
憲洋 石川
Hidetoshi Ueno
英俊 上野
Hiromitsu Sumino
宏光 角野
Tsuyoshi Kato
剛志 加藤
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2007141070A priority Critical patent/JP2007265429A/ja
Publication of JP2007265429A publication Critical patent/JP2007265429A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】文書構造変換において出力する文書データを変換後の文書型定義に従った妥当なものとなるように出力し、妥当性検証のステップを省略することによって、文書変換にかかる全体の時間を短縮する。
【解決手段】本発明は、第1の文書型定義D1に基づいて形成された第1の構造化文書F1を第2の文書型定義D2に基づいて形成された第2の構造化文書F3に変換する文書変換方法であって、文書型定義D1及び文書型定義D2を解析し、相違する文書型定義を抽出し、解析の結果に応じて、文書変換処理の処理結果である構造化文書F3が文書型定義D2に矛盾することのないような変換ルールを記述した変換テンプレートT2を生成し、変換テンプレートT2を用いて文書変換処理を行う。
【選択図】図1

Description

本発明は、第1の文書型定義に基づいて形成された第1の構造化文書を第2の文書型定義に基づいて形成された第2の構造化文書に変換する文書変換システム、変換方法、変換プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
従来より、テキスト文書ファイルなどにおけるテキストデータを単なる文字列として扱うだけでなく、文書のレイアウトや属性等の論理構造を表現することのできる構造化文書が提案されている。この構造化文書の形式としては、例えば、ISO(International Standardization Organization)規格8879のSGMLやW3C(World wide Web Consortium)が仕様を制定したXMLがある。SGMLやXMLでは、文書の論理構造を文書型定義(DTD: Document Type Definition)により指定し、表題、著者名、序文、及び本文のような文書構成要素としての役割を、文書タグと呼ばれる構造要素織別子を用いて表現することができる。
構造化文書では、構造識別子に対して、それぞれ固有の意味や役割等の特性を持たせる必要がある場合があり、この特性を示すために、構造識別子に付加情報(属性)を付加することができる。
また、構造化文書を画面に表示、或いは紙に印刷するための書式情報を記述するためのスタイルシートの形式が提案されている。スタイルシートの形式としては、例えばISO規格10179のDSSSL(Document Style Semantics and Specification Language)やW3Cが策定したXSL(eXtensible Stylesheet Language)がある。
DSSSLやXSLでは、SGMLやXMLを構成する構造識別子に対する条件を表現するパターンとそのパターンを満たす構造識別子に対するアクションの組を指定することにより、文書の書式情報を記述する。
また、スタイルシートは書式情報を与えると同時に文書構造を変換する仕組みを持つ。XSLのうち、構造化文書の特定のパターンを取りだす仕様をXSLT(XSL Transformation)という。XSLTの機能を利用すれば、XML文書を所定の条件に従って変換し、例えばHTMLなどの別形式の文書として出力することができる。
構造化文書は、文書データ(テキスト)を構造的に意味のある単位に分割して要素と属性を用いてマーク付けを行ったものである。XMLにおいて、文書データの構造を定義する方法をスキーマといい、スキーマの定義には文書型定義(DTD)を使うのが一般的である。スキーマは、文書を構成する要素がどんな要素をどの順序で何回内容として持つのか、またどんな属性を持つのかを定義する。構造化文書はそれだけではデータの定義がないため、例えば何らかの理由でデータが欠落しても、そのエラーを自動的にチェックすることができない。そこで、データの表示やデータ交換をするためには文書型定義を行い、定義に従った文書を記述する必要がある。
図11は、XMLで記述された構造化文書F1を例に、従来の文書変換の処理フローの一例を示したものである。同図に示すように、一般に、構造化文書の変換処理は、主として文書構造変換処理S101と、妥当性検証処理S102の2つのステップからなる。
文書構造変換処理S101は、パターンマッチング的に要素や属性を抜き出して新しい要素や属性に置換したり、新たな要素、属性、テキストを追加することによって新しい文書を作成するステップであり、変換テンプレートT1に記述された変換ルールに基づいて行われる。この変換テンプレートT1は、構造変換のルールは予めXSLファイル(変換テンプレートT1)として作成しておく。なお、文書構造変換処理S101のためのXSLT変換エンジンには、既存の公開ソフトウェア(Xalan-C++等)を使用することができる。
妥当性検証処理S102は、XSLT変換処理の出力結果(構造化文書F2)が変換後の文書型定義D2に従っていることを確認するステップであり、変換後の文書型定義D2と既存の公開ソフトウェア(XML4C等)を用いて実施する。妥当性検証処理S102の結果から、OKとなれば新しい構造化文書F3の完成であり、NGとなればエラー内容に基づき、構造化文書F2について文書構造修正処理S104を行い、改めて妥当性検証処理S102を実施する。
図12(a)は、文書型定義D1で定義された構造化文書F1を変換テンプレートT1に基づいて構造化文書F3に変換する従来例を示す説明図である。同図では、1回目の変換(丸で囲んだ1)後の構造化文書F2は、文書型定義D2に矛盾しており、その矛盾を修正(丸で囲んだ2)して構造化文書F3を生成している。また、図12(a)の文書例において、UL要素及びul要素は番号無しの箇条書き段落(順不同リスト)を定義し、各箇条書き項目は下位のLI要素及びli要素によってそれぞれ定義される。
変換後の要素では、ul要素及びli要素がそれぞれUL要素とLI要素に対応する例である。変換前の構造化文書F1では、3つの箇条書きからなるリストを記述する。矛盾を含む変換後の構造化文書F2は単純に対応する要素が置換されている。
ここで、変換後の文書型定義D2において、ul要素の下位には、li要素がただ1つしか定義できないといったルールが定めてあった場合、変換後の構造化文書F2において、各li要素を別々のul要素の子要素とする(それぞれulタグの入れ子で囲み直す)ことによって、変換後の文書型定義D2に合致する妥当な構造化文書F3に修正している。
図12(b)は、従来の変換テンプレートT1の記述例である。同図に示すように、変換前の構造化文書F1から矛盾を含む変換後の構造化文書F2への変換(丸で囲んだ1)に関する変換ルールとなっている。
以下、変換テンプレートT1の処理内容について説明する。変換テンプレートT1はそれぞれパターン指定とテンプレート指定の2つの部分からなる。
変換処理では、構造化文書の中からパターン指定によって指示された文書パターン(タグ)を抽出し、この抽出した文書パターンに対して、テンプレート指定によって指示された処理内容に従って、追加、削除、置換処理を行い、新しい文書を生成する。
従来の変換テンプレートT1において、<xsl:template match>、<xsl:apply-template>、<xsl:value-of>はそれぞれXSL仕様で定義された要素の一つである。
<xsl:template match>を使った(1)及び(3)はそれぞれのパターン指定であり、(1)ではUL要素を、(3)ではLI要素の抽出を意味する。また、(2)及び(4)はテンプレート指定である。まず、(1)のパターン指定に従って、UL要素を抽出し、(2)のテンプレート指定を実施する。
(2)のテンプレート指定は、先ずulの開始タグを記述し、LI要素に対するテンプレートルールの処理を行った後に、ulの終了タグを記述することを意味する。
LI要素に対するテンプレートルールは(3)及び(4)であり、(3)のパターン指定によってLI要素を抽出する。次に、(4)のテンプレート指定によって、先ずliの開始タグを記述し、LI要素以下をテキストに変換して記述し、最後にliの終了タグを記述することを意味する。変換前の文書301では、LI要素が3つあるため、上記の(3)のパターン指定に該当する3箇所が抽出され、それぞれ(4)のテンプレート指定の処理を実施して、処理が完了する。
XSL Transformations (XSLT) Version 1.0、[online]、1999年11月、W3C、[平成19年5月28日検索]、インターネット<URL: http://www.w3.org/TR/xslt>
しかしながら、上述したように、変換前の文書型定義D1が変換後の文書型定義D2と矛盾する仕様(例えば、変換後の文書型定義D2において禁止されている仕様)を含む場合、変換テンプレートT1に従って、要素や属性を抽出し、対応する要素や属性へ置換(変換)や追加を行っただけでは、変換後の文書型定義D2と矛盾する文書構造を残してしまうという問題がある。
また、従来の構造化文書変換方法では、文書構造変換処理S101と妥当性検証処理S102の2つのステップはどちらも文書データのルート要素から順番に末端までデータ構造に従って要素や属性をサーチするため、文書修正処理S104の回数に伴って、処理に時間がかかるという問題点があった。
また、妥当性検証処理S102において、NGとなった場合には、NG内容に基づいて文書構造修正処理S104をオフラインで行わなければならないという問題があった。
そこで、本発明は、上記問題点を鑑みてなされたものであり、文書構造変換において出力する文書データを変換後の文書型定義に従った妥当なものとなるように出力し、妥当性検証のステップを省略することによって、文書変換にかかる全体の時間を短縮することを目的とする。
上記課題を解決するために本発明は、第1の文書型定義に基づいて形成された第1の構造化文書を第2の文書型定義に基づいて形成された第2の構造化文書に変換する際に、前記第1の文書型定義及び前記第2の文書型定義を解析し、相違する文書型定義を抽出し、前記解析の結果に応じて、文書変換処理の処理結果である前記第2の構造化文書が前記第2の文書型定義に矛盾することのないような変換ルールを記述した変換テンプレートを生成し、前記変換テンプレートを用いて文書変換処理を行うことを特徴とする。
本発明によれば、変換後(第2)の文書型定義に違反する出力ロジックがあれば、それを修正するための処理内容を変換テンプレートに反映しておくことにより、文書構造変換処理結果である第2の構造化文書が変換後の文書型定義に従った妥当なものとすることができる。この結果、従来行っていた、変換後における妥当性検証ステップを省略することができ、文書変換にかかる全体の時間を短縮することができる。
以上説明したように本発明によれば、構造化文書の変換において、変換テンプレートを妥当なものに作り替えることによって、変換後の文書型定義に対する妥当性検証のステップを省略するため、文書構造変換の全体の時間を短縮できる。
(文書変換方法)
以下、本発明の文書変換方法の実施形態について説明する。図1は、本実施形態に係る文書変換方法の概要を示す概念図である。
同図に示すように、変換テンプレートT2は、変換前の文書型定義(第1の文書型定義)D1と、変換後の文書型定義(第2の文書型定義)D2を解釈して、変換後の文書型定義D2に従った結果を出力するために妥当な変換ルールが記述されたものである。文書構造変換処理S101では、変換テンプレートT2の記述にしたがって、変換前の構造化文書(第1の構造化文書)F1の文書構造を変換し、新しい構造化文書(第2の構造化文書)F3を生成する。
かかる変換テンプレート2は、以下の手順により作成することができる。なお、本実施形態において、変換前の文書型定義D1及び変換後の文書型定義D2は、XMLやHTMLなど、文書を構成する文字列の論理構造を定義する識別子(マークタグ)を有する文書データである。
ここでは、予め識別子対応表と、変換ルールを作成しておく。表1は、本実施形態に係るパターン識別子対応表と変換ルールを併せて記述したテーブルデータである。
Figure 2007265429
表1に示すように、識別子対応表は、UL要素とul要素というように、同一の論理構造を定義する要素同士を対応付けたものである。また、変換ルールは、変換後の論理構造を定義する差替えテンプレートと、テンプレートを適用するための条件とから構成されている。
識別子対応表は、大文字と小文字の関係にある要素同士や、同一内容の引数を用いる要素同士、同一の機能を有する要素同士というように対応付けて作成する。この識別子対応表に従って、変換前の論理構造と変換後の論理構造とを比較して、両者の相違部分を検出する。例えば、図12に示すように、構造化文書F1中のUL要素とLI要素とから形成される論理構造の文書型定義と、構造化文書F3中のul要素とli要素とから形成される論理構造の文書型定義とを比較し、相違部分を検出する。
次いで、この検出された相違部分の条件を解析する。図12(a)に示した例では、各LI要素が複数(2以上)ある場合には、各LI要素に対して、UL要素がそれぞれ入れ子状態となるように構成されている。したがって、この例では、(LI≧2)が条件となる。そして、相違部分の条件とこれに対応する変換後の論理構造とに基づいて変換ルールを作成し、これを変換テンプレートT2に反映させる。
本実施形態では、変換テンプレートT2は、パターン指定とテンプレート指定とから構成される。パターン指定は、変換すべき識別子を指定するものであり、ここでは、識別子対応表に列記された識別子となる。また、テンプレート指定は、表1の変換ルールを反映させたものであり、変換後の論理構造を定義する差替え用テンプレートと、差替え用テンプレートを適用する条件から構成されている。
図2(a)及び(b)は、本実施形態に係る変換テンプレートT2の記述例として、テンプレートルールT12,T22を示すものであり、いずれも図12に示す矛盾を修正し、1回の変換(丸で囲んだ3)のみによって、変換後の構造化文書F3を出力する例である。本実施形態に係るテンプレートルールT12では、(5)及び(7)がそれぞれのパターン指定であり、(5)では、UL要素を、(7)では、LI要素の抽出を記述している。また、(6)及び(8)は、テンプレート指定である。
図2(a)に示す例では、先ず、(5)のパターン指定に従って、UL要素を抽出し、(6)のテンプレート指定を実施する。(6)のテンプレート指定は、カレントの要素(UL)から子要素(LI)にテンプレート適用対象を移動させることを意味する。LI要素に対するテンプレートルールは(7),(8)である。
(7)のパターン指定によってLI要素を抽出し、(8)のテンプレート指定によって、先ずulの開始タグを記述し、さらにliの開始タグを記述し、LI要素以下をテキストに変換して記述し、最後にliの終了タグとulの終了タグをこの順番で記述することを指示している。
変換前の構造化文書F1では、LI要素が3つあるため、上記の(7)のパターンを指定に該当する3箇所が抽出され、それぞれ(8)のテンプレート指定の処理を実行して、処理が完了する。
図2(b)に示すテンプレートルールT22においては、<xsl:for-each>はXSL仕様で定義された要素の一つである。(9)は、パターン指定であり、UL要素の抽出を指示する。(10)はテンプレート指定であり、複数のLI要素を繰り返して処理することを指示する。処理の内容は、先ず、ulの開始タグを記述し、さらにliの開始タグを記述し、LI要素以下をテキストに変換して記述し、最後にliの終了タグとulの終了タグをこの順番で記述することを指示している。変換前の構造化文書F1では、LI要素が3つあるため、上記の(10)のテンプレート指定がある<xsl:for-each>要素によって3つのLI要素に対する処理をくり返した後に処理が完了する。
次いで、他の変換テンプレートの例について説明する。図3(a)及び(b)は、body要素とblockquote要素に関する変換例を示す説明図であり、同図(a)は、変換前(第1)の構造化文書F31、矛盾を含む変換後の文書F32、及び矛盾を修正した変換後(第2)の構造化文書F33を示し、同図(b)は、従来の変換テンプレートT31及び本実施形態に係る変換テンプレートT32を示している。
文書例において、body要素及びBODY要素はドキュメントの本体を表し、blockquote要素及びBLOCKQUOTE要素は、文字列のブロックを引用として表示することを指示する。div要素は、スタイルシートを適用するブロックを指定することを指示するが、スタイルシートは必ずしも適用しなくてもよい。
本実施形態では、前記表1に示すように、単にbody要素とblockquote要素が包含することのできる要素としてdiv要素を使用するものである。変換前後において、body要素及びblockquote要素がそれぞれBODY要素とBLOCKQUOTE要素に対応する例である。
変換前の文書F31は、BODY要素の配下の文字列をそのままドキュメント本文として表示し、さらに続けてBLOCKQUOTE要素の配下にある文字列のブロックを引用として表示する。矛盾を含む変換後の文書F32は、単純に対応する要素を置換したものである。
ここで、変換後の文書型定義D2において、body要素及びblockquote要素の配下には直接文字列を記述することはできないといったルールが定めてあった場合、矛盾を含む変換後の構造化文書F32は、変換後の文書型定義D2と矛盾することになる。矛盾を修正した変換後の構造化文書F33では、矛盾を含む変換後の構造化文書F32においてbody要素とblockquote要素のそれぞれにdiv要素を介在させることによって、変換後の文書型定義D2に合致する文書に修正する。
図3(b)は、変換テンプレートルールの記述例である。図3(a)に示した変換前の文書F31から矛盾を含む変換後の文書F32への変換(丸で囲んだ4)に関する変換テンプレートルールを記載したものが、従来の変換テンプレートルールT31であり、変換前の構造化文書F31から矛盾を修正した変換後の構造化文書F33への変換(丸で囲んだ6)に関する変換ルールを記載したものが、修正した変換テンプレートルールT32である。
従来の変換テンプレートルールT31について、(11)及び(13)は、それぞれのパターン指定であり、(11)ではBODY要素を、(13)では、BLOCKQUOTE要素の抽出を指示する。また、(12)及び(14)はテンプレート指定である。
先ず、(11)のパターン指定に従って、BODY要素を抽出し、(12)のテンプレート指定を実施する。(12)のテンプレート指定は、先ずbodyの開始タグを記述し、カレントの要素(BODY)から子要素(BLOCKQUOTE)にテンプレート適用対象を移動させ、子要素(BLOCKQUOTE)に対するテンプレートルールの処理を行った後に、bodyの終了タグを記述することを意味する。
BLOCKQUOTE要素に対するテンプレートルールは、(13)、(14)である。
(13)のパターン指定に従って、BLOCKQUOTE要素を抽出し、(14)のテンプレート指定を実施する。(14)のテンプレート指定は、先ずblockquoteの開始タグを記述し、カレントの要素(BLOCKQUOTE)から子要素にテンプレート適用対象を移動させ、子要素に対するテンプレートルールの処理を行った後に、blockquoteの終了タグを記述することを指示する。
従来の変換テンプレートルールT31は、BODY要素とBLOCKQUOTE要素をそれぞれ単純にbody要素とblockquote要素に変換している。
本実施形態に係る変換テンプレートルールT32において、(15)及び(17)はそれぞれのパターン指定であり、(15)ではBODY要素を、(17)ではBLOCKQUOTE要素の抽出を指示する。また、(16)及び(18)は、テンプレート指定である。先ず、(15)のパターンに従って、BODY要素を抽出し、(16)のテンプレート指定を実施する。(16)のテンプレート指定は、先ず、bodyの開始タグを記述し、さらにdivの開始タグを記述し、カレントの要素(BODY)から子要素(BLOCKQUOTE)にテンプレート適用対象を移動させ、子要素(BLOCKQUOTE)に対するテンプレートルールの処理を行った後に、div及びbodyの終了タグをこの順で記述することを意味する。
BLOCKQUOTE要素に対するテンプレートルールは、(17)、(18)である。
(17)のパターン指定に従って、BLOCKQUOTE要素を抽出し、(18)のテンプレート指定を実施する。(18)のテンプレート指定は、先ずblockquoteの開始タグを記述し、さらにdivの開始タグを記述し、カレントの要素(BLOCKQUOTE)から子要素にテンプレート適用対象を移動させ、子要素に対するテンプレートルールの処理を行った後に、div及びblockquoteの終了タグをこの順で記述することを意味する。変換テンプレートルールT32によって、BODY要素とBLOCKQUOTE要素をそれぞれbody要素とblockquote要素に変換するとともに、body要素とblockquote要素にそれぞれdiv要素を介在させることができる。
さらに、本実施形態に係る変換テンプレートルールT2の作成例について説明する。図4(a)及び(b)は、ol要素とli要素に関する変換例の説明図であり、同図(a)は、変換前(第1)の構造化文書F41、矛盾を含む変換後の構造化文書F42、及び矛盾を修正した変換後(第2)の構造化文書F43を示し、同図(b)は、従来の変換テンプレートT41及び本実施形態に係る変換テンプレートT42を示している。
ol要素及びOL要素は番号付きの箇条書きブロック(序列リスト)を作成し、各箇条書き項目は回のli要素及びLI要素によってそれぞれ定義される。変換前の文書F41は、OL要素の配下にLI要素が存在する部分と、LI要素が存在しない部分がある例である。
図4(a)に示すように、矛盾を含む変換後の構造化文書F42は、単純に対応する要素を置換している。ここで、変換後文書型定義においてol要素の配下には少なくとも1つ以上のli要素が必要であるといったルールが定めてある場合、矛盾を含む変換後の構造化文書F42は、変換後の文書型定義に矛盾することとなる。
矛盾を修正した変換後の構造化文書F43の例では、変換後の構造化文書F42において、li要素を持たないol要素をdiv要素に置換することによって、変換後の文書型定義に合致する文書に修正する。
図4(b)は、変換テンプレートルールT42の例である。図4(a)に示した変換前の構造化文書F41から矛盾を含む変換後の構造化文書F42への変換(丸で囲んだ7)に関する変換ルールを記載したものが、図4(b)に記載した従来の変換テンプレートルールT41であり、変換前の構造化文書F41から矛盾を修正した変換後の構造化文書F41への変換(丸で囲んだ9)に関する変換ルールを記載したものが、図4(b)に記載した変換テンプレートルールT42である。
図4に示すように、従来の変換テンプレートルールT41も、上記同様に、OL要素及びLI要素の抽出を指示するパターン指定と。各パターン指定に対応したテンプレート指定とから構成されている。この従来の変換テンプレートルールT41では、OL要素とLI要素をそれぞれ単純にol要素とli要素に変換している。
本実施形態に係る変換テンプレートルールT42において、(19)及び(21)はそれぞれのパターン指定であり、(19)ではOL要素を(21)ではLI要素の抽出を意味する。また、(20)及び(22)はテンプレート指定である。
先ず、(19)のパターン指定に従って、OL要素を抽出し、(20)のテンプレート指定を実施する。
図4(b)において、<xsl:choose>,<xsl:when>,<xsl:otherwise>はそれぞれXSL仕様で定義された要素の一つである。これら3つの要素を組み合わせて場合分けをした処理を行う。(20)のテンプレート指定において、test属性に記述した条件式("cout(LI)!=`0`")の結果が真(TRUE)であれば、<xsl:when>要素内の処理を実施し、偽(FALSE)であれば、<xsl:otherwise>要素内の処理を実施する。
条件式("cout(LI)!=`0`")はLI要素の数量をカウントし、1つ以上のLI要素が存在する場合には真(TRUE)となる。その場合には、<xsl:when>要素のテンプレートに従って、先ずolの開始タグを記述し、LI要素に対するテンプレートルールの処理を行った後、olの終了タグを記述することを意味する。
また、条件式("cout(LI)!=`0`")は、LI要素の数量が0であった場合には、偽(FALSE)となり、その場合には、<xsl:otherwise>要素のテンプレートに従って、先ずdivの開始タグを記述し、カレントの要素(OL)から子要素にテンプレート適用対象を移動させ、子要素に対するテンプレートルールの処理を行った後、divの終了タグを記述すること意味する。変換テンプレートルールT42によって、ol要素の配下にli要素が存在しない場合には、ol要素をdiv要素へ置換することができる。
なお、上述した本実施形態に係る文書変換方法においては、図5に示すような変更を加えることができる。図5は、XMLに従っていない構造化文書、例えばiモード用コンパクトHTML文書を、変換前(第1)の構造化文書として用いた場合に関する変換処理の実施例である。本変更では、上述した実施形態において、整形化ツールによる整形化処理S201が付加されている。
この変更例において、文書構造変換ツールとしてXSLTエンジンを動作させるためには、文書がXMLの文書型定義(DTD)に従っている必要がある。XML文書はXML宣言などの宣言文を持ち、全ての要素が正しく入れ子構造になるように厳密に記述しなければならない。XMLに従っていない構造化文書F1をXML仕様に従わせるために、整形化S201(Well-fomed化)を行う。整形化S201では、次のような内容の処理を行う。
すなわち、開始タグと終了タグの入れ子関係を正しくしたり、終了タグの無いものに終了タグを追加したり、空要素がある場合に、’/’を入れたり(例:<BR/>)、属性値をダブルクォーテーションで括ったり、属性値が省略されているものに属性値を追加したり、要素名と属性名を全て小文字に修正したりする。
そして、図5に示すように、先ず、変換前の構造化文書F1をXML仕様に従うように整形化S201の処理を行う。この整形化S201の処理には、フリーソフトウェア(HTML Tidy等)を使うことができる。整形化S201された文書に対して文書構造変換S101を実施し、新しい構造化文書F3を作成する。変換テンプレートT2は変換前の文書型定義D1と変換後の文書型定義D2を解釈して、変換後の文書型定義D2に従った結果を出力するように妥当な変換ルールを記述する。構造化文書F1を整形化S201して、新しい構造化文書F3へ変換するには、文書構造変換S101を1回だけ実施すれば処理が完了する。
(文書変換プログラム及び文書変換システム)
上述した文書変換方法は、所定のコンピュータ言語で記述されたプログラムを、パーソナルコンピュータやワークステーション等の汎用コンピュータ上で実行することにより実現することができる。このような文書変換プログラムをコンピュータで実行した場合、当該コンピュータは、文書変換システムとして機能することとなる。
図6は、文書変換プログラムをコンピュータ1上で実行し、文書変換システムとして機能するコンピュータ1の内部構造を示すブロック図である。同図に示すように、コンピュータ1は、周知のように、ハードディスク11や、プリンター用インターフェース12、ディスプレイ用インターフェース13、入出力デバイス14、メモリ15、通信デバイス16、及びCPU17、及びこれらの各デバイスを接続するバス18等を備えている。
ハードディスク11は、各データを格納する記録媒体であり、入出力デバイス14から読み込まれた各種ファイルデータを格納するとともに、CPU17からの要求に応じてデータをメモリ15やCPU17に出力する。また、各デバイスの処理結果であるデータの格納も行う。また、このハードディスク11には、文書変換プログラムファイルP1を格納しており、CPU17からの起動命令により当該文書変換プログラムファイルP1を読み出し、CPU17上で実行する。
プリンター用インターフェース12は、コンピュータ1と外部のプリンター等を接続するデバイスであり、CPU17等の要求に応じて、ファイル印刷等を行う。また、ディスプレイ用インターフェース13は、CPU17で生成された表示用データに基づいて映像を表示するものであり、操作画面や、処理結果が表示される。
通信デバイス16は、LANボードやモデム等の通信装置であり、通信回線を通じてコンピュータ1を、インターネットやイーサネット(登録商標)等の通信ネットワーク20に接続し、データの送受信を行うものである。この通信デバイス16を介して、コンピュータ1は、外部の他の端末からデータを受信したり、変換した文書ファイルを送信したりすることができる。
入出力デバイス14は、フロッピー(登録商標)ディスクドライブやCD−ROMドライブ等、ファイルデータを外部の記録媒体に対して読み出し・書き込みするデバイスであり、本実施形態では、変換テンプレートT2や、変換前後の文書型定義D1,D2、変換前後の構造化文書F1,F3が入出される。
メモリ15は、CPU17が処理を実行する際にデータを一時的に記憶する主記憶装置であり、ハードディスク11から読み出されたデータを保持したり、CPU17における処理結果を保持したりする。
CPU17は、中央演算器であり、ハードディスク11から読み出された文書変換プログラムファイルP1を実行することにより、文書型定義解析部17aや、変換テンプレート生成部17b、文書構造変換部17c、整形部17d、ファイル入出力部17e、通信処理部17f、表示用データ生成部17g、印刷処理部17hとして機能する。
文書型定義解析部17aは、変換前の文書型定義D1及び変換後の文書型定義を解析し、相違する文書型定義を抽出するものであり、本実施形態では、変換前の文書型定義の識別子と、変換後の文書型定義の識別子との対応付けをする識別子対応表を記憶する識別子対応表記憶部と、文書型定義D1の識別子により定義された第1の論理構造を抽出するとともに、文書型定義D2の識別子により定義された第2の論理構造を抽出する論理構造抽出部と、識別子対応表に従って、第1の論理構造と第2の論理構造とを比較し、両者の相違部分を検出し、この検出された相違部分の条件を解析する条件検出部とを有する。
識別子対応表記憶部は、CPU17内部のキャッシュメモリにより実現することができるが、ハードディスク11やメモリ15を補助的に用いることができる。
論理構造抽出部は、文書型定義D1及びD2に含まれるデータを順次読み、識別子対応表に列記された識別子との照合を行い、合致するものが検出された際に、その下位にある論理構造をそれぞれ参照し、パターンの抽出を行う。
条件検出部は、変換前後の文書型定義D1及びD2に定められたルールを比較し、その相違が生じる条件を検出する。例えば、UL要素の下位にあるLI要素がいくつある場合にパターンの相違が生じるかなどを検出する。
変換テンプレート生成部17bは、文書型定義解析部による解析結果に応じて、文書変換処理の処理結果である構造化文書F2が文書型定義D2に矛盾することのないような変換ルールを記述した変換テンプレートT2を生成するものであり、本実施形態では、前記相違部分の条件とこれに対応する変換後の論理構造(D2から抽出されたパターン)とに基づいて変換ルールを作成し、識別子対応表と変換ルールを関連付け、変換テンプレートの形式に変換する。
文書構造変換部17cは、変換テンプレートを用いて文書変換処理を行うものであり、識別子対応表に列記された識別子を置換するとともに、識別子に付加された引数を変換する。また、前記条件に合致する識別子に関しては、差替えテンプレートに従って、論理構造の追加、削除、変換を行う。
整形部17dは、文書構造変換部における変換を可能とするために、第1の構造化文書F1を整形するものであり、構造化文書F1における誤った記述を修正する(XMLのように整形化された文書の場合には不要。)。具体的には、上述したように、開始タグと終了タグの入れ子関係を正しくしたり、終了タグの無いものに終了タグを追加したり、空要素がある場合に、’/’を入れたり(例:<BR/>)、属性値をダブルクォーテーションで括ったり、属性値が省略されているものに属性値を追加したり、要素名と属性名を全て小文字に修正したりする。
ファイル入出力部17eは、ファイルの入出力を制御するものであり、ハードディスク11や入出力デバイス14の動作制御を行うものである。具体的には、変換前の構造化文書F1や変換テンプレートT2、識別子対応表等のファイルの読み出しを行わせたり、構造化文書F3をハードディスク11に保存したり、入出力デバイス14においてフロッピー(登録商標)ディスクやCD−R等に書き込みを行わせる。また、このファイル入出力部17eは、必要に応じて各ファイルについて、通信処理部17fや印刷処理部17hに対する入出力を行う。
通信処理部17fは、通信デバイス16の動作を制御するものであり、通信デバイス16を通じてネットワーク20に接続され、変換前の構造化文書F1や変換後の構造化文書F1を外部の端末機に対して送受信したり、他の端末機から変換要求を受信したりする。
表示用データ生成部17gは、ディスプレイ表示用の画像データを生成するとともに、ディスプレイ用インターフェース13の動作制御を行うものであり、ディスプレイ用インターフェース13を通じて外部のディスプレイ装置に画像データを表示させる。この表示用データとしては、文書変換プログラムに従って生成されるグラフィックデータが含まれ、各処理のための操作画面や、各ファイルの閲覧画面等を表示するために用いられる。
印刷処理部17hは、変換後の構造化文書F1をプリンター用インターフェース12の動作制御を行い、外部のプリンターに印刷処理を行わせるものである。
(動作)
以上説明した文書変換プログラムを、パーソナルコンピュータ等の汎用コンピュータ上で実行することにより、文書変換システムを実現することができる。この文書変換システムの動作について、図7を用いて説明する。図7は、文書変換システムの動作手順を示すフロー図である。
図7に示すように、変換前の文書型定義D1を読込み、解析を行う(S201)。具体的には、入出力デバイス14やハードディスク11からファイルを読み出し、文書型定義解析部17において解析を行う。次いで、同様にして変換後の文書型定義D2の読込、解析を行う(S202)。その後、変換テンプレートの生成を行う(S203)。具体的には、文書型定義解析部17aにおいて、変換前の文書型定義D1及び変換後の文書型定義D2を解析し、相違する文書型定義を抽出する。
次いで、変換前の構造化文書F1の読込みを行い(S204)、必要に応じて、読み込んだ構造化文書F1の整形化を行い(S205)、整形化された文書について文書構造変換を行う(S206)。
そして、変換された構造化文書F3の出力を行う(S207)。この出力としては、入出力デバイス14やハードディスク11に対する書き込みや、通信デバイス16によるネットワーク20への送信、プリンター用インターフェース13を通じての印刷が含まれる。
(文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体)
以上説明した文書変換プログラムは、コンピュータ1で読み取り可能な記録媒体に記録することができる。このコンピュータ読み取り可能な記録媒体としては、図8に示すような、フロッピー(登録商標)ディスク216や、CD−ROM217、ROM218、カセットテープ等の磁気テープ219がある。
そして、このような文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、図9に示すように、この記録媒体を介して、ノート型パーソナルコンピュータや、デスクトップ型パーソナルコンピュータ、ワークステーション等の汎用コンピュータ30により文書変換を行うことができる。
例えば、図9に示すように、変換対象の構造化文書F1がファイルに保存されている場合、文書変換装置として、上述した文書変換プログラムをインストールした、汎用コンピュータ30を用い、ローカルなディスクに保存された構造化文書の変換を行う。
なお、上述した実施形態では、構造化文書F1やF3を蓄積するハードディスク11や演算処理を行うCPU17等が一つのコンピュータに内蔵されている場合を例に説明したが、本発明は、これに限定されるものではない。例えば、上述した各装置を複数のコンピュータに分散させることもできる。
図10は、上述した各装置を複数のコンピュータに分散させた場合を示す説明図である。同図に示すように、変換対象の構造化文書F1を、Web上に配置され
たコンテンツサーバ401に蓄積させ、クライアント端末機403からの変換要求に応じて、変換用サーバ402で変換処理を行うようにしてもよい。
この場合においては、上述した文書変換プログラムを変換用サーバ402にインストールするとともに、変換用サーバ402に、通信ネットワークに接続され、通信ネットワークを通じて、クライアント端末403からの変換要求を受信するとともに、コンテンツサーバ401から構造化文書F1を取得する受信部と、変換後の構造化文書F3を通信ネットワークを介してクライアント端末403に送出する送信部とを設ける。これらの送信部及び受信部は、上述した通信デバイス16を用いることができる。
本実施形態に係る文書変換方法の概要を示す概念図である。 本実施形態に係る変換テンプレートの記述例を示す説明図である。 本実施形態に係る他の変換テンプレートの作成例を示す説明図である。 本実施形態に係る他の変換テンプレートの作成例を示す説明図である。 本実施形態の変更例に係る文書変換方法の概要を示す概念図である。 本実施形態に係る文書変換プログラムを実行した汎用コンピュータの内部構造を示すブロック図である。 本実施形態に係る文書変換プログラムを実行した汎用コンピュータの動作を示すフロー図である。 本実施形態に係る文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体を示す斜視図である。 本実施形態に係る文書変換プログラムを実行した汎用コンピュータの動作を示す概念図である。 本実施形態に係る文書変換プログラムを実行した汎用コンピュータにおいて、ネットワークを通じて変換処理を行う場合の動作を示す概念図である。 従来の文書変換方法の概要を示す概念図である。 従来の変換テンプレートの作成例を示す説明図である。
符号の説明
1…汎用コンピュータ、11…ハードディスク、12…プリンター用インターフェース、13…ディスプレイ用インターフェース、14…入出力デバイス、15…メモリ、16…通信デバイス、17…CPU、20…通信ネットワーク
D1…変換前(第1)の文書型定義、D2…変換後(第2)の文書型定義
F1,F31,F41…変換前(第1)の構造化文書、F2,F32,F42…変換後の矛盾を含む構造化文書、F3,F33,F43…新しい変換後(第2)の構造化文書、T1,T31,T41…従来のテンプレート、T2,T12,T22,T32,T42…変換テンプレート

Claims (18)

  1. 第1の文書型定義に基づいて形成された第1の構造化文書を、第2の文書型定義に基づいて形成された第2の構造化文書に変換する文書変換システムであって、
    前記第1の構造化文書は、文字列、及び前記第1の構造化文書の所定要素として前記文字列の役割を表現する文書タグを含む第1文書構造を有しており、
    前記文書タグ、前記第1文書構造と前記第2の文書型定義にしたがった第2文書構造との相違部分の条件、及び前記第1文書構造から前記第2文書構造への変換内容を含むテーブルデータを記憶する記憶部と、
    前記テーブルデータに基づいて、前記第1文書構造を前記第2の文書型定義にしたがった第2文書構造に変換する変換ルールを記述した変換テンプレートを生成する変換テンプレート生成部と、
    前記相違部分の条件に合致する要素に関しては、前記変換テンプレート生成部によって生成された前記変換テンプレートにしたがって、前記第1文書構造を前記第2文書構造に変換する文書構造変換部と
    を備えたことを特徴とする文書変換システム。
  2. 前記第1の構造化文書及び前記第2の構造化文書を、ファイルデータとして保存するファイル記録部を備え、
    前記文書構造変換部は、前記ファイル記録部から読み出した第1の構造化文書を変換することを特徴とする請求項1に記載の文書変換システム。
  3. 通信ネットワークに接続され、該通信ネットワーク上からの変換要求及び第1の構造化
    文書を取得する受信部と、
    前記文書構造変換部が変換した第2の構造化文書を前記通信ネットワーク上に送出する送信部と
    を有することを特徴とする請求項1または2に記載の文書変換システム。
  4. 前記第1の構造化文書における誤った記述を修正し、前記文書構造変換部で読み取りが可能となるように前記第1の構造化文書を整形する整形化部を有することを特徴とする請求項1乃至3のいずれかに記載の文書変換システム。
  5. 前記変換テンプレート生成部は、XSLに基づいて前記変換テンプレートを生成し、
    前記文書構造変換部は、XSLT変換エンジンにより、前記第1文書構造を前記第2文
    書構造に変換することを特徴とする請求項1に記載の文書変換システム。
  6. 前記変換内容は、前記第2の構造化文書おいて、前記文書タグに続けて前記文字列を直接記述することができない場合、divタグを用いて前記文字列を囲むことを含むことを特徴とする請求項5に記載の文書変換システム。
  7. 第1の文書型定義に基づいて形成された第1の構造化文書を、コンピュータを用いて第2の文書型定義に基づいて形成された第2の構造化文書に変換する文書変換方法であって、
    前記第1の構造化文書は、文字列、及び前記第1の構造化文書の所定要素として前記文字列の役割を表現する文書タグを含む第1文書構造を有しており、
    前記コンピュータが、前記文書タグ、前記第1文書構造と前記第2の文書型定義にしたがった第2文書構造との相違部分の条件、及び前記第1文書構造から前記第2文書構造への変換内容を含むテーブルデータに基づいて、前記第1文書構造を前記第2の文書型定義にしたがった第2文書構造に変換する変換ルールを記述した変換テンプレートを生成するステップ(1)と、
    前記コンピュータが、前記相違部分の条件に合致する要素に関しては、前記変換テンプレート生成部によって生成された前記変換テンプレートにしたがって、前記第1文書構造を前記第2文書構造に変換するステップ(2)と
    を有することを特徴とする文書変換方法。
  8. 前記第1の構造化文書及び前記第2の構造化文書は、ファイルデータとしてファイル記録部に保存され、
    前記ステップ(2)では、前記コンピュータが、前記ファイル記録部から読み出した第1の構造化文書を変換することを特徴とする請求項7に記載の文書変換方法。
  9. 前記コンピュータが、通信ネットワーク上からの変換要求及び第1の構造化文書を取得するステップと、
    前記コンピュータが、前記ステップ(2)において変換された第2の構造化文書を前記通信ネットワーク上に送出するステップと
    を有することを特徴とする請求項7または8に記載の文書変換方法。
  10. 前記コンピュータが、前記第1の構造化文書における誤った記述を修正し、前記ステップ(2)において前記第1の構造化文書の読み取りが可能となるように前記第1の構造化文書を整形するステップを有することを特徴とする請求項7乃至9のいずれかに記載の文書変換方法。
  11. 前記ステップ(1)では、前記コンピュータが、XSLに基づいて前記変換テンプレートを生成し、
    前記ステップ(2)では、前記コンピュータが、XSLT変換エンジンにより、前記第1文書構造を前記第2文書構造に変換することを特徴とする請求項7に記載の文書変換方法。
  12. 前記変換内容は、前記第2の構造化文書おいて、前記文書タグに続けて前記文字列を直接記述することができない場合、divタグを用いて前記文字列を囲むことを含むことを特徴とする請求項11に記載の文書変換方法。
  13. 第1の文書型定義に基づいて形成された第1の構造化文書を第2の文書型定義に基づいて形成された第2の構造化文書に変換する文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記第1の構造化文書は、文字列、及び前記第1の構造化文書の所定要素として前記文字列の役割を表現する文書タグを含む第1文書構造を有しており、
    前記コンピュータに、
    前記文書タグ、前記第1文書構造と前記第2の文書型定義にしたがった第2文書構造との相違部分の条件、及び前記第1文書構造から前記第2文書構造への変換内容を含むテーブルデータに基づいて、前記第1文書構造を前記第2の文書型定義にしたがった第2文書構造に変換する変換ルールを記述した変換テンプレートを生成するステップ(1)と、
    前記相違部分の条件に合致する要素に関しては、前記変換テンプレート生成部によって生成された前記変換テンプレートにしたがって、前記第1文書構造を前記第2文書構造に変換するステップ(2)と
    を有する処理を実行させることを特徴とする文書変換プログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  14. 前記第1の構造化文書及び前記第2の構造化文書は、ファイルデータとしてファイル記録部に保存され、
    前記ステップ(2)では、前記コンピュータに、前記ファイル記録部から読み出した第1の構造化文書を変換させることを特徴とする請求項13に記載の文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体。
  15. 前記コンピュータに、
    通信ネットワーク上からの変換要求及び第1の構造化文書を取得させるステップと、
    前記ステップ(2)において変換された第2の構造化文書を前記通信ネットワーク上に送出させるステップと
    を有することを特徴とする請求項13または14に記載の文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体。
  16. 前記コンピュータに、前記第1の構造化文書における誤った記述を修正し、前記ステップ(2)において前記第1の構造化文書の読み取りが可能となるように前記第1の構造化文書を整形させるステップを有することを特徴とする請求項13乃至15のいずれかに記載
    の文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体。
  17. 前記ステップ(1)では、前記コンピュータに、XSLに基づいて前記変換テンプレートを生成させ、
    前記ステップ(2)では、前記コンピュータに、XSLT変換エンジンにより、前記第1文書構造を前記第2文書構造に変換させることを特徴とする請求項13に記載の文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体。
  18. 前記変換内容は、前記第2の構造化文書おいて、前記文書タグに続けて前記文字列を直接記述することができない場合、divタグを用いて前記文字列を囲むことを含むことを特徴とする請求項17に記載の文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2007141070A 2007-05-28 2007-05-28 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体 Pending JP2007265429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007141070A JP2007265429A (ja) 2007-05-28 2007-05-28 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007141070A JP2007265429A (ja) 2007-05-28 2007-05-28 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001346736A Division JP2003150586A (ja) 2001-11-12 2001-11-12 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2007265429A true JP2007265429A (ja) 2007-10-11

Family

ID=38638284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007141070A Pending JP2007265429A (ja) 2007-05-28 2007-05-28 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP2007265429A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027626A (ja) * 2010-07-22 2012-02-09 Nec Corp データ変換装置ならびにそのプログラムと方法
WO2022139134A1 (ko) * 2020-12-22 2022-06-30 주식회사 펍플 디지털 변환 콘텐츠 검수방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027626A (ja) * 2010-07-22 2012-02-09 Nec Corp データ変換装置ならびにそのプログラムと方法
WO2022139134A1 (ko) * 2020-12-22 2022-06-30 주식회사 펍플 디지털 변환 콘텐츠 검수방법 및 장치

Similar Documents

Publication Publication Date Title
US10067931B2 (en) Analysis of documents using rules
JP2003150586A (ja) 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US8756489B2 (en) Method and system for dynamic assembly of form fragments
JP5060043B2 (ja) 代替フォーマットを有する文脈自由な文書部分
US7240279B1 (en) XML patterns language
JP4869630B2 (ja) コンテンツを開始テンプレートとターゲットテンプレートとの間でマップするための方法およびシステム
Schmidt The role of markup in the digital humanities
US20130124969A1 (en) Xml editor within a wysiwyg application
KR20120051419A (ko) 종속형 스타일 시트 규칙 추출 장치 및 방법
JP6505600B2 (ja) 自動構成評価器
US20090094273A1 (en) Information processing apparatus and control method thereof, and document verification apparatus and control method thereof
US20100169333A1 (en) Document processor
US20100131486A1 (en) Analyzer Engine
JP5028022B2 (ja) 印刷装置及び文書印刷方法
JP2007265429A (ja) 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002073598A (ja) 文書処理装置および方法
JP7000709B2 (ja) 情報処理装置及びプログラム
CN112650479A (zh) 网页css结构自动生成方法及存储介质
JPWO2006001391A1 (ja) 文書処理装置および文書処理方法
KR101499050B1 (ko) Xml 기반한 웹문서를 제작하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록매체
KR102075874B1 (ko) 전자책 변환 방법 및 이러한 방법을 수행하는 장치
JP3954520B2 (ja) 翻訳支援システム
JP2008186090A (ja) データ生成装置、データ生成方法及びプログラム
Hansen et al. PDF Format for RFCs
Masinter et al. RFC 7995: PDF Format for RFCs

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081028