(57)【要約】【課題】  利用者が、表示・印刷された結果を編集する動作に基づき、その編集操作を、構造化文書（ＸＭＬ文書）及びその書式プログラム（（スタイルシート（ＸＳＬＴ）等）の双方に反映する仕組みを実現することである。【解決手段】  ＸＭＬ文書の内容を書式プログラムが記述する変換規則に従って変換しＨＴＭＬデータを作成する。ＨＴＭＬデータを表示させながら、このＨＴＭＬデータに対して編集操作を利用者が入力する。この編集操作に基づいて、前記ＸＭＬ文書、及び／又は、前記書式プログラム、を編集する。編集の後、再び前記ＸＭＬ文書の内容を前記書式プログラムが記述する所定の変換規則に従って変換することによってＨＴＭＬデータが作成され表示される。書式プログラムは、ＸＭＬ文書からＨＴＭＬデータに対する対応だけでなく、逆の対応に関する情報も含むので、編集動作を元のＸＭＬ文書や、書式プログラムに反映できる。【選択図】  図１
2006059243.tif 000002
【特許請求の範囲】
【請求項１】
少なくともプロセッサ、記憶手段、入力手段、を備えたコンピュータを用いて構造化文書を生成する方法において、
前記プロセッサが、前記記憶手段に格納されている構造化文書の内容を、書式プログラムが記述する所定の変換規則に従って変換することによって、表示データを作成する表示データ作成ステップと、
前記プロセッサが、前記表示データに対する編集操作を入力手段を介して入力し、この入力した編集操作に基づいて、前記構造化文書、及び／又は、前記書式プログラム、を編集する編集ステップと、
を含み、
前記編集ステップにおける編集が実行された後、前記プロセッサが、再び前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って、変換することによって、表示データを作成することを特徴とする構造化文書生成方法。
【請求項２】
さらに表示手段を備えたコンピュータを用いて構造化文書を生成する請求項１記載の構造化文書生成方法において、
前記表示手段が、前記表示データを表示する表示ステップ、
を含むことを特徴とする構造化文書生成方法。
【請求項３】
請求項１又は２記載の構造化文書生成方法において、
前記編集ステップは、
前記編集操作が複製である場合に、前記プロセッサが、構造化文書のデータを複数個のデータ群に変換する変換規則を前記書式プログラム中に記述する複製ステップ、
を含むことを特徴とする構造化文書生成方法。
【請求項４】
請求項１又は２記載の構造化文書生成方法において、
前記編集ステップは、
前記編集操作が複製操作によって複数のデータに変換されたデータ群の変更である場合に、前記プロセッサが、構造化文書内で、上記削除の対象となるデータと対応するデータを変更する複製データ変更ステップ、
を含むことを特徴とする構造化文書生成方法。
【請求項５】
請求項１又は２記載の構造化文書生成方法において、
前記編集ステップは、
前記編集操作が複製操作によって複数のデータに変換されたデータ群の削除である場合に、前記プロセッサが、構造化文書内で、上記削除の対象となるデータと対応するデータを削除する複製データ削除ステップ、
を含むことを特徴とする構造化文書生成方法。
【請求項６】
請求項１又は２記載の構造化文書生成方法において、
前記編集ステップは、
前記編集操作が複製操作によって複数のデータに変換されたデータ群への新規データの挿入である場合に、前記プロセッサが、構造化文書内で、上記挿入の対象となるデータと対応するデータ中に、前記新規データを挿入する複製データ挿入ステップ、
を含むことを特徴とする構造化文書生成方法。
【請求項７】
請求項１又は２記載の構造化文書生成方法において、
前記編集ステップは、
前記編集操作が複製操作によって複数のデータに変換されたデータ群に対して、一部のデータのみの削除である場合に、前記プロセッサが、前記書式プログラム中の上記複数のデータへの変換のための変換規則に対して、その変換後の複数のデータ群中の所定のデータを削除する変換規則を、前記書式プログラム中に追加する複製データ独立削除ステップ、
を含むことを特徴とする構造化文書生成方法。
【請求項８】
前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って変換することによって、表示データを作成する表示データ作成手段と、
前記表示データに対する編集操作を入力し、この入力した編集操作に基づいて、前記構造化文書、及び／又は、前記書式プログラム、を編集する編集手段と、
を含み、
前記編集手段による編集が実行された後、前記表示データ作成手段が、再び前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って、変換することによって、表示データを作成することを特徴とする構造化文書生成装置。
【請求項９】
請求項８記載の構造化文書生成装置において、
前記表示データを表示する表示手段、
を含むことを特徴とする構造化文書生成装置。
【請求項１０】
請求項８又は９記載の構造化文書生成装置において、
前記編集手段は、前記編集操作が複製である場合に、構造化文書のデータを複数個のデータ群に変換する変換規則を前記書式プログラム中に記述することを特徴とする構造化文書生成装置。
【請求項１１】
請求項８又は９記載の構造化文書生成装置において、
前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群の変更である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを変更することを特徴とする構造化文書生成装置。
【請求項１２】
請求項８又は９記載の構造化文書生成装置において、
前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群の削除である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを削除することを特徴とする構造化文書生成装置。
【請求項１３】
請求項８又は９記載の構造化文書生成装置において、
前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群への新規データの挿入である場合に、前記プロセッサが、構造化文書内で、上記挿入の対象となるデータと対応するデータ中に、前記新規データを挿入することを特徴とする構造化文書生成装置。
【請求項１４】
請求項８又は９記載の構造化文書生成装置において、
前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群に対して、一部のデータのみの削除である場合に、前記書式プログラム中の上記複数のデータへの変換のための変換規則に対して、その変換後の複数のデータ群中の所定のデータを削除する変換規則を、前記書式プログラム中に追加することを特徴とする構造化文書生成装置。
【請求項１５】
コンピュータを構造化文書生成装置として動作させるプログラムにおいて、
前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って変換することによって、表示データを作成する第１表示データ作成手順と、
前記表示データに対する編集操作を入力し、この入力した編集操作に基づいて、前記構造化文書、及び／又は、前記書式プログラム、を編集する編集手順と、
を前記コンピュータに実行させ、
前記コンピュータに、前記編集手順における編集が実行された後、再び前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って、変換することによって、表示データを作成させる第２表示データ作成手順、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１６】
請求項１５記載のプログラムにおいて、前記コンピュータに、
前記表示データを表示する表示手順、
を実行させることを特徴とするプログラム。
【請求項１７】
請求項１５又は１６記載のプログラムにおいて、
前記編集手順は、
前記編集操作が複製である場合に、構造化文書のデータを複数個のデータ群に変換する変換規則を前記書式プログラム中に記述する複製手順、
を含むことを特徴とするプログラム。
【請求項１８】
請求項１５又は１６記載のプログラムにおいて、
前記編集手順は、
前記編集操作が複製操作によって複数のデータに変換されたデータ群の変更である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを変更する複製データ変更手順、
を含むことを特徴とするプログラム。
【請求項１９】
請求項１５又は１６記載のプログラムにおいて、
前記編集手順は、
前記編集操作が複製操作によって複数のデータに変換されたデータ群の削除である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを削除する複製データ削除手順、
を含むことを特徴とするプログラム。
【請求項２０】
請求項１５又は１６記載のプログラムにおいて、
前記編集手順は、
前記編集操作が複製操作によって複数のデータに変換されたデータ群への新規データの挿入である場合に、構造化文書内で、上記挿入の対象となるデータと対応するデータ中に、前記新規データを挿入する複製データ挿入手順、
を含むことを特徴とするプログラム。
【請求項２１】
請求項１５又は１６記載のプログラムにおいて、
前記編集手順は、
前記編集操作が複製操作によって複数のデータに変換されたデータ群に対して、一部のデータのみの削除である場合に、前記プロセッサが、前記書式プログラム中の上記複数のデータへの変換のための変換規則に対して、その変換後の複数のデータ群中の所定のデータを削除する変換規則を、前記書式プログラム中に追加する複製データ独立削除手順、
を含むことを特徴とするプログラム。
【請求項２２】
構造化文書の変換規則を記述する書式プログラムを格納した記録媒体において、
前記変換規則は、変換後のデータに対応する変換前のデータを識別するためのデータを含んでいることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ等の構造化文書の自動生成に関する。
【背景技術】
【０００２】
近年、電子的な構造化文書の生成、蓄積、及びその効果的な利用法は、極めて重要な課題となっている。それは、インターネットを含む広範な情報の交換、流通にとって、構造化文書の利用が極めて有効なツールだからである。
【０００３】
代表的な構造化文書として、ＸＭＬ（Extended Markup Language）が知られている。このＸＭＬにおいては、文書構造と書式情報とが厳密に分けられている。
【０００４】
ＸＭＬ文書は、この文書構造を保有している。その一方、書式情報は別のデータで記述する必要がある。書式情報は、スタイルシートと呼ばれることが多い。
【０００５】
書式情報を表すものは種々存在する。例えば、ＣＳＳ（Cascading Style Sheets）や、ＸＳＬ（eXtensible Stylesheet Language）が知られている。ＣＳＳはＨＴＭＬ（Hyper Text Markup Language）に対して用いられる場合が比較的多い。ＸＭＬ文書に関してはＣＳＳだけでなくＸＳＬも広く利用される。これら、スタイルシートを記述する言語はスタイルシート言語と呼ばれる。
【０００６】
このように、構造化文書は、「文書構造」を表すデータと、「書式情報」を表すデータの双方を用いて、実際に人の目に触れる「画面」や「印刷物」が生成されるのである。
【０００７】
なお、ＸＭＬの作成に関する技術は、種々知られている。たとえば、印刷データをＸＭＬデータに変換する技術の一例が、下記特許文献１に記載されている。また、ウェブサイトを定義するＸＭＬ文書を生成するのに関連する技術が下記特許文献２に示されている。
【０００８】
この特許文献２においては、ＸＭＬ文書がＤＴＤ及びＸＳＬＴによってＨＴＭＬのコーディング方法が定義されるようにしたユニットと、このユニットを配置してウェブサイトを定義するＸＭＬ文書のＤＯＭ及びＤＯＭのノードを作成するエディタと、を備えたシステムが示されている。
【０００９】
【特許文献１】特開２００２−３３４２９４号公報
【特許文献２】特開２００２−２２９９７３号公報  用語  本特許では、文書構造を表すデータを「構造化文書」と呼び、スタイルシートのように書式情報を含むデータを「書式プログラム」と呼ぶ。また、本特許では、コンピュータが実行する命令の列・集合体であるいわゆるコンピュータプログラムは、単に「プログラム」と呼ぶ。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
さて、人々が日々作成している多量の構造化文書に対して構造化文書に対して、その文書の維持や文書間の変換などに多くの労力が必要となっている。その理由は、このような構造化文書の生成は、手作業に近い作業で行われているからである。
【００１１】
ＸＭＬを操作するエディターにＸＭＬエディターと呼ばれるものがある。ＸＭＬエディターは、タグを挿入しやすくする機能等が設けられており、ＸＭＬの作成を支援するのに役立っている。
【００１２】
ＸＭＬのような構造化文書の編集においては、単に文字を挿入、複写、削除するといった操作だけではなく、文書の構造に関わる一群の項目、部分文書に対する挿入、複製、削除といった操作が大きな役割を果たす。このような編集操作による文書の変更については、それをＸＭＬ文書に反映させるだけではなく、スタイルシートのような書式プログラムにも反映させなくてはならない。また、ＸＭＬ文書の編集にあたっては、その文書の構造がよくわかるように表示・印刷したものの上で操作することが望まれる。
【００１３】
しかしながら、ＸＭＬ文書をその表示・印刷されたものとの関係で編集できる手段は未だ知られていない。また、変換（スタイルシート等）をＸＳＬＴのような変換言語を理解した上で記述する必要があるので、一般の利用者には困難な面が存在した。
【００１４】
これに対して、そのＸＭＬ文書がどのように表示・印刷されるかを見ながらＸＭＬを編集できれば便利である。さらに、表示・印刷された結果を編集し、その編集がＸＭＬ文書及びそのスタイルシートにも反映されればＸＭＬ文書の作成が極めて効率化され便利である。
【００１５】
本発明は、このような課題に鑑みなされたものであり、その目的は、構造化文書の形式などの変換を、一般的な編集操作で自動的に行うことを可能とすることである。
【００１６】
また、本発明の目的は、この編集操作から文書変換のためのプログラム（スタイルシート等の書式情報）を自動生成することである。この文書変換のためのプログラムを、本特許では、書式プログラムと呼ぶ。
【００１７】
さらに、本発明の目的は、利用者が、表示・印刷された結果を編集する動作に基づき、その編集操作を、構造化文書（ＸＭＬ文書）及びその書式プログラム（（スタイルシート（ＸＳＬＴ）等）の双方に反映する仕組みを実現することである。
【課題を解決するための手段】
【００１８】
Ａ．構造化文書生成方法
（１）本発明は、上記課題を解決するために、少なくともプロセッサ、記憶手段、入力手段、を備えたコンピュータを用いて構造化文書を生成する方法において、前記プロセッサが、前記記憶手段に格納されている構造化文書の内容を、書式プログラムが記述する所定の変換規則に従って変換することによって、表示データを作成する表示データ作成ステップと、前記プロセッサが、前記表示データに対する編集操作を入力手段を介して入力し、この入力した編集操作に基づいて、前記構造化文書、及び／又は、前記書式プログラム、を編集する編集ステップと、を含み、前記編集ステップにおける編集が実行された後、前記プロセッサが、再び前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って、変換することによって、表示データを作成することを特徴とする構造化文書生成方法である。
【００１９】
このような構成によって、編集操作が構造化文書だけでなく、書式プログラムに対しても反映されるので、これらを作成する作業労力が軽減される。
【００２０】
（２）また、本発明は、さらに表示手段を備えたコンピュータを用いて構造化文書を生成する上記（１）記載の構造化文書生成方法において、前記表示手段が、前記表示データを表示する表示ステップ、を含むことを特徴とする構造化文書生成方法である。
【００２１】
このような構成によって、利用者は表示を見ながら編集操作を入力することができる。
【００２２】
（３）また、本発明は、（１）又は（２）記載の構造化文書生成方法において、前記編集ステップは、前記編集操作が複製である場合に、前記プロセッサが、構造化文書のデータを複数個のデータ群に変換する変換規則を前記書式プログラム中に記述する複製ステップ、を含むことを特徴とする構造化文書生成方法である。
【００２３】
このような構成によって、編集操作によって、書式プログラムに対して変換規則を付け加えることが可能である。
【００２４】
（４）また、本発明は、（１）又は（２）記載の構造化文書生成方法において、前記編集ステップは、前記編集操作が複製操作によって複数のデータに変換されたデータ群の変更である場合に、前記プロセッサが、構造化文書内で、上記削除の対象となるデータと対応するデータを変更する複製データ変更ステップ、を含むことを特徴とする構造化文書生成方法である。
【００２５】
このような構成によって、編集操作によって、構造化文書に対してデータの変更を行うことが可能である。
【００２６】
（５）また、本発明は、（１）又は（２）記載の構造化文書生成方法において、前記編集ステップは、前記編集操作が複製操作によって複数のデータに変換されたデータ群の削除である場合に、前記プロセッサが、構造化文書内で、上記削除の対象となるデータと対応するデータを削除する複製データ削除ステップ、を含むことを特徴とする構造化文書生成方法である。
【００２７】
このような構成によって、編集操作によって、構造化文書に対してデータの削除を行うことが可能である。
【００２８】
（６）また、本発明は、（１）又は（２）記載の構造化文書生成方法において、前記編集ステップは、前記編集操作が複製操作によって複数のデータに変換されたデータ群への新規データの挿入である場合に、前記プロセッサが、構造化文書内で、上記挿入の対象となるデータと対応するデータ中に、前記新規データを挿入する複製データ挿入ステップ、を含むことを特徴とする構造化文書生成方法である。
【００２９】
このような構成によって、編集操作によって、構造化文書に対してデータの削除を行うことが可能である。
【００３０】
（７）また、本発明は、（１）又は（２）記載の構造化文書生成方法において、前記編集ステップは、前記編集操作が複製操作によって複数のデータに変換されたデータ群に対して、一部のデータのみの削除である場合に、前記プロセッサが、前記書式プログラム中の上記複数のデータへの変換のための変換規則に対して、その変換後の複数のデータ群中の所定のデータを削除する変換規則を、前記書式プログラム中に追加する複製データ独立削除ステップ、を含むことを特徴とする構造化文書生成方法である。
【００３１】
このような構成によって、編集操作によって、書式プログラムに対してデータの削除を表す変換規則を追加することが可能である。
【００３２】
Ｂ．構造化文書生成装置
以下に述べる構造化文書生成装置の発明は、上記構造化文書生成方法の発明を実行する装置構成について発明としたものであり、その作用・原理は基本的に上記構造化文書生成方法と同様である。
【００３３】
（８）本発明は、上記課題を解決するために、前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って変換することによって、表示データを作成する表示データ作成手段と、前記表示データに対する編集操作を入力し、この入力した編集操作に基づいて、前記構造化文書、及び／又は、前記書式プログラム、を編集する編集手段と、を含み、前記編集手段による編集が実行された後、前記表示データ作成手段が、再び前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って、変換することによって、表示データを作成することを特徴とする構造化文書生成装置である。
【００３４】
（９）また、本発明は、（８）記載の構造化文書生成装置において、前記表示データを表示する表示手段、を含むことを特徴とする構造化文書生成装置である。
【００３５】
（１０）また、本発明は、上記（８）又は（９）記載の構造化文書生成装置において、前記編集手段は、前記編集操作が複製である場合に、構造化文書のデータを複数個のデータ群に変換する変換規則を前記書式プログラム中に記述することを特徴とする構造化文書生成装置である。
【００３６】
（１１）また、本発明は、上記（８）又は（９）記載の構造化文書生成装置において、前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群の変更である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを変更することを特徴とする構造化文書生成装置である。
【００３７】
（１２）また、本発明は、上記（８）又は（９）記載の構造化文書生成装置において、前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群の削除である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを削除することを特徴とする構造化文書生成装置である。
【００３８】
（１３）また、本発明は、上記（８）又は（９）記載の構造化文書生成装置において、前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群への新規データの挿入である場合に、前記プロセッサが、構造化文書内で、上記挿入の対象となるデータと対応するデータ中に、前記新規データを挿入することを特徴とする構造化文書生成装置である。
【００３９】
（１４）また、本発明は、上記（８）又は（９）記載の構造化文書生成装置において、前記編集手段は、前記編集操作が複製操作によって複数のデータに変換されたデータ群に対して、一部のデータのみの削除である場合に、前記書式プログラム中の上記複数のデータへの変換のための変換規則に対して、その変換後の複数のデータ群中の所定のデータを削除する変換規則を、前記書式プログラム中に追加することを特徴とする構造化文書生成装置である。
【００４０】
Ｃ．プログラム
以下に述べるプログラムの発明は、上記構造化文書生成方法の発明を実行する装置としてコンピュータを動作させるプログラムであり、その作用・原理は基本的に上記構造化文書生成方法と同様である。
【００４１】
（１５）本発明は、上記課題を解決するために、コンピュータを構造化文書生成装置として動作させるプログラムにおいて、前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って変換することによって、表示データを作成する第１表示データ作成手順と、前記表示データに対する編集操作を入力し、この入力した編集操作に基づいて、前記構造化文書、及び／又は、前記書式プログラム、を編集する編集手順と、を前記コンピュータに実行させ、前記コンピュータに、前記編集手順における編集が実行された後、再び前記構造化文書の内容を、前記書式プログラムが記述する所定の変換規則に従って、変換することによって、表示データを作成させる第２表示データ作成手順、を前記コンピュータに実行させることを特徴とするプログラムである。
【００４２】
（１６）また、本発明は、上記（１５）記載のプログラムにおいて、前記コンピュータに、前記表示データを表示する表示手順、を実行させることを特徴とするプログラムである。
【００４３】
（１７）また、本発明は、上記（１５）又は（１６）記載のプログラムにおいて、前記編集手順は、前記編集操作が複製である場合に、構造化文書のデータを複数個のデータ群に変換する変換規則を前記書式プログラム中に記述する複製手順、を含むことを特徴とするプログラムである。
【００４４】
（１８）また、本発明は、上記（１５）又は（１６）記載のプログラムにおいて、前記編集手順は、前記編集操作が複製操作によって複数のデータに変換されたデータ群の変更である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを変更する複製データ変更手順、を含むことを特徴とするプログラムである。
【００４５】
（１９）また、本発明は、上記（１５）又は（１６）記載のプログラムにおいて、前記編集手順は、前記編集操作が複製操作によって複数のデータに変換されたデータ群の削除である場合に、構造化文書内で、上記削除の対象となるデータと対応するデータを削除する複製データ削除手順、を含むことを特徴とするプログラムである。
【００４６】
（２０）また、本発明は、上記（１５）又は（１６）記載のプログラムにおいて、前記編集手順は、前記編集操作が複製操作によって複数のデータに変換されたデータ群への新規データの挿入である場合に、構造化文書内で、上記挿入の対象となるデータと対応するデータ中に、前記新規データを挿入する複製データ挿入手順、を含むことを特徴とするプログラムである。
【００４７】
（２１）また、本発明は、上記（１５）又は（１６）記載のプログラムにおいて、前記編集手順は、前記編集操作が複製操作によって複数のデータに変換されたデータ群に対して、一部のデータのみの削除である場合に、前記プロセッサが、前記書式プログラム中の上記複数のデータへの変換のための変換規則に対して、その変換後の複数のデータ群中の所定のデータを削除する変換規則を、前記書式プログラム中に追加する複製データ独立削除手順、を含むことを特徴とするプログラムである。
【００４８】
（２２）また、本発明は、構造化文書の変換規則を記述する書式プログラムを格納した記録媒体において、前記変換規則は、変換後のデータに対応する変換前のデータを識別するためのデータを含んでいることを特徴とする記録媒体である。
【００４９】
このような構成によって、構造化文書から変換後の文書への対応だけでなく、変換後の文書内のデータから、元の構造化文書中のデータへの対応を知ることが可能である。いわば双方向の情報を含んでいる記録媒体である。記録媒体は、各種光ディスク磁気ディスク等が利用可能であり、ハードディスクや半導体記憶装置でもよい。
【発明の効果】
【００５０】
以上述べたように、本発明によれば、編集操作によって、構造化文書・書式プログラムの双方又はいずれか一方の編集を行うことができる。その結果、構造化文書のプログラミングが従来に比べて容易になる。
【発明を実施するための最良の形態】
【００５１】
以下、本発明の好適な実施の形態を図面に基づいて説明する。
【００５２】
構成
図１には、本実施の形態に係る構造化文書生成装置を構成するコンピュータ１０の構成ブロック図が示されている。
【００５３】
図１に示されているように、このコンピュータ１０は、プロセッサ１２、記憶装置１４ａ、１４ｂ、１４ｃ、１４ｄを備えている。また、コンピュータ１０はデータを表示するためのディスプレイ１６及びディスプレイ１６とプロセッサ１２等とを接続するためのインターフェース１６ｂと、を備えている。
【００５４】
さらに、コンピュータ１０は、利用者からの操作を入力するためのキーボード１８及びキーボードとプロセッサ１２等とを接続するためのインターフェース１８ｂと、を備えている。
【００５５】
記憶装置１４ｄには、本実施の形態において特徴的なプログラムである「プログラマブルエディター」が格納されている。プロセッサ１２がこの「プログラマブルエディター」を実行することによって、コンピュータ１０は、構造化文書生成装置として動作する。
【００５６】
記憶装置１４ａには、本構造化文書生成装置による編集の対象となるＸＭＬ文書が格納されている。全く新規に構造化文書を生成する場合は、このＸＭＬ文書は白紙、すなわち空のファイルである。もちろん、前回作成した構造化文書を編集しようとする場合は、記憶装置１４ａには、前回の編集内容が反映されたＸＭＬ文書が格納されている。
【００５７】
記憶装置１４ｂには、書式プログラムＸが格納されている。この書式プログラムは、従来のスタイルシート（ＸＳＬＴ等）に相当するものである。本実施の形態の書式プログラムＸが、従来のスタイルシートと異なる点は、ＸＭＬ文書を変換規則が記述されているだけでなく、逆方向の変換に関する情報も記述されている点である。このようないわば逆向きの変換規則を備えていることによって、利用者が変換後の表示データに対して行った編集操作を元のＸＭＬ文書（及び書式プログラムＸ）に反映することができるのである。具体的な動作については後に詳述する。
【００５８】
記憶装置１４ｃには、ＸＭＬ文書を表示用に変換したＨＴＭＬデータが格納される。このＨＴＭＬデータは、ＸＭＬ文書を、書式プログラムＸに従って、変換した結果である。ＨＴＭＬデータは表示のための書式情報を含んでいるので、ディスプレイ１６に容易に表示することができる。ＨＴＭＬデータを表示するための代表的なプログラムとしては、ブラウザと呼ばれるプログラムが広く知られている。このブラウザは、特にインターネット上でＨＴＭＬデータを閲覧する場合に広く利用されている。
【００５９】
プロセッサ１２は、既に述べたように、記憶装置１４d内のプログラマブルエディターを実行する。これによって、コンピュータ１０は、構造化文書生成装置として動作する。
【００６０】
インターフェース１６ａは、ディスプレイ１６にビデオ信号を供給し、ディスプレイはこのビデオ信号に基づき所定の画面表示を行う。インターフェース１６ａは、ビデオカードやそのドライバープログラム等から構成されており、ＨＴＭＬデータを表示した場合の画面データをビデオ信号に変換してからディスプレイ１６に送信する。ディスプレイ１６及びインターフェース１６ａは、請求の範囲の表示手段の好適な一例に相当する。
【００６１】
インターフェース１８ａは、キーボード１８からのキー操作を入力し、プロセッサ１２等にこのデータを供給する。キーボード１８及びインターフェース１８ａは、請求の範囲の入力手段の好適な一例に相当する。
【００６２】
動作
以下、構造化文書生成装置としての動作をフローチャートに基づき説明する。図２には、構造化文書生成装置としての動作を表すフローチャートが示されている。これらの動作は、プロセッサ１２が主にプログラマブルエディターを実行することによって実現されている。本特許では、これを、慣用的な表現に習って「プログラマブルエディターが〜する。」と表現する場合もある。
【００６３】
１  変換
まず、ステップＳ２−１においては、記憶装置１４ａ内のＸＭＬ文書を、書式プログラムＸが記述する変換規則に基づき、ＨＴＭＬデータに変換する。このＨＴＭＬデータは、記憶装置１４ｃに格納される。
【００６４】
ＸＭＬ文書を所定のスタイルシートに基づきＨＴＭＬデータに変換することは従来から一般的に行われていることである。したがって、当業者であればこのような機能をプログラマブルエディターに行わせるのは容易であり、詳細な説明は省略する。
【００６５】
これら動作は、全てプログラマブルエディターの動作である。
【００６６】
なお、ＸＭＬ文書は、請求の範囲の構造化文書の好適な一例に相当する。また、ＨＴＭＬデータは、表示データの好適な一例に相当する。
【００６７】
２  表示
ステップＳ２−２においては、記憶装置１４ｃ内のＨＴＭＬデータをディスプレイ１６に表示する。ＨＴＭＬデータを表示する動作は、従来からブラウザと呼ばれるプログラムによって広く実行されており、一般的な事項としてよく知られている。したがって、当業者であればこのような機能をプログラマブルエディターに行わせるのは容易であり、詳細な説明は省略する。なお、この表示機能を、プログラマブルエディターの外部のブラウザ等を介して実行することも好ましい。
【００６８】
３  編集
ステップＳ２−３においては、利用者がディスプレイ１６に表示されたＸＭＬ文書の内容を編集する。具体的には、キーボード１８を利用して編集操作を入力する。この編集操作に基づき、プログラマブルエディターは、記憶装置１４ｃ内のＨＴＭＬデータを編集する。すなわち、記憶装置１４ｃ内のＨＴＭＬデータは編集によって随時変更されていくのである。より詳細に言えば、本実施の形態においては、ＨＴＭＬデータの変換元であるＸＭＬ文書及び書式プログラムＸを適宜編集し、編集後のＸＭＬ文書を編集後の書式プログラムＸを用いて再変換し、ＨＴＭＬデータをその都度作成している。したがって、ＸＭＬ文書と書式プログラムとをその変換結果を見ながら生成（プログラミング）することが可能である。また、ＨＴＭＬデータは、表示されるデータであるので、しばしばビューと呼ばれる場合も多い。
【００６９】
４  ＸＭＬ文書及び書式プログラムＸの自動プログラミング
ステップＳ２−４においては、利用者がＨＴＭＬデータが編集によって変更された場合、それがＸＭＬ文書、及び／又は、書式プログラムＸに反映される。この反映動作もプログラマブルエディターによって実行される。
【００７０】
具体的な編集操作を、図３−図９に基づき説明する。
【００７１】
（１）データの挿入
図３には、新しいデータを挿入する操作を利用者が実行した場合のプログラマブルエディターの動作を表す説明図が示されている。図３（１）には、編集前（挿入前）の各ファイルの様子が示されている。図３（１）の左にはＸＭＬ文書の内容、右には変換後のＨＴＭＬデータの内容がそれぞれ模式的に示されている。図３（１）の中央には、書式プログラムＸのマークが図形的に示されており、この書式プログラムＸの記述内容に基づいて変換が行われることを表している。
【００７２】
なお、ここで示す例は、図から明らかなように名簿のデータである。また、ず３（１）では、編集初期の状況として、ＸＭＬ文書と同じ構造が、ＨＴＭＬデータとして表示されており、このときの書式プログラムＸは、恒等的（identical）な変換規則ｉｄＸであることが示されている。
【００７３】
図３（１）の状態から、利用者がキーボード１８を操作して、「胡振江」という名前データを挿入する。挿入後の様子が図３（２）に示されている。図３（２）の右に示されているように、メンバーの下に新しく、「名前」「胡振江」が挿入されている。
【００７４】
本実施の形態において特徴的なことは、ＨＴＭＬデータをこのように編集した後、その「挿入」がＸＭＬ文書にも反映されることである。
【００７５】
プログラマブルエディターは、この「挿入」操作を受け取ると、元のＸＭＬ文書にも同様のデータを挿入する。この様子が図３（２）の左に示されている。このデータの挿入という編集操作は、文書構造の要素が追加されているので、文書構造を表す元のＸＭＬ文書にデータが追加・挿入されるのである。
【００７６】
なお、この編集操作によっても、ＸＭＬ文書の構造とＨＴＭＬデータの構造の関係は恒等的であるので、書式プログラムＸは、ｉｄＸのままである。
【００７７】
データの挿入の場合には以上のようにしてＨＴＭＬデータの編集が元のＸＭＬ文書に反映されるのである。そして、反映された後のＸＭＬ文書について書式プログラムＸの変換規則ｉｄＸに基づき再び変換が行われる。その結果、利用者が編集したＨＴＭＬデータデータが再び作成される。
【００７８】
本実施の形態においては、このような文書変換が編集操作を行う度に実行される。この結果、ＸＭＬ文書、書式プログラムＸ、変換後の表示データであるＨＴＭＬデータ、の間の整合性を常に維持することができ、効率的なＸＭＬ文書の生成を行うことが可能である。このことは、以下に説明する各編集操作でも同様である。
【００７９】
（２）データの複製（Duplicate）
次に、図３（２）の状態から利用者がデータの複製操作をした場合の様子が図４に示されている。この図４の右に示すように、利用者は、メンバーをその下の２名とともに複製操作を行う。図に示すように、この結果、メンバーという表示が２種類存在することになる。
【００８０】
利用者がこのような編集操作を行った場合、プログラマブルエディターは、書式プログラムＸの規則を変更する。図４中、操作前の書式プログラムＸに書かれていた規則ｉｄＸを元にして、それを中に含む「Seq idX (applyX[0] dupX)」という変換規則を書式変換プログラムＸとする。一方、元のＸＭＬ文書には、変更が加えられない。
【００８１】
なお、本特許においては、idX applyX dupX等におけるＸは、id、apply、dup等の一般に用いられる規則名称を「Ｘの変換規則」として表現するために、それらの後に続けて（空白をおかずに）それぞれ一つの名称としたものである。本特許では、このような記法を用いている。
【００８２】
さらに、このように、複製操作の場合には、ＸＭＬ文書は操作前と変わらず、操作の効果は書式プログラムＸに記録され、ＸＭＬ文書、書式プログラム、ＨＴＭＬデータの整合性が保存される。
【００８３】
本実施の形態においては、この新しい変換規則は、ＸＭＬ文書の構造の最初の部分構造であることを示す［０］によって指定される部分のデータを複製する、という意味を持っている。なお、このような変換規則は、従来のスタイルシートにおいては、テンプレートと呼ばれることもある。
【００８４】
本実施の形態においては、本願発明者らが開発した新しい双方向変換言語（上述）を用いて書式プログラムＸを記述し、またこの新しい言語を用いて上記新しい変換規則を追加したが、言語の様式はどのようなものでもかまわない。
【００８５】
本実施の形態において特徴的なことは、データの複製操作においては、書式プログラムＸのみが変更され、ＸＭＬ文書には変更が加えられない点である。このように、本実施の形態においては、表示用のデータであるＨＴＭＬデータを編集すると、それが元のＸＭＬ文書及び／又は書式プログラムＸに反映されることである。この結果、利用者は、ＸＭＬ文書と、書式プログラムＸを同時に生成することができ、利便性の高いプログラミングを行うことが可能である。
【００８６】
（３）複製（Duplicate）したデータの変更
次に、図４の状態から利用者が複製したデータの変更作をした場合の様子が図５に示されている。この図５の右に示すように、利用者は、メンバーの一人である「胡振江」の値を「Ｍｕ」に変更する。本実施の形態においては、複製したデータの、いずれか１個のデータを変更した場合、その変更が他のデータにも自動的に反映される。
【００８７】
これは、以下のようなステップで実現されている。
【００８８】
（ａ）利用者が複製されたデータの内、いずれかを変更する。  
（ｂ）変更が元のＸＭＬ文書に反映され、ＸＭＬ文書の同データも変更される。  
（ｃ）変更後のＸＭＬ文書を書式プログラムＸに基づき再び文書変換し、ＨＴＭＬデータを作成する。この際、書式プログラムＸの変換規則に基づき、データの複製が行われる。
【００８９】
この結果、「複製」されたデータの内、いずれか１個のデータを利用者が変更すると、その変更は、複製された他のデータにも上記プロセスによって自動的に反映されるので、利便性の高い編集操作（プログラミング）を行うことができる。その結果、ＸＭＬ文書及び書式プログラムＸの作成を効率よく行うことが可能である。
【００９０】
本実施の形態においては、本願発明者らが開発した新しい双方向変換言語（上述）を用いて書式プログラムＸを記述し、またこの新しい言語を用いて上記新しい変換規則を追加したが、言語の様式はどのようなものでもかまわない。
【００９１】
このように本実施の形態において、「変更」がなされると、それに対応する元のＸＭＬ文書のデータも変更される。なお、対応する元のＸＭＬ文書中のデータがどれであるかは、書式プログラムＸの内容から知ることが可能である。すなわち、ＨＴＭＬデータ中で変更されたデータの変換規則を書式プログラムＸ中から探し、見いだされた変換規則から変換元を知ることができる。この結果、ＸＭＬ文書中の対応するデータを見いだすことが可能となる。
【００９２】
なお、従来のスタイルシートなどでは、必ずしも変換元がスタイルシート中に明示的に記載されていない場合もある。これに対して、本実施の形態における書式プログラムＸでは、ＨＴＭＬデータ中に表れる全てのデータが書式プログラムＸ中の変換規則によって変換されたものであり、かつ、この変換規則は元のデータに関する情報が含まれている。このような情報を記述できるように、本願発明者らは、新たに双方向変換言語Ｌを作成した。本実施の形態の書式プログラムＸは、この双方向変換言語Ｌで記述されている。
【００９３】
このように、本実施の形態によれば、利用者は、ＸＭＬ文書と、書式プログラムＸを同時に生成することができ、利便性の高いプログラミングを行うことが可能である。
【００９４】
（４）複製（Duplicate）したデータの削除
次に、図５の状態から利用者が複製したデータの削除操作をした場合の様子が図６に示されている。この図６の右に示すように、利用者は、メンバーの一人である「Ｍｕ」の値をその上位のデータである「名前」と共に削除している。本実施の形態においては、複製したデータの、いずれか１個のデータを削除した場合、他のデータも自動的に削除される。
【００９５】
これは、以下のようなステップで実現されている。
【００９６】
（ｄ）利用者が複製されたデータの内、いずれかを削除する。  
（ｅ）削除が元のＸＭＬ文書に反映され、ＸＭＬ文書の同データも削除される。  
（ｆ）削除後のＸＭＬ文書を書式プログラムＸに基づき再び文書変換し、ＨＴＭＬデータを作成する。この際、書式プログラムＸの変換規則に基づき、データの複製が行われる。
【００９７】
この結果、「複製」されたデータの内、いずれか１個のデータを利用者が削除すると、その削除は、複製された他のデータにも及ぶのである。
【００９８】
図６に示された例では、複製されたデータ（「武市正人」「Ｍｕ」）の内、一部のデータ「Ｍｕ」のみが削除された場合が示されているが、この場合は、残りのデータ「武市正人」に対して書式プログラムＸ中の「Seq idX (applyX [0] dupX)」が作用し、「武市正人」が複製されたＨＴＭＬデータが作成される（図６の右部参照）。すなわち、複製されたデータの一部のみが削除された場合でも、残りのデータは複製の対象となるので、書式プログラムＸは変更されない。
【００９９】
一方、複製されたデータの全部が削除される場合もある。この場合は、元のＸＭＬ文書の対応するデータが削除されると共に、書式プログラムＸ中の複製を表す変換規則自体も削除される。これらの判断・削除動作はもちろんプログラマブルエディターによって実行される。
【０１００】
このように本実施の形態において、「削除」がなされると、それに対応する元のＸＭＬ文書のデータも変更される。さらに、削除が複製された全データの場合には、書式プログラムＸ中の変換規則も削除される。
【０１０１】
このように、本実施の形態によれば、利用者は、ＸＭＬ文書と、書式プログラムＸを同時に生成することができ、利便性の高いプログラミングを行うことが可能である。
【０１０２】
（５）複製（Duplicate）したデータ中への新規データの挿入
次に、図６の状態から利用者が複製したデータ中に、新しくデータを挿入した場合の様子が図７に示されている。この図７の右に示すように、利用者は、メンバーの一人である「武市正人」に対して職務である「教授」を追加する。本実施の形態においては、複製したデータの、いずれか１個のデータ中に新規データを挿入した場合、他の同様のデータにもその新規データが自動的に挿入される。
【０１０３】
この動作は、以下のようなステップで実現されている。
【０１０４】
（ｇ）利用者が複製されたデータの内、いずれかに新規データを挿入する。  
（ｈ）挿入が元のＸＭＬ文書に反映され、ＸＭＬ文書の同データ中にも新規データが挿入される。  
（ｉ）新規データを挿入した後のＸＭＬ文書を書式プログラムＸに基づき再び文書変換し、ＨＴＭＬデータを作成する。この際、書式プログラムＸの変換規則に基づき、データの複製が行われる。この複製においては、新規データも同様に複製される。
【０１０５】
この結果、「複製」されたデータの内、いずれか１個のデータ中に利用者が新規データを挿入すると、その挿入した新規データは、複製された他のデータ中にも挿入されるのである。
【０１０６】
図７に示された例では、書式プログラムＸは何ら変更されていないので、元のＸＭＬ文書中に加えられた変更は、ＨＴＭＬデータ中の複製された全データに反映される。図７の例では、複製された２個のデータの例が示されているが、３個以上のデータ（「武市正人」）が複製されている場合には、その３個以上の「武市正人」に対して「教授」が挿入されることになる。
【０１０７】
このように、本実施の形態によれば、利用者は、ＸＭＬ文書と、書式プログラムＸを同時に生成することができ、利便性の高いプログラミングを行うことが可能である。
【０１０８】
（６）複製（Duplicate）したデータの独立削除
次に、図７の状態から、一部の「教授」のみを削除する例を示す。この状態が図８に示されている。
【０１０９】
図７においては、複製されたデータのいずれにも「教授」が挿入された。このうち、いずれかの「教授」を単純に削除すれば、他の「教授」も削除されることは既に説明した。しかしながら、一部の「教授」のみを削除したい場合も当然考えられる。このような場合には、利用者は削除という編集操作ではなく、「独立削除」という編集操作を行う。このような編集操作のメニューはプログラマブルエディターが作成し、利用者にメニュー提示することが望ましい。利用者は、メニューから、「独立削除」を選択することによって、複製されたデータ群の内、いずれか１個のデータのみを削除する編集操作を行うことができる。
【０１１０】
上述した図８の右に示すように、利用者は、メンバーの一人である「武市正人」に対して追加されている職務の「教授」を削除する。本実施の形態においては、複製したデータの、いずれか１個のデータからデータを独立削除した場合は、他の複製したデータはＨＴＭＬデータから削除されていない。
【０１１１】
この動作は、以下のようなステップで実現されている。
【０１１２】
（ｊ）利用者が複製されたデータの内、いずれかのデータを他のデータから独立して削除する。  
（ｋ）書式プログラムＸ中の、複製命令の後に、複製された複数のデータの内、所定のデータを削除する命令の記述を追加する。  
（ｌ）ＸＭＬ文書を書式プログラムＸに基づき再び文書変換し、ＨＴＭＬデータを作成する。この際、書式プログラムＸの変換規則に基づき、データの複製が行われるとともに、所定の部分に関しては、データが削除される。
【０１１３】
このように、本実施の形態においては、利用者が「独立削除」が行った場合、他の複製したデータがそのまま残存している限り、元のＸＭＬ文書の変更は行わない。すなわち、本実施の形態においては、元のＸＭＬ文書を変更せずに、書式プログラムＸを変更している。すなわち、書式プログラムＸ中に「（applyX [0,0] (Map delX1))」という変換規則を追加する。この変換規則は、複製された複数のデータ中の一部を削除するという変換規則である。このような書式プログラムＸの変更を行った後、文書の再変換を行うことによって、上述したような動作が実現されている。これらの動作はもちろんプログラマブルエディターが行う。
【０１１４】
この結果、「複製」されたデータの内、いずれか１個のデータ中の一部を利用者が独立削除すると、その独立削除したデータは、複製された他のデータからは削除されないのである。
【０１１５】
（７）複製（Duplicate）したデータの独立変更
次に、図８の状態から、一部の「メンバー」を「リスト」に独立して変更する例を示す。この状態が図９に示されている。
【０１１６】
図８においては、複製されたデータのルートデータはいずれも「メンバー」である。これらの「メンバー」を単純に変更すれば、他の「メンバー」も同様に変更されることは既に説明した。
【０１１７】
しかしながら、一部の「メンバー」のみを「リスト」に変更したい場合も当然考えられる。このような場合には、利用者は変更という編集操作ではなく、「独立変更」という編集操作を行う。このような編集操作のメニューはプログラマブルエディターが作成し、利用者にメニュー提示することが望ましい。利用者は、メニューから、「独立変更」を選択することによって、複製されたデータ群の内、いずれか１個のデータの値のみを変更する編集操作を行うことができる。
【０１１８】
上述した図９の右に示すように、利用者は、「メンバー」のうち１個を「リスト」に独立変更する。本実施の形態においては、複製したデータの、いずれか１個のデータからデータを独立変更した場合は、他の複製したデータ中の対応するデータはＨＴＭＬデータから削除されない。
【０１１９】
この動作は、以下のようなステップで実現されている。
【０１２０】
（ｊ）利用者が複製されたデータの内、いずれかのデータを独立変更する。  
（ｋ）書式プログラムＸ中の、複製命令等の後に、複製された複数のデータの内、所定のデータの値を変更する命令の記述を追加する。  
（ｌ）ＸＭＬ文書を書式プログラムＸに基づき再び文書変換し、ＨＴＭＬデータを作成する。この際、書式プログラムＸの変換規則に基づき、データの複製が行われるとともに、所定の部分に関しては、データの値が変更される。
【０１２１】
このように、本実施の形態においては、利用者が「独立変更」を行った場合、他の複製したデータの値をそのまま残存させつつ、所望のデータに関してはその値を変更することができる。
【０１２２】
本実施の形態においては、元のＸＭＬ文書を変更せずに、書式プログラムＸを変更している。すなわち、書式プログラムＸ中に「（applyX [0,0] (chNode "リスト"))」という変換規則を追加する。この変換規則は、複製された複数のデータ中の一部を削除するという変換規則である。このような書式プログラムＸの変更を行った後、文書の再変換を行うことによって、上述したような動作が実現されている。これらの動作はもちろんプログラマブルエディターが行う。
【０１２３】
この結果、「複製」されたデータの内、いずれか１個のデータ中の一部を利用者が独立削除すると、その独立削除したデータは、複製された他のデータからは削除されないのである。
【０１２４】
以上述べたように、本実施の形態によれば、表示データであるＨＴＭＬデータを編集する如き操作をすることによって、ＸＭＬ文書及び書式プログラムＸを効率的に生成することができる。
【０１２５】
５  変形例
（イ）上述した例では、説明の便宜上、記憶装置１４ａ、１４ｂ、１４ｃ、１４ｄは、個別に設けているが、同一の記憶装置を用いてももちろんかまわない。
【０１２６】
（ロ）上述した例では、構造化文書の例としてＸＭＬ文書を示したが、他の構造化文書でも本発明を適用できることは言うまでもない。
【０１２７】
（ハ）上述した例では、表示用データの例としてＨＴＭＬデータを示したが、他の表示用データでも本発明を適用できることは言うまでもない。
【０１２８】
（ニ）上述した例では、請求の範囲の入力手段の一例としてキーボード１８を挙げたが、マウス等のポインティングデバイスを用いることももちろん好ましいし、世の中で知られている種々の入力デバイスを利用することが可能である。
【図面の簡単な説明】
【０１２９】
【図１】本発明の好適な実施の形態に係る構造化文書生成装置を実現するコンピュータの構成ブロック図である。
【図２】本実施の形態における動作を表すフローチャートである。
【図３】本実施の形態における挿入動作を表すフローチャートである。
【図４】本実施の形態における複製動作を表すフローチャートである。
【図５】本実施の形態における変更動作を表すフローチャートである。
【図６】本実施の形態における複製されたデータの削除動作を表すフローチャートである。
【図７】本実施の形態における複製されたデータへの挿入動作を表すフローチャートである。
【図８】本実施の形態における独立削除動作を表すフローチャートである。
【図９】本実施の形態における独立変更動作を表すフローチャートである。
【符号の説明】
【０１３０】
１０  コンピュータ
１２  プロセッサ
１４ａ、１４ｂ、１４ｃ、１４ｄ  記憶装置
１６  ディスプレイ
１６ｂ  インターフェース
１８  キーボード
１８ｂ  インターフェース
【図１】
2006059243.tif 000003
【図２】
2006059243.tif 000004
【図３】
2006059243.tif 000005
【図４】
2006059243.tif 000006
【図５】
2006059243.tif 000007
【図６】
2006059243.tif 000008
【図７】
2006059243.tif 000009
【図８】
2006059243.tif 000010
【図９】
2006059243.tif 000011