(57)【要約】【課題】ユーザが構造化文書における属性の参照情報としてＸＰａｔｈ式等のパス情報を容易に誤りなく入力することができる構造化文書作成支援装置を提供する。【解決手段】第１の構造化文書の各々の属性に対して、第２の構造化文書の要素を参照する参照属性であるか否かを示す参照情報を対応付けて記憶する参照属性記憶手段と、第１の構造化文書を、各属性が選択可能で表示させる第１の表示手段（Ｓ１０５）と、参照情報に基づいて、選択されている属性が参照属性であるか否かを判断する参照属性判断手段（Ｓ１１５）と、参照属性であると判断された場合、選択されている属性の属性値が１つ以下に定まるか否かを判断し、この判断結果に基づいて、第２の構造化文書の参照対象の要素のパス情報を作成するパス情報作成手段（Ｓ１２７、Ｓ１３１）と、パス情報を第１の構造化文書に属性値として表示させる第２の表示手段（Ｓ１４５）とを備えた。【選択図】  図７
2008198010.tif 000002
【特許請求の範囲】
【請求項１】
編集対象である第１の構造化文書の各々の属性に対して、第２の構造化文書の要素を参照する参照属性であるか否かを示す参照情報を対応付けて記憶する参照属性記憶手段と、
表示装置に前記第１の構造化文書を、各属性が選択可能状態で表示させる第１の表示手段と、
前記参照属性記憶手段により記憶されている参照情報に基づいて、選択されている属性が参照属性であるか否かを判断する参照属性判断手段と、
この参照属性判断手段により参照属性であると判断された場合、選択されている属性の属性値が１つ以下に定まるか否かを判断し、この判断結果に基づいて、第２の構造化文書の参照対象の要素のパス情報を作成するパス情報作成手段と、
このパス情報作成手段により作成されたパス情報を、前記表示装置に表示されている第１の構造化文書に属性値として表示させる第２の表示手段と、
を備えたことを特徴とする構造化文書作成支援装置。
【請求項２】
前記パス情報作成手段は、表示手段により選択されている属性の属性値が１つ以下に定まらないと判断した場合、この属性の参照対象となる要素を指定するための記号が付与されたパス情報を作成する請求項１記載の構造化文書作成支援装置。
【請求項３】
表示装置に、編集対象である第１の構造化文書を、各属性が選択可能で表示させる第１の表示ステップと、
前記第１の構造化文書の各々の属性に対して、第２の構造化文書の要素を参照する参照属性であるか否かを示す参照情報が対応付けられた参照属性表に基づいて、選択されている属性が参照属性であるか否かを判断する参照属性判断ステップと、
この参照属性判断ステップにより参照属性であると判断した場合、選択されている属性の属性値が１つ以下に定まるか否かを判断し、この判断結果に基づいて、第２の構造化文書の参照対象の要素のパス情報を作成するパス情報作成ステップと、
このパス情報作成ステップにて作成したパス情報を、前記表示装置に表示している第１の構造化文書に属性値として表示させる第２の表示ステップと、
をコンピュータに行わせることを特徴とする構造化文書作成支援プログラム。
【請求項４】
前記パス情報作成ステップにて、選択されている属性の属性値が１つ以下に定まらないと判断した場合、この属性の参照対象となる要素を指定するための記号が付与されたパス情報を作成する請求項３記載の構造化文書作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書の作成を支援する構造化文書作成支援装置及び構造化文書作成支援プログラムに係り、特に、構造化文書へのパス情報の入力を支援する構造化文書作成支援装置及び構造化文書作成支援プログラムに関する。
【背景技術】
【０００２】
従来、ユーザがＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書等の構造化文書の作成を行う際には、要素の名前や属性を定義するために、長い文字列を何度も入力する必要があった。
【０００３】
そこで、任意の文字列を簡単な操作で入力できる文字列入力支援装置が提案されている（特許文献１参照）。この文字列入力支援装置では、入力文字列情報と入力動作情報とが関連付けられて記憶されたテーブルを利用して、予め決められた簡単な文字列を入力することにより、特定の文字列の入力を行うことが可能となっている。
【特許文献１】特開２００３−６７３７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本来入力しなければならない文字列を簡単な文字列に関連付けておく方法では、ユーザが入力作業をする際の手間や入力ミスを軽減することができる。しかしながら、ユーザが構造化文書を作成する場合において、この構造化文書内の要素の属性が他の要素を参照する際等には、ＸＰａｔｈ式等のパス情報を入力しなければならない。このパス情報は参照対象となる要素によって異なっており、一意に定まらないため、パス情報を予め簡単な文字列に関連付けておくことができず、ユーザが直接入力を行わなければならないという課題があった。
【０００５】
本発明は、上記課題を鑑みなされたもので、ユーザが構造化文書における属性の参照情報としてＸＰａｔｈ式等のパス情報を入力する際に、パス情報の入力を容易に誤りなく行うことができる構造化文書作成支援装置及び構造化文書作成支援プログラムを提供することを目的とする。
【０００６】
特に、参照対象となる要素が複数個出現可能であった場合のパス情報の入力を容易に行うことができる構造化文書作成支援装置及び構造化文書作成支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る構造化文書作成支援装置は、編集対象である第１の構造化文書の各々の属性に対して、第２の構造化文書の要素を参照する参照属性であるか否かを示す参照情報を対応付けて記憶する参照属性記憶手段と、表示装置に前記第１の構造化文書を、各属性が選択可能で表示させる第１の表示手段と、前記参照属性記憶手段により記憶されている参照情報に基づいて、選択されている属性が参照属性であるか否かを判断する参照属性判断手段と、この参照属性判断手段により参照属性であると判断された場合、選択されている属性の属性値が１つ以下に定まるか否かを判断し、この判断結果に基づいて、第２の構造化文書の参照対象の要素のパス情報を作成するパス情報作成手段と、このパス情報作成手段により作成されたパス情報を、前記表示装置に表示されている第１の構造化文書に属性値として表示させる第２の表示手段と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明に係る構造化文書作成支援装置及び構造化文書作成支援プログラムによると、ユーザが構造化文書における属性の参照情報としてＸＰａｔｈ式等のパス情報を入力する際に、パス情報の入力を容易に誤りなく行うことが可能となる。
【０００９】
特に、参照対象となる要素が複数個出現可能であった場合においても、パス情報の入力を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【００１０】
本発明に係る構造化文書作成支援装置及び構造化作成支援プログラムの実施形態を、添付図面に基づいて詳細に説明する。なお、実施形態として、作成対象とする構造化文書をＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書とする。
【００１１】
ＸＭＬ文書等の構造化文書を作成するためには、文書中でどのようなタグや属性を使用するか等、具体的な文書構造が定義される構造化定義文書が必要となる。ＸＭＬ文書において、具体的な文書構造が定義されたデータ構造はスキーマと呼ばれ、このスキーマが定義されている文書はスキーマ文書と呼ばれる。
【００１２】
図１は、本発明に係る構造化文書作成支援装置１のシステム構成図である。
【００１３】
構造化文書作成支援装置１は、演算、制御等の処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央処理装置）１０と、ＣＰＵ１０が処理するためのデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１と、ＣＰＵ１０が処理を行う際に用いる処理プログラム等を記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ネットワークを介した通信制御を行うネットワークインタフェース１３、プログラムや構造化文書のデータファイルなどを長期的に記憶しているハードディスク装置１４を制御するハードディスク制御回路１５と、プログラムや構造化文書のデータファイルなどを記憶しているＣＤ−ＲＯＭ装置１６を制御するＣＤ−ＲＯＭ制御回路１７と、キーボードやマウス等の入力装置１８を制御する入力制御回路１９と、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、液晶ディスプレイ等の表示装置２０を制御する表示器制御回路２１とを備えている。
【００１４】
構造化文書作成支援装置１のＣＰＵ１０は、ユーザによるＸＭＬ文書等の構造化文書の作成を支援する構造化文書作成支援処理を行う。また、ＲＯＭ１２あるいはハードディスク装置１４は、ＣＰＵ１０が構造化文書作成支援処理を行う際に用いる構造化文書作成支援プログラムを予め記憶している。
【００１５】
ハードディスク装置１４は、作成処理の対象となる第１の構造化文書３０と、第１の構造化文書３０のスキーマ文書である第１のスキーマ文書３１と、第１の構造化文書３０により参照される第２の構造化文書３２と、第２の構造化文書３２のスキーマ文書である第２のスキーマ文書３３とを記憶する文書記憶手段１４ａを有する。
【００１６】
また、ハードディスク装置１４は、第１の構造化文書３０と第２の構造化文書３２との間の参照関係を示す参照属性表４０を記憶する参照属性記憶手段１４ｂを有している。
【００１７】
図２は、ＸＭＬ文書である第１の構造化文書３０を示す図である。
【００１８】
ＸＭＬ文書において、１つの処理要素はタグの形で記述され、一連の処理を示す場合や、要素の集合を示す場合には、開始タグ（例えば「＜要素名＞」）と終了タグ（例えば「＜／要素名＞」）に挟まれる形で入れ子にされて表される。例えば、図２に示すように、第１の構造化文書３０は、要素「ｌｉｂｒａｒｙ」の開始タグ「＜ｌｉｂｒａｒｙ＞」（１行目）と終了タグ「＜／ｌｉｂｒａｒｙ＞」（１７行目）とで全体を入れ子にされるようにして表される。要素「ｌｉｂｒａｒｙ」内には、要素「ｃｏｒｎｅｒ」（５〜８行目等）が複数入れ子にされており、これらの要素「ｃｏｒｎｅｒ」内には、さらに、変数を定義するための要素「ｓｈｅｌｆ」（６、７行目等）が入れ子にされている。
【００１９】
また、各要素に必要な情報である属性は、例えば「ｃｏｒｎｅｒ」の「ｎａｍｅ」（２行目）や、「ｓｈｅｌｆ」（３行目）の「ｂｏｏｋｌｉｓｔ」と「ａｕｔｈｏｒ」等のように、要素タグ内で定義される。属性として、他の構造化文書を参照するためのパス情報が定義されることがある。
【００２０】
図３は、第１の構造化文書３０の文書構造を定義している第１のスキーマ文書３１を示す図である。
【００２１】
第１のスキーマ文書３１は、例えば開始タグ＜ｘｓ＞及び終了タグ＜／ｘｓ＞で入れ子にされて定義される。例えば図３の２行目（＜ｘｓ：ｅｌｅｍｅｎｔ  ｎａｍｅ＝“ｌｉｂｒａｒｙ”＞）では、第１の構造化文書３０の要素「ｌｉｂｒａｒｙ」に関する規約が定義されている。また図３の５行目（＜ｘｓ：ｅｌｅｍｅｎｔ  ｎａｍｅ＝”ｃｏｒｎｅｒ”  ｍａｘＯｃｃｕｒｓ＝“ｕｎｂｏｕｎｄｅｄ”＞）では、第１の構造化文書３０の要素「ｃｏｒｎｅｒ」の属性である「ｍａｘＯｃｃｕｒｓ」が「ｕｎｂｏｕｎｄｅｄ」と定義されている。
【００２２】
図４は、第１の構造化文書３０により属性値として参照されるＸＭＬ文書である第２の構造化文書３２を示す図である。
【００２３】
第２の構造化文書３２は、要素「ｂｏｏｋｌｉｓｔ」の開始タグ「＜ｂｏｏｋｌｉｓｔ＞」（１行目）と終了タグ「＜／ｂｏｏｋｌｉｓｔ＞」（３７行目）で全体を入れ子にされるようにして表される。要素「ｂｏｏｋｌｉｓｔ」内には、要素「ｂｏｏｋ」（２〜１１行目等）が複数入れ子にされており、これらの要素「ｂｏｏｋ」内には、さらに、変数の定義するための要素「ｔｉｔｌｅ」等（３行目等）が入れ子にされている。
【００２４】
図５は、第２の構造化文書３２の文書構造を定義している第２のスキーマ文書３３を示す図である。
【００２５】
第２のスキーマ文書３３において、例えば図５の２行目（＜ｘｓ：ｅｌｅｍｅｎｔ  ｎａｍｅ＝“ｂｏｏｋｌｉｓｔ”＞）では、第２の構造化文書３２の要素「ｂｏｏｋｌｉｓｔ」に関する規約が定義されている。また図５の５行目（＜ｘｓ：ｅｌｅｍｅｎｔ  ｎａｍｅ＝” ｂｏｏｋ”  ｍａｘＯｃｃｕｒｓ＝“ｕｎｂｏｕｎｄｅｄ”＞）では、第１の構造化文書３０の要素「ｂｏｏｋ」の属性である「ｍａｘＯｃｃｕｒｓ」が「ｕｎｂｏｕｎｄｅｄ」と定義されている。
【００２６】
構造化文書においては、所定の要素の属性の属性値として、他の構造化文書の要素を参照することが考えられる。例えば、第１の構造化文書３０において、図２の３行目に示した要素「ｓｈｅｌｆ」の属性「ａｕｔｈｏｒ」は、属性値として、第２の構造化文書３２の要素「ａｕｔｈｏｒ」（例えば図４の５行目の「テック太郎」等）を参照している。
【００２７】
参照属性表４０は、図６に示すように、第１の構造化文書３０の所定の要素を示す要素情報４１、この要素の属性を示す属性情報４２、この属性が参照している要素があるか否かを示す参照情報４３、この属性が参照している要素がある場合に参照対象の要素のルートとなっている要素を示すルート要素情報４４とがそれぞれ対応付けられた表である。なお、参照情報４３は、参照している要素がある場合は「○」、ない場合は「×」で表されている。また、「×」に替えて「ｎｕｌｌ」でもよい。この参照属性表４０において、要素が複数の属性を有する場合には、各属性毎に、要素情報４１、属性情報４２、参照情報４３、ルート要素情報４４が対応付けられている。
【００２８】
例えば図６に示す参照属性表４０において、要素情報４１として、第１の構造化文書３０の要素「ｌｉｂｒａｒｙ」、「ｃｏｒｎｅｒ」、「ｓｈｅｌｆ」、「ｓｈｅｌｆ」が格納されているが、上から４つ目の要素「ｓｈｅｌｆ」のみ、参照情報４３が「○」となっている。また、この上から４つ目の要素「ｓｈｅｌｆ」の属性は「ａｕｔｈｏｒ」であるとともにルート要素情報４４は「ｂｏｏｋｌｉｓｔ」である。これは第１の構造化文書３０の要素「ｓｈｅｌｆ」の属性「ａｕｔｈｏｒ」が属性値として、第２の構造化文書３２の要素「ｂｏｏｋｌｉｓｔ」を参照していることを意味する。
【００２９】
ここで、構造化文書作成支援装置１が構造化文書作成支援処理を行う手順を、図７に示すフローチャートに基づいて説明する。例として、ユーザにより第１の構造化文書３０に対して追加や修正、削除等の編集処理が指示された場合について説明する。なお、例えば「ステップＳ１０１」を「Ｓ１０１」のように、「ステップ」を省略して説明する。
【００３０】
始めに、ＣＰＵ１０は、第１の構造化文書３０の編集指示があったか否かを判断する（Ｓ１０１）。第１の構造化文書３０の編集指示は、構造化文書作成支援プログラムが起動されたり、ユーザにより第１の構造化文書３０がテキストエディタ等で開かれたりすることにより、行われる。第１の構造化文書３０の編集指示がなかった場合（Ｓ１０１のＮｏ）は、ＣＰＵ１０は構造化文書作成支援処理を行わずに、そのまま待機する。
【００３１】
第１の構造化文書３０の編集指示があった場合（Ｓ１０１のＹｅｓ）は、ＣＰＵ１０は、文書記憶手段１４ａから第１の構造化文書３０を取得する（Ｓ１０３）。
【００３２】
また、ＣＰＵ１０は、この第１の構造化文書３０に基づいて表示装置２０に構造化文書編集画面５０が表示できるように画面情報を作成し、この構造化文書編集画面５０を表示装置２０に表示させる（Ｓ１０５）。構造化文書編集画面５０は、図８に示すように、第１の構造化文書３０が編集可能に表示される編集領域５１と、編集領域５１で指定された編集箇所５４を確定するための編集ボタン５２を有する。ユーザは、入力装置１８を用いて、この編集領域５１に表示された第１の構造化文書３０内の属性値等の編集箇所５４の位置にカーソル５３の位置を合わせることにより、編集箇所５４を選択指示するとともに、編集ボタン５２を押すことによりこの編集箇所５４を確定する為の指示を行うことが出来る。なお、ＣＰＵ１０は、初期状態としてカーソル５３の位置を編集領域５１の左上端に表示する。
【００３３】
ＣＰＵ１０は、第２の構造化文書３２を参照する場合に備えて、参照属性記憶手段１４ｂから参照属性表４０を取得してＲＡＭ１１に記憶する（Ｓ１０７）。ＣＰＵ１０は、ユーザにより編集箇所５４が確定されたか否かを判断する（Ｓ１０９）。この際、ＣＰＵ１０は、確定ボタン５２が押された場合に、編集箇所５４が確定されたと判断する。編集箇所５４が確定されていない場合（Ｓ１０９のＮｏ）は、ＣＰＵ１０はそのまま待機する。
【００３４】
編集箇所５４が確定された場合（Ｓ１０９のＹｅｓ）は、ＣＰＵ１０は、指定部分であるカーソル５３の位置が属性の位置にあるか否かを判断する（Ｓ１１１）。カーソル５３が属性の位置にない場合（Ｓ１１１のＮｏ）は、ＣＰＵ１０は、表示装置２０に、カーソル５３が属性の位置にない旨を示すエラーメッセージを表示させ（Ｓ１１３）、Ｓ１０９へ戻る。
【００３５】
カーソル５３が属性の位置にあった場合（Ｓ１１１のＹｅｓ）は、ＣＰＵ１０は、この属性が参照属性であるか否かを判断する（Ｓ１１５）。例えば、図８に示す構造化文書編集画面５０においては、要素「ｓｈｅｌｆ」の属性「ａｕｔｈｏｒ」の位置にカーソル５３の位置が合っている。この際、ＣＰＵ１０は、Ｓ１０７にて取得した参照属性表４０から、カーソル５３の位置にある属性の属性情報４２に対応付けられた参照情報４３を取得する。そして、ＣＰＵ１０は、この属性に参照している情報がある場合、すなわち参照属性表４０の参照情報４３が「○」である場合に属性が参照属性であると判断し、「×」である場合に属性が参照属性でないと判断する。属性が参照属性でない場合（Ｓ１１５のＮｏ）は、ＣＰＵ１０は、表示装置２０に、カーソル５３の位置にある属性が参照属性でない旨を示すエラーメッセージを表示させ（Ｓ１１３）、Ｓ１０９へ戻る。
【００３６】
属性が参照属性であった場合（Ｓ１１５のＹｅｓ）は、ＣＰＵ１０は、参照属性表４０から、カーソル５３の位置にある属性の属性情報４２に対応付けられたルート要素情報４４を取得し、このルート要素情報４４の要素が含まれる構造化文書、例えば第２の構造化文書３２の文書構造を示す第２のスキーマ文書３３を取得し、ＲＡＭ１１に記憶する（Ｓ１１７）。
【００３７】
また、ＣＰＵ１０は、第２の構造化文書３２の各要素のパス情報を保持するパステーブル６０を作成する（Ｓ１１９）。パステーブル６０は、図９に示すように、各要素を識別するためのＩＤ情報６１、この要素の要素情報６２、この要素の名前を表示する文字列である表示要素情報６３、この要素のパスを示すパス情報６４がそれぞれ対応付けられた表である。なお、Ｓ１１９の時点では、パステーブル６０内にデータは格納されていない。このパステーブル６０はＲＡＭ１１に作成される。
【００３８】
ＣＰＵ１０は、Ｓ１１７で取得した第２のスキーマ文書３３から要素を一つ取得する（Ｓ１２１）。また、ＣＰＵ１０は、Ｓ１２１で取得した要素から、一つの属性を取得する（Ｓ１２３）。本実施の形態ではｍａｘＯｃｃｕｒｓ属性の属性値を例にして説明をする。ｍａｘＯｃｃｕｒｓ属性は、要素の出現回数の最大値を表す属性である。所定の要素において、ｍａｘＯｃｃｕｒｓ属性の属性値が「１」である場合は、この要素が１回出現する、すなわち参照対象となる要素が１つに定まることを意味し、ｍａｘＯｃｃｕｒｓ属性の属性値が「１」より大きい場合は、この要素が複数回出現する可能性があることを意味する。ただし、Ｓ１２１で取得した要素においてｍａｘＯｃｃｕｒｓ属性の属性値が設定されていない場合には、ｍａｘＯｃｃｕｒｓ属性の属性値を「１」とみなす。
【００３９】
ｍａｘＯｃｃｕｒｓ属性は、ＸＭＬ文書における属性「ＸＰａｔｈ」等のパス情報を設定する際に用いられる。「ＸＰａｔｈ」は、ＸＭＬ文書等の構造化文書の一部をアドレッシングするための言語であり、要素のパスをノードの集合や文字列等により表現したものである。
【００４０】
属性値として、複数回出現可能な要素のうちの所定の要素のパス情報を設定する場合、所定の要素は、角括弧「〔〕」の記号を使って「要素名〔ｉ〕」（ｉは正の整数）にように、複数の要素の中から並び順の位置を整数ｉで指定されることにより記述される。このため、構造化文書作成支援装置１では、属性値として参照される要素が複数回出現する場合には、パス情報の所定の位置に角括弧の記号が予め記述されるようにする。これにより、ユーザの編集作業の手間が省かれ、入力ミスが回避される。
【００４１】
ＣＰＵ１０は、Ｓ１２３で取得したｍａｘＯｃｃｕｒｓ属性の属性値が「１」以下であるか否か、すなわち参照対象となった際に要素が１つ以下に定まるか否かを判断する（Ｓ１２５）。ｍａｘＯｃｃｕｒｓ属性は、「０」以上の整数または「ｕｎｂｏｕｎｄｅｄ」に限定されているので、「１」より大きい場合は、「２」以上の整数か、または「ｕｎｂｏｕｎｄｅｄ」（上限なし）である。
【００４２】
Ｓ１２３で取得したｍａｘＯｃｃｕｒｓ属性の属性値が「１」以下である場合（Ｓ１２５のＹｅｓ）は、ＣＰＵ１０は、Ｓ１２１で取得した要素のパス情報６４を作成する（Ｓ１２７）。
【００４３】
パス情報６４を作成する際、ｍａｘＯｃｃｕｒｓ属性が「１」以下であり、参照対象となった際に要素が１つ以下に定まるため、この要素の名前の文字列に角括弧「〔〕」を付加する必要がない。ＣＰＵ１０は、パス情報６４として、このＳ１２１で取得した要素の親のパスの直後に「／」（スラッシュ）を付加するとともに、この「／」の直後に、表示要素情報６３を付加した文字列を作成する。すなわち何番目かの要素かを示す第１の記号（角括弧）を付与することなく要素名の直後に第２の記号（／）を付与した属性値を作成する。表示要素情報６３は、Ｓ１２１で取得した要素の名前を示す文字列である。なお、Ｓ１２１で取得した要素がルート要素である場合には、ルート要素は親をもたないため、この要素のパス情報６４には単に「／」の直後に表示要素情報６３を付加した文字列を作成してパス情報６４とする。
【００４４】
そしてＣＰＵ１０は、パステーブル６０に、Ｓ１２１で取得した要素の要素情報６２、表示要素情報６３、Ｓ１２７で作成したパス情報６４を追加する（Ｓ１２９）。なお、パステーブル６０のＩＤ情報６１は、パステーブル６０に新規の情報を格納する際に、識別のために自動的に付加される情報である。例えば、図９に示すパステーブル６０において、ＩＤ情報６１に「１」、要素情報６２に「ｂｏｏｋｌｉｓｔ」、表示要素情報６３に「ｂｏｏｋｌｉｓｔ」、パス情報６４に「／ｂｏｏｋｌｉｓｔ」がそれぞれ対応付けられて記憶される。
【００４５】
一方ｍａｘＯｃｃｕｒｓ属性の属性値が「１」以下でない場合、すなわちｍａｘＯｃｃｕｒｓ属性の属性値が「２」以上である場合（Ｓ１２５のＮｏ）、ＣＰＵ１０は、Ｓ１２１で取得した要素の表示要素情報６３に角括弧「〔〕」を付加するとともに、角括弧「〔〕」が付加されたパス情報６４を作成する（Ｓ１３１）。
【００４６】
すなわち、ｍａｘＯｃｃｕｒｓ属性の属性値が「２」以上であり、つまりＳ１２１で取得した要素は複数回出現する可能性があるので、表示要素情報６３及びパス情報６４において、この要素の名前に角括弧「〔〕」を付加する必要がある。
【００４７】
ＣＰＵ１０は、表示要素情報６３として、Ｓ１２１で取得した要素の名前の直後に角括弧「〔〕」を付加した文字列を作成する。またＣＰＵ１０は、パス情報６４として、Ｓ１２１で取得した要素の親のパス情報の直後に「／」を付加するとともに、この「／」の直後に、表示要素情報６３を付加した文字列を作成する。同様に、要素がルート要素である場合には、ルート要素は親をもたないため、この要素のパス情報６４には単に「／」の直後に表示要素情報６３を付加した文字列をパス情報６４とする。
【００４８】
そしてＣＰＵ１０は、パステーブル６０に、Ｓ１２１で取得した要素の名前である要素情報６２、表示要素情報６３、Ｓ１３１で作成したパス情報６４を追加する（Ｓ１３３）。例えば、図９に示すパステーブル６０において、ＩＤ情報６１に「２」、要素情報６２に「ｂｏｏｋ」、表示要素情報６３に「ｂｏｏｋ〔〕」、パス情報６４に「／ｂｏｏｋｌｉｓｔ／ｂｏｏｋ〔〕」が記憶される。
【００４９】
ＣＰＵ１０は、未処理の要素があるか否かを判断する（Ｓ１３５）。未処理の要素がある場合（Ｓ１３５のＹｅｓ）は、Ｓ１２１に戻って、ＣＰＵ１０は未処理の要素を取得して（Ｓ１２１）、上記と同様にＳ１２３〜Ｓ１３３の処理を行う。この際、第２のスキーマ文書３３から要素を取得する方法として、幅優先探索や深さ優先探索等がある。これらの方法で要素を取得した場合には、親の要素から順に選択されるため、Ｓ１２７またはＳ１３１でパス情報を作成する際に既に親のパス情報６４が決定されているため、効率よくパス情報６４を作成することができる。
【００５０】
また、未処理の要素がない場合（Ｓ１３５のＮｏ）、すなわち、Ｓ１１７で取得した第２のスキーマ文書３３に記述されている全ての要素に対してＳ１２１〜Ｓ１２９（またはＳ１３３）の処理が行われた場合は、ＣＰＵ１０は、Ｓ１１７で取得した第２のスキーマ文書３３及びＳ１１９で作成したパステーブル６０に基づいて、第２の構造化文書３２の各々の要素をノード７１としたツリー７０を作成する（Ｓ１３７）。
【００５１】
このツリー７０は、図１０に示すように、図９のパステーブル６０に格納されている要素の親子関係を示している。このツリー７０は、第２のスキーマ文書３３内を幅優先探索や深さ優先探索等の方法を利用することにより作成されても、パステーブル６０を作成する過程で作成されても良い。なお、図１０に示すツリー７０のノード７１に示されている番号は、パステーブル６０のＩＤ情報６１に対応している。
【００５２】
例えば、図１０では、ＩＤ情報６１が「１」の要素の子としてＩＤ情報６１が「２」の要素が関連付けられている。また、ＩＤ情報６１が「２」の子としてＩＤ情報６１が「３」、「４」、「５」、「６」の４つの要素が関連付けれ、ＩＤ情報６１が「４」の要素には、さらに子としてＩＤ情報６１が「７」の要素が関連付けられている。
【００５３】
ＣＰＵ１０は、Ｓ１３７で作成されたツリー７０の各ノード７１のＩＤ情報６１を、パステーブル６０に基づいて表示要素情報６３に置き換える（Ｓ１３９）。すなわち、ＣＰＵ１０は、パステーブル６０に格納されているＩＤ情報６１が「１」の要素情報６２「ｂｏｏｋｌｉｓｔ」の表示要素情報６３「ｂｏｏｋｌｉｓｔ」を取得し、図１０に示したツリー７０の「１」と置き換える。同様に、ＣＰＵ１０は、ＩＤ情報６１が「２」の表示要素情報６３「ｂｏｏｋ〔〕」を取得し、ツリー７０の「２」と置き換える。
【００５４】
ＣＰＵ１０は、ユーザに、第１の構造化文書３０の要素の属性の属性値として、パス情報６４を入力させるためのパス入力画面８０を表示させる（Ｓ１４１）。パス入力画面８０は、図１１に示すように、Ｓ１３９でノード７１が表示要素情報６３に置き換えられたツリー７０を表示してノード７１の選択を促すツリー表示欄８１、パス情報６４をプレーンテキストで入力するパス入力欄８２、入力処理を行うための入力ボタン８３を備えている。
【００５５】
ユーザによりツリー表示欄８１から入力装置１８を介していずれかのノード７１が選択されると、ＣＰＵ１０は、パステーブル６０から、この選択されたノード７１のＩＤ情報６１に対応付けられたパス情報６４を取得し、パス入力欄８２に表示させる。またこの際、ユーザが直接、テキストによりパス情報６４をパス入力欄８２に入力しても良い。
【００５６】
ＣＰＵ１０は、パス情報６４が確定されたか否か、すなわちパス入力欄８２にパス情報６４が入力されて入力ボタン８３が押されたか否かを判断する（Ｓ１４３）。パス情報６４が確定されていない場合（Ｓ１４３のＮｏ）は、ＣＰＵ１０はそのまま待機する。
【００５７】
パス情報６４が確定された場合（Ｓ１４３のＹｅｓ）は、ＣＰＵ１０は、パス入力画面８０を閉じて、Ｓ１０９にて確定された編集箇所５４にある属性の属性値として、ユーザによって確定されたパス情報６４を挿入する（Ｓ１４５）。図１２に、このパス情報６４が挿入された後の構造化文書編集画面５０を示す。構造化文書編集画面５０において、３行目の要素「ｓｈｅｌｆ」の属性「ａｕｔｈｏｒ」の属性値として、Ｓ１４３で確定されたパス情報６４が挿入されている。
【００５８】
Ｓ１４５にて構造化文書編集画面５０にパス情報６４を挿入する際、挿入するパス情報６４に角括弧「〔〕」が含まれる場合は、ＣＰＵ１０は、構造化文書編集画面５０上におけるカーソル５３の位置を、この角括弧「〔」と「〕」との間に設定する。また、挿入するパス情報６４に角括弧「〔〕」が複数含まれる場合は、最も左側にある角括弧「〔〕」の「〔」と「〕」との間に設定する。これにより、ユーザがカーソル５３の位置を移動することなく、複数出現する可能性のある要素から、所定の要素の並び位置を示す整数により指定することが可能となる。
【００５９】
最後に、ＣＰＵ１０は、構造化文書編集画面５０にて編集された第１の構造化文書３０を、文書記憶手段１４ａに記憶する（Ｓ１４７）。このＳ１４７の処理は、ユーザにより構造化文書編集画面５０を閉じる指示があった場合等に行われても良い。
【００６０】
なお、ステップＳ１０５の処理が第１の表示手段、ステップＳ１１５の処理が参照属性判断手段、ステップＳ１１７〜Ｓ１３３がパス情報作成手段特にステップＳ１２７、Ｓ１３１の処理は追加手段でもある。ステップＳ１４１〜Ｓ１４５の処理が第２の表示手段である。また、Ｓ１３７及びＳ１３９はツリー作成手段である。
【００６１】
本実施形態では、編集箇所５４をカーソル５３の位置が属性の位置にない場合（Ｓ１１１のＮｏ）、または属性が参照属性でない場合（Ｓ１１５のＮｏ）に、Ｓ１１３においてユーザに対してエラーメッセージを表示してＳ１０９に戻る例について説明した。しかし、構造化文書の作成支援（パス情報の入力支援）を行わずに編集作業のみを可能としても良く、その場合は、図１１に示すパス入力画面８０を表示せずに、図８の構造化文書編集画面５０のみにおいて、ユーザの直接入力により構造化文書の作成を行う。
【００６２】
本発明に係る構造化文書作成支援装置１及び構造化文書作成支援プログラムによると、ユーザが構造化文書に「ＸＰａｔｈ」式等のパス情報６４を入力する際、参照対象の要素のツリー７０からノード７１を選択することのみによりパス情報６４が入力されるため、ユーザが容易にパス情報６４の入力を誤りなく行うことができる。
【００６３】
特に、属性値として複数個の要素から１つの要素を選択する場合には、パス情報６４における角括弧「〔〕」が予め表示されるため、ユーザが角括弧内に数字を入力するだけで「ＸＰａｔｈ」式を完成させることが可能になる。
【００６４】
また、参照対象の要素のツリー７０を表示することによって、ユーザに対して要素が複数個出現可能であることを視覚的に判別させ、注意を促すことが可能になる。
【００６５】
なお、本実施形態では、構造化文書、スキーマ文書、参照情報がハードディスク装置１４内に記憶されている例を説明したが、これに限らず、ＣＤ−ＲＯＭに格納されていても、ネットワークインタフェース１３を介してハードディスク装置１４にインストールされても良い。
【００６６】
本実施の形態では、パステーブル作成やツリー作成を毎回行っているが、これらは最初の１回のみ作成してもよい。この場合、図８の編集画面で２度目以降、編集ボタンを押した際にはＳ１１５からＳ１４１に移ってもよい。
【００６７】
また、本実施形態では、装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず、同様の機能をネットワーク３から装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。
【００６８】
記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても構わない。
【００６９】
また、このように予めインストールやダウンロードにより得る機能は、装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明に係る構造化文書作成支援装置のシステム構成図。
【図２】構造化文書（ＸＭＬ文書）の例を示す図。
【図３】図２の構造化文書に対応したスキーマ文書の例を示す図。
【図４】構造化文書（ＸＭＬ文書）の内容の例を示す図。
【図５】図４の構造化文書に対応したスキーマ文書の例を示す図。
【図６】参照情報の例を示す図。
【図７】構造化文書作成支援装置による構造化文書作成支援処理の手順を示すフローチャート。
【図８】構造化文書編集画面を示す画面図。
【図９】各要素の表示要素情報とパス情報とを対応付けるパステーブルを示す表。
【図１０】参照するＸＭＬ文書に対応するスキーマ文書のツリーを示す図。
【図１１】パス入力画面を示す画面図。
【図１２】構造化文書編集画面を示す画面図。
【符号の説明】
【００７１】
１  構造化文書作成支援装置
１４ｂ  参照属性記憶手段
３０  第１の構造化文書
３１  第１のスキーマ文書
３２  第２の構造化文書
３３  第２のスキーマ文書
４０  参照属性表
４３  参照情報
６４  パス情報
Ｓ１０５  第１の表示手段
Ｓ１１５  参照属性判断手段
Ｓ１１７〜Ｓ１３３  パス情報作成手段
Ｓ１４１〜Ｓ１４５  第２の表示手段
【図１】
2008198010.tif 000003
【図２】
2008198010.tif 000004
【図３】
2008198010.tif 000005
【図４】
2008198010.tif 000006
【図５】
2008198010.tif 000007
【図６】
2008198010.tif 000008
【図７】
2008198010.tif 000009
【図８】
2008198010.tif 000010
【図９】
2008198010.tif 000011
【図１０】
2008198010.tif 000012
【図１１】
2008198010.tif 000013
【図１２】
2008198010.tif 000014