JP2006202308A - グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体 - Google Patents

グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体 Download PDF

Info

Publication number
JP2006202308A
JP2006202308A JP2006039671A JP2006039671A JP2006202308A JP 2006202308 A JP2006202308 A JP 2006202308A JP 2006039671 A JP2006039671 A JP 2006039671A JP 2006039671 A JP2006039671 A JP 2006039671A JP 2006202308 A JP2006202308 A JP 2006202308A
Authority
JP
Japan
Prior art keywords
structure description
list
displaying
conversion
user interface
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
JP2006039671A
Other languages
English (en)
Inventor
Anurag Bhatnagar
バラガ アヌラガ
Avery Fong
フォング アベリ
Tetsuro Motoyama
モトヤマ テツロウ
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/997,482 external-priority patent/US6085196A/en
Priority claimed from US08/997,705 external-priority patent/US6279015B1/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2006202308A publication Critical patent/JP2006202308A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Landscapes

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

Abstract

【課題】構造化情報を別の構造化情報へマッピングする、そのマッピングをユーザが対話により定義可能なグラフィカルユーザインターフェースオブジェクト指向のシステムを実現する。
【解決手段】グラフィカルユーザインターフェースモジュール180は、ユーザとシステム間の対話を処理する。パーサ182は入力文書を解析し、システムの他モジュールへ渡すためのコンポーネント・パーツに分解する。トランスフォーマ186は、情報及びデータが必要になった時に、その転送をマップモジュール184、パーサ182及びサービスモジュール188に要求しながら、SGMLからHTMLへのマッピング及び変換の処理を制御する。
【選択図】図8

Description

本発明は、オブジェクト指向フレームワークにより構造化情報を別の構造化情報へマッピングするためのユーザインターフェース技術に関する。本発明は特に、あるマークアップ言語フォーマット、データベース情報フォーマット、ISO/IEC9070ネーミングフォーマット、UNIXファイル名フォーマット、又はDOSファイル名フォーマットでエンコードされた文書を処理し、その文書を、オブジェクト指向フレームワークにより、別のマークアップ言語フォーマット、データベース情報フォーマット、ISO/IEC9070ネーミングフォーマット、UNIXファイル名フォーマット、又はDOSファィル名フォーマットへ変換するためのユーザインターフェース技術に関する。より詳細には、本発明は、オブジェクト指向フレームワークにより変換のためのマッピングをユーザが対話的に定めるためのユーザインターフェースを提供する方法及び装置に関する。
標準一般化マークアップ言語(SGML)は、コンテントと索引情報及びリンクされた情報を含む、プラットフォーム非依存かつアプリケーション非依存の文書を提供するための手段として、国際標準化機構(ISO)により採用された情報管理規格(ISO 8879:1986)である。SGMLは、ユーザが文書の構造を定義するための文法の如き機構と、個々の文書内部の構造を指示するタグを提供する。SGMLに関する詳細な解説は、Goldfarb,C.F.,The SGML Handbook,Oxford University Press,Oxford,1990、及び、McGrath,S.,Parseme.1st:SGML for Software Developers,Prentice Hall PTR,New Jersey,1998に記載されており、これら文献をここに援用する。
ハイパーテキスト・マークアップ言語(HTML)はSGMLの一つのアプリケーションであり、タグを用いて文書中のテキストやグラフィックなどの要素を区切ることにより、ウェブ・ブラウザに、それら要素の表示方法を指示し、また、キーの押下やマウスのクリックによってリンクを起動させるようなユーザの操作に対する応答方法を指示する。HTMLはワールドワイドウェブ上の文書に使われている。インターネット・エンジニアリング・タスクフォース(IETF)によって定められたHTML
2.0は、1955年時点の全てのウェブ・ブラウザに共通したHTMLの機能を含んでいて、これが最初にワールドワイドウェブに広く利用されたHTMLのバージョンであった。今後のHTMLの開発は、ワールドワイドウェブ・コンソーシアム(W3C)によって進められることになっている。HTML3.2は最近提案された規格であるが、1996年初めに広く実現された機能を取り入れている。SGML及びHTMLの機能については、Bardley,N.,The Concise <SGML> Companion,Addison Wesley Longman,New York,1997に解説されており、ここに本文献を援用する。
オブジェクト指向プログラミング(OOP)はプログラミングの一方法論であり、プログラムは独立したオブジェクトの集合とみなされ、これらオブジェクトはデータ構造及び他のオブジェクトとやりとりするルーチンの自己完備型集合である。C++などの多くの高水準言語はクラスを宣言できる。クラスは、一般的に、プログラム実行時にコンストラクタ関数により生成又は例示化され、必要でなくなった時にデストラクタ関数により破棄されるオブジェクト又はオブジェクトのインスタンスのテンプレートもしくは詳細記述である。あるクラスの対話式参照は、コンストラクタ呼び出しの結果として、現に存在するオブジェクトを全て組み込む。クラスは、データ項目、構造体、メソッドからなる。データ項目は、従来のプログラミング技術における変数に対応する。構造体は、関連したデータ項目と他の構造体の集合に固有の名前をつけたものである。メソッドは、従来のプログラミング技術における関数とサブルーチンに対応する。
オブジェクト指向フレームワークは、アプリケーション構築を支援する再利用可能な基本設計構造であり、抽象クラスと具象クラスからなる。
特定のオブジェクト、データ項目及びメソッドをアクセスするために用いられるポインタは、コンピュータメモリの絶対アドレスのシステム対応値が入っているデータ項目である。ヌル・ポインタ又はゼロ・ポインタは、特定のポインタがヌル(空)項目又は存在しない項目を現在指していることを意味する、あるシステム値例えば0を割り当てられたポインタ変数又はリテラルである。参照と参照変数は、一般に、コンピュータメモリの絶対アドレスのシステム対応値が入っているデータ項目である。
文字列変数又は文字列リテラルは、特定アプリケーションの文字セットの文字列からなるデータ構造である。ヌル文字列、ゼロ文字列もしくは空文字列は、文字を全く含まない文字列のことである。
オブジェクト指向プログラミングの三つの主要な特徴は、継承と、カプセル化と、多態性である。継承によって、プログラマは様々なオブジェクトに適した特徴を持った総称的クラスを設定することができる。例えば、プログラマが、複数の直線を各頂点でペア接続してなる閉凸形のような特定の特徴を持つ「多角形」クラスを作れば、三角形、四辺形、五角形、六角形などの、「多角形」クラスのサブクラスを作ることができる。これらは全て、親の「多角形」クラスの共通特徴を持つが、生成されるオブジェクトに許容される辺の個数に関する制限が追加されている。また例えば、矩形や菱形などの、「四辺形」クラスのサブクラスを作成することもできる。「正方形」クラスは、「矩形」クラスの特徴を全て継承し、さらに全ての辺が等長とされる。「多角形」クラスのサブクラスにおいてのみ実際のオブジェクトが例示化されるという点で、「多角形」クラスは抽象クラスと考えられる。しかし、「多角形」クラスは、継承すべき非抽象的すなわち具象的なサブクラスの全てに固有の特定の性質を確定する。
カプセル化と多態性について言及したが、これらはオブジェクト指向システム関連の特許において周知である。Coad,P.and Yourdon,E.,Object-Oriented Analysis,Second Edition,Prentice-Hall,Inc.,New Jersey,1991、及び、Booch,G.,Object-Oriented Analysis and Design with Application,Second Edition,Addison Wesley Longman,Carifornia,1997に、OOPが分かりやすく述べられている。これら文献をここに援用する。
グラフィカルユーザインターフェース(GUI)は、プログラム、ファイル、選択項目を、アイコン、メニュー、ダイアログボックスによって画面表示する環境である。アイコンは、画面表示装置又は他の出力装置で表示された画像で、ユーザが操作できるものである。アイコンは、利用可能な機能の視覚的な絵による説明として働き、コマンドを覚えたりキーボードで入力したりするといった面倒からユーザを解放することにより、ユーザフレンドリなインターフェースを提供する。メニューは、ユーザが希望する動作を行うために選択できる選択項目のリストである。ダイアログボックスは、ユーザの応答を求めるために画面表示装置その他の出力装置に表示される特殊なウィンドウ又は領域である。GUIでは、ユーザはマウスで指示してクリックしたりキーボードのキーを押したりして選択項目を選択し作動させることができる。以上の説明は、Compurer Dictionary,Third Edition,Microsoft Press.Washington,1997に記載の定義によるものである。
ISOと国際電気標準会議(IEC)は、世界標準化専用体系を定めている。ISO/IEC 9070:1991(E)は、ISO 8879準拠の公開文書の所有者に対し固有の所有者プレフィクスを割り当てる場合に適用される国際規格である。この規格は、割り当てを行う手続きと登録所有者プレフィクスの作成方法を規定している。規格団体、その他機関による所有者プレフィクスの自己割り当ての手続きも指定されている。ISO/IEC 9070:1991(E)をここに援用する。
UNIXとDOSは、周知のコンピュータ用オペレーティングシステムである。UNIXもDOSも、ルートディレクトリから下位ディレクトリを経由し、ディレクトリでないファイル名に至るパスを含むファイル名フォーマットをサポートしている。
データ・プロセッサによって、マークアップ言語でエンコードされた文書を自動的に別のフォーマットに変換する処理システムが知られている。例えば、Computing Art社のソフトウェアBaliseは、SGMLによりエンコードされた文書を処理してユーザが見るための書式化出力に変換する。しかし、このソフトウェアでは、ユーザはSGMタグの他フォーマットへのマッピングを対話的に定めることができない。
本発明の目的は、ある構造化情報フォーマットでエンコードされた情報を処理し、その情報を他の構造化情報フォーマットでエンコードされた情報へ変換するためのグラフィカルユーザインターフェースを提供し、その変換のためのマッピングをユーザが対話的に定義できるようにする新規な方法及び装置を提供することである。構造化情報フォーマットの例としては、マークアップ言語フォーマット、データベース情報フォーマット、ISO/IEC 9070ネーミングフォーマット、UNIXファィル名フォーマット、DOSファイル名フォーマットがある。
本発明のもう一つの目的は、標準一般化マークアップ言語(SGML)文書のハイパーテキスト・マークアップ言語(HTML)文書への変換を定義するためのグラフィカルユーザインターフェースを提供し、その変換のマッピングをユーザが対話的に定義できるようにする新規な方法と装置を提供することである。
本発明のもう一つの目的は、あるデータベース・フォーマットの情報の別のデータベース・フォーマットの情報への変換を定義するためのグラフィカルユーザインターフェースを提供し、その変換のためのマッピングをユーザが対話的に定義できるようにする新規な方法及び装置提供することである。
本発明のもう一つの目的は、ISO/IEC 9070ネーミングフォーマットからUNIXファイル名フォーマットへの情報変換を定義するためのグラフィカルユーザインターフェースを提供し、その変換のためのマッピングをユーザが対話的に定義できるようにする新規な方法と装置を提供することである。
本発明のもう一つの目的は、ISO/IEC 9070ネーミングフォーマットからDOSファイル名フォーマットへの情報変換を定義するためのグラフィカルユーザインターフェースを提供し、その変換のためのマッピングをユーザが対話的に定義できるようにする新規な方法と装置を提供することである。
課題を解決するための手段について、理解を容易にするため、やや具体的に説明する。
本発明の一実施形態によれば、ある構造化情報フォーマット、例えば、あるマークアップ言語フォーマットやデータベース情報フォーマットでエンコードされた情報を処理して、その情報を他の構造化情報フォーマットへ、例えば、他のマークアップ言語フォーマットやデータベースフォーマットへ変換するためのグラフィカルユーザインターフェースを提供し、その変換のためのマッピングをユーザが対話的に定義できるようにする方法及び装置が提供される。
ここで、変換の代表例は、SGML文書からHTML文書への変換である。本態様は、SGML文書からHTML文書やその他の構造化フォーマット、例えばデータベース情報フォーマットへの変換を、ユーザが定義できるようにするためのツールとして開発された。このユーザ・ツールは、現在、オブジェクト指向プログラミング(OOP)技術を使用しグラフィカルユーザインターフェース(GUI)の形で実現されている。すなわち、分かりにくいSGMLフォーマットで書かれた文書を、文書及び情報が見やすくなり、かつ、その移植性が増大する別の構造化フォーマットへ変換するためのグラフィックツールをユーザに提供するように設計される。このユーザインターフェースは、デフォルトのマッピングの実行又は条件付きマッピングの実行をユーザが選択できるようにする。このユーザインターフェースは、入力SGML文書型定義(DTD)又は現に存在しているマップをユーザが選択できるようにする。このユーザインターフェースは、入力を表示し、ユーザがその入力の個々のソースコンポーネントを選択できるようにする。このユーザインターフェースは、ユーザに対し、各ソース・コンポーネントの変換の選択肢、例えば、あるソースコンポーネントのターゲット・ヌル値へのマッピング、あるソースコンポーネントのそれ自体へのマッピング、あるソースコンポーネントの単一のターゲットコンポーネントへのマッピング、ある単一のソースコンポーネントの複数のターゲットコンポーネントへのマッピングなどを提供する。ユーザが条件付きマッピングを選択した場合、このユーザインターフェースによりユーザにさらに対話入力させることによって、以前に参照された要素に関する履歴のような特殊ケースが調べられ処理される。
また、このユーザインターフェースは、ターゲットコンポーネントに対する属性値割り当ての選択肢をユーザに提供する。その選択肢は例えば、ソースコンポーネントより得られる属性値、システム属性値、無値、このユーザインターフェースによりユーザから対話入力される入力される属性値である。
このユーザインターフェースは、変換の選択肢と、ターゲットコンポーネントに対する属性値割り当ての選択肢を、ユーザに対話的に選択させる。そして、選択された選択肢が処理され、ソースコンポーネントのための変換規則が生成される。対話入力を終了し変換マップを生成させるコマンドをユーザが入力するまで、対話によるユーザ入力を受け取り、これをマップクリエイターにより処理してユーザが希望するコンポーネント・マッピング値を色々に変更する。変換規則はマップクリエイターによって処理され、変換マップが生成される。ユーザにより対話的に指定された既存のマップを利用し、ターゲット出力ファイルへ変換する入力ソースファイルを選択するためのユーザ入力を受け取る。そして、このユーザ入力が処理され、次に、要求された入力ファイルとマップが処理されて、この入力ファイルが要求された出力ファイルフォーマットに変換される。そして、この生成された出力ファイルはユーザの指定先へ送られる。
以上の説明から明らかなように、本発明によれば、あるマークアップ言語フォーマット、データベース情報フォーマット、ISO/IEC 9070ネーミングフォーマット、UNIXファィル名フォーマット、DOSファイル名フォーマットなどの構造化情報フォーマットでエンコードされた情報を、その他のマークアップ言語フォーマット、データベース情報フォーマット、ISO/IEC 9070ネーミングフォーマット、UNIXファィル名フォーマット、DOSファイル名フォーマットなどの構造化情報フォーマットへ変換するためのマッピングをユーザが対話的に定義でき、そのマッピングの対話定義を容易に実行するためのグラフィカルユーザインターフェースを提供する方法及び装置を実現できるという効果を得られる。
以下、図面を参照して、本発明の実施の形態について説明する。なお、複数の図面を通じて同じ参照数字は同一部分又は対応部分を示す。
図1に、標準一般化マークアップ言語(SGML)文書型定義(DTD)の例を示す。図1乃至図4は、SGMLからHTMLへのマッピング及び変換の入力と出力のサンプルを説明するために提示したものである。変換中に遂行される出力生成機能については、図8乃至図11及び図30乃至38のオブジェクト・メッセージ線図に関連して後に詳述する。
図1乃至図4、図48乃至図52は、SGML DTD、SGML文書、マップ、及び、同マップを使用して同SGML文書を変換することにより生成されるHTML文書の例を示す。図6及び図7は、図48のSGML DTDのツリー構造の例と、図49のマップを使用して同SGML DTDを変換して得られるHTML構造を示す。図1乃至図4、図48乃至図52、図6及び図7は、SGML DTDからHTML DTDへのマッピングを例示するものである。DTDからDTDへのマッピングの問題は、それらDTDに基づいたSGMLインスタンスからHTMLインスタンスへのデフォルトのマッピングである。SGMLタグは0個又はそれ以上のHTMLタグにマッピングされるが、このマッピングの際にHTML属性のソースを指定する必要がある。この問題のより簡潔な数学的表現を以下に示す。
SSがSGML DTDによって生成される空間であると仮定し、SS={Si|i=0,...,m}、Si=<タグ名i,属性集合i>、属性集合i={タグ名iの属性j|j=0,...,ni}+Φ とする。同様に、HHがW3C(ワールドワイドウェブ・コンソーシアム)指定のHTML DTDにより生成される空間であると仮定する。すなわち、HH={Hi|i=0,...,k}、ただし、Hiは上記Siに対応する。さらに、HGがHHにより生成される、HHの番号付き要素の集合からなる空間であると仮定する。すなわち、HG={nulll,<H0>,<H1>,...,<H0,H1>,<H0,H2>,...,<H1,H0>,...}。マッピングすべきリーガルなHTMLタグのシーケンスは、HG中に出現するであろう。この場合、SGMLタグからHTMLタグへのマッピングは、関数F:SS→HG+{割り当て無し}と等価である。ここで、{ }は集合を意味し、<...>は順序集合を意味し、+は和集合を意味する。
HGGがSS,F(SS),HHから生成される集合であると仮定する。このHGGは、三つ組又はヌル(空)の順序集合からなっている。三つ組は、Si,F(Si)及び<HTMLタグ名,属性>からなる。ここで、HTMLタグ名はF(Si)中のHjの一つに属する。H0が属性1を持ち、H6が属性0を持ち、S0とS1がそれぞれくH0>と<H3,H6>にマッピングされると仮定する。そうすると、HGG={null,<S0,<H0>,<H0タグ名,属性0>>,<S0,<H0>,<H0タグ名,属性1>>,...,<S1,<H3,H6>,<S1,<H3,H6>,<H6タグ名,属性0>>,...}である。また、Satrが、HTML属性値のソースであると仮定する。そうすると、Satr=AS+AC+{ユーザ入力}+Nullである。ただし、ASはタグ名と一つの属性名の順序対の集合であり、ACは文字データのコンテントを持つタグ名の集合である。この場合、属性ソースの識別はHGGからSatrへのマッピング関数Gであり、G:HGG→Satrと表される。
Goldfarb,C.F.,The SGML Handbook,Oxford University Press,Oxford,1990、及び、McGrath,S.,Parseme.1st:SGML for Software Developers,Prentice Hall PTR,New Jersey,1998に、SGMLが詳細に解説されている。これら文献をここに援用する。
図1に例示したSGML DTDとともに図3に例示したSGML文書と、図2に例示したマッピングが、図4のHTML文書を生成するための変換プロセスに用いられる。図1のSGML DTDと図3のSGML文書が一緒に解析されて、図3のSGML文書の構造コンポーネントが作られる。そして、これらのコンポーネントを図2のマップとともに利用し、図3のSGML文書を図4のHTML文書へ変換する。この解析と変換の詳細については、図8乃至11と図30図38に関連して後述する。
図1において、行22はSGML DTDファイルの名前を含んでいるコメント行である。行24は一つの要素の宣言であり、要素t1,t2,t3,t4からなるモデルグループを含んでいる。行24の「?」は、要素がオプションであることを示す。行24の「*」は、モデルグループが有効な要素tに何回出現してもよく、また存在しなくてもよいことを示している。その例として、図3のSGML文書では、行64−70に、有効な要素tである要素t1,t2,t3,t4がまとまって含まれている。
図1の行26はCDATAというコンテント型を持つ要素t1の宣言である。このCDATA型は、その要素が一般文字からなる値をとり得ることを意味する。その例として、図3のSGML文書では、一般文字のストリング「1.Hi Larry」をコンテントとして持つ要素t1が行64に含まれている。通常、要素のコンテントは、その前にある開始タグと、その後にある終了タグとによって区切られる。開始タグは、一般に、「<」で始まり、要素名と、属性情報などのオプションの要素情報が続き、「>」で終わる文字列からなる。また終了タグは「</」で始まり、要素名が続き、「>」終わる文字列からなる。SGMLでは、区切り文字の「<」と「>」は、定義すれば別の文字で置き換えることができる。
図1の行28は、要素t1の属性リストの宣言である。属性とは、要素の一つの特性であり、要素のインスタンスの違い応じて様々な値をとる。例えば、「人」という要素は、一般に、「名前」、「年齢」、「髪色」という属性からなる属性リストを持つ。ある1番目の人は名前=「Joe Smith」、年齢=「27」、髪色=「褐色」という属性を持ち、また、2番目の人は名前=「Sally Jones」、年齢=「45」、髪色=「赤」という属性を持つ。2番目の人が希望するならば、その髪色属性を、別の値を割り当てることによって容易に髪色=「ブロンド」へ変更できる。図1の例では、行28の属性リストにCDATA型の「name」という属性が含まれている。「#REQUIRED」という文字列は、その属性の指定が必須であることを示す属性値である。その例として、図3のSGML文書における行64の要素t1は「hilarry」という一般文字のコンテント値が割り当てられている。
図1の行30はCDATA型の要素t2の宣言である。行32はCDATA型の要素t3の宣言である。行34はCDATA型の要素t4の宣言である。
図2のSGMLからHTMLへのマッピングにおいて、行42は、行24の要素tを、HTMLタグとテキストのストリング「<html><title>Title</title>」へマッピングする規則を示している。行44は、行26の要素t1を、HTMLタグのストリング「<H3><A NAME="the source is t1's name">」へマッピングする規則を示している。行44の二重引用符で囲まれた文は規則であって、属性値ではない。行46は、行30の要素t2をHTMLタグ「<P>」へマッピングする規則を示している。行48は、行32の要素t3をHTMLタグ「<P>」へマッピングする規則を示している。行50は、行34の要素t4をHTMLタグのストリング「<P><A HREF="#the source is t1's name">へマッピングする規則を示している。行50の二重引用符で囲まれた文は規則であって属性値ではない。
図3のSGML文書の例を参照する。行60は、SGML文書の文書型が「t」であり、そのDTDがシステムファイル"sample.dtd"内にあることを示している。行62は文書開始タグ「<t>」を含んでいるが、これは行62の後続行が行24の要素tについて図1のDTDに定義されたフォーマットに従うものと仮定されていることを示す。行64,66,68,70は、図3のSGML文書の例について定義された、行24に示された要素tの構成パーツの例である。行72には文書終了タグ「</t>」があり、文書の終わりを表明している。
図4のHTML文書は、図1のSGML DTDファイルと、図2のマッピングと、図3のSGML文書を使用した変換処理の出力である。図4の行82,84,86,88,90,92,94は図1乃至図3の各図に含まれている情報から生成されるものである。
ここで、図4に示した出力文書を生成するための、図1乃至図3に例示した入力ファイルの処理について説明する。まず、図3のSGML文書の行60が解析されることにより、入力SGML文書の文書型と、SGML
DTDが格納されているシステムファイルの名前を確認する。その結果、トランスフォーマが、図4の行80に示されたDOCKTYPE HTMLタグを出力し、また、当該SGML文書のDTDをアクセスするため参照システムファイルを開く。そのDTDが当該SGML文書に符合するか確認するためのチェツクが行われる。次に、行62のSGMLタグが解析され、現在のSGMLタグが「<t>」になる。図2のマップが参照されることにより、現在のSGMLタグが当該SGML文書の開始タグであることが確認され、HTMLタグのストリング「<html><title>Title</title>」にマッピングされる。HTMLタグ「<html>」が現在のSGMLタグ「<t>」のために保存され、そして図4の行82に出力される。HTMLタグのサブストリング「<title>Title</title>」が図4の行84
に出力される。
次に、図3の行64のストリング中の最初のSGMLタグが取得される。現在のSGMLタグは「<t1>」になる。トランスフォーマは、現在のSGMLタグに対する現在の属性名と属性値を取得する。すなわち、「name」という名前で「hilarry」という値を持つ属性を取得する。図1のDTDが調べられ、そのSGMLタグが図1の行26に定義されたSGML要素に対応し、それに対応した属性リストが図1の行28に設定されていることが確認される。図2のマップの解析により、現在のSGMLタグの規則が行44であると判断される。そして、「<H3><A
Name=>の後にSGML要素t1としてのname属性の現在の値(ここでは「hilarry」)を付けた、マッピング後のHTMLストリングが出力される。次に、タグを終わらせるため「>」が出力される。HTMLタグの「<H3>」と「<A>」が現在のSGMLタグのために保存される。次に、パーサは、図4の行86に出力されるテキストを認識する。そして、パーサはSGMLの終了タグ「</t1>」を認識し、この時点で、「<t1>」のために現在保存されている全てのHTMLタグに対する終了タグが、保存順と逆順に図4のHTML文書の行86に出力される。
次に、パーサは、図3の行66からSGMLタグ「<t2>」を認識する。トランスフォーマは、図2のマッピング規則行46を利用して、図4の行88に示されているHTMLタグ「<P>」を出力し、このHTMLタグを現在のSGMLタグ「<t2>」のために保存する。次に、パーサは、図4の行88に示されているようにHTMLファイルに出力されるテキストを認識する。次にパーサは、SGML終了タグ「</t2>」をそのテキストを終了させるものと認識し、この時点で、「<t2>」のために現在保存されているHTMLタグに対する終了タグ「</P>」が図4のHTML文書の行88に出力される。
次に、パーサは図3の行68からSGMLタグ「<t3>」を認識する。トランスフォーマは、図2の行48のマッピング規則を利用して、図4の行90に示されているHTMLタグ「<P>」を出力し、そのタグを現在のSGMLタグ「<t3>」のために保存する。次にパーサは、図4の行90に示されているようにHTMLファイルに出力されるテキストを認識する。次にパーサは、SGML終了タグ「</t3>」をテキストを終了させるものと認識し、その時点で、SGMLタグ「<t3>」のために現在保存されているHTMLタグに対する終了タグ「</P>」が、図4のHTML文書の行90に出力される。
次に、図3の行70のストリング中の最初のSGMLタグが取得される。したがって、現在のSGMLタグは「<t4>」となる。トランスフォーマは、SGMLタグに対する現在の属性名と属性値を取得する。すなわち、「name」という名前で「hilarry」という値を持つ属性を取得する。図2のマップの解析により、現在のSGMLタグの規則が行50であると判断される。そして、「<P><A
HREF=”#」の後にname属性の現在の値(ここでは「hilarry」)を付けた、マッピング後のHTMLストリングが図4のHTML文書の行92に出力される。次に、タグを終わらせるため「>」が出力される。HTMLタグの「<P>」と「<A>」が現在のSGMLタグのために保存される。次に、パーサは、図4の行92に出力されるテキストを認識する。そして、パーサはテキストを終了させるSGML終了タグ「</t4>」を認識し、この時点で、「<t4>」のために現在保存されている全てのHTMLタグに対する終了タグが保存順と逆の順番で図4のHTML文書の行92に出力される。
次に、パーサは、図3の行72のタグ「</t>」を認識することによりSGML文書の終わりだと判断する。このタグは、SGMLタグ「<t>」に対する終了タグであると解釈される。そして、SGMLタグ「<t>」のために保存されているHTMLタグが取得され、「<t>」のために保存された唯一のタグであるHTMLタグ「<html>」に対する終了タグが、図4の行94に示すようにHTML文書に出力される。これで現在の文書処理が終結する。
図5は図4のHTML出力文書を開くことにより得られる出力100を示すが、これはコンピュータ画面上のウェブブラウザの「見えているものがそのままそっくり得られる」(WYSIWYG)出力の例である。このような出力は、一般に、インターネットのワールドワイドウェブのユーザに好まれる形式である。ユーザは、ウェブブラウザ・プログラムを利用して、インターネット上のサーバにHTMLファイルやその他の形式のファイルを要求する。ブラウザは、要求されたHTMLファイルをダウンロードし、そのファイルを開いてユーザのコンピュータ画面に書式を整えたテキストと画像を表示させる。ブラウザは、ファイルをダウンロードすることができるだけでなく、ブラウザが動作しているコンピュータの内部又は同コンピュータに接続されたローカルエリアネットワークに格納されているHTMLファイルを表示可能である。
図5において、「Title」行は、ブラウザが図4の行84を利用して生成させる。ブラウザによって、一般的にコンピュータ画面の上部にあるタイトルバーに表示されるタイトルのテキストを区切るための開始タグ「<title>」と終了タグ「</title>」が、行84に含まれている。図4の行86にある「<H3>」は、ウェブブラウザに、タグ以外のテキストを通常のテキスト出力よりも大きく太い形で表示するよう指示する。HTML開始タグ「<H3>」の後ろにある唯一のテキストは「1.Hi Larry」であり、これはHTML終了タグ「</H3>」の前にある唯一のテキストであるから、このテキストはコンピュータ画面上に周囲のテキストに比べ大きく肉太に表示される。行88に含まれる開始タグ「<P>」は、ウェブブラウザに、この開始タグと対応した終了タグによって区切られたタグ以外のテキストを新しい段落に表示するように指示する。新しい段落は、改行してから出力を始める。行88にある終了タグ「</P>」は、それが現在の段落の終わりであることと、当該タグの後のタグ以外のテキストを改行してから表示させることをウェブブラウザに指示する。
図4の行86にある「<A name=」を含むタグはアンカータグである。アンカータグは、テキスト中に位置マーカを設定し、マウスでクリックすることでその位置マーカを含むテキストへジャンプさせることできる強調表示のテキストを設定するために用いられる。このタグの場合、次の「>」から終了タグ「</A>」が出現するまでの間のタグ以外のテキストによって、ブラウザに対する位置マーカが設定される。行92に「A HREF=」を含む別種のアンカータグがある。行92中のアンカータグの「>」と対応した終了タグ「</A>」の間にあるテキストは、図5の画面上では下線付きテキスト「(Back to the Hi Larry greetin.)」として表示される。このテキストは、通常、画面上の周囲のテキストとは異なった色で表示される。この下線付きテキスト上でマウスをクリックすると、行86の参照アンカータグによって指定されたテキストが、その近傍のテキストに囲まれた状態でユーザに見えるように引き寄せられる。
図6と図7は、階層的なSGML文書の構造から、それよりも「扁平な」HTML文書のツリー構造への変換を説明するものである。図6は階層的なSGML文書のツリー構造を示している。一方、図7は、図6に線図として表現したSGML文書に対応したHTML文書の「より扁平な」ツリー構造を示している。
図6と図7のツリーは、図48乃至図52に示した文書から導き出されたものである。図48は、SGML DTDの例を示す。図6のツリー構造は図48のSGML DTDから導き出される。図6のツリーはルートノード「test」114があり、これは子ノード「front」112と「section」114を持っている。ノード「front」112は子ノード「title」116、「author」118、「keywords」120を持っている。ノード「section」114は子ノード「number」122、「title」124、「para」126、「subsec 1」128を有する。ノード「author」118は、子ノード「fname」130、「surname」132、「title」134を持っている。ノード「subsec 1」は子ノード「number」136、「title」138、「para」140、「subsec 2」142を持つ。ノード「sucsec 2」142は子ノード{number}144、「title」146、「para」148を持つ。図48のSGML DTDに対応した図6のツリー構造は、5つの階層と20個のノードを有する。
図7のツリー構造は、図48のSGML DTDと図49に例示したマッピングを使用して得られる、一般化されたHTML文書に対応するものである。図50及び図51はSGML文書の例であり、これを図49のマッピングによって処理することにより図52に例示したHTML文書が得られる。図7のツリー構造のルートノード「html」は2つの子ノード「head」152、「body」154を持つ。ノード「head」152は子ノード「title」156を持つ。ノード「body」154は子ノード「h3」158、「p」160を持つ。ノード「p」160には子ノード「strong」162がある。図6のツリー構造が5階層、20ノードであるのに対し、結果として得られるHTML文書に対応したツリー構造は4階層、7ノードしか持たない。
図8は、SGMLからHTMLへのマッピング及び変換のための主要モジュールの全体像を示している。マップ(Map)モジュール184は、パーサ(Parser)182及びGUIモジュール180と相互に作用しあってSGML文書からHTML文書へのマッピングを実際に行う。トランスフォーマ(Transformer)186は、マップモジュール184、パーサ182及びGUIモジュール180と相互に作用しあって、そのSGML文書をHTML文書へ変換する。サービス(Service)モジュール188は、ファイル操作などのユーティリティ処理のために全モジュールが利用可能なユーティリティ・オブジェクトから構成されている。GUIモジュール180は、ユーザとシステム間の対話を処理する。パーサ182は、入力文書を解析し、システムの他モジュールへ渡すための認識可能なコンポーネント・パーツに入力文書を分解する。例えば、図3のSGML文書を処理する際に、パーサ182は、DTDを認識して入力SGML文書を解析し、文書処理のためのシステムの他モジュールへ渡すことが可能な記号テーブルを生成する。パーサ182は、図3の行60を「DOCTYPE」タグであると認識し、図1に示されたシステムファイル「sample.dtd」によって指定されたDTDを処理して記号テーブルを生成する。次に、パーサ182は、図3の行62のコンテントを要素tの開始タグと認識し、そのタグとそれ以外のタグ情報をトランスフォーマ186へ転送することになろう。トランスフォーマ186は、情報及びデータが必要になった時に、その転送をマップモジュール184、パーサ182及びサービスモジュール188に要求しながら、SGMLからHTMLへのマッピング及び変換の処理を制御する。
図9はSGMLからHTMLへのマッピング及び変換の過程におけるデータの流れを表すデータフロー図である。SGML応用DTD200とHTML3.2DTD204がSGMLパーサ202に入力される。このSGMLパーサ202は、図8のパーサ182に相当する。SGMLパーサ202からSGML応用記号テーブル222とHTML3.2記号テーブル206が出力され、これらは対話ユーザ210の入力とともにマップエディタ208の入力として利用される。マップエディタ208は図8のGUIモジュール180に内蔵されている。マップエディタ208はマップ212を出力する。SGML応用記号テーブル222及びSGML応用文書インスタンス218が一緒にSGMLパーサ202に入力され、SGMLパーサ202より出力が出されるが、この出力はマップ212とともにトランスフォーマ186の入力として用いられる。トランスフォーマ186は図8のトランスフォーマ186に相当する。そして、トランスフォーマ186はHTML文書インスタンス216を出力する。SGML応用DTD200とSGML応用文書インスタンス218は図1と図3にそれぞれ例示されている。HTML文書インスタンス216は図4に例示されている。マップ212は図2に例示されている。
図10は、ある構造化フォーマットの情報の別の構造化フォーマットの情報への一般化したマッピング及び変換の過程においてデータが流れる経路を例示する、より一般化したデータフロー図である。システムA構造記述230が、システムB構造記述232及び対話ユーザ210の入力とともにマップエディタ208に入力され、マップ212が出力される。そして、トランスフォーマ186で、このマップ212とシステムAインスタンス238を利用してシステムBインスタンス244を出力する。
図11は、SGMLからHTMLへのマッピング及び変換の過程においてデータが流れる経路を例示する、より一般化したデータフロー図である。SGML DTD200がSGML文書218及びHTML DTD260とともにマップエディタ208に入力され、マップエディタ208がマップ212を出力する。そして、トランスフォーマ186がマップ212とSGML文書218を利用してHTML文書216を出力する。HTML文書216は図9のHTML文書インスタンス216に相当する。そして、HTML文書216はブラウザ262に入力され、ユーザに見えるようになる。
SGML DTD200がSGMLエディタ256に入力されることにより、SGML文書218への出力が得られる。データベース設計250がSGML DTD200及びSGML文書218とともにマップエディタ208に入力されることにより、マップ212及びデータベース254への出力が得られる。マップ212及びSGML文書218がトランスフォーマ186に入力され、トランスフォーマ186より出される出力は、マップエディタ208の出力とともにデータベース254へ入力される。マップ212は図9のマップ212に相当する。SGML文書218は図9のSGML応用文書インスタンス218に相当する。SGML
DTD200は図9のSGML応用DTD200に相当する。トランスフォーマ186は図9のトランスフォーマ186に相当する。マップエディタ208は図9のマップエディタ208に相当する。矢線は、様々なユーザ要求に対する文書及びデータファイルの様々な経路を示している。
図12は、ファイルに格納可能なDTPマップクラス・オブジェクトの階層図を示す。本発明はオブジェクト指向技術によって実現された。しかし、本発明を実現するために、どのようなプログラミング技術及び/又はハードウェアを利用してもよい。以下の説明では、クラスはオブジェクトの構造と振る舞いを記述したものであり、これに対し、オブジェクトはクラスによって記述された項目のインスタンスである。オブジェクトは、一般に、オブジェクト及びメッセージの受け渡しによって相互に通信する。構造に関しては、オブジェクトは、変数やメソッドばかりでなく他のオブジェクトや構造体もコンポーネントとして含む。
図12の水平行を左から右へ向かって説明すれば、開始デリミタと終了デリミタとによってファイル内の各オブジェクトを区切る。リスト開始デリミタとリスト終了デリミタとで左から右へリストを区切る。DTDマップ・オブジェクトが存在する場合には、1つ以上のSGMLタグ・オブジェクトが、SGMLタグリスト開始デリミタ(SGML Tag List Begin)363とSGMLタグリスト終了デリミタ(SGML Tag List End)365の間に置かれる。
ファイルはヘッダ(Header)360で始まり、その後にDTDマップ(DTD Map Begin)361が続く。DTDマップ361には、まずDTDマップ開始デリミタ(DTD Map Begin)362があり、その次にSGMLタグリスト開始デリミタ(SGML Tag List Begin)363が続き、その次に1つ以上のSGMLタグ(SGML Tag)364_1〜364_nが続く。この連続した1つ以上のSGMLタグ(SGML Tag)の後にSGMLタグリスト終了デリミタ(SGML Tag List End)365が続き、その後にDTDマップ終了デリミタ(DTD Map End)366がある。各SGMLタグ364_1〜364_nは、SGMLタグ開始デリミタ(SGML Tag Begin)367と、SGMLタグ名(SGML Tag Name)368と、それに続くSGMLタグ空状態(SGML Tag Empty State)369と、それに続くSGMLタグ割り当て型(SGML Tag Assignment Type)370と、それに続くHTMLタグリスト(HTML
Tag List)371と、それに続くSGMLタグ終了デリミタ(SGML Tag End)372とからなる。
各HTMLタグリスト371は、先頭に置かれたHTMLタグリスト開始デリミタ(HTML Tag List Begin)373と最後に置かれたHTMLタグリスト終了デリミタ(HTML TagList End)375によって区切られ、HTMLタグリスト開始デリミタ373に続く1個以上のHTMLタグ(HTML Tag)374_1〜374_mを含む。
各HTMLタグ374_1〜374_mは、先頭にあるHTMLタグ開始デリミタ(HTML Tag Begin)376と最後にあるHTMLタグ終了デリミタ(HTML Tag End)380によって区切られる。HTMLタグ開始デリミタ376の後にHTMLタグ名(HTML Tag Name)377があり、その次にHTMLタグ空状態(HTML Tag Empty State)378があり、さらにHTML属性リスト(HTML Attribute List)379が続き、その後にHTMLタグ終了デリミタ(HTML Tag End)380が来る。
各HTML属性リスト379は、先頭のHTML属性リスト開始デリミタ(HTML Attribute List Begin)381と末尾のHTML属性リスト終了デリミタ(HTML Attribute List End)381とによって区切られる。HTML属性リスト開始デリミタ381の次に1つ以上のHTML属性(HTML Attribute)382_1〜382_pが続き、次にHTML属性リスト終了デリミタ(HTML Attribute List End)383が来る。
各HTML属性382_1〜382_pは、先頭のHTML属性開始デリミタ(HTML Attribute Begin)384と末尾のHTML属性終了デリミタ(HTML Attribute End)389とによって区切られる。HTML属性開始デリミタ384の後にHTML属性名385が続き、これにHTML属性ソース型(HTML Attribute Source Type)386が続き、その後にHTML属性ソース1(HTML Attribute Source 1) 387が続き、HTML属性ソース2(HTML Attribute Source 2)388があるならば、その後に続く。HTML属性終了デリミタ389は、このコンテントのリストを終了させる。
図13は、DTDマップ・オブジェクトに関する主要クラス群424間の依存関係を表している。以下の図面においては、矢線はクラス間の依存関係を表しており、矢線が指したオブジェクトは、その矢線が出たオブジェクトに包含されることを意味する。「Map」(マップ)オブジェクト400は「DTDMap」(DTDマップ)オブジェクト402へのポインタを有する。ポインタとは、コンピュータのメモリ内のある項目の絶対アドレスを表す値である。特定のオブジェクトを実行するための格納情報を、少なくともそのオブジェクト内のポインタ名とフィールド又は関数名を参照することによってアクセスするために、オブジェクトへのポインタが利用される。
図12と図13の両方を参照する。図12のDTDマップ361に相当する図13の「DTDMap」(DTDマップ)402には、ポインタを介して、図12のSGMLタグ364_1〜364_nに相当する「SGMLTagList」(SGMLタグリスト)404が包含される。図13の「SGMLTagList」404には、ポインタを介して、図12のSGMLタグ364_1〜364_nのそれぞれに相当する「SGMLTag」(SGMLタグ)クラス406が包含される。図13の「SGMLTag」クラス406には、ポインタを介して、図12のHTMLタグリスト371に相当する「HTMLTagList」(HTMLタグリスト)クラス408が包含される。図13の「HTMLTagList」クラス408には、ポインタを介して、図12のHTMLタグ374_1〜374_mのそれぞれに相当する「HTMLTag」(HTMLタグ)クラス410が包含される。図13の「HTMLTag」クラス410には、ポインタを介して、図12のHTML属性リスト379に相当する「HTMLAttrList」(HTML属性リスト)クラス412が包含される。図13の「HTMLAttrList」クラス412には、ポインタを介して、図12のHTML属性382_1〜382_pに相当する「HTMLAttr」(HTML属性)クラス414が包含される。図13の「HTMLAttr」クラス414には、ポインタを介して、抽象クラスの派生クラス(三角形内の「A」で示されている)、すなわち図12のHTML属性ソース型386に相当する「HTMLAttrSource」(HTML属性ソース)クラス416が包含される。抽象クラスとは、一般に、システム内の他の密接に関連した(例えば同様の振る舞いをする)クラスを定義するために利用されるモデルである。抽象クラスを定義することによって、他のクラスは、その親の抽象クラスの構造及びメソッドを継承するものとして定義される。図13の白抜き矢線はクラスの継承を表している。HTML属性は異なったソースから取得してもよい。したがって、「UserInput」(ユーザ入力)クラス418は抽象クラスの「HTMLAttr
Source」クラス416を継承するように表されている。また、「SGMLContent」(SGMLコンテント)クラス422は「HTMLAttrSource」クラス416を継承し、「SGMLTagAttr」(SGMLタグ属性)クラス420も同様である。
図14はマップ・モジュール276内の主要クラスを表しており、そのクラス間の依存関係を説明するものである。破線矩形の内側に示されているクラス群は、図13のクラス群424である。「MapService」(マップサービス)クラス452は、「Transformer」(トランスフォーマ)クラス450、「DTDMapTransformerService」(DTDマップトランスフォーマサービス)クラス456、「SrcSGMLTagAttr」(ソースSGMLタグ属性)クラス462、「SrcSGMLContent」(ソースSGMLコンテント)クラス464、「Map」(マップ)クラス400、「MapEdit」(マップ編集)クラス460、及び、「MapCreateEditService」(マップ生成編集サービス)クラス454を包含する。「MapEdit」クラス460は、「DTDMapEdit」(DTDマップ編集)クラス466を包含する。「DTDMapEdit」クラス466は、「SGMLTagList」クラス404、「SGMLTag」クラス406、「HTMLTagList」クラス408、「HTMLAttrList」クラス412、「HTMLTag」クラス410、「HTMLAttr」クラス414、「SGMLTagAttr」クラス420、「SGMLContent」クラス422、及び「UserInput」クラス418と包含関係がある。「HTMLAttrSource」(HTML属性ソース)クラス416は「SrcSGMLTagAttr」クラス462及び「SrcSGMLContent」クラス464と包含関係がある。「DTDMapTransformerService」クラス456は、「SrcSGMLTagAttr」クラス462及び「SrcSGMLContent」クラス464と包含関係がある。 「SrcSGMLTagAttr」クラス462は「SGMLTagAttr」クラス420と包含関係があり、「SrcSGMLContent」クラス464は「SGMLContent」クラス422と包含関係がある。「MapCreateEditService」クラス454は、「DTDMapEdit」クラス466及び「MapEdit」クラス460と包含関係がある。「Map」クラス400は、「DTDMap」クラス402、「DTDMapTransformerService」クラス456、「SrcSGMLTagAttr」クラス462及び「SrcSGMLContent」クラス464と包含関係がある。これらクラスとそのオブジェクトの働きについては、図30乃至図38に関連して説明する。
ソフトウェアのデータ項目及びオブジェクトは、プログラムコードの実行のために必要になった段階でコンピュータの記憶資源を動的に割り当てられる必要がある。データ項目のアドレスを格納しているポインタ変数、メソッド又はオブジェクトは、コードの実行中にオブジェクト間で受け渡しできる。オブジェクト及びデータ項目の構築及び破棄は動的になされるので、あるデータ項目へのポインタ又は参照を使うオブジェクトが、例えば廃棄済みのデータを参照する可能性があり、その場合には恐らくシステムスラーが起こる。オブジェクトとデータ項目を生成された時と要求された時に登録する機構は、オブジェクトとデータ項目が現に存在しまた利用されていることを参照前に確認する手段をオブジェクトに与える。デストラクタは、オブジェクト又はデータ項目を破棄する前に、その現在の利用状況を確認し、その破棄前に他のオブジェクトがそのオブジェクト又はデータ項目の利用を完了できるようにする。オブジェクト及びデータ項目を登録する目的の一例は、HTML属性への属性値割り当てである。これについて、図15乃至図18及び図30乃至図38に関連して後述する。
図15は、SGMLからHTMLへのマッピング及び変換に関わる「SrcSGMLTagAttr」クラス462のクラス構造を示す。図16は、SGMLからHTMLへのマッピング及び変換に関わる「SrcSGMLContent」クラス464のクラス構造を示す。図17は、SGMLからHTMLへのマッピング及び変換に関わる「MapService」クラス452のクラス構造を示す。
図14に関連して前述したごとく、「HTMLAttrSource」クラス416は「SrcSGMLTagAttr」クラス462及び「SrcSGMLContent」クラス464への参照を含む。「HTMLAttrSource」クラス416は、「SrcSGMLTagAttr」クラス462への参照「AtrSrcSGMLTagAttr」と、「SrcSGMLContent」クラス464への参照「AtrSrcSGMLContent」を含む。「SrcSGMLTagAttr」クラス462は、「MapService」クラス452においてSGMLタグ属性を登録するために使用されるメソッド「registerSGMLTagNameAndAttributeName」を含んでいるため、「SrcSGMLTagAttr」クラス462内のメソッド「unregisterTagAttrKeyAndMapEntry」を使用し、仮想関数「unregisterFromSourceMap」で、登録が済んだ属性を「HTMLAttrSource」クラス416から登録抹消することが可能である。また、「SrcSGMLTagAttr」クラス462は、SGML文書をSGML文書へ変換するための文書インスタンス処理時に使用されるメソッド「setValueForAttrbuteOfTag」も含んでいる。
「SrcSGMLContent」クラス464は、その内部でSGMLタグコンテントを登録するために使用されるメソッド「registerSGMLTagName」を含んでいるため、「SrcSGMLContent」クラス464のメソッド「unregisterSGMLTagName」によって登録が済んだ属性を「HTMLAttrSource」クラス416から登録抹消することが可能である。また、「SrcSGMLContent」クラス464は、SGML文書をHTML文書へ変換するための文書インスタンス処理時に使用されるメソッド「setValueForTag」も含んでいる。
図18は、SGMLからHTMLへのマッピング及び変換に関わる「MapCreateEditService」クラス454のクラス構造を示す。「MapCreateEditService」クラス454については図14に関連して説明済みである。このクラスとオブジェクトの働きについては、図30乃至図38に関連して説明する。「MapCreateEditService」クラス454中のメソッド「setSelectedSGMLTagToBeNullAssigned」は、選択されたSGMLタグがヌル値にマッピングされるように設定する。「MapCreateEditService」クラス454中のメソッド「setSelectedSGMLTagToBeNotSaaigned」は、選択されたSGMLタグがマッピング時に保持されるように設定する。「MapCreateEditService」クラス454中のメソッド「getAttrbuteAssignmentInformationForHTMLAttribute」は、HTML属性に対する割り当て値のための割り当て情報を入力する。「MapCreateEditService」クラス454中のメソッド「assignHTMLAttributeWithSGMLAttrbute」、メソッド「assignHTMLAttributeWithSGMLContent」、メソッド「assignHTMLAttributeWithSystem」、メソッド「assignHTMLAttributeWithNoValue」、メソッド「assignHTMLAttributeWithUserInput」は、HTML属性に値を割り当てる。
図19は、SGMLからHTMLへのマッピング及び変換のためのGUIを実現する主要モジュールの階層図を示す。アプリケーションウィンドウ(Application Window)モジュール470は、メニューマネージャ(Menu Manager)モジュール472を起動する。メニューマネージャ・モジュール472は、ファイルサービス(File Service)モジュール474、マップエディタ(Editor for Map)モジュール476、ビュー(View)モジュール478、マップ(Map)モジュール480及びメッセージダイアログサービス(Message Dialog Service)モジュール482を起動する。マップ・モジュール480は図13のマップ・クラス400に相当する。ビュー・モジュール478は、図8のGUIモジュール180に含まれている。これらモジュールの働きについては図30乃至図38に関連して説明する。
図20は、メインアプリケーションウィンドウ510のコンピュータ画面出力の一例を示す。このウィンドウは、タイトルバー512、メニューバー514ツールバー516、ビューウィンドウのワークスペース518を含む。ユーザは、メニュー操作を行うためには、メニューバー514の項目を一つ選択する必要がある。ユーザが選択をすると、サブメニュー(もしくはプルダウン・メニュー)が、メインメニューから選択したもの利用可能な全操作を表示する。例えば、ユーザが選択項目「File」を選ぶと、サブメニューが現れて、「Open SGML」、「Open DTD」、「Open Map」、「Save Map」、「Map Save As」、「Save HTML」、「HTML Save As」、「Close SGML」、「Exit」の各選択項目を表示する。選択項目「Open SGML」によって、ユーザは一つのSGML文書を選んで開くことができる。選択項目「Open DTD」によって、ユーザは一つのDTDを選んで開くことができる。選択項目「Open Map」によって、ユーザは一つのマップを選んで開くことができる。選択項目「Save Map」によって、ユーザはマップをディスクに保存することができる。選択項目「Map Save As」によって、ユーザは新たに選んだファイル名を付けてマップをディスクに保存することができる。選択項目「Save HTML」によって、ユーザはHTML文書をディスクに保存することができる。選択項目「HTML Save As」によって、ユーザは新たに選んだファイル名を付けてHTML文書をディスクに保存できる。選択項目「Close SGML」によってユーザはSGML文書を閉じることができる。また、選択項目「Exit」で、ユーザは変換処理のアプリケーションウィンドウを終了させることができる。
ユーザがメニューバー514から選択項目「Edit」を選択すると、「Create Map」、「Edit Map」の各選択項目を表示するサブメニューが現れる。選択項目「Create Map」によって、ユーザはSGML文書をHTML文書へ変換するために利用可能なマップを生成することができる。選択項目「Edit Map」によって、ユーザは既存のマップを編集することができる。選択項目「View」のサブメニューは、「View SGML」、「View HTML」の各選択項目を表示する。これら選択項目は、ユーザに選択されるとSGML文書又はHTML文書を表示するように設計されている。選択項目「View SGML」によって、ユーザは、SGML文書をメインアプリケーションウィンドウのワークスペース内に表示させることができる。選択項目「View HTML」によって、ユーザは、HTML文書をメインアプリケーションウィンドウのワークスペース内に表示させることができる。ユーザが選択項目「Map」を選択すれば、選択項目「Run Map」を表示するサブメニューが現れる。選択項目「Run Map」を選択すれば、SGML文書からHTML文書への変換処理が起動される。ユーザが「Option」ボタンを選択すると、サブメニューが現れて「Incremental」、「Reference」の各選択項目を表示する。選択項目「Incremental」によって、ユーザは、SGML文書からHTML文書へのインクリメンタル・マッピングを行うことができる。一つのSGMLタグがHTMLタグにマッピングされると、次にSGML文書が対応したHTML文書へ変換される。この変換は、SGMLタグが一つマッピングされる都度、それに続いて行われる。選択項目「Reference」によって、ユーザは、SGML文書のHTML文書への変換中にレファレンスを表示させることができる。
図21を参照し、SGMLファイルを開くためのダイアログボックスとHTMLファイルを保存するためのダイアログボックスについて説明する。図21は「Open SGML File」(SGMLファイルを開く)ダイアログボックス600を例示している。このダイアログボックス600は、ユーザが図20の選択項目「File」を選択すると表示されるサブメニューの選択項目「Open SGML」に応答して表示される。開きたいファイルの種類をユーザが選択できるようにする「Filter」(フィルタ)テキスト編集ボックス602が表示される。ファイルの候補ディレクトリが「Directories」(ディレクトリ)リストボックス604内に表示される。開くことができる候補ファイルが「Files」リストボックス606内に表示される。「Selection」(選択)テキスト編集ボックス608は、ユーザが開こうとして選んだファィル名を表示する。「OK」ボタン610によって、ユーザは、「Selection」テキスト編集ボックス608に表示された、ファイルの選択を承認することができる。「Filter」(フィルタ)ボタン612によって、ユーザは、「Filter」テキスト編集ボックス602で説明したように、指定された種類の全てのファイルを「Files」リストボックス606に表示させるように要求することができる。「Cancel」(取り消し)ボタン614によって、ユーザは、あるファイルを開くための現在の要求の終了・取り消しを選ぶことができる。
図21は「Save HTML File」(HTMLファイル保存)ダイアログボックス616も例示している。このダイアログボックス616は、ユーザが図20の「File」(ファイル)ボタンを選択した時に表示されるサブメニューから、選択項目「Save HTML」をユーザが選択すると表示される。「Filter」テキスト編集ボックス618によって、ユーザは、現在のHTMLファイルを保存するためのファイル種類を選ぶことができる。ファイルの候補ディレクトリが「Directories」リストボックス620内に表示される。指定された種類の候補ファイルが「Files」(ファイル)リストボックス622内に表示される。「Selection」(選択)テキスト編集ボックス624によって、ユーザは、ファイルを保存する際のファイル名を選ぶことができる。「OK」ボタン626によって、ユーザは、ファイルを保存する操作を承認し完了させることができる。「Filter」(フィルタ)ボタン628によって、ユーザは、「Filter」テキスト編集ボックス618で説明したように、指定した種類の全てのファイルを「Files」リストボックス622内に表示させるように要求することができる。「Cancel」(取り消し)ボタン630によって、ユーザは、現在のHTMLファイルを保存させるための現在の要求を終了させ取り消すことができる。
図22と図23は、マップの生成と編集に利用される「Map Edit Option」(マップ編集選択)ダイアログボックスと「Map Edit」(マップ編集)ダイアログボックスを示している。ユーザは新しいマップを生成したり、既存のマップを編集したりすることができる。ユーザが図20のメインアプリケーションウィンドウ510の「Edit」ボタンを選択し、そして選択項目「Edit Map」又は選択項目「Create Map」を選択すると、図22の「Map Edit Option」ダイアログボックス690が表示され、ユーザは、SGML文書のデフォルトのマッピングと条件付きマッピングのどちらを使ってマップの生成又は編集を行うか選択できるようになる。「Default」(デフォルト)ボタン692をクリックすることによって選択されるデフォルト・マッピングは、図23の「SGML to HTML Map Editor」(SGMLからHTMLへのマップエディタ)ダイアログボックス700でユーザの対話により設定されるユーザ定義のタグマッピングである。「Conditonal」(条件付き)ボタン694をクリックすることによって選択される条件付きマッピングでは、条件付きのマッピング又は特殊なマッピングを定義する必要がある。ユーザが「Map Edit Option」ダイアログボックス690の選択項目の一つを選択すると、図23のダイアログボックス700が表示されて、ユーザはシステムと対話しながらマップを定義することができる。選択項目「Create Map」(マップ作成)によって、ユーザは新しいマップを作成することができる。「Map Edit Option」ダイアログボックス690と「SGML to HTML Map Editor」ダイアログボックス700は、どちらもマップの生成及び既存マップの編集に利用される。
図23を参照する。「SGML to HTML Map Editor」ダイアログボックス700は、SGMLタグのリストボックスである「SGML Tag」(SGMLタグ)リストボックス702、同リストボックスより選択されたSGMLタグがマッピングされるHTMLタグのリストボックスである「Current HTML Tag」リストボックス704、及び、「Current HTML Tag」リストボックス704に追加可能なリーガルタグなタグのリストボックスである「Leagal Tag」リストボックス706を表示する。あるSGMLタグ(702)について、ユーザは、「Legal HTML Tag」リストボックス706から一つのHTMLタグをダブルクリックすることによってリーガルなHTMLタグ(706)を選択する。こうすることにより、そのHTMLタグが「Current HTML Tag」リストボックス704に追加される。「Current HTML Tag」リストボックス704に、SGMLタグ(702)がマッピングされるHTMLタグのリストが含まれているときには、「Current HTML Tag」リストボックス704の選択されたHTMLタグの下に新しいHTMLタグが追加される。
「Current HTML Tag」リストボックス704に一つのHTMLタグが挿入されると、その挿入したタグ以降のHTMLタグは、もはやリーガルなタグとはならないであろうから削除される必要がある。「Clear HTML Tag」(HTMLタグのクリア)ボタン708は「Current HTML Tag」リストボックス704をクリアするものである。「Detete HTML Tag」(HTMLタグ削除)ボタン710は、「Current HTML Tag」リストボックス704内の選択されたHTMLタグを削除するものである。「Current HTML Tag」リストボックス704内の削除したHTMLタグ以降のHTMLタグは、もはやリーガルなタグとはならないであろうから削除される必要がある。「Undo」(取り消し)ボタン712は、直前のクリア、削除又は挿入の操作を取り消すものである。以上のボタンをメニュー操作形態に応じて変更することは、コンピュータ処理分野の当業者には容易である。「Map SGML Tag」(SGMLタグのマッピング)ボタン714によって、ユーザは、SGMLタグ(702)を「Current HTML Tag」リストボックス704内のHTMLタグのリストへマッピングすることができ、そして、次にマッピングするSGMLタグを選択することができる。「Done」(終了)ボタン716が選択されると、残っているSGMLタグ(702)はマッピングされなくなる。「Cancel」ボタン718が選択されると、それ以前のSGMLからHTMLへのマッピング情報は全て無視される。「Legal HTML Tag」リストボックス706において、ヌル割り当てと非割り当ての2つを選択可能である。ヌル割り当ては、SGMLタグ(702)を削除し、それがマッピングされたり変換後に表示されたりしないようにする。非割り当ては、SGMLタグ(702)をそのままにしておくもので、そのSGMLタグ(702)はHTMLへはマッピングされないが、変換後にそのまま表示される。
タグ属性割り当てについては、図30乃至図38に関連して説明する。
図24は、図23で説明済みの「SGML to HTML Map Editor」ダイアログボックス700のタグリストボックス内のデータの例を示している。これらデータの処理については図30乃至図38に関連し説明する。
図25は、GUIのためのSGMLからHTMLへのマッピングに関わるクラス間の関係を示すクラス線図の例を示す。「ApplicationWindow」クラス772は、GUIのアプリケーションウィンドウの表示処理を管理する。「MenuManager」クラス778は、メニュー操作に関連する全てのタスクとオブジェクトを統御する。「FileService」クラス782は、ファイルを開く操作と保存する操作を扱う。「ntEntity」クラス790は、SGML文書、SGML DTD、HTML文書又はHTML DTDの総称的なシステム表現である。「SymbolTable」クラス770は、入力文書の、「ParserService」クラス774によって処理した後のシステム表現である。「MessageDialogService」クラス776は、システムユーザへのメッセージ出力を扱う。「ViewDocument」クラス786は、ユーザからの要求に応じたSGML文書又はHTML文書の表示を扱う。「MapService」クラス780は、「MapCreateEditService」クラス792を利用して、SGML文書からHTML文書への変換に利用すべき規則のシステム表現である「Map」クラス788の生成及び編集を扱う。「GUIEditorForMap」クラス784は、ユーザが「Map」クラス788の生成又は編集を動的に行うためのGUIインターフェースを扱う。
図26は、システムのスタートアップのためのクラスのオブジェクト間のシステム動作を表すオブジェクト・メッセージ線図を示す。このオブジェクト線図では、主要なソフトウエア・オブジェクトを雲図形で囲んで示している。オブジェクト・メソッドの呼び出しは、コロンとその前後の算用数字及びオブジェクト・メソッド名によって表されている。コロン付きの算用数字によって表される順番は、実行の段階的論理フローとオブジェクトのデータ及びメッセージのフローを示す。オブジェクトの線図と設計に関するより詳細な説明については、Booch,G.,Object-Oriented Analysis and Design with Applications,Second Edition,Addison Wesley Longman,California,1994を参照されたい。この文献をここ援用する。
「ApplicationWindow」オブジェクト772は、図20のメインアプリケーションウィンドウを生成するオブジェクトである。このオブジェクト772は、システムの実行開始時に最初に生成されるオブジェクトであり、図20のメインアプリケーションウィンドウを表示するために必要な情報及び関数を全て含んでいる。「HTMLSymbolTable」オブジェクト800は、「ApplicationWindow」オブジェクト772により、「ParserService」オブジェクト774の呼び出し「Create(new)」802で生成されるオブジェクトであり、これはHTML DTDのシステム表現である。「HTMLSymbolTable」オブジェクト800は、システムの寿命の間中存在する。「MenuManager」オブジェクト778は、「ApplicationWindow」オブジェクト772によって、呼び出し「Create(new)」804で生成されるオブジェクトであり、「ApplicationWindow」オブジェクト772のメニューに割り当てられた全てのメニュー操作を処理するためののものである。「ApplicationWindow」オブジェクト772は、それが生成した「HTMLSymbolTable」オブジェクト800を「MenuManager」オブジェクト778に渡し、「ManuManager」オブジェクト778が「HTMLSymbolTable」オブジェクト800をそれを必要とする他のオブジェクトに渡すことができるようにする。「MenuManager」オブジェクト778は、メニュー操作の実行に必要な全てのオブジェクトの生成と管理を行う。
「MessageDialogService」オブジェクト776は、「MenuManager」オブジェクト778により、呼び出し「Create(new)」806で生成されるオブジェクトであり、システムのどこからでもユーザに対しどのような種類のメッセージもメッセージダイアログボックスで表示できるようにするためのものである。メッセージの例としては、エラーメッセージ、ユーザに対する警告や指示、その他必要とされる任意種類のメッセージがある。「MenuManager」オブジェクト778は、「MessageDialogService」オブジェクト776を、ユーザにメッセージを表示する必要性がある他のオブジェクトに渡す。
「MapService」オブジェクト780は、「MenuManager」オブジェクト778によって生成される、マップ関連オブジェクトを扱うためのオブジェクトである。「MenuManager」オブジェクト778は、新たに生成された「MapService」オブジェクト780の状態を初期化するため呼び出し「MapServiceInit」810を発行する。この例では、マップは、SGML文書がHTML文書にどのように変換されるかを記述したオブジェクトである。「MenuManager」オブジェクト778は、「HTMLSymbolTable」オブジェクト800及び「MessageDialogService」オブジェクト776を「MapService」オブジェクト780へ渡し、「MapService」オブジェクト780がHTML
DTDの情報を保有し、ユーザへメッセージを送ることができるようにする。
「MapCreateEditService」オブジェクト792は、呼び出し「CReate(new)」812で「MapService」オブジェクト780によって生成されるオブジェクトであり、マップの生成や既存マップの修正を扱う。「MapService」オブジェクト780は、「HTMLSymbolTable」オブジェクト800を「MapCreateEditService」オブジェクト792に渡し、同オブジェクトにHTML DTDの情報を保有させる。「MenuManager」オブジェクト778は、呼び出し「getMapCreateEditServiceObject」814で「MapService」オブジェクト780から「MapCreateEditService」オブジェクト792を受け取るため、いつでもマップの生成や編集をすることができるようになる。
「FileService」オブジェクト782は、呼び出し「Create(new)」816で「MenuManager」オブジェクト778により生成されるオブジェクトで、ファイルのオープン及び保存のタスクを扱うものである。このファイルはSGML文書、SGML DTD、マップあるいはHTML文書に相当する。ユーザは、図20のメニューバー514に示された「File」ボタンを選択することによって、ファイルに対する操作を要求する。「FileService」オブジェクト782は、図21に例示したように、オープン又は保存のダイアログボックスを生成することにより、ユーザが開きたいファイル又は保存したファイルを選択できるようにする。「MenuManager」オブジェクト778は、「MessageDialogService」オブジェクト776を「FileService」オブジェクト782に渡すことにより、同オブジェクト782がメッセージをユーザに表示できるようにする。また、「MenuManager」オブジェクト778は、「MapCreateEditService」オブジェクト792も「FileService」オブジェクト782に渡す。
「GUIEditorForMap」オブジェクト784は、呼び出し「Create(new)」818で「MenuManager」オブジェクト778により生成されるオブジェクトで、ユーザが、図23及び図24に例示したようなダイアログボックスを利用し、マップの生成又は既存マップの修正をできるようにする役割を担うものである。「MenuManager」オブジェクト778は、ユーザへのメッセージ表示のために、「MessageDialogService」オブジェクト776を「GUIEditorForMap」オブジェクト784へ渡す。「MenuManager」オブジェクト778は、マップを生成又は修正するため、「MapCreateEditService」オブジェクト792を「GUIEditroForMap」オブジェクト784に渡す。
「ViewDocument」オブジェクト786は、呼び出し「Create(new)」820で「MenuManager」オブジェクト778により生成されるオブジェクトで、表示ウィンドウにSGML又はHTML文書を表示させる役割を担うものである。ユーザは、図20に示されるメニューバー514の「View」ボタンを選択することにより、文書の表示を要求する。「MenuManager」オブジェクト778は、「MessageDialogService」オブジェクト776を「ViewDocument」オブジェクト786へ渡すことにより、同オブジェクト786がメッセージをユーザに表示できるようにする。
図27は、SGML文書を初めて開く時に本発明のオブジェクト間にみられる動的関連を説明するためのオブジェクト・メッセージ線図を示す。ユーザ(User)830は、「ApplicationWindow」オブジェクト772に対し、呼び出し「OpenSGML」840によって、SGML文書ファイルを開くように要求する。この要求は、図20のメニューバー514の「File」ボタンを選択し、それによって現れるサブメニューの選択項目「Open SGML」を選択することによってなされる。「ApplicationWindow」オブジェクト772は、このユーザ要求を処理させるため呼び出し「OpenSGML」842を「MenuManager」オブジェクト778へ渡す。そうすると、「MenuManager」オブジェクト778は、呼び出し「OpenSGML」844を「FileService」オブジェクト782へ渡す。「FileService」オブジェクト782は、ユーザ830にSGML文書のファイル名を要求するため呼び出し「getFileName」846を発行する。ユーザ830の応答「ファイル名(FileName)」846が、「FileService」オブジェクト782に返される。「FileSerevice」オブジェクト782は、ファイル名(FileName)848と一緒に要求「isFound」848を「IOSsevice」オブジェクト832に送り、応答「YES」848によって、ユーザ830から返されたファイル名(FileName)846が実在していることを確認する。そして、「FileService」オブジェクト782は、ファイル名(FileName)850と一緒に要求「isREadable」850を「IOService」オブジェクト832に送り、応答「YES」850によって、ファイルがシステムによって読み出し可能であることを確認する。次に、「FileService」オブジェクト782は、ファイル名(FileName)852と一緒に要求「getEntityObject」852を「IOService」オブジェクト832へ送り、同オブジェクト832はユーザ830が要求したSGML文書と対応DTDなどの外部エンティティに関係した「ntEntity」852を取得して返す。
「MenuManager」オブジェクト778は、要求「getSGMLntEntity」854を「FileService」オブジェクト782へ送って、「FileService」オブジェクト782より「ntEntity」854を受け取る。次に、「MenuManager」オブジェクト778は、呼び出し「getSymbolTable」856で「ntEntity」856を「ParserService」オブジェクト774へ送る。そうすると、「ParserService」オブジェクト774は、SGML文書用の「SymbolTable」(記号テーブル)オブジェクト856を生成し、それをSGML文書の記号テーブルとして妥当であることを確認してから「MenuManager」オブジェクト778へ返す。そうすると、「MenuManager」オブジェクト778は、呼び出し「useThisSGMLDoc」858によって、「ntEntity」858を「MapCreateEditService」オブジェクト792へ送り、呼び出し「UserThisSymbolTable」860によって記号テーブル(SymbolTable)860を「MapCreateEditService」オブジェクト792に送る。そして、「MapCreateEditService」オブジェクト792は、要求された文書に対する以後の処理を扱う。
図28は、ある既存のSGML文書が既に開かれている状態で、あるSGML文書を開く時に本発明のオブジェクト間にみられる動的関連を説明するためのオブジェクト・メッセージ線図を示す。ユーザ(User)830は、呼び出し「OpenSGML」890によって「ApplicationWindow」オブジェクト772に対しSGML文書ファイルを開くよう要求する。この要求は、図20のメニューバー514の「File」ボタンを選択し、それにより現れるサブメニューの選択項目「Open SGML」を選択することによってなされる。「ApplicationWindow」オブジェクト772は、ユーザ要求を処理するため、「MenuManager」オブジェクト778に対し呼び出し「OpenGML」892を送る。そうすると、「MenuManager」オブジェクト778は、呼び出し「HTMLWindow」984を「ViewDocument」オブジェクト786へ送り、HTML文書を表示しているウィンドウが開いているならば、そのウィンドウを閉じさせる。保存されていないHTML文書がある場合には、「MenuManager」オブジェクト778は要求「SaveHTML」896を「MessagDialogService」オブジェクト776へ送る。そうすると、「MessageDialogService」オブジェクト776は、ユーザ830に対し、現在表示中のHTMLファイルを保存したいか問い合わせるメッセージの要求「SaveHTML」898を送る。ユーザ830からの応答「NO」898が「MessageDialogService」オブジェクト776に返されると、同オブジェクト776は「NO」896を「MenuManager」オブジェクト778へ返す。そうすると、「MenuManager」オブジェクト778は、呼び出し「Destroy(delete)」900を、そのHTML文書であるところの「HTMLntEntity」オブジェクト880へ送る。次に、「MenuManager」オブジェクト778は、呼び出し「closSGMLWindow」902を「ViewDocument」オブジェクト786へ送り、同オブジェクト786に開いているSGML文書の表示ウィンドウを閉じる処理をさせる。次に、「MenuManager」オブジェクト778は、開いているSGMLファイルである「SGMLntEntity」オブジェクト882へ呼び出し「Destroy(delete)」904を送る。次に、「MenuManager」オブジェクト778は、呼び出し「OpenSGML」906を「FileService」オブジェクト782へ送る。「FileService」オブジェクト782は、そのSGML文書のファイル名をユーザ830に要求するため、呼び出し「getFileName」908を発行する。ユーザ830の応答であるファイル名(FileName)908が「FileService」オブジェクト782に返される。「FileService」オブジェクト782は、ファイル名(FileName)910と一緒に要求「isFound」910を「IOService」オブジェクト832へ送り、応答「YES」910によって、ユーザ830より返されたファイル名(FileName)908が存在することを確認する。そして、「FileService」オブジェクト782は、ファイル名(FileName)912と一緒に要求「isReadable」912を「IOService」オブジェクト832へ送り、応答「YES」912により、そのファイルをシステムが読み取り可能であることを確認する。次に、「FileService」オブジェクト782は、ファイル名(FileName)914と一緒に要求「getEntityObject」914を「IOService」オブジェクト832に送り、同オブジェクト832によって「ntEntity」914を取得させ、それを返させる。この「NtEntity」906は、要求「OpenSGML」906に応答して「MenuManager」オブジェクト778へ返される。
そうすると、「MenuManager」オブジェクト778は、呼び出し「getSymbolTable」916によって「ntEntity」916を「ParserService」オブジェクト774へ送る。そうすると、「ParserService」オブジェクト774は、そのSGML文書及びDTDのための「SymbolTable」(記号テーブル)916を生成し、それを「MenuManager」オブジェクト778へ返す。そうすると、「MenuManager」オブジェクト778は、呼び出し「areThisMapAndTheSGMLDocConsistent」918により、「ntEntity」918及びマップ(Map)918を「MapService」オブジェクト780へ送り、その既存のマップ918を新しいSGML文書である「ntEntity」918で使用できるか確認する。マップ918が使用できないときには、応答「NO」918が「MenuManager」オブジェクト778に返される。この場合、「MenuManager」オブジェクト778は要求「isMapSaved」920を「MapService」オブジェクト780へ送り、そのマップ918が保存されるならば応答「YES」920を受け取る。そうすると、「MenuManager」オブジェクト778は、呼び出し「destroy(erase and delete)」922を「SGMLSymbolTable」オブジェクト884へ送り、記号テーブルの形式で表されたシステムの現在のSGMLファイルを破棄させる。次に、「MenuManager」オブジェクト778は、呼び出し「Destroy(delete)」924を「Map」オブジェクト788へ送り、システムの旧SGML文書用の現在のマップを破棄させる。そして、「MenuManager」オブジェクト778は、呼び出し「resetMap」926を「MapService」オブジェクト780へ送り、処理すべき新しいSGML文書用の新しいマップを初期化させる。次に、「MenuManager」オブジェクト778は、「IOService」オブジェクト832より取得した「NtEntity」928を送るため、呼び出し「useThisSGMLDoc」928を「MapCreateEditService」オブジェクト792へ送る。次に、「MenuManager」オブジェクト778は、呼び出し「UseThisSymbolTable」930を、「ParserService」オブジェクト774から取得した「SymbolTable」(記号テーブル)オブジェクト930と共に「MapCreateEditService」オブジェクト792へ送る。そうすると、「MapCreateEditService」オブジェクト792は要求されたSGML文書に関するそれ以降の処理を扱う。
図29は、マップエディタGUIの設計図をクラス線図で示している。「ApplicationWindow」オブジェクト772、「MenuManager」オブジェクト778、「GUIEditorForMap」オブジェクト784、「SymbolTable」オブジェクト770、「MapCreateEditService」オブジェクト792については、図25乃至図27に関連して説明済みである。図29において、「MapEditDialog」オブジェクト950は「GUIEditorForMap」オブジェクト784に含まれている。この「MapEditDialog」オブジェクト950は、「Map Edit」ダイアログボックスの表示の処理を扱う。これには、SGML要素のマッピングの所定時点でユーザが実行できる操作又は要求の種類を決定することが含まれる。「MapTag」オブジェクト952は、SGML要素のHTML要素へのマッピングに関係したタスク及びオブジェクトを処理するため「MapCreateEditService」オブジェクト792及び「SymbolTable」オブジェクト770と対話する。「AssignAttribute」オブジェクト954は、HTML要素の属性への値割り当てに関係したタスク及びオブジェクトを処理するため「MapCreateEditService」オブジェクト792及び「SymbolTable」オブジェクト770と対話する。
図30乃至図38は、SGMLからHTMLへのマッピングの、HTML属性への値の割り当て及びSGMLタグのHTMLタグへのマッピングのための振る舞いを説明するオブジェクト・メッセージ線図である。図30乃至図38のオブジェクト線図は大きいため、複数の図面に分割されている。しかし、これら図面を繋げば一つのオブジェクト線図になる。「MapEditDialog」オブジェクト950、「MapTag」オブジェクト952、「AssignAttribute」オブジェクト954、「MapCreateEditservice」オブジェクト792については、図29に関連して説明済みである。「GUIEditorforMap」オブジェクト784は図25に関連して既に説明した。「HTMLSymbolTable」オブジェクト800は図26に関連して説明済みである。「SGMLSymbolTable」オブジェクト884は図28に関連して説明済みである。
典型的な動作方法について述べる。図30の「GUIEditorForMap」オブジェクト784は、関数呼び出し「EditMap」960で「MapEditDialog」オブジェクト950のコンストラクタを呼び出すことにより、図23の「Map Edit」ダイアログボックスを生成する。
図23の「SGML Tag」リストボックス702に入力するために、「MapEditDialog」オブジェクト950は、関数呼び出し「getNextSGMLTag」962によって、「MapTag」オブジェクト952から、最初のSGMLタグ962を「YES」メッセージ 952と一緒に受け取り、図23の「SGML Tag」リストボックス702にそのSGMLタグを表示する。「MapTag」オブジェクト952は、関数呼び出し「getFirstElement」964によって、「SGMLSymbolTable」オブジェクト884より、図31の最初のSGMLタグ964を「YES」メッセージ964と一緒に受け取る。これ以外のGUIの設計のやり方は、既に処理した全てのSGMLタグのリストを表示したままにする方法である。
ユーザがマッピングするSGMLタグを選択するため、図23の「SGML Tag」リストボックス702内のそのHTMLタグをマウスでダブルクリックすると、図30の関数呼び出し「selectedSGMLTag」966により、SGMLタグ966が「MapTag」オブジェクト952へ送られる。図31の「MapTag」オブジェクト952は、図31の関数呼び出し「selectedSGMLTag」967により、SGMLタグ967を図31の「MapCreateEditService」オブジェクト792へ送る。
図23の「Current HTML Tag」リストボックス704に入力するため、次に、図30の「MapEditDialog」オブジェクト950は、選択されたSGMLタグがマッピングされるHTMLタグ968を「YES」メッセージ968と一緒に、「MapTag」オブジェクト952から関数呼び出し「getNextCurrentHTMLTag」968により受け取る。この関数は、一度に一つのHTMLタグ968を受け取り、それを図23の「Current HTML Tag」リストボックスに表示する。図31の「MapTag」オブジェクト952は、関数呼び出し「getExistingHTMLTagsinMap」970によって、次のHTMLタグ970を「YES」メッセージ970と一緒に「MapCreateEditService」オブジェクト792から受け取る。SGMLタグを初めて割り当てようとするときには、図23の「Current HTML Tag」リストボックス704には「NOT ASSIGNED」が表示されることになろう。
図23の「Legal HTML Tag」リストボックス706に入力するため、図30の「MapEditDialog」オブジェクト950は、関数呼び出し「setLastCurrentHTMLTagInList」972により、図23の「Current HTML Tag」リストボックス704内の最後のHTMLタグ972を「MapTag」オブジェクト952へ送る。次に、「MapEditDialog」オブジェクト950は、関数呼び出し「getLegalHTMLTag」974により、リーガルなHTMLタグ974を「YES」メッセージ974と一緒に「MapTag」オブジェクト952から受け取る。この関数は、一度に一つのHTMLタグ974を受け取り、それを図23の「Legal HTML Tag」リストボックス706に表示する。このリーガルなHTMLタグは、図23の「Current HTML Tag」リストボックス704内の最後のHTMLタグの後に置くことができる。図31において、「MapTag」オブジェクト952は、「HTMLSymbolTable」オブジェクト800から、関数呼び出し「getFirstLegalElement」976により、「YES」メッセージ976と一緒に、リーガルなHTMLタグ976を一度に一つずつ受け取り、あるいは、「MapTag」オブジェクト952は、「HTMLSymbolTable」オブジェクト800から、関数呼び出し「GetNextLegalElement」978により、「YES」メッセージ978と一緒にリーガルなHTMLタグ978を受け取る。
図23の「Legal HTML Tag」リストボックス706のHTMLタグを図23の「Current HTML Tag」リストボックス704に追加するため、ユーザは、図23の「Legal HTML Tag」リストボックス706から一つのHTMLタグを選びマウスでダブルクリックする。そのHTMLタグは「Current HTML Tag」リストボックス704に追加される。図30の選択されたHTMLタグ980は、関数呼び出し「addSelectedHTMLTag」980により「MapTag」オブジェクト952へ送られる。図31において、「MapTag」オブジェクト982は、関数呼び出し「selectedHTMLTag」982により、HTMLタグ982を「MapCreateEditService」オブジェクト792に送る。「MapTag」オブジェクト952は、そのHTMLタグ982を現在のマップに追加するように、関数呼び出し「addSelectedHTMLTagToCurrentMappingList」984により「MapCreateEditService」オブジェクト792に通知する。図30の「MapEditDialog」オブジェクト950は、「MapTag」オブジェクト952への関数呼び出し「setLastCurrentHTMLTagInList」985によりHTMLタグ986をリストの最後のタグとして設定する。
図23の「Legal HTML Tag」リストボックス706を更新するために、図30の「MapEditDialog」オブジェクト950は、関数呼び出し「getLegalHTMLTag」988により、「MapTag」オブジェクト952から、リーガルなタグが存在するならばHTMLタグ988を「YES」メッセージと一緒に受け取る。次に、「MapTag」オブジェクト952は、最初に要求したリーガルな要素であれば、関数呼び出し「getFirstLegalElement」990により、「HTMLsymbolTable」オブジェクト800からHTMLタグ990を「YES」メッセージ990と一緒に受け取るが、最初に要求されたリーガルな要素でなければ、
「MapTag」オブジェクト952は、関数呼び出し「getNextLegalElement」992により、「HTMLSymbolTable」オブジェクト800からHTMLタグ992を「YES」メッセージ992と一緒に受け取る。
図23の「HTML Tag Attribute」リストボックス720に入力するため、図30の「MapEditDialog」オブジェクト950は、図23の「Current HTML Tag」リストボックス704内の一つのHTMLタグ994を、関数呼び出し「seletcedHTMLTag」994により「Assignattribute」オブジェクト954に送る。次に、「MapEditDialog」オブジェクト950は、「AssignAttribute」オブジェクト954から関数呼び出し「getNextHTMLAttribute」996により、そのHTMLタグの属性(HTMLAttribute)996を「YES」メッセージ996と一緒に受け取る。この関数「ge6NextHTMLAttribute」996は、一度に一つのHTML属性996を受け取って図23の「HTML Tag Attribute」リストボックス720に表示する。図32の「AssignAttribute」オブジェクト954は、「HTMLSymbolTable」オブジェクト800から、関数呼び出し「getFirstAttributeOfElement」998によって、一度に一つのHTML属性998を「YES」メッセージ998と一緒に受け取る。この属性が最初の属性でなければ、「AssignAttribute」オブジェクト954は、「HTMLSymbolTable」オブジェクト800から、関数呼び出し「getNextAttribute」1002により、HTMLタグ998のHTML属性1002を「YES」メッセージ1002と一緒に受け取る。「AssignAttribute」オブジェクト954が受け取って図30の「MapEditDialog」オブジェクト950に返す各属性について、「MapEdigDialog」オブジェクト950は、関数呼び出し「IsCurrentAttributeOfRequiredType」1000により、属性が必要な型のものであるか「AssignAttribute」オブジェクト954に確認し、その属性が必要な型でなく「HTMLSymbolTable」オブジェクト800から取得すべきであることを「NO」メッセージ1000で指示する。図32の「AssignAttribute」オブジェクト954は、関数呼び出し「IsCurrentAttributeOfRequiredType」1001により、属性が必要な型であるか「HTMLSymbolTable」オブジェクト800に確認し、そうでないことを「NO」メッセージ1001で指示する。
値を割り当てる属性を選択するため、ユーザは、図23の「HTML Tag Attribute」リストボックス720内の一つの属性を選び、それをマウスでダブルクリックする。図30の「MapEditDialog」オブジェクト950は、選択されたHTML属性1004を、関数呼び出し「selectedHTMLAttribute」1004によって「AssignAttribute」オブジェクト954へ送る。「HTML属性1006に割り当てられる属性型によって、図30の「MapEditDialog」オブジェクト950は異なった処理をする。例えば、図32の「AssignAttribute」オブジェクト954は、関数呼び出し「getAttributeAssignmentInformationforHTMLAttribute」1006によりHTML属性1006を「MapCreateEditService」オブジェクト792へ送ることによって、SGML属性型1006、SGMLタグ1006、及びSGML属性1006を取得する。図30の「MapEditDialog」オブジェクト950は、「AssignAttribute」オブジェクト954から、関数呼び出し「getAttributeType」1008によりSGML属性型1008を受け取る。図23の「SGML Attribute」ラジオボタン726は、選択状態に表示される。図30の「MapEditDialog」オブジェクト950は、関数呼び出し「getSourceSGMLTagAndAttribute」1010により、ソースSGMLタグ1010と、HTML属性1004に割り当てられたソースSGML属性1010を取得し、それらを図23の「Source SGML Tag」リストボックス722と「SGML Tag Attribute」リストボックス724に表示する。次に、「MapEditDialog」オブジェクト950は、「AssignAttribute」オブジェクト954から、関数呼び出し「getNextSourceSGMLTag」1012によって、ソースSGMLタグ1012を一度に一つずつ、「YES」メッセージ1012と一緒に受け取り、それを図23の「Source SGML Tag」リストボックス722に表示する。図32の「AssignAttribute」オブジェクト954は、最初の要素を受け取る場合には、関数呼び出し「getFirstElement」1014によって、「SGMLsymbolTable」オブジェクト884から、ソースSGMLタグ1014を「YES」メッセージ1014と一緒に受け取り、それが最初の要素でない場合には、呼び出し「getNextElement」1018によって、ソースSGMLタグ1018を一つずつ「YES」メッセージ1018と一緒に受け取る。「AssignAttribute」オブジェクト954は、ソースSGMLタグ1014が属性を持っていることを確認するため、関数呼び出し「elementHasAttribute」1016により「SGMLSymbotTable」オブジェクト884に照会し、最初の要素でそれが属性を持つ場合には応答「YES」1016を得る。最初の要素でないときには、「AssignAttribute」オブジェクト954は、ソースSGMLタグ1018が属性を持っていることを確認するため、関数呼び出し「elementHasAttribute」1020により「SGMLSymbolTable」オブジェクト884に照会し、応答「YES」1020を得る。図30の「MapEditDialaog」オブジェクト950は、関数呼び出し「getNextSourceSGMLAttribute」1022によって、「AssignmAttribute」オブジェクト954から、以前に割り当てられたソースSGMLタグの全属性10220を一度に一つずつ、「YES」メッセージ1022と一緒に受け取り、それを図23のソース「SGML Tag Attribute」(ソースSGMLタグ属性)リストボックス724に表示する。図32の「AssignAttribute」オブジェクト954は、関数呼び出し「getAttributeOfElement」1024によってSGMLタグ1024を送ることにより、「SGMLSymbolTable」オブジェクト884からSGML属性1024と「YES」メッセージ1024を受け取るが、これは、その属性が要素の最初の属性のときであり、最初の属性でないときには、関数呼び出し「getNextAttribute」1026によって「SGMLSymbolTable」オブジェクト884からSGML属性1026を一度に一つずつ「YES」メッセージ1026と共に受け取る。ユーザは、図23の「Source SGML Tag」リストボックスから一つのSGMLタグを選んでマウスでダブルクリックする。現在の構成は、選択するものをマウスでダブルクリックすることによる選択をサポートしている。しかし、それに代わるどのような選択手法を使ってもよく、例えば、選択するものをハイライト表示してエンターキー又はリターンキーを押す手法でもよい。図36の「MapEditDialog」オブジェクト950は、関数呼び出し「selectedSourceSGMLTag」1110により、選択されたソースSGMLタグ1110を「AssignAttribute」オブジェクト954へ送る。次に、「MapEditDialog」オブジェクト950は、関数呼び出し「getNextSourceSGMLAttribute」1022により、「AssignAttribute」オブジェクト954から、選択されたソースSGMLタグ1110の全てのSGML属性1022を一度に一つずつ、「YES」メッセージ1022と共に受け取り、それを図23の「SGML Tag Attribute」リストボックス724に表示する。図32の「AssignAttribute」オブジェクト954は、関数呼び出し「getFirstAttributeOfElement」1024により、「SGMLSymbolTable」オブジェクト884からSGML属性1024を「YES」メッセージ1024と共に受け取るが、これは、最初の属性を要求しているときであり、最初の属性でないときは、「AssignAttribute」オブジェクト954は関数呼び出し「getNextAttribute」1026により、「SGMLSymbolTable」オブジェクト884から、SGML属性1026を一度に一つずつ、「YES」メッセージ1026と共に受け取る。
ユーザは、図23の「SGML Tag Attribute」(ソースSGMLタグ属性)リストボックス724から一つのSGML属性を選び、それをマウスでダブルクリックする。図36の「MapEditDialog」オブジェクト950は、選択されたソースSGML属性1112を、関数呼び出し「selectedSourceSGMLAttribute」954により「AssignAttribute」オブジェクト954に送る。次に、ユーザは図23の「Assign」ボタン736を選択する。「MapEditDialog」オブジェクト950は、図36の関数呼び出し「assignedSGMLAttribute」1114によって、そのHTML属性にあるSGML属性が割り当てられていることを「AssignAttribute」オブジェクト954に知らせる。図38の「AssignAttribute」オブジェクト954は、割り当てられようとしているHTMLタグのために、HTML属性1116、ソースSGMLタグ1116及びソースSGML属性1116を、関数呼び出し「assignHTMLAttributeWithSGMLAttribute」1116により「MapCreateEditService」オブジェクト792へ送る。
HTML属性にSGMLコンテントが割り当てられているときには、図23の「SGML Content」ラジオボタン728が選択される。図33の「MapEditDialog」オブジェクト950は、関数呼び出し「getContentSGMLTag」1048により「AssignAttribute」オブジェクト954から、HTML属性に割り当てられたコンテントSGMLタグ1048を「YES」メッセージ1048と共に受け取り、それを図23の「Source SGML Tag」リストボックス722に表示する。「MapEditDialog」オブジェクト950は、関数呼び出し「getNextcontentSGMLTag」1052により、「AssignAttribute」オブジェクト954から、HTML属性に割り当てることが可能な全てのコンテントSGMLタグ1052を一度に一つずつ、「YES」メッセージ1052と共に受け取り、それを図23の「Source SGML Tag」リストボックス722に表示する。「AssignAttribute」オブジェクト954は、「SGMLSymbolTable」オブジェクト884から、関数呼び出し「getFirstPrimitiveElement」1054によって、コンテントSGMLタグ1054を「YES」メッセージ1054と共に受け取るが、これは最初に要求されたSGMLタグである場合であり、そうでない場合は、関数呼び出し「getNextPrimitiveElement」1065によって、「SGMLSymbolTable」オブジェクト884から、コンテントSGMLタグ1056を一度に一つずつ、「YES」メッセージ1056と共に受け取る。
ユーザは、図23の「Source SGML Tag」リストボックス722から、マウスでダブルクリックすることによりコンテントSGMLタグを選ぶ。図33の「MapEditDialog」オブジェクト950は、選択されたコンテントSGMLタグ1058を、関数呼び出し「selectedContentSGMLTag」1058により「AssignAttribute」オブジェクト954へ送る。
ユーザは図23の「Assign」ボタン736を選択する。図33の「MapEditDialog」オブジェクト950は、関数呼び出し「assignSGMLContent」1060により、HTML属性にあるSGMLコンテントが割り当てられていることを「AssignAttribute」オブジェクト954に知らせる。図35の「AssignAttribute」オブジェクト954は、SGMLコンテントを割り当てられようとしているHTML属性1062とコンテントSGMLタグ1062を、関数呼び出し「assignHTMLAttributeWithSGMLContent」1062によって「MapCreateEditService」オブジェクト792へ送る。
「システム」がHTML属性に割り当てられたならば、図23の「System」ラジオボタン730が選択される。「MapEditdialog」オブジェクト950は、それ以上何もしない。ユーザは、図23の「Assign」ボタン736を選択する。図33の「MapEditDialog」オブジェクト950は、システム値がHTML属性に割り当てられたことを、関数呼び出し「assignSystem」1049により「AssignAttribute」オブジェクト954に知らせる。図35の「AssignAttribute」オブジェクト954は、システム値を割り当てられようとしているHTML属性1051を、関数呼び出し「assignHTMLAttributeWithSystem」1051により「MapCreateEditService」オブジェクト792に送る。「NO Value」がHTML属性に割り当てられたならば、「NO Value」ラジオボタン732が選択される。「MapEditdialog」オブジェクト950は、それ以上何もしない。ユーザは、図23の「Assign」ボタン736を選択する。図36の「MapEditdialog」オブジェクト950は、HTML属性に何も値が割り当てられないことを、関数割り込み「assignNoValue」1102により「AssignAttribute」オブジェクト954に知らせる。図38の「AssignAttribute」オブジェクト954は、何も値が割り当てられないHTML属性1104を、関数呼び出し「assignHTMLAttributeWithNoValue」1104により「MapCreateEditService」オブジェクト792に送る。
「User Input」(ユーザ入力)がHTML属性に割り当てられた場合、「User INput」ラジオボタン734が選択される。図36の「MapEditDialog」オブジェクト950は、関数呼び出し「getUserInputData」1100により、「AssignAttribute」オブジェクト954からユーザ入力(UserInput)1100を受け取り、その情報を図23の「User Input」テキスト編集ボックス731に表示する。ユーザは、図23の「User Input」テキスト編集ボックス731にデータを入力する。図36の「MapEditDialog」オブジェクト950は、関数呼び出し「selectedUserInputData」1106により、ユーザ入力データ1106を「AssignAttribute」オブジェクト954に送る。そして、ユーザは図23の「Assign」ボタンを選択する。図36の「MapEditDailog」オブジェクト950は、関数「assignUserINput」1108によって、ユーザ入力をHTML属性に割り当てることを「AssignAttribute」オブジェクト954に知らせる。図38の「AssignAttribute」オブジェクト954は、ユーザ入力値が割り当てられるHTML属性1109とユーザ入力データ1109を、関数呼び出し「assignHTMLAttributeWithUserInput」1109によって「MapCreateEditService」オブジェクト792に送る。
HTML属性にどのHTML属性ソース型が割り当てられた場合でも、ユーザはHTML属性のソース型を変更することができる。例えば、選択されたHTML属性に対し図23の「No Value」ラジオボタン732が選択されている場合、ユーザは、図23の「User Input」ラジオボタン734などの他のラジオボタンを選択することにより、HTML属性のソース型を変更することができる。ユーザは、選択したラジオボタンによっては、HTML属性に値が割り当てられる前にさらに情報を入力する必要がある。
「SGML Attribute」ラジオボタン726、「SGML Content」ラジオボタン728、「User Input」ラジオボタン734については、ユーザは入力選択を2度以上変更できる。例えば、ユーザは、「User Input」テキスト編集ボックス731内のユーザ入力を2度以上変更できる。また例えば、ユーザは、「Source SGML Tag」リストボックス722であるコンテントSGMLタグを選択した後に、別のコンテントSGMLタグを選択することができる。ユーザが最後に与えた値が「Assign」ボタン736が選択された時にHTML属性に割り当てられる値である。
ユーザは、値を割り当てる属性の選択、HTML属性ソース型に関するラジオボタンの選択、HTML属性への値の割り当て、及び、図23の「Assign」ボタンの選択を、必要な全てのHTML属性の割り当てが終わるまで繰り返す。そして、ユーザは、図23の「Assign Done」ボタン740を選択する。図33の「MapEditDialog」オブジェクト950は、属性への値割り当てが終わったことを、関数呼び出し「assigndoneSelected」1064により「AssignAttribute」オブジェクト954へ知らせ、同オブジェクト954は呼び出し「assigndoneSelected」1066を図35の「MapCreateEditService」オブジェクト792に送る。
ユーザは、図23の「Current HTML Tag」リストボックス704にHTMLタグを追加する操作を必要なだけ繰り返す。ユーザは何時でも、図23の「Clear HTML」ボタン708又は「Delete HTML」ボタン710を選択することによって、「Current HTML Tag」リストボックス704のクリア又はHTMLタグの削除を行うことができる。ユーザは、一つのSGMLタグのマッピングを完了したならば、「Map SGML Tag」ボタン714を選択する。図33の「MapEditDialog」オブジェクト950は、ユーザが選択されたSGMLタグのマッピングを完了したことを、関数呼び出し「doneMappingSGMLTag」1068により「MapTag」オブジェクト952に知らせる。図34の「MapTag」オブジェクト952は、ユーザが選択されたSGMLタグのマッピングを完了したことを、関数呼び出し「finishOneMapping」1070により「MapCreateEditService」オブジェクト792に知らせる。図33の「MapEditDialog」オブジェクト950は、「MapTag」オブジェクト952に対し、関数呼び出し「getNextSGMLTag」1072によって、YESメッセージ1072と共にマッピングするためのSGMLタグ1072を要求し、そのSGMLタグ1072を図23の「SGML Tag」リストボックス702に表示する。次に、図34の「MapTag」オブジェクト952は、「SGMLSUmbolTable」オブジェクト884から、関数呼び出し「getNextElement」1074によって次のSGMLタグ1074をYESメッセージ1074と共に取得する。そして、「MapTag」オブジェクト952は、関数呼び出し「getNextSGMLTag」1072に応じて、そのSGMLタグ1072を、図33の「MapEditDialog」オブジェクト950へ返す。
ユーザは、マッピングしたい全てのSGMLタグに対するマッピング処理を繰り返す。ユーザは、マップエディタが必要でなくなると、図23の「Done」ボタン716を選択する。図33の「MapEditDialog」オブジェクト950は、マッピングが完了したことを、関数呼び出し「doneMaping」1076によって「MapTag」オブジェクト952に知らせる。図34の「MapTag」オブジェクト952は、SGMLタグのマッピングが完了したことを、関数呼び出し「finishCreatingMap」1078によって「MapCreateEditService」オブジェクト792に知らせる。
図39は、本発明を実施できるハードウェア構成の例を示す。ワークステーション1200は、構成パーツとして、ディスプレイコントローラ1202、中央処理ユニット(CPU)1204、ランダムアクセスメモリ(RAM)1206、リードオンリーメモリ(ROM)1208、キーボード1212及びマウス1214と接続された入力コントローラ1210、システムバス1220、ディスクコントローラ1226に接続されたハードディスク1222及びフロッピードライブ1224、ネットワーク1230と接続された通信コントローラ1228、ハードディスク1236及びプリンタ1234と接続された入出力(I/O)コントローラ1232、ディスプレイコントローラ1202に接続された陰極線管(CRT)1238を有する。システムバス1220は、CPU1204、RAM1206、ROM1208、入力コントローラ1210、ディスクコントローラ1226、通信コントローラ1228、I/Oコントローラ1232及びディスプレイコントローラ1202を、接続線を通じてデータを転送できるように接続する。
例えば、実行可能に生成されたコンピュータ・コードは、RAM1206にロードされ、システムバス1220を利用し、ハードディスク1236に格納されている入力ファイルを利用し、キーボード1212及びマウス1214から入力コントローラ1210を介して、またハードディスク1222及びフロッピードライブ1224からディスクコントローラ1226を介して、システムバス1220に入る他の入力を利用して、CPU1204によって実行される。システムバス1220は、ROM1208、ネットワーク1230及び通信コントローラ1228との間で情報をやり取りする。システムのGUIは、ディスプレイコントローラ1202を介してCRT1238に表示させることができ、また、I/Oコントローラ1232を介してプリンタ1234又はハードディスク1236に出力させることができる。
図1乃至図39に関連て前述した手順により、第1の構造化情報フォーマットを第2の構造化情報フォーマットへ変換するためのマップクリエイター・エディタの異なった実装方法が可能である。例えば、第1のデータベース・フォーマットの変数名を、第2のデータベース・フォーマットの変数名にマッピングしてもよい。もう一つの実装方法は、ISO/IEC9070フォーマットの公開識別子を、UNIXファイル名フォーマットのファイル名にマッピングすることである。
他の実装方法の場合にも、SGMLからHTMLへのマッピング及び変換に関して説明した同一技術が利用されるが、情報の構造の定義の仕方はSGML DTDとは異なる。一般的に言えば、パーサは、入力ソースファイルを、そのために指定された構造フォーマットに基づいて、マップの生成及び編集のためのソース・コンポーネントとそれらの構造とに分解する。これらのソース・コンポーネントとその構造はユーザに提示され、この第1の構造のコンポーネントが対話的に選択され、第2の構造のターゲット・コンポーネント候補がユーザに提示され、ソース・コンポーネントのマッピングのためのターゲット・コンポーネントが選択され、変換マップの規則が生成される。ISO/IEC9070フォーマットの公開識別子をUNIXファイルシステムフォーマットのファイル名へマッピングする実装例を、図40乃至図47に関連して以下に説明する。
図40は、ISO/IEC9070標準フォーマットの公開識別子を示す。所有者名は、登録所有者名と未登録所有者名からなる。ここに示す例では所有者名は「XYZ」である。公開識別子はオブジェクト名も有し、これは「//」によって所有者名と分離される。ここに示す例では、オブジェクト名は「font::metric::x−offset::622」である。
一方のシステム構造を他方のシステム構造へマッピングするには、一方の許容文字セットの文字列を他方の許容文字セットの文字列へ変換する必要がある。例えば、コンピュータのプログラミング言語は、有効な変数名の作成に利用可能な文字のアルファベットを持つように定義される。第1のプログラミング言語は、「−」(ハイフン)文字を有効な変数名中に使用することを許すが、「_」(下線)は使用を許さないというように定義されるかもしれない。第2のプログラミング言語は、「_」の使用を許すが「−」の使用を許さないというように定義されるかもしれない。第1のプログラミング言語の有効な変数名を第2のプログラミング言語の有効な変数名にマッピングするには、出現した「−」を、第2のプログラミング言語の環境で許容される別の文字、例えば「_」にマッピングする必要があろう。ISO/IEC9070のネーミング方式からUNIXのファイル名方式へのマッピング例において、セパレータ「//」はISO/IEC9070では許されるが、UNIXファイルシステムのネーミング規則では有効な文字列ではない。ISO/IEC9070の有効な名前をUNIXの有効なファイル名にマッピングしようとするユーザは、出現したセパレータ「//」をすべて、有効なUNIXファィル名の文字列へ変換する必要がある。
図41は、ISO/IEC9070の公開識別子のUNIXのファイル名へのマッピング例を示す。このマッピング例では、構造化された公開識別子をフラットなUNIXファイル名へマッピングする。行1420,1422,1424,1426はコンポーネント名文字列をUNIXフォーマットの同じ文字列へマッピングする規則を示している。行1428は、ISO/IEC9070の所有者名コンポーネントのセパレータ「::」(これはあまり用いられないが)を、有効なUNIX文字である「_」へマッピングする規則を示している。行1430は、ISO/IEC9070の所有者名コンポーネントとオブジェクト名コンポーネントのセパレータ「//」(これはUNIXファイルフォーマットでは有効な文字列ではない)を、「__」(下線2文字)へマッピングする規則を示している。
図42は、図40に例示したISO/IEC9070の名前を、図41のマッピング方法によってマッピングして得られるUNIXファイル名の例を示す。図40の行1400の所有者名「XYZ」は、図41の行1420の規則により「XYZ」にマッピングされる。「//」は、図41の行1430の規則によって「__」にマッピングされる。図40の公開識別子1400のオブジェクト名中の三つの部分文字列「::」はそれぞれ、図41の行1428の規則により文字「_」にマッピングされる。
図43は、ISO/IEC9070の公開識別子(1502)をUNIXファイルシステムフォーマット(1504)へマッピングするためのユーザインターフェースの例を示す。マップクリエイター・エディタ1500は、ISO/IEC9070規約による名前をUNIXファイルシステム規約による名前にマッピングする。マッピングは例えば、公開識別子コンポーネントのシステムウィンドウ1502とUNIXファイル名コンポーネントのシステムウィンドウ1504から始まる。公開識別子コンポーネント(1502)は、登録所有者名と、未登録所有者名と、オブジェクト名である。ユーザは、これら選択項目の一つを選択する。所有者名(Owner Name)が選択されたときには、ユーザは図44のプレフィクスと所有者名コンポーネント(1522)の中から選択するように要求される。提示されるユーザ選択項目は、「Create Dir.」(ディレクトリ作成)1506、「Map」(マップ)1508、「merge all」(全マージ)1510、「next」(次へ)1512、及び「previous」(前へ)1514である。選択項目「Create Dir.」1506により、ユーザは、UNIXファイル名システムウィンドウ1504内に新しいディレクトリ名を作成することができる。選択項目「Map」1508によって、ユーザは要求時にマップを生成するように要求できる。選択項目「merge all」1510により、ユーザは、公開識別子名(1502)の全コンポーネントを一つのフラットなファイル名(1504)にマージしてUNIXファィル名を生成することができる。選択項目「next」1512によって、ユーザは、次画面へ進むことができる。選択項目「previous」1514により、ユーザは前画面へ戻ることができる。
図44は、図43のISO/IEC9070公開識別子(1502)の登録所有者コンポーネント(1522)のためのユーザインターフェースの例を示す。ユーザインターフェース1520の提示選択項目は、プレフィクスと所有者名コンポーネントを示すウィンドウ1522である。ユーザ選択項目は、「map individually」(個別マッピング)1524と、「merge both」(マージ)1526と、「next」(次へ)1527と、「previous」(前へ)1528である。選択項目「map individually」1524により、ユーザは、ISO/IEC9070の名前の個々のコンポーネント(1522)を図43のUNIXシステムフォーマットの個々のコンポーネント(1504)へマッピングすることができる。選択項目「merge both」1526により、ユーザは、登録所有者名(1522)を一つのフラットなUNIXのファイル名又はディレクトリ名へマッピングすることができる。選択項目「next」1527により、ユーザは次画面へ進むことができる。選択項目「pervious」1528により、ユーザは前画面へ戻ることができる。
図45は、プレフィクス、所有者名コンポーネント・セパレータをUNIXで許される文字セット1534のフォーマットへマッピングするためのユーザインターフェース1530を例示している。登録所有者名コンポーネントには、プレフィクスと所有者名コンポーネント・セパレータ「::」1532がある。このセパレータは、UNIX環境ではあまり用いられない文字列である。ユーザは、セパレータ「::」1532を、UNIXファイルシステムの文字セット1534中の有効な文字のどれにでもマッピングできるが、デフォルトでは「_」へマッピングされる。ユーザ選択項目は「map」(マップ)1536と「next」(次へ)1537と「previous」(前へ)1538である。選択項目「map」1536によりユーザはマップの生成を選ぶことができるが、そのマップを生成するための選択項目の選択を済ませていることが前提である。選択項目「next」1537により、ユーザは次画面へ進むことができる。選択項目「previous」1538により、ユーザは前画面へ戻ることができる。
図46は、所有者名文字1542をUNIXファイルシステムフォーマットの有効な文字1544へマッピングするためのユーザインターフェース1540を例示している。ユーザは、ISO/IEC9070系で有効な特殊文字1542のUNIXファイルシステム系で有効な文字1544へのマッピングに関するいくつかの選択項目が与えられる。ISO/IEC9070系の文字は、デフォルトでは、「_」にマッピングされる。ユーザは、選択項目として「map」(マップ)1546と「next」(次へ)1548と「previous」(前へ)1550を与えられる。選択項目「map」1546により、ユーザは、マップの生成を選ぶことができるが、そのマップを生成するための選択項目の選択を済ませていることが前提である。選択項目「next」1548により、ユーザは、次画面へ進むことができる。選択項目「previous」1550により、ユーザは、前画面へ戻ることができる。
図47は、ユーザが登録所有者コンポーネント1562をUNIXファイル系フォーマット1564へマッピングするためのユーザインターフェース1560を例示している。ユーザは、登録所有者名のプレフィクス又はプレフィクス以外の所有者名コンポーネント(1562)を選択することができる。ユーザは、UNIXファイル系のオブジェクト名オプション付きファイルを選択することもできる。ユーザは、現在選択されているオプション付きのマップを生成するための選択項目「map」1566が与えらる。ユーザは、前画面へ戻るための選択項目「previous」1568も与えられる。
マップの生成及び編集のためのユーザ対話を伴うSGMLからHTMLへのトランスフォーマのためのマッピング・クリエイター及びエディタの実装例と、ISO/IEC9070からUNIXファイルフォーマットへのトランスフォーマのためのマッピング・クリエイター及びエディタの具体例を使って、本発明を説明した。以上の説明で示した例は、OOP技術とウインドウGUI技術を利用してユーザインターフェース、マップ処理及び変換を実現している。しかし、ユーザインターフェースは、テキスト行による照会又はメニューによって実現してもよい。OOP以外のプログラミング手法を利用して処理を実現してもよい。記憶域への参照は、ポインタを使わない方法で行ってもよい。
本明細書の記載内容に従ってプログラムした普通の汎用デジタルコンピュータ又はマイクロプロセッサを利用し、本発明を適切に実施できることは、コンピュータ分野の当業者には明かであろう。ここに開示した内容に基づいて熟達したプログラマが容易に適切なソフトウェアのコーディングを行うことができることは、ソフトウェア分野の当業者には明白であろう。特定用途向け集積回路を用意することにより、または、在来の要素回路の適当な回路網を相互接続することにより、本発明を実施してもよいことは当該技術分野の当業者には明らかであろう。
本発明に、コンピュータプログラム製品、すなわち、本発明の処理をコンピュータに実行させるようプログラムするために利用できる命令群を格納した記憶媒体が含まれる。この記憶媒体は、フロッピーディスク、光ディスクD−ROM、光磁気ディスクなどの任意の種類のディスクや、ROM、RAM、EPROM、EEPROM、磁気又は光カード、電子的な命令群の格納に適した任意種類の媒体でよいが、これらに限られるものではない。
以上に開示した内容に照らし、本発明の様々な修正及び変更が可能であることは明白である。したがって、本発明は、以上に具体的に述べた以外のやり方でも実施し得るものである。
標準一般化マークアップ言語(SGML)の文書型定義(DTD)の例を示す図である。 SGMLからHTMLへのマッピングの例を示す図である。 SGML文書の例を示す図である。 図3のSGML文書の変換により得られるHTML文書の例を示す図である。 図4のHTML文書により生成されるブラウザ出力の例を示す図である。 SGML文書の階層性をツリー形式で示す図である。 HTML文書のより「扁平な」階層構造を示す図である。 SGMLからHTMLへのマッピング及び変換のための主要コンポーネントの設計図である。 SGMLからHTMLへのマッピング及び変換の過程におけるデータフローを示す図である。 ある構造化フォーマットの情報から他の構造化フォーマットの情報へのマッピング及び変換の過程におけるデータの流れ及びファイル間相互作用を示す図である。 SGMLからHTMLへのマッピング及び変換の過程におけるデータの流れ及びファイル間相互作用を示す図である。 SGMLからHTMLへのマッピング及び変換のためのマップクラス・オブジェクトのファイル組織を示す図である。 SGMLからHTMLへのマッピング及び変換のためのマップモジュールのマップクラス構造を示す図である。 図13のマップ・モジュール内の主要クラスを示す図である。 SGMLからHTMLへのマッピング及び変換に関わるSrcSGMLTagAttr(ソースSGMLタグ属性)クラスのマップクラス構造を示す図である。 SGMLからHTMLへのマッピング及び変換に関わるSrcSGMLConten(ソースSGMLコンテント)クラスのマップクラス構造を示す図である。 SGMLからHTMLへのマッピング及び変換に関わるMapService(マップサービス)クラスのマップクラス構造を示す図である。 SGMLからHTMLへのマッピング及び変換に関わるMapCreateEditService(マップクリエイト編集サービス)クラスのマップクラス構造を示す。 SGMLからHTMLへのマッピング及び変換に関わる主要モジュール間の階層的相互作用を示す図である。 SGMLからHTMLへのマッピング及び変換のためのメインアプリケーションウインドウの例を示す図である。 ファイル・オープン用ダイアログボックス及びファイル保存用ダイアログボックスの例を示す図である。 SGMLからHTMLへのマッピング及び変換に関わるマップ処理選択ウインドウの例を示す図である。 SGMLからHTMLへのマップエディタ用ウインドウの例を示す図である。 ダイアログボックスにサンプルデータが表示された状態の、SGMLからHTMLへのマップエディタ用ウインドウの例を示す図である。 SGMLからHTMLへのマッピング及び変換のためのメニューマネージャのクラス線図を示す図である。 SGMLからHTMLへのマッピング及び変換に関わるシステムのスタートアップのためのオブジェクト・メッセージ線図を示す図である。 SGML文書を初めて開くためのオブジェクト・メッセージ線図を示す図である。 新規のSGML文書を開くためのオブジェクト・メッセージ線図を示す図である。 SGMLからHTMLへのマッピング及び変換のためのGUIの設計図である。 SGMLからHTMLへのマッピング及び変換のためのマップの編集に関わるクラスのオブジェクト間の振る舞いをオブジェクト・メッセージ線図として示す図である。 SGMLからHTMLへのマッピング及び変換のためのマップの編集に関わるクラスのオブジェクト間の振る舞いをオブジェクト・メッセージ線図として示す図である。 SGMLからHTMLへのマッピング及び変換のためのマップの編集に関わるクラスのオブジェクト間の振る舞いをオブジェクト・メッセージ線図として示す図である。 HTML属性に値を割り当てるためのクラスのオブジェクトの振る舞いをオブジェクト・メッセージ線図として示す図である。 HTML属性に値を割り当てるためのクラスのオブジェクトの振る舞いをオブジェクト・メッセージ線図として示す図である。 HTML属性に値を割り当てるためのクラスのオブジェクトの振る舞いをオブジェクト・メッセージ線図として示す図である。 HTML属性に値を割り当てるためのクラスのオブジェクトの振る舞いをオブジェクト・メッセージ線図として示す図である。 HTML属性に値を割り当てるためのクラスのオブジェクトの振る舞いをオブジェクト・メッセージ線図として示す図である。 HTML属性に値を割り当てるためのクラスのオブジェクトの振る舞いをオブジェクト・メッセージ線図として示す図である。 GMLからHTMLへのマッピング及び変換を実施するためのハードウェア構成例を示すブロック図である。 ISO/IEC 9070フォーマットの公開識別子の例を示す図である。 ISO/IEC 9070フォーマットからUNIXファイル名フォーマットへのマッピングの例を示す図である。 図41のマップにより図40の公開識別子をマッピングして得られるUNIXファイル名の例を示す図である。 ISO/IEC 9070フォーマットの公開識別子をUNIXファイル名フォーマットへマッピングするためのユーザインターフェース表示の例を示す図である。 ISO/IEC 9070フォーマットの登録所有者フィールドをUNIXファイル名フォーマットへマッピングするためのユーザインターフェース表示の例を示す図である。 ISO/IEC 9070フォーマットのプレフィクス、所有者名コンポーネント・セパレータのUNIXファイル名フォーマットへの文字マッピングを選択するためのユーザインターフェースの例を示す図である。 ISO/IEC 9070の所有者名をUNIXファイル名フォーマットの有効な文字へマッピングするためのユーザインターフェースの例を示す図である。 ISO/IEC 9070フォーマットの登録所有者コンポーネントをUNIXファイル名フォーマットへマッピングするためのユーザインターフェースの例を示す図である。 図6のツリー構造に対応した標準一般化マークアップ言語(SGML)文書型定義(DTD)の例を示す図である。 図7のツリー構造に対応した文書を作成するための、図48のSGMLDTDのSGML要素のHTML要素へのマップの例を示す図である。
図48のSGML DTDに従った文書の例を示す図である。 図50に示した文書の続きを示す図である。 図49のマップによって図50及び図51に示したSGML文書をHTML要素へ変換することにより生成されるHTML文書の例を示す図である。
符号の説明
180 GUIモジュール
182 パーサ
184 マップモジュール
186 トランスフォーマ
188 サービスモジュール
200 SGML DTD
202 SGMLパーサ
206 HTML3.2記号テーブル
208 マップエディタ
210 対話ユーザ
212 マップ
216 HTML文書インスタンス
218 SGML応用文書インスタンス
222 SGML応用記号テーブル
230 システムA構造記述
232 システムB構造記述
238 システムAインスタンス
244 システムBインスタンス
250 データベース設計
256 SGMLエディタ
260 HTML DTD
262 ブラウザ
470 アプリケーションウィンドウモジュール
472 メニューマネージモジュール
474 ファイルサービスモジュール
476 マップエディタモジュール
478 ビューモジュール
480 マップモジュール
482 メッセージダイアログサービスモジュール

Claims (55)

  1. 第1の構造記述から第2の構造記述へのマッピングを生成するためのグラフィカルユーザインターフェースを提供する、コンピュータにより実施される方法であって、
    第1の構造記述の変換対象の要素を表示するステップ、
    第2の構造記述の候補要素のリストを表示するステップ、
    前記第2構造記述の前記候補要素より選択した第1の要素をユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するステップ、及び
    前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の前記対応を規則として記憶するステップ、からなることを特徴とするグラフィカルユーザインターフェース方法。
  2. 前記第1構造記述がISO/IEC9070公開識別子ネーミングフォーマットを含み、前記第2構造記述がオペレーティングシステムのファイル名フォーマットを含み、前記変換対象要素を表示する前記ステップが、ISO/IEC9070公開識別子ネーミングフォーマットの要素を含む前記変換対象要素を表示し、かつ
    前記候補要素のリストを表示するステップが、オペレーティングシステムのファイル名フォーマットの候補要素のリストを含む前記候補要素のリストを表示する、ことを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  3. 前記第1構造記述が第1のデータベース変数名フォーマットを含み、前記第2構造記述が第2のデータベース変数名フォーマットを含み、かつ、前記変換対象要素を表示する前記ステップが、前記第1データベース変数名フォーマットの要素を含む前記変換対象要素を表示し、かつ
    前記候補要素のリストを表示するステップが、前記第2データベース変数名フォーマットの候補要素のリストを含む前記候補要素のリストを表示する、ことを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  4. 前記記憶された規則を取得するステップ、
    前記第1構造記述の前記変換対象要素を表示するステップ、
    前記第2構造記述の前記選択された第1要素を表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するステップ、
    前記第2構造記述の前記候補要素のリストを表示するステップ、
    前記第2構造記述の前記候補要素より選択した第2の要素をユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するステップ、及び
    前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の前記対応を規則として記憶するステップをさらに含むことを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  5. 表示中の前記選択された第1の要素をクリアする要求をユーザが入力するためのアイコンを表示するステップ、
    表示中の前記選択された第1要素をクリアする要求をユーザが入力した時に、前記表示中の前記選択された第1要素をクリアする要求を入力するステップ、
    及び
    表示中の前記選択された第1要素をクリアする要求をユーザが入力した時に、表示中の前記選択された第1要素をクリアするステップをさらに含むことを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  6. 前記第1構造記述が第1のマークアップ言語を含み、前記第2構造記述が第2のマークアップ言語を含み、かつ、前記変換対象要素を表示する前記ステップが、前記第1マークアップ言語の要素を含む前記変換対象要素を表示し、
    かつ
    前記候補要素のリストを表示する前記ステップが、前記第2マークアップ言語の候補要素のリストを含む前記候補要素のリストを表示することを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  7. 前記第1マークアップ言語が標準一般化マークアップ言語(SGML)を含み、前記第2マークアップ言語がハイパーテキスト・マークアップ言語(HTML)を含み、かつ、前記変換対象要素を表示する前記ステップが、SGMLの要素を含む前記変換対象要素を表示し、
    かつ、
    前記候補要素のリストを表示する前記ステップが、HTMLの候補要素のリストを含む前記候補要素のリストを表示することを特徴とする請求項6記載のグラフィカルユーザインターフェース方法。
  8. 前記記憶するステップが、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素から選択された前記第1要素との間の対応を、規則として変換規則リストに記憶することを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  9. 前記第1構造記述の第2の変換対象要素を表示するステップ、
    前記第2構造記述の候補要素のリストを表示するステップ、
    前記第2構造記述の前記候補要素より選択した第2の要素をユーザより入力し、前記第1構造記述の前記第2変換対象要素と前記第2構造記述の前記候補要素より選択した前記第2要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するステップ、及び
    前記第1構造記述の前記第2変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の前記対応を規則として変換規則リストに記憶するステップをさらに含んでなることを特徴とする請求項8記載のグラフィカルユーザインターフェース方法。
  10. 前記入力するステップが、前記選択された第1要素を規則として前記変換規則リストに記憶させる要求をユーザが入力するためのアイコンを表示し、
    かつ
    前記記憶するステップが、前記選択された第1要素を規則として記憶させる要求をユーザが入力した時に、前記対応を規則として前記変換規則リストに記憶させる要求を入力し、かつ、前記選択された第1要素を規則として記憶させる要求をユーザが入力した時に、前記第1構造記述の第2の変換対象要素を表示することを特徴とする請求項8記載のグラフィカルユーザインターフェース方法。
  11. 前記入力するステップが、前記対応を規則として前記変換規則リストに記憶させる要求をユーザが入力するためのアイコンを表示し、
    かつ
    前記記憶するステップが、前記選択された第1要素を規則として前記変換規則リストに記憶させる要求をユーザが入力した時に、前記対応を規則として前記変換規則リストに記憶させる要求を入力し、かつ、前記変換規則リストをマップとして記憶することを特徴とする請求項8記載のグラフィカルユーザインターフェース方法。
  12. 前記変換規則リストを削除する要求をユーザが入力するためのアイコンを表示するステップ、
    前記規則変換リストを削除する要求をユーザが入力した時に、前記変換規則リストを削除する要求を入力するステップ、及び
    前記変換規則リストを削除する要求をユーザが入力した時に、前記変換規則リストを削除するステップをさらに含むことを特徴とする請求項8記載のグラフィカルユーザインターフェース方法。
  13. 前記第2構造記述の前記候補要素から選択された前記第1要素を表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素から選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するステップをさらに含むことを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  14. 前記入力するステップが、前記第2構造記述の前記複数の候補要素の第1の順序リストをユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義し、
    前記選択された第1要素を表示する前記ステップが、前記第2マークアップ言語の前記複数の候補要素の前記第1順序リストを表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義し、
    かつ
    前記記憶するステップが、前記第1構造記述の要素の前記第2構造記述への変換としての、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、規則として記憶することを特徴とする請求項13記載のグラフィカルユーザインターフェース方法。
  15. 前記記憶された規則を取得するステップ、
    前記第1構造記述の前記変換対象要素を表示するステップ、
    前記第2構造記述の要素の前記第1順序リストを表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するステップ、
    前記第2構造記述の候補要素の前記リストを表示するステップ、
    前記第2構造記述の複数の候補要素の第2の順序リストをユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第2順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するステップ、及び
    前記第1構造記述の要素の前記第2構造記述への変換としての、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第2順序リストとの間の対応を、規則として記憶するステップをさらに含むことを特徴とする請求項14記載のグラフィカルユーザインターフェース方法。
  16. 表示中の前記第1順序リストをクリアする要求をユーザが入力するためのアイコンを表示するステップ、
    表示中の前記第1順序リストをクリアする要求をユーザが入力した時に、表示中の前記第1順序リストをクリアする要求を入力するステップ、及び
    表示中の前記第1順序リストをクリアする要求をユーザが入力した時に、表示中の前記第1順序リストをクリアするステップをさらに含むことを特徴とする請求項14記載のグラフィカルユーザインターフェース方法。
  17. 前記第2構造記述の属性値の割り当てのため、前記第1構造記述の要素の前記第2構造記述への変換に対応する前記第2構造記述の前記候補要素から選択された前記第1要素の属性を表示するステップ、
    表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースを表す複数のアイコンを表示するステップ、
    前記第1構造記述の要素を表示するステップ、
    前記第1構造記述の要素の属性リストを表示するステップ、
    表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースの選択に関するユーザ入力を入力するステップ、及び
    表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースの前記選択をユーザが入力した時に、表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースの選択に関する前記ユーザ入力を処理するステップをさらに含むことを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  18. 前記処理するステップが、ユーザが入力した前記ソースの選択がどのソースも使用しないことを指示する時に、表示中の前記選択された第1要素の属性にヌル値を割り当てることを特徴とする請求項17記載のグラフィカルユーザインターフェース方法。
  19. 前記処理するステップが、ユーザが入力した前記ソースの選択がシステム値を使用することを指示する時に、表示中の前記選択された第1要素の属性にシステム値を割り当てることを特徴とする請求項17記載のグラフィカルユーザインターフェース方法。
  20. 前記処理するステップが、ユーザが入力した前記ソースの選択が第1構造記述属性値ソースを使用することを指示する時に、表示中の前記選択された第1要素の属性に第1構造記述属性値を割り当てることを特徴とする請求項17記載のグラフィカルユーザインターフェース方法。
  21. 前記処理するステップが、ユーザが入力した前記ソースの選択が第1構造記述コンテント値ソースを使用することを指示する時に、表示中の前記選択された第1要素の属性に第1構造記述コンテント値を割り当てることを特徴とする請求項17記載のグラフィカルユーザインターフェース方法。
  22. 前記処理するステップが、ユーザが入力した前記ソースの選択がユーザ入力値ソースを使用することを指示する時に、表示中の前記選択された第1要素の属性にユーザ入力値を割り当てることを特徴とする請求項17記載のグラフィカルユーザインターフェース方法。
  23. 前記割り当てるステップが、
    割り当てる値をユーザが入力するためのテキスト入力領域を表示し、
    前記テキスト入力領域にユーザにより入力された値を入力し、
    ユーザに入力された前記値を表示中の前記選択された第1要素の属性に割り当てることを特徴とする請求項22記載のグラフィカルユーザインターフェース方法。
  24. 第2構造記述の候補要素のリストを表示する前記ステップが、
    前記変換における前記第1構造記述要素の削除要求候補を表示し、また、
    前記変換における前記第1構造記述要素の無視要求候補を表示することを特徴とする請求項1記載のグラフィカルユーザインターフェース方法。
  25. 第1の構造記述から第2の構造記述へのマッピングを生成するためのグラフィカルユーザインターフェースを提供する装置であって、
    第1の構造記述の変換対象要素を表示する要素表示手段、
    第2の構造記述の候補要素のリストを表示するリスト表示手段、
    前記第2構造記述の前記候補要素より選択した第1の要素をユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するユーザ入力手段、及び
    前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を規則として記憶する記憶手段からなることを特徴とするグラフィカルユーザインターフェース装置。
  26. 前記第1構造記述がISO/IEC9070公開識別子ネーミングフォーマットを含み、前記第2構造記述がオペレーティングシステムのファイル名フォーマットを含み、かつ、前記要素表示手段が、ISO/IEC9070公開識別子ネーミングフォーマットの要素を含む前記変換対象要素を表示する手段からなり、かつ
    前記リスト表示手段が、オペレーティングシステムのファイル名フォーマットの候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  27. 前記第1構造記述が第1のデータベース変数名フォーマットを含み、前記第2構造記述が第2のデータベース変数名フォーマットを含み、かつ、前記要素表示手段が、前記第1データベース変数名フォーマットの要素を含む前記変換対象要素を表示する手段からなり、かつ
    前記リスト表示手段が、前記第2データベース変数名フォーマットの候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  28. 前記記憶された規則を取得する手段、
    前記第1構造記述の前記変換対象要素を表示する手段、
    前記第2構造記述の前記選択された第1要素を表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段、
    前記第2構造記述の前記候補要素のリストを表示する手段、
    前記第2構造記述の前記候補要素より選択した第2の要素をユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段、及び
    前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の対応を規則として記憶する手段をさらに含むことを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  29. 表示中の前記選択された第1要素をクリアする要求をユーザが入力するためのアイコンを表示する手段、
    表示中の前記選択された第1要素をクリアする要求をユーザが入力した時に、表示中の前記選択された第1要素をクリアする要求を入力する手段、
    及び
    表示中の前記選択された第1要素をクリアする要求をユーザが入力した時に、表示中の前記選択された第1要素をクリアする手段をさらに含むことを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  30. 前記第1構造記述が第1のマークアップ言語を含み、前記第2構造記述が第2のマークアップ言語を含み、かつ、前記要素表示手段が、前記第1マークアップ言語の要素を含む前記変換対象要素を表示する手段からなり、かつ
    前記リスト表示手段が、前記第2マークアップ言語の候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  31. 前記第1マークアップ言語がSGMLを含み、前記第2マークアップ言語がHTMLを含み、かつ、前記要素表示手段が、SGMLの要素を含む前記変換対象要素を表示する手段からなり、かつ
    前記リスト表示手段が、HTMLの候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項30記載のグラフィカルユーザインターフェース装置。
  32. 前記記憶手段が、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素から選択された前記第1要素との間の対応を、規則として変換規則リストに記憶する手段からなることを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  33. 前記第1構造記述の第2の変換対象要素を表示する手段、 前記第2構造記述の候補要素のリストを表示する手段、
    前記第2構造記述の前記候補要素より選択した第2の要素をユーザより入力し、前記第1構造記述の前記第2変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段、及び
    前記第1構造記述の前記第2変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の対応を規則として変換規則のリストに記憶する手段をさらに含むことを特徴とする請求項32記載のグラフィカルユーザインターフェース装置。
  34. 前記選択された第1要素の対応を規則として前記変換規則リストに記憶させる要求をユーザが入力するためのアイコンを表示する手段、
    前記選択された第1要素を規則として記憶させる要求をユーザが入力した時に、前記対応を規則として前記変換規則リストに記憶させる要求を入力する手段、及び
    前記選択された第1要素を規則として記憶させる要求をユーザが入力した時に、前記第1構造記述の第2の変換対象要素を表示する手段をさらに含むことを特徴とする請求項32記載のグラフィカルユーザインターフェース装置。
  35. 前記対応を規則として前記変換規則リストに記憶させる要求をユーザが入力するためのアイコンを表示する手段、
    前記選択された第1要素を規則として前記変換規則リストに記憶させる要求をユーザが入力した時に、前記対応を規則として前記変換規則リストに記憶させる要求を入力する手段、及び
    前記変換規則リストをマップとして記憶する手段をさらに含むことを特徴とする請求項32記載のグラフィカルユーザインターフェース装置。
  36. 前記変換規則リストを削除する要求をユーザが入力するためのアイコンを表示する手段、
    前記規則変換リストを削除する要求をユーザが入力した時に、前記変換規則リストを削除する要求を入力する手段、及び
    前記変換規則リストを削除する要求をユーザが入力した時に、前記変換規則リストを削除する手段をさらに含むことを特徴とする請求項32記載のグラフィカルユーザインターフェース装置。
  37. 前記第2構造記述の前記候補要素から選択された前記第1要素を表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素から選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段をさらに含むことを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  38. 前記ユーザ入力手段が、前記第2構造記述の複数の候補要素の第1の順序リストをユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段からなり、
    前記選択された第1要素を表示する手段が、前記第2マークアップ言語の前記複数の候補要素の前記第1順序リストを表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段からなり、かつ
    前記記憶手段が、前記第1構造記述の要素の前記第2構造記述への変換としての、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、規則として記憶する手段からなることを特徴とする請求項37記載のグラフィカルユーザインターフェース装置。
  39. 前記記憶された規則を取得する手段、
    前記第1構造記述の前記変換対象要素を表示する手段、
    前記第2構造記述の要素の前記第1順序リストを表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第1順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段、
    前記第2構造記述の候補要素の前記リストを表示する手段、
    前記第2構造記述の複数の候補要素の第2の順序リストをユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第2順序リストとの間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段、及び
    前記第1構造記述の要素の前記第2構造記述への変換としての、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記複数の候補要素の前記第2順序リストとの間の対応を、規則として記憶する手段をさらに含むことを特徴とする請求項38記載のグラフィカルユーザインターフェース装置。
  40. 表示中の前記第1順序リストをクリアする要求をユーザが入力するためのアイコンを表示する手段、
    表示中の前記第1順序リストをクリアする要求をユーザが入力した時に、表示中の前記第1順序リストをクリアする要求を入力する手段、及び
    表示中の前記第1順序リストをクリアする要求をユーザが入力した時に、表示中の前記第1順序リストをクリアする手段をさらに含むことを特徴とする請求項38記載のグラフィカルユーザインターフェース装置。
  41. 前記第2構造記述の属性値の割り当てのため、前記第1構造記述の要素の前記第2構造記述への変換に対応する前記第2構造記述の候補要素から選択された前記第1要素の属性を表示する手段、
    表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースを表す複数のアイコンを表示する手段、
    前記第1構造記述の要素を表示する手段、
    前記第1構造記述の要素の属性リストを表示する手段、
    表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースの選択に関するユーザ入力を入力する手段、及び
    表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースの前記選択をユーザが入力した時に、表示中の前記選択された第1要素の属性に割り当てられる属性値を取得するためのソースの選択に関する前記ユーザ入力を処理する入力処理手段をさらに含むことを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  42. 前記入力処理手段が、ユーザが入力した前記ソースの選択がどのソースも使用しないことを指示する時に、表示中の前記選択された第1要素の属性にヌル値を割り当てる手段をさらに含むことを特徴とする請求項41記載のグラフィカルユーザインターフェース装置。
  43. 前記入力処理手段が、ユーザが入力した前記ソースの選択がシステム値を使用することを指示する時に、表示中の前記選択された第1要素の属性にシステム値を割り当てる手段をさらに含むことを特徴とする請求項41記載のグラフィカルユーザインターフェース装置。
  44. 前記入力処理手段が、ユーザが入力した前記ソースの選択が第1構造記述属性値ソースを使用することを指示する時に、表示中の前記選択された第1要素の属性に第1構造記述属性値を割り当てる手段をさらに含むことを特徴とする請求項41記載のグラフィカルユーザインターフェース装置。
  45. 前記入力処理手段が、ユーザが入力した前記ソースの選択が第1構造記述コンテント値ソースを使用することを指示する時に、表示中の前記選択された第1要素の属性に第1構造記述コンテント値を割り当てる手段をさらに含むことを特徴とする請求項41記載のグラフィカルユーザインターフェース装置。
  46. 前記入力処理手段が、ユーザが入力した前記ソースの選択がユーザ入力値ソースを使用することを指示する時に、表示中の前記選択された第1要素の属性にユーザ入力値を割り当てる手段をさらに含むことを特徴とする請求項41記載のグラフィカルユーザインターフェース装置。
  47. 前記割り当て手段が、
    割り当てる値をユーザが入力するためのテキスト入力領域を表示する手段、
    前記テキスト入力領域にユーザにより入力された値を入力する手段、及び
    ユーザにより入力された前記値を表示中の前記選択された第1要素の属性に割り当てる手段からなることを特徴とする請求項46記載のグラフィカルユーザインターフェース装置。
  48. 前記リスト表示手段が、
    前記変換における前記第1構造記述の前記変換対象要素の削除要求のための候補を表示する手段、及び
    前記変換における前記第1構造記述の前記変換対象要素の無視要求のための候補を表示する手段をさらに含むことを特徴とする請求項25記載のグラフィカルユーザインターフェース装置。
  49. 第1の構造記述から第2の構造記述へのマッピングを生成するためのグラフィカルユーザインターフェースを提供するグラフィカルユーザインターフェース装置をコンピュータにより実現させるためのプログラムが記録されたコンピュータ読み取り可能記録媒体であって、前記グラフィカルユーザインターフェース装置が、
    第1の構造記述の変換対象要素を表示する要素表示手段、
    第2の構造記述の候補要素のリストを表示するリスト表示手段、
    前記第2構造記述の前記候補要素より選択した第1の要素をユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義するユーザ入力手段、及び
    前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を規則として記憶する記憶手段からなることを特徴とする記録媒体。
  50. 前記第1構造記述がISO/IEC9070公開識別子フォーマットを含み、前記第2構造記述がオペレーティングシステムのファイル名フォーマットを含み、かつ、前記要素表示手段が、ISO/IEC9070公開識別子フォーマットの要素を含む前記変換対象要素を表示する手段からなり、
    かつ
    前記リスト表示手段が、オペレーティングシステムのファイル名フォーマットの候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項49記載の記録媒体。
  51. 前記第1構造記述が第1のデータベース変数名フォーマットを含み、前記第2構造記述が第2のデータベース変数名フォーマットを含み、かつ、前記要素表示手段が、前記第1データベース変数名フォーマットの要素を含む前記変換対象要素を表示する手段からなり、かつ
    前記リスト表示手段が、前記第2データベース変数名フォーマットの候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項49記載の記録媒体。
  52. 前記グラフィカルユーザインターフェース装置が、
    前記記憶された規則を取得する手段、
    前記第1構造記述の前記変換対象要素を表示する手段、
    前記第2構造記述の前記選択された第1要素を表示し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第1要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段、
    前記第2構造記述の候補要素の前記リストを表示する手段、
    前記第2構造記述の前記候補要素より選択した第2の要素をユーザより入力し、前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の対応を、前記第1構造記述の要素の前記第2構造記述への変換として定義する手段、及び
    前記第1構造記述の前記変換対象要素と前記第2構造記述の前記候補要素より選択された前記第2要素との間の対応を規則として記憶する手段をさらに含むことを特徴とする請求項49記載の記録媒体。
  53. 前記グラフィカルユーザインターフェース装置が、
    表示中の前記選択された第1要素をクリアする要求をユーザが入力するためのアイコンを表示する手段、
    表示中の前記選択された第1要素をクリアする要求をユーザが入力した時に、表示中の前記選択された第1要素をクリアする要求を入力する手段、及び
    表示中の前記選択された第1要素をクリアする要求をユーザが入力した時に、表示中の前記選択された第1要素をクリアする手段をさらに含むことを特徴とする請求項49記載の記録媒体。
  54. 前記第1構造記述が第1のマークアップ言語を含み、前記第2構造記述が第2のマークアップ言語を含み、かつ、前記要素表示手段が、前記第1マークアップ言語の要素を含む前記変換対象要素を表示する手段からなり、かつ
    前記リスト表示手段が、前記第2マークアップ言語の候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項49記載の記録媒体。
  55. 前記第1マークアップ言語がSGMLを含み、前記第2マークアップ言語がHTMLを含み、かつ、前記要素表示手段が、SGMLの要素を含む前記変換対象要素を表示する手段からなり、かつ
    前記リスト表示手段が、HTMLの候補要素のリストを含む前記候補要素のリストを表示する手段からなることを特徴とする請求項54記載の記録媒体。
