JP4091726B2 - 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体 - Google Patents

構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体 Download PDF

Info

Publication number
JP4091726B2
JP4091726B2 JP2000045466A JP2000045466A JP4091726B2 JP 4091726 B2 JP4091726 B2 JP 4091726B2 JP 2000045466 A JP2000045466 A JP 2000045466A JP 2000045466 A JP2000045466 A JP 2000045466A JP 4091726 B2 JP4091726 B2 JP 4091726B2
Authority
JP
Japan
Prior art keywords
document
display
extracted
rule
editing
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
JP2000045466A
Other languages
English (en)
Other versions
JP2001243222A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2000045466A priority Critical patent/JP4091726B2/ja
Priority to US09/791,943 priority patent/US6950984B2/en
Publication of JP2001243222A publication Critical patent/JP2001243222A/ja
Application granted granted Critical
Publication of JP4091726B2 publication Critical patent/JP4091726B2/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/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • 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/166Editing, e.g. inserting or deleting

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、構造化文書、その表示規則および文書型定義の生成変更方法、そのシステムおよびその記憶媒体に関する。特に、編集画面上で編集操作した編集履歴を参照し、例示的に前記表示規則、文書型定義および構造化文書を自動的に生成する技術に適用して有効なものである。
【0002】
【従来の技術】
コンピュータシステムあるいはコンピュータネットワーク間での文書やデータの互換性に優れた構造化文書が近年注目を集めいている。構造化文書では、その要素(データ)を自分で説明でき(self-describing)、また要素間に成立している関係が文書型定義を用いて記述される。文書要素(データ)の自己定義性は、人が文書を読むばかりでなく、コンピュータ上で作動するアプリケーションプログラムがデータの意味と内容を理解できるという構造化文書の特徴を発現できる。たとえばウェブを用いた電子商取引のデータ等を正確に記述できるメリットがある。
【0003】
構造化文書の例にXML(Extensible Markup Language)文書あるいはSGML(Standard Generalized Markup Language)文書がある。XMLは、SGMLの文法定義を簡略化して処理パフォーマンスを向上し、ネットワーク適応性を向上したデータ記述言語の一つである。XML、SGMLは、ともにDTD(文書型定義:Document Type Definition)あるいはXML Schemaを用いて文書型を定義し、文書の構造化が図られる。
【0004】
ところで、XML等の構造化文書は、文書の各要素間に成立している関係が構造として記述されているものであって、その文書をどのように視覚的に表現するかという様式についての情報は含まない。このため、文書を視覚的に表現するための表示規則が構造化文書とは別個に定義される必要がある。通常、構造化文書の表示規則は形式的言語を用いて記述されるため、人間が手で書くことは困難である。よって、表示規則を簡便に生成できるシステムの実現が望まれる。
【0005】
表示規則生成の一例として、手順を示すことによってある程度の表示規則を生成する手法が知られている。たとえば、「"インフォテリア,XSLを簡単に作成する「XML Style Wizard」を全世界に無料配布," September 1999. 」に記載されているような「XML Style Wizard」、あるいは「Internatioanl Business Machines Corp., "Visual XML Transformation Tool," Armonk, NY, December 1999. 」に記載されているような「Visual XML Creation」等である。
【0006】
表示規則の編集システムとして、「XSL Editor」(Internatioanl Business Machines Corp., 「XSL Editor,」 Armonk, NY, November 1999. http://www.alphaworks.ibm.com/tech/xsleditor)、「XML Styler」(ArborText Corp., 「XML Styler,」 1998, http://www.arbortext.com/index.html)、「eXcelon Stylis」(Object Design Inc., "Object Design Announces eXcelon 2.0, Industry's First XML Application Development Environment for eBusiness," Burlington, MA , October 1999. http://www.odi.com/excelon/Products/ProdMain.htm)等が知られている。
【0007】
表示規則を生成するシステムの一例として、文書型定義に対する変形操作によって表示規則を生成する手法がある。たとえば、「Visual XML Transformation」(Internatioanl Business Machines Corp., 「XSL Editor,」 Armonk, NY, November 1999. )である。
【0008】
なお、二つの構造化文書の例を与えて,両者間のTranslatorを生成する手法として、「XML Translation Generator (XTransGen)」(Internatioanl Business Machines Corp., 「XSL Editor,」 Armonk, NY, November 1999. )が知られている。
【0009】
一方、例示によるプログラミング手法に関して、一般的には以下のような技術が知られている。なお、例示によるプログラミングは、機械に対する操作を収集し、収集したサンプルから一般的な操作手順を自動的に合成する技術の総称である。
【0010】
「Siklossy L. and Sykes D., 「Automatic Program Synthesis from Example,」 Proc. of the Fourth International Joint Conference on Artificial Intelligence (IJCAI), Tbilisi, USSSR, September 1975, pp.268-273.」には、自動プログラム合成と呼ばれる方法が記載されている。自動プログラム合成では、プログラムの開発者は処理手順を指示せず、機械への入力と出力の組みを与えることで、そのような入出力の変換を行う機械を得ることができる。
【0011】
「Smith D., Pygmalion: A Computer Program to Model and Stimulate Creative Thought, Birkhauser, Basel, 1977.」、あるいは、「Smith D., 「Pygmalion: A Creative Programming Environment,」 Report No. STAN-CS-75-499, Department of Computer Science, Stanford University, 1975.」には、デモンストレーションによるプログラミング技法が記載されている。デモンストレーションによるプログラミングは、プログラマが機械の行うべき操作を人が実際に行って見せることによって、その具体的な操作の繰り返しから一般に適用できる操作を抽出する。
【0012】
「Maulsby D. and Witten I., 「Teaching a Mouse How to Draw,」 Proceedings of Graphics Interface '89, NCGA, London Ontario, June 1989, pp.130-137.」には、デモンストレーションによるその他のプログラミング技法が記載されている。デモンストレーションによるプログラミングに教授のメタファーを取り入れ、一般化のための情報を提示できるような拡張を施した方法である。
【0013】
その他、「Cypher Allen(ed.), 「Watch What I Do,」 MIT Press, Cambridge, MA, 1993.」には、例示によるプログラミングを採用したシステムについて記載されている。
【0014】
【発明が解決しようとする課題】
ところが、前記した従来技術では、単純な表示規則を生成することはできるものの、複雑な表示規則をその記述言語の知識無しに生成することは困難である。
【0015】
すなわち、前記した従来技術によれば、たとえば「XML Style Wizard」あるいは「Visual XML Creation」を用いて表示規則を自動的に生成できる。しかし、これらの手法で生成される表示規則は簡単なものであり、より詳細な表示規則をユーザの要求に応じて生成することはできない。詳細な表示規則を作成するには、ユーザ自らが形式的言語を理解して編集する必要がある。より複雑な表示規則を生成するには表示規則の編集システムが必要であり、たとえば「XSL Editor」等の編集ツールを用いて複雑な表示規則に変更できる。しかし、いずれも表示規則そのものを編集するシステムであり、表示規則を記述する形式的言語の知識が必要な点に変わりはない。
【0016】
よって、表示規則を直接人間が編集することなく、複雑な表示規則が自動的に生成されるシステムの実現が望まれる。特に、ユーザが表示画面を見ながら例示的に編集操作を行えば、自動的に表示規則が生成されるシステムの実現が望まれる。このようなシステムでは、ユーザには表示規則を記述する言語に関する特別な知識が要求されず、ユーザにとって便利で利用性の高い表示規則生成手段が提供される。また、例示的に編集操作を行って、この編集操作が反映された表示規則の生成が自動的になされるなら、ユーザは表示画面を見ながら逐次編集を行って希望する表示様式を得ることができ、しかもこの表示が得られると同時に表示規則が自動生成され、ユーザにとっては極めて利便性の高いシステムが提供される。
【0017】
この点、「Visual XML Transformation」を用いれば、表示規則を記述する言語に関する知識がなくとも、文書型定義に対する変形操作からの表示規則の生成が行える。しかし、この手法では、表示文書の結果を視覚的に確認しながら表示規則を変更することはできない。
【0018】
また、前記した例示によるプログラム技法は、一般的な例示によるプログラムの自動生成についての知見に過ぎず、構造化文書の表示規則を例示操作に基づいて自動的に生成する技術に関しては何ら開示されていない。
【0019】
本発明の目的は、例示操作に基づいて視覚的に構造化文書の表示規則を自動的に生成する技術を提供することにある。
【0020】
本発明の他の目的は、表示文書の結果を確認しながら表示規則を少しずつ修正して、対話的に表示規則を生成できる技術を提供することにある。
【0021】
本発明のさらに他の目的は、逐次的修正を繰り返すことによって、表示規則を記述する言語の知識がなくとも、高度な表示規則を自動的に生成できる技術を提供することにある。
【0022】
また、本発明のさらに他の目的は、前記表示規則の生成と同様に構造化文書あるいは構造化文書の文書型定義(文法定義)を前記例示的な表示文書の変更に基づいて変更する技術を提供することにある。
【0023】
【課題を解決するための手段】
本願の発明の概略を説明すれば、以下の通りである。本願発明のシステムには、ベース表示規則生成手段、表示文書生成手段、視覚的表示文書編集環境、および表示規則更新手段が含まれ、視覚的表示文書編集環境には描画エンジンが含まれる。
【0024】
本発明のシステムに構造化文書とその文書型定義(文法定義)が与えられれば、まず、ベース規則生成手段により構造化文書の第1表示規則が自動的に生成される。第1表示規則の生成には、構造化文書の文書型定義と予め定められたデフォルトの生成規則とが参照される。デフォルトの生成規則は単純なものであり、たとえば構造化文書の要素を単純に列挙するような規則が用いられる。
【0025】
生成された第1表示規則が構造化文書に適用され、表示文書生成手段により構造化文書の第1表示文書が生成される。この際、第1表示文書の各要素と構造化文書の各要素との対応関係を示す要素間対応関係ファイルが生成される。
【0026】
第1表示文書は描画エンジンを用いて表示装置に表示され、視覚的表示文書編集環境で視覚的に第1表示文書の編集が行える。編集は任意に行え、ユーザに目的に合致したより複雑な表示様式になるような編集を行える。この編集の際、各編集操作の対象となった表示文書の要素とその編集内容を編集操作履歴ファイルに記録する。一連の編集操作が終了した段階で、編集結果である第2表示文書と編集操作履歴ファイルが作成されることとなる。
【0027】
編集操作が終了すると、編集前の表示文書である第1表示文書と編集後の第2表示文書、編集操作履歴ファイル、要素間対応関係ファイル、および構造化文書とその文書型定義を参照して、表示規則更新手段により更新後の表示規則(第2表示規則)を生成する。
【0028】
本発明によれば、表示規則を例示操作により自動的に生成できる。すなわち、表示文書を視覚的表示文書編集環境で、例示的に加工・修正することによって、前記加工・修正に合致した表示規則を自動的に生成できる。よって、表示規則を記述する言語に関する知識がなくとも目的に合致したより複雑な表示規則を簡便に生成できる。また、ユーザは、どのような表示結果が得られるかを視覚的に確認しながら、表示規則を作成することが可能になる。
【0029】
なお、第2表示規則に基づいて第3表示規則を、さらに第4、第5の表示規則を生成できることは言うまでもない。
【0030】
また、本発明では、デフォルト生成規則として、構造化文書の要素の深さに応じた書式で第1表示規則を生成する規則、表形式で表示する規則、単純列挙による表示規則あるいは要素の深さに応じたインデント付けで表示する規則等を例示できる。
【0031】
また、本発明は、表示規則の生成に限らず、構造化文書自体の変更、あるいは、構造化文書の文書型定義(文法定義)の変更にも適用できる。
【0032】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【0033】
以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかなとおり、本発明は方法、システムの他、コンピュータで使用可能なプログラムコードが記録された媒体としても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。プログラムコードが記録された媒体としては、ハードディスク、CD−ROM、光記憶装置または磁気記憶装置を含む任意のコンピュータ可読媒体を例示できる。
【0034】
(実施の形態1)
1.システムのハードウェア構成
図1は、本発明の方法を実現するシステムの概要を示した概念図である。本発明のシステムは、スタンドアロンのコンピュータシステムまたは複数のコンピュータシステムで構成されたコンピュータネットワークで実現できる。図1(a)はスタンドアロンのコンピュータを構成の概略を示し、図1(b)は、コンピュータネットワークの場合を示す。
【0035】
コンピュータシステムには、中央演算処理装置1(CPU)、主記憶装置2(メインメモリ:RAM)、不揮発性記憶装置3(ROM)等を有し、バス4で相互に接続される。バス4には、その他コプロセッサ、画像アクセラレータ、キャッシュメモリ、入出力制御装置(I/O)等が接続されてもよい。また、バス4には、適当なインターフェイスを介して外部記憶装置5、データ入力デバイス6、表示デバイス7、通信制御装置8等が接続される。その他、一般的にコンピュータシステムに備えられるハードウェア資源を備えることが可能なことは言うまでもない。
【0036】
外部記憶装置5は代表的にはハードディスク装置が例示できるが、これに限られず、光磁気記憶装置、光記憶装置、フラッシュメモリ等半導体記憶装置も含まれる。なお、データの読み出しのみに利用で得きるCD−ROM等の読み出し専用記憶装置もデータあるいはプログラムの読み出しにのみ適用する場合には外部記憶装置に含まれる。
【0037】
データ入力デバイス6には、キーボード等の入力装置、マウス9等ポインティングデバイスを備えることができる。データ入力デバイスには音声入力装置も含む。表示装置7としては、CRT、液晶表示装置、プラズマ表示装置が例示できる。
【0038】
複数のコンピュータシステムで本発明を実現する場合、図1(b)に示すように、各コンピュータシステムは、LAN、WAN等で接続されていてもよく、また、インターネットを介して接続されても良い。これら接続に用いられる通信回線は、専用線、公衆回線の何れでも良い。コンピュータシステムには、パーソナルコンピュータ10、ワークステーション11、メインフレームコンピュータ12等各種のコンピュータが含まれる。
【0039】
コンピュータシステムが複数接続されたコンピュータネットワークにおいては、一部のプログラムをユーザのコンピュータで、一部のプログラムをリモートコンピュータで分散的に処理を実行できる。また、プログラムで利用されるデータは、それがどのコンピュータに記録されているかは問われない。つまり、データの所在に関する情報(アドレス)が明らかである限り、データあるいはプログラムの格納場所はコンピュータネットワーク上の任意の場所とすることができる。各ネットワークコンピュータ間の通信には公知の通信技術を適用でき、たとえばTCP/IP、HTTP等のプロトコルを用いることができる。また、各記憶装置に記録された各ファイル(データあるいはプログラム)の存在箇所(アドレス)は、DNS、URL等を用いて特定できる。なお、本明細書においてインターネットという用語には、イントラネットおよびエクストラネットも含むものとする。インターネットへのアクセスという場合、イントラネットやエクストラネットへのアクセスをも意味する。コンピュータネットワークという用語には、公的にアクセス可能なコンピュータネットワークと私的なアクセスしか許可されないコンピュータネットワークとの両方が含まれるものとする。
【0040】
2.構造化文書の表示規則生成システム
図2は、本発明の表示規則を生成するシステムの一例を示したブロック図である。
【0041】
本実施の形態の表示規則生成システムは、ベース表示規則生成手段21、表示文書生成手段22、視覚的表示文書編集環境23、表示規則更新手段24を有し、視覚的表示文書編集環境23には、表示文書を描画する描画エンジン25を備える。
【0042】
図3は、図2の一部をベース表示規則生成手段21について抜き出したブロック図である。
【0043】
ベース表示規則生成手段21は、前記したハードディスク等記憶装置5に記録されたプログラムコードの実行によりその機能が実現され、主に、前記記憶装置5と前記中央演算処理装置1および主記憶装置2等のハードウェア資源が利用される。ベース表示規則生成手段21は、システムに与えられた構造化文書26の文書型定義27と、デフォルト生成規則28とから、第1表示規則29を自動的に生成する機能を有する。第1表示規則29の生成方法については後に説明する。
【0044】
構造化文書26は、文書の要素が要素名、要素の内容(コンテンツ)、要素の属性、属性名、属性値等で構造化された文書であり、たとえばXML、SGML、CSV等の文書を例示できる。構造化文書26は、たとえばハードディスク等記憶装置5に記録される。
【0045】
文書型定義27は、構造化文書26の文書型あるいは文法を定義するデータであり、前記要素の名前、構造、要素内容の形式等を定義し、要素に関する属性を宣言して属性名、属性値の形式、デフォルトの属性値等を定義する。たとえば、XML文書の場合にはDTD、XMLスキーマを例示でき、SGML文書の場合にはDTDを例示できる。文書型定義27は、構造化文書26と同様に、たとえばハードディスク等記憶装置5に記録される。文書型定義27は構造化文書26内に記述されてもよいが、文書型定義27を別の文書ファイルとして記録し、構造化文書26内でその文書型定義ファイルを参照してもよい。この場合、構造化文書26と文書型定義27とが、同一のコンピュータシステム内に存在する必要はない。
【0046】
デフォルト生成規則28は、第1表示規則29を生成するためのベースとなる単純な規則であり、構造化文書26の文法(文書型定義27)にあわせて、構造化文書26のすべての要素を単に列挙するような視覚的表現になる表示文書に変換する規則である。デフォルト生成規則28は、文書ファイルとして記述され、このデフォルト生成規則28のファイルをベース表示規則生成手段21のプログラムで参照する。また、デフォルト生成規則28は、ベース表示規則生成手段21のプロクラムとしてコーディングされていてもよい。
【0047】
第1表示規則29は、ベース表示規則生成手段21により自動的に生成される構造化文書26の表示規則である。第1表示規則29は、生成された後に、たとえばハードディスク等記憶装置5に記録される。この段階の第1表示規則29は、デフォルト生成規則28に従って生成されるものであるから単純な規則である。第1表示規則29の例として、構造化文書26がXML文書の場合にはXSL文書を、SGML文書の場合にはDSSSL文書を例示できる。
【0048】
図4は、図2の一部を表示文書生成手段22について抜き出したブロック図である。
【0049】
表示文書生成手段22は、前記したハードディスク等記憶装置5に記録されたプログラムコードの実行によりその機能が実現され、主に、前記記憶装置と前記中央演算処理装置1および主記憶装置2等のハードウェア資源が利用される。表示文書生成手段22は、構造化文書26と第1表示規則29とから第1表示文書30および要素間対応関係ファイル31を生成する機能を有する。
【0050】
第1表示文書30は、構造化文書26の各要素が、第1表示規則29に従って置換された要素で構成される。つまり、表示文書生成手段22に構造化文書26と第1表示規則29が与えられると、構造化文書26の要素の要素名、要素の内容(コンテンツ)、要素の属性名、属性値等が、第1表示規則29に記述されている規則に従って第1表示文書30の要素に置換される。第1表示文書30は、生成された後、ハードディスク等記憶装置5に記録される。第1表示文書30として、HTML文書あるいはXHTML文書を例示できる。
【0051】
要素間対応関係ファイル31は、構造化文書26の要素が第1表示文書30の要素に置換される際に、前記各要素の対応関係を記録したファイルである。要素間対応関係ファイル31は、ハードディスク等記憶装置5に記録される。要素間の対応関係を記録する手段として、たとえば、XPathを用いて要素間対応関係を表すことができる。
【0052】
図5は、図2の一部を視覚的表示文書編集環境23について抜き出したブロック図である。
【0053】
視覚的表示文書編集環境23は、何れかの記憶装置5に記録されたプログラムコードの実行によりその機能が実現され、主に、前記中央演算処理装置1および主記憶装置2等の他、CRT等の表示装置7、キーボード、ポインティングデバイス等の入力装置6がハードウェア資源として利用される。視覚的表示文書編集環境23には、描画エンジン25が含まれ、描画エンジン25は、表示文書の各要素を視覚的な表現に置換して、文書の全体または一部をユーザに表示する。
【0054】
視覚的表示文書編集環境23は、文書を表示するとともに視覚的に編集・加工できる環境を提供する。ユーザは、描画エンジン25によって表示された表示画面を見ながら任意の編集操作、たとえば表示内容の追加、削除、修正、移動、結合等を行うことができる。編集加工された文書は第2表示文書32としてハードディスク等記憶装置5に記録される。第2表示文書32は、編集加工が施された文書であり、第1表示文書30と同じ言語たとえばTHMLあるいはXHTMLで記述される。
【0055】
また、視覚的表示文書編集環境23は、編集後の表示文書である第2表示文書32と編集操作の履歴を記録する編集操作履歴ファイル33とを生成する機能を有する。編集操作履歴ファイル33には、視覚的表示文書編集環境23で加工された要素毎に加工内容である編集操作履歴が記録される。編集操作履歴ファイル33は、ハードディスク等記憶装置5に記録され、後に表示規則更新手段24で参照される。
【0056】
図6は、図2の一部を表示規則更新手段24について抜き出したブロック図である。
【0057】
表示規則更新手段24は、前記したハードディスク等記憶装置5に記録されたプログラムコードの実行によりその機能が実現され、主に、前記記憶装置5と前記中央演算処理装置1および主記憶装置2等のハードウェア資源が利用される。
【0058】
表示規則更新手段24は、編集後の表示文書(第2表示文書32)、要素間対応関係ファイル31、構造化文書26、構造化文書26の文書型定義27、編集操作履歴ファイル33から、更新後の表示規則である第2表示規則34を生成する機能を有する。第2表示規則34の生成方法については後に詳述する。
【0059】
第2表示規則34は、第1表示規則29と同じ言語で記述される。たとえばXSL文書あるいはDSSSL文書等を例示できる。
【0060】
このような表示規則の生成システムによれば、与えられた構造化文書26とその文書型定義27から、システムが自動的に第1表示規則29を生成し、この第1表示規則29に基づいた構造化文書26の第1表示文書30を生成してこれを表示できる。すなわち、ユーザには表示規則を記述するための形式的な言語に関する特別な知識は要求されず、簡便に表示規則を編集加工できる環境を提供できる。また、ユーザはその目的に応じて自由に第1表示文書30を編集加工し、希望する表示態様の第2表示文書32を得ることができる。さらに、この第2表示文書32に加えられている編集加工の内容を反映させるように第2表示規則34を自動的に生成できる。すなわち、ユーザは例示的な編集加工を通じて希望の表示態様を実現し、このような表示態様となるような第2表示規則34を何ら特別な知識を必要とせずに自動的に生成できる。つまり、ユーザはコンピュータの表示画面を見ながら、適当な入力デバイスにより表示文書を編集加工するだけで、そのような表示に見合った表示規則がシステムにより自動的に作成されることになる。ユーザは表示規則に関する細かな事項を意識することなく、複雑な表示規則を簡便に生成でき、利便性の高いシステムを提供できる。
【0061】
なお、本明細書において、プログラムコードが記録されたファイルあるいは文書等データが記録されたファイルは、その物理的な存在場所には一切制限が設けられない。前記したコンピュータシステムまたはコンピュータネットワークでアクセス可能な物理的所在に記録され、それがアクセス可能である限り、本明細書で説明するデータおよびプログラムは何れの場所に記録されていてもよいものとする。
【0062】
3.構造化文書の表示規則生成方法
3.1.第1表示規則(ベース表示規則)の生成方法
第1表示規則は、前記したとおり本発明の編集操作のベースとなる規則であり、文書型定義27とデフォルト生成規則28を参照してベース表示規則生成手段21により自動的に生成される。以下、各種のデフォルト生成規則28の場合のベース表示規則生成方法について説明する。
【0063】
3.1.1.ヘッダ要素とDL要素による第1表示規則の生成
デフォルト生成規則28の一例として、以下のような規則を用いるとする。
・XMLの要素の深さに応じて<H1>〜<H6>の見出し要素を作成する。
・個々の要素の属性(attribute)は,<DL>要素で列挙表現する。
・#PCDATAで与えられるデータは要素で表現する。
【0064】
図7(a)は、ヘッダ要素とDL要素により第1表示規則29を生成する方法の一例を示す全体フローチャートであり、図7(b)は、「C++」言語で記述されたその擬似コードである。以下擬似コードは「C++」言語で記述されるものとする。また、擬似コード中に左矢印とともに示した括弧書き数字「←(1)」等は、参照のために付した行番号であり、擬似コードを構成するものではない。以下の擬似コードについて同様である。
【0065】
まず、ヘッダ要素のレベルを1とし(ステップ40)、要素表示の規則を生成する(ステップ41)。擬似コードに示すように、ここでの第1表示規則の生成関数は「RuleGenByHeaderAndDL」である。引数はグローバル変数により引き渡される。また、要素表示の規則生成関数は「RuleGenOfElemByHeaderAndDL」である。ローカル変数として要素とレベルが与えられる。ここでは、ルート要素のヘッダを<H1>にするために引数に「root」と「1」が与えられる。
【0066】
図8(a)は、要素表示規則の生成方法(RuleGenOfElemByHeaderAndDL)を示したフローチャートであり、図8(b)はその擬似コードである。ここで、要素は変数「elem」で与えられ、レベルは変数「level」で与えられる(擬似コード1行目)。
【0067】
まず汎用的なブロックレベルのタグである<DIV>要素を開始し(ステップ42、擬似コード2行目)、そのときのレベルのヘッダ要素で要素「elem」の要素名を表示する(ステップ43、擬似コード3行目)。
【0068】
次に、その要素の属性表示の規則を生成する(ステップ44、擬似コード4行目)。属性表示規則生成関数は、擬似コードでは「RuleGenOfAttrByDL」であり、ローカル変数には要素「elem」が与えられる。属性表示規則生成関数は後に説明する。
【0069】
次に、要素がリーフであるか否かを判断する(ステップ45、擬似コード5行目)。要素がリーフである場合には段落タグである要素を開始し(ステップ46)、要素のコンテンツを表示する(ステップ47、擬似コード11行目)。その後、要素を終了し(ステップ48)、<DIV>要素を終了する(ステップ49、擬似コード13行目)。
【0070】
一方、要素がリーフでない場合は、ヘッダレベルを1つ増やし(ステップ50)、その要素「elem」に含まれる1レベル大きい(ネストが深い)要素群の中から1要素「e」をとりだし(ステップ51、擬似コード6〜7行目)、取り出した要素「e」について要素表示の規則生成(RuleGenOfElemByHeaderAndDL)を再帰的に実行する(ステップ52、擬似コード8行目)。これを全ての要素「e」について繰り返す(ステップ53、擬似コード7〜9行目)。その後、<DIV>要素を終了して(ステップ49)、着目している要素「elem」についての表示規則の生成が終了する。
【0071】
図9(a)は、属性表示規則の生成方法(RuleGenOfAttrByDL)を示したフローチャートであり、図9(b)はその擬似コードである。
【0072】
まず、着目している要素「elem」について、属性を有するか否かを判断する(ステップ54、擬似コード2行目)。着目要素に属性がない場合にはそのまま終了し、属性がある場合には、定義リストのタグである<DL>要素を開始する(ステップ55、擬似コード4行目)。
【0073】
次に、定義用語のタグである、<DT>要素で属性名を表示し(ステップ56、擬似コード6行目)、定義の説明タグである<DD>要素で特性値を表示する(ステップ57、擬似コード7行目)。これを着目している要素「elem」の全ての属性について繰り返し(ステップ58、擬似コード5〜8行目)、<DL>要素を終了する(ステップ59)。このようにして着目している要素「elem」の属性が表示される。
以上のようにしてヘッダ要素とDL要素を用いて第1表示規則29が自動的に生成できる。
【0074】
3.1.2.表による第1表示規則の生成
次に、表形式で表示するよう第1表示規則29を生成する方法を示す。これは、特に要素の深さが2である場合に用いられる。
【0075】
図10(a)は、表形式による第1表示規則29を生成する方法の一例を示す全体フローチャートであり、図10(b)は、その擬似コードである。
【0076】
まず、表を表す<TABLE>要素を開始し(ステップ60、擬似コード2行目)、表ヘッダの表示規則を生成(RuleGenByTHEAD)する(ステップ61、擬似コード3行目)。次に、表本体の表示規則を生成(RuleGenByTBODY)し(ステップ62,擬似コード4行目)、<TABLE>要素を終了する(ステップ63、擬似コード5行目)。
【0077】
図11(a)は、表ヘッダの表示規則の生成(RuleGenByTHEAD)の一例を示すフローチャートであり、図11(b)は、その擬似コードである。
【0078】
まず、表のヘッダを表す<THEAD>要素を開始し、さらに表の行要素である<TR>要素を開始する(ステップ64、擬似コード3行目、4行目)。次に、表の見出しセルである<TH>要素を開始し(ステップ65)、要素内容(コンテンツ)を表示した後(ステップ66)、<TH>要素を終了する(ステップ67)。そしてこれを全ての下位要素について実行する(ステップ68)。つまり、着目している要素「elem」についてそれを構成する要素をリストし(擬似コード4行目)、リスト内の要素「e」の全てについて、<TH>タグで囲んでこれを表示する(擬似コード5〜7行目)。その後、<TR>要素を終了し、<THEAD>要素を終了する(ステップ69、擬似コード8,9行目)。
【0079】
図12(a)は、表本体の表示規則の生成(RuleGenByTBODY)の一例を示すフローチャートであり、図12(b)は、その擬似コードである。
【0080】
まず、表本体を表す<TBODY>要素を開始し(ステップ70、擬似コード2行目)、列要素の表示規則を生成(RuleGenByTR)し(ステップ71)、これを全ての下位要素について実行する(ステップ72)。つまり、着目している要素「elem」についてそれを構成する要素をリストし(擬似コード3行目)、リスト内の要素「e」の全てについて、列要素の表示規則を生成する(擬似コード4〜6行目)。その後、<TBODY>要素を終了する(ステップ73、擬似コード7行目)。
【0081】
図13(a)は、列要素の表示規則の生成(RuleGenByTR)の一例を示すフローチャートであり、図13(b)は、その擬似コードである。
【0082】
まず、表の行要素である<TR>要素を開始する(ステップ74、擬似コード2行目)。次に、表のセルである<TD>要素を開始し(ステップ75)、要素内容(コンテンツ)を表示した後(ステップ76)、<TD>要素を終了する(ステップ77)。そしてこれを全ての下位要素について実行する(ステップ78)。つまり、着目している要素「elem」についてそれを構成する要素をリストし(擬似コード3行目)、リスト内の要素「e」の全てについて、<TD>タグで囲んでこれを表示する(擬似コード4〜6行目)。その後、<TR>要素を終了する(ステップ79、擬似コード7行目)。
以上のようにして、表による第1表示規則29が自動的に生成できる。
【0083】
3.1.3.単純列挙による第1表示規則の生成
次に、要素の単純列挙により第1表示規則29を生成する方法を示す。図14(a)は、要素名、要素内容を単純に列挙する第1表示規則の生成方法の一例を示したフローチャートであり、図14(b)はその擬似コードである。
【0084】
まず、<DIV>要素を開始し(ステップ80、擬似コード2行目)、着目要素「elem」の要素名を表示した後、改行タグである<BR>要素を付加する(ステップ81、擬似コード3,4行目)。その後、前記「3.1.1ヘッダ要素とDL要素による第1表示規則の生成」の項で説明した属性表示規則の生成(ステップ44)と同様の規則生成を行い、着目要素「elem」がリーフであるか否かを判断する(ステップ82、擬似コード6行目)。要素がリーフである場合には要素のコンテンツを表示する(ステップ83、擬似コード12行目)。その後、<DIV>要素を終了する(ステップ84、擬似コード14行目)。
【0085】
一方、要素がリーフでない場合は、要素「elem」に含まれる要素群の中から1要素「e」をとりだし(ステップ85、擬似コード7〜8行目)、取り出した要素「e」について単純列挙の表示規則生成(RuleGenOfElemBySimpleEnum)を再帰的に実行する(ステップ86、擬似コード9行目)。これを全ての要素「e」について繰り返す(ステップ87、擬似コード8〜10行目)。その後、<DIV>要素を終了して(ステップ484、着目している要素「elem」についての表示規則の生成が終了する。
このようにして、単純列挙による第1表示規則29が自動的に生成できる。
【0086】
3.1.4.インデント付けによる第1表示規則の生成
次に、要素の深さに応じてインデント付けを行なう表示規則の生成方法を示す。図15(a)は、インデント付けによる第1表示規則29を生成する方法の一例を示す全体フローチャートであり、図15(b)は、その擬似コードである。
【0087】
まず、ヘッダ要素のレベルを1とし(ステップ88)、ブロック表示の規則を生成する(ステップ89)。ブロック表示の規則生成関数は「RuleGenOfElemByBLOCKQUOTE」である。ローカル変数として要素とレベルが与えられる。ここでは、ルート要素のヘッダを<H1>にするために引数に「root」と「1」が与えられる。
【0088】
図16(a)は、ブロック表示規則の生成方法(RuleGenOfElemByBLOCKQUOTE)を示すフローチャートであり、図16(b)はその擬似コードである。ここで、要素は変数「elem」で与えられ、レベルは変数「level」で与えられる(擬似コード1行目)。
【0089】
まず、そのときのレベルのヘッダ要素で要素「elem」の要素名を表示する(ステップ90、擬似コード2行目)。
【0090】
次に、前記「3.1.1ヘッダ要素とDL要素による第1表示規則の生成」の項で説明した属性表示規則の生成(ステップ44)と同様の規則生成を行い、ブロックレベルの引用タグである<BLOCKQUOTE>要素を開始する(ステップ91、擬似コード4行目)。
【0091】
次に、要素がリーフであるか否かを判断する(ステップ92、擬似コード5行目)。要素がリーフである場合には段落タグである要素を開始し(ステップ93)、要素のコンテンツを表示する(ステップ94、擬似コード11行目)。その後、要素を終了し(ステップ95)、<BLOCKQUOTE>要素を終了する(ステップ96、擬似コード13行目)。
【0092】
一方、要素がリーフでない場合は、ヘッダレベルを1つ増やし(ステップ97)、その要素「elem」に含まれる1レベル大きい(ネストが深い)要素群の中から1要素「e」をとりだし(ステップ98、擬似コード6〜7行目)、取り出した要素「e」についてブロック表示規則の生成方法(RuleGenOfElemByBLOCKQUOTE)を再帰的に実行する(ステップ99、擬似コード8行目)。これを全ての要素「e」について繰り返す(ステップ100、擬似コード7〜9行目)。その後、<BLOCKQUOTE>要素を終了して(ステップ96)、着目している要素「elem」についての表示規則の生成が終了する。
このようにして、インデント付けによる第1表示規則29が自動的に生成できる。
【0093】
以上、ベース表示規則生成手段21の機能である第1表示規則29の生成方法を説明した。このように、本発明では、構造化文書26の文書型定義27を与えると、予め定められたデフォルト生成規則28を適用して表示規則29を自動的に生成でき、後に説明する編集操作機能のベースにすることができる。
【0094】
3.2.表示文書の生成方法
前記した第1表示規則29を適用して構造化文書26を表示文書に変換するのは、当業者に周知である。たとえば構造化文書26にXML文書あるいはSGML文書を例示する場合、第1表示規則29としてXSLスタイルシートあるいはDSSSL文書を生成すれば、周知技術としてHTML文書が生成できる。
【0095】
ただし、本発明では、単に表示文書を生成するだけでなく、構造化文書26の各要素と表示文書30の各要素の対応関係を記録した要素間対応関係ファイル31を生成する。この対応関係は、たとえばXPathを用いて特定できる。
【0096】
3.3.表示文書の編集方法
表示文書がHTML文書である場合には、表示文書の編集(加工)は、タグの変更、要素位置の変更として現れる。本発明では、これら変更の履歴を変更操作毎に第2表示文書32の要素と関連付けて記録する。要素位置は前記と同様にXPathを用いて記録でき、要素および変更操作の記録は、変更毎に編集操作履歴ファイル33にその項目を追加する方式等、周知の技術を用いて行える。
【0097】
3.4.表示規則の更新方法
図17は、表示規則の更新方法の一例を示す全体フローチャートである。まず、編集操作により得られた第2表示文書32(編集後の表示文書)の各要素と、編集操作履歴ファイル33に記録された各操作とを関連付ける(ステップ101)。次に、編集後の表示文書(第2表示文書32)の各要素と構造化文書26の要素とその加工過程の組を対応付ける(ステップ102)。次に、構造化文書26の要素の加工過程の汎化を行う(ステップ103)。さらに、表示規則(第1表示規則29)を更新して第2表示規則34を作成する(ステップ104)。なお、構造化文書26の要素の加工過程の汎化(ステップ103)は、必要に応じて行えばよく、本ステップが存在しなくとも、本発明の機能を達成することは可能である。言い換えれば、加工過程汎化のステップ(ステップ103)は本発明の必須の要件ではない。以下、各ステップを詳細に説明する。
【0098】
図18(a)は、編集後の表示文書(第2表示文書32)の各要素と編集操作履歴ファイル33内の各操作とを関連付ける方法の一例を示したフローチャートである。また、図18(b)は、その擬似コードである。
【0099】
まず、編集後の表示文書(第2表示文書32)から1要素を取り出し(ステップ105、擬似コード2行目)、その要素に関連する操作列を編集操作履歴ファイル33から抽出する(ステップ106、擬似コード4行目〜7行目)。その後、その要素と操作列とを対応付ける(ステップ107、擬似コード9行目)。この操作を全ての要素について実行する(ステップ108、擬似コード1〜10行目)。
【0100】
図19(a)は、編集後の表示文書の各要素と構造化文書の要素とその加工過程の組の対応付けの方法の一例を示したフローチャートである。また、図19(b)は、その擬似コードである。
【0101】
まず、編集後の表示文書(第2表示文書32)から1要素を取り出し(ステップ109、擬似コード2行目)、前記ステップ106で抽出した操作列を取り出す(ステップ110、擬似コード3)。なお、この要素に操作履歴が無い場合には以下の処理を行わずに次の要素に移ることができる。次に、この操作列から1つの操作を取り出し(ステップ111、擬似コード7行目)、操作対象の表示文書要素と対応する構造化文書の要素を特定する(ステップ112、擬似コード8行目)。なお、この構造化文書要素の特定には、構造化文書の要素と表示文書の要素との対応関係を記録した要素間対応関係ファイル31が参照される(擬似コード8行目)。次に、特定された構造化文書の要素と、操作が行った加工内容とを対応付ける(ステップ113、擬似コード9,10行目)。これを全ての操作列について実行し(ステップ114)、さらに全ての表示文書要素について実行する(ステップ115)。
【0102】
図20(a)は、構造化文書の要素の加工過程の汎化の方法の一例を示したフローチャートである。また、図20(b)は、その擬似コードである。
【0103】
まず、編集後の表示文書(第2表示文書32)から1要素を取り出し(ステップ116、擬似コード1行目)、その要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択する(ステップ117、擬似コード2行目)。そしてこの要素群に共通する加工記録(操作)を求め(ステップ118、擬似コード3行目)、加工記録があるか否かの判断を行う(ステップ119、擬似コード4行目)。加工記録がある場合には、候補中の全ての要素から共通の加工記録を削除し(ステップ120、擬似コード5〜7行目)、全ての要素について汎化を行う(ステップ121、擬似コード8〜9行目)。汎化したデータ(gnode、ghist)は「tbl」に書き加えられて記録される(擬似コード10行目)。一方、加工記録が無い場合は、ステップ117に戻る。この操作を全ての表示文書要素について行う(ステップ122、擬似コード1行目)。
【0104】
図21(a)は、表示規則の更新・作成の方法の一例を示したフローチャートである。また、図21(b)は、その擬似コードである。
【0105】
まず加工記録(操作)の要素群から1つの要素を取り出し(ステップ123、擬似コード1行目)、次に、その要素についての表示規則を加工記録(操作)に対応する規則で更新する(ステップ124、擬似コード2、3行目)。そしてこの操作を全ての要素について実行する(ステップ125)。
【0106】
以上、表示規則の更新方法を説明したが、本実施の形態の更新方法は、単に表示文書の表示内容が更新されるのではなく、編集操作された表示文書の要素に対する構造化文書の要素の文書型定義に基づけられた表示規則を変更するものである。このため、本実施の形態の表示規則の生成方法では、ユーザは表示装置7を見ながら例示的に編集操作を行うだけで、構造化文書の構造を考慮した表示規則を自動的に生成できる。また、本実施の形態の方法を繰り返し用いることによって、ユーザは編集内容を確認しながら表示規則を生成でき、高度な表示態様の表示規則を容易に得ることができる。
【0107】
4.表示規則の生成方法の具体例
以下、構造化文書の表示規則を自動的に生成する方法を具体例に基づき説明する。ここでは、編集の対象とする構造化文書26としてXML文書を、その文書型定義(文法定義)27としてDTD/XML Schemaを、第1表示規則29としてXSL文書を、表示文書30としてHTML(XHTML)文書を、それぞれ用いて説明する。
【0108】
4.1.要素の位置変更
図22(a)は、構造化文書26の具体例としてXMLで記述された果物の価格リスト「fruitlist」を、図22(b)は、この果物価格リストのXML文書が基づいているDTD文書を、図22(c)は、この果物価格リストのXML文書が基づいているXML Schemaを示す。なお、各リストの左側には5行置きに行番号を付している。この行番号はリスト参照の便宜のために付すものであり、各リストを構成するものではない。以下、その他のリストについても同様である。
【0109】
果物の価格リスト「fruitlist」の構造は、要素「item」を含み、要素「item」は、要素「name」および「price」で構成される。要素「name」にはその内容(コンテンツ)として文字データ(#PCDATA)が含まれ、要素「price」にはその内容(コンテンツ)として文字データ(#PCDATA)が含まれる。また、要素「price」には、属性「currency」を有し、属性「currency」にはCDATA型のデータが含まれる。
【0110】
文書「fruitlist」には、4つの要素「item」が含まれ、各アイテムには、各々果物名(「apple」、「orange」、「banana」、「grape」)と価格が与えられ、価格の単位が属性として与えられている。
【0111】
図23は、前記した「3.1.1.ヘッダ要素とDL要素による第1表示規則の生成」の方法を用いて、文書「fruitlist」を表示する表示文書生成のためのベース表示規則(第1表示規則)の一例である。図23に示す文書リストはXSL文書リストである。なお、可能であれば前記したその他の方法で第1表示規則を生成できることは言うまでもない。
【0112】
「3.1.1.ヘッダ要素とDL要素による第1表示規則の生成」では、文書の要素の深さに応じてヘッダ要素のレベルを大きくし、要素の属性はDL要素で表示するデフォルト生成規則を用いた。このため、ルート要素である「fruitlist」の要素名がレベル1のヘッダ<H1>で表示され(200)、要素「fruitlist」の下位構造に位置する要素「item」は、その要素名がレベル2のヘッダ<H2>で表示さる(201)。
【0113】
なお、図23中に左矢印とともに示した括弧書き数字「←(200)」等は、参照のために示した数字であり、リストを構成するものではない。以下のリストについて同様である。
【0114】
要素「item」の下位構造に位置する要素「name」と「price」の要素名はレベル3のヘッダ<H3>で表示される(202、203)。また、要素「name」と「price」の内容(コンテンツ)はヘッダで囲まれ、段落表示される(204,205)。
【0115】
要素「price」については属性を有するため、属性名が<DT>タグで囲まれて定義用語表示がされ(206)、属性値は<DD>タグで囲まれて定義説明の様式で表示される(207)。なお、他の「item」についても同様に生成される。その説明は省略する。
【0116】
図24は、この表示規則を適用して、構造化文書「fruitlist」を表示する表示文書(第1表示文書30)の一例を示したHTML文書である。
【0117】
第1番目の「item」要素では、「name」要素の内容としてコンテンツである「apple」が表示され(208)、「price」要素の内容としてコンテンツである「100」が表示されている(209)。また、「price」要素の属性の内容として「Yen」が表示されている(210)。他の「item」要素もその内容により表示内容が相違するが、同様であり、説明を省略する。
【0118】
図25は、第1表示文書が生成される際に、表示文書生成手段22により生成される要素間対応関係ファイル31に記録される内容の一例を示したリストである。
【0119】
この場合、各要素の関係を特定するためにXPathを使用している。ルート要素「fruitlist」の要素「item」のうち、第1「item」要素の「name」要素の要素名は「/fruitlist[1]/item[1]/name[1]」であり、これに対応する表示要素は、「/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[1]/P[1]」である(211)。その他は同様であるから説明を省略する。
【0120】
図26は、図24のHTML文書を描画エンジン25を用いて表示装置7に表示した画面図である。
【0121】
ユーザは、この画面を見ながらマウス9、キーボード等入力装置6等を用いて視覚的表示文書編集環境23により編集作業を行える。ここでは、「orange」の「currency Yen」と「200」の表示を入れ替えたとする。つまり、
currency
Yen
200
を、
200
currency
Yen
に変更したとする。
【0122】
この変更は、ま「200」の部分を削除してペーストバッファに複写し、「currency」の上の位置にペーストバッファから「200」を挿入する、という一連の編集操作によって達成される。この操作を行った後の表示画面を図27に示す。「orange」が属する要素「item」の「price」要素の内容表示が、属性表示の上段に位置するように変更されている。
【0123】
このような変更操作を行った後に編集操作を終了すると、表示規則更新手段24により、第2表示規則34が生成される。表示規則更新手段24では、まず編集前のHTML文書と編集後のHTML文書を比較して、要素の削除と追加が行なわれていることを検出する。しかし、追加された「200」が、固定文字列の「200」なのか、それとも、XML文書中のorangeの値段のデータとしての「200」なのかは、編集前と編集後のHTML文書の比較だけでは判断できない。そこで、編集操作履歴ファイル33を調べて、追加された「200」が、その前に削除された文字列の貼り付けであり、そしてそれが、XML文書中のorangeの値段のデータであり、したがって、一連の操作列がorangeの値段のデータを表示する位置を変更するために行ったということを、前記した表示規則更新手段24で検出する。
【0124】
すなわち、履歴ファイル33中の「200」を挿入した操作が、ペーストバッファからの挿入であることを見つけ、履歴ファイルを遡行して、ペーストバッファへのデータ複写を行った操作を見つける。この処理は、前記ステップ105〜106に相当する。
【0125】
次に、その操作が要素の削除であることから、その要素のXPathを履歴から得る。すなわち、表示要素と操作との対応付けを行う。この処理は前記ステップ107に相当する。なお、この場合のXPathは、「/HTML[1]/BODY[1]/DIV[1]/DIV[2]/DIV[2]/P[1]」である。
【0126】
次に、XML文書とHTML文書の要素間関係から、その要素が対応するXML文書における要素のXPathを得る。この処理は、前記ステップ102(ステップ109〜115)に相当する。なお、この場合のXPathは、「/fruitlist[1]/item[2]/price[1]」である。
【0127】
次に、ベースとなるXSL中の、「/fruitlist[1]/item[2]/price[1]」に対応する部分を、変更結果のHTML文書の構造に合わせて変更する。この処理は、前記ステップ104(ステップ123〜125)に相当する。
【0128】
このようにして、XSL文書(表示規則)が更新され、第2表示規則が生成される。図28は、更新されたXSL文書を示すリストである。前記操作(カットアンドペースト)に合わせて、図28の(212)に示すように、第2「item」の「price」要素の内容表示が属性表示の前に位置するように変更されている。ここで注意すべきは、単なる「200」という表示位置が変更されたのではなく、第2「item」の「price」要素の要素内容の表示位置が変更されたという点である。このように本発明では、構造化文書の表示規則自体を更新するため、構造が適合する他の構造化文書も更新された表示規則(第2表示規則34)を用いて、編集結果を反映した表示を行うことができる。
【0129】
さらに、他の表示要素を削除した場合の例を説明する。「item」, 「name」, 「currency」の各表示を削除し、<DL><DT><DD>要素を除去して定義リスト表示を段落要素表示に変更し、同様の変更をapple, banana, grapeについても行なう。さらに「fruitlist」表示を削除して、簡素な表示になるように変更したとする。図29は、このような変更を施した後の表示を示す画面図である。また、図30は、この場合のHTML文書を示したリストである。HTML文書では、削除された表示要素に関するタグと要素が削除され、「Yen」表示が<DD>要素から要素に変更されている(213)。
【0130】
このような操作履歴から、表示規則更新手段24は、図31のようなXSL文書を生成する。図31は、更新後の表示規則を示すXSL文書リストである。この更新されたXSL文書を用いることにより、編集結果と同様のHTML文書をXML文書から得ることができるようになる。また、ユーザは編集結果を確認しながら、順次編集に対応したXML文書を得ることができる。
【0131】
4.2.要素の結合
図30のHTML文書をさらに編集する例を説明する。値段の「100」と、貨幣単位の「Yen」を結合して、「100Yen」という文字列要素として図32に示すように書き換えたとする。図32は、要素結合の編集操作後の表示画面である。この編集操作後のHTML文書は、図33のようになる。要素「100Yen」等がタグで囲まれたように変更されている(214)。
【0132】
このように変更結果を反映して第2表示規則34を表示規則更新手段24で生成する。変更前のHTML文書と変更後のHTML文書を比較しただけだと、二つの要素「100」と「Yen」を削除して、新しい要素「100Yen」を挿入したと判断される。しかし、本発明の表示規則更新手段24では、要素間の対応関係(要素間対応関係ファイル31)と、操作履歴(編集操作履歴ファイル33)から、以下の手順で、要素の結合を行ったと判断できる。
【0133】
すなわち、履歴の中から「100Yen」の要素が作成された記録を見つける。この記録により「100」の要素(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[1]/P[1])の最後尾に「Yen」を連結したために「100Yen」という文字列が新たな要素として作成されたことがわかる(ステップ105、106に相当)。
【0134】
次に、「Yen」の文字列がどこから来たのかを履歴を遡行して調べる。これにより、「Yen」の要素(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[1]/P[2])を除去したために、その直前の要素の最後尾に連結されたことがわかる(ステップ107に相当)。
【0135】
次に、要素間対応関係より、二つの要素に対応するXML文書中の要素のXPathを求める(ステップ102(ステップ109〜115)に相当)。この対応関係は、「/fruitlist[1]/item[1]/price[1]」と「/fruitlist[1]/item[1]/price[1]/attribute::currency」である。
【0136】
次に、XSL文書中のこの二つの要素に対応する部分を連結する(ステップ104(ステップ123〜125)に相当)。
【0137】
このような操作は、前記した表示規則更新方法で実現できる。生成されたXSL文書(第2表示規則)を図34に示す。
【0138】
4.3.要素の置換操作
表示文書に対して置換操作により表現の変更を行う例を示す。置換操作の操作列と、表示文書中の各要素と、構造化文書中の各要素との間の対応関係から、その置換対象の候補と推測できる構造化文書中の要素を取り出し、この要素に対する条件判断と置換を指示する表示規則を生成する。
【0139】
構造化文書の例として、PC(パーソナルコンピュータ)の商品リストのXML文書が与えられたとする。図35(a)は、商品リストのXML文書であり、図35(b)は、そのDTD、図35(c)はそのXML Schemaである。商品リストには二つのPC(日本製のFreePC 750J, US製のFreePC 600E)が含まれる。からなる商品リストを用いる。個々の商品データは、名称(name)、モデル(model)、販売価格(price)、在庫数(stock)からなる。販売価格(price)には属性として通貨単位が定義される。
【0140】
このDTDとXML Schemaから、ベースとなるXSL文書(第1表示規則)を生成する。この生成では、前記したヘッダ要素とDL要素による第1表示規則の生成(3.1.1.)を用いる。
【0141】
生成されたXSL文書を図36に示す。また、このXSL文書によって得られるHTML文書を図37に、その表示結果を図38に示す。
【0142】
このHTML文書に対して、要素の移動や削除、要素の連結(「JPY」+「151000」->「JPY151000」)を行なった後、「JPY」を「¥」に、「USD」を「$」に置換して、貨幣単位の表現を変更する操作を行ったとする。置換による編集結果を図39に示す。このときのHTML文書を図40に示す。
【0143】
置換する前のHTML文書(図37)と置換した後のHTML文書(図40)を比較しても、「JPY」と「151000」の要素を削除して、新たな要素「¥151000」を追加したようにしか判断できない。しかし、要素間の対応関係(要素間対応関係ファイル31)と操作履歴(編集操作履歴ファイル33)を基にすれば、以下のように、XML文書中の要素の表現の変更を行ったと判断できる。なお、要素の移動、削除は前記と同様である。
【0144】
操作履歴(編集操作履歴ファイル33)から、置換前に存在しなかった新たな要素(「¥151000」, 「$1999」)がHTML文書に挿入された記録を調べる。この記録により、「JPY151000」(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[2])が削除されて「¥151000」が挿入されたことがわかる(ステップ105,106)。
【0145】
この削除/挿入を引き起こした操作が「JPY」-->「¥」の置換操作であったことが履歴に記録されている(ステップ107)。
【0146】
「¥151000」を、置換のパラメータに一致する部分(「¥」)とそれ以外の部分(「151000」)に分ける。「JPY151000」が二つの要素「JPY」と「151000」の連結であることが判っているので、「JPY」の要素が「¥」に変更されたことがわかる。HTML文書中の「JPY」に対応するXML文書中の要素の位置を、要素間対応関係ファイル31から得る(ステップ112,113)。この場合のXML文書中の要素は「/stocklist[1]/item[1]/price[1]/attribute::currency」である。
【0147】
「USD」-->「$」についても同様の処理を行ない、HTML文書中の「USD」に対応するXML文書中の要素の位置を得る(/stocklist[1]/item[2]/price[1]/attribute::currency)。
【0148】
置換を指定した範囲を操作履歴から求め、二回の置換操作が、同一の範囲で行なわれ、それぞれのXPathが、二回の置換範囲の両方に含まれていることを確認することで、二回の置換が同一の目的による一連の操作列であったと判断する(ステップ117,118)。
【0149】
すべてのXPathを含む、置換範囲内の置換対象を指定できる最小のXPathを作成する。この場合は/stocklist[1]/item/price[1]/attribute::currencyになる。XSL文書中のXPathに対応する部分を、要素の内容が「JPY」と等しいなら「¥」を出力する、「USD」に等しいなら「$」を出力する、そうでない場合はそのまま出力するように<xsl:choose>, <xsl:when>, <xsl:otherwise>を用いて更新する(ステップ123,124)。
【0150】
これによって、図41に示すXSL文書が得られる。
【0151】
さらに、在庫数が0の場合は「N/A」となるように置換したとする。置換による編集結果を図42に示す。この場合の表示文書(HTML文書)を図43に示す。この場合の第2表示規則の生成では、文字列「0」を「N/A」に全置換したのでは、価格の「0」も置換されてしまうため妥当ではない。よって、対話的置換で選択しながら置換する必要がある。前記同様の手順により、/stocklist[1]/item/stock[1]の内容が「0」の時は「N/A」に、そうでない場合はそのまま出力するようにXSL文書を更新する。更新後のXSL文書を図44に示す。
【0152】
4.4.構造化文書の文法定義の利用
表示文書中の要素の複写・挿入や移動の操作が行なわれた時に、構造化文書の文法定義情報と、表示文書中の各要素と構造化文書中の各要素間の対応関係とから、要素の属性を指定するように表示規則を作成する。
【0153】
ベースとなるXSLによって変換されたPC商品リストのHTML文書(図37)を基に、新たに表を作成し、個々のデータを表の各カラムに移動させる例を説明する。1個目の商品データ(FreePC 750J)の方を移動させた時点での編集結果を図45に示す。このときのHTML文書を図46に示す。
【0154】
数値データである価格と在庫数には右寄せの属性が自動的につけられる。これは以下の手順によって行われる。
【0155】
「151000」が表の中に挿入された時点で、操作履歴を調べて、ペーストバッファから挿入されたことがわかる。
【0156】
操作履歴を遡及し、ペーストバッファにデータをカットによって複写したことがわかる。
【0157】
カットした要素(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[3]/P[1])と対応するXML文書中の要素のXPathを得る(/stocklist[1]/item[1]/price[1])。
【0158】
XML Schemaから、この要素の型を調べ、0以上の値を取るintegerであることがわかる。
【0159】
TABLEのTD要素にintegerデータを挿入する場合はALIGN=「RIGHT」の属性をdefaultで与えるようにXSL文書を更新する。
【0160】
さらに、次の商品データを置くための新たなrowを作成したとする。このrowは、1個目の商品データに用いたrowと同じであると指定したとする。この時、HTML文書に割り当てたXPathとXML Schemaから、第1カラムのXPath(/stocklist[1]/item[1]/name[1])のdata typeはstringであること、同様に第2カラムについては、/stocklist[1]/item[1]/model[1]=string、第3カラムについては、/stocklist[1]/item[1]/price[1]/attribute::currency=string、第4カラムについては、/stocklist[1]/item[1]/price[1]=integer(>0)、第5カラムについては、/stocklist[1]/item[1]/stock[1]=integer(>0)、であることがわかる。
【0161】
よって、2個目の商品データをカットアンドペーストする時に、操作ミスでmodelのデータを第4カラムに置くことは防がれる。
【0162】
このように、HTML文書の編集においては単なる文字列の複写・移動であっても、XML文書の要素との対応関係に基づいて、データの型に合わせた編集操作を制御することができる。
【0163】
この操作によって、最終的に図47に示す編集結果が得られる。編集結果として図48に示すHTML文書が作成され、それに対応して、図49に示すXSL文書を生成する。
【0164】
さらに、価格の部分を太字にして、背景色の変更を行うと図50のようになる。この操作の結果として、図51のようなHTML文書が作成される。そして、前記同様の処理によって、図52に示すようなXSL文書を生成する。すなわち、本発明の編集操作は、要素の移動、削除、結合、置換、表割りだけでなく、文字フォント、文字色、背景色、背景模様等その他の編集操作の全てに適用できる。
【0165】
4.5.操作列の汎化による不定数の要素に対する変換
商品リストのような、不定個の要素の繰り返しに適用可能なXSL文書を作成するには、操作列を汎化する必要がある。具体的には、操作履歴の中から、要素1個分の処理を行なっている操作列のかたまりを抜き出し、それを汎化する。PC商品リストの表を作成する例(4.4.)を用いて説明する。
【0166】
操作履歴の中から汎化の対象となる一連の操作列を見つけ出すために、たとえば操作列にマークをつける。つまり、汎化対象の操作列の開始マークと、操作列の終了マークを、履歴中に記録される操作につける。たとえば、1個目の商品データを表に移動させる操作の開始時に開始マークを付け、終了時に終了マークをつける。
【0167】
1個目の商品データについて、HTML文書とXML文書の各要素の対応関係が、要素間対応関係ファイル31から図53(a)に示すような関係であることがわかる。以下、これを汎化する例を説明する。
【0168】
まず、それぞれのXPath群に共通する部分を取り出す。表示文書(HTML)と構造化文書(XML)の共通部分は図53(b)に示すとおりである。
【0169】
この共通部分のうち、DTD/XML Schemaに現われるくり返し部分のaxeについて汎化を行う。この例では最後のaxeが汎化の対象となり、その結果、図53(c)に示すようなXPathが得られる。ここで、単純にすべてのTR要素(「TR」)とすべてのitem要素(「item」)に汎化してしまうと、開始インデックスがずれている場合に対応できないので、図53(c)のように、一番目のデータ以降という指示で汎化する。
【0170】
この汎化したXPathを用いて、図53(d)に示すような対応関係を作る。この関係から、図53(e)に示すような不定数の要素の繰り返しを変換する<xsl:for-each>を生成する。
【0171】
この<xsl:for-each>を用いて生成されるXSL文書を図54に示す。このようにして、操作列を汎化することができる。
【0172】
以上、本項「4.表示規則の生成方法の具体例」では、構造化文書としてXML文書、文書型定義としてDTD/XML Schema、表示規則としてXSL、表示文書としてHTMLを例示した。しかし、本発明は、これに限られず、他の構造化文書、文書型定義、表示規則、表示文書でも適用が可能である。以下に説明する。
【0173】
5.SGML文書に対するDSSSL文書の生成
構造化文書としてSGML(Standard Generalized Markup Language)文書を考える。SGMLに対する表示規則としてはDSSSL(Document Style Sematics and Specification Language)がある。
【0174】
例として、文献リスト(booklist)のSGML文書を考える。図55(a)のようなDTDで文書型定義されているとする。
【0175】
このDTDに従って書かれたSGML文書の例を図55(b)に示す。このSGML文書には3つの文献(ガリア戦記、源氏物語、オデッセイ)が書かれている。
【0176】
このSGML文書に対して、ベース表示規則として図56(a)のDSSSL文書を生成する。このベース表示規則は、全体(Booklist)をページ列、第1レベルの要素(Book)を段落、それ以下の要素をデータ列として表示する。第2列以降の要素は、前の要素から20ポイント空ける。このベース表示規則により、SGML文書は図56(b)のように表示される。
【0177】
これを視覚的に編集し、タイトルを斜字体、著者名を太字体、ページ数をCourier書体で表すように操作したとする。図56(c)のような編集結果が得られる。この編集操作の履歴から、前記した表示規則更新手段24を用いて、図56(d)のようなDSSSL文書が得られる。
【0178】
このように本発明の表示規則の生成方法、システムはSGML/DSSSL文書にも適用が可能である。
【0179】
6.CSV形式の文書に対する表示規則の作成
構造化文書として、表計算ソフトウェアでデータ交換のために広く用いられているCSV(Comma Separated Value)形式の文書を考える。
【0180】
ここでは、航空券の価格・空席一覧のデータリストを例示する。データリストのCSV形式による表現の例を図57(a)に示す。各行の要素は、それぞれ、便名、出発空港名、出発時刻、到着空港名、到着時刻、価格、空席数を表している。
【0181】
表示規則としてCSL(CSV Stylesheet Language)を独自に定義する。CSLによるベース表示規則として、図57(b)のような単純な表として表示する規則を例示する。この表示規則によって得られる表形式による編集画面を図57(c)に示す。
【0182】
この表を編集する。表のヘッダを先頭行に追加し、便名を12ポイントに、出発時刻と到着時刻を太字体に、価格と空席数を右寄せに変更したとする。編集後の表示画面を図58に示す。
【0183】
この編集履歴を元に、前記同様の表示規則更新手段24を用いて、図59に示すCSL形式による表示規則を生成できる。
【0184】
このように、本発明の表示規則の生成方法、システムは、CSV形式の文書にも適用が可能である。
【0185】
(実施の形態2)
前記実施の形態1では、構造化文書の表示規則を更新・生成する例を説明したが、表示文書の編集履歴・結果から、表示規則を生成する代わりに、構造化文書自体を変更することもできる。以下、表示規則ではなく構造化文書自体を変更する例を説明する。
【0186】
本実施の形態に適用できるハードウェア構成は実施の形態1と同様である。また、本実施の形態のシステムも実施の形態1のシステムおよび方法と共通する部分が多い。ここでは、本実施の形態に特徴的な部分のみ説明する。
【0187】
本実施の形態では、前記「第1表示規則の生成方法」に従って表示規則を生できる。この表示規則は、編集結果によって更新されず固定のままである。また、前記同様の表示文書の生成および表示文書の編集を行える。
【0188】
編集履歴とその結果(第2表示文書)による構造化文書の変更方法を図60に示す。図60は構造化文書の変更方法の一例を示す全体フローチャートである。
【0189】
ステップ101およびステップ102は、前記「3.4.表示規則の更新方法」の項で説明したものと同様である。本実施の形態では、ステップ101、ステップ102の後、構造化文書の変更を行う(ステップ130)。
【0190】
図61(a)は、構造化文書の変更方法の一例を示したフローチャートであり、図61(b)はその擬似コードである。
【0191】
まず、加工記録から履歴を取り出し(ステップ131、擬似コード2行目)、その履歴が対象としている構造化文書中の要素(擬似コード3行目)について、これを更新する(ステップ132、擬似コード4,5行目)。これを全ての履歴について繰り返す(ステップ133)。
【0192】
具体例を以下に示す。まず、ベースとなる表示規則を生成する。ここでは、「3.1.2.表による第1表示規則の生成」で説明した方法を用いて表示規則を生成する例を示す。
【0193】
例として、文房具の価格リストの構造化文書を考える。図62(a)のようなDTDとXML Schemaが与えられ、この文書定義にしたがって書かれた構造化文書が図62(b)に示すように与えられたとする。「3.1.2.表による第1表示規則の生成」で説明した方法によってベース表示規則は図63(a)のように生成される。また、この表示規則によって、図63(b)のような表示文書が生成される。この表示文書は図64のように表示される。
【0194】
次に、図64の画面を見ながら、図65のような表示となるように編集する。編集内容は、「Notebookの価格を250から300に変更」、「新しくPencilを価格50で追加」である。
【0195】
この編集履歴と表示結果から、前記構造化文書の変更方法により、図66に示すようなXML文書が得られる。
【0196】
このように、本実施の形態のシステム、方法を用いれば、表示を見ながら表示文書を編集して、その編集内容を反映した構造化文書を自動的に更新できる。
【0197】
なお、ここでは、要素の変更、追加を例として挙げたが、削除や移動も同様に可能である。また、表示文書として表形式を例として用いたが、ヘッダおよびDL要素によるリスト表現、単純列挙、インデント付けによるベース表示規則を用いた編集でも前記方法にしたがって同じように構造化文書の編集が可能である。
【0198】
(実施の形態3)
さらに、表示文書の編集履歴・結果から、表示規則を生成する代わりに、構造化文書の文法定義自体を変更することもできる。
【0199】
本実施の形態に適用できるハードウェア構成は実施の形態1と同様である。また、本実施の形態のシステムも実施の形態1のシステムおよび方法と共通する部分が多い。ここでは、本実施の形態に特徴的な部分のみ説明する。
【0200】
本実施の形態では、前記「第1表示規則の生成方法」に従って表示規則を生成できる。この表示規則は、編集結果によって更新されず固定のままである。また、前記同様の表示文書の生成および表示文書の編集を行える。
【0201】
編集履歴とその結果(第2表示文書)による構造化文書の文法定義の変更方法を図67に示す。図67は構造化文書の文法定義の変更方法の一例を示す全体フローチャートである。
【0202】
ステップ101〜ステップ103は、前記「3.4.表示規則の更新方法」の項で説明したものと同様である。本実施の形態では、ステップ101、ステップ102、ステップ103の後、文法定義の更新を行う(ステップ140)。
【0203】
図68(a)は、文法定義の更新方法の一例を示したフローチャートであり、図68(b)はその擬似コードである。
【0204】
まず、加工記録から履歴を取り出し(ステップ141、擬似コード2行目)、その履歴が対象としている文法定義中の規則(擬似コード4,5行目)について、これを更新する(ステップ142、擬似コード8,10,13行目)。これを全ての履歴について繰り返す(ステップ133)。
【0205】
次に、具体例を示す。前記実施の形態2で用いた文房具価格リストの例を用いて説明する。図65の編集結果をさらに編集して、図69(a)のように編集したとする。編集内容は、「表ヘッダの2カラム目にcolorの項目を追加」、「表本体のそれぞれの行の2カラム目に、各文房具の色を追加」である。
【0206】
この編集履歴・結果から、前記文法定義の変更方法を適用して、図69(b)に示すような文法定義としてのDTDが得られる。
【0207】
このように、本実施の形態のシステム、方法を用いれば、表示を見ながら表示文書を編集して、その編集内容を反映した文法定義を自動的に更新できる。
【0208】
なお、ここでは、要素の追加を例として挙げたが、削除や移動も同様に可能である。また、表示文書として表形式を例として用いたが、ヘッダおよびDL要素によるリスト表現、単純列挙、インデント付けによるベース表示規則を用いた編集でも前記方法にしたがって同じように文法定義の編集が可能である。
【0209】
(実施の形態4)
本実施の形態では、第1表示規則の具体例を説明する。前記実施の形態において、ヘッダ要素とDL要素による第1表示規則の生成方法および表による第1表示規則の生成方法の具体例につては既に説明した。ここでは、単純列挙による第1表示規則の生成方法およびインデント付けによる第1表示規則の生成方法の具体例を示す。
【0210】
1.単純列挙によるベース表示規則の生成
前記実施の形態3の文房具価格リスト(図62)から表示規則を生成する方法を説明する。「3.1.3.単純列挙による第1表示規則の生成」の項で説明した方法を適用して、図70(a)のような表示規則が生成される。この表示規則により、図70(b)のような表示文書が生成される。この文書を表示すると図71のようになる。
【0211】
2.インデント付けによるベース表示規則の生成
前記実施の形態3の文房具価格リスト(図62)から表示規則を生成する方法を説明する。「3.1.4.インデント付けによる第1表示規則の生成」の項で説明した方法を適用して、図72(a)のような表示規則が生成される。この表示規則により、図72(b)のような表示文書が生成される。この文書を表示すると図73のようになる。
【0212】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【0213】
たとえば、実施の形態2〜4で説明したベースとなる表示規則(第1表示規則)およびその具体例を実施の形態1において適用してもよい。
【0214】
また、実施の形態1の第2表示規則の生成(表示規則の変更・生成)と実施の形態2の構造化文書の変更を組み合わせてシステムおよび方法に適用してもよい。また、実施の形態1と実施の形態3との組み合わせ、実施の形態1〜3の組み合わせも可能である。
【0215】
また、前記した実施の形態では、主に文字データの編集加工を説明したが、文字データに限られず、画像(イメージ)データ、音声データ等あらゆるオブジェクトの表示態様の編集加工にも本発明は適用できる。画像データには動画も含まれることは言うまでもない。
【0216】
また、前記実施の形態で説明した編集加工は、要素または属性の削除、追加、位置変更、結合、置換等であったが、これらの操作に限られず、表示規則が記述される言語仕様で許容されたあらゆる表示態様の変更修正に適用できる。たとえば、文字のフォント、色、背景、サイズ等の変更、画像のサイズ、罫線、リスト要素、リンク、ボタン要素等の変更修正にも適用できる。
【0217】
また、前記実施の形態では、主にシステムおよび方法について説明したが、これらシステムの機能、方法はコンピュータに可読なプログラムにより実現されるため、このようなコンピュータ可読なプログラムが記録された媒体が前記実施の形態において開示されていることは明らかである。なお、媒体には、たとえばハードディスク等記憶装置に内蔵された媒体のみならず、CD−ROM、DVD−ROM、フラッシュメモリ、フロッピィディスク等、記憶装置とは別個に取り引きされるものを含むことは勿論である。
【0218】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)構造化文書の表示規則を生成する方法であって、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成するステップと、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するステップと、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するステップと、を含む表示規則の生成方法。
(2)構造化文書の表示規則を生成する方法であって、さらに、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第2表示規則を生成するステップを含む前記(1)記載の表示規則の生成方法。
(3)前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである前記(2)記載の表示規則の生成方法。
(4)前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第1表示規則の表要素に対応付けるものである前記(2)記載の表示規則の生成方法。
(5)前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第1表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである前記(2)記載の表示規則の生成方法。
(6)前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである前記(2)記載の表示規則の生成方法。
(7)前記第2表示規則を生成するステップには、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するステップと、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するステップと、前記編集記録の要素群から1つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するステップと、を含む前記(2)記載の表示規則の生成方法。
(8)前記第2表示規則を生成するステップには、さらに、前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するステップを含む前記(7)記載の表示規則の生成方法。
(9)前記構造化文書および表示規則は、XML文書およびXSL文書、SGML文書およびDSSSL文書、または、CSV文書およびXMLベース文書である前記(1)〜(8)記載の表示規則の生成方法。
(10)構造化文書を変更する方法であって、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成するステップと、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するステップと、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するステップと、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するステップと、を含み、前記構造化文書を変更するステップには、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するステップと、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するステップと、前記編集記録から1つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、を含む構造化文書の変更方法。
(11)構造化文書の文書型定義を変更する方法であって、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成するステップと、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するステップと、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するステップと、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するステップと、を含み、前記構造化文書の文書型定義を変更するステップには、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するステップと、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するステップと、前記編集記録から1つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、を含む構造化文書の文書型定義の変更方法。
(12)前記構造化文書の文書型定義を変更するステップには、さらに、前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するステップを含む前記(11)記載の構造化文書の文書型定義の変更方法。
(13)構造化文書の表示規則を生成するシステムであって、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成する手段と、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成する手段と、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成する手段と、を含む表示規則の生成システム。
(14)構造化文書の表示規則を生成するシステムであって、さらに、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第2表示規則を生成する手段を含む前記(13)記載の表示規則の生成システム。
(15)前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである前記(14)記載の表示規則の生成システム。
(16)前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第1表示規則の表要素に対応付けるものである前記(14)記載の表示規則の生成システム。
(17)前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第1表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである前記(14)記載の表示規則の生成システム。
(18)前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである前記(14)記載の表示規則の生成システム。
(19)前記第2表示規則を生成する手段には、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行する手段と、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行する手段と、前記編集記録の要素群から1つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行する手段と、を含む前記(14)記載の表示規則の生成システム。
(20)前記第2表示規則を生成する手段には、さらに、前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行する手段を含む前記(19)記載の表示規則の生成システム。
(21)前記構造化文書および表示規則は、XML文書およびXSL文書、SGML文書およびDSSSL文書、または、CSV文書およびXMLベース文書である前記(13)〜(20)記載の表示規則の生成システム。
(22)構造化文書を変更するシステムであって、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成する手段と、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成する手段と、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成する手段と、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更する手段と、を含み、前記構造化文書を変更する手段には、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行する手段と、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行する手段と、前記編集記録から1つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、を含む構造化文書の変更システム。
(23)構造化文書の文書型定義を変更するシステムであって、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成する手段と、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成する手段と、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成する手段と、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更する手段と、を含み、前記構造化文書の文書型定義を変更する手段には、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行する手段と、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行する手段と、前記編集記録から1つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、を含む構造化文書の文書型定義の変更システム。
(24)前記構造化文書の文書型定義を変更する手段には、さらに、前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行する手段を含む前記(23)記載の構造化文書の文書型定義の変更システム。
(25)構造化文書の表示規則を生成するプログラムコードが記録された媒体であって、前記プラグラムコードには、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成するプロクラムコードと、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するプロクラムコードと、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するプロクラムコードと、を含むプログラムコードが記録された媒体。
(26)構造化文書の表示規則を生成するプログラムコードが記録された媒体であって、前記プラグラムコードには、さらに、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第2表示規則を生成するプロクラムコードを含む前記(25)記載のプログラムコードが記録された媒体。
(27)前記第2表示規則を生成するプロクラムコードには、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するプロクラムコードと、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するプロクラムコードと、前記編集記録の要素群から1つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するプロクラムコードと、を含む前記(26)記載のプログラムコードが記録された媒体。
(28)前記第2表示規則を生成するプロクラムコードには、さらに、前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するプロクラムコードを含む前記(26)記載のプログラムコードが記録された媒体。
(29)構造化文書を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成するプロクラムコードと、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するプロクラムコードと、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するプロクラムコードと、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するプロクラムコードと、を含み、前記構造化文書を変更するプロクラムコードには、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するプロクラムコードと、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するプロクラムコードと、前記編集記録から1つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するプロクラムコードと、を含むプログラムコードが記録された媒体。
(30)構造化文書の文書型定義を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、デフォルト生成規則と前記構造化文書の文書型定義とから第1表示規則を生成するプロクラムコードと、前記第1表示規則と前記構造化文書とから第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するプロクラムコードと、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するプロクラムコードと、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するプロクラムコードと、を含み、前記構造化文書の文書型定義を変更するプロクラムコードには、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するプロクラムコードと、前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するプロクラムコードと、前記編集記録から1つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するプロクラムコードと、を含むプログラムコードが記録された媒体。
(31)前記構造化文書の文書型定義を変更するプロクラムコードには、さらに、前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するプロクラムコードを含む前記(30)記載のプログラムコードが記録された媒体。
【0219】
【発明の効果】
本願で開示される発明のうち、代表的なものによって得られる効果は、以下の通りである。
【0220】
すなわち、例示操作に基づいて視覚的に構造化文書の表示規則を自動的に生成できる。また、表示文書の結果を確認しながら表示規則を少しずつ修正して、対話的に表示規則を生成できる。また、逐次的修正を繰り返すことによって、表示規則を記述する言語の知識がなくとも、高度な表示規則を自動的に生成できる。表示規則の生成と同様に構造化文書あるいは構造化文書の文書型定義(文法定義)を例示的な表示文書の変更に基づいて変更する技術を提供できる。
【図面の簡単な説明】
【図1】本発明の方法を実現するシステムの概要を示した概念図であり、(a)はスタンドアロンのコンピュータを構成の概略を示し、(b)は、コンピュータネットワークの構成の概略を示す。
【図2】本発明の表示規則を生成するシステムの一例を示したブロック図である。
【図3】図2の一部をベース表示規則生成手段について抜き出したブロック図である。
【図4】図2の一部を表示文書生成手段について抜き出したブロック図である。
【図5】図2の一部を視覚的表示文書編集環境について抜き出したブロック図である。
【図6】図2の一部を表示規則更新手段について抜き出したブロック図である。
【図7】(a)は、ヘッダ要素とDL要素により第1表示規則を生成する方法の一例を示す全体フローチャートであり、(b)は、その擬似コードである。
【図8】(a)は、要素表示規則の生成方法を示したフローチャートであり、(b)はその擬似コードである。
【図9】(a)は、属性表示規則の生成方法を示したフローチャートであり、(b)はその擬似コードである。
【図10】(a)は、表形式による第1表示規則を生成する方法の一例を示す全体フローチャートであり、(b)は、その擬似コードである。
【図11】(a)は、表ヘッダの表示規則の生成の一例を示すフローチャートであり、(b)は、その擬似コードである。
【図12】(a)は、表本体の表示規則の生成の一例を示すフローチャートであり、(b)は、その擬似コードである。
【図13】(a)は、列要素の表示規則の生成の一例を示すフローチャートであり、(b)は、その擬似コードである。
【図14】(a)は、要素名、要素内容を単純に列挙する第1表示規則の生成方法の一例を示したフローチャートであり、(b)はその擬似コードである。
【図15】(a)は、インデント付けによる第1表示規則を生成する方法の一例を示す全体フローチャートであり、(b)は、その擬似コードである。
【図16】(a)は、ブロック表示規則の生成方法を示すフローチャートであり、(b)はその擬似コードである。
【図17】表示規則の更新方法の一例を示す全体フローチャートである。
【図18】(a)は、編集後の表示文書の各要素と編集操作履歴ファイル内の各操作とを関連付ける方法の一例を示したフローチャートであり、(b)は、その擬似コードである。
【図19】(a)は、編集後の表示文書の各要素と構造化文書の要素とその加工過程の組の対応付けの方法の一例を示したフローチャートであり、(b)は、その擬似コードである。
【図20】(a)は、構造化文書の要素の加工過程の汎化の方法の一例を示したフローチャートであり、(b)は、その擬似コードである。
【図21】(a)は、表示規則の更新・作成の方法の一例を示したフローチャートであり、(b)は、その擬似コードである。
【図22】(a)は果物の価格リストのXML文書であり、(b)は(a)のXML文書が基づいているDTD文書であり、(c)は(a)のXML文書が基づいているXML Schemaである。
【図23】図22(a)のXML文書を表示するためのベースとなるXSL文書である。
【図24】図23のXSL文書から得られるHTML文書である。
【図25】図22(a)のXML文書要素と図24のHTML文書要素の要素間対応関係を示したリストである。
【図26】図24のHTML文書を表示した画面図である。
【図27】図26の画面の編集操作を行った後の表示画面図である。
【図28】図27に示す画面への編集操作を行った後に生成されたXSL文書である。
【図29】図27の画面をさらに編集した後の表示画面図である。
【図30】図29の画面を表示するHTML文書である。
【図31】図29に示す画面への編集操作を行った後に生成されたXSL文書である。
【図32】要素の結合を説明するための編集操作後の表示画面図である。
【図33】図32の画面を表示するHTML文書である。
【図34】図32に示す画面への編集操作を行った後に生成されたXSL文書である。
【図35】(a)は商品リストのXML文書であり、(b)は(a)のXML文書が基づいているDTD文書であり、(c)は(a)のXML文書が基づいているXMLSchemaである。
【図36】図35(a)のXML文書を表示するためのベースとなるXSL文書である。
【図37】図36のXSL文書から得られるHTML文書である。
【図38】図37のHTML文書の表示画面図である。
【図39】図38の画面を編集操作した後の表示画面図である。
【図40】図39の画面を表示するHTML文書である。
【図41】図39に示す画面への編集操作を行った後に生成されたXSL文書である。
【図42】図39の画面をさらに編集操作した後の表示画面図である。
【図43】図42の画面を表示するHTML文書である。
【図44】図42に示す画面への編集操作を行った後に生成されたXSL文書である。
【図45】構造化文書の文法定義の利用を説明するための編集後表示画面図である。
【図46】図45の画面を表示するHTML文書である。
【図47】図45の画面をさらに編集した後の表示画面図である。
【図48】図47の画面を表示するHTML文書である。
【図49】図47に示す画面への編集操作を行った後に生成されたXSL文書である。
【図50】図47の画面をさらに編集した後の表示画面図である。
【図51】図50の画面を表示するHTML文書である。
【図52】図50に示す画面への編集操作を行った後に生成されたXSL文書である。
【図53】操作列の汎化による不定数の要素に対する変換を説明するためのリストであり、(a)は要素間の対応関係を示し、(b)はXPathの共通部分を示し、(c)は得られたXPathであり、(d)は表中の位置とXPathとの対応関係を示し、(e)は生成された<xsl:for-each>である。
【図54】生成されたXSL文書である。
【図55】(a)は、文献リストのDTDであり、(b)はSGML文書である。
【図56】(a)は、ベース表示規則として生成されたDSSSL文書であり、(b)はベース表示規則により表示されたSGML文書の表示画面である。(c)は、編集後の表示画面であり、(d)は更新されたDSSSL文書である。
【図57】(a)は、CSV形式によるデータリストであり、(b)は、単純な表として表示する規則である。(c)は、表形式による表示画面図である。
【図58】編集後の表示画面である。
【図59】更新後の表示規則である。
【図60】構造化文書の変更方法の一例を示す全体フローチャートである。
【図61】(a)は、構造化文書の変更方法の一例を示したフローチャートであり、(b)はその擬似コードである。
【図62】構造化文書の変更方法を説明するためのリストであり、(a)は文房具価格リストのDTDとXML Schemaであり、(b)は文房具価格リストのXML文書である。
【図63】(a)は、図62(b)のXML文書を表示するためのベースとなるXSL文書であり、(b)は(a)のXSL文書から得られるHTML文書である。
【図64】図63(b)のHTML文書を表示した表示画面図である。
【図65】図64の画面を編集した後の表示画面図である。
【図66】図65に示した画面への編集を行った後に生成されたXML文書である。
【図67】構造化文書の文法定義の変更方法の一例を示す全体フローチャートである。
【図68】(a)は、文法定義の更新方法の一例を示したフローチャートであり、(b)はその擬似コードである。
【図69】(a)は、図65の画面をさらに編集した後の表示画面図である。(b)は、更新されたDTDを示すリストである。
【図70】(a)は表示規則であり、(b)は表示文書である。
【図71】表示画面である。
【図72】(a)は表示規則であり、(b)は表示文書である。
【図73】表示画面である。
【符号の説明】
1 中央演算処理装置
2 主記憶装置
3 不揮発性記憶装置
4 バス
5 記憶装置(外部記憶装置)
6 データ入力デバイス(入力装置)
7 表示デバイス(表示装置)
8 通信制御装置
9 マウス
10 パーソナルコンピュータ
11 ワークステーション
12 メインフレームコンピュータ
21 ベース表示規則生成手段
22 表示文書生成手段
23 視覚的表示文書編集環境
24 表示規則更新手段
25 描画エンジン
26 構造化文書
27 文書型定義
28 デフォルト生成規則
29 第1表示規則
30 第1表示文書
31 要素間対応関係ファイル
32 第2表示文書
33 編集操作履歴ファイル
34 第2表示規則

Claims (28)

  1. ベース表示規則生成手段、表示文書生成手段視覚的表示文書編集環境および表示規則更新手段をソフトウェアの実行により実現するコンピュータシステム構造化文書の表示規則を生成する方法であって、
    前記ベース表示規則生成手段が、前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するステップと、
    前記表示文書生成手段が、前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の各要素と前記第1表示文書の各要素との対応関係を要素間対応関係ファイルに記録するステップと、
    ユーザによる編集操作に応答して、前記視覚的表示文書編集環境を利用して、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記視覚的表示文書編集環境が前記編集の履歴を編集操作履歴ファイルに記録するステップと、
    前記表示規則更新手段が、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とを用い、前記第2表示文書から要素を取り出し、前記要素に関連する操作を前記編集操作履歴ファイルから取り出し、前記操作から編集前の前記第1表示文書の対応する要素を特定し、前記要素間対応関係ファイルを参照してこれに対応する前記構造化文書の要素を特定し、前記操作の内容と特定した前記構造化文書の要素とを関連付けて編集記録を作成し、前記要素についての表示規則を前記編集記録に対応する規則に更新して、前記構造化文書の第2表示規則を生成するステップと
    を含む表示規則の生成方法。
  2. 前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである請求項記載の表示規則の生成方法。
  3. 前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第1表示規則の表要素に対応付けるものである請求項記載の表示規則の生成方法。
  4. 前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第1表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである請求項記載の表示規則の生成方法。
  5. 前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである請求項記載の表示規則の生成方法。
  6. 前記第2表示規則を生成するステップには、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するステップと、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するステップと、
    前記編集記録の要素群から1つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するステップと、
    を含む請求項記載の表示規則の生成方法。
  7. 前記第2表示規則を生成するステップには、さらに、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するステップを含む請求項記載の表示規則の生成方法。
  8. 前記構造化文書および表示規則は、XLM文書およびXSL文書、SGML文書およびDSSSL文書、または、CSV文書およびXMLベース文書である請求項1乃至記載の表示規則の生成方法。
  9. ベース表示規則生成手段、表示文書生成手段、視覚的表示文書編集環境および構造化文書変更手段をソフトウェアの実行により実現するコンピュータシステム構造化文書を変更する方法であって、
    前記ベース表示規則生成手段が、前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するステップと、
    前記表示文書生成手段が、前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録するステップと、
    ユーザによる編集操作に応答して、前記視覚的表示文書編集環境を利用して、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記視覚的表示文書編集環境が前記編集の履歴を編集操作履歴ファイルに記録するステップと、
    前記構造化文書変更手段が、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するステップと、を含み、
    前記構造化文書を変更するステップには、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するステップと、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するステップと、
    前記編集記録から1つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、
    を含む構造化文書の変更方法。
  10. ベース表示規則生成手段、表示文書生成手段、視覚的表示文書編集環境および文書型定義変更手段をソフトウェアにより実現するコンピュータシステムを利用して構造化文書の文書型定義を変更する方法であって、
    前記ベース表示規則生成手段が、前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するステップと、
    前記表示文書生成手段が、前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録するステップと、
    ユーザによる編集操作に応答して、前記視覚的表示文書編集環境を利用して、前記第1表示文書を前記文書編集環境下で編集して第2表示文書を生成し、前記視覚的表示文書編集環境が前記編集の履歴を編集操作履歴ファイルに記録するステップと、
    前記文書型定義変更手段が、前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するステップと、を含み、
    前記構造化文書の文書型定義を変更するステップには、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するステップと、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するステップと、
    前記編集記録から1つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、
    を含む構造化文書の文書型定義の変更方法。
  11. 前記構造化文書の文書型定義を変更するステップには、さらに、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するステップを含む請求項1記載の構造化文書の文書型定義の変更方法。
  12. 構造化文書の表示規則を生成するシステムであって、
    前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するベース表示規則生成手段と、
    前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録する表示文書生成手段と、
    ユーザによる編集操作に応答して、前記第1表示文書をその文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録する視覚的表示文書編集環境と、
    前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とを用い、前記第2表示文書から要素を取り出し、前記要素に関連する操作を前記編集操作履歴ファイルから取り出し、前記操作から編集前の前記第1表示文書の対応する要素を特定し、前記要素間対応関係ファイルを参照してこれに対応する前記構造化文書の要素を特定し、前記操作の内容と特定した前記構造化文書の要素とを関連付けて編集記録を作成し、前記要素についての表示規則を前記編集記録に対応する規則に更新して、前記構造化文書の第2表示規則を生成する表示規則更新手段と
    を含む表示規則の生成システム。
  13. 前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである請求項1記載の表示規則の生成システム。
  14. 前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第1表示規則の表要素に対応付けるものである請求項1記載の表示規則の生成システム。
  15. 前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第1表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである請求項1記載の表示規則の生成システム。
  16. 前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第1表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第1表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第1表示規則の段落要素とを対応付けるものである請求項1記載の表示規則の生成システム。
  17. 前記第2表示規則を生成する手段には、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行する手段と、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行する手段と、
    前記編集記録の要素群から1つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行する手段と、
    を含む請求項1記載の表示規則の生成システム。
  18. 前記第2表示規則を生成する手段には、さらに、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行する手段を含む請求項1記載の表示規則の生成システム。
  19. 前記構造化文書および表示規則は、XLM文書およびXSL文書、SGML文書およびDSSSL文書、または、CSV文書およびXMLベース文書である請求項1乃至18記載の表示規則の生成システム。
  20. 構造化文書を変更するシステムであって、
    前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するベース表示規則生成手段と、
    前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録する表示文書生成手段と、
    ユーザによる編集操作に応答して、前記第1表示文書をその文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録する視覚的表示文書編集環境と、
    前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更する構造化文書変更手段と、を含み、
    前記構造化文書変更手段には、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行する手段と、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行する手段と、
    前記編集記録から1つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、
    を含む構造化文書の変更システム。
  21. 構造化文書の文書型定義を変更するシステムであって、
    前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するベース表示規則生成手段と、
    前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録する表示文書生成手段と、
    ユーザによる編集操作に応答して、前記第1表示文書をその文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録する視覚的表示文書編集環境と、
    前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更する文書型定義変更手段と、を含み、
    前記文書型定義変更手段には、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行する手段と、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行する手段と、
    前記編集記録から1つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、
    を含む構造化文書の文書型定義の変更システム。
  22. 前記文書型定義変更手段には、さらに、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行する手段を含む請求項23記載の構造化文書の文書型定義の変更システム。
  23. 構造化文書の表示規則を生成するプログラムコードが記録された媒体であって、前記プグラムコードには、
    前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するプロラムコードと、
    前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録するプロラムコードと、
    ユーザによる編集操作に応答して、前記第1表示文書をその文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録するプロラムコードと、
    前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第2表示規則を生成するプログラムコードと、
    を含むプログラムコードが記録された媒体。
  24. 前記第2表示規則を生成するプロラムコードには、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するプロラムコードと、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するプロラムコードと、
    前記編集記録の要素群から1つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するプロラムコードと、
    を含む請求項2記載のプログラムコードが記録された媒体。
  25. 前記第2表示規則を生成するプロラムコードには、さらに、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するプロラムコードを含む請求項2記載のプログラムコードが記録された媒体。
  26. 構造化文書を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、
    前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するプロラムコードと、
    前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録するプロラムコードと、
    ユーザによる編集操作に応答して、前記第1表示文書をその文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録するプロラムコードと、
    前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するプロラムコードと、を含み、
    前記構造化文書を変更するプロラムコードには、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するプロラムコードと、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するプロラムコードと、
    前記編集記録から1つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するプロラムコードと、
    を含むプログラムコードが記録された媒体。
  27. 構造化文書の文書型定義を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、
    前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第1表示規則を生成するプロラムコードと、
    前記第1表示規則に従って前記構造化文書の各要素を置換することによって第1表示文書を生成し、前記構造化文書の要素と前記第1表示文書の要素との対応関係を要素間対応関係ファイルに記録するプロラムコードと、
    ユーザによる編集操作に応答して、前記第1表示文書をその文書編集環境下で編集して第2表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録するプロラムコードと、
    前記第2表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するプロラムコードと、を含み、
    前記構造化文書の文書型定義を変更するプロラムコードには、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第2表示文書の全ての要素について実行するプロラムコードと、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素に対応する前記操作列から1つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第2表示文書の全ての要素について実行するプロラムコードと、
    前記編集記録から1つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するプロラムコードと、
    を含むプログラムコードが記録された媒体。
  28. 前記構造化文書の文書型定義を変更するプロラムコードには、さらに、
    前記第2表示文書から1つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第2表示文書の全ての要素について実行するプロラムコードを含む請求項27記載のプログラムコードが記録された媒体。
JP2000045466A 2000-02-23 2000-02-23 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体 Expired - Fee Related JP4091726B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000045466A JP4091726B2 (ja) 2000-02-23 2000-02-23 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体
US09/791,943 US6950984B2 (en) 2000-02-23 2001-02-23 Method, system for, and program product for generating a display rule for a structured document, and for changing a structured document and its document type definition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000045466A JP4091726B2 (ja) 2000-02-23 2000-02-23 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体

Publications (2)

Publication Number Publication Date
JP2001243222A JP2001243222A (ja) 2001-09-07
JP4091726B2 true JP4091726B2 (ja) 2008-05-28

Family

ID=18568044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000045466A Expired - Fee Related JP4091726B2 (ja) 2000-02-23 2000-02-23 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体

Country Status (2)

Country Link
US (1) US6950984B2 (ja)
JP (1) JP4091726B2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249138B1 (en) * 2000-06-29 2007-07-24 Ncr Corporation Parallel selection processing for financial processing in a relational database management system
US7107279B2 (en) * 2000-12-20 2006-09-12 Insitech Group, Inc. Rapid development in a distributed application environment
US20040205592A1 (en) * 2001-08-23 2004-10-14 Xmlcities, Inc. Method and apparatus for extensible stylesheet designs
JP3888621B2 (ja) * 2002-02-21 2007-03-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書処理システム、文書処理方法及びプログラム
US8032828B2 (en) * 2002-03-04 2011-10-04 Hewlett-Packard Development Company, L.P. Method and system of document transformation between a source extensible markup language (XML) schema and a target XML schema
US7337391B2 (en) * 2002-03-12 2008-02-26 International Business Machines Corporation Method and system for stylesheet execution interactive feedback
US7992088B2 (en) * 2002-03-12 2011-08-02 International Business Machines Corporation Method and system for copy and paste technology for stylesheet editing
US8117533B2 (en) * 2002-03-12 2012-02-14 International Business Machines Corporation Method and system for stylesheet rule creation, combination, and removal
CA2409079A1 (en) 2002-10-21 2004-04-21 Ibm Canada Limited-Ibm Canada Limitee Creating multiple and cascading business interpretations from raw application data using transformation layering
US7240119B2 (en) * 2002-11-04 2007-07-03 Ge Fanuc Automation North America, Inc. Method for configuring a programmable logic controller using an extensible markup language schema
US7546541B2 (en) * 2002-12-10 2009-06-09 International Business Machines Corporation Method and apparatus for iterative refinement of generated user-interface markup
WO2004061713A1 (ja) * 2002-12-27 2004-07-22 Fujitsu Limited 構造化文書の構造変換装置、構造変換方法、記録媒体
US20040177315A1 (en) * 2003-03-03 2004-09-09 International Business Machines Corporation Structured document bounding language
US7086028B1 (en) * 2003-04-09 2006-08-01 Autodesk, Inc. Simplified generation of design change information on a drawing in a computer aided design (CAD) environment
US7657832B1 (en) * 2003-09-18 2010-02-02 Adobe Systems Incorporated Correcting validation errors in structured documents
US20050081144A1 (en) * 2003-10-13 2005-04-14 Bankers Systems Inc. Document creation system and method using knowledge base, precedence, and integrated rules
JP2006059243A (ja) * 2004-08-23 2006-03-02 Univ Of Tokyo 構造化文書作成方法及び装置及びプログラム
WO2006137530A1 (ja) * 2005-06-24 2006-12-28 Justsystems Corporation 文書処理装置
US8201106B2 (en) * 2005-07-01 2012-06-12 Alcatel Lucent Method for transforming a tree structure into a more human-comprehensible document
US20090287994A1 (en) * 2005-10-31 2009-11-19 Justsystems Corporation Document processing device and document processing method
KR100805170B1 (ko) * 2006-03-09 2008-02-21 엔씨소프트 재팬 가부시키 가이샤 웹 디자인 변경 장치 및 방법
WO2007113910A1 (ja) * 2006-04-05 2007-10-11 R & W, Inc. Webページ評価装置、Webページ評価方法およびWebページ評価プログラム
JP2008040666A (ja) * 2006-08-03 2008-02-21 Hitachi Ltd 画面設計支援装置
US8549469B2 (en) * 2006-10-22 2013-10-01 Akin B Bolarinwa System and method for specification and implementation of MVC (model-view-controller) based web applications
US20090164493A1 (en) * 2007-12-24 2009-06-25 Johnsgard Todd J Apparatus and methods for editing content on a wireless device
US20090235161A1 (en) 2008-03-15 2009-09-17 Microsoft Corporation Lossless Web-Based Editor For Complex Documents
JP2011150424A (ja) * 2010-01-19 2011-08-04 Nec Corp 文書作成支援システム、文書作成支援方法及びプログラム
US20120101721A1 (en) * 2010-10-21 2012-04-26 Telenav, Inc. Navigation system with xpath repetition based field alignment mechanism and method of operation thereof
US9400770B2 (en) * 2010-12-28 2016-07-26 Elwha Llc Multi-view graphical user interface for editing a base document with highlighting feature
US10409892B2 (en) 2011-01-26 2019-09-10 Microsoft Technology Licensing, Llc Formatting data by example
US9342493B2 (en) 2012-02-07 2016-05-17 International Business Machines Corporation Transient, real-time position tracking interface for user activity in a document editing application
WO2014010068A1 (ja) * 2012-07-12 2014-01-16 富士通株式会社 プログラム、文書変換装置および文書変換方法
US10229101B2 (en) 2013-06-14 2019-03-12 Microsoft Technology Licensing, Llc Smart fill
CN104516919B (zh) * 2013-09-30 2018-01-30 北大方正集团有限公司 一种引用注释处理方法和***
US10824799B2 (en) 2014-06-30 2020-11-03 Microsoft Technology Licensing, Llc Summary data autofill
US10275458B2 (en) * 2014-08-14 2019-04-30 International Business Machines Corporation Systematic tuning of text analytic annotators with specialized information
US9292876B1 (en) 2014-12-16 2016-03-22 Docusign, Inc. Systems and methods for employing document snapshots in transaction rooms for digital transactions
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US10606621B2 (en) * 2018-05-08 2020-03-31 International Business Machines Corporation Assisting users to execute content copied from electronic document in user's computing environment
CN111563065B (zh) * 2020-07-09 2020-12-11 北京联想协同科技有限公司 一种文档保存方法、装置及计算机可读存储介质
US11424936B2 (en) 2020-10-30 2022-08-23 Docusign, Inc. Post-completion action management in online document system
US11314927B1 (en) * 2021-03-31 2022-04-26 Docusign, Inc. Management of tracked changes objects for cloud document editing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006242A (en) * 1996-04-05 1999-12-21 Bankers Systems, Inc. Apparatus and method for dynamically creating a document
JPH10307816A (ja) * 1997-05-08 1998-11-17 Just Syst Corp 構造化文書処理装置、構造化文書処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
CA2242158C (en) * 1997-07-01 2004-06-01 Hitachi, Ltd. Method and apparatus for searching and displaying structured document
US6279015B1 (en) * 1997-12-23 2001-08-21 Ricoh Company, Ltd. Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
IE980959A1 (en) * 1998-03-31 1999-10-20 Datapage Ireland Ltd Document Production
US8006177B1 (en) * 1998-10-16 2011-08-23 Open Invention Network, Llc Documents for commerce in trading partner networks and interface definitions based on the documents
US6635088B1 (en) * 1998-11-20 2003-10-21 International Business Machines Corporation Structured document and document type definition compression
US6292932B1 (en) * 1999-05-28 2001-09-18 Unisys Corp. System and method for converting from one modeling language to another
US6446256B1 (en) * 1999-06-30 2002-09-03 Microsoft Corporation Extension of parsable structures
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US20010014899A1 (en) * 2000-02-04 2001-08-16 Yasuyuki Fujikawa Structural documentation system

Also Published As

Publication number Publication date
US20010018696A1 (en) 2001-08-30
JP2001243222A (ja) 2001-09-07
US6950984B2 (en) 2005-09-27

Similar Documents

Publication Publication Date Title
JP4091726B2 (ja) 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体
US7143344B2 (en) Transformation stylesheet editor
US5341469A (en) Structured text system
US7430711B2 (en) Systems and methods for editing XML documents
US20020059345A1 (en) Method for generating transform rules for web-based markup languages
US20080263101A1 (en) Data Processing Device and Data Processing Method
EP1821185A1 (en) Data processing device and data processing method
US20030037076A1 (en) Method, computer program and system for style sheet generation
EP1818835A1 (en) Document processing device, and document processing method
US20080040588A1 (en) Data Processing Device and Data Processing Method
US20080134019A1 (en) Processing Data And Documents That Use A Markup Language
EP1821176A1 (en) Data processing device and data processing method
EP1816586A1 (en) Data processing system, data processing method, and management server
US20080046809A1 (en) Data Processing Device and Data Processing Method
US7805452B2 (en) Data processing device and data processing method
US20090083300A1 (en) Document processing device and document processing method
US20070283246A1 (en) Processing Documents In Multiple Markup Representations
EP1830274A1 (en) Server device and name space issuing method
EP1826682A1 (en) Document managing device and document managing method
EP1821220A1 (en) Data processing device, document processing device, and document processing method
US20080005085A1 (en) Server Device and Search Method
EP1933233A1 (en) Data processing apparatus
JPWO2005098698A1 (ja) 文書処理装置
US20090083620A1 (en) Document processing device and document processing method
US20080147957A1 (en) Archiver Device, Data Acquisition Device, and Data Acquisition Method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050824

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050906

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20051014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051118

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051216

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080130

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080229

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees