(57)【特許請求の範囲】
【請求項１】
予め定められた構成要素に基づいて構造化され所定の規約に則って記述された文書情報と、前記構造化文書情報を表示する際の体裁を構成要素単位に定義した体裁定義情報とが独立して管理される構造化文書システムにおける構造化文書の表示方法であって、
所定の規約に則って構造化文書を解析して当該構造化文書に含まれる構成要素の構造情報を生成し、生成された構造情報に基づいて構成要素を順番に取得し、取得した構成要素が体裁定義情報が対応づけられたものか文書情報を含むものかを判定し、取得した構成要素が体裁定義情報が対応づけられたものである場合には、当該構成要素に対応づけられている体裁定義情報を取得し、当該取得した体裁定義情報に基づいて文書情報を表示するための属性情報を更新し、取得した構成要素が文書情報を含むものである場合には、次に体裁定義情報が対応付けられた構成要素が取得されるまで、構成要素に対応づけられている文書情報を文書情報を表示装置に表示するための表示領域に蓄積し、次の体裁定義情報が対応付けられた構成要素を取得したことに応じて、前記表示領域に蓄積された文書情報を前記文書情報を表示するための属性情報に設定された形式にて表示することを特徴とする構造化文書の表示方法。
【請求項２】
予め定められた構成要素に基づいて構造化され所定の規約に則って記述された文書情報と、前記構造化文書情報を表示する際の体裁を構成要素単位に定義した体裁定義情報とが独立して管理される構造化文書システムにおいて、
所定の規約に則って構造化文書を解析して当該構造化文書に含まれる構成要素の構造情報を生成する解析部と、
前記構造情報に基づいて構成要素を順番に取得し、取得した構成要素が体裁定義情報が対応づけられたものか文書情報を含むものかを判定する構成要素取得部と、
取得した構成要素が体裁定義情報が対応づけられたものである場合には、当該構成要素に対応づけられている体裁定義情報を取得し、当該取得した体裁定義情報に基づいて文書情報を表示するための属性情報を更新する表示属性設定部と、
取得した構成要素が文書情報を含むものである場合には、次に体裁定義情報が対応付けられた構成要素が取得されるまで、当該取得した構成要素に対応づけられている文書情報を文書情報を表示装置に表示するための表示領域に蓄積する文書情報記憶部と、
次の体裁定義情報が対応付けられた構成要素を取得したことに応じて、前記文書情報記憶部に記憶された文書情報を前記表示属性設定部に設定された形式にて表示する表示部と
を備えることを特徴とする構造化文書システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、所定の構成要素からなる構造化された文書を表示する際の表示方法に関するものであり、特に構造化文書情報を高速に表示するための方法に関する。
【０００２】
【従来の技術】
予め定められた構成要素よりなる構造化された文書情報（例えばＳＧＭＬ(Standard Generalized Markup Language)などで記述された文書）は、その内容と構造のみで構成され、表示を行うために必要となる書式や属性などの体裁に関する定義情報は、文書情報とは独立して定義され管理されている。
【０００３】
この構造化された文書情報を表示装置や印刷装置に表示する際には、まず文書情報の構造が解析され、その解析された構造に基づいて、別途定義されている体裁定義情報を取得して、属性情報として設定することにより行われる。
この際、構造解析された結果は木構造で表されることが多く、独立して定義される体裁定義情報は文書単位に文書の構成要素を表す識別子（以降、「タグ」と称する）と関連付けられて定義されていることが多い。
【０００４】
例えば、図３のような構造化文書があったとする。この文書は、まず構造解析され、図４に示すような木構造をなす構造情報に置き換えられる。ここでは、タグはその名称の単位に、文字は１文字単位に分解され、その一つ一つはノードと称される。
この後、図５に示すような体裁定義情報と関連づけられて、属性情報が設定され、対象表示装置に表示される。
【０００５】
この表示処理の従来の動きを説明する。表示処理を行う際は、構造解析によって解析された木構造を上位のノードから下位のノードに辿ってゆき、文字データを有するノードに行き着くと、それを表示するために必要となる属性情報を取得するために、上位のタグのノードを逆上って辿っていき、タグの名称から独立に定義されている体裁定義情報を取得して、属性情報として装置に出力し、表示していた。
【０００６】
図４においては、タグ"memo"のノード4-1 からタグ"para"のノード4-2 を辿り、文字データ "今" のノード4-3 に辿り着いたとする。この文字を表示装置などに表示するために必要となる属性情報を取得するために、今度は上位の方向へノードを逆上っていく。まず、タグ"para"のノード4-2 に辿り着き、タグの名称"para"をキーに、体裁定義情報（図５）を取得し、表示バッファ領域に設定する。しかし、タグの名称"para"に対する属性情報は文字タイプ(font-facename) しか定義されていないため、他の必要な属性情報を取得するために、さらに上位のタグのノードを探しにいく。ここでは、タグ"memo"のノード4-1 まで逆上り、文字サイズ(font-size) ，文字種(font-bold) の情報を取得して表示バッファ領域に設定し、ようやく表示装置などへ実際の表示が行われる。これを、文字データを有するノードに辿り着く度に繰り返していた。
【０００７】
【発明が解決しようとする課題】
従って従来の方法では、図４の文書を表示するために、文字データを有するノードの数と同じだけの回数、つまり図４に示す構造化文書の例では１１回前述の動作が繰り返されることになる。これは、文字データの数に比例して増大することになり、大量の文字データを含む文書情報を対象とする場合、その表示に多大な時間を要することになる。
【０００８】
例えば、ＣＡＬＳを例に挙げると、当初マニュアルや仕様書などの技術文書のペーパーレス化(Computer aided Acquisition and Logistic Support) を主眼とし、文書をＳＧＭＬなどの統一仕様に従った電子媒体で管理・取引きすることに始まり、今やその本称がContinuos Acquisition and Lifecycle support へ、さらにCommerce At Light Speed へと改称されていることにも象徴されるように広く製造業や商業を含めた産業活動全般にその適用が拡大している。
【０００９】
それに伴い、先に挙げたＳＧＭＬなどの統一仕様に則って記述された構造化文書の操作性の向上が強く望まれている。
本発明は、その中でも、構造化文書の表示速度の向上を目的とする。
【００１０】
【課題を解決するための手段】
本発明では、構造化文書を表示する際には、必ずその構造を解析するステップを経て、木構造などの構造情報に置き換えられていることに着目した。つまり、表示する際は、構造解析された木構造に従ってノードを辿っており、文字データを有したノードに達するまでに、その表示に必要となる属性情報を有したタグのノードを経由していることに着目した。
【００１１】
そこで、表示処理において、木構造を探索する際に、タグを有したノードを検出した場合に体裁定義情報を取得し、取得した体裁定義情報と表示バッファ領域に設定されている属性情報とを比較し、取得した体裁定義情報と表示バッファ領域に設定されている属性情報が異なっている場合には取得した体裁定義情報を表示バッファ領域に設定することにより、文字データを有するノードに達した時には表示バッファ領域には必要な属性が設定されており、表示装置などへの表示処理が可能な状態となるようにした。これにより、図４に示す構造化文書の場合には、表示属性取得および設定は１１回から４回に減少する。
【００１２】
すなわち、本発明は、予め定められた構成要素に基づいて構造化され所定の規約に則って記述された文書情報と、前記構造化文書情報を表示する際の体裁を構成要素単位に定義した体裁定義情報とが独立して管理される構造化文書システムにおける構造化文書の表示方法であって、所定の規約に則って構造化文書を解析して当該構造化文書に含まれる構成要素の構造情報を生成し、生成された構造情報に基づいて構成要素を順番に取得し、取得した構成要素が体裁定義情報が対応づけられたものか文書情報を含むものかを判定し、取得した構成要素が体裁定義情報が対応づけられたものである場合には、当該構成要素に対応づけられている体裁定義情報を取得し、当該取得した体裁定義情報に基づいて文書情報を表示するための属性情報を更新し、取得した構成要素が文書情報を含むものである場合には、次に体裁定義情報が対応付けられた構成要素が取得されるまで、構成要素に対応づけられている文書情報を文書情報を表示装置に表示するための表示領域に蓄積し、次の体裁定義情報が対応付けられた構成要素を取得したことに応じて、前記表示領域に蓄積された文書情報を前記文書情報を表示するための属性情報に設定された形式にて表示することを特徴とする。
【００１３】
【発明の実施の形態】
本発明の表示方法を利用した構造化文書システムＫＳの例を説明する。
図１にシステム構成を示す。本発明の表示方法は、構造化文書システムＫＳの表示処理部Ｓの出力処理部Ｓ３に利用されている。
構造化文書システムＫＳは、ＳＧＭＬなどの所定の規約に則って記述された構造化文書Ｄ１およびＤＳＳＳＬ（Document Style Semantics and Specification Language)などの所定の規約に則って記述されてた体裁定義情報Ｄ２とを入力し、表示装置Ａ１や印刷装置Ａ２などに表示あるいは印刷、および構造化文書Ｄ１の加工・編集などの機能を有している。表示バッファ領域Ｂ１および印刷バッファ領域Ｂ２は、表示装置Ａ１や印刷装置Ａ２など装置に対応して設けられる領域であり、表示・印刷を行うための属性情報および文字データの情報などから構成されている。
【００１４】
表示処理部Ｓは、構造解析部Ｓ１、文書構造記憶部Ｓ２および出力処理部Ｓ３からなる。
構造解析部Ｓ１は、ＳＧＭＬなどで記述された文書を解析し、例えば図４に示すような木構造などの構造情報に生成し直し、文書構造記憶部Ｓ２に記憶する。
出力処理部Ｓ３は、文書構造記憶部Ｓ２に記憶された構造情報に基づいて、表示装置Ａ１などへ表示を行う。
【００１５】
構造解析部Ｓ１の処理については、国際的な標準仕様があり、それに則った解析および構造情報の生成が行われるため、その処理の説明は省略する。
図３に示すような構造化文書Ｄ１に対して、表示装置Ａ１に表示する指示がなされたとする。表示処理部Ｓは、まず構造解析部Ｓ１において、指定された構造化文書の構造を解析し、構造情報を文書構造記憶部Ｓ２に記憶する。文書構造記憶部Ｓ２に記憶された構造情報の例を図４に示す。
【００１６】
本発明の方法が利用されている出力処理部Ｓ３について、その処理の流れを図２のフローチャートに基づいて説明する。
出力処理部Ｓ３は、構造解析部Ｓ１より出力され、文書構造記憶部Ｓ２に記憶された構造情報に基づいて、ノードを読み込む（図２のステップ＃２）。次に読み込んだノードが、タグのノードであるどうかを判定する（図２のステップ＃３）。タグのノードであった場合、前に読み込んだノードよりも上位のノードかどうかを判断する（図２のステップ＃４）。前に読み込んだノードよりも上位のノードの場合、表示装置Ａ１の表示属性が変更されているかどうかを表示属性変更フラグにて確認する（図２のステップ＃５）。
【００１７】
表示属性変更フラグの値が "ＯＦＦ" であれば、それ以前のノードによって表示属性が変更されていないことを示し、表示装置Ａ１の表示属性を変更する必要は無いため、図２におけるステップ＃６からステップ＃１１までの処理は行わず、文字データを有するノードの検出を行うステップ（図２のステップ＃１２）を実施する。木構造などの階層化された構造に基づいて処理を行う場合、その探索は必ずしも下位方向のみとは限らず、上位のノードに逆上る場合がある。その際、下位のタグを有したノードにおいて、表示装置Ａ１の表示属性が変更されていなければ、上位のタグを有したノードに逆上った場合、表示装置Ａ１の表示属性を変更しなくてよい。表示属性変更フラグは、木構造の探索が上位のノードに逆上った場合に、それ以前の下位のノードにおいて、表示装置Ａ１の表示属性が変更されているかどうかを識別するためのフラグであり、これにより探索が上位のノードに逆上った場合に、前述の通り表示属性の設定を行う処理を省くことが可能となり、表示速度の高速化により効果がある。
【００１８】
表示属性変更フラグが "ＯＮ" の場合’（図２のステップ＃５でＹｅｓの場合）、あるいは、下位方向に探索されたタグを有したノードが読み込まれた場合（図２のステップ＃４でＮｏの場合）、タグの名称を基に体裁定義情報Ｄ２に格納された属性情報を取得し（図２のステップ＃６）、表示装置Ａ１に設定されている表示属性を取得する（図２のステップ＃７）。取得した体裁定義情報Ｄ２および表示装置Ａ１の表示属性を比較する（図２のステップ＃８）。
【００１９】
比較した属性情報に相違が無ければ、表示装置Ａ１に設定されている表示属性を変更しないので、表示属性変更フラグに "ＯＦＦ" を設定する（図２のステップ＃１１）。相違があった場合は体裁定義情報Ｄ２より取得してきた属性情報を表示バッファ領域Ｂ１の属性情報に設定し表示装置Ａ１の表示属性を変更し（図２のステップ＃９）、表示装置Ａ１に設定されている表示属性を変更したので、表示属性変更フラグに "ＯＮ" を設定する（図２のステップ＃１０）。
【００２０】
次に、当該タグのノードの下位に直接位置づけられている文字データを有するノードが存在するかを確認し（図２のステップ＃１２）、直接に位置づけられている文字データを有するノードが存在しなければ，構造情報に従って、次のノードを読み込む（図２のステップ＃１２でＮｏの場合）。文字データを有するノードが存在する場合は、直接に位置づけられている文字データを有するノードの文字データを取得して（図２のステップ＃１３）、表示バッファ領域Ｂ１の文字データの領域に設定し、表示装置Ａ１へ出力する（図２のステップ＃１４）。
【００２１】
これにより、表示装置Ａ１の表示属性は、構造情報に従って表示すべき文字データを有したノードが出現するまでに、その上位のタグを有したノードを経由しており、その際に表示装置Ａ１に表示属性が順次設定される。よって、従来のように文字データを有するノードに辿り着く度に、表示属性を取得するために当該ノードの上位にあるタグを有したノードを再度検索する必要も無くなり、また、表示装置Ａ１への表示属性の設定も、従来の文字データを有したノードの単位ではなく、タグを有したノードの単位で行われるため、表示装置Ａ１への表示属性の設定の回数も減り、全体として表示速度が向上する。
【００２２】
図４に示す構造情報と図５に示す体裁定義情報Ｄ２に基づいて、具体的な動きを説明する。
参考までに、図５の体裁定義情報Ｄ２の内容を説明する。体裁定義情報Ｄ２は、構造化文書Ｄ１のタグをキーとして体裁定義がなされている。図５で使用している表示属性要素の意味について、図６に説明する。ここでは、表示属性要素の一例として、文字属性に関するものを列挙している。font-size6-1は、当該文字を表示あるいは印刷する際の大きさを設定する要素であり、ポイント数で指定する。font-bold6-2は、当該文字を表示あるいは印刷する際の字体を設定する要素であり、ボールド体を使用するか否かをBOOL値で指定する。font-facename6-3は、当該文字を表示あるいは印刷する際のフォントを設定する要素であり、明朝体やゴシック体などのフォント名称が指定される。本例では、文字に関する表示属性を例にあげたが、印刷における用紙の大きさや余白の大きさなど書式に関する定義など、表示あるいは印刷に必要となる属性情報などもある。
【００２３】
図３の文書に対して、表示の指示がなされたとする。構造解析部Ｓ１では、文書の構造が解析され、文書構造記憶部Ｓ２に図４に示す木構造が生成される。
出力処理部Ｓ３は、文書構造記憶部Ｓ２に記憶された木構造を読み込む。最上位のノード4-1 が読み込まれる。これは、タグを有したノードであるため、そのタグの名称"memo"に基づいて体裁定義情報Ｄ２が検索され、タグの名称"memo"に対応する属性情報が取得される。ここでは、font-size6-1に１２ポイント、font-bold6-2にはFALSE 、font-facename6-3にゴシック体という定義情報を取得する。さらに、表示装置Ａ１に設定されている表示属性を取得する。取得した体裁定義情報Ｄ２の属性と表示装置Ａ１の表示属性を比較し、異なっていた場合は、表示バッファ領域Ｂ１を介して、表示装置Ａ１の表示属性の設定を行う。ここで、表示属性変更フラグに "ＯＮ" を設定しておく。
【００２４】
次に、タグ"memo"を有したノード4-1 の下位に直接位置づけられているノードに文字データを有するノードがあるかを判断する。タグ"memo"を有したノード4-1 の直接下位に位置づけられているノードは、タグ"para"を有したノード4-2 しか存在しないため、次のノード、すなわちタグ"para"を有したノード4-2 を読み込む。タグの名称"para"に基づいて体裁定義情報Ｄ２が検索され、タグの名称"para"に対応する属性情報が取得される。ここでは、font-facenameが明朝体である。表示装置Ａ１の表示属性を取得すると、先に読み込んだタグ"memo"を有したノード4-1 に対応する体裁定義情報が設定されているため、新たに取得した体裁定義情報とは異なっている。font-facnameをゴシック体から明朝体に変更するため、表示バッファ領域Ｂ１を介して表示装置Ａ１へ設定が行われる。ここで、表示属性変更フラグを "ＯＮ" にしておく。
【００２５】
次に、タグ"para"を有したノード4-2 の直接下位に位置づけられている文字データを含むノードが存在するかどうかを判断する。タグ"para"を有したノード4-2 には、文字データを有したノードが９個存在するが、タグを有したノードが途中に存在するため、文字データ "今" 、 "日" 、 "は" を有したノード4-3,4-4,4-5 のみから文字データを取得する。取得した文字データは、表示バッファ領域Ｂ１を介して、表示装置Ａ１に出力され、先に設定した表示属性に基づいて表示される。つまり、文字の大きさは１２ポイントであり、字体はボールド体でなく、フォントは明朝体である "今日は" が表示される。
【００２６】
次に、タグ"emph"を有したノード4-6 が読み込まれ、タグ名称"emph"に基づいて、体裁定義情報Ｄ２が検索され属性情報が取得される。ここでは、font-bold がTRUEを取得する。表示装置Ａ１に設定されている表示属性を取得すると、現在までに経由してきた、タグ"memo"を有したノード4-1 およびタグ"para"を有したノード4-2 により設定された表示属性が取得される。ここで、font-bold が異なるため、新たに取得した属性情報を表示バッファ領域Ｂ１を介して表示装置Ａ１に変更する。これにより、font-bold は、FALSE からTRUEに変更される。ここで、表示属性変更フラグを "ＯＮ" にしておく。
【００２７】
次に、タグ"emph"を有したノード4-6 の直接下位に位置づけられている文字データを含むノードが存在するかどうかを判断する。タグ"emph"を有したノード4-6 には、文字データを有したノードが２個存在する。文字データ "良" 、 "い" を有したノード4-7,4-8 から文字データを取得する。取得した文字データは、表示バッファ領域Ｂ１を介して、表示装置Ａ１に出力され、先に設定した表示属性に基づいて表示される。つまり、文字の大きさは１２ポイントであり、字体はボールド体、フォントは明朝体である "良い" が表示される。
【００２８】
次に、その構造情報に従って、再度上位に逆上ってタグ"para"を有したノード4-2 を読み込む。ここで、上位のノードに逆上っているため、下位のノードにおいて表示装置Ａ１の表示属性が変更されているかを、表示属性変更フラグの値で確認する。この場合、直前のタグ"emph"を有したノードにおいて表示属性の変更が行われているため、表示属性変更フラグは "ＯＮ" になっている。このため、先程と同様にタグ名称から体裁定義情報Ｄ２を取得し、表示バッファ領域Ｂ１を介して表示装置Ａ１に設定し直す。
【００２９】
その後、タグ"para"を有したノード4-2 に直接下位に位置づけられている文字データを有するノードが存在するかを確認する。本例では、残りの文字データ "天" 、 "気" 、 "で" 、 "あ" 、 "る" 、 "。" を有するノード4-9,4-10,4-11,4-12,4-13,4-14を検出し、その文字データを取得する。取得した文字データは、表示バッファ領域Ｂ１を介して、表示装置Ａ１に出力され、先に設定した表示属性に基づいて表示される。つまり、文字の大きさは１２ポイントであり、字体はボールド体でなく、フォントは明朝体である "天気である。" が表示される。
【００３０】
本実施例では、文字データを例に説明したが、イメージデータや、静止画像や動画像などのコンピュータなどに接続される表示装置にて取り扱い可能なデータであれば、同様に対応可能である。この際、関連する体裁定義情報もそれらを表示するのに必要な属性情報が定義されていることは言うまでもない。
また、本実施例はディスプレイなどの表示装置を中心に説明したが、印刷装置Ａ２においても同様に属性情報が設定され、紙などに印刷することも可能である。
【００３１】
【発明の効果】
本発明により、構造化された情報の表示処理が高速に行われるようになり、ますますその情報量が増大する構造化された情報の取り扱いを容易にする。
【図面の簡単な説明】
【図１】本発明のシステム構成図
【図２】出力処理部の処理の内容を示すフローチャート
【図３】構造化文書の一例を示す図
【図４】構造化文書を解析した構造情報の一例を示す図
【図５】本実施例における体裁定義情報の例を示す図
【図６】本実施例における体裁定義情報に使用されている文字属性要素の名称とその意味を説明する図
【図１】
0004185175.tif 000002
【図２】
0004185175.tif 000003
【図３】
0004185175.tif 000004
【図４】
0004185175.tif 000005
【図５】
0004185175.tif 000006
【図６】
0004185175.tif 000007