JP2006039671A 1997-12-23 2006-02-16 グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体 Pending JP2006202308A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/997,482 US6085196A (en) 1997-12-23 1997-12-23 Object-oriented system and computer program product for mapping structured information to different structured information
US08/997,705 US6279015B1 (en) 1997-12-23 1997-12-23 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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10357057A Division JPH11242673A (ja) 1997-12-23 1998-12-16 構造化情報マッピングシステム、記録媒体、グラフィカルユーザインターフェース方法、及び、グラフィカルユーザインターフェース装置

Publications (1)

Publication Number Publication Date
JP2006202308A true JP2006202308A (ja) 2006-08-03

Family

ID=27130675

Family Applications (2)

Application Number Title Priority Date Filing Date
JP10357057A Pending JPH11242673A (ja) 1997-12-23 1998-12-16 構造化情報マッピングシステム、記録媒体、グラフィカルユーザインターフェース方法、及び、グラフィカルユーザインターフェース装置
JP2006039671A Pending JP2006202308A (ja) 1997-12-23 2006-02-16 グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP10357057A Pending JPH11242673A (ja) 1997-12-23 1998-12-16 構造化情報マッピングシステム、記録媒体、グラフィカルユーザインターフェース方法、及び、グラフィカルユーザインターフェース装置

