(57)【特許請求の範囲】
【請求項１】
ベース表示規則生成手段、表示文書生成手段、視覚的表示文書編集環境および表示規則更新手段をソフトウェアの実行により実現するコンピュータシステムが構造化文書の表示規則を生成する方法であって、
前記ベース表示規則生成手段が、前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するステップと、
前記表示文書生成手段が、前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の各要素と前記第１表示文書の各要素との対応関係を要素間対応関係ファイルに記録するステップと、
ユーザによる編集操作に応答して、前記視覚的表示文書編集環境を利用して、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記視覚的表示文書編集環境が前記編集の履歴を編集操作履歴ファイルに記録するステップと、
前記表示規則更新手段が、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とを用い、前記第２表示文書から要素を取り出し、前記要素に関連する操作を前記編集操作履歴ファイルから取り出し、前記操作から編集前の前記第１表示文書の対応する要素を特定し、前記要素間対応関係ファイルを参照してこれに対応する前記構造化文書の要素を特定し、前記操作の内容と特定した前記構造化文書の要素とを関連付けて編集記録を作成し、前記要素についての表示規則を前記編集記録に対応する規則に更新して、前記構造化文書の第２表示規則を生成するステップと
を含む表示規則の生成方法。
【請求項２】
前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである請求項１記載の表示規則の生成方法。
【請求項３】
前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第１表示規則の表要素に対応付けるものである請求項１記載の表示規則の生成方法。
【請求項４】
前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第１表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである請求項１記載の表示規則の生成方法。
【請求項５】
前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである請求項１記載の表示規則の生成方法。
【請求項６】
前記第２表示規則を生成するステップには、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するステップと、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するステップと、
前記編集記録の要素群から１つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するステップと、
を含む請求項１記載の表示規則の生成方法。
【請求項７】
前記第２表示規則を生成するステップには、さらに、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するステップを含む請求項６記載の表示規則の生成方法。
【請求項８】
前記構造化文書および表示規則は、ＸＬＭ文書およびＸＳＬ文書、ＳＧＭＬ文書およびＤＳＳＳＬ文書、または、ＣＳＶ文書およびＸＭＬベース文書である請求項１乃至７記載の表示規則の生成方法。
【請求項９】
ベース表示規則生成手段、表示文書生成手段、視覚的表示文書編集環境および構造化文書変更手段をソフトウェアの実行により実現するコンピュータシステムが構造化文書を変更する方法であって、
前記ベース表示規則生成手段が、前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するステップと、
前記表示文書生成手段が、前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録するステップと、
ユーザによる編集操作に応答して、前記視覚的表示文書編集環境を利用して、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記視覚的表示文書編集環境が前記編集の履歴を編集操作履歴ファイルに記録するステップと、
前記構造化文書変更手段が、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するステップと、を含み、
前記構造化文書を変更するステップには、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するステップと、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するステップと、
前記編集記録から１つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、
を含む構造化文書の変更方法。
【請求項１０】
ベース表示規則生成手段、表示文書生成手段、視覚的表示文書編集環境および文書型定義変更手段をソフトウェアにより実現するコンピュータシステムを利用して構造化文書の文書型定義を変更する方法であって、
前記ベース表示規則生成手段が、前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するステップと、
前記表示文書生成手段が、前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録するステップと、
ユーザによる編集操作に応答して、前記視覚的表示文書編集環境を利用して、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記視覚的表示文書編集環境が前記編集の履歴を編集操作履歴ファイルに記録するステップと、
前記文書型定義変更手段が、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するステップと、を含み、
前記構造化文書の文書型定義を変更するステップには、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するステップと、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するステップと、
前記編集記録から１つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、
を含む構造化文書の文書型定義の変更方法。
【請求項１１】
前記構造化文書の文書型定義を変更するステップには、さらに、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するステップを含む請求項１０記載の構造化文書の文書型定義の変更方法。
【請求項１２】
構造化文書の表示規則を生成するシステムであって、
前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するベース表示規則生成手段と、
前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録する表示文書生成手段と、
ユーザによる編集操作に応答して、前記第１表示文書をその文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録する視覚的表示文書編集環境と、
前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とを用い、前記第２表示文書から要素を取り出し、前記要素に関連する操作を前記編集操作履歴ファイルから取り出し、前記操作から編集前の前記第１表示文書の対応する要素を特定し、前記要素間対応関係ファイルを参照してこれに対応する前記構造化文書の要素を特定し、前記操作の内容と特定した前記構造化文書の要素とを関連付けて編集記録を作成し、前記要素についての表示規則を前記編集記録に対応する規則に更新して、前記構造化文書の第２表示規則を生成する表示規則更新手段と
を含む表示規則の生成システム。
【請求項１３】
前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである請求項１２記載の表示規則の生成システム。
【請求項１４】
前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第１表示規則の表要素に対応付けるものである請求項１２記載の表示規則の生成システム。
【請求項１５】
前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第１表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである請求項１２記載の表示規則の生成システム。
【請求項１６】
前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである請求項１２記載の表示規則の生成システム。
【請求項１７】
前記第２表示規則を生成する手段には、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行する手段と、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行する手段と、
前記編集記録の要素群から１つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行する手段と、
を含む請求項１２記載の表示規則の生成システム。
【請求項１８】
前記第２表示規則を生成する手段には、さらに、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行する手段を含む請求項１７記載の表示規則の生成システム。
【請求項１９】
前記構造化文書および表示規則は、ＸＬＭ文書およびＸＳＬ文書、ＳＧＭＬ文書およびＤＳＳＳＬ文書、または、ＣＳＶ文書およびＸＭＬベース文書である請求項１２乃至１８記載の表示規則の生成システム。
【請求項２０】
構造化文書を変更するシステムであって、
前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するベース表示規則生成手段と、
前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録する表示文書生成手段と、
ユーザによる編集操作に応答して、前記第１表示文書をその文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録する視覚的表示文書編集環境と、
前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更する構造化文書変更手段と、を含み、
前記構造化文書変更手段には、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行する手段と、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行する手段と、
前記編集記録から１つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、
を含む構造化文書の変更システム。
【請求項２１】
構造化文書の文書型定義を変更するシステムであって、
前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するベース表示規則生成手段と、
前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録する表示文書生成手段と、
ユーザによる編集操作に応答して、前記第１表示文書をその文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録する視覚的表示文書編集環境と、
前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更する文書型定義変更手段と、を含み、
前記文書型定義変更手段には、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行する手段と、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行する手段と、
前記編集記録から１つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、
を含む構造化文書の文書型定義の変更システム。
【請求項２２】
前記文書型定義変更手段には、さらに、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行する手段を含む請求項２３記載の構造化文書の文書型定義の変更システム。
【請求項２３】
構造化文書の表示規則を生成するプログラムコードが記録された媒体であって、前記プログラムコードには、
前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するプログラムコードと、
前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録するプログラムコードと、
ユーザによる編集操作に応答して、前記第１表示文書をその文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録するプログラムコードと、
前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第２表示規則を生成するプログラムコードと、
を含むプログラムコードが記録された媒体。
【請求項２４】
前記第２表示規則を生成するプログラムコードには、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するプログラムコードと、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するプログラムコードと、
前記編集記録の要素群から１つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するプログラムコードと、
を含む請求項２３記載のプログラムコードが記録された媒体。
【請求項２５】
前記第２表示規則を生成するプログラムコードには、さらに、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するプログラムコードを含む請求項２４記載のプログラムコードが記録された媒体。
【請求項２６】
構造化文書を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、
前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するプログラムコードと、
前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録するプログラムコードと、
ユーザによる編集操作に応答して、前記第１表示文書をその文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録するプログラムコードと、
前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するプログラムコードと、を含み、
前記構造化文書を変更するプログラムコードには、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するプログラムコードと、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するプログラムコードと、
前記編集記録から１つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するプログラムコードと、
を含むプログラムコードが記録された媒体。
【請求項２７】
構造化文書の文書型定義を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、
前記構造化文書の文書型定義からその要素を読み込み、前記要素毎に、要素の名前、その要素がリーフである場合には要素の内容、その要素に属性がある場合にはその要素についての属性名および属性の内容についての表示規則をデフォルト生成規則に応じて出力し、出力された前記表示規則を列挙して第１表示規則を生成するプログラムコードと、
前記第１表示規則に従って前記構造化文書の各要素を置換することによって第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係を要素間対応関係ファイルに記録するプログラムコードと、
ユーザによる編集操作に応答して、前記第１表示文書をその文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を編集操作履歴ファイルに記録するプログラムコードと、
前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するプログラムコードと、を含み、
前記構造化文書の文書型定義を変更するプログラムコードには、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するプログラムコードと、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するプログラムコードと、
前記編集記録から１つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するプログラムコードと、
を含むプログラムコードが記録された媒体。
【請求項２８】
前記構造化文書の文書型定義を変更するプログラムコードには、さらに、
前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するプログラムコードを含む請求項２７記載のプログラムコードが記録された媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、構造化文書、その表示規則および文書型定義の生成変更方法、そのシステムおよびその記憶媒体に関する。特に、編集画面上で編集操作した編集履歴を参照し、例示的に前記表示規則、文書型定義および構造化文書を自動的に生成する技術に適用して有効なものである。
【０００２】
【従来の技術】
コンピュータシステムあるいはコンピュータネットワーク間での文書やデータの互換性に優れた構造化文書が近年注目を集めいている。構造化文書では、その要素（データ）を自分で説明でき(self-describing)、また要素間に成立している関係が文書型定義を用いて記述される。文書要素（データ）の自己定義性は、人が文書を読むばかりでなく、コンピュータ上で作動するアプリケーションプログラムがデータの意味と内容を理解できるという構造化文書の特徴を発現できる。たとえばウェブを用いた電子商取引のデータ等を正確に記述できるメリットがある。
【０００３】
構造化文書の例にＸＭＬ(Extensible Markup Language)文書あるいはＳＧＭＬ(Standard Generalized Markup Language)文書がある。ＸＭＬは、ＳＧＭＬの文法定義を簡略化して処理パフォーマンスを向上し、ネットワーク適応性を向上したデータ記述言語の一つである。ＸＭＬ、ＳＧＭＬは、ともにＤＴＤ（文書型定義：Document Type Definition）あるいはＸＭＬ Ｓｃｈｅｍａを用いて文書型を定義し、文書の構造化が図られる。
【０００４】
ところで、ＸＭＬ等の構造化文書は、文書の各要素間に成立している関係が構造として記述されているものであって、その文書をどのように視覚的に表現するかという様式についての情報は含まない。このため、文書を視覚的に表現するための表示規則が構造化文書とは別個に定義される必要がある。通常、構造化文書の表示規則は形式的言語を用いて記述されるため、人間が手で書くことは困難である。よって、表示規則を簡便に生成できるシステムの実現が望まれる。
【０００５】
表示規則生成の一例として、手順を示すことによってある程度の表示規則を生成する手法が知られている。たとえば、「"インフォテリア，ＸＳＬを簡単に作成する「XML Style Wizard」を全世界に無料配布," September 1999. 」に記載されているような「XML Style Wizard」、あるいは「Internatioanl Business Machines Corp., "Visual XML Transformation Tool," Armonk, NY, December 1999. 」に記載されているような「Visual XML Creation」等である。
【０００６】
表示規則の編集システムとして、「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）等が知られている。
【０００７】
表示規則を生成するシステムの一例として、文書型定義に対する変形操作によって表示規則を生成する手法がある。たとえば、「Visual XML Transformation」（Internatioanl Business Machines Corp., 「XSL Editor,」 Armonk, NY, November 1999. ）である。
【０００８】
なお、二つの構造化文書の例を与えて，両者間のTranslatorを生成する手法として、「XML Translation Generator (XTransGen)」（Internatioanl Business Machines Corp., 「XSL Editor,」 Armonk, NY, November 1999. ）が知られている。
【０００９】
一方、例示によるプログラミング手法に関して、一般的には以下のような技術が知られている。なお、例示によるプログラミングは、機械に対する操作を収集し、収集したサンプルから一般的な操作手順を自動的に合成する技術の総称である。
【００１０】
「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.」には、自動プログラム合成と呼ばれる方法が記載されている。自動プログラム合成では、プログラムの開発者は処理手順を指示せず、機械への入力と出力の組みを与えることで、そのような入出力の変換を行う機械を得ることができる。
【００１１】
「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.」には、デモンストレーションによるプログラミング技法が記載されている。デモンストレーションによるプログラミングは、プログラマが機械の行うべき操作を人が実際に行って見せることによって、その具体的な操作の繰り返しから一般に適用できる操作を抽出する。
【００１２】
「Maulsby D. and Witten I., 「Teaching a Mouse How to Draw,」 Proceedings of Graphics Interface '89, NCGA, London Ontario, June 1989, pp.130-137.」には、デモンストレーションによるその他のプログラミング技法が記載されている。デモンストレーションによるプログラミングに教授のメタファーを取り入れ、一般化のための情報を提示できるような拡張を施した方法である。
【００１３】
その他、「Cypher Allen(ed.), 「Watch What I Do,」 MIT Press, Cambridge, MA, 1993.」には、例示によるプログラミングを採用したシステムについて記載されている。
【００１４】
【発明が解決しようとする課題】
ところが、前記した従来技術では、単純な表示規則を生成することはできるものの、複雑な表示規則をその記述言語の知識無しに生成することは困難である。
【００１５】
すなわち、前記した従来技術によれば、たとえば「XML Style Wizard」あるいは「Visual XML Creation」を用いて表示規則を自動的に生成できる。しかし、これらの手法で生成される表示規則は簡単なものであり、より詳細な表示規則をユーザの要求に応じて生成することはできない。詳細な表示規則を作成するには、ユーザ自らが形式的言語を理解して編集する必要がある。より複雑な表示規則を生成するには表示規則の編集システムが必要であり、たとえば「XSL Editor」等の編集ツールを用いて複雑な表示規則に変更できる。しかし、いずれも表示規則そのものを編集するシステムであり、表示規則を記述する形式的言語の知識が必要な点に変わりはない。
【００１６】
よって、表示規則を直接人間が編集することなく、複雑な表示規則が自動的に生成されるシステムの実現が望まれる。特に、ユーザが表示画面を見ながら例示的に編集操作を行えば、自動的に表示規則が生成されるシステムの実現が望まれる。このようなシステムでは、ユーザには表示規則を記述する言語に関する特別な知識が要求されず、ユーザにとって便利で利用性の高い表示規則生成手段が提供される。また、例示的に編集操作を行って、この編集操作が反映された表示規則の生成が自動的になされるなら、ユーザは表示画面を見ながら逐次編集を行って希望する表示様式を得ることができ、しかもこの表示が得られると同時に表示規則が自動生成され、ユーザにとっては極めて利便性の高いシステムが提供される。
【００１７】
この点、「Visual XML Transformation」を用いれば、表示規則を記述する言語に関する知識がなくとも、文書型定義に対する変形操作からの表示規則の生成が行える。しかし、この手法では、表示文書の結果を視覚的に確認しながら表示規則を変更することはできない。
【００１８】
また、前記した例示によるプログラム技法は、一般的な例示によるプログラムの自動生成についての知見に過ぎず、構造化文書の表示規則を例示操作に基づいて自動的に生成する技術に関しては何ら開示されていない。
【００１９】
本発明の目的は、例示操作に基づいて視覚的に構造化文書の表示規則を自動的に生成する技術を提供することにある。
【００２０】
本発明の他の目的は、表示文書の結果を確認しながら表示規則を少しずつ修正して、対話的に表示規則を生成できる技術を提供することにある。
【００２１】
本発明のさらに他の目的は、逐次的修正を繰り返すことによって、表示規則を記述する言語の知識がなくとも、高度な表示規則を自動的に生成できる技術を提供することにある。
【００２２】
また、本発明のさらに他の目的は、前記表示規則の生成と同様に構造化文書あるいは構造化文書の文書型定義（文法定義）を前記例示的な表示文書の変更に基づいて変更する技術を提供することにある。
【００２３】
【課題を解決するための手段】
本願の発明の概略を説明すれば、以下の通りである。本願発明のシステムには、ベース表示規則生成手段、表示文書生成手段、視覚的表示文書編集環境、および表示規則更新手段が含まれ、視覚的表示文書編集環境には描画エンジンが含まれる。
【００２４】
本発明のシステムに構造化文書とその文書型定義（文法定義）が与えられれば、まず、ベース規則生成手段により構造化文書の第１表示規則が自動的に生成される。第１表示規則の生成には、構造化文書の文書型定義と予め定められたデフォルトの生成規則とが参照される。デフォルトの生成規則は単純なものであり、たとえば構造化文書の要素を単純に列挙するような規則が用いられる。
【００２５】
生成された第１表示規則が構造化文書に適用され、表示文書生成手段により構造化文書の第１表示文書が生成される。この際、第１表示文書の各要素と構造化文書の各要素との対応関係を示す要素間対応関係ファイルが生成される。
【００２６】
第１表示文書は描画エンジンを用いて表示装置に表示され、視覚的表示文書編集環境で視覚的に第１表示文書の編集が行える。編集は任意に行え、ユーザに目的に合致したより複雑な表示様式になるような編集を行える。この編集の際、各編集操作の対象となった表示文書の要素とその編集内容を編集操作履歴ファイルに記録する。一連の編集操作が終了した段階で、編集結果である第２表示文書と編集操作履歴ファイルが作成されることとなる。
【００２７】
編集操作が終了すると、編集前の表示文書である第１表示文書と編集後の第２表示文書、編集操作履歴ファイル、要素間対応関係ファイル、および構造化文書とその文書型定義を参照して、表示規則更新手段により更新後の表示規則（第２表示規則）を生成する。
【００２８】
本発明によれば、表示規則を例示操作により自動的に生成できる。すなわち、表示文書を視覚的表示文書編集環境で、例示的に加工・修正することによって、前記加工・修正に合致した表示規則を自動的に生成できる。よって、表示規則を記述する言語に関する知識がなくとも目的に合致したより複雑な表示規則を簡便に生成できる。また、ユーザは、どのような表示結果が得られるかを視覚的に確認しながら、表示規則を作成することが可能になる。
【００２９】
なお、第２表示規則に基づいて第３表示規則を、さらに第４、第５の表示規則を生成できることは言うまでもない。
【００３０】
また、本発明では、デフォルト生成規則として、構造化文書の要素の深さに応じた書式で第１表示規則を生成する規則、表形式で表示する規則、単純列挙による表示規則あるいは要素の深さに応じたインデント付けで表示する規則等を例示できる。
【００３１】
また、本発明は、表示規則の生成に限らず、構造化文書自体の変更、あるいは、構造化文書の文書型定義（文法定義）の変更にも適用できる。
【００３２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【００３３】
以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかなとおり、本発明は方法、システムの他、コンピュータで使用可能なプログラムコードが記録された媒体としても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。プログラムコードが記録された媒体としては、ハードディスク、ＣＤ−ＲＯＭ、光記憶装置または磁気記憶装置を含む任意のコンピュータ可読媒体を例示できる。
【００３４】
（実施の形態１）
１．システムのハードウェア構成
図１は、本発明の方法を実現するシステムの概要を示した概念図である。本発明のシステムは、スタンドアロンのコンピュータシステムまたは複数のコンピュータシステムで構成されたコンピュータネットワークで実現できる。図１（ａ）はスタンドアロンのコンピュータを構成の概略を示し、図１（ｂ）は、コンピュータネットワークの場合を示す。
【００３５】
コンピュータシステムには、中央演算処理装置１（ＣＰＵ）、主記憶装置２（メインメモリ：ＲＡＭ）、不揮発性記憶装置３（ＲＯＭ）等を有し、バス４で相互に接続される。バス４には、その他コプロセッサ、画像アクセラレータ、キャッシュメモリ、入出力制御装置（Ｉ／Ｏ）等が接続されてもよい。また、バス４には、適当なインターフェイスを介して外部記憶装置５、データ入力デバイス６、表示デバイス７、通信制御装置８等が接続される。その他、一般的にコンピュータシステムに備えられるハードウェア資源を備えることが可能なことは言うまでもない。
【００３６】
外部記憶装置５は代表的にはハードディスク装置が例示できるが、これに限られず、光磁気記憶装置、光記憶装置、フラッシュメモリ等半導体記憶装置も含まれる。なお、データの読み出しのみに利用で得きるＣＤ−ＲＯＭ等の読み出し専用記憶装置もデータあるいはプログラムの読み出しにのみ適用する場合には外部記憶装置に含まれる。
【００３７】
データ入力デバイス６には、キーボード等の入力装置、マウス９等ポインティングデバイスを備えることができる。データ入力デバイスには音声入力装置も含む。表示装置７としては、ＣＲＴ、液晶表示装置、プラズマ表示装置が例示できる。
【００３８】
複数のコンピュータシステムで本発明を実現する場合、図１（ｂ）に示すように、各コンピュータシステムは、ＬＡＮ、ＷＡＮ等で接続されていてもよく、また、インターネットを介して接続されても良い。これら接続に用いられる通信回線は、専用線、公衆回線の何れでも良い。コンピュータシステムには、パーソナルコンピュータ１０、ワークステーション１１、メインフレームコンピュータ１２等各種のコンピュータが含まれる。
【００３９】
コンピュータシステムが複数接続されたコンピュータネットワークにおいては、一部のプログラムをユーザのコンピュータで、一部のプログラムをリモートコンピュータで分散的に処理を実行できる。また、プログラムで利用されるデータは、それがどのコンピュータに記録されているかは問われない。つまり、データの所在に関する情報（アドレス）が明らかである限り、データあるいはプログラムの格納場所はコンピュータネットワーク上の任意の場所とすることができる。各ネットワークコンピュータ間の通信には公知の通信技術を適用でき、たとえばＴＣＰ／ＩＰ、ＨＴＴＰ等のプロトコルを用いることができる。また、各記憶装置に記録された各ファイル（データあるいはプログラム）の存在箇所（アドレス）は、ＤＮＳ、ＵＲＬ等を用いて特定できる。なお、本明細書においてインターネットという用語には、イントラネットおよびエクストラネットも含むものとする。インターネットへのアクセスという場合、イントラネットやエクストラネットへのアクセスをも意味する。コンピュータネットワークという用語には、公的にアクセス可能なコンピュータネットワークと私的なアクセスしか許可されないコンピュータネットワークとの両方が含まれるものとする。
【００４０】
２．構造化文書の表示規則生成システム
図２は、本発明の表示規則を生成するシステムの一例を示したブロック図である。
【００４１】
本実施の形態の表示規則生成システムは、ベース表示規則生成手段２１、表示文書生成手段２２、視覚的表示文書編集環境２３、表示規則更新手段２４を有し、視覚的表示文書編集環境２３には、表示文書を描画する描画エンジン２５を備える。
【００４２】
図３は、図２の一部をベース表示規則生成手段２１について抜き出したブロック図である。
【００４３】
ベース表示規則生成手段２１は、前記したハードディスク等記憶装置５に記録されたプログラムコードの実行によりその機能が実現され、主に、前記記憶装置５と前記中央演算処理装置１および主記憶装置２等のハードウェア資源が利用される。ベース表示規則生成手段２１は、システムに与えられた構造化文書２６の文書型定義２７と、デフォルト生成規則２８とから、第１表示規則２９を自動的に生成する機能を有する。第１表示規則２９の生成方法については後に説明する。
【００４４】
構造化文書２６は、文書の要素が要素名、要素の内容（コンテンツ）、要素の属性、属性名、属性値等で構造化された文書であり、たとえばＸＭＬ、ＳＧＭＬ、ＣＳＶ等の文書を例示できる。構造化文書２６は、たとえばハードディスク等記憶装置５に記録される。
【００４５】
文書型定義２７は、構造化文書２６の文書型あるいは文法を定義するデータであり、前記要素の名前、構造、要素内容の形式等を定義し、要素に関する属性を宣言して属性名、属性値の形式、デフォルトの属性値等を定義する。たとえば、ＸＭＬ文書の場合にはＤＴＤ、ＸＭＬスキーマを例示でき、ＳＧＭＬ文書の場合にはＤＴＤを例示できる。文書型定義２７は、構造化文書２６と同様に、たとえばハードディスク等記憶装置５に記録される。文書型定義２７は構造化文書２６内に記述されてもよいが、文書型定義２７を別の文書ファイルとして記録し、構造化文書２６内でその文書型定義ファイルを参照してもよい。この場合、構造化文書２６と文書型定義２７とが、同一のコンピュータシステム内に存在する必要はない。
【００４６】
デフォルト生成規則２８は、第１表示規則２９を生成するためのベースとなる単純な規則であり、構造化文書２６の文法（文書型定義２７）にあわせて、構造化文書２６のすべての要素を単に列挙するような視覚的表現になる表示文書に変換する規則である。デフォルト生成規則２８は、文書ファイルとして記述され、このデフォルト生成規則２８のファイルをベース表示規則生成手段２１のプログラムで参照する。また、デフォルト生成規則２８は、ベース表示規則生成手段２１のプロクラムとしてコーディングされていてもよい。
【００４７】
第１表示規則２９は、ベース表示規則生成手段２１により自動的に生成される構造化文書２６の表示規則である。第１表示規則２９は、生成された後に、たとえばハードディスク等記憶装置５に記録される。この段階の第１表示規則２９は、デフォルト生成規則２８に従って生成されるものであるから単純な規則である。第１表示規則２９の例として、構造化文書２６がＸＭＬ文書の場合にはＸＳＬ文書を、ＳＧＭＬ文書の場合にはＤＳＳＳＬ文書を例示できる。
【００４８】
図４は、図２の一部を表示文書生成手段２２について抜き出したブロック図である。
【００４９】
表示文書生成手段２２は、前記したハードディスク等記憶装置５に記録されたプログラムコードの実行によりその機能が実現され、主に、前記記憶装置と前記中央演算処理装置１および主記憶装置２等のハードウェア資源が利用される。表示文書生成手段２２は、構造化文書２６と第１表示規則２９とから第１表示文書３０および要素間対応関係ファイル３１を生成する機能を有する。
【００５０】
第１表示文書３０は、構造化文書２６の各要素が、第１表示規則２９に従って置換された要素で構成される。つまり、表示文書生成手段２２に構造化文書２６と第１表示規則２９が与えられると、構造化文書２６の要素の要素名、要素の内容（コンテンツ）、要素の属性名、属性値等が、第１表示規則２９に記述されている規則に従って第１表示文書３０の要素に置換される。第１表示文書３０は、生成された後、ハードディスク等記憶装置５に記録される。第１表示文書３０として、ＨＴＭＬ文書あるいはＸＨＴＭＬ文書を例示できる。
【００５１】
要素間対応関係ファイル３１は、構造化文書２６の要素が第１表示文書３０の要素に置換される際に、前記各要素の対応関係を記録したファイルである。要素間対応関係ファイル３１は、ハードディスク等記憶装置５に記録される。要素間の対応関係を記録する手段として、たとえば、ＸＰａｔｈを用いて要素間対応関係を表すことができる。
【００５２】
図５は、図２の一部を視覚的表示文書編集環境２３について抜き出したブロック図である。
【００５３】
視覚的表示文書編集環境２３は、何れかの記憶装置５に記録されたプログラムコードの実行によりその機能が実現され、主に、前記中央演算処理装置１および主記憶装置２等の他、ＣＲＴ等の表示装置７、キーボード、ポインティングデバイス等の入力装置６がハードウェア資源として利用される。視覚的表示文書編集環境２３には、描画エンジン２５が含まれ、描画エンジン２５は、表示文書の各要素を視覚的な表現に置換して、文書の全体または一部をユーザに表示する。
【００５４】
視覚的表示文書編集環境２３は、文書を表示するとともに視覚的に編集・加工できる環境を提供する。ユーザは、描画エンジン２５によって表示された表示画面を見ながら任意の編集操作、たとえば表示内容の追加、削除、修正、移動、結合等を行うことができる。編集加工された文書は第２表示文書３２としてハードディスク等記憶装置５に記録される。第２表示文書３２は、編集加工が施された文書であり、第１表示文書３０と同じ言語たとえばＴＨＭＬあるいはＸＨＴＭＬで記述される。
【００５５】
また、視覚的表示文書編集環境２３は、編集後の表示文書である第２表示文書３２と編集操作の履歴を記録する編集操作履歴ファイル３３とを生成する機能を有する。編集操作履歴ファイル３３には、視覚的表示文書編集環境２３で加工された要素毎に加工内容である編集操作履歴が記録される。編集操作履歴ファイル３３は、ハードディスク等記憶装置５に記録され、後に表示規則更新手段２４で参照される。
【００５６】
図６は、図２の一部を表示規則更新手段２４について抜き出したブロック図である。
【００５７】
表示規則更新手段２４は、前記したハードディスク等記憶装置５に記録されたプログラムコードの実行によりその機能が実現され、主に、前記記憶装置５と前記中央演算処理装置１および主記憶装置２等のハードウェア資源が利用される。
【００５８】
表示規則更新手段２４は、編集後の表示文書（第２表示文書３２）、要素間対応関係ファイル３１、構造化文書２６、構造化文書２６の文書型定義２７、編集操作履歴ファイル３３から、更新後の表示規則である第２表示規則３４を生成する機能を有する。第２表示規則３４の生成方法については後に詳述する。
【００５９】
第２表示規則３４は、第１表示規則２９と同じ言語で記述される。たとえばＸＳＬ文書あるいはＤＳＳＳＬ文書等を例示できる。
【００６０】
このような表示規則の生成システムによれば、与えられた構造化文書２６とその文書型定義２７から、システムが自動的に第１表示規則２９を生成し、この第１表示規則２９に基づいた構造化文書２６の第１表示文書３０を生成してこれを表示できる。すなわち、ユーザには表示規則を記述するための形式的な言語に関する特別な知識は要求されず、簡便に表示規則を編集加工できる環境を提供できる。また、ユーザはその目的に応じて自由に第１表示文書３０を編集加工し、希望する表示態様の第２表示文書３２を得ることができる。さらに、この第２表示文書３２に加えられている編集加工の内容を反映させるように第２表示規則３４を自動的に生成できる。すなわち、ユーザは例示的な編集加工を通じて希望の表示態様を実現し、このような表示態様となるような第２表示規則３４を何ら特別な知識を必要とせずに自動的に生成できる。つまり、ユーザはコンピュータの表示画面を見ながら、適当な入力デバイスにより表示文書を編集加工するだけで、そのような表示に見合った表示規則がシステムにより自動的に作成されることになる。ユーザは表示規則に関する細かな事項を意識することなく、複雑な表示規則を簡便に生成でき、利便性の高いシステムを提供できる。
【００６１】
なお、本明細書において、プログラムコードが記録されたファイルあるいは文書等データが記録されたファイルは、その物理的な存在場所には一切制限が設けられない。前記したコンピュータシステムまたはコンピュータネットワークでアクセス可能な物理的所在に記録され、それがアクセス可能である限り、本明細書で説明するデータおよびプログラムは何れの場所に記録されていてもよいものとする。
【００６２】
３．構造化文書の表示規則生成方法
３．１．第１表示規則（ベース表示規則）の生成方法
第１表示規則は、前記したとおり本発明の編集操作のベースとなる規則であり、文書型定義２７とデフォルト生成規則２８を参照してベース表示規則生成手段２１により自動的に生成される。以下、各種のデフォルト生成規則２８の場合のベース表示規則生成方法について説明する。
【００６３】
３．１．１．ヘッダ要素とＤＬ要素による第１表示規則の生成
デフォルト生成規則２８の一例として、以下のような規則を用いるとする。
・ＸＭＬの要素の深さに応じて＜Ｈ１＞〜＜Ｈ６＞の見出し要素を作成する。
・個々の要素の属性(attribute)は，＜ＤＬ＞要素で列挙表現する。
・#PCDATAで与えられるデータは要素で表現する。
【００６４】
図７（ａ）は、ヘッダ要素とＤＬ要素により第１表示規則２９を生成する方法の一例を示す全体フローチャートであり、図７（ｂ）は、「Ｃ＋＋」言語で記述されたその擬似コードである。以下擬似コードは「Ｃ＋＋」言語で記述されるものとする。また、擬似コード中に左矢印とともに示した括弧書き数字「←（１）」等は、参照のために付した行番号であり、擬似コードを構成するものではない。以下の擬似コードについて同様である。
【００６５】
まず、ヘッダ要素のレベルを１とし（ステップ４０）、要素表示の規則を生成する（ステップ４１）。擬似コードに示すように、ここでの第１表示規則の生成関数は「RuleGenByHeaderAndDL」である。引数はグローバル変数により引き渡される。また、要素表示の規則生成関数は「RuleGenOfElemByHeaderAndDL」である。ローカル変数として要素とレベルが与えられる。ここでは、ルート要素のヘッダを＜Ｈ１＞にするために引数に「root」と「１」が与えられる。
【００６６】
図８（ａ）は、要素表示規則の生成方法（RuleGenOfElemByHeaderAndDL）を示したフローチャートであり、図８（ｂ）はその擬似コードである。ここで、要素は変数「elem」で与えられ、レベルは変数「level」で与えられる（擬似コード１行目）。
【００６７】
まず汎用的なブロックレベルのタグである＜ＤＩＶ＞要素を開始し（ステップ４２、擬似コード２行目）、そのときのレベルのヘッダ要素で要素「elem」の要素名を表示する（ステップ４３、擬似コード３行目）。
【００６８】
次に、その要素の属性表示の規則を生成する（ステップ４４、擬似コード４行目）。属性表示規則生成関数は、擬似コードでは「RuleGenOfAttrByDL」であり、ローカル変数には要素「elem」が与えられる。属性表示規則生成関数は後に説明する。
【００６９】
次に、要素がリーフであるか否かを判断する（ステップ４５、擬似コード５行目）。要素がリーフである場合には段落タグである要素を開始し（ステップ４６）、要素のコンテンツを表示する（ステップ４７、擬似コード１１行目）。その後、要素を終了し（ステップ４８）、＜ＤＩＶ＞要素を終了する（ステップ４９、擬似コード１３行目）。
【００７０】
一方、要素がリーフでない場合は、ヘッダレベルを１つ増やし（ステップ５０）、その要素「elem」に含まれる１レベル大きい（ネストが深い）要素群の中から１要素「e」をとりだし（ステップ５１、擬似コード６〜７行目）、取り出した要素「e」について要素表示の規則生成（RuleGenOfElemByHeaderAndDL）を再帰的に実行する（ステップ５２、擬似コード８行目）。これを全ての要素「e」について繰り返す（ステップ５３、擬似コード７〜９行目）。その後、＜ＤＩＶ＞要素を終了して（ステップ４９）、着目している要素「elem」についての表示規則の生成が終了する。
【００７１】
図９（ａ）は、属性表示規則の生成方法（RuleGenOfAttrByDL）を示したフローチャートであり、図９（ｂ）はその擬似コードである。
【００７２】
まず、着目している要素「elem」について、属性を有するか否かを判断する（ステップ５４、擬似コード２行目）。着目要素に属性がない場合にはそのまま終了し、属性がある場合には、定義リストのタグである＜ＤＬ＞要素を開始する（ステップ５５、擬似コード４行目）。
【００７３】
次に、定義用語のタグである、＜ＤＴ＞要素で属性名を表示し（ステップ５６、擬似コード６行目）、定義の説明タグである＜ＤＤ＞要素で特性値を表示する（ステップ５７、擬似コード７行目）。これを着目している要素「elem」の全ての属性について繰り返し（ステップ５８、擬似コード５〜８行目）、＜ＤＬ＞要素を終了する（ステップ５９）。このようにして着目している要素「elem」の属性が表示される。
以上のようにしてヘッダ要素とＤＬ要素を用いて第１表示規則２９が自動的に生成できる。
【００７４】
３．１．２．表による第１表示規則の生成
次に、表形式で表示するよう第１表示規則２９を生成する方法を示す。これは、特に要素の深さが２である場合に用いられる。
【００７５】
図１０（ａ）は、表形式による第１表示規則２９を生成する方法の一例を示す全体フローチャートであり、図１０（ｂ）は、その擬似コードである。
【００７６】
まず、表を表す＜ＴＡＢＬＥ＞要素を開始し（ステップ６０、擬似コード２行目）、表ヘッダの表示規則を生成（RuleGenByTHEAD）する（ステップ６１、擬似コード３行目）。次に、表本体の表示規則を生成（RuleGenByTBODY）し（ステップ６２，擬似コード４行目）、＜ＴＡＢＬＥ＞要素を終了する（ステップ６３、擬似コード５行目）。
【００７７】
図１１（ａ）は、表ヘッダの表示規則の生成（RuleGenByTHEAD）の一例を示すフローチャートであり、図１１（ｂ）は、その擬似コードである。
【００７８】
まず、表のヘッダを表す＜ＴＨＥＡＤ＞要素を開始し、さらに表の行要素である＜ＴＲ＞要素を開始する（ステップ６４、擬似コード３行目、４行目）。次に、表の見出しセルである＜ＴＨ＞要素を開始し（ステップ６５）、要素内容（コンテンツ）を表示した後（ステップ６６）、＜ＴＨ＞要素を終了する（ステップ６７）。そしてこれを全ての下位要素について実行する（ステップ６８）。つまり、着目している要素「elem」についてそれを構成する要素をリストし（擬似コード４行目）、リスト内の要素「e」の全てについて、＜ＴＨ＞タグで囲んでこれを表示する（擬似コード５〜７行目）。その後、＜ＴＲ＞要素を終了し、＜ＴＨＥＡＤ＞要素を終了する（ステップ６９、擬似コード８，９行目）。
【００７９】
図１２（ａ）は、表本体の表示規則の生成（RuleGenByTBODY）の一例を示すフローチャートであり、図１２（ｂ）は、その擬似コードである。
【００８０】
まず、表本体を表す＜ＴＢＯＤＹ＞要素を開始し（ステップ７０、擬似コード２行目）、列要素の表示規則を生成（RuleGenByTR）し（ステップ７１）、これを全ての下位要素について実行する（ステップ７２）。つまり、着目している要素「elem」についてそれを構成する要素をリストし（擬似コード３行目）、リスト内の要素「e」の全てについて、列要素の表示規則を生成する（擬似コード４〜６行目）。その後、＜ＴＢＯＤＹ＞要素を終了する（ステップ７３、擬似コード７行目）。
【００８１】
図１３（ａ）は、列要素の表示規則の生成（RuleGenByTR）の一例を示すフローチャートであり、図１３（ｂ）は、その擬似コードである。
【００８２】
まず、表の行要素である＜ＴＲ＞要素を開始する（ステップ７４、擬似コード２行目）。次に、表のセルである＜ＴＤ＞要素を開始し（ステップ７５）、要素内容（コンテンツ）を表示した後（ステップ７６）、＜ＴＤ＞要素を終了する（ステップ７７）。そしてこれを全ての下位要素について実行する（ステップ７８）。つまり、着目している要素「elem」についてそれを構成する要素をリストし（擬似コード３行目）、リスト内の要素「e」の全てについて、＜ＴＤ＞タグで囲んでこれを表示する（擬似コード４〜６行目）。その後、＜ＴＲ＞要素を終了する（ステップ７９、擬似コード７行目）。
以上のようにして、表による第１表示規則２９が自動的に生成できる。
【００８３】
３．１．３．単純列挙による第１表示規則の生成
次に、要素の単純列挙により第１表示規則２９を生成する方法を示す。図１４（ａ）は、要素名、要素内容を単純に列挙する第１表示規則の生成方法の一例を示したフローチャートであり、図１４（ｂ）はその擬似コードである。
【００８４】
まず、＜ＤＩＶ＞要素を開始し（ステップ８０、擬似コード２行目）、着目要素「elem」の要素名を表示した後、改行タグである＜ＢＲ＞要素を付加する（ステップ８１、擬似コード３，４行目）。その後、前記「３．１．１ヘッダ要素とＤＬ要素による第１表示規則の生成」の項で説明した属性表示規則の生成（ステップ４４）と同様の規則生成を行い、着目要素「elem」がリーフであるか否かを判断する（ステップ８２、擬似コード６行目）。要素がリーフである場合には要素のコンテンツを表示する（ステップ８３、擬似コード１２行目）。その後、＜ＤＩＶ＞要素を終了する（ステップ８４、擬似コード１４行目）。
【００８５】
一方、要素がリーフでない場合は、要素「elem」に含まれる要素群の中から１要素「e」をとりだし（ステップ８５、擬似コード７〜８行目）、取り出した要素「e」について単純列挙の表示規則生成（RuleGenOfElemBySimpleEnum）を再帰的に実行する（ステップ８６、擬似コード９行目）。これを全ての要素「e」について繰り返す（ステップ８７、擬似コード８〜１０行目）。その後、＜ＤＩＶ＞要素を終了して（ステップ４８４、着目している要素「elem」についての表示規則の生成が終了する。
このようにして、単純列挙による第１表示規則２９が自動的に生成できる。
【００８６】
３．１．４．インデント付けによる第１表示規則の生成
次に、要素の深さに応じてインデント付けを行なう表示規則の生成方法を示す。図１５（ａ）は、インデント付けによる第１表示規則２９を生成する方法の一例を示す全体フローチャートであり、図１５（ｂ）は、その擬似コードである。
【００８７】
まず、ヘッダ要素のレベルを１とし（ステップ８８）、ブロック表示の規則を生成する（ステップ８９）。ブロック表示の規則生成関数は「RuleGenOfElemByBLOCKQUOTE」である。ローカル変数として要素とレベルが与えられる。ここでは、ルート要素のヘッダを＜Ｈ１＞にするために引数に「root」と「１」が与えられる。
【００８８】
図１６（ａ）は、ブロック表示規則の生成方法（RuleGenOfElemByBLOCKQUOTE）を示すフローチャートであり、図１６（ｂ）はその擬似コードである。ここで、要素は変数「elem」で与えられ、レベルは変数「level」で与えられる（擬似コード１行目）。
【００８９】
まず、そのときのレベルのヘッダ要素で要素「elem」の要素名を表示する（ステップ９０、擬似コード２行目）。
【００９０】
次に、前記「３．１．１ヘッダ要素とＤＬ要素による第１表示規則の生成」の項で説明した属性表示規則の生成（ステップ４４）と同様の規則生成を行い、ブロックレベルの引用タグである＜ＢＬＯＣＫＱＵＯＴＥ＞要素を開始する（ステップ９１、擬似コード４行目）。
【００９１】
次に、要素がリーフであるか否かを判断する（ステップ９２、擬似コード５行目）。要素がリーフである場合には段落タグである要素を開始し（ステップ９３）、要素のコンテンツを表示する（ステップ９４、擬似コード１１行目）。その後、要素を終了し（ステップ９５）、＜ＢＬＯＣＫＱＵＯＴＥ＞要素を終了する（ステップ９６、擬似コード１３行目）。
【００９２】
一方、要素がリーフでない場合は、ヘッダレベルを１つ増やし（ステップ９７）、その要素「elem」に含まれる１レベル大きい（ネストが深い）要素群の中から１要素「e」をとりだし（ステップ９８、擬似コード６〜７行目）、取り出した要素「e」についてブロック表示規則の生成方法（RuleGenOfElemByBLOCKQUOTE）を再帰的に実行する（ステップ９９、擬似コード８行目）。これを全ての要素「e」について繰り返す（ステップ１００、擬似コード７〜９行目）。その後、＜ＢＬＯＣＫＱＵＯＴＥ＞要素を終了して（ステップ９６）、着目している要素「elem」についての表示規則の生成が終了する。
このようにして、インデント付けによる第１表示規則２９が自動的に生成できる。
【００９３】
以上、ベース表示規則生成手段２１の機能である第１表示規則２９の生成方法を説明した。このように、本発明では、構造化文書２６の文書型定義２７を与えると、予め定められたデフォルト生成規則２８を適用して表示規則２９を自動的に生成でき、後に説明する編集操作機能のベースにすることができる。
【００９４】
３．２．表示文書の生成方法
前記した第１表示規則２９を適用して構造化文書２６を表示文書に変換するのは、当業者に周知である。たとえば構造化文書２６にＸＭＬ文書あるいはＳＧＭＬ文書を例示する場合、第１表示規則２９としてＸＳＬスタイルシートあるいはＤＳＳＳＬ文書を生成すれば、周知技術としてＨＴＭＬ文書が生成できる。
【００９５】
ただし、本発明では、単に表示文書を生成するだけでなく、構造化文書２６の各要素と表示文書３０の各要素の対応関係を記録した要素間対応関係ファイル３１を生成する。この対応関係は、たとえばＸＰａｔｈを用いて特定できる。
【００９６】
３．３．表示文書の編集方法
表示文書がＨＴＭＬ文書である場合には、表示文書の編集（加工）は、タグの変更、要素位置の変更として現れる。本発明では、これら変更の履歴を変更操作毎に第２表示文書３２の要素と関連付けて記録する。要素位置は前記と同様にＸＰａｔｈを用いて記録でき、要素および変更操作の記録は、変更毎に編集操作履歴ファイル３３にその項目を追加する方式等、周知の技術を用いて行える。
【００９７】
３．４．表示規則の更新方法
図１７は、表示規則の更新方法の一例を示す全体フローチャートである。まず、編集操作により得られた第２表示文書３２（編集後の表示文書）の各要素と、編集操作履歴ファイル３３に記録された各操作とを関連付ける（ステップ１０１）。次に、編集後の表示文書（第２表示文書３２）の各要素と構造化文書２６の要素とその加工過程の組を対応付ける（ステップ１０２）。次に、構造化文書２６の要素の加工過程の汎化を行う（ステップ１０３）。さらに、表示規則（第１表示規則２９）を更新して第２表示規則３４を作成する（ステップ１０４）。なお、構造化文書２６の要素の加工過程の汎化（ステップ１０３）は、必要に応じて行えばよく、本ステップが存在しなくとも、本発明の機能を達成することは可能である。言い換えれば、加工過程汎化のステップ（ステップ１０３）は本発明の必須の要件ではない。以下、各ステップを詳細に説明する。
【００９８】
図１８（ａ）は、編集後の表示文書（第２表示文書３２）の各要素と編集操作履歴ファイル３３内の各操作とを関連付ける方法の一例を示したフローチャートである。また、図１８（ｂ）は、その擬似コードである。
【００９９】
まず、編集後の表示文書（第２表示文書３２）から１要素を取り出し（ステップ１０５、擬似コード２行目）、その要素に関連する操作列を編集操作履歴ファイル３３から抽出する（ステップ１０６、擬似コード４行目〜７行目）。その後、その要素と操作列とを対応付ける（ステップ１０７、擬似コード９行目）。この操作を全ての要素について実行する（ステップ１０８、擬似コード１〜１０行目）。
【０１００】
図１９（ａ）は、編集後の表示文書の各要素と構造化文書の要素とその加工過程の組の対応付けの方法の一例を示したフローチャートである。また、図１９（ｂ）は、その擬似コードである。
【０１０１】
まず、編集後の表示文書（第２表示文書３２）から１要素を取り出し（ステップ１０９、擬似コード２行目）、前記ステップ１０６で抽出した操作列を取り出す（ステップ１１０、擬似コード３）。なお、この要素に操作履歴が無い場合には以下の処理を行わずに次の要素に移ることができる。次に、この操作列から１つの操作を取り出し（ステップ１１１、擬似コード７行目）、操作対象の表示文書要素と対応する構造化文書の要素を特定する（ステップ１１２、擬似コード８行目）。なお、この構造化文書要素の特定には、構造化文書の要素と表示文書の要素との対応関係を記録した要素間対応関係ファイル３１が参照される（擬似コード８行目）。次に、特定された構造化文書の要素と、操作が行った加工内容とを対応付ける（ステップ１１３、擬似コード９，１０行目）。これを全ての操作列について実行し（ステップ１１４）、さらに全ての表示文書要素について実行する（ステップ１１５）。
【０１０２】
図２０（ａ）は、構造化文書の要素の加工過程の汎化の方法の一例を示したフローチャートである。また、図２０（ｂ）は、その擬似コードである。
【０１０３】
まず、編集後の表示文書（第２表示文書３２）から１要素を取り出し（ステップ１１６、擬似コード１行目）、その要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択する（ステップ１１７、擬似コード２行目）。そしてこの要素群に共通する加工記録（操作）を求め（ステップ１１８、擬似コード３行目）、加工記録があるか否かの判断を行う（ステップ１１９、擬似コード４行目）。加工記録がある場合には、候補中の全ての要素から共通の加工記録を削除し（ステップ１２０、擬似コード５〜７行目）、全ての要素について汎化を行う（ステップ１２１、擬似コード８〜９行目）。汎化したデータ（gnode、ghist）は「tbl」に書き加えられて記録される（擬似コード１０行目）。一方、加工記録が無い場合は、ステップ１１７に戻る。この操作を全ての表示文書要素について行う（ステップ１２２、擬似コード１行目）。
【０１０４】
図２１（ａ）は、表示規則の更新・作成の方法の一例を示したフローチャートである。また、図２１（ｂ）は、その擬似コードである。
【０１０５】
まず加工記録（操作）の要素群から１つの要素を取り出し（ステップ１２３、擬似コード１行目）、次に、その要素についての表示規則を加工記録（操作）に対応する規則で更新する（ステップ１２４、擬似コード２、３行目）。そしてこの操作を全ての要素について実行する（ステップ１２５）。
【０１０６】
以上、表示規則の更新方法を説明したが、本実施の形態の更新方法は、単に表示文書の表示内容が更新されるのではなく、編集操作された表示文書の要素に対する構造化文書の要素の文書型定義に基づけられた表示規則を変更するものである。このため、本実施の形態の表示規則の生成方法では、ユーザは表示装置７を見ながら例示的に編集操作を行うだけで、構造化文書の構造を考慮した表示規則を自動的に生成できる。また、本実施の形態の方法を繰り返し用いることによって、ユーザは編集内容を確認しながら表示規則を生成でき、高度な表示態様の表示規則を容易に得ることができる。
【０１０７】
４．表示規則の生成方法の具体例
以下、構造化文書の表示規則を自動的に生成する方法を具体例に基づき説明する。ここでは、編集の対象とする構造化文書２６としてＸＭＬ文書を、その文書型定義(文法定義)２７としてＤＴＤ/ＸＭＬ Ｓｃｈｅｍａを、第１表示規則２９としてＸＳＬ文書を、表示文書３０としてＨＴＭＬ(ＸＨＴＭＬ)文書を、それぞれ用いて説明する。
【０１０８】
４．１．要素の位置変更
図２２（ａ）は、構造化文書２６の具体例としてＸＭＬで記述された果物の価格リスト「fruitlist」を、図２２（ｂ）は、この果物価格リストのＸＭＬ文書が基づいているＤＴＤ文書を、図２２（ｃ）は、この果物価格リストのＸＭＬ文書が基づいているＸＭＬ Ｓｃｈｅｍａを示す。なお、各リストの左側には５行置きに行番号を付している。この行番号はリスト参照の便宜のために付すものであり、各リストを構成するものではない。以下、その他のリストについても同様である。
【０１０９】
果物の価格リスト「fruitlist」の構造は、要素「item」を含み、要素「item」は、要素「name」および「price」で構成される。要素「name」にはその内容（コンテンツ）として文字データ（#PCDATA）が含まれ、要素「price」にはその内容（コンテンツ）として文字データ（#PCDATA）が含まれる。また、要素「price」には、属性「currency」を有し、属性「currency」にはCDATA型のデータが含まれる。
【０１１０】
文書「fruitlist」には、４つの要素「item」が含まれ、各アイテムには、各々果物名（「apple」、「orange」、「banana」、「grape」）と価格が与えられ、価格の単位が属性として与えられている。
【０１１１】
図２３は、前記した「３．１．１．ヘッダ要素とＤＬ要素による第１表示規則の生成」の方法を用いて、文書「fruitlist」を表示する表示文書生成のためのベース表示規則（第１表示規則）の一例である。図２３に示す文書リストはＸＳＬ文書リストである。なお、可能であれば前記したその他の方法で第１表示規則を生成できることは言うまでもない。
【０１１２】
「３．１．１．ヘッダ要素とＤＬ要素による第１表示規則の生成」では、文書の要素の深さに応じてヘッダ要素のレベルを大きくし、要素の属性はＤＬ要素で表示するデフォルト生成規則を用いた。このため、ルート要素である「fruitlist」の要素名がレベル１のヘッダ＜Ｈ１＞で表示され（２００）、要素「fruitlist」の下位構造に位置する要素「item」は、その要素名がレベル２のヘッダ＜Ｈ２＞で表示さる（２０１）。
【０１１３】
なお、図２３中に左矢印とともに示した括弧書き数字「←（２００）」等は、参照のために示した数字であり、リストを構成するものではない。以下のリストについて同様である。
【０１１４】
要素「item」の下位構造に位置する要素「name」と「price」の要素名はレベル３のヘッダ＜Ｈ３＞で表示される（２０２、２０３）。また、要素「name」と「price」の内容（コンテンツ）はヘッダで囲まれ、段落表示される（２０４，２０５）。
【０１１５】
要素「price」については属性を有するため、属性名が＜ＤＴ＞タグで囲まれて定義用語表示がされ（２０６）、属性値は＜ＤＤ＞タグで囲まれて定義説明の様式で表示される（２０７）。なお、他の「item」についても同様に生成される。その説明は省略する。
【０１１６】
図２４は、この表示規則を適用して、構造化文書「fruitlist」を表示する表示文書（第１表示文書３０）の一例を示したＨＴＭＬ文書である。
【０１１７】
第１番目の「item」要素では、「name」要素の内容としてコンテンツである「apple」が表示され（２０８）、「price」要素の内容としてコンテンツである「100」が表示されている（２０９）。また、「price」要素の属性の内容として「Yen」が表示されている（２１０）。他の「item」要素もその内容により表示内容が相違するが、同様であり、説明を省略する。
【０１１８】
図２５は、第１表示文書が生成される際に、表示文書生成手段２２により生成される要素間対応関係ファイル３１に記録される内容の一例を示したリストである。
【０１１９】
この場合、各要素の関係を特定するためにＸＰａｔｈを使用している。ルート要素「fruitlist」の要素「item」のうち、第１「item」要素の「name」要素の要素名は「/fruitlist[1]/item[1]/name[1]」であり、これに対応する表示要素は、「/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[1]/P[1]」である（２１１）。その他は同様であるから説明を省略する。
【０１２０】
図２６は、図２４のＨＴＭＬ文書を描画エンジン２５を用いて表示装置７に表示した画面図である。
【０１２１】
ユーザは、この画面を見ながらマウス９、キーボード等入力装置６等を用いて視覚的表示文書編集環境２３により編集作業を行える。ここでは、「orange」の「currency Yen」と「200」の表示を入れ替えたとする。つまり、
currency
Yen
200
を、
200
currency
Yen
に変更したとする。
【０１２２】
この変更は、ま「200」の部分を削除してペーストバッファに複写し、「currency」の上の位置にペーストバッファから「200」を挿入する、という一連の編集操作によって達成される。この操作を行った後の表示画面を図２７に示す。「orange」が属する要素「item」の「price」要素の内容表示が、属性表示の上段に位置するように変更されている。
【０１２３】
このような変更操作を行った後に編集操作を終了すると、表示規則更新手段２４により、第２表示規則３４が生成される。表示規則更新手段２４では、まず編集前のＨＴＭＬ文書と編集後のＨＴＭＬ文書を比較して、要素の削除と追加が行なわれていることを検出する。しかし、追加された「200」が、固定文字列の「200」なのか、それとも、ＸＭＬ文書中のorangeの値段のデータとしての「200」なのかは、編集前と編集後のＨＴＭＬ文書の比較だけでは判断できない。そこで、編集操作履歴ファイル３３を調べて、追加された「200」が、その前に削除された文字列の貼り付けであり、そしてそれが、ＸＭＬ文書中のorangeの値段のデータであり、したがって、一連の操作列がorangeの値段のデータを表示する位置を変更するために行ったということを、前記した表示規則更新手段２４で検出する。
【０１２４】
すなわち、履歴ファイル３３中の「200」を挿入した操作が、ペーストバッファからの挿入であることを見つけ、履歴ファイルを遡行して、ペーストバッファへのデータ複写を行った操作を見つける。この処理は、前記ステップ１０５〜１０６に相当する。
【０１２５】
次に、その操作が要素の削除であることから、その要素のＸＰａｔｈを履歴から得る。すなわち、表示要素と操作との対応付けを行う。この処理は前記ステップ１０７に相当する。なお、この場合のＸＰａｔｈは、「/HTML[1]/BODY[1]/DIV[1]/DIV[2]/DIV[2]/P[1]」である。
【０１２６】
次に、ＸＭＬ文書とＨＴＭＬ文書の要素間関係から、その要素が対応するＸＭＬ文書における要素のＸＰａｔｈを得る。この処理は、前記ステップ１０２（ステップ１０９〜１１５）に相当する。なお、この場合のＸＰａｔｈは、「/fruitlist[1]/item[2]/price[1]」である。
【０１２７】
次に、ベースとなるＸＳＬ中の、「/fruitlist[1]/item[2]/price[1]」に対応する部分を、変更結果のＨＴＭＬ文書の構造に合わせて変更する。この処理は、前記ステップ１０４（ステップ１２３〜１２５）に相当する。
【０１２８】
このようにして、ＸＳＬ文書（表示規則）が更新され、第２表示規則が生成される。図２８は、更新されたＸＳＬ文書を示すリストである。前記操作（カットアンドペースト）に合わせて、図２８の（２１２）に示すように、第２「item」の「price」要素の内容表示が属性表示の前に位置するように変更されている。ここで注意すべきは、単なる「200」という表示位置が変更されたのではなく、第２「item」の「price」要素の要素内容の表示位置が変更されたという点である。このように本発明では、構造化文書の表示規則自体を更新するため、構造が適合する他の構造化文書も更新された表示規則（第２表示規則３４）を用いて、編集結果を反映した表示を行うことができる。
【０１２９】
さらに、他の表示要素を削除した場合の例を説明する。「item」, 「name」, 「currency」の各表示を削除し、＜ＤＬ＞<DT><DD>要素を除去して定義リスト表示を段落要素表示に変更し、同様の変更をapple, banana, grapeについても行なう。さらに「fruitlist」表示を削除して、簡素な表示になるように変更したとする。図２９は、このような変更を施した後の表示を示す画面図である。また、図３０は、この場合のＨＴＭＬ文書を示したリストである。ＨＴＭＬ文書では、削除された表示要素に関するタグと要素が削除され、「Yen」表示が＜ＤＤ＞要素から要素に変更されている（２１３）。
【０１３０】
このような操作履歴から、表示規則更新手段２４は、図３１のようなＸＳＬ文書を生成する。図３１は、更新後の表示規則を示すＸＳＬ文書リストである。この更新されたＸＳＬ文書を用いることにより、編集結果と同様のＨＴＭＬ文書をＸＭＬ文書から得ることができるようになる。また、ユーザは編集結果を確認しながら、順次編集に対応したＸＭＬ文書を得ることができる。
【０１３１】
４．２．要素の結合
図３０のＨＴＭＬ文書をさらに編集する例を説明する。値段の「100」と、貨幣単位の「Yen」を結合して、「100Yen」という文字列要素として図３２に示すように書き換えたとする。図３２は、要素結合の編集操作後の表示画面である。この編集操作後のＨＴＭＬ文書は、図３３のようになる。要素「100Yen」等がタグで囲まれたように変更されている（２１４）。
【０１３２】
このように変更結果を反映して第２表示規則３４を表示規則更新手段２４で生成する。変更前のＨＴＭＬ文書と変更後のＨＴＭＬ文書を比較しただけだと、二つの要素「100」と「Yen」を削除して、新しい要素「100Yen」を挿入したと判断される。しかし、本発明の表示規則更新手段２４では、要素間の対応関係（要素間対応関係ファイル３１）と、操作履歴（編集操作履歴ファイル３３）から、以下の手順で、要素の結合を行ったと判断できる。
【０１３３】
すなわち、履歴の中から「100Yen」の要素が作成された記録を見つける。この記録により「100」の要素(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[1]/P[1])の最後尾に「Yen」を連結したために「100Yen」という文字列が新たな要素として作成されたことがわかる（ステップ１０５、１０６に相当）。
【０１３４】
次に、「Yen」の文字列がどこから来たのかを履歴を遡行して調べる。これにより、「Yen」の要素(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[1]/P[2])を除去したために、その直前の要素の最後尾に連結されたことがわかる（ステップ１０７に相当）。
【０１３５】
次に、要素間対応関係より、二つの要素に対応するＸＭＬ文書中の要素のＸＰａｔｈを求める（ステップ１０２（ステップ１０９〜１１５）に相当）。この対応関係は、「/fruitlist[1]/item[1]/price[1]」と「/fruitlist[1]/item[1]/price[1]/attribute::currency」である。
【０１３６】
次に、ＸＳＬ文書中のこの二つの要素に対応する部分を連結する（ステップ１０４（ステップ１２３〜１２５）に相当）。
【０１３７】
このような操作は、前記した表示規則更新方法で実現できる。生成されたＸＳＬ文書（第２表示規則）を図３４に示す。
【０１３８】
４．３．要素の置換操作
表示文書に対して置換操作により表現の変更を行う例を示す。置換操作の操作列と、表示文書中の各要素と、構造化文書中の各要素との間の対応関係から、その置換対象の候補と推測できる構造化文書中の要素を取り出し、この要素に対する条件判断と置換を指示する表示規則を生成する。
【０１３９】
構造化文書の例として、PC（パーソナルコンピュータ）の商品リストのＸＭＬ文書が与えられたとする。図３５（ａ）は、商品リストのＸＭＬ文書であり、図３５（ｂ）は、そのＤＴＤ、図３５（ｃ）はそのＸＭＬ Ｓｃｈｅｍａである。商品リストには二つのPC(日本製のFreePC 750J, US製のFreePC 600E)が含まれる。からなる商品リストを用いる。個々の商品データは、名称(name)、モデル(model)、販売価格(price)、在庫数(stock)からなる。販売価格(price)には属性として通貨単位が定義される。
【０１４０】
このＤＴＤとＸＭＬ Ｓｃｈｅｍａから、ベースとなるＸＳＬ文書（第１表示規則）を生成する。この生成では、前記したヘッダ要素とＤＬ要素による第１表示規則の生成（３．１．１．）を用いる。
【０１４１】
生成されたＸＳＬ文書を図３６に示す。また、このＸＳＬ文書によって得られるＨＴＭＬ文書を図３７に、その表示結果を図３８に示す。
【０１４２】
このＨＴＭＬ文書に対して、要素の移動や削除、要素の連結(「JPY」+「151000」->「JPY151000」)を行なった後、「JPY」を「￥」に、「USD」を「$」に置換して、貨幣単位の表現を変更する操作を行ったとする。置換による編集結果を図３９に示す。このときのＨＴＭＬ文書を図４０に示す。
【０１４３】
置換する前のＨＴＭＬ文書（図３７）と置換した後のＨＴＭＬ文書（図４０）を比較しても、「JPY」と「151000」の要素を削除して、新たな要素「￥151000」を追加したようにしか判断できない。しかし、要素間の対応関係（要素間対応関係ファイル３１）と操作履歴（編集操作履歴ファイル３３）を基にすれば、以下のように、ＸＭＬ文書中の要素の表現の変更を行ったと判断できる。なお、要素の移動、削除は前記と同様である。
【０１４４】
操作履歴（編集操作履歴ファイル３３）から、置換前に存在しなかった新たな要素(「￥151000」, 「$1999」)がＨＴＭＬ文書に挿入された記録を調べる。この記録により、「JPY151000」(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[2])が削除されて「￥151000」が挿入されたことがわかる（ステップ１０５，１０６）。
【０１４５】
この削除/挿入を引き起こした操作が「JPY」-->「￥」の置換操作であったことが履歴に記録されている（ステップ１０７）。
【０１４６】
「￥151000」を、置換のパラメータに一致する部分(「￥」)とそれ以外の部分(「151000」)に分ける。「JPY151000」が二つの要素「JPY」と「151000」の連結であることが判っているので、「JPY」の要素が「￥」に変更されたことがわかる。ＨＴＭＬ文書中の「JPY」に対応するＸＭＬ文書中の要素の位置を、要素間対応関係ファイル３１から得る（ステップ１１２，１１３）。この場合のＸＭＬ文書中の要素は「/stocklist[1]/item[1]/price[1]/attribute::currency」である。
【０１４７】
「USD」-->「$」についても同様の処理を行ない、ＨＴＭＬ文書中の「USD」に対応するＸＭＬ文書中の要素の位置を得る(/stocklist[1]/item[2]/price[1]/attribute::currency)。
【０１４８】
置換を指定した範囲を操作履歴から求め、二回の置換操作が、同一の範囲で行なわれ、それぞれのＸＰａｔｈが、二回の置換範囲の両方に含まれていることを確認することで、二回の置換が同一の目的による一連の操作列であったと判断する（ステップ１１７，１１８）。
【０１４９】
すべてのＸＰａｔｈを含む、置換範囲内の置換対象を指定できる最小のＸＰａｔｈを作成する。この場合は/stocklist[1]/item/price[1]/attribute::currencyになる。ＸＳＬ文書中のＸＰａｔｈに対応する部分を、要素の内容が「JPY」と等しいなら「￥」を出力する、「USD」に等しいなら「$」を出力する、そうでない場合はそのまま出力するように<xsl:choose>, <xsl:when>, <xsl:otherwise>を用いて更新する（ステップ１２３，１２４）。
【０１５０】
これによって、図４１に示すＸＳＬ文書が得られる。
【０１５１】
さらに、在庫数が0の場合は「N/A」となるように置換したとする。置換による編集結果を図４２に示す。この場合の表示文書（ＨＴＭＬ文書）を図４３に示す。この場合の第２表示規則の生成では、文字列「0」を「N/A」に全置換したのでは、価格の「0」も置換されてしまうため妥当ではない。よって、対話的置換で選択しながら置換する必要がある。前記同様の手順により、/stocklist[1]/item/stock[1]の内容が「0」の時は「N/A」に、そうでない場合はそのまま出力するようにＸＳＬ文書を更新する。更新後のＸＳＬ文書を図４４に示す。
【０１５２】
４．４．構造化文書の文法定義の利用
表示文書中の要素の複写・挿入や移動の操作が行なわれた時に、構造化文書の文法定義情報と、表示文書中の各要素と構造化文書中の各要素間の対応関係とから、要素の属性を指定するように表示規則を作成する。
【０１５３】
ベースとなるＸＳＬによって変換されたPC商品リストのＨＴＭＬ文書(図３７)を基に、新たに表を作成し、個々のデータを表の各カラムに移動させる例を説明する。1個目の商品データ(FreePC 750J)の方を移動させた時点での編集結果を図４５に示す。このときのＨＴＭＬ文書を図４６に示す。
【０１５４】
数値データである価格と在庫数には右寄せの属性が自動的につけられる。これは以下の手順によって行われる。
【０１５５】
「151000」が表の中に挿入された時点で、操作履歴を調べて、ペーストバッファから挿入されたことがわかる。
【０１５６】
操作履歴を遡及し、ペーストバッファにデータをカットによって複写したことがわかる。
【０１５７】
カットした要素(/HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[3]/P[1])と対応するＸＭＬ文書中の要素のＸＰａｔｈを得る(/stocklist[1]/item[1]/price[1])。
【０１５８】
ＸＭＬ Ｓｃｈｅｍａから、この要素の型を調べ、0以上の値を取るintegerであることがわかる。
【０１５９】
TABLEのTD要素にintegerデータを挿入する場合はALIGN=「RIGHT」の属性をdefaultで与えるようにＸＳＬ文書を更新する。
【０１６０】
さらに、次の商品データを置くための新たなrowを作成したとする。このrowは、1個目の商品データに用いたrowと同じであると指定したとする。この時、ＨＴＭＬ文書に割り当てたＸＰａｔｈとＸＭＬ Ｓｃｈｅｍａから、第1カラムのＸＰａｔｈ（/stocklist[1]/item[1]/name[1]）のdata typeはstringであること、同様に第２カラムについては、/stocklist[1]/item[1]/model[1]＝string、第３カラムについては、/stocklist[1]/item[1]/price[1]/attribute::currency＝string、第４カラムについては、/stocklist[1]/item[1]/price[1]＝integer(>0)、第５カラムについては、/stocklist[1]/item[1]/stock[1]＝integer(>0)、であることがわかる。
【０１６１】
よって、2個目の商品データをカットアンドペーストする時に、操作ミスでmodelのデータを第4カラムに置くことは防がれる。
【０１６２】
このように、ＨＴＭＬ文書の編集においては単なる文字列の複写・移動であっても、ＸＭＬ文書の要素との対応関係に基づいて、データの型に合わせた編集操作を制御することができる。
【０１６３】
この操作によって、最終的に図４７に示す編集結果が得られる。編集結果として図４８に示すＨＴＭＬ文書が作成され、それに対応して、図４９に示すＸＳＬ文書を生成する。
【０１６４】
さらに、価格の部分を太字にして、背景色の変更を行うと図５０のようになる。この操作の結果として、図５１のようなＨＴＭＬ文書が作成される。そして、前記同様の処理によって、図５２に示すようなＸＳＬ文書を生成する。すなわち、本発明の編集操作は、要素の移動、削除、結合、置換、表割りだけでなく、文字フォント、文字色、背景色、背景模様等その他の編集操作の全てに適用できる。
【０１６５】
４．５．操作列の汎化による不定数の要素に対する変換
商品リストのような、不定個の要素の繰り返しに適用可能なＸＳＬ文書を作成するには、操作列を汎化する必要がある。具体的には、操作履歴の中から、要素1個分の処理を行なっている操作列のかたまりを抜き出し、それを汎化する。PC商品リストの表を作成する例（４．４．）を用いて説明する。
【０１６６】
操作履歴の中から汎化の対象となる一連の操作列を見つけ出すために、たとえば操作列にマークをつける。つまり、汎化対象の操作列の開始マークと、操作列の終了マークを、履歴中に記録される操作につける。たとえば、1個目の商品データを表に移動させる操作の開始時に開始マークを付け、終了時に終了マークをつける。
【０１６７】
１個目の商品データについて、ＨＴＭＬ文書とＸＭＬ文書の各要素の対応関係が、要素間対応関係ファイル３１から図５３（ａ）に示すような関係であることがわかる。以下、これを汎化する例を説明する。
【０１６８】
まず、それぞれのＸＰａｔｈ群に共通する部分を取り出す。表示文書（ＨＴＭＬ）と構造化文書（ＸＭＬ）の共通部分は図５３（ｂ）に示すとおりである。
【０１６９】
この共通部分のうち、ＤＴＤ/ＸＭＬ Ｓｃｈｅｍａに現われるくり返し部分のaxeについて汎化を行う。この例では最後のaxeが汎化の対象となり、その結果、図５３（ｃ）に示すようなＸＰａｔｈが得られる。ここで、単純にすべてのTR要素(「TR」)とすべてのitem要素(「item」)に汎化してしまうと、開始インデックスがずれている場合に対応できないので、図５３（ｃ）のように、一番目のデータ以降という指示で汎化する。
【０１７０】
この汎化したＸＰａｔｈを用いて、図５３（ｄ）に示すような対応関係を作る。この関係から、図５３（ｅ）に示すような不定数の要素の繰り返しを変換する<xsl:for-each>を生成する。
【０１７１】
この<xsl:for-each>を用いて生成されるＸＳＬ文書を図５４に示す。このようにして、操作列を汎化することができる。
【０１７２】
以上、本項「４．表示規則の生成方法の具体例」では、構造化文書としてＸＭＬ文書、文書型定義としてＤＴＤ/ＸＭＬ Ｓｃｈｅｍａ、表示規則としてＸＳＬ、表示文書としてＨＴＭＬを例示した。しかし、本発明は、これに限られず、他の構造化文書、文書型定義、表示規則、表示文書でも適用が可能である。以下に説明する。
【０１７３】
５．ＳＧＭＬ文書に対するＤＳＳＳＬ文書の生成
構造化文書としてＳＧＭＬ(Standard Generalized Markup Language)文書を考える。ＳＧＭＬに対する表示規則としてはＤＳＳＳＬ(Document Style Sematics and Specification Language)がある。
【０１７４】
例として、文献リスト(booklist)のＳＧＭＬ文書を考える。図５５（ａ）のようなＤＴＤで文書型定義されているとする。
【０１７５】
このＤＴＤに従って書かれたＳＧＭＬ文書の例を図５５（ｂ）に示す。このＳＧＭＬ文書には3つの文献（ガリア戦記、源氏物語、オデッセイ）が書かれている。
【０１７６】
このＳＧＭＬ文書に対して、ベース表示規則として図５６（ａ）のＤＳＳＳＬ文書を生成する。このベース表示規則は、全体(Booklist)をページ列、第1レベルの要素(Book)を段落、それ以下の要素をデータ列として表示する。第2列以降の要素は、前の要素から20ポイント空ける。このベース表示規則により、ＳＧＭＬ文書は図５６（ｂ）のように表示される。
【０１７７】
これを視覚的に編集し、タイトルを斜字体、著者名を太字体、ページ数をCourier書体で表すように操作したとする。図５６（ｃ）のような編集結果が得られる。この編集操作の履歴から、前記した表示規則更新手段２４を用いて、図５６（ｄ）のようなＤＳＳＳＬ文書が得られる。
【０１７８】
このように本発明の表示規則の生成方法、システムはＳＧＭＬ/ＤＳＳＳＬ文書にも適用が可能である。
【０１７９】
６．ＣＳＶ形式の文書に対する表示規則の作成
構造化文書として、表計算ソフトウェアでデータ交換のために広く用いられているＣＳＶ(Comma Separated Value)形式の文書を考える。
【０１８０】
ここでは、航空券の価格・空席一覧のデータリストを例示する。データリストのＣＳＶ形式による表現の例を図５７（ａ）に示す。各行の要素は、それぞれ、便名、出発空港名、出発時刻、到着空港名、到着時刻、価格、空席数を表している。
【０１８１】
表示規則としてＣＳＬ(CSV Stylesheet Language)を独自に定義する。ＣＳＬによるベース表示規則として、図５７（ｂ）のような単純な表として表示する規則を例示する。この表示規則によって得られる表形式による編集画面を図５７（ｃ）に示す。
【０１８２】
この表を編集する。表のヘッダを先頭行に追加し、便名を12ポイントに、出発時刻と到着時刻を太字体に、価格と空席数を右寄せに変更したとする。編集後の表示画面を図５８に示す。
【０１８３】
この編集履歴を元に、前記同様の表示規則更新手段２４を用いて、図５９に示すＣＳＬ形式による表示規則を生成できる。
【０１８４】
このように、本発明の表示規則の生成方法、システムは、ＣＳＶ形式の文書にも適用が可能である。
【０１８５】
（実施の形態２）
前記実施の形態１では、構造化文書の表示規則を更新・生成する例を説明したが、表示文書の編集履歴・結果から、表示規則を生成する代わりに、構造化文書自体を変更することもできる。以下、表示規則ではなく構造化文書自体を変更する例を説明する。
【０１８６】
本実施の形態に適用できるハードウェア構成は実施の形態１と同様である。また、本実施の形態のシステムも実施の形態１のシステムおよび方法と共通する部分が多い。ここでは、本実施の形態に特徴的な部分のみ説明する。
【０１８７】
本実施の形態では、前記「第１表示規則の生成方法」に従って表示規則を生できる。この表示規則は、編集結果によって更新されず固定のままである。また、前記同様の表示文書の生成および表示文書の編集を行える。
【０１８８】
編集履歴とその結果（第２表示文書）による構造化文書の変更方法を図６０に示す。図６０は構造化文書の変更方法の一例を示す全体フローチャートである。
【０１８９】
ステップ１０１およびステップ１０２は、前記「３．４．表示規則の更新方法」の項で説明したものと同様である。本実施の形態では、ステップ１０１、ステップ１０２の後、構造化文書の変更を行う（ステップ１３０）。
【０１９０】
図６１（ａ）は、構造化文書の変更方法の一例を示したフローチャートであり、図６１（ｂ）はその擬似コードである。
【０１９１】
まず、加工記録から履歴を取り出し（ステップ１３１、擬似コード２行目）、その履歴が対象としている構造化文書中の要素（擬似コード３行目）について、これを更新する（ステップ１３２、擬似コード４，５行目）。これを全ての履歴について繰り返す（ステップ１３３）。
【０１９２】
具体例を以下に示す。まず、ベースとなる表示規則を生成する。ここでは、「３．１．２．表による第１表示規則の生成」で説明した方法を用いて表示規則を生成する例を示す。
【０１９３】
例として、文房具の価格リストの構造化文書を考える。図６２（ａ）のようなＤＴＤとＸＭＬ Ｓｃｈｅｍａが与えられ、この文書定義にしたがって書かれた構造化文書が図６２（ｂ）に示すように与えられたとする。「３．１．２．表による第１表示規則の生成」で説明した方法によってベース表示規則は図６３（ａ）のように生成される。また、この表示規則によって、図６３（ｂ）のような表示文書が生成される。この表示文書は図６４のように表示される。
【０１９４】
次に、図６４の画面を見ながら、図６５のような表示となるように編集する。編集内容は、「Notebookの価格を250から300に変更」、「新しくPencilを価格50で追加」である。
【０１９５】
この編集履歴と表示結果から、前記構造化文書の変更方法により、図６６に示すようなＸＭＬ文書が得られる。
【０１９６】
このように、本実施の形態のシステム、方法を用いれば、表示を見ながら表示文書を編集して、その編集内容を反映した構造化文書を自動的に更新できる。
【０１９７】
なお、ここでは、要素の変更、追加を例として挙げたが、削除や移動も同様に可能である。また、表示文書として表形式を例として用いたが、ヘッダおよびDL要素によるリスト表現、単純列挙、インデント付けによるベース表示規則を用いた編集でも前記方法にしたがって同じように構造化文書の編集が可能である。
【０１９８】
（実施の形態３）
さらに、表示文書の編集履歴・結果から、表示規則を生成する代わりに、構造化文書の文法定義自体を変更することもできる。
【０１９９】
本実施の形態に適用できるハードウェア構成は実施の形態１と同様である。また、本実施の形態のシステムも実施の形態１のシステムおよび方法と共通する部分が多い。ここでは、本実施の形態に特徴的な部分のみ説明する。
【０２００】
本実施の形態では、前記「第１表示規則の生成方法」に従って表示規則を生成できる。この表示規則は、編集結果によって更新されず固定のままである。また、前記同様の表示文書の生成および表示文書の編集を行える。
【０２０１】
編集履歴とその結果（第２表示文書）による構造化文書の文法定義の変更方法を図６７に示す。図６７は構造化文書の文法定義の変更方法の一例を示す全体フローチャートである。
【０２０２】
ステップ１０１〜ステップ１０３は、前記「３．４．表示規則の更新方法」の項で説明したものと同様である。本実施の形態では、ステップ１０１、ステップ１０２、ステップ１０３の後、文法定義の更新を行う（ステップ１４０）。
【０２０３】
図６８（ａ）は、文法定義の更新方法の一例を示したフローチャートであり、図６８（ｂ）はその擬似コードである。
【０２０４】
まず、加工記録から履歴を取り出し（ステップ１４１、擬似コード２行目）、その履歴が対象としている文法定義中の規則（擬似コード４，５行目）について、これを更新する（ステップ１４２、擬似コード８，１０，１３行目）。これを全ての履歴について繰り返す（ステップ１３３）。
【０２０５】
次に、具体例を示す。前記実施の形態２で用いた文房具価格リストの例を用いて説明する。図６５の編集結果をさらに編集して、図６９（ａ）のように編集したとする。編集内容は、「表ヘッダの2カラム目にcolorの項目を追加」、「表本体のそれぞれの行の2カラム目に、各文房具の色を追加」である。
【０２０６】
この編集履歴・結果から、前記文法定義の変更方法を適用して、図６９（ｂ）に示すような文法定義としてのＤＴＤが得られる。
【０２０７】
このように、本実施の形態のシステム、方法を用いれば、表示を見ながら表示文書を編集して、その編集内容を反映した文法定義を自動的に更新できる。
【０２０８】
なお、ここでは、要素の追加を例として挙げたが、削除や移動も同様に可能である。また、表示文書として表形式を例として用いたが、ヘッダおよびDL要素によるリスト表現、単純列挙、インデント付けによるベース表示規則を用いた編集でも前記方法にしたがって同じように文法定義の編集が可能である。
【０２０９】
（実施の形態４）
本実施の形態では、第１表示規則の具体例を説明する。前記実施の形態において、ヘッダ要素とＤＬ要素による第１表示規則の生成方法および表による第１表示規則の生成方法の具体例につては既に説明した。ここでは、単純列挙による第１表示規則の生成方法およびインデント付けによる第１表示規則の生成方法の具体例を示す。
【０２１０】
１．単純列挙によるベース表示規則の生成
前記実施の形態３の文房具価格リスト（図６２）から表示規則を生成する方法を説明する。「３．１．３．単純列挙による第１表示規則の生成」の項で説明した方法を適用して、図７０（ａ）のような表示規則が生成される。この表示規則により、図７０（ｂ）のような表示文書が生成される。この文書を表示すると図７１のようになる。
【０２１１】
２．インデント付けによるベース表示規則の生成
前記実施の形態３の文房具価格リスト（図６２）から表示規則を生成する方法を説明する。「３．１．４．インデント付けによる第１表示規則の生成」の項で説明した方法を適用して、図７２（ａ）のような表示規則が生成される。この表示規則により、図７２（ｂ）のような表示文書が生成される。この文書を表示すると図７３のようになる。
【０２１２】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０２１３】
たとえば、実施の形態２〜４で説明したベースとなる表示規則（第１表示規則）およびその具体例を実施の形態１において適用してもよい。
【０２１４】
また、実施の形態１の第２表示規則の生成（表示規則の変更・生成）と実施の形態２の構造化文書の変更を組み合わせてシステムおよび方法に適用してもよい。また、実施の形態１と実施の形態３との組み合わせ、実施の形態１〜３の組み合わせも可能である。
【０２１５】
また、前記した実施の形態では、主に文字データの編集加工を説明したが、文字データに限られず、画像（イメージ）データ、音声データ等あらゆるオブジェクトの表示態様の編集加工にも本発明は適用できる。画像データには動画も含まれることは言うまでもない。
【０２１６】
また、前記実施の形態で説明した編集加工は、要素または属性の削除、追加、位置変更、結合、置換等であったが、これらの操作に限られず、表示規則が記述される言語仕様で許容されたあらゆる表示態様の変更修正に適用できる。たとえば、文字のフォント、色、背景、サイズ等の変更、画像のサイズ、罫線、リスト要素、リンク、ボタン要素等の変更修正にも適用できる。
【０２１７】
また、前記実施の形態では、主にシステムおよび方法について説明したが、これらシステムの機能、方法はコンピュータに可読なプログラムにより実現されるため、このようなコンピュータ可読なプログラムが記録された媒体が前記実施の形態において開示されていることは明らかである。なお、媒体には、たとえばハードディスク等記憶装置に内蔵された媒体のみならず、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フラッシュメモリ、フロッピィディスク等、記憶装置とは別個に取り引きされるものを含むことは勿論である。
【０２１８】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）構造化文書の表示規則を生成する方法であって、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成するステップと、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するステップと、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するステップと、を含む表示規則の生成方法。
（２）構造化文書の表示規則を生成する方法であって、さらに、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第２表示規則を生成するステップを含む前記（１）記載の表示規則の生成方法。
（３）前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである前記（２）記載の表示規則の生成方法。
（４）前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第１表示規則の表要素に対応付けるものである前記（２）記載の表示規則の生成方法。
（５）前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第１表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである前記（２）記載の表示規則の生成方法。
（６）前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである前記（２）記載の表示規則の生成方法。
（７）前記第２表示規則を生成するステップには、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するステップと、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するステップと、前記編集記録の要素群から１つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するステップと、を含む前記（２）記載の表示規則の生成方法。
（８）前記第２表示規則を生成するステップには、さらに、前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するステップを含む前記（７）記載の表示規則の生成方法。
（９）前記構造化文書および表示規則は、ＸＭＬ文書およびＸＳＬ文書、ＳＧＭＬ文書およびＤＳＳＳＬ文書、または、ＣＳＶ文書およびＸＭＬベース文書である前記（１）〜（８）記載の表示規則の生成方法。
（１０）構造化文書を変更する方法であって、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成するステップと、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するステップと、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するステップと、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するステップと、を含み、前記構造化文書を変更するステップには、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するステップと、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するステップと、前記編集記録から１つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、を含む構造化文書の変更方法。
（１１）構造化文書の文書型定義を変更する方法であって、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成するステップと、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するステップと、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するステップと、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するステップと、を含み、前記構造化文書の文書型定義を変更するステップには、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するステップと、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するステップと、前記編集記録から１つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するステップと、を含む構造化文書の文書型定義の変更方法。
（１２）前記構造化文書の文書型定義を変更するステップには、さらに、前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するステップを含む前記（１１）記載の構造化文書の文書型定義の変更方法。
（１３）構造化文書の表示規則を生成するシステムであって、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成する手段と、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成する手段と、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成する手段と、を含む表示規則の生成システム。
（１４）構造化文書の表示規則を生成するシステムであって、さらに、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第２表示規則を生成する手段を含む前記（１３）記載の表示規則の生成システム。
（１５）前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則の見出し要素のレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである前記（１４）記載の表示規則の生成システム。
（１６）前記デフォルト生成規則は、前記構造化文書の各要素の値を前記第１表示規則の表要素に対応付けるものである前記（１４）記載の表示規則の生成システム。
（１７）前記デフォルト生成規則は、前記構造化文書の要素名およびその値に前記第１表示規則の改行要素を付加し、前記構造化文書の要素名およびその値を単純に列挙するものである前記（１４）記載の表示規則の生成システム。
（１８）前記デフォルト生成規則は、前記構造化文書の要素の深さと前記第１表示規則のブロックレベルとを対応付け、前記構造化文書の要素の属性と前記第１表示規則の定義リストとを対応付け、前記構造化文書の要素の値と前記第１表示規則の段落要素とを対応付けるものである前記（１４）記載の表示規則の生成システム。
（１９）前記第２表示規則を生成する手段には、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行する手段と、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行する手段と、前記編集記録の要素群から１つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行する手段と、を含む前記（１４）記載の表示規則の生成システム。
（２０）前記第２表示規則を生成する手段には、さらに、前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行する手段を含む前記（１９）記載の表示規則の生成システム。
（２１）前記構造化文書および表示規則は、ＸＭＬ文書およびＸＳＬ文書、ＳＧＭＬ文書およびＤＳＳＳＬ文書、または、ＣＳＶ文書およびＸＭＬベース文書である前記（１３）〜（２０）記載の表示規則の生成システム。
（２２）構造化文書を変更するシステムであって、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成する手段と、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成する手段と、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成する手段と、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更する手段と、を含み、前記構造化文書を変更する手段には、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行する手段と、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行する手段と、前記編集記録から１つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、を含む構造化文書の変更システム。
（２３）構造化文書の文書型定義を変更するシステムであって、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成する手段と、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成する手段と、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成する手段と、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更する手段と、を含み、前記構造化文書の文書型定義を変更する手段には、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行する手段と、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行する手段と、前記編集記録から１つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行する手段と、を含む構造化文書の文書型定義の変更システム。
（２４）前記構造化文書の文書型定義を変更する手段には、さらに、前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行する手段を含む前記（２３）記載の構造化文書の文書型定義の変更システム。
（２５）構造化文書の表示規則を生成するプログラムコードが記録された媒体であって、前記プラグラムコードには、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成するプロクラムコードと、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するプロクラムコードと、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するプロクラムコードと、を含むプログラムコードが記録された媒体。
（２６）構造化文書の表示規則を生成するプログラムコードが記録された媒体であって、前記プラグラムコードには、さらに、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルと、前記構造化文書とから、前記構造化文書の第２表示規則を生成するプロクラムコードを含む前記（２５）記載のプログラムコードが記録された媒体。
（２７）前記第２表示規則を生成するプロクラムコードには、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するプロクラムコードと、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するプロクラムコードと、前記編集記録の要素群から１つの要素を取り出し、前記要素についての表示規則を前記編集記録に対応する規則に更新し、これを全ての前記編集記録の要素群について実行するプロクラムコードと、を含む前記（２６）記載のプログラムコードが記録された媒体。
（２８）前記第２表示規則を生成するプロクラムコードには、さらに、前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するプロクラムコードを含む前記（２６）記載のプログラムコードが記録された媒体。
（２９）構造化文書を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成するプロクラムコードと、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するプロクラムコードと、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するプロクラムコードと、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書を変更するプロクラムコードと、を含み、前記構造化文書を変更するプロクラムコードには、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するプロクラムコードと、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するプロクラムコードと、前記編集記録から１つの操作を取り出し、前記操作に関する構造化文書の要素を前記操作に適合するように変更し、これを全ての前記操作について実行するプロクラムコードと、を含むプログラムコードが記録された媒体。
（３０）構造化文書の文書型定義を変更するプログラムコードが記録された媒体であって、前記プログラムコードには、デフォルト生成規則と前記構造化文書の文書型定義とから第１表示規則を生成するプロクラムコードと、前記第１表示規則と前記構造化文書とから第１表示文書を生成し、前記構造化文書の要素と前記第１表示文書の要素との対応関係が記録された要素間対応関係ファイルを生成するプロクラムコードと、前記第１表示文書を前記文書編集環境下で編集して第２表示文書を生成し、前記編集の履歴を記録する編集操作履歴ファイルを生成するプロクラムコードと、前記第２表示文書と、前記編集操作履歴ファイルと、前記要素間対応関係ファイルとから、前記構造化文書の文書型定義を変更するプロクラムコードと、を含み、前記構造化文書の文書型定義を変更するプロクラムコードには、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に関連する操作列を前記編集操作履歴ファイルから抽出し、前記取り出された要素と前記操作列とを関連付け、これを前記第２表示文書の全ての要素について実行するプロクラムコードと、前記第２表示文書から１つの要素を取り出し、前記取り出された要素に対応する前記操作列から１つの操作を取り出し、前記取り出された操作の内容とこれに対応する前記構造化文書の要素とを対応付けて編集記録を作成し、これを前記操作列の全てについて実行し、さらにこれを前記第２表示文書の全ての要素について実行するプロクラムコードと、前記編集記録から１つの操作を取り出し、前記操作が対象とする前記構造化文書の文書型定義を前記操作に適合するように変更し、これを全ての前記操作について実行するプロクラムコードと、を含むプログラムコードが記録された媒体。
（３１）前記構造化文書の文書型定義を変更するプロクラムコードには、さらに、前記第２表示文書から１つの要素を取り出し、前記取り出された要素が属する構造と同じまたは類似する構造に属する他の要素群の候補を選択し、前記編集記録の中から前記要素群に共通する編集記録を求め、前記共通する編集記録がある場合には、前記候補中の全ての要素から前記共通の編集記録を削除し、前記候補中の全ての要素について構造を汎化し、これを前記第２表示文書の全ての要素について実行するプロクラムコードを含む前記（３０）記載のプログラムコードが記録された媒体。
【０２１９】
【発明の効果】
本願で開示される発明のうち、代表的なものによって得られる効果は、以下の通りである。
【０２２０】
すなわち、例示操作に基づいて視覚的に構造化文書の表示規則を自動的に生成できる。また、表示文書の結果を確認しながら表示規則を少しずつ修正して、対話的に表示規則を生成できる。また、逐次的修正を繰り返すことによって、表示規則を記述する言語の知識がなくとも、高度な表示規則を自動的に生成できる。表示規則の生成と同様に構造化文書あるいは構造化文書の文書型定義（文法定義）を例示的な表示文書の変更に基づいて変更する技術を提供できる。
【図面の簡単な説明】
【図１】本発明の方法を実現するシステムの概要を示した概念図であり、（ａ）はスタンドアロンのコンピュータを構成の概略を示し、（ｂ）は、コンピュータネットワークの構成の概略を示す。
【図２】本発明の表示規則を生成するシステムの一例を示したブロック図である。
【図３】図２の一部をベース表示規則生成手段について抜き出したブロック図である。
【図４】図２の一部を表示文書生成手段について抜き出したブロック図である。
【図５】図２の一部を視覚的表示文書編集環境について抜き出したブロック図である。
【図６】図２の一部を表示規則更新手段について抜き出したブロック図である。
【図７】（ａ）は、ヘッダ要素とＤＬ要素により第１表示規則を生成する方法の一例を示す全体フローチャートであり、（ｂ）は、その擬似コードである。
【図８】（ａ）は、要素表示規則の生成方法を示したフローチャートであり、（ｂ）はその擬似コードである。
【図９】（ａ）は、属性表示規則の生成方法を示したフローチャートであり、（ｂ）はその擬似コードである。
【図１０】（ａ）は、表形式による第１表示規則を生成する方法の一例を示す全体フローチャートであり、（ｂ）は、その擬似コードである。
【図１１】（ａ）は、表ヘッダの表示規則の生成の一例を示すフローチャートであり、（ｂ）は、その擬似コードである。
【図１２】（ａ）は、表本体の表示規則の生成の一例を示すフローチャートであり、（ｂ）は、その擬似コードである。
【図１３】（ａ）は、列要素の表示規則の生成の一例を示すフローチャートであり、（ｂ）は、その擬似コードである。
【図１４】（ａ）は、要素名、要素内容を単純に列挙する第１表示規則の生成方法の一例を示したフローチャートであり、（ｂ）はその擬似コードである。
【図１５】（ａ）は、インデント付けによる第１表示規則を生成する方法の一例を示す全体フローチャートであり、（ｂ）は、その擬似コードである。
【図１６】（ａ）は、ブロック表示規則の生成方法を示すフローチャートであり、（ｂ）はその擬似コードである。
【図１７】表示規則の更新方法の一例を示す全体フローチャートである。
【図１８】（ａ）は、編集後の表示文書の各要素と編集操作履歴ファイル内の各操作とを関連付ける方法の一例を示したフローチャートであり、（ｂ）は、その擬似コードである。
【図１９】（ａ）は、編集後の表示文書の各要素と構造化文書の要素とその加工過程の組の対応付けの方法の一例を示したフローチャートであり、（ｂ）は、その擬似コードである。
【図２０】（ａ）は、構造化文書の要素の加工過程の汎化の方法の一例を示したフローチャートであり、（ｂ）は、その擬似コードである。
【図２１】（ａ）は、表示規則の更新・作成の方法の一例を示したフローチャートであり、（ｂ）は、その擬似コードである。
【図２２】（ａ）は果物の価格リストのＸＭＬ文書であり、（ｂ）は（ａ）のＸＭＬ文書が基づいているＤＴＤ文書であり、（ｃ）は（ａ）のＸＭＬ文書が基づいているＸＭＬ Ｓｃｈｅｍａである。
【図２３】図２２（ａ）のＸＭＬ文書を表示するためのベースとなるＸＳＬ文書である。
【図２４】図２３のＸＳＬ文書から得られるＨＴＭＬ文書である。
【図２５】図２２（ａ）のＸＭＬ文書要素と図２４のＨＴＭＬ文書要素の要素間対応関係を示したリストである。
【図２６】図２４のＨＴＭＬ文書を表示した画面図である。
【図２７】図２６の画面の編集操作を行った後の表示画面図である。
【図２８】図２７に示す画面への編集操作を行った後に生成されたＸＳＬ文書である。
【図２９】図２７の画面をさらに編集した後の表示画面図である。
【図３０】図２９の画面を表示するＨＴＭＬ文書である。
【図３１】図２９に示す画面への編集操作を行った後に生成されたＸＳＬ文書である。
【図３２】要素の結合を説明するための編集操作後の表示画面図である。
【図３３】図３２の画面を表示するＨＴＭＬ文書である。
【図３４】図３２に示す画面への編集操作を行った後に生成されたＸＳＬ文書である。
【図３５】（ａ）は商品リストのＸＭＬ文書であり、（ｂ）は（ａ）のＸＭＬ文書が基づいているＤＴＤ文書であり、（ｃ）は（ａ）のＸＭＬ文書が基づいているＸＭＬＳｃｈｅｍａである。
【図３６】図３５（ａ）のＸＭＬ文書を表示するためのベースとなるＸＳＬ文書である。
【図３７】図３６のＸＳＬ文書から得られるＨＴＭＬ文書である。
【図３８】図３７のＨＴＭＬ文書の表示画面図である。
【図３９】図３８の画面を編集操作した後の表示画面図である。
【図４０】図３９の画面を表示するＨＴＭＬ文書である。
【図４１】図３９に示す画面への編集操作を行った後に生成されたＸＳＬ文書である。
【図４２】図３９の画面をさらに編集操作した後の表示画面図である。
【図４３】図４２の画面を表示するＨＴＭＬ文書である。
【図４４】図４２に示す画面への編集操作を行った後に生成されたＸＳＬ文書である。
【図４５】構造化文書の文法定義の利用を説明するための編集後表示画面図である。
【図４６】図４５の画面を表示するＨＴＭＬ文書である。
【図４７】図４５の画面をさらに編集した後の表示画面図である。
【図４８】図４７の画面を表示するＨＴＭＬ文書である。
【図４９】図４７に示す画面への編集操作を行った後に生成されたＸＳＬ文書である。
【図５０】図４７の画面をさらに編集した後の表示画面図である。
【図５１】図５０の画面を表示するＨＴＭＬ文書である。
【図５２】図５０に示す画面への編集操作を行った後に生成されたＸＳＬ文書である。
【図５３】操作列の汎化による不定数の要素に対する変換を説明するためのリストであり、（ａ）は要素間の対応関係を示し、（ｂ）はＸＰａｔｈの共通部分を示し、（ｃ）は得られたＸＰａｔｈであり、（ｄ）は表中の位置とＸＰａｔｈとの対応関係を示し、（ｅ）は生成された<xsl:for-each>である。
【図５４】生成されたＸＳＬ文書である。
【図５５】（ａ）は、文献リストのＤＴＤであり、（ｂ）はＳＧＭＬ文書である。
【図５６】（ａ）は、ベース表示規則として生成されたＤＳＳＳＬ文書であり、（ｂ）はベース表示規則により表示されたＳＧＭＬ文書の表示画面である。（ｃ）は、編集後の表示画面であり、（ｄ）は更新されたＤＳＳＳＬ文書である。
【図５７】（ａ）は、ＣＳＶ形式によるデータリストであり、（ｂ）は、単純な表として表示する規則である。（ｃ）は、表形式による表示画面図である。
【図５８】編集後の表示画面である。
【図５９】更新後の表示規則である。
【図６０】構造化文書の変更方法の一例を示す全体フローチャートである。
【図６１】（ａ）は、構造化文書の変更方法の一例を示したフローチャートであり、（ｂ）はその擬似コードである。
【図６２】構造化文書の変更方法を説明するためのリストであり、（ａ）は文房具価格リストのＤＴＤとＸＭＬ Ｓｃｈｅｍａであり、（ｂ）は文房具価格リストのＸＭＬ文書である。
【図６３】（ａ）は、図６２（ｂ）のＸＭＬ文書を表示するためのベースとなるＸＳＬ文書であり、（ｂ）は（ａ）のＸＳＬ文書から得られるＨＴＭＬ文書である。
【図６４】図６３（ｂ）のＨＴＭＬ文書を表示した表示画面図である。
【図６５】図６４の画面を編集した後の表示画面図である。
【図６６】図６５に示した画面への編集を行った後に生成されたＸＭＬ文書である。
【図６７】構造化文書の文法定義の変更方法の一例を示す全体フローチャートである。
【図６８】（ａ）は、文法定義の更新方法の一例を示したフローチャートであり、（ｂ）はその擬似コードである。
【図６９】（ａ）は、図６５の画面をさらに編集した後の表示画面図である。（ｂ）は、更新されたＤＴＤを示すリストである。
【図７０】（ａ）は表示規則であり、（ｂ）は表示文書である。
【図７１】表示画面である。
【図７２】（ａ）は表示規則であり、（ｂ）は表示文書である。
【図７３】表示画面である。
【符号の説明】
１  中央演算処理装置
２  主記憶装置
３  不揮発性記憶装置
４  バス
５  記憶装置（外部記憶装置）
６  データ入力デバイス（入力装置）
７  表示デバイス（表示装置）
８  通信制御装置
９  マウス
１０  パーソナルコンピュータ
１１  ワークステーション
１２  メインフレームコンピュータ
２１  ベース表示規則生成手段
２２  表示文書生成手段
２３  視覚的表示文書編集環境
２４  表示規則更新手段
２５  描画エンジン
２６  構造化文書
２７  文書型定義
２８  デフォルト生成規則
２９  第１表示規則
３０  第１表示文書
３１  要素間対応関係ファイル
３２  第２表示文書
３３  編集操作履歴ファイル
３４  第２表示規則
【図１】
0004091726.tif 000002
【図２】
0004091726.tif 000003
【図３】
0004091726.tif 000004
【図４】
0004091726.tif 000005
【図５】
0004091726.tif 000006
【図６】
0004091726.tif 000007
【図７】
0004091726.tif 000008
【図８】
0004091726.tif 000009
【図９】
0004091726.tif 000010
【図１０】
0004091726.tif 000011
【図１１】
0004091726.tif 000012
【図１２】
0004091726.tif 000013
【図１３】
0004091726.tif 000014
【図１４】
0004091726.tif 000015
【図１５】
0004091726.tif 000016
【図１６】
0004091726.tif 000017
【図１７】
0004091726.tif 000018
【図１８】
0004091726.tif 000019
【図１９】
0004091726.tif 000020
【図２０】
0004091726.tif 000021
【図２１】
0004091726.tif 000022
【図２２】
0004091726.tif 000023
【図２３】
0004091726.tif 000024
【図２４】
0004091726.tif 000025
【図２５】
0004091726.tif 000026
【図２６】
0004091726.tif 000027
【図２７】
0004091726.tif 000028
【図２８】
0004091726.tif 000029
【図２９】
0004091726.tif 000030
【図３０】
0004091726.tif 000031
【図３１】
0004091726.tif 000032
【図３２】
0004091726.tif 000033
【図３３】
0004091726.tif 000034
【図３４】
0004091726.tif 000035
【図３５】
0004091726.tif 000036
【図３６】
0004091726.tif 000037
【図３７】
0004091726.tif 000038
【図３８】
0004091726.tif 000039
【図３９】
0004091726.tif 000040
【図４０】
0004091726.tif 000041
【図４１】
0004091726.tif 000042
【図４２】
0004091726.tif 000043
【図４３】
0004091726.tif 000044
【図４４】
0004091726.tif 000045
【図４５】
0004091726.tif 000046
【図４６】
0004091726.tif 000047
【図４７】
0004091726.tif 000048
【図４８】
0004091726.tif 000049
【図４９】
0004091726.tif 000050
【図５０】
0004091726.tif 000051
【図５１】
0004091726.tif 000052
【図５２】
0004091726.tif 000053
【図５３】
0004091726.tif 000054
【図５４】
0004091726.tif 000055
【図５５】
0004091726.tif 000056
【図５６】
0004091726.tif 000057
【図５７】
0004091726.tif 000058
【図５８】
0004091726.tif 000059
【図５９】
0004091726.tif 000060
【図６０】
0004091726.tif 000061
【図６１】
0004091726.tif 000062
【図６２】
0004091726.tif 000063
【図６３】
0004091726.tif 000064
【図６４】
0004091726.tif 000065
【図６５】
0004091726.tif 000066
【図６６】
0004091726.tif 000067
【図６７】
0004091726.tif 000068
【図６８】
0004091726.tif 000069
【図６９】
0004091726.tif 000070
【図７０】
0004091726.tif 000071
【図７１】
0004091726.tif 000072
【図７２】
0004091726.tif 000073
【図７３】
0004091726.tif 000074