(57)【特許請求の範囲】
【請求項１】
コンピュータを、
文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段、
前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段、及び
前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素であって、かつ、要素値を持つ文書要素を検索し、前記検索された文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段
として機能させるための構造化文書編集プログラム。
【請求項２】
コンピュータを、
文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段、
前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段、及び
前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、要素値を持たない文書要素であった場合、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素を検索し、該文書要素の子要素、兄弟要素、又は兄弟要素の子要素であって、かつ、要素値を持つ文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段
として機能させるための構造化文書編集プログラム。
【請求項３】
使用者によって操作される操作手段の操作により選択された文書要素候補の文書要素を、前記制約条件に従って該文書要素候補の文書要素が挿入される前記構造化文書上の位置であって、かつ、前記挿入指示の位置に対応する位置に最も近い位置に挿入する要素挿入手段を更に含む請求項１又は２記載の構造化文書編集プログラム。
【請求項４】
前記制約条件では、文書要素の階層関係、文書要素の出現順序、文書要素の出現個数、及び文書要素が要素値を持つか否かの各々について予め定められ、
前記要素挿入手段は、前記制約条件に基づいて、前記選択された文書要素候補の文書要素が、要素値を持たない場合、該文書要素候補の文書要素の子要素、兄弟要素、又は兄弟要素の子要素であって、かつ、要素値を持つ文書要素と共に、前記文書要素候補の文書要素を挿入する請求項３記載の構造化文書編集プログラム。
【請求項５】
前記操作手段は、前記表示画面上における操作位置を指示し、
前記操作位置が、前記文書要素候補の表示部分上にある場合、該文書要素候補の文書要素を、前記制約条件に従って該文書要素候補の文書要素が挿入される前記構造化文書上の位置であって、かつ、前記挿入指示の位置に対応する位置に最も近い位置に挿入し、前記文書要素候補の文書要素が挿入された構造化文書を変換した表示用文書を、前記表示画面に仮表示させる仮表示手段を更に含む請求項１〜請求項４の何れか１項記載の構造化文書編集プログラム。
【請求項６】
前記候補表示手段は、前記探索手段によって要素値を持つ文書要素が上流から探索されなかった場合、最上位の文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、前記制約条件を満たす文書要素の文書要素名を、文書要素候補として表示させる請求項１〜請求項５の何れか１項記載の構造化文書編集プログラム。
【請求項７】
前記候補表示手段は、前記探索手段によって要素値を持つ文書要素が下流から探索されなかった場合、下流から探索された要素値を持つ文書要素と、最上位の文書要素の終了部との間に挿入される文書要素であって、前記制約条件を満たす文書要素の文書要素名を、文書要素候補として表示させる請求項１〜請求項５の何れか１項記載の構造化文書編集プログラム。
【請求項８】
文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段と、
前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段と、
前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素であって、かつ、要素値を持つ文書要素を検索し、前記検索された文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段と
を含む構造化文書編集装置。
【請求項９】
文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段と、
前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段と、
前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、要素値を持たない文書要素であった場合、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素を検索し、該文書要素の子要素、兄弟要素、又は兄弟要素の子要素であって、かつ、要素値を持つ文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段と
を含む構造化文書編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書編集プログラム及び構造化文書編集装置に関する。
【背景技術】
【０００２】
従来より、文書要素を入れ子状に構造化した文書を取り扱う文書処理装置であって、文書要素名を入力する文書要素名入力手段と、入力した文書要素名を有する文書要素を前記文書に挿入可能な位置である挿入可能位置を検出する挿入可能位置検出手段と、前記挿入可能位置に前記文書要素を挿入する文書要素挿入手段と、を備えることを特徴とする文書処理装置が知られている（特許文献１）。
【０００３】
また、第１の文書を第２の文書を用いて変換した結果得られる表示文書を表示し、表示文書中の第１の表示要素の子要素あるいは兄弟要素となる新たな表示要素を挿入するために、少なくとも第１の表示要素が指定されたら、第２の文書から新たな表示要素を生成し得る第１の命令文を検索し、第１の命令文あるいは当該第１の命令文により発生した表示要素を生成するための分岐処理の対象となる第１の文書中の第１の要素の子要素あるいは兄弟要素であって、第１の命令文で指定される条件を満たす新たな要素を生成する文書編集装置が知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１４３５１１号公報
【特許文献２】特開２００４−２７２６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
表示用文書が表示された表示画面において構造化文書を編集するときに、使用者が構造化文書の制約条件を知らなくても、指示した位置に、構造化文書の制約条件を満たす文書要素を挿入することができる構造化文書編集プログラム及び構造化文書編集装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、請求項１記載の発明に係る構造化文書編集プログラムは、コンピュータを、文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段、前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段、及び前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素であって、かつ、要素値を持つ文書要素を検索し、前記検索された文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段として機能させるための構造化文書編集プログラムである。
【０００７】
請求項２記載の発明に係る構造化文書編集プログラムは、コンピュータを、文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段、前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段、及び前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、要素値を持たない文書要素であった場合、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素を検索し、該文書要素の子要素、兄弟要素、又は兄弟要素の子要素であって、かつ、要素値を持つ文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段として機能させるための構造化文書編集プログラムである。請求項３記載の発明では、上記請求項１記載の発明に係る構造化文書編集プログラムにおいて、使用者によって操作される操作手段の操作により選択された文書要素候補の文書要素を、前記制約条件に従って該文書要素候補の文書要素が挿入される前記構造化文書上の位置であって、かつ、前記挿入指示の位置に対応する位置に最も近い位置に挿入する要素挿入手段を更に含む。
【０００８】
請求項４記載の発明では、上記請求項３記載の発明に係る構造化文書編集プログラムにおいて、前記制約条件では、文書要素の階層関係、文書要素の出現順序、文書要素の出現個数、及び文書要素が要素値を持つか否かの各々について予め定められ、前記要素挿入手段は、前記制約条件に基づいて、前記選択された文書要素候補の文書要素が、要素値を持たない場合、該文書要素候補の文書要素の子要素、兄弟要素、又は兄弟要素の子要素であって、かつ、要素値を持つ文書要素と共に、前記文書要素候補の文書要素を挿入する。
【０００９】
請求項５記載の発明では、上記請求項１〜請求項４の何れか１項記載の発明に係る構造化文書編集プログラムにおいて、前記操作手段は、前記表示画面上における操作位置を指示し、前記操作位置が、前記文書要素候補の表示部分上にある場合、該文書要素候補の文書要素を、前記制約条件に従って該文書要素候補の文書要素が挿入される前記構造化文書上の位置であって、かつ、前記挿入指示の位置に対応する位置に最も近い位置に挿入し、前記文書要素候補の文書要素が挿入された構造化文書を変換した表示用文書を、前記表示画面に仮表示させる仮表示手段を更に含む。
【００１３】
請求項６記載の発明では、上記請求項１〜請求項５の何れか１項記載の発明に係る構造化文書編集プログラムにおいて、前記候補表示手段は、前記探索手段によって要素値を持つ文書要素が上流から探索されなかった場合、最上位の文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、前記制約条件を満たす文書要素の文書要素名を、文書要素候補として表示させる。
【００１４】
請求項７記載の発明では、上記請求項１〜請求項５の何れか１項記載の発明に係る構造化文書編集プログラムにおいて、前記候補表示手段は、前記探索手段によって要素値を持つ文書要素が下流から探索されなかった場合、下流から探索された要素値を持つ文書要素と、最上位の文書要素の終了部との間に挿入される文書要素であって、前記制約条件を満たす文書要素の文書要素名を、文書要素候補として表示させる。
【００１５】
請求項８記載の発明に係る構造化文書編集装置は、文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段と、前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段と、前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素であって、かつ、要素値を持つ文書要素を検索し、前記検索された文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段とを含んで構成されている。請求項９記載の発明に係る構造化文書編集装置は、文書要素名を有する複数種類の文書要素を階層関係で構造化して記述した構造化文書を、表示用文書に変換し、前記構造化文書の編集のために表示装置の表示画面に前記表示用文書を表示させる表示制御手段と、前記表示画面上における、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の位置の、文書の流れの上流及び下流の各々から、文書要素の要素値を探索する探索手段と、前記探索手段によって上流から探索された要素値を持つ文書要素と、下流から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書要素の階層関係、及び文書要素の出現順序の各々について予め定められた制約条件を満たす文書要素の文書要素名を、使用者によって操作される操作手段の操作により選択されることで前記制約条件に従って前記構造化文書に挿入される文書要素候補とし、前記文書要素候補について、要素値を持たない文書要素であった場合、前記構造化文書から、該文書要素候補と同じ文書要素名の文書要素を検索し、該文書要素の子要素、兄弟要素、又は兄弟要素の子要素であって、かつ、要素値を持つ文書要素の要素値を、前記要素値の例とし、前記文書要素候補と前記要素値の例とを前記表示画面上に表示させる候補表示手段とを含んで構成されている。
【発明の効果】
【００１６】
以上説明したように、請求項１又は２記載の構造化文書編集プログラムによれば、表示用文書が表示された表示画面において構造化文書を編集するときに、使用者が構造化文書の制約条件を知らなくても、指示した位置に、構造化文書の制約条件を満たす文書要素を挿入することができる、という効果が得られる。
【００１７】
請求項３記載の構造化文書プログラムによれば、構造化文書の制約条件に従った構造化文書上の位置に、使用者により選択された文書要素候補の要素を挿入することができる、という効果が得られる。
【００１８】
請求項４記載の構造化文書編集プログラムによれば、要素値を持たない文書要素が選択された場合に、要素値を持つ子要素、兄弟要素、又は兄弟要素の子要素まで一緒に挿入することができる、という効果が得られる。
【００１９】
請求項５記載の構造化文書編集プログラムによれば、操作位置の指示により、文書要素候補を挿入したときの表示用文書を仮表示させることができる、という効果が得られる。
【００２０】
請求項１又は２記載の構造化文書編集プログラムによれば、文書要素候補の要素値の例も表示させることができる、という効果が得られる。
【００２１】
請求項１記載の構造化文書編集プログラムによれば、構造化文書中の要素値を、文書要素候補の要素値の例として表示させることができる、という効果が得られる。
【００２２】
請求項２記載の構造化文書編集プログラムによれば、構造化文書中の要素値を、文書要素候補の要素値の例として表示させることができる、という効果が得られる。
【００２３】
請求項６記載の構造化文書編集プログラムによれば、挿入指示の位置より上流に、文書要素が持つ要素値がない場合であっても、指示した位置に、構造化文書の制約条件を満たす文書要素を挿入することができる、という効果が得られる。
【００２４】
請求項７記載の構造化文書編集プログラムによれば、挿入指示の位置より下流に、文書要素が持つ要素値がない場合であっても、指示した位置に、構造化文書の制約条件を満たす文書要素を挿入することができる、という効果が得られる。
【００２５】
請求項８又は９記載の構造化文書編集装置によれば、表示用文書が表示された表示画面において構造化文書を編集するときに、使用者が構造化文書の制約条件を知らなくても、指示した位置に、構造化文書の制約条件を満たす文書要素を挿入することができる、という効果が得られる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施の形態に係る構造化文書編集装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る構造化文書編集装置の機能構成を示すブロック図である。
【図３】文書構造定義データの例を示す図である。
【図４】構造化文書データの例を示す図である。
【図５】表示用文書の例を示す図である。
【図６】本発明の第１の実施の形態に係る構造化文書編集装置における要素選択挿入処理ルーチンの内容を示すフローチャートである。
【図７】要素候補メニューが表示された様子を示すイメージ図である。
【図８】文書要素候補が挿入された構造化文書データを示す図である。
【図９】文書要素候補が挿入された構造化文書データに基づく表示用文書を示すイメージ図である。
【図１０】構造化文書データの例を示す図である。
【図１１】文書要素候補が挿入された構造化文書データに基づく表示用文書を示すイメージ図である。
【図１２】要素候補メニューが表示された様子を示すイメージ図である。
【図１３】文書要素候補及び子要素が挿入された構造化文書データを示す図である。
【図１４】文書要素候補及び子要素が挿入された構造化文書データに基づく表示用文書を示すイメージ図である。
【図１５】本発明の第２の実施の形態に係る構造化文書編集装置における仮表示処理ルーチンの内容を示すフローチャートである。
【図１６】要素候補メニューの文書要素候補が選択状態となっている様子を示すイメージ図である。
【図１７】選択状態となっている文書要素候補が挿入された構造化文書データに基づく表示用文書を仮表示している様子を示すイメージ図である。
【図１８】文書要素候補の表示部分からマウスカーソルが外れた場合の表示用文書を示すイメージ図である。
【図１９】本発明の第３の実施の形態に係る構造化文書編集装置における要素候補提示処理ルーチンの内容を示すフローチャートである。
【図２０】文書要素候補の要素値の例を示した要素候補メニューが表示された様子を示すイメージ図である。
【図２１】文書要素候補の子要素の要素値の例を表示した要素候補メニューが表示された様子を示すイメージ図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態について図面を参照して説明する。
【００２８】
本発明の第１の実施の形態に係る構造化文書編集装置１０は、従来既知のパーソナルコンピュータによって構成されており、ＲＯＭ１２、ＣＰＵ１４、ＲＡＭ１６、後述する要素選択挿入処理ルーチンを実現するためのプログラムや構造化文書データ、文書構造定義データなどの各種データを記憶したＨＤＤ１８、キーボード２０、マウス２２、ディスプレイ２４、及びこれらを互いに接続する入出力ポート２６を備えている。なお、キーボード２０及びマウス２２は、操作手段の一例である。
【００２９】
構造化文書編集装置１０を以下で説明する要素選択挿入処理ルーチンに従って機能ブロックで表すと、図２に示すように、ＨＤＤ１８に記憶された構造化文書データを、キーボード２０やマウス２２の操作に従って編集すると共に、表示用文書に変換する構造化文書編集部３０と、構造化文書編集部３０によって変換された表示用文書をディスプレイ２４に出力して、ディスプレイ２４の表示画面に表示用文書を表示させる表示文書出力部３２と、表示画面上における挿入カーソルの位置を取得する挿入カーソル位置取得部３４と、挿入カーソルの位置の上流及び下流の各々から、文書要素の要素値を探索する要素値探索部３６と、上流から探索された要素値を持つ文書要素と下流から探索された要素値を持つ文書要素との間に挿入される文書要素候補を抽出する要素候補抽出部３８と、抽出された文書要素候補の文書要素名をディスプレイ２４の表示画面上に表示させて提示する候補提示部４０と、ディスプレイ２４の表示画面上でマウス２２の操作により選択された文書要素候補を構造化文書データに挿入する要素挿入部４２とを備えている。なお、構造化文書編集部３０及び表示文書出力部３２は、表示制御手段の一例である。
【００３０】
構造化文書データについて、図３に示すような文書構造定義データにおいて、文書要素の階層関係、文書要素の出現順序、文書要素の出現個数、及び文書要素が要素値を持つか否かを含む制約条件が定義されている。
【００３１】
例えば、文書要素名“ｂｏｏｋ”を有する文書要素の子要素が、文書要素名“ａｒｔｉｃｌｅ”を有する文書要素であり、“ａｒｔｉｃｌｅ”の文書要素は、連続して出現する出現個数に制限が無いことが定められている（図３の４４参照）。
【００３２】
また、文書要素名“ａｒｔｉｃｌｅ”を有する文書要素の子要素が、文書要素名“ｔｉｔｌｅ”を有する文書要素、文書要素名“ｓｕｂｔｉｔｌｅ”を有する文書要素、及び文書要素名“ｔｅｘｔ”を有する文書要素であり、“ｔｉｔｌｅ”の文書要素、“ｓｕｂｔｉｔｌｅ”の文書要素、及び“ｔｅｘｔ”の文書要素の順番に出現することが定められている（図３の４６参照）。“ｔｉｔｌｅ”の文書要素、及び“ｓｕｂｔｉｔｌｅ”の文書要素は、文字列である要素値を持つことが定義されている。“ｓｕｂｔｉｔｌｅ”の文書要素及び“ｔｅｘｔ”の文書要素は、出現個数が０個以上であることが定められており、必ずしも出現しないことが定められている。
【００３３】
また、文書要素名“ｔｅｘｔ”を有する文書要素の子要素が、文書要素名“ｐａｒａｇｒａｐｈ”を有する文書要素であり、“ｐａｒａｇｒａｐｈ”の文書要素は、連続して出現する出現個数に制限が無いことが定められている（図３の４８参照）。“ｐａｒａｇｒａｐｈ”の文書要素の子要素が、文書要素名“ｌｉｎｋ”を有する文書要素であり、“ｌｉｎｋ”の文書要素は、文字列である要素値を持つことが定義されている（図３の５０参照）。また、“ｌｉｎｋ”の文書要素は、出現個数が０個以上であることが定められている。
【００３４】
上記のような文書構造定義データが、ＨＤＤ１８に記憶されている。また、文書構造定義データに定められた制約条件に従って複数種類の文書要素が階層関係で構造化されて記述された図４に示すような構造化文書データも、ＨＤＤ１８に記憶されている。
【００３５】
図４の構造化文書データは、ＸＭＬで記述した例を示しており、図中、記号“＜”で始まり“＞”で終わる文字列は、タグを表している。タグの中に文書要素名が記述されている。文書要素名の文字列の先頭に、スラッシュ“／”を持つタグが終了タグであり、スラッシュ“／”を持たないものが開始タグである。
【００３６】
構造化文書編集部３０は、構造化文書データを例えばＨＴＭＬデータに変換するためのスタイルシートを用いて、構造化文書データを、ＨＴＭＬデータに変換する。また、構造化文書編集部３０は、ＨＴＭＬデータに基づく図５に示すような表示用文書を、表示文書出力部３２に出力する。
【００３７】
挿入カーソル位置取得部３４は、ディスプレイ２４の表示画面上に表示された表示用文書における、現時点での挿入位置を示す挿入カーソルの位置を取得する。挿入カーソルは、マウス２２やキーボード２０のカーソル移動キーに従って、移動する。なお、挿入カーソルは、文書要素又は文書要素の要素値が挿入される位置を指示する挿入指示の一例である。
【００３８】
要素値探索部３６は、挿入カーソルの位置から、文書の流れの上流側に、文書要素が持つ要素値を探索し、文書要素が持つ要素値が存在する場合には、挿入カーソルの位置から最も近い位置に存在する、文書要素が持つ要素値を探索結果とする。
【００３９】
また、要素値探索部３６は、挿入カーソルの位置から、文書の流れの下流側に、文書要素が持つ要素値を探索し、文書要素が持つ要素値が存在する場合には、挿入カーソルの位置から最も近い位置に存在する、文書要素が持つ要素値を探索結果とする。
【００４０】
要素候補抽出部３８は、上流側から探索された要素値を持つ文書要素と、下流側から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書構造定義データの制約条件を満たす文書要素を、文書要素候補として全て抽出する。なお、上流側から探索された要素値を持つ文書要素と、下流側から探索された要素値を持つ文書要素との間には、上流側及び下流側の各々から探索された要素値を持つ文書要素は含まれない。
【００４１】
要素候補抽出部３８は、要素値探索部３６によって、文書の流れの上流側から文書要素が持つ要素値が探索されなかった場合には、構造化文書データに記述された最上位の文書要素（例えば、“ｂｏｏｋ”）と、下流側から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書構造定義データの制約条件を満たす文書要素を、文書要素候補として全て抽出する。なお、構造化文書データに記述された最上位の文書要素と、下流側から探索された要素値を持つ文書要素との間には、最上位の文書要素と下流側から探索された要素値を持つ文書要素とは含まれない。
【００４２】
また、要素候補抽出部３８は、要素値探索部３６によって、文書の流れの下流側から文書要素が持つ要素値が探索されなかった場合には、構造化文書データに記述された最上位の文書要素の終了タグ（例えば、“ｂｏｏｋ”の終了タグ“＜／ｂｏｏｋ＞”）と、下流側から探索された要素値を持つ文書要素との間に挿入される文書要素であって、文書構造定義データの制約条件を満たす文書要素を、文書要素候補として全て抽出する。なお、最上位の文書要素の終了タグと、下流側から探索された要素値を持つ文書要素との間には、最上位の文書要素の終了タグと、下流側から探索された要素値を持つ文書要素とは含まれない。
【００４３】
候補提示部４０は、抽出された文書要素候補の各々の文書要素名を列挙した要素候補メニューを、ディスプレイ２４の表示画面上に表示させて、使用者に対して文書要素候補を提示する。使用者は、マウス２２を操作して、ディスプレイ２４の表示画面上の要素候補メニューから、文書要素候補の文書要素名のうち何れかを選択する。
【００４４】
要素挿入部４２は、文書構造定義データの制約条件に従って、使用者によって選択された文書要素候補が挿入される構造化文書データ上の位置であって、かつ、挿入カーソルの位置に対応する位置に最も近い位置に、選択された文書要素候補を挿入することにより、構造化文書データを編集する。
【００４５】
また、要素挿入部４２は、文書構造定義データの制約条件に基づいて、選択された文書要素名の文書要素候補が、要素値を持たない場合、文書要素候補の子要素、兄弟要素、又は兄弟要素の子要素であって、かつ、要素値を持つ文書要素を検索し、文書要素候補から、検索された文書要素までを、構造化文書に対して各々挿入して構造化文書データを編集する。なお、挿入される各文書要素についても、文書構造定義データの制約条件に従って、当該文書要素が挿入される位置であって、かつ、挿入カーソルの位置に対応する位置に最も近い位置に、当該文書要素が挿入される。
【００４６】
次に、第１の実施の形態に係る構造化文書編集装置１０の作用について説明する。
【００４７】
まず、構造化文書編集装置１０において、ＨＤＤ１８から編集対象の構造化文書データを読み出し、構造化文書データをＨＴＭＬデータに変換すると共に、ＨＴＭＬデータに基づいて、上記図５に示すような表示用文書を、ディスプレイ２４の表示画面上に表示させる。
【００４８】
そして、使用者がキーボード２０又はマウス２２を操作して、挿入カーソルが移動される毎に、構造化文書編集装置１０において、図６に示す要素選択挿入処理ルーチンが実行される。
【００４９】
ステップ１００において、挿入カーソルの表示用文書上の位置を取得し、ステップ１０２において、上記ステップ１００で取得した位置から、文書の流れの上流側に向かって、文書要素が持つ要素値（文字列データ）を探索する。次のステップ１０４では、上記ステップ１０２で要素値が探索されたか否かを判定し、例えば、図７に示すように、文字列データ「ル」が探索された場合には、ステップ１０６において、構造化文書データに基づいて、該当する要素値を持つ文書要素（上記図７の例では“ｔｉｔｌｅ”の文書要素）を取得して、ステップ１１０へ移行する。一方、上記ステップ１０４において要素値が探索されなかったと判定された場合には、ステップ１０８において、構造化文書データに基づいて、最上位の文書要素（上記図７の例では“ｂｏｏｋ”の文書要素）を取得して、ステップ１１０へ移行する。
【００５０】
ステップ１１０では、上記ステップ１００で取得した位置から、文書の流れの下流側に向かって、文書要素が持つ要素値（文字列データ）を探索する。次のステップ１１２では、上記ステップ１１０で要素値が探索されたか否かを判定し、例えば、上記図７の例に示すように、文字列データ「段」が探索された場合には、ステップ１１４において、構造化文書データに基づいて、該当する要素値の文書要素（上記図７の例では“ｐａｒａｇｒａｐｈ”の文書要素）を取得して、ステップ１１８へ移行する。一方、上記ステップ１１２において要素値が探索されなかったと判定された場合には、ステップ１１６において、構造化文書データに基づいて、最上位の文書要素の終了タグ（上記図７の例では“ｂｏｏｋ”の文書要素の終了タグ（＜／ｂｏｏｋ＞））を取得して、ステップ１１８へ移行する。
【００５１】
ステップ１１８では、上記ステップ１０６又は１０８で取得した文書要素と、上記ステップ１１４又は１１６で取得した文書要素又は文書要素の終了タグとの間に挿入される文書要素候補を、文書構造定義データの制約条件に基づいて全て抽出する。
【００５２】
次のステップ１２０では、上記ステップ１１８で抽出された全ての文書要素候補の文書要素名を列挙した要素候補メニューを、上記の図７に示すようにディスプレイ２４の表示画面に表示させて、文書要素候補を使用者に提示する。
【００５３】
そして、ステップ１２２で、提示した文書要素候補の文書要素名が選択されたか否かを判定し、使用者がマウス２２を操作して文書要素名の表示部分上でクリックし、何れかの文書要素名が選択されると、ステップ１２４へ進む。
【００５４】
ステップ１２４では、上記ステップ１２２で選択された文書要素名の文書要素候補を、構造化文書データ上の、上記ステップ１００で取得した挿入カーソルの位置に対応する位置に最も近い位置に挿入して、構造化文書データを編集し、ステップ１２６へ進む。例えば、文書要素候補“ｐａｒａｇｒａｐｈ”が選択された場合には、図８に示すように、文書要素候補“ｐａｒａｇｒａｐｈ”が構造化文書データに挿入されて編集され、図９に示すように、表示用文書において、段落部分が追加される。
【００５５】
次のステップ１２６において、文書構造定義データに基づいて、上記ステップ１２４又は後述するステップ１２８で挿入された文書要素が要素値を持つか否かを判定する。上記図８のように、構造化文書データに挿入された文書要素が、文書要素“ｐａｒａｇｒａｐｈ”のように要素値を持つ場合には、要素選択挿入処理ルーチンを終了する。一方、上記ステップ１２６において、挿入された文書要素が要素値を持たないと判定された場合には、ステップ１２８において、挿入された文書要素の子要素又は兄弟要素を、構造化文書データ上の、上記ステップ１００で取得した挿入カーソルの位置に対応する位置に最も近い位置に挿入して、構造化文書データを編集し、上記ステップ１２６へ戻る。例えば、図１０に示すような構造化文書データに基づく図１１に示すような表示用文書において、“タイトル２”の後に挿入カーソルが位置している場合には、図１２に示すように、文書要素候補“ｓｕｂｔｉｔｌｅ”、 文書要素候補“ｔｅｘｔ”、及び 文書要素候補“ａｒｔｉｃｌｅ”を列挙した要素候補メニューが提示される。要素候補メニューから文書要素候補“ｔｅｘｔ”が選択された場合には、図１３に示すように、文書要素候補“ｔｅｘｔ”と共に、子要素であり、かつ、要素値を持つ文書要素候補“ｐａｒａｇｒａｐｈ”が構造化文書データに挿入されて編集される。これによって、図１４に示すように、表示用文書において、「タイトル２」の後に、段落部分が追加される。
【００５６】
このように編集された構造化文書は、ディスプレイ２４の表示画面に表示用文書として表示され、使用者のキーボード２０やマウス２２の操作によって更に編集される。
【００５７】
次に第２の実施の形態について説明する。なお、第２の実施の形態に係る構造化文書編集装置の構成は、第１の実施の形態と同様の構成であるため、同一符号を付して、構成に関する説明を省略する。
【００５８】
第２の実施の形態では、マウスカーソルが、要素候補メニューにおける文書要素候補の表示部分上に位置する場合に、その文書要素候補が挿入されたときの表示用文書が仮表示される点が、第１の実施の形態と主に異なっている。
【００５９】
第２の実施の形態に係る構造化文書編集装置は、上記第１の実施の形態で説明した要素選択挿入処理ルーチンのステップ１２０により、文書要素候補を列挙した要素候補メニューが、ディスプレイ２４の表示画面上に表示されている状態において、図１５に示す仮表示処理ルーチンを実行する。なお、マウスカーソルが、操作位置の一例である。
【００６０】
まず、ステップ２００において、マウスカーソルの位置を取得し、ステップ２０２において、文書要素候補の表示部分上に、マウスカーソルが位置するか否かを判定する。上記ステップ２００で取得したマウスカーソルの位置が、文書要素候補の表示部分上でない場合には、ステップ２００へ戻るが、図１６に示すように、マウスカーソルの位置が、文書要素候補（例えば、“ｔｅｘｔ”）の表示部分上であり、選択状態となっている場合には、ステップ２０４へ進む。
【００６１】
ステップ２０４では、マウスカーソルが位置する文書要素候補の文書要素を、上記ステップ１２４と同様に、構造化文書データに対して挿入して編集する。
【００６２】
そして、ステップ２０６において、文書構造定義データに基づいて、上記ステップ２０４又は後述するステップ２０８で挿入された文書要素が要素値を持つか否かを判定する。構造化文書データに挿入された文書要素が要素値を持つ場合には、ステップ２１０へ移動する。一方、上記ステップ２０６において、挿入された文書要素が要素値を持たないと判定された場合には、ステップ２０８において、挿入された文書要素の子要素又は兄弟要素を、構造化文書データ上の、挿入カーソルの位置に対応する位置に最も近い位置に挿入して、構造化文書データを編集し、上記ステップ２０６へ戻る。例えば、上記図１６に示すように、文書要素候補“ｓｕｂｔｉｔｌｅ”、 文書要素候補“ｔｅｘｔ”、及び 文書要素候補“ａｒｔｉｃｌｅ”を列挙した要素候補メニューにおける、文書要素候補“ｔｅｘｔ”の表示部分上にマウスカーソルが位置する場合には、文書要素候補“ｔｅｘｔ”と共に、子要素であり、かつ、要素値を持つ文書要素候補“ｐａｒａｇｒａｐｈ”が構造化文書データに挿入されて編集される。
【００６３】
そして、ステップ２１０において、上記ステップ２０４又は２０８で文書要素が挿入されて編集された構造化文書データをＨＴＭＬデータに変換し、ディスプレイ２４の表示画面において表示用文書を仮表示する。例えば、図１７に示すように、段落部分が追加された表示用文書が仮表示される。
【００６４】
次のステップ２１２では、マウスカーソルの位置を取得し、マウスカーソルが位置していた文書要素候補の表示部分上から、マウスカーソルが外れたか否かを判定する。マウスカーソルが、同じ文書要素候補の表示部分上に位置し、選択状態となっている場合には、表示用文書を仮表示したまま上記ステップ２１２を繰り返す。一方、マウスカーソルが、マウスカーソルが位置していた文書要素候補の表示部分上から外れた場合には、ステップ２１４へ進み、上記ステップ２０４又は２０８で文書要素が挿入される前の構造化文書データをＨＴＭＬデータに変換し、ディスプレイ２４の表示画面において表示用文書を表示して、上記ステップ２００へ戻る。例えば、図１８に示すように、段落部分が追加される前の表示用文書が表示される。
【００６５】
なお、第２の実施の形態に係る構造化文書編集装置の他の構成及び作用については第１の実施の形態と同様であるため、説明を省略する。
【００６６】
次に第３の実施の形態について説明する。なお、第３の実施の形態に係る構造化文書編集装置は、第１の実施の形態と同様の構成となるため、同一符号を付して、構成に関する説明を省略する。
【００６７】
第３の実施の形態では、文書要素候補の文書要素名と共に要素値の例を提示している点が、第１の実施の形態と異なっている。
【００６８】
第３の実施の形態に係る構造化文書編集装置は、上記第１の実施の形態で説明した要素選択挿入処理ルーチンのステップ１２０を、図１９に示す要素候補提示処理ルーチンを実行して実現する。
【００６９】
まず、ステップ３００において、上記説明した要素選択挿入処理ルーチンのステップ１１８で抽出された文書要素候補のうちの何れかを注目の文書要素候補として設定する。次のステップ３０２では、注目の文書要素候補が要素値を持つか否かを判定し、要素値を持つ場合には、ステップ３０６へ移行する。一方、上記ステップ３０２で、注目の文書要素候補が要素値を持たないと判定された場合には、ステップ３０４において、注目の文書要素候補の子要素、兄弟要素、又は兄弟要素の子要素から、要素値を持つ文書要素を検索して、ステップ３０６へ移行する。
【００７０】
ステップ３０６では、要素値を持つ注目の文書要素候補又は上記ステップ３０４で検索された文書要素と同じ文書要素名の文書要素が、構造化文書データ中に存在するか否かを判定し、構造化文書データ中に、該当する文書要素名の文書要素の記述がない場合には、ステップ３０８で、注目の文書要素候補の文書要素名のみを、ディスプレイ２４の表示画面上の要素候補メニューに表示させて、注目の文書要素候補を提示し、ステップ３１４へ移行する。
【００７１】
一方、上記ステップ３０６で、要素値を持つ注目の文書要素候補又は上記ステップ３０４で検索された文書要素と同じ文書要素名の文書要素が、構造化文書データ中に記述されていた場合には、ステップ３１０において、構造化文書データ中の該当する文書要素の要素値を取得する。次のステップ３１２では、注目の文書要素候補の文書要素名と共に、上記ステップ３１０で取得した要素値を、ディスプレイ２４の表示画面上の要素候補メニューに表示させて、注目の文書要素候補の要素値の例を提示し、ステップ３１４へ移行する。
【００７２】
ステップ３１４では、全ての文書要素候補について、上記ステップ３００〜ステップ３１２の処理が実行されたか否かを判定し、全ての文書要素候補について終了していた場合には、要素候補提示処理ルーチンを終了する。一方、上記ステップ３００〜ステップ３１２の処理が実行されていない文書要素候補が存在する場合には、上記ステップ３００へ戻り、未処理となっている文書要素候補を、注目の文書要素候補として設定する。
【００７３】
例えば、図２０に示すように、文書要素候補“ｓｕｂｔｉｔｌｅ”及び 文書要素候補“ｐａｒａｇｒａｐｈ”が抽出された場合には、文書要素候補“ｐａｒａｇｒａｐｈ”と同じ文書要素が、構造化文書データ中に存在するため、要素候補メニューにおいて、文書要素候補“ｐａｒａｇｒａｐｈ”と共に、要素値の例「段落１です。」が提示される。なお、文書要素候補“ｓｕｂｔｉｔｌｅ”については、要素値を持つ文書要素であるが、構造化文書データ中に存在しないため、文書要素名のみが提示される。
【００７４】
また、図２１に示すように、文書要素候補“ｓｕｂｔｉｔｌｅ”、 文書要素候補“ｔｅｘｔ”、及び 文書要素候補“ａｒｔｉｃｌｅ”が抽出された場合には、文書要素候補“ｔｅｘｔ”が要素値を持たないため、子要素であり、要素値を持つ文書要素“ｐａｒａｇｒａｐｈ”が検索される。検索された文書要素“ｐａｒａｇｒａｐｈ”と同じ文書要素が、構造化文書データ中に存在するため、要素候補メニューにおいて、文書要素候補“ｔｅｘｔ”と共に、要素値の例「段落１です。」が提示される。また同様に、文書要素候補“ａｒｔｉｃｌｅ”が要素値を持たないため、子要素であり、かつ、要素値を持つ文書要素“ｔｉｔｌｅ”が検索される。検索された文書要素“ｔｉｔｌｅ”と同じ文書要素が、構造化文書データ中に存在するため、要素候補メニューにおいて、文書要素候補“ａｒｔｉｃｌｅ”と共に、要素値の例「タイトル２」が提示される。なお、検索された文書要素“ｔｉｔｌｅ”と同じ文書要素が、構造化文書データ中に２つ存在し、それぞれ「タイトル１」、「タイトル２」という要素値を持っているため、挿入カーソルの位置により近い位置にある文書要素“ｔｉｔｌｅ”の要素値「タイトル２」を、要素値の例として提示している。文書要素候補“ｓｕｂｔｉｔｌｅ”については、要素値を持つ文書要素であるが、構造化文書データ中に存在しないため、要素候補メニューにおいて、文書要素名のみを表示させる。
【００７５】
なお、上記の実施の形態では、文書要素候補について要素値を持つ文書要素であるが、構造化文書データ中に存在しない場合には、当該文書要素候補の文書要素名のみを表示させている場合を例に説明したが、これに限定されるものではなく、予め設定された設定値を、要素値の例として、文書要素名と共に表示させてもよい。
【００７６】
また、マウスの操作により、候補要素メニューから文書要素候補を選択する場合を例に説明したが、これに限定されるものではなく、キーボードの操作により、候補要素メニューから文書要素候補を選択するようにしてもよい。
【００７７】
また、本発明に係るプログラムを、ＣＤＲＯＭ等の記憶媒体に格納して提供してもよい。
【符号の説明】
【００７８】
１０  構造化文書編集装置
２０  キーボード
２２  マウス
２４  ディスプレイ
３０  構造化文書編集部
３２  表示文書出力部
３４  挿入カーソル位置取得部
３６  要素値探索部
３８  要素候補抽出部
４０  候補提示部
４２  要素挿入部
【図１】
0005515545.tif 000002
【図２】
0005515545.tif 000003
【図３】
0005515545.tif 000004
【図４】
0005515545.tif 000005
【図５】
0005515545.tif 000006
【図６】
0005515545.tif 000007
【図７】
0005515545.tif 000008
【図８】
0005515545.tif 000009
【図９】
0005515545.tif 000010
【図１０】
0005515545.tif 000011
【図１１】
0005515545.tif 000012
【図１２】
0005515545.tif 000013
【図１３】
0005515545.tif 000014
【図１４】
0005515545.tif 000015
【図１５】
0005515545.tif 000016
【図１６】
0005515545.tif 000017
【図１７】
0005515545.tif 000018
【図１８】
0005515545.tif 000019
【図１９】
0005515545.tif 000020
【図２０】
0005515545.tif 000021
【図２１】
0005515545.tif 000022