Country Status (2)

Country Link
EP (2) EP0926607A3 (ja)
JP (2) JPH11242673A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792575B1 (en) 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
JP2001273188A (ja) * 2000-03-27 2001-10-05 Five Any Inc 異種端末のアクセスを許容するウェブサイト及びウェブサイトに異種端末のアクセスを許容する方法
US7555503B1 (en) * 2000-06-30 2009-06-30 Click Commerce, Inc. Method and apparatus for managing updates to a catalog
US6578030B1 (en) * 2000-06-30 2003-06-10 Requisite Technology Inc. Method and apparatus for mapping one catalog into another catalog
AU2003247968A1 (en) * 2002-07-22 2004-02-09 Contivo, Inc. A method and system for modeling components in documents
JP2007531157A (ja) * 2004-04-02 2007-11-01 マイクロソフト コーポレーション 基幹業務アプリケーション統合のためのアダプタフレームワーク
EP2518644A1 (de) * 2011-04-29 2012-10-31 Siemens Aktiengesellschaft Verfahren zur Steuerung der Übersetzung von vorgegebenen Regeln und/oder eingehenden Daten eines Datenstroms

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5530852A (en) * 1994-12-20 1996-06-25 Sun Microsystems, Inc. Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics
US5708828A (en) * 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields

Also Published As

Publication number Publication date
EP1862924A1 (en) 2007-12-05
JPH11242673A (ja) 1999-09-07
EP0926607A2 (en) 1999-06-30
EP0926607A3 (en) 2006-01-18

Similar Documents

Publication Publication Date Title
US6085196A (en) Object-oriented system and computer program product for mapping structured information to different structured information
US7681119B2 (en) 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
US6009436A (en) Method and apparatus for mapping structured information to different structured information
JP4140980B2 (ja) プログラムツリーを表示するコンピュータプログラムの構文依存しない表示方法
US5367619A (en) Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms
RU2371758C2 (ru) Интерфейс программирования для компьютерной платформы
US5301313A (en) Manipulating data in a relational data base having operational manipulations defined in an input table and displayed results in an output table with a line displayed designating direction of data flow
US7159185B1 (en) Function objects
US6781609B1 (en) Technique for flexible inclusion of information items and various media types in a user interface
US20030007014A1 (en) User interface system for composing an image page layout
JPH09134282A (ja) プログラム作成方法
JPH0383153A (ja) メツセージ処理システム及び方法
JP2006202308A (ja) グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体
CA2402919A1 (en) Trainable, extensible, automated data-to-knowledge translator
JP5147240B2 (ja) リバーシブルなデザイン・ツリーの変換のための方法とシステム
Ballance et al. The Pan language-based editing system for integrated development
US6832365B1 (en) System and method for interacting with computer programming languages at semantic level
JPH11102289A (ja) 業務処理用画面生成方法
JPH064280A (ja) ウィズィウィグ式エディターでオブジェクトをユーザ制御する機能を備えたグラフィカル・ユーザ・インターフェース
Quint et al. Active structured documents as user interfaces
Hong et al. Integrated software development environment based on CCITT/SDL for telecommunication systems
KR20020032889A (ko) 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법
Costabile et al. Iconit: an environment for design and prototyping of iconic interfaces
Libes et al. An Object-Oriented Tcl/Tk Binding for Interpreted Control of the NIST EXPRESS Toolkit in the NIST STEP Application Protocol Development Environment
JPH06243024A (ja) 文書構造表現方式、その文書構造表現方式によるネットワーク型文書処理装置、並びにデータ構造表示装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090325

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090902