(57)【要約】【課題】本発明は、特定媒体のデザインに対するコンテンツの自動的なレイアウトおよび書式設定と、デザインの変更に対する自動的な書式設定を提供する。【解決手段】文書（３２）の情報の三様の区分には、コンテンツ、デザイン、媒体の面がある。このような区分は、プリント、イントラネット、インタネット、ＯＬＥ埋め込みなどの複数の形式の媒体への自動レンダリングをサポートしている。情報のデータ構造には３つのツリー構造がある。デザインツリー構造（５４）は、構成（３８）のデザインを表し、デザイン・構成要素を含んでいる。コンテンツツリー構造（５２）は、構成（３８）のコンテンツを表し、コンテンツ要素を含んでいる。媒体ツリー構造（５６）は、選択された媒体の構成（３８）を表し、媒体構成要素を含んでいる。【選択図】図５Ａ
2008052746.tif 000002
【特許請求の範囲】
【請求項１】
現デザインを有し、複数の構成要素による現デザインツリーで表され、かつ前記複数の構成要素と関連付けられた複数のコンテンツ要素を含む構成を変更する方法であり、前記複数のコンテンツ要素は、前記現デザインに関連して互いに一組の関係を有しており、以下のステップからなるコンピュータで実施される方法、前記構成の新しいデザインを選択するステップと、前記選択された新しいデザイン用に複数の新しいデザイン・構成要素を含む新しいデザインの詳細を受け取るステップと、前記複数の新しいデザイン・構成要素に基づいて前記構成の新しいデザインツリーを作成するステップと、前記複数のコンテンツ要素を、前記複数の新しいデザイン・構成要素と関連させるステップと、前記新しいデザインツリーを使用して、前記新しいデザインに関連して前記複数のコンテンツ要素間に前記一組の関係を維持するように、前記構成の前記複数のコンテンツ要素の各コンテンツ要素ごとに媒体レイアウト値を計算するステップ。
【請求項２】
前記現デザインにおける前記構成が、特定の媒体に再現され、前記新しいデザインの媒体レイアウト値を計算するステップが、前記特定の媒体に再現される前記構成を維持することを特徴とする請求の範囲第１項に記載の方法。
【請求項３】
前記複数のコンテンツ要素を前記複数の新しいデザイン・構成要素と関連させる前記ステップが、前記複数のコンテンツ要素のそれぞれを、前記複数の新しいデザイン・構成要素のうちの１つに結合するポインタを形成する副ステップを含むことを特徴とする請求の範囲第１項または第２項に記載の方法。
【請求項４】
媒体レイアウト値を計算する前記ステップが、前記新しいデザインツリーの前記複数の新しいデザイン・構成要素を１つ進め、媒体ツリーの複数の媒体構成要素を作成するステップを含むことを特徴とする請求の範囲第１項ないし第３項のいずれかに記載の方法。
【請求項５】
前記媒体ツリーの前記媒体構成要素がそれぞれ、各コンテンツ要素の媒体レイアウト値を計算する際に使用するための関連付けられた媒体分割を有することを特徴とする請求の範囲第４項に記載の方法。
【請求項６】
現デザインを有し特定の媒体に再現され、複数の構成要素による現デザインツリーで表され、かつ前記複数の構成要素と関連付けられた複数のコンテンツ要素を含む構成を変更する方法であり、前記複数のコンテンツ要素は、前記現デザインに関連して互いに一組の関係を有しており、以下のステップからなるコンピュータで実施される方法、複数の新しいデザイン・構成要素を含む新しいデザインを受け取るステップと、前記複数の新しいデザイン・構成要素に基づいて前記構成の新しいデザインツリーを作成するステップと、前記新しいデザインに関連して前記複数のコンテンツ要素間に前記一組の関係が維持されるように、前記複数のコンテンツ要素をそれぞれ、前記複数の新しいデザイン・構成要素のうちの１つに結合するステップと、前記複数のコンテンツ要素が前記新しいデザインでレイアウトされ、前記新しいデザインが前記特定の媒体に再現される前記構成を維持するように、前記新しいデザインツリーを使用して前記構成の前記複数のコンテンツ要素の各コンテンツ要素の媒体レイアウト値を計算するステップ。
【請求項７】
前記複数のコンテンツ要素をそれぞれ、前記複数の新しいデザイン・構成要素のうちの１つに結合する前記ステップが、前記複数のコンテンツ要素のそれぞれと、前記複数の新しいデザイン・構成要素のうちの１つとの間のポインタを形成する副ステップを含むことを特徴とする請求の範囲第６項に記載の方法。
【請求項８】
媒体レイアウト値を計算する前記ステップが、前記新しいデザインツリーの前記複数の新しいデザイン・構成要素を１つ進め、媒体ツリーの媒体構成要素を作成するステップを含むことを特徴とする請求の範囲第６項または第７項に記載の方法。
【請求項９】
前記媒体ツリーの前記媒体構成要素がそれぞれ、各コンテンツ要素の媒体レイアウト値を計算する際に使用するための関連付けられた媒体分割を有することを特徴とする請求の範囲第８項に記載の方法。
【請求項１０】
現デザインを有し、複数の構成要素による現デザインツリーで表され、前記複数の構成要素に関連付けられた複数のコンテンツ要素を含む構成の媒体を変更するコンピュータで実施する方法であって、前記構成の新しい媒体を特定するステップと、前記構成の媒体ツリーの基礎として働くよう、前記特定された新しい媒体に基づいて媒体ツリー基礎オブジェクトを構成するステップと、前記媒体ツリーの媒体ツリー・構成要素を作成して前記新しい媒体の領域を表すステップと、各コンテンツ要素の媒体レイアウト値がそれぞれ前記新しい媒体の前記領域の１つを表し、前記複数のコンテンツ要素が前記現デザインでレイアウトされるように、デザインツリーを使用して、前記構成の前記複数のコンテンツ要素の各コンテンツ要素の媒体レイアウト値を計算するステップとからなる方法。
【請求項１１】
前記複数のコンテンツ要素が、前記現デザインに関連した互いに一組の関係を有し、媒体レイアウト値を計算するステップが、前記一組の関係を維持することを特徴とする請求の範囲第１０項に記載の方法。
【請求項１２】
前記媒体ツリーの媒体ツリー・構成要素を作成する前記ステップが、前記現デザインツリーを１つずつ進み、前記デザインツリーにおける前記複数の構成要素のうちの関連する構成要素間に前記媒体ツリー・構成要素を作成することを特徴とする請求の範囲第１０項または第１１項に記載の方法。
【請求項１３】
媒体分割が、前記媒体ツリー・構成要素の選択された構成要素と関連付けられ、前記媒体分割が、前記新しい媒体の前記領域を分割するように配列されることを特徴とする請求の範囲第１２項に記載の方法。
【請求項１４】
各コンテンツ要素の媒体レイアウト値を計算する前記ステップが、各コンテンツ要素に仮媒体レイアウト値を割り当てる副ステップと、各コンテンツ要素の範囲を決定するステップと、各コンテンツ要素の最終媒体レイアウト値を割り当てるステップと、を含む方法。
【請求項１５】
現デザインを有し、複数の構成要素による現デザインツリーで表され、前記複数の構成要素と関連付けられた複数のコンテンツ要素を含む構成の媒体を変更するコンピュータで実施する方法であって、前記構成の新しい媒体を識別するステップと、前記新しい媒体を表す前記構成のための、複数の媒体ツリー・構成要素を含む新しい媒体ツリーを作成するステップと、前記複数のコンテンツ要素がそれぞれ、前記新しい媒体の領域と関連付けられるように、前記複数のコンテンツ要素をそれぞれ、前記複数の媒体ツリー・構成要素のうちの１つに関連付けるステップと、各コンテンツ要素の前記媒体レイアウト値がそれぞれ前記新しい媒体の前記領域のうちの１つを定義し、前記複数のコンテンツ要素が前記現デザインでレイアウトされるように、前記構成の前記複数のコンテンツ要素の各コンテンツ要素の媒体レイアウト値を計算するステップと、を含む方法。
【請求項１６】
前記複数のコンテンツ要素が、前記現ザインに関連した互いに一組の関係を有し、媒体レイアウト値を計算する前記ステップが、前記一組の関係を維持することを特徴とする請求の範囲第１５項に記載の方法。
【請求項１７】
新しい媒体ツリーを作成する前記ステップが、前記現デザインツリーを１つずつ進み、前記デザインツリーにおける前記複数の構成要素の関連した構成要素間に前記媒体ツリー・構成要素を作成するステップを含むことを特徴とする請求の範囲第１５項または第１６項に記載の方法。
【請求項１８】
媒体分割が、前記媒体ツリー・構成要素のうちの選択された１つと関連付けられ、前記媒体分割が、前記新しい媒体の前記領域を分割するように配置されることを特徴とする請求の範囲第１７項に記載の方法。
【請求項１９】
各コンテンツ要素の媒体レイアウト値を計算する前記ステップが、各コンテンツ要素に仮媒体レイアウト値を割り当てる副ステップと、各コンテンツ要素の範囲を決定する副ステップと、各コンテンツ要素に最終媒体レイアウト値を割り当てる副ステップと、を含むことを特徴とする請求の範囲第１７項または第１８項に記載の方法。
【請求項２０】
構成の関連付けられたコンテンツ・タイプを有するコンテンツ要素を、前記コンテンツ要素に含まれる情報を表すコンテンツ再現空間を有する媒体レイアウトに適合させるコンピュータで実施する方法であって、ａ）各コンテンツ・タイプごとに、前記コンテンツ・タイプによって利用される前記コンテンツ再現空間の一部分を示すコンテンツ倍率を初期化するステップと、ｂ）各コンテンツ・タイプごとに、前記コンテンツ要素が占める前記コンテンツ再現空間の一部分を示す前記コンテンツ倍率を使用して範囲値を計算するステップと、ｃ）前記コンテンツ要素が、前記媒体レイアウトの前記コンテンツ再現空間内に適合するかどうかを決定するステップとを含み、前記コンテンツ要素が、前記媒体レイアウトに適合しないと判定されたときに、各コンテンツ・タイプごとに、関連付けられた不適合倍率を決定するステップと、少なくとも部分的に前記不適合倍率に基づいて、各コンテンツ・タイプの前記コンテンツ倍率を計算なおすステップと、計算しなおしたコンテンツ倍率を使用して、各コンテンツ要素の前記コンテンツ倍率を計算しなおすステップとを含み、前記コンテンツ要素が、前記媒体レイアウトの前記コンテンツ再現空間内に適合ると判定されるまでステップ（ｃ）を繰り返すことを特徴とする方法。
【請求項２１】
前記範囲値が、それぞれ関連付けられたコンテンツ要素に予約された前記媒体レイアウトの前記コンテンツ再現空間内の領域を示すことを特徴とする請求の範囲第２０項に記載の方法。
【請求項２２】
各コンテンツ要素の範囲値を計算する前記ステップが、各コンテンツ要素に仮範囲値を割り当てる副ステップと、各コンテンツ要素を測定して、実際の範囲を決定する副ステップと、各コンテンツ要素に最終範囲値を割り当てる副ステップと、を含むことを特徴とする請求の範囲第２０項または第２１項に記載の方法。
【請求項２３】
各コンテンツ要素の範囲値を計算する前記ステップが、前記媒体レイアウトを表す媒体ツリーを作成するステップを含み、前記媒体ツリーが、媒体構成要素と、各媒体構成要素に関連付けられた媒体分割とを有することを特徴とする請求の範囲第２２項に記載の方法。
【請求項２４】
前記コンテンツ要素が、前記媒体レイアウトの前記コンテンツ再現空間に適合するかどうかを決定する前記ステップが、前記コンテンツ要素の結合範囲値を前記コンテンツ再現空間と比較するステップを含むことを特徴とする請求の範囲第２０項ないし第２３項のいずれかに記載の方法。
【請求項２５】
各コンテンツ・タイプごとの前記コンテンツ倍率を計算しなおす前記ステップが、前記コンテンツ倍率と、前記関連付けられた不適合倍率と、前記コンテンツ要素が前記媒体レイアウトの前記コンテンツ再現空間に適合するかどうかを決定するステップの結果とに部分的に基づくことを特徴とする請求の範囲第２０項ないし第２４項のいずれかに記載の方法。
【請求項２６】
関連付けられたコンテンツ要素を有するデザイン・構成要素を含むデザインツリーを使用して、再帰的に構成のレイアウトを計算するコンピュータで実施する方法であって、前記デザインツリーの現行構成要素がプリミティブかどうかを決定し、前記現行構成要素がプリミティブであると判定されたときに、前記現行構成要素の範囲を返すステップと、前記現行構成要素のデザイン子構成要素を識別するステップと、前記現行構成要素と前記識別されたデザイン子構成要素との間に、各媒体構成要素の前記レイアウトの一部分を示す関連付けられた媒体分割を有する新しい媒体構成要素を作成するステップと、前記方法を再帰的に呼び出すことによって、前記現行構成要素の媒体分割について解き、前記現行構成要素の範囲を返すステップと、を含む方法。
【請求項２７】
新しい媒体構成要素を作成する前記ステップが、前記レイアウトを示す前記構成の媒体ツリーを作成するようにはたらくことを特徴とする請求の範囲第２６項に記載の方法。
【請求項２８】
前記構成を表す前記媒体ツリーが、前記媒体構成要素と、前記デザイン・構成要素のうちの選択された１つとを含み、また、前記デザイン・構成要素のうちの前記選択された１つもそれぞれ、媒体分割と関連付けれることを特徴とする請求の範囲第２７項に記載の方法。
【請求項２９】
前記現行構成要素の媒体分割について解く前記ステップが、前記現行構成要素の子媒体構成要素に、仮媒体領域を割り当てるステップと、前記子媒体構成要素のそれぞれに関連付けられたコンテンツ要素の範囲値を決定するステップと、前記コンテンツ要素に最終範囲値を割り当てるステップと、最終範囲値を結合して、前記現行構成要素の前記範囲を決定するステップと、を含むことを特徴とする請求の範囲第２６項ないし第２９項のいずれかに記載の方法。
【請求項３０】
選択された媒体の媒体領域とそれぞれ関連付けられた複数の構成要素を有する媒体ツリーで少なくとも部分的に表された構成のレイアウトを計算するコンピュータで実施する方法であって、前記構成に、前記関連付けられた構成要素に前記媒体の媒体領域を割り当てる配置を示すレイアウト・オプションを割り当てるステップと、前記構成の前記媒体ツリーを下に１つずつ進み、前記複数の構成要素のそれぞれに、前記レイアウト・オプションに一部分基づいた仮媒体領域を割り当てるステップと、前記複数の構成要素のそれぞれの範囲を測定し、前記複数の構成要素のそれぞれに必要な前記媒体の媒体領域を示す一組の値を返すステップと、前記構成の前記媒体ツリーを上に１つずつ進み、前記複数の構成要素のそれぞれに、各構成要素の前記返された組の値に部分的にそれぞれ基づく新しい媒体領域を割り当てて、前記複数の構成要素の前記新しい媒体領域が前記選択された媒体に前記構成の前記レイアウトを実質上表わすようにするステップとを含むことを特徴とする方法。
【請求項３１】
前記媒体ツリーを下に１つずつ進み、前記媒体ツリーを上に１つずつ進むステップが、再帰的に実行されることを特徴とする請求の範囲第３０項に記載の方法。
【請求項３２】
前記構成が、前記構成要素のうちの選択された１つを含むデザインツリーで少なくとも部分的に表され、前記媒体ツリーを下に１つずつ進むステップが、前記デザインツリーを下に１つずつ進み、前記媒体ツリーの構成要素を作成することにより実行されることを特徴とする請求の範囲第３０項または第３１項に記載の方法。
【請求項３３】
前記構成が、前記複数の構成要素のうちの１つと関連した複数のコンテンツ要素を含み、前記複数の構成要素のそれぞれの範囲を測定するステップが、前記構成要素のうちの１つと関連付けられたコンテンツ要素の範囲を測定するステップを含むことを特徴とする請求の範囲第３０項ないし第３２項のいずれかに記載の方法。
【請求項３４】
コンピュータにより読取り可能な媒体に記憶されており、関連付けられたコンテンツおよび関連付けられたデザインを有する構成を表すように配置され、少なくとも１つの特定の媒体に再現するのに適した情報データ構造であって、１つのルート、複数のデザイン・構成要素、複数の媒体構成要素および複数の頁を含む複数の構成要素と、前記構成の前記コンテンツを表し、第１の選択された複数の前記頁に前記ルートをつなぐように配置されたコンテンツツリー構造と、前記構成の前記デザインを表し、前記第２の選択された複数の前記頁に前記ルートをつなぐように配置され、前記複数のデザイン・構成要素を含むデザインツリー構造と、選択された媒体における構成の体裁を提示し、前記構成の体裁と関連付けられた第３の選択された複数の前記頁に前記ルートをつなぐように配置され、前記複数の媒体構成要素を含む媒体ツリー構造を含み、それにより、前記コンテンツツリー構造、前記デザインツリー構造および前記媒体ツリー構造が、前記構成を表すように配置されることを特徴とする情報データ構造。
【請求項３５】
前記構成の前記コンテンツが、前記コンテンツツリー構造に含まれる複数のコンテンツ要素を含むことを特徴とする請求の範囲第３４項に記載の情報データ構造。
【請求項３６】
コンテンツ要素のうちの少なくとも一部が、頁・構成要素であることを特徴とする請求の範囲第３５項に記載の情報データ構造。
【請求項３７】
第１の複数のデザイン・構成要素がそれぞれ、コンテンツ要素のうちの関連付けられた１つへのポインタを含むことを特徴とする請求の範囲第３５項または第３６項に記載の情報データ構造。
【請求項３８】
媒体構成要素がそれぞれ、選択された媒体の領域を定義することを特徴とする請求の範囲第３４項ないし第３７項のいずれかに記載の情報データ構造。
【請求項３９】
選択された複数の前記媒体構成要素がそれぞれ、そのような媒体構成要素によって定義された領域を占める関連付けられたコンテンツ要素を有することを特徴とする請求の範囲第３８項に記載の情報データ構造。
【請求項４０】
第１の複数の媒体構成要素が、頁・構成要素の形をとり、第２の複数の媒体構成要素が、子媒体構成要素を有する中間媒体構成要素であり、前記中間媒体構成要素がそれぞれ、子媒体構成要素と関連付けられた媒体子領域を定義するように配置された媒体分割データ構造を含むことを特徴とする請求の範囲第３９項に記載の情報データ構造。
【請求項４１】
第１組の媒体構成要素が、デザイン・構成要素であり、第２組の媒体構成要素が、前記媒体ツリー構造に固有であることを特徴とする請求の範囲第３４項ないし第４０項のいずれかに記載の情報データ構造。
【請求項４２】
第１の複数の媒体構成要素が、頁・構成要素の形をとり、第２の複数の媒体構成要素が、子媒体構成要素を有する中間媒体構成要素であり、前記中間媒体構成要素がそれぞれ、子媒体構成要素と関連付けられた媒体子領域を定義するように配置された媒体分割データ構造体をさらに含むことを特徴とする請求の範囲第４１項に記載の情報データ構造。
【請求項４３】
コンピュータにより読取り可能な媒体に記憶されており、関連付けられたコンテンツおよび関連付けられたデザインを有する構成を表すように配置され、少なくとも１つの特定の媒体に再現するのに適した情報データ構造であって、前記構成の前記デザインを表し、複数のデザイン・構成要素を含むデザインツリー構造と、前記構成の前記コンテンツを表し、複数のコンテンツ要素を含み、前記デザインツリー構造に結合されたコンテンツツリー構造と、前記構成の選択された媒体を表し、複数の媒体構成要素を含み、前記デザインツリー構造に結合された媒体ツリー構造とを含み、それにより、前記デザインツリー構造、前記コンテンツツリー構造および前記媒体ツリー構造が、固有であるが、少なくともいくつかの構成要素を互いに利用することを特徴とする情報データ構造。
【請求項４４】
第１の複数の前記デザイン・構成要素がそれぞれ、前記コンテンツ要素のうちの関連付けられた１つへのポインタを含むことを特徴とする請求の範囲第４３項に記載の情報データ構造。
【請求項４５】
前記コンテンツ要素がそれぞれ、前記構成の前記特定の媒体において関連付けられたコンテンツ領域を占有し、前記コンテンツ領域がそれぞれ、前記媒体ツリー構造における前記媒体構成要素のうちの１つを参照することにより定義されることを特徴とする請求の範囲第４３項または第４４項に記載の情報データ構造。
【請求項４６】
第１の複数の媒体構成要素が、頁・構成要素の形をとり、第２の複数の媒体構成要素が、子媒体構成要素を有する中間媒体構成要素であり、前記中間媒体構成要素がそれぞれ、前記コンテンツ領域を定義するように配置された媒体分割データ構造を含むことを特徴とする請求の範囲第４５項に記載の情報データ構造。
【請求項４７】
第１組の前記媒体構成要素がまた、デザイン・構成要素であり、第２組の前記媒体構成要素が、前記媒体ツリー構造に固有であることを特徴とする請求の範囲第４３項ないし第４６項のいずれかに記載の情報データ構造。
【請求項４８】
第１の複数の前記媒体構成要素が、頁・構成要素の形をとり、第２の複数の前記媒体構成要素が、子媒体構成要素を有する中間媒体構成要素であり、前記中間媒体構成要素がそれぞれさらに、前記コンテンツ領域を定義するように配置された媒体分割データ構造を含むことを特徴とする請求の範囲第４７項に記載の情報データ構造。
【請求項４９】
コンピュータにより読取り可能な媒体に記憶されており、関連付けられたコンテンツおよび関連付けられたデザインを有する構成を表し、特定の媒体に再現することができるように配置されたた情報データ構造であって、前記構成の前記デザインを表し、複数のデザイン・構成要素を含むデザインツリー構造と、前記構成の前記コンテンツを表し、前記デザイン・構成要素のうちの関連付けられた１つとそれぞれ結合された複数のコンテンツ要素と、前記デザインツリー構造における前記複数のデザイン・構成要素のうちの関連付けられたデザイン・構成要素間でそれぞれ結合された複数の中間媒体構成要素とを含み、それにより、前記デザイン・構成要素と前記媒体構成要素のうちの選択されたものが、前記特定の媒体における複数のコンテンツ領域を定義するように配置されたことを特徴とする情報データ構造。
【請求項５０】
前記デザイン・構成要素と前記中間媒体構成要素が、前記構成の前記特定の媒体を表す媒体ツリー構造で配置されることを特徴とする請求の範囲第４９項に記載の情報データ構造。
【請求項５１】
前記デザイン・構成要素と前記中間媒体構成要素のうちの選択されたものがそれぞれ、関連付けられた媒体分割データ構造を使用することによって前記複数のコンテンツ領域のうちの１つを定義することを特徴とする請求の範囲第５０項に記載の情報データ構造。
【請求項５２】
前記コンテンツ要素がそれぞれ、前記特定の媒体における前記コンテンツ領域のうちの１つを占有することを特徴とする請求の範囲第４９項ないし第５１項のいずれかに記載の情報データ構造。
【請求項５３】
前記コンテンツ領域が、関連付けられた媒体分割データ構造を使用することによって定義されることを特徴とする請求の範囲第５２項に記載の情報データ構造。
【請求項５４】
コンピュータにより読取り可能な媒体に記憶されており、複数の構成要素を含み複数のコンテンツ要素を有する構成内のコンテンツ要素を表すように配置される構成要素・データ構造であって、前記コンテンツ要素と関連付けられ、前記関連付けられたコンテンツ要素に関連した複数のコンテンツ・プロパティを含むコンテンツ・ファセットと、関連付けられた親デザイン・構成要素を示すデザイン親ポインタを含と、前記関連付けられたコンテンツ要素に関連した複数のデザイン・プロパティとを含むデザイン・ファセットと、関連付けられた親媒体構成要素を示す媒体親ポインタと、前記構成内に前記関連付けられたコンテンツ要素が占有する領域を示す複数の領域プロパティとを含む媒体ファセットと、を含む構成要素・データ構造。
【請求項５５】
前記構成要素・データ構造が、閉じた階層を使用して前記複数の構成要素に結合されることを特徴とする請求の範囲第５４項に記載の構成要素・データ構造。
【請求項５６】
前記デザイン・ファセットが、前記構成要素を、前記構成のデザインを表すデザインツリー階層に結合するように配置されたことを特徴とする請求の範囲第７６項または第５５項に記載の構成要素・データ構造。
【請求項５７】
前記媒体ファセットの前記複数の領域プロパティが、媒体分割データ構造に含まれることを特徴とする請求の範囲第５４項ないし第５６項のいずれかに記載の構成要素・データ構造。
【請求項５８】
コンピュータにより読取り可能な媒体に記憶されており、特定の媒体に再現するのに適した特定のデザインを有し複数の構成要素と複数のコンテンツ要素を含む構成内でデザイン要素を表すように配置されたデザイン・構成要素・データ構造であって、前記構成の前記デザイン要素に関連し、関連付けられた親デザイン・コンポーネントを示すデザイン親結合を含む一群のデザイン・プロパティと、前記複数のコンテンツ要素のうちの関連つけられた１つへのコンテンツ結合と、関連する親媒体構成要素を示す媒体親結合と、前記構成の前記特定の媒体内で前記コンテンツ要素が占有する領域を示す複数の領域プロパティとを含む一群の媒体プロパティと、を含むデザイン・構成要素・データ構造。
【請求項５９】
前記デザイン・構成要素・データ構造が、閉じた階層を使用して前記複数の構成要素に結合されることを特徴とする請求の範囲第５８項に記載のデザイン・構成要素・データ構造。
【請求項６０】
前記一群のデザイン・プロパティが、前記構成の前記特定のデザインを表すデザインツリー階層に前記構成要素を結合するように配置されたことを特徴とする請求の範囲第５８項または第５９項に記載のデザイン・構成要素・データ構造。
【請求項６１】
前記一群の媒体プロパティの前記複数の領域プロパティが、媒体分割データ構造に含まれることを特徴とする請求の範囲第５８項ないし第６０項のいずれかに記載のデザイン・構成要素・データ構造。
【請求項６２】
コンピュータにより読取り可能な媒体に記憶され、構成を再現できる選択された媒体を表す媒体ツリー構造において、前記選択された媒体の親領域と関連付けられ、前記選択された媒体の子領域と関連付けられた子構成要素を有する親構成要素と関連付けられた媒体分割データ構造であって、前記媒体分割を前記親構成要素と関連付けるように配置された結合と、前記媒体分割のタイプを示すタイプ標識と、前記選択された媒体内の前記親領域に対する前記子領域の関係を示す一組の子値と、を含む媒体分割データ構造。
【請求項６３】
前記選択された媒体内の前記親領域の位置を示す一組の親値をさらに含むことを特徴とする請求の範囲第６２項に記載の媒体分割データ構造。
【請求項６４】
前記親領域と前記子領域が方形であり、前記一組の子値が、親領域の縁からの距離を指定することによって前記親領域に対する前記子領域の関係を示すことを特徴とする請求の範囲第６２項または第６３項に記載の媒体分割データ構造。
【請求項６５】
コンピュータにより読取り可能な媒体に記憶され、構成を再現することができる選択された媒体を表す媒体ツリー構造において、前記選択された媒体の親領域と関連付けられ、前記選択された媒体の子領域とそれぞれ関連付けられた複数の子構成要素を有する親構成要素と関連付けられた媒体分割データ構造であって、前記媒体分割を前記親構成要素と関連付けるように配置された結合と、前記親構成要素の子構成要素の数を示すタイプ標識と、前記親構成要素の前記親領域が前記複数の子構成要素に水平または垂直に割り振られているかどうかを示す方位フラグと、前記複数の子構成要素のそれぞれの子領域が、前記親構成要素の前記親領域と関係においてどのように適合するかを示す適合値と、を含む媒体分割データ構造。
【請求項６６】
前記適合値が、前記子領域が前記親領域に正確に適合していることを示すことを特徴とする請求の範囲第６５項に記載の媒体分割データ構造。
【請求項６７】
前記適合値が、各子領域に割り振られた前記親領域の所定の領域を示す一組の絶対値を提供することを特徴とする請求の範囲第６６項に記載の媒体分割データ構造。
【請求項６８】
前記選択された媒体内の前記親領域の場所を示す一組の親値をさらに含むことを特徴とする請求の範囲第６５項ないし第６７項のいずれかに記載の媒体分割データ構造。
【請求項６９】
前記親構成要素が、２つの子構成要素を有し、前記子領域が、前記親領域に対して方形の関係で割り振られることを特徴とする請求の範囲第６５項ないし第６８項のいずれかに記載の媒体分割データ構造。
【請求項７０】
前記子領域が、前記親領域に対して上下の関係で割り振られたことを特徴とする請求の範囲第６５項ないし第６９項のいずれかに記載の媒体分割データ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、一般に、コンピュータシステムによるデータの処理に関するものである。さらに具体的に言えば、特定媒体のデザインに対するコンテンツの自動的なレイアウトおよび書式設定と、デザインの変更に対する自動的な書式設定に関する。
【背景技術】
【０００２】
発明の背景
１９８０年代末にＰＣ利用のレイアウトおよびパブリッシング・ソフトウェアが導入されて以来、このような市場の爆発的な成長により、効果的なビジネス文書に不可欠な要素としてグラフィックデザインが強まってきた。このような情報激増の結果、何百もの広告（多くは、クリップアート、カスタム・イラスト、走査画像の内容を向上させたもの）が、多種多様な媒体（印刷媒体、電子媒体、マルチメディアなど）を通じて、注目を得ようと競い合うこととなった。ビジネスは、このような市場の騒音よりも、文書を視覚的に差別化することがきわめて必要である。ページは、書式設定、イラスト、レイアウト、視覚的アピールに最低限注意を払ってコンテンツを目立たせたところで、もはや、ますます洗練されてきたビジネス信奉者の注意を引かなくなる。読み手の度数を競い合うビジネスユーザは、現在、グラフィックで人目を引く文書を作成し出版することを重視している。
【０００３】
ソフトウェア・ツール、レディーメードのコンテンツ（例えば、オンラインのフォト・ライブラリや、クリップアートのＣＤ−ＲＯＭディスク）、デスクトップ周辺装置（例えば、カラープリンタやスキャナ）の急増により、人目を引くコンテンツや出力が、パソコンを持っているどんな人にも手ごろになった。さらに、インターネットは、コンテンツの大きさにも配布機会にも強い影響を及ぼしている。しかしながら、インターネットを含む異種の媒体に対してプロ品質の素材を作成するには、デザインの専門知識、様々なオーサリング・ツール、高度のコンピュータ・スキル（たいていのビジネスマンにとってはまれな組合せ）が必要となる。とくに在宅ビジネスや小ビジネスのユーザは、雑多な業務役割にかかわる時間がすでに重い負担となったため、デザインおよびコンピュータの専門知識を高めるのに必要な時間やツールを得ることは、困難である。
【０００４】
素材の作成に役立てるために、いくつかのワープロ・プログラム、デスクトップ・パブリッシング・ツール、インタネット・オーサリング・ツールなどが開発されてきた。これらのワープロ・プログラムのうちの多くから、ユーザは、文書の中に表、カラム（段）、初歩的なグラフィックを含めることができる。ただし、これらのものは、一般に、高度な文書書式設定を楽にできるようには設計されていない。デスクトップ・パブリッシング・ツールのおかげで、ユーザは、印刷ページ、コンピュータ画面などの媒体に文書を出力するだけでなく、さらに高度な文書を作成し、かつ書式設定することもできる。とはいえ、文書を別の媒体に出力する必要がある場合には、現行ソフトウェア・パブリッシング・ツールはさらに、ユーザに、手作業によるレイアウトおよび書式設定の変更、あるいはコンテンツの変更を求めている。同様に、ユーザが、デザインの変更を希望するか、あるいはレイアウトおよび書式設定の変更を希望する場合には、ユーザは、新規のデザインまたはレイアウトに合うように、しばしば文書のコンテンツを手作業で変更しなければならない。このような手作業によるコンテンツまたはレイアウトの変更は、時間がかかり、ユーザをうんざりさせる。
【０００５】
様々なワープロ、デスクトップ・パブリッシング、インターネット・オーサリングのアプリケーションは、文書作成を簡素化することを求めている。これらのアプリケーション製品はそれぞれ、部分的にはうまくいくが、ただし著しい制限がある。例えば、現行のソフトウェア・パブリッシング・パッケージを用いれば、ユーザは一度、文書をオーサリングすることができるが、ただし、ユーザによる何らかの手作業の介入がなければ、所望の書式に合わせて自動的に編集することはできない。例えば、アドビシステム社のソフトウェア「ページメーカー」は、手作業による貼り付けの自動化問題を解決する１手法である。ユーザがすでに熟練グラフィック・デザイナであれば、「ページメーカー」を使用すれば、精巧な文書を作成できる。しかしながら、「ページメーカー」は、それだけでは自動的にテキストやピクチャを高度なデザインに変えることはできない。同様に、アドビ社のソフトウェア「アクロバット」は、画面上に紙の文書を模倣する問題に取り組んでいる。とはいえ、「アクロバット」はまだ、出力媒体の変更に基づく自動的なデザイン変更または書式変更を考慮に入れていない。マイクロソフト社から入手できるソフトウェア「インターネットスタジオ」は、ある文書を得て、フォームをコンテンツから切り離すことができる。しかしながら、このソフトウェアは、ウェブページを作成することだけしかできない。ユーザが同一情報を得て、それをデータシート、マニュアル、またはパンフレットなどの別の媒体に変えたいと思う場合には、ユーザは、手作業により書式変更を全部、自力で行わなければならない。
【０００６】
従来技術のソフトウェア・ツールは、所望の媒体に対して、コンテンツおよび／またはデザインを自動的に調整できないことに加え、一般に文書のフォームとコンテンツとの二様の区分しか行えない。これらの従来技術のツールでは、コンテンツ構造は、一般に出力媒体と関係があり、このコンテンツ構造には、その構造を出力媒体に提示すべき方法に関するタグも付けられる。これは、同一コンテンツを、様々な出力媒体に表現しなければならない時に問題を起こす。さらに、別の出力媒体に文書を表現できるソフトウェア・ツールも他にあるかもしれないが、これらのツールは、もとのデザイン、および、もとのデザインのコンテンツ要素間の関係を維持することができない。
【０００７】
さらに、ＳＧＭＬを基本とするツールやスタイルシート・ツール（多くのワープロ・ツールやデスクトップ・パブリッシング・ツールに添付されている）により、コンテンツ構造の意図をタグとして記録できる。ただし、特定のデザインを保存して再使用したり、自動的に媒体に表現することはできない。さらに、データベース・パッケージ、他のフォーム・パッケージ、レポート・パッケージ、「長い文書」システム（例えば、Ｉｎｔｅｒｌｅａｆ）には、様々な欠点がある。これらのものは、全体的な統一、柔軟なデザイン変更、または媒体変更などのデザイン問題に対しては、コンピュータによる一括処理による解決策を提供しない。また、これらのものは、豊富なデザイン構造をサポートしてないし、また対話形式の実験法もサポートしていない。さらに、これらのものは、様々な媒体の中で再目的化／多目的化することを考慮に入れていない。
【０００８】
それゆえ、ユーザは、一度、文書をオーサリングし、文書のコンテンツ要素間の関係を維持しながら、コンテンツ、デザイン、または出力媒体を変更するように自動的に文書を合わせてゆくシステムを持てることが望ましいであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
発明の要約
本発明は、文書の情報を三様に区分できるようにしている。特定の実施例では、文書は、コンテンツ、デザイン、媒体の面に分けられる。このような表現を通じて、本発明の実施例は、複数形式の媒体への自動レンダリングをさらに適切にサポートすることができる。例えば、本発明の実施例は、印刷媒体、イントラネット、インターネットなどの媒体で、またＯＬＥ埋め込みで直ちに編集できるインテリジェント・ダイナミック文書テンプレートに対して、複数のソースからコンテンツの自動的な統合、構成、レイアウトをサポートしている。
【課題を解決するための手段】
【００１０】
第１の実施例では、コンピュータ構築法は、選択されたデザインを有する構成にコンテンツを追加して、その構成について、レイアウトを自動的に計算する。この構成は、デザインツリーの構成要素（以下、コンポーネントと呼ぶ）で表され、これらのコンポーネントに対応づけられたコンテンツ要素を含んでいる。最初に、コンテンツ・オブジェクトが構成の受取り側のコンポーネント上にドロップされる。ドロップされるコンテンツ・オブジェクトは、少なくとも１つのタイプ（ポテンシャル・タイプ）を潜在的に有する。このコンテンツ・オブジェクトのポテンシャル・タイプを、受取り側のコンポーネントのコンパチブルなタイプと照合させる。次に、デザインツリーを変更してこのコンテンツ・オブジェクトを取り入れて、この構成の各コンテンツ要素について、媒体レイアウト値を計算する。この計算にデザインツリーを使用して、前記選択されたデザインでコンテンツ要素をレイアウトするようにしている。ドロップされるコンテンツは、現行コンテンツを変更するか、完全に現行コンテンツに取って代わるか、あるいは現行コンテンツに差しはさまれる。さらに、ドロップされるコンテンツは、現行コンテンツのプロパティを変更するか、あるいは新規コンポーネントをデザインツリーに生成する。コンテンツを、誤った場所にドロップした場合には、本発明のツリー構造を使用すれば、該当するコンテンツがどこにあるのか判定できる。
【００１１】
第１の実施例に関連する実施例では、コンテンツ・ドロップ・テーブルのデータ構造を使用して、コンテンツを構成上にドロップするのに役立てる。このドロップ・テーブルは、構成の受取り側のコンポーネント・タイプと対応づけられる。ドロップ・テーブルは、コンテンツ・ドロップ・テーブルが、どのコンポーネント・タイプと対応づけられているのか示すコンポーネント・タイプ標識を含んでいる。このテーブルは、２カラムのタイプを照合することができる。ドロップされるポテンシャル・コンテンツ・タイプの第１のリストは、構成の受取り側のコンポーネント・タイプ上にドロップできるコンテンツ・タイプを表している。
【００１２】
第２のリストには、この受取り側のコンポーネント・タイプとコンパチブルなサブコンポーネント・タイプが記載されている。このようにして、第１のリストに記載のドロップされるポテンシャル・コンテンツ・タイプのそれぞれについては、ドロップされるポテンシャル・コンテンツ・タイプに合うサブコンポーネント・タイプを示すサブコンポーネント・タイプの第２のリストから、少なくとも１つのサブコンポーネント・タイプの対応グルーブがある。ドロップされるポテンシャル・コンテンツ・タイプを有するコンテンツ・オブジェクトを、この構成の１コンポーネントにドロップする時には、照合サブコンポーネント・タイプは、コンテンツ・ドロップ・テーブルを参照すれば決定できる。
第２の実施例では、ある方法が、特定の媒体に表現される現行デザインを有する構成のデザインを変える。この構成は、現行デザインツリーのコンポーネントで表され、これらのコンポーネントと対応づけられたコンテンツ要素を含んでいる。コンテンツ要素は、現行デザインに関連して、互いに一組の関係を有している。最初に、いくつかの新規デザイン・コンポーネントを含む新規デザインを受け取る。新規デザイン・コンポーネントに基づく構成に対して、新規デザインツリーを生成する。次に、コンテンツ要素はそれぞれリンクされて、新規デザイン・コンポーネントの１つと対応づけが行われ、新規デザインに関連してコンテンツ要素間の関係の組を維持するようにしている。構成の各コンテンツ要素に対して、媒体レイアウト値が計算される。この計算にデザインツリーを使用して、コンテンツ要素を新規デザインでレイアウトし、かつその新規デザインが、特定の媒体に表現される構成を保持するようにしている。
【００１３】
第２の実施例に関連する実施例では、ある方法が、現行デザインを有する構成の媒体を変える。この構成は、現行デザインツリーのコンポーネントで表され、これらのコンポーネントと対応づけられたコンテンツ要素を含んでいる。最初に、この構成に対して新規媒体が識別される。新規媒体を表し、かつ媒体ツリーのコンポーネントを含む構成に対して、新規媒体ツリーを生成する。次に、コンテンツ要素をそれぞれ、媒体ツリーのコンポーネントの１つと対応づけて、コンテンツ要素をそれぞれ、その新規媒体の領域と対応づけるようにしている。構成の各コンテンツ要素に対して媒体レイアウト値を計算して、各コンテンツ要素の媒体レイアウト値がそれぞれ、新規媒体の領域の１つを画成するようにし、またこれらのコンテンツ要素が現行デザインでレイアウトされるようにしている。
【００１４】
第３の実施例では、ある方法が、構成のコンテンツ要素を媒体レイアウトに合わせている。各コンテンツ要素は、対応コンテンツ・タイプを有し、また媒体レイアウトは、コンテンツ要素に入っている情報を提示するためのコンテンツ・レンダリング・スペースを有している。それぞれのコンテンツ・タイプでは、そのコンテンツ・タイプで利用されるコンテンツ・レンダリング・スペースの一部を示すコンテンツ基準倍率を初期設定する。さらに、それぞれのコンテンツ要素では、コンテンツ基準倍率を用いて、範囲値を計算する。これらの範囲値は、コンテンツ要素で占められるコンテンツ・レンダリング・スペースの一部を示している。コンテンツ要素が、媒体レイアウトのコンテンツ・レンダリング・スペースに収まるかどうか判定される。関連する方法が、デザインツリーを用いて再帰的なやり方で構成のレイアウトを計算する。デザインツリーは、対応コンテンツ要素をそれぞれ有するデザイン・コンポーネントを含む。別の関連方法は、選択された媒体について、構成のレイアウトを計算する。構成は、コンポーネントを有する媒体ツリーの中に、少なくとも部分的に表現され、各コンポーネントを、選択された媒体の媒体領域と対応づけている。
【００１５】
第４の実施例では、情報のデータ構造は、対応コンテンツと対応デザインを有する構成を表すようになっている。この構成は、少なくとも１つの特定の媒体に表現するのに適切である。このデータ構造には、３つのツリー構造がある。デザインツリー構造は、構成のデザインを表し、デザイン・コンポーネントを含んでいる。コンテンツツリー構造は、構成のコンテンツを表し、コンテンツ要素を含んでいる。コンテンツツリー構造は、デザインツリー構造にリンクされている。媒体ツリー構造は、構成の選択媒体を表し、媒体コンポーネントを含んでいる。媒体ツリー構造は、デザインツリー構造にリンクされている。デザインツリー構造、コンテンツツリー構造、媒体ツリー構造は１つしかないが、少なくともいくつかの共通コンポーネントを互いに利用している。関連する実施例では、コンポーネントのデータ構造は、構成の中のコンテンツ要素を表している。この構成は、いくつかのコンテンツ要素とコンポーネントを有する。このコンポーネントは、コンテンツ要素と対応づけられたコンテンツ・ファセット、デザイン・ファセット、媒体ファセットを含む。コンテンツ・ファセットは、対応コンテンツ要素に関連するコンテンツ・プロパティを含む。デザイン・ファセットは、対応親デザイン・コンポーネントを示すデザイン親ポインタと、対応コンテンツ要素に関連するいくつかのデザイン・プロパティを含む。媒体ファセットは、対応親媒体コンポーネントを示す媒体親ポインタと、構成の中の対応コンテンツ要素で占められる領域を示すいくつかの領域プロパティを含む。
【００１６】
さらに別の実施例では、媒体区分のデータ構造が提供される。媒体区分のデータ構造は、構成の媒体ツリー構造の親コンポーネントと対応づけられている。媒体ツリー構造は、構成を表現できる選択媒体を表している。親コンポーネントは、選択媒体の親領域と対応づけられており、子コンポーネントを有し、また各子コンポーネントは、選択媒体の子領域と対応づけられている。媒体区分のデータ構造は、リンク、タイプ標識、フラグ、適合値を含む。リンクは、媒体区分を親コンポーネントと対応づけるようになっている。タイプ標識は、親コンポーネントの子コンポーネントの数を示している。方向フラグは、親コンポーネントの親区域が子コンポーネントに水平に割り当てられるか、あるいは垂直に割り当てられるかどうか示している。適合値は、親コンポーネントの親領域との関係で子コンポーネントの各子領域が、どんな具合に合わされるか示している。
【発明を実施するための最良の形態】
【００１７】
本発明と、さらに他の利点は、以下の説明を参照して添付図面といっしょに読めば、よく理解できる。
【００１８】
発明の詳細な説明
本発明は、デザイン記述、コンテンツ要素、出力媒体仕様を含むプログラム・オブジェクトの自動的および動的な構成や組直しが楽にできるいくつかの特徴に関するものである。従来のワープロ・ソフト、デスクトップ・パブリッシング・ソフト、あるいはウェブ・オーサリング・ソフトとは異なって、本発明は、少なくとも三様に文書作成を大幅に向上させる。本発明は、多種多様なタイプおよび組合せのコンテンツ（例えば、テキスト、ピクチャ、データ、グラフィックス、ＯＬＥオブジェクト、ビデオ、サウンドなど）を自動的に統合することができる。さらに、本発明は、文書のレイアウト、スタイル設定、および選択デザインへの指定コンテンツ要素の合わせを自動的に行う。さらに、本発明は、コンテンツを、新規の文書タイプまたはデザインに自動的に書式変更すれば、例えば、ＯＬＥ埋め込みオブジェクトとして印刷ページ、コンピュータ画面表示を含め、あるいはＨＬＭＬページとしてインターネットを通じて、多種多様な配布機構をサポートすることができる。本発明の様々な実施例は、コンテンツ、デザイン、媒体の機能を組み合わせて使用して、文書作成を向上させる。
【００１９】
いくつかの実施例では、コンテンツ処理能力が大きいために、多種多様な資源（例えば、別のディスク、ネットワーク上、インターネット）からのコンテンツの組立てが、ドラッグ・アンド・ドロップ操作を実行するのと同じくらい簡単になる。このようなコンテンツ処理能力により、（１）異種のファイル形式からのデータを取り入れるというありふれた問題点、（２）マルチフォーマットのコンテンツを手作業で作成する時に、一般に必要となる厄介で、かつ時間のかかるコンテンツ準備作業（例えば、プログラムに固有の書式設定のコマンドおよび記号を除去する）、といった２つの主要なユーザ問題に取り組めば、ユーザには著しい利益がもたらされる。
【００２０】
組み込まれたグラフィック・デザイン専門的知識を用いて、自動的なレイアウトおよび書式設定も行うことができる。本発明の実施例は、コンテンツを、選択デザイン（ニューズレター − 最新、ヨーロッパ、有線、伝統など）に自動的に合わせ、それを選択メディア・ビュー（印刷ページ、画面、ＨＴＭＬなど）に表示し、テキストとグラフィックスの位置を決め、タイプ仕様を変更し、階層を飛び越し、ページを追加し、グラフィックスのサイズを決め、あるいは、その他の必要なレイアウト調整を行う。ユーザが文書中のテキストまたはグラフィックスのスキーマ、あるいは総合デザインまでも変更する場合には、その適合値を自動的に計算し直して、書式設定および／またはスタイル設定に必要な調節を行う。このようなインテリジェント・デザイン機能により、高度なデザイン専門的知識をデザイン専門家以外の人に、「破れない文書」の形で渡すことができる。このような機能のおかげで、ユーザは、一定水準のデザインまたはツールの専門的知識から制約を受けることはなく、適切で、かつ「良いと思われる」ものに基づいて、デザインの決定を行うことができる。
【００２１】
「適合値」という概念はまた、文書を特定の媒体に表現する方法のあらゆる面をさす。例えば、コンテンツ要素の様々なプロパティは、その要素のデザイン、または全体の文書のデザインを表現するのに役立つ。これらのプロパティは、ある要素のレイアウト／書式に影響を及ぼすが、ただし、文書全体の総合レイアウトには必ずしも影響を及ぼすとは限らない。言い替えれば、これらのプロパティが、ある文書の総合「適合値」には影響を及ぼさなくとも、それでもデザインの面には影響がある。テキストでは例として、フォント・サイズ、書体、イタリック、ボールド、アンダーライン、ドロップ・キャプ文字、前景色と背景色、文字間隔／行間隔がある。イメージでは例として、クロップ長方形、パン位置、ズーム倍率、ビット・マスク、パレットがある。一般コンテンツでは例として、境界線、向き、サブコンポーネントの直列／並列配置がある。
【００２２】
本発明の実施例は、マルチメディア出力用の自動書式変更もサポートしている。代りの媒体での編集の目的で文書を全面的に書式変更または作成変更する（すなわち、印刷したニューズレターを、グラフィックの豊富なインターネット文書に変換する）複雑な作業を排除することにより、「一度書き込めば、どこででも編集可能」のワークフローが、サポートされている。このようなメディア・インテリジェントな自動書式変更により、ＰａｇｅＭａｋｅｒ、Ｅｘｐｒｅｓｓ（Ｑｕａｒｋ社製品）、Ｐｕｂｌｉｓｈｅｒ（マイクロソフト社製品）、ウェブとマルチメディアのオーサリング・ツール、または他のＤＴＰアプリケーションなどのコンテンツ組立て用の複数のオーサリング・ツールを持つ必要がなくなる。この自動書式変更のおかげで、多種多様なメディア環境への出力を自動的に作り直すことにより、前述の複数のツールを用いる必要がなくなる。本発明の実施例により、基本的なコンピュータ・スキルのあるビジネスユーザであればだれでも、印刷媒体、画面、インターネットなどの様々な媒体にすぐ使えるプロなみの文書をすばやく、かつ容易に作成することができる。
【００２３】
本発明の実施例は、様々なアプリケーション・プログラムの中に使用できる。
ここで図１に移って、本発明の用途の実施例が１０に示されている。本発明を具現するアプリケーション・プログラム１２は、デザイン・エンジン・モジュール１４とファセット・エンジン・モジュール１６を有する。さらに、アプリケーション・プログラム１２は、ここでは、構成２０を提示しているユーザ・インタフェース１８も含む。ユーザがこの構成を変更したいと思う場合には、ユーザは、ユーザ・インタフェースなどを通じて、新規コンテンツ要素、新規デザイン記述、または新規媒体仕様を追加して、それらをアプリケーション・プログラム１２で処理させる。処理が完了すると、そのアプリケーション・プログラムは、新規のコンテンツ、デザイン、媒体を出力し、それらを、ユーザ・インタフェース１８’を通じて、表示させる。
【００２４】
この例では、ユーザは、この時、ユーザ・インタフェース１８’上のコンテンツ要素２０’の右側に表示されている新規コンテンツ要素２２を追加した。さらに、ユーザは、コンテンツ要素に対して、新規デザイン記述も指定した。ここでユーザ・インタフェース１８’に示されているコンテンツ要素２０’は、テキストが、ユーザ・インタフェース１８のもとのコンテンツ要素２０のように右側に表示されているのではなく、イメージの下に表示されているデザインを有している。さらに、ユーザは、コンテンツを変えずに、構成のデザインか、出力される媒体のいずれかを変更することもできる。一般に、ユーザは、構成のコンテンツ面、デザイン面、媒体面のうちの１つ、または全部を変更し、その構成をアプリケーション・プログラム１２で自動的に調整させることができる。
【００２５】
構成に追加されるコンテンツ要素は、どんなタイプのものでもよく、多種多様なフォームを取ることができる。例示として、代表的なタイプのコンテンツには、テキスト、イメージ、データ、グラフィックス、ＯＬＥオブジェクト、ビデオ、サウンドなどがある。さらに、これらのコンテンツ要素は、ユーザ・インタフェース内のどこにでも、任意の適切なやり方でドロップしたり、あるいは位置付けることができる。ユーザで指定されたデザイン記述も、どんな種類のものでもよい。例示として、ユーザが指定するデザインは、アプリケーション・プログラム１２の使用を通じてユーザが作成したカスタム・デザインであるか、あるいは、アプリケーション・プログラム１２のデザイン・カタログに記憶されているデザイン・テンプレートから得られるものである。多種多様なデザインが可能である。例示として、ユーザは、横書きパンフレット形式、縦書きパンフレット形式、単一ページまたは複数ページ形式、または他のデザイン、例えばレポート、ニューズレター、メモ、ホームページ、白紙、予定表、プログラム、アジェンダ、カレンダ、ビラ、表、カタログ、ギャラリー、ウェブサイト、地図、組織図、スライド・プレゼンテーションなどを指定できる。
【００２６】
さらに、ユーザは、構成を表現する所望の媒体はどんなものでも指定できる。
例示として、媒体は、一般に、コンピュータの一連の画面ページ、紙ページ、ＨＴＬＭ言語または他の任意の適切な言語で書かれたインターネット上のウェブサイト、イントラネット上のサイト、またはＯＬＥ埋め込みオブジェクトである。
他のタイプの媒体も可能である。例えば、この構成は、ライブＨＴＬＭ（おそらく、ＪＡＶＡアプレット、またはＳｈｏｃｋｗａｖｅオブジェクトなどを組み込んでいる）、複数ページＯＬＥ形式、マルチメディア形式、三次元ＨＴＬＭ形式（ＶＲＭＬ）、オーディオ形式、ＴＡＰＩ形式、汎用インボックス形式、あるいは、さらなる自動化処理を受ける任意の抽象媒体（例えば、ユーザが直接には使用できないＥｘｃｅｌモデルに出力されるデータ）に表現できる。
【００２７】
ユーザ・インタフェース１８’は、コンピュータ画面形式用に、ユーザ指定のコンテンツ、デザイン、媒体を表現するアプリケーション・プログラム１２の一例を示している。この構成は、標準ウィンドウ・ドライバと当業界で既知のＡＰＩの利用といった適切なやり方で、画面形式に表現できる。この構成は、書式とスタイルを含め、コンテンツ要素を印刷する領域を、紙ページ上に指定することにより、紙媒体に表現できる。構成は、さらに、書式とスタイルを含め、コンテンツ要素を位置付ける領域を、ウェブページ内に指定することにより、またこの情報をＨＴＬＭ言語に変換することにより、ＨＴＬＭ形式に表現できる。この構成のデザインには、ＨＴＬＭが表現できるもの、従ってＨＴＬＭに変換できるようにするものに関する知識が入っている。言い替えれば、ＨＴＬＭ形式で利用できる表現可能な形態が、構成の多数のコンポーネントのデザイン・ファセットに含まれている。この情報は、当該系統の個々のプロトタイプ・コンポーネントから引き継がれる。構成は、標準の一組の編集インタフェース（例えば、マイクロソフト社から入手されるもの）を用いて、ＯＬＥ埋め込みオブジェクトに表現される。
【００２８】
デザイン・エンジン・モジュール１４を含むアプリケーション・プログラム１２は、デザイン・エンジンの機能を利用できる適切なアプリケーション・プログラムと言える。もう１つの方法としては、アプリケーション・プログラム１２は、デザイン・エンジン１４の実施例を含むか、あるいはデザイン・エンジン１４を含む（または呼び出す）サーバ・アプリケーションを呼び出すか、いずれかとなる。例示として、アプリケーション・プログラム１２は、ＨＴＭＬページの自動的なサーバ側生成、または他のプレゼンテーションを行うことができる。これは、ユーザの介入なしに動的に行うことができる。また使用されるコンテンツは、データベース、あるいは他のデータ源から得られる。さらに、本発明のデザイン・エンジンは、多種多様なユーザ・インタフェース（例えば、ユーザ・インタフェース１８）とともに使用できる。
【００２９】
デザイン・エンジン１４は、構成の枠組と、文書およびそのコンポーネントを表すための枠組ルールを定めている。さらに、デザイン・エンジン１４には、とりわけこの目的で就役させるプロの文書およびコンポーネントのデザインの知識ベースも入っている。一実施例では、このデザイン・エンジンは、コンテンツ要素、デザイン記述、媒体仕様という３つの次元の深くネストされた組合せとして文書をモデル化している。このデザイン・エンジンは、これらの次元を別々に管理しており、そのことから、文書を作成するユーザには、対話処理が、さらに効率的で豊富となり、さらに柔軟となり、また、さらに自動化される。このデザイン・エンジンは、ユーザが、これらの次元のどれかを変更する時はいつも、その構成を自動的に調整する。この機能があれば、デザイン・エンジンは、印刷素材やスクリーン・プレゼンテーションから、ワールド・ワイド・ウェブなどの他の媒体まで様々である構成をサポートするために、同一インタフェースを使用できる。
【００３０】
このデザイン・エンジンは、デザイン記述と媒体仕様を入力コンテンツ要素とみなし、このコンテンツを、デザイン記述に従って媒体に表現する。このデザイン・エンジンは、固有に、様々な媒体のどれか１つに情報を提示する能力があるように、構成されている。好ましくは、このデザイン・エンジンは、参照によって全体がここに組み入れられている、発明者マークＢ．マクドナルド氏とマイケルＢ．オア氏により１９９５年１０月２０日に提出された「ソフトウェア・オブジェクトを実装するための方法およびシステム」と題する米国特許出願第０８／５４６，３１６号に記述される通りにファセット・エンジンで提供される技術に基づいて構築される。ファセット・エンジンは、デザイン・エンジンの構築の基礎となるオブジェクト指向プラットフォームを提供する。読み手が本発明の個々の実施例を理解するのに役立つように、ここで、ファセット技術の簡潔な説明が与えられる。とはいえ、他の実施例では、デザイン・エンジンの機能は、ファセット・エンジンで提供されるものとは別の技術を用いて実現できることはいうまでもない。
【００３１】
図１Ａ，図１Ｂ，図１Ｂ，図１Ｃ，図１Ｄは、「中国旅行」パンフレットといっしょに表示されるユーザ・インタフェース１８の例を示している。図１Ａは、２枚の写真／目的地と添付テキストを載せている１ページの「中国旅行」パンフレットといっしょに、利用できるコンテンツのリストが左側に付いているユーザ・インタフェース２５を示している。図１Ｂは、１ページのパンフレットの下端に第３の写真／目的地と添付テキスト（ここでは、空白）が追加されている類似ユーザ・インタフェース２６を示している。このレイアウトは、１ページに、３枚全部の写真とテキストを収めるように、調整されている。図１Ｃは、小さなロゴ（図１Ａのパンフレットの上端からのもの）が、ここでは「中国旅行」パンフレットのそれぞれの写真のすぐそばに表示されている当該パンフレットの別のデザインを詳細に見せた類似ユーザ・インタフェース２７を示している。この図では、それぞれの写真は、ウェブページ形式で提示される可能性があるように、ここでは、それ自体のページに表示されている。図１Ｄは、利用できるコンテンツが左側に、さらに当該パンフレット用のデザインと、それぞれのデザイン・コンポーネントに対応するコンテンツの階層のリストが右側に付いているユーザ・インタフェース２８の変形例を示している。
【００３２】
ファセット技術
上に引用された出願「ソフトウェア・オブジェクトを実装するための方法およびシステム」に記述される通り、ファセットを使用すると、オブジェクト指向システムの多重継承にかかわる重大問題（例えば、不確実なクラスと導出矛盾）が排除される。このような問題から、オブジェクト指向プログラミングは、ソフトウェア生産性とコード再使用の約束された変革を果たせなくなる。しかしながら、ファセットを使用することにより、プログラマは、ネーティブのクラス・ライブラリの継承には左右されないが、それでもネーティブのクラス・オブジェクトのプロパティと挙動のすべてを利用できるようなオブジェクトを容易に生成することができる。言い替えれば、ファセットにより、オブジェクト指向システムの継承にかかわる重大な問題が排除される。
【００３３】
カプセル化と継承の方法の向上から、プログラマが、オブジェクトの基礎となっているクラス・ライブラリの完全理解を必要とせずにオブジェクトのプロパティと挙動を理解できることにより、ファセットの使用を通じて、プログラマの能率が向上して、複雑なモデルの実現が容易となった。さらに、ファセットを使用すると、プログラマが、継承階層の複雑なアービトレーション・ルールに頼らずにオブジェクトを定められる技法に従って継承を指定することで、継承の異常事態が避けられる。再使用可能なコードと、単一および多重の継承を含め、オブジェクト指向コーディングの十分な恩恵を受ければ、プログラマは、複雑なアプリケーションでも設計し、コンパイルし、理解することができる。
【００３４】
具体的に言えば、ファセットの使用により、あるオブジェクトの様々なプロパティを、様々な親オブジェクトから断定的に継承することができる。あるオブジェクトの中の一組のプロパティは、まとめて、そのオブジェクトの１特定面と見なすことができる。このような面は、当該オブジェクトのファセット型プロパティのサブグルーブ（あるいは、もっと簡単に、当該オブジェクトの「ファセット」）と呼ばれ、ファセットは、様々なオブジェクトから継承できる。ファセット内のプロパティの継承は、「Ｉｓ−ａ」か、「Ｈａｓ−ａ」のいずれかの関係に基づいている。「Ｉｓ−ａ」の関係に基づいて継承されるプロパティ値は、当該オブジェクトの場所とは無関係であり、各ファセットの親は、宣言により決定される。「Ｈａｓ−ａ」の関係に基づいて継承されるプロパティ値は、子オブジェクトが置かれている親オブジェクト（１つ、または複数）から得られる。
【００３５】
あるオブジェクトが、２つ以上のコンテナ親に入れられ、そのオブジェクトのファセットのそれぞれの中にあるプロパティが、その親コンテナの別の１つから継承される。各ファセットを継承する親は、指定できる。もう１つの方法としては、子オブジェクトが、複数の親に包含されている時に、各子オブジェクト・ファセットは、その子オブジェクト・ファセットと同一名の親オブジェクト・ファセットに当該子オブジェクトが包含されている親から継承される。あるファセットの中の個々のプロパティは、継承されるものとして、あるいは継承されないものとして宣言できる。継承されないプロパティの値は、親オブジェクトの中のブロパティ値とは無関係となる。従って、子オブジェクトが継承するプロパティは、子オブジェクト自体により、すなわち、コンテナ・オブジェクトの中の子オブジェクトの場所により、またプロパティが継承される親の子の中での宣言により、管理される。
【００３６】
ファセットと個々のプロパティのレベルで継承を指定することにより、プログラマは、所望のやり方で働くオブジェクトを定めることができる。従って、あるオブジェクトのプロパティと挙動は、複雑な多重継承階層に効果があるアービトレーション・ルールには左右されない。プログラマは、あるオブジェクトのプロパティと挙動を、そのオブジェクトの基礎となっている全クラス・ライブラリを理解する必要もなく、その宣言を調べることで理解することができる。従って、デザイン・エンジンの一実施例では、ファセット技術の使用が好ましいが、ただし、要求されてはいない。
【００３７】
文書コンポーネント枠組
次に図２を参照して、本発明の一実施例によるアプリケーション・プログラム１２、文書３２、構成３８、その情報プレゼンテーション３６の関係を、さらに詳しく説明する。文書３２は、コンピュータ・システム内の持続記憶装置にユーザが保存している情報を表している。この文書には、コンテンツ要素、デザイン記述、媒体仕様を任意に組み合わせたものが含まれる。アプリケーション・プログラム１２が実行しようとすると、文書３２は、オーブン文書３２’として当該アプリケーション・プログラムにロードされ、またユーザにはユーザ・インタフェース１８を通じて、見ることができる。文書３２’が、特定の媒体向けに組まれると、この文書は、特定のレイアウト３９を有する構成３８として表示される。ずなわち、構成３８は、特定のレイアウト／書式（またはスタイル）の文書３２’を表す。
【００３８】
ユーザが、アプリケーション・プログラム１２に、構成を表現する（「編集」
コマンドなどを通じて）ように指示すると、構成３８は、情報プレゼンテーション３６の形式で特定の媒体に表現される。この情報プレゼンテーションは、最初は、コンピュータ画面上で見るのにふさわしい形式で表示される。例えば、この情報プレゼンテーションを、紙媒体向けに表現している場合には、ユーザ・インタフェースは、この紙媒体を印刷プレビュー形式で示すことができる。同様に、この情報プレゼンテーションを、ウェブサイト向けに表現している場合には、ユーザ・インタフェースは、ユーザが見られるように、コンピュータ画面上に、このウェブページを示すことができる。情報プレゼンテーション３６は、紙、ＨＬＭＬ、または他の任意の媒体に向けて、アプリケーション・プログラムが作成した実際のページを表している。
【００３９】
以下に、本発明を理解するのにふさわしい用語の定義を述べる。文書コンポーネント枠組は、最後に、情報プレゼンテーションの構成をサポートすることにより、値を生成する。情報プレゼンテーションは、一般に、人間または自動処理装置が利用できるようにするやり方で、情報を具体化することである。プレゼンテーションは、物理的（例えば、一連の印刷ページ）、一時的（例えば、画面上のイメージ）、分散形（例えば、ハイパーメディア・ウェブ）、抽象的（例えば、ソースコード・ファイル）であるか、あるいは何か他の形式を取る。さらに、プレゼンテーションは、静的（例えば、印刷ページ）であるか、または動的（例えば、チッカー）である。本発明の１実施例では、プレゼンテーションは、順番に並んだ一連の印刷ページ、ユーザ・インタフェースの中から見ることのできる順番に並んだ一連の画面イメージ、ＯＬＥオブジェクト埋め込み、または、ルートがただ１つの一連のリンクＨＬＭＬページである。
【００４０】
構成は、一般に、使用可能な形式でコンテンツ、デザイン、媒体を組み合わせる。一般に、コンテンツは、情報を伝えるテキスト、イメージ、記号、データ構造などのような形式を取る情報実体である。媒体は、一般に、紙、順番に並んだコンピュータ画面、リンクされたハイパーテキスト・ページなどのような形式を取るプレゼンテーション・スペースである。デザインは、一般に、許容されるコンテンツと媒体の組合せの定義や、特定のコンテンツのプレゼンテーションを特定の媒体に表現するための方法などの形式を取る情報プレゼンテーション仕様である。従って、構成は、指定情報の指定プレゼンテーションを指定形式で作成できるコンパチブルなコンテンツ、媒体、デザインのオブジェクトの組合せと見なすことができる。本発明の一実施例では、デザイン、媒体、コンテンツは、構成の主要なファセットである。構成は、一般に、オーブン文書の媒体固有のプレゼンテーションを表現する要請から生まれたものである。本発明は、十分明確なレイアウトと図面情報を計算するのに必要なものとして文書構造を詳しく述べることができる。
【００４１】
構成は、様々なやり方で見ることができる。ある面では、構成の持続して保管可能な形式が、文書と呼ばれている。文書は、多くの形式で保管できる。例示として、文書は、構成の基礎の働きをするように設計されたコンピュータ・ファイル（または、他の長持ちするオブジェクト）である。構成と文書の概念は、密接な関係にある。とはいえ、構成（プレゼンテーションの表現の基礎となる特定の形態）は、目標媒体と明確なレイアウトを完全に指定できるが、一方、文書は、様々な時に様々なユーザ選択をサポートするために、これらのプロパティを未定のままにしておきがちである。文書オブジェクトは、サポートされた多種多様な媒体へのプレゼンテーションをサポートすることができる。これは、一般に、身元が確認できる編集というユーザの考えに一致している。また一方では、構成の完全に解明された性質により、構成は、コンポーネント枠組の構造を理解する上で、さらに都合の良い基準点となっている。言い替えれば、文書は、一般に、複数の媒体をサポートできる持続オブジェクトであるが、一方、構成は、一般に、単一の媒体のプレゼンテーションを表している。
【００４２】
コンテンツ、媒体、デザインのファセット
前のセクションで提案されている通り、本発明の一実施例では、文書コンポーネント枠組のモデル化戦略は、構成を、独立したコンテンツ、媒体、デザインのファセットに分解する必要がある。この手法は、次のように多くの利点がある。
強力な機能、例えば、デザイン変更のある１段階実験法、様々な媒体に対してコンテンツの容易な再目的化、伝統的なテンプレートよりもはるかに適応できるデザイン表現を保存する能力、を把握し約束することが簡単である。これらのファセットはそれぞれ、それ自体の階層構造を持つこともあるが、これらの階層は必ずしも一致するとは限らない。
【００４３】
従って、情報は、多くの場合に、コンテンツ、媒体、デザインと見なされるために、コンテンツ・ファセット、媒体ファセット、デザイン・ファセットで構成を表すことの様々な利点がある。以下では、これらの利点がさらに考察され、あわせて、コンテンツ、媒体、デザインのファセットについて、さらに詳しく説明される。
【００４４】
構成のコンテンツ・ファセットは、少なくとも原理的には、純粋な情報として他のファクタから切り離してもよいテキスト、イメージ、記号などの形式で入っている情報実体と見なすことができる。本体デキストの一節では、言葉が、一般にコンテンツの働きをするが、書体は、一般にコンテンツの働きをしない。とくにテキスト（および、テキストに「添付された」他の要素）の場合には、コンテンツは、媒体（プレゼンテーション・スペース）またはデザインの構造に影響し合う（ただし、その構造では決定されない）固有の構造を持っている。例えば、雑誌の記事では、タイトル、見出し、本体の節、イラスト、および他の要素は、思いがけなくページやカラムの区切りなどの他の構造とぶつかることもある階層構造を成している。従って、このような純粋なコンテンツを、例えば、紙媒体のページ区切りの人為的な締つけから切り離すことは道理にかなっている。
【００４５】
さらに、いかなる文書でも、コンテンツ、および他のプレゼンテーション機能は、個々のテキストの文字やイメージの画素から、文書全体、あるいは１シリーズまたは１ファミリの文書に至るまで、大きさの階層を横断して、総合調整されなければならない。大きさのあらゆるレベルでは、特定の文書または文書タイプから何らかの独立がある認識可能な機能が存在する。一例は、特定の関係でタイトル、イメージ、キャプションが入っているイラストの配列である場合がある。このような構造は、同一の関係を保ってカタログ、レポート、ニューズレター、および他の文書にわたって再使用されることになるが、各要素の特定の書式設定は、文脈により変わる可能性もあろう。この例では、機能および関係の階層全体が、媒体ごとに保存されるが、そのプレゼンテーションは、様々な設定で、様々に解釈される。これは、文書要素の再使用にかかわる状況の特徴を示している。
従って、コンテンツと媒体とを分ければ、コンテンツは、関係を保ちながら様々な媒体に再使用することができる。
【００４６】
構成の媒体ファセットは、プレゼンテーション・スペース（または領域）を、構成の様々な機能（またはコンテンツ要素）に割り当てることにより、階層的に構造化されている。これにより、レイアウトおよび局所性の問題を、デザインおよびレンダリングの問題から分けることができ、上記の通り、プレゼンテーション・スペースの階層構造が、コンテンツの構造から区別可能であるという事実が認識される。このような解釈において、構成の従属部分は、従属部分自体の媒体オブジェクトと対応づけられ、またそれらの媒体オブジェクトは、おそらく集団の複数レベルにおいて組み合わされて、構成レベルの媒体ファセットを成す。もっとも簡単な事例では、これは、構成の様々な部分に割り当てられる領域に各ページ（プレゼンテーション・スペース）を区分するようなレイアウトとして、ファセット指向の技術用語に置き換えられる。
【００４７】
任意の選択プレゼンテーション・スペースでは、どんなコンテンツ群も、限定されてない様々なやり方で表現できるが、ただし、特定の構成は、特定のやり方で表現されている。コンテンツに対して可能なあらゆるものの中で、特定のレンダリングを定める構成に関するすべてのものが、その構成のデザイン・ファセットを構成するものと見なされる。従って、その枠組は、デザインを、レンダリング選択が「どたん場になって」表面的なやり方で行われたという意味で「スタイル」と解しているだけでなく、文書、および文書がサポートする構成の全論理構成の制御ファクタとも解している。
【００４８】
コンテンツや媒体のように、構成のデザインは、認識できる部分が、テキストやグラフィック・コンテンツ要素のプリミティブなプレゼンテーション・スタイルから、上に、中間構造の組織モードとプレゼンテーション・モードを経て、構成全体の総合構造と外観まで及ぶ階層構造を示すことができる。この階層の最下位以外のすべてのレベルでは、デザインは、さらにプリミティブな性質のコンポーネントを集めて、コンテンツおよび媒体との対応づけを行うことによって、表される。次に、コンポーネントの使用をさらに詳しく考察する。
【００４９】
コンポーネント・アーキテクチュア
本発明を実施するために、様々なオブジェクト指向プログラミング技法が使用できる。例示として、クラス・インスタンス・モデル、オブジェクト・プログラミング・モデル、オブジェクト・プロトタイプ・モデルなどの技法が用いられる。好適な実施例では、コンポーネント枠組に特化する考えは、クラス・インスタンスの関係ではなくて、オブジェクト・プロトタイプの関係に基づいている。さらに、オブジェクトが、その基礎となっているプロトタイプ・オブジェクトからプロパティ・バイディングを継承する導出ベースの継承に加えて、コンポーネント枠組は、Ａｐｐｌｅ ＣｏｍｐｕｔｅｒのＨｙｐｅｒｃａｒｄやＡｓｙｍｅｔｒｉｘのＴｏｏｌＢｏｏｋなどのシステムに開発されている格納ベースの継承に頼っている。格納ベースの継承では、オブジェクトは、コンテナまたはオーナ・オブジェクトからプロパティ・バイディングを継承する。
【００５０】
この枠組をサポートする基本抽象化が、そのコンポーネントである。問題ドメインの点から見て、コンポーネントは、文書または構成の中で、別々に生成および破壊し、挿入および除去し、および／または状態を変更することのできるコヒーレントな主体である。すなわち、全体の文書または構成は、そのようなコンポーネントと見なされる。またソフトウェア・アーキテクチュアの点から見て、コンポーネントは、構成のコンテンツ、媒体、デザインの階層の中のノードのような主体を表すソフトウェア・オブジェクトであある。
【００５１】
もっとも典型的なコンポーネントは、段落、リスト、イラスト、または記事などの直接の文書部分である。しかしながら、あらゆる枠組オブジェクトに共通のプロトタイプとして役立つように、コンポーネントの概念を一般化して、カプセル化コンテンツ・オブジェクト（トリビアルな媒体とデザインのファセット）、カプセル化媒体（トリビアルなコンテンツとデザイン）、パレット上の文書およびコンポーネントの「空白」（プレース・ホルダ・コンテンツ）、全体の文書および構成（デザイン階層にはコンテナはない）を定めている。このようにして、このコンポーネント・プロトタイプは、全体の文書および構成、中間レベルのオブジェクト、プリミティブなコンテンツ要素、媒体を、単一の相互連結構造に導く共通の表現を提供する。
【００５２】
コンポーネントは、同時に、いくつかの独立した階層（それゆえ、いくつかの異なるコンテナ・オブジェクト）にある場合がある。例えば、カタログ項目の記述テキスト本体は、同時に、テキストのファイル（コンテンツ）内にも、１ページ以上のページ（媒体）の１つ以上の領域内にも、またカタログ項目（デザイン）内にもある。プロトタイプ・オブジェクトからの導出とともに、ファセット固有の３つの格納文脈は、コンポーネントのプロパティ・バインディング、従って、ソフトウェア・オブジェクトとしてのコンポーネントの状態を決定するのに役立つ合計４つのオブジェクト関係を定めている。
【００５３】
コンポーネントのこのような見方は、構成のコンテンツ、媒体、デザインのファセットの属性が、コンポーネント・オブジェクトの状態の間で分散されることを意味する。この枠組のアーキテクチュアは、逆のプロパティも保存している。
すなわち、コンポーネントの属性は、構成全体のさらに大きく包容したファセットの中にあるコンポーネント・レベルのコンテンツ、媒体、デザインのファセットに区分される。コンポーネントの様々なファセットのさらに詳細なイラストは、図５Ａ，図５Ｂ，図６，図７を参照して、以下で考察される。こうして、コンポーネントの様々なファセットは、様々な構造（例えば、コンテンツツリー、媒体ツリー、デザインツリー）を示すだけでなく、独立した組のプロパティ（状態変数）を用いて表すこともできる。
【００５４】
デザイン・コンポーネントの多数の可能なタイプの一例が、図４Ａと図４Ｂに示されている。１３０の図４Ａと図４Ｂは、ユーザがデザインの中に使用されるか、あるいは当該システムのデザイン・カタログの標準デザインの中に使用されるデザイン・コンポーネントの共通タイプのうちの多くを含むコンポーネント・クラス導出ツリーを示している。例えば、基部コンポーネント「表の」の下には、葉コンポーネント「表」がある。ユーザが、表を、文書中の特定の個所に載せたいと思う場合には、ユーザは、このコンポーネント「表」をデザインの中に含めることができる。一般に、ユーザは、葉コンポーネントを使用して、特定のデザインをまとめる。もう１つの方法としては、システム・カタログからの標準デザインは、これらの葉コンポーネントを使用して、特定のデザインを構築する。
ユーザは、カスタム・デザインを作成しようとする時、新規デザインを作成するために、ユーザ・インタフェースを通じて、これらのコンポーネントから選択することができる。さらに、ユーザは、システム・デザイン・カタログから事前に取り決められたコンポーネントを含む標準デザインを選択することができる。
【００５５】
各コンポーネントには、特定の媒体にコンポーネントを表現する方法についての知識が入っている。例えば、ＨＴＭＬに表現するには、特定の形態に表現する時に、ＨＴＭＬ要素にマクロを使用できる。さらに詳しい考察は、図１２Ａ〜図１２Ｃを参照して、以下に記載する。
【００５６】
ここで一般的なコンポーネントの考察に話を戻して、プロトタイプ・コンポーネントの他のタイプを次に説明する。コンテンツ、媒体、デザインの区分した表現をサポートしている他の３種類のプロトタイプが、コンポーネント・プロトタイプから得られる。これらの他のプロトタイプは、コンテンツ・オブジェクト、媒体・オブジェクト、デザイン・オブジェクトであって、コンポーネントのあらゆるタイプである。
【００５７】
コンテンツ・オブジェクトは、コンテンツ・カプセル化を、束縛されてない媒体ファセットおよび指定されてないデザイン・ファセットと結び付ける。コンテンツは、外部オブジェクトへのリンクとして、あるいは埋め込みとして、カプセル化できる。組込みコンテンツ・カプセル化は、自立オブジェクト（例えば、テキストのファイル）と、ネストされたサブオブジェクト（例えば、テキストのファイルの節と段落）を両方とも表している。コンテンツ・オブジェクトは、コンポーネントであるために、ファセットに関して非対称なものであっても、コンテンツ・ファセット・コンテナ（親）としてアプリケーション・レベルのコンポーネントに指定されれば、格納継承に加わることもできる。
【００５８】
媒体オブジェクトは、媒体オブジェクト・カプセル化を束縛されていないコンテンツ・ファセットおよび指定されていないデザイン・ファセットと結び付ける。組み込み媒体カプセル化は、自立オブジェクト（例えば、印刷された文書）と、ネストされたサブオブジェクト（例えば、印刷された文書のコンポーネントと関連する個々のページ領域）を両方とも表わしている。媒体オブジェクトは、コンポーネントであるために、ファセットに関して非対称なものであっても、媒体ファセット・コンテナ（親）としてアプリケーション・レベルのコンポーネントに指定されれば、格納継承に加わることもできる。
【００５９】
デザイン・オブジェクトは、サポートされた媒体に、コンパチブルなコンテンツを提示するための特定のスタイルを実装する。デザインは、実体化を、主としてコンテナ文脈を必要としない自立文書と見なす場合には、文書シェルであるか、もしくは単にシェルであると考えられる。ほとんどの文書シェルは、入っている文書の中にも構築できるから、前述の事項は、ほとんど区別がない。デザインは、実体化を、主としてさらに大きい文書のサブコンポーネントと見なす場合には、コンポーネット書式であるか、もしくは単に書式であると考えられる。いくつかのコンポーネット書式は、自立文書としても構築できるから、しばしば、前述の事項は、ほとんど区別がない。
【００６０】
コンテンツ、媒体、デザインのファセット三つ組の一実施例では、デザインは、少なくともデザインを中心とする枠組アプリケーションの見地から、独立しているが、わずかに異なる状態を持っている。これは、デザイン・ファセット格納を、構成の論理コンポーネット構造と解釈できるものや、アプリケーション・コンポーネント・インスタンスをデザイン・プロトタイプから導き出す好適な技法に反映されている。従って、この実施例では、３つ全部のファセットについてトリビアルでないバインディングを有するコンポーネントは、一般にデザイン・ファセット（諭理構造）を通じて別のコンポーネントに包含されているだけでなくて、ある組込みデザイン・タイプを特化したものでもある。コンテンツと媒体のファセットでは、格納関係だけが利用できる。このために、文書コンポーネントから、「特定の」コンテンツおよび媒体のオブジェクトに達するのに必要な臨時の遠回りがある。臨時レベルの格納は、コンテンツと媒体を表現するための導出路を提供するために、使用されている。これは、コンポーネント・インスタンスが、それ「自体」のコンテンツと媒体のファセットに包含されると表明するものと見なすことができる。
【００６１】
このような格納を例示した例４２は、図６Ａに示されている。これは、いくつかのリスト項目を付けたリストしか載せてないメモの一例である。コンポーネント「特定のリスト項目」は、このリストからの１項目を示しており、コンテンツ、媒体、デザインの階層のそれぞれに包含されている。さらに、この「特定のリスト項目」コンポーネントは、総称コンポーネント・プロトタイプを特化したものである。「特定のリスト項目」のコンテンツ・ファセットは、この項目のテキスト「ａａａ」が本体テキストの中に包含され、さらに、この本体テキストがテキストのファイルに包含されていることを示している。「特定のリスト項目」の媒体ファセットは、特定の項目が特定の領域（サイズを有する）の中に包含され、さらに、この特定の領域がページ内に包含され、またこのページが印刷ページ・セット内に包含されていることを示している。「特定のリスト項目」のデザイン・ファセットは、どのように、特定の項目がリストの中に包含され、さらに、このリストがメモ内に包含されているのか示している。
【００６２】
コンテンツツリー、デザインツリー、媒体ツリーの例
上で考察された通り、情報は、コンテンツ、デザイン、媒体の面で見られるために、この情報を、図５Ａと図５Ｂに示される通り、構成内のコンテンツツリー、デザインツリー、媒体ツリーで表すことが役に立つ。図５Ａと図５Ｂは、構成と、コンテンツツリー、デザインツリー、媒体ツリーと、コンポーネントの関係を線図で示している。以下の図６は、コンテンツ、デザイン、媒体のファセットを有するコンポーネントを用いてテキストを表現する特定の例を与えている。
【００６３】
図５Ａは、図２の構成３８をさらに詳しく示している。構成３８は、コンピュータシステムに、保存文書３２として記憶させるか、あるいは、情報プレゼンテーション３６の形式で、特定の媒体に表現する。構成３８の中に包含される情報は、様々なやり方で分けられる。好ましくは、この構成は、コンテンツツリー５２、デザインツリー５４、媒体ツリー５６の形式で表現される。これらのツリーは、好ましくは、以下でさらに詳しく説明される通りに、ある方法５７でリンクされる。これらのコンテンツツリー、デザインツリー、媒体ツリーは、上で考察された通り、適切なオブジェクト指向技術に基づくが、ただし、上述の通りにファセット技術を使用することが好ましい。
【００６４】
図５Ａのこの構成３８は、図５Ｂでさらに詳しく示されている。図５Ｂは、構成３８の中で、コンテンツ、デザイン、媒体のファセットツリーが、一般的にどのように表現されるか示している。一実施例では、構成の根オブジェクト６０は、コンテンツ・ファセットツリー６２、デザイン・ファセットツリー６４、媒体ファセットツリー６６のそれぞれに対して、根の働きをする。これらのツリーはそれぞれ、中間の１組のコンポーネント６８の中に、独立しているが、重なり合う可能性のある階層の子コンポーネント（例えば、コンポーネント７０）がある。すなわち、これらの３つのツリーは、前記１組のコンポーネント６８を通る様々な経路をたどることができる。言い替えれば、個別のコンポーネント７０は３つのツリーのうちのただ１つに固有のものであるか、これらのツリーの２つで分け合うか、あるいはこれらのツリーすべてに共通である。葉７２のような葉ノードは、一般に、３つのツリーのそれぞれに共通であって、特定の媒体でのコンテンツのレイアウトのために実際のコンテンツ要素や座標などの情報が入っている。好適な実施例では、構成の根オブジェクトや葉は、３つ全部のツリーに共通である。他の実施例では、３つのツリーのそれぞれに、大部分または全部のコンポーネントが現れる場合がある。
【００６５】
文書全体も含め、イメージ画素、文字、図形記号、言葉などの構成の各要素は、１コンポーネントと対応づけられる。一般に、粒状度の大きいコンポーネントは、ユーザが構成上にテキストの１段落をドロップするというようなユーザ処置によって、生成される。この段落は、最初は、段落コンポーネントによって表現されることになる。この段落コンポーネントは、コンテンツをレイアウトに合わせるために、必要に応じて断片化される。例えば、この段落の各行は、サブコンポーネントとして表現できる。この断片化処理もまったく動的である。例えば、段落を合わせるには、多くの可能な断片化を試みたり、放棄することが必要であり、また、毎回の重要なユーザ処置の後で、このような合わせが再び行われる。さらに、編集は、属性変更を行ったり、または強制的に修正することにより、新規のサブコンポーネントを生成することもできる。例えば、テキストのうちの１行の中央部分がイタリック体で記されるように選択される場合には、テキストの該当行が、３つのサブコンポーネントに断片化されることになる。この行の新たにイタリック体にした部分が１つのサブコンポーネントになるが、一方、該当部分の前後の部分は、他の２つのコンポーネントになる。
【００６６】
本発明の一実施例では、各コンポーネントは、コンテンツ・ファセット、デザイン・ファセット、媒体ファセットを有する。ただし、特定のコンポーネント用のファセットは、媒体ファセットツリーのコンポーネントが、デザイン・ファセットツリーの２つのノードの間にあって、実際にはデザイン・ファセットツリーにはない場合と同様、使用できない。この例では、この媒体コンポーネントのデザイン・ファセットは、デザイン・ファセットツリーにリンクがないために、使用できない。
【００６７】
図６は、本発明のコンテンツ、デザイン、媒体のファセットツリーの一実施例を用いて、１つの構造化テキスト８０が、どのように表現されるのか示している。８０に示される構造化テキストは、タイトル「キルロイは誰であったか？」、第１の見出し「あるとき、ここに」、および、第２の見出し「行動中に消えた」
を付けている。第１の見出しはテキストＡの本体も載せており、また第２の見出しはテキストＢの本体を載せている。
【００６８】
この構造化テキスト８０は、以下の通り、コンポーネントのコンテンツ・ファセットとデザイン・ファセットを用いて表現できる。この例では、この構造化テキスト用の根オブジェクトは、構造化テキスト・コンポーネント８４である。このコンポーネント８４は、コンテナ文書へのリンク（図には示されていない）も可能である。この構造化テキスト８０用のデザインツリーの表現は、構造化テキスト・コンポーネント８４からデザイン・ファセット・リンクをたどって、デザイン・ファセット・リンクの階層を下ってゆくことで、決定される。例えば、構造化テキスト・コンポーネント８４には、タイトル・コンポーネント８６が入っている（デザイン・ファセット・リンクとして）。しかしながら、タイトル・コンポーネント８６には、見出し１コンポーネント９０と見出し２コンポーネント９２が両方とも、それぞれのデザイン・ファセット・リンクとして入っている。
次に、見出し１コンポーネント９０には、本体テキストＡコンポーネント９４が入っており、また見出し２コンポーネント９２には、本体テキストＢコンポーネント９６が入っている。このようにして、特定の構成の中の様々なコンポーネントのデザイン・ファセットを通じて形成されたリンクにより、この構成用のデザインツリーがどのように表現されるのか、わかる。
【００６９】
同様に、構造化テキスト８０のコンテンツツリーの表現は、それぞれのコンポーネントからコンテンツ・ファセット・リンクをたどることにより、決定される。タイトル・コンポーネント８６は、構造化テキスト８０のタイトル（すなわち、「キルロイは誰であったか？」）へのコンテンツ・ファセット・リンクがある。コンポーネント見出し１９０は、第１の見出し「かって、ここで」へのコンテンツ・ファセット・リンクがある。同様に、他の見出しのそれぞれと、本体テキストは、当該コンポーネントで表される特定のコンテンツを指すコンテンツ・ファセット・リンクを有する。あるコンポーネントから別のコンポーネントへのリンク、またはコンポーネントからコンテンツへのリンクは、適切などんなやり方でも形成できる。所定のツリー構造に、どの継承リンクが使用されるかは、プロパティごとに、各コンポーネントに対して、オブジェクト定義の一部により決定される。コンポーネントのこれらのプロパティは、分けられて、様々な経路を通って継承される。上述の通り、ファセットの概念は、コンポーネントのプロパティを区分して、そのコンポーネントの様々なファセットが、３つの異なる格納階層、すなわちコンテンツ・ファセットツリー、デザイン・ファセットツリー、媒体ファセットツリーに加わるようにする考えをもたらす。文書の実物との一致が高まるという理由で、ファセットの概念を使用することが好ましい。
【００７０】
さらに、これらのコンポーネントは、図６には示されていないが、それらの媒体ファセットを通じてリンクされる。タイトル８６などのコンポーネントの媒体ファセットには、タイトルの位置決めと、タイトルの大きさを含め、プロパティが入っている。構成の中には、媒体ファセットを通じて媒体ファセットツリーだけに加わり、またコンテンツ・ファセットツリーの一部でも、デザイン・ファセットツリーの一部でもない他のコンポーネントがある可能性がある。同様に、コンテンツツリー、デザインツリー、媒体ツリーのそれぞれに、それぞれのコンテンツ・ファセット、デザイン・ファセット、媒体ファセットを通じて加わるコンポーネントがある可能性がある。構成用の媒体ファセットツリーを示すさらなる例を、以下で説明する。
【００７１】
図７は、コンテンツ・ファセット、デザイン・ファセット、媒体ファセットを詳しく示すフッターコンポーネント１２０の一例である。フッターコンポーネント１２０は、ここに定められたプロパティ、あるいは、ある階層のコンポーネントを通じて継承したプロパティをいくつでも持つことができる。例示として、このフッターコンポーネントには、コンテンツ・ファセット、デザイン・ファセット、媒体ファセットと対応づけられた選択プロパティが示されている。多数の他のタイプのプロパティが、これらのファセットのそれぞれと対応づけられていること、また他のプロパティが、これらのファセットのどれにも対応づけられないフッターコンポーネント上に定められることを認識すること。
【００７２】
図７のこの例では、フッター用のテキストが入っているテキスト・ストリングのポインタを、ある値として持つテキストと名づけられたプロパティが、当該コンテンツ・ファセットに入っている。このフッターコンポーネント用のデザイン・ファセットには、テキスト・フェース、テキスト属性、ジャスティフィケーション、相対サイズのプロパティが含まれている。これらのプロパティに対応する値の例は、図７に示されている。このコンポーネント用の媒体ファセットには、Ｘ位置、Ｙ位置、幅、高さのプロパティが含まれており、それらのプロパティは、このフッターが表示されているページ上の地理的領域を定めるのに役立つ。これらの地理的プロパティは、一般に、媒体ファセット・コンテナによって決まる。例えば、座標は、特定の包含領域によって決まる。すなわち、ある領域が、どの特定ページに表示されるかは、あるページ・コンポーネントに出会うまで、メディア・ファセット・リンクを探索すれば、決定できる。
【００７３】
当該コンポーネントの範囲を定めるのに役立つように、また当該コンポーネントを特定の媒体用のコンテンツ・レンダリング・スペースの中に位置づけるように、媒体ファセット内に、他の多種多様なプロパティが存在し得ることを認識すること。例示として、媒体表面の色、きめ、透明度などのプロパティは、媒体ファセットと対応づけられる。コンポーネントの範囲の考察は、図３４のステップ７５８を参照して、以下に詳述する。
【００７４】
パンフレットの構成の例
以下の図８〜図１２Ｃは、本発明の様々な実施例において作成され再配置されるパンフレットの一例を提供している。このパンフレットの構成を表現する可能なコンテンツツリー、デザインツリー、媒体ツリーの例は、以下の図１３〜図１８に示される。図１９〜図２８Ｅは、本発明の用途のさらなる例と、本発明の特徴を与えているが、一方、図２９〜図３８は、本発明の実施例を実施するための手順を説明している。
【００７５】
システム・デザイン・カタログから標準デザインをロードすることにより作成された空白構成の一例が、図８に示されている。空白（または空の）構成は、デデインはあるが、コンテンツが追加されていないものである。この空白構成１４０には、銘板１４２とタイトル１４４が含まれる。イメージ１４６と１５０には、それぞれ、対応するテキスト領域１４８と１５２も添えられている。フッター１５４は、空白構成１４０の下端にある。空白構成のこれらの要素は、今までのところ、どのコンテンツも対応づけられてない該当コンポーネントにより、構成用のデザインツリーに表現される。ここで、構成の作成中に、ユーザは、さらに精巧な構成を作成するために、画面の様々な部分にコンテンツをドラッグ・アンド・ドロップしたいと思う場合がある。もう１つの方法としては、ユーザは、カスタム・デザインを生成するために、示されたデザインを再配置することができる。
【００７６】
ユーザが埋めて完成させたデザインの一例は、図９に示されている。この文書デザインは、長さが１ページに固定された紙ページ媒体を指定している。ユーザは、様々なソースから、テキストとイメージをドラッグ・アンド・ドロップして、コンテンツをこのデザインに追加したかもしれない。もう１つの方法としては、ユーザは、ユーザ・インタフェースを通じて、構成の中で、直接にコンテンツの編集を行うこともできる。図９は、釣り具の通信販売業に利用される場合のあるパンフレット構成１６０を示している。パンフレット構成１６０は、タイトル「Ｂａｓｓ  Ｐｒｏｄｕｃｔｓ，Ｉｎｃ」１６２、魚のロゴ１６４、２つの製品、フッターを載せている。第１の製品は、釣ざおの絵１６６、キャプション「釣ざお」１６８、製品テキスト１７０を載せている。第２の製品は、網の絵１７２、キャプション「網」１７４、製品テキスト１７６を載せている。フッター「本日、電話での注文承ります」１７８は、この構成の下端にある。この例では、このパンフレット構成は、紙媒体の１ページ向けに表現されている。
【００７７】
図１０は、ユーザが、新製品の形式を取る新規コンテンツをパンフレット構成１６０’に追加した後の結果を示している。この例では、ユーザは、図９のパンフレット構成の下端に向けて新製品をドラッグ・アンド・ドロップし、また、本発明の１方法は、自動的に書式変更して、紙媒体の単一ページ上に、現行製品といっしょに新製品を載せている。図１０に示される通り、製品テキスト１８４といっしょに、釣針１８０の新たな絵１８０、キャプション「釣針」１８２が、この構成に追加されている。
【００７８】
図１１は、追加の例を示しており、この例では、ユーザは、新たなコンテンツは追加していないが、その代わり、パンフレット構成のデザインを変更している。この例では、ユーザは、パンフレット構成１６０”を作成するために、縦書きデザインを選択している。ここでは、本発明の１方法が、紙媒体の単一ページ上で、各製品に関する絵、キャプション、製品テキストの向きを自動的に縦に揃えている。例えば、キャプション「釣ざお」１６８は、ここでは、絵１６６の下に記されており、さらに、このキャプションの下には、ここでは、製品テキスト１７０が記されている。同様に、第２の製品も縦方向に揃えられている。本発明の１方法は、紙ページ媒体に選択された縦書きデザインに基づいて、このパンフレットのレイアウトを自動的に計算し直している。
【００７９】
図１２Ａ、図１２Ｂ、図１２Ｃは、ＨＬＭＬ媒体に表現された図９のパンフレット構成を１９０に示している。この例では、図９の単一ページの紙媒体のレイアウトが、例えばＷＷＷ上でのプレゼンテーションにふさわしい３ページＨＬＭＬレイアウトに自動的に変換されている。ユーザがユーザ・インタフェースからのコマンドを実行して、新規媒体への構成を編集する時に、別の媒体へのこのようなレンダリングが行われる場合がある。
【００８０】
図１２Ａは、タイトルページ１９２を示し、図１２Ｂは、第１の製品に対して第１のページ１９４を示し、図１２Ｃは、第２の製品に対して第２のページ１９６を示している。図１２Ａのタイトルページ１９２は、図９からのタイトル「Ｂａｓｓ製品」１６２と魚のロゴ１６４を含むが、ただし、これらのコンテンツ要素は、自動的に縮小拡大されて、タイトルページ上の別の位置に置かれている。ここでは、タイトルページには、ユーザを別のウェブページにリンクする「新製品」リンク１９８も含まれる。さらに、「釣ざお製品」２００および「網製品」２０２への順方向リンクを含むパンフレット目録１９８も自動的に作成される。さらに、このタイトルページ１９２には、「当社との談話」ウェブ・ページ２０４へのリンクも含まれる。第１のページ１９４は、もとの図９からのイメージ、キャプション、製品テキストを含む。さらに、この第１のページには、図９からのタイトルと魚のロゴ、および、タイトルページ１９２への逆方向リンクのある新規リンク「ホームページ」２０６も添えられている。第２の製品に対する第２のページ１９６も同様に、図９からのオリジナル・イメージ、キャプション、製品テキストを含み、さらに、タイトル、魚のロゴ、新規「ホームページ」リンク２０８も含む。
【００８１】
本発明の様々な方法により、図９のパンフレット構成のコンテンツとデザインは、ＨＴＭＬ媒体に対しては自動的に表現されている。図９の構成の各コンポーネントは、様々な媒体において、当該コンポーネントがどのように現れるのか決定する対応プロパティを持っている。例えば、一般のプロパティは、コンポーネントがどのように現れるべきか示す目的で用いられる。これらのプロパティには、複雑と単純、古典と現代とポストモダン、精力的／動的と静穏、暖かいと冷たい、暗いと明るい、上品／裕福と質素、速いと遅いなどがある。他のプロパティ（例えば、上で考察されたもの）も使用できることを認識すること。
【００８２】
さらに、本発明に組み込んだ様々なデザイン選択により、構成を表現できる各媒体には、構成がどのように現れるのかに関する知識が入っている。オブジェクトのプロトタイプにも、知識が入っている。例えば、具体的に媒体オブジェクトのプロトタイプにプログラムされるものは、プリミティブなコンテンツ・タイプのデフォルトである。コンテンツ・オブジェクト用のプロトタイプには、特定媒体用のプリミティブなレンダリング・ルーチンに影響を及ぼしかねない抽象属性（例えば、「強調された」、「滑稽な」など）がある。すなわち、これらのコンテンツ・タイプは、コンポーネントによりオンまたはオフにすることができ、かつ媒体で読み取られる属性をセットアップする。さらに、コンポーネント・プロトタイプは、レンダリング・デフォルトを設定する（継承により）属性をセットする。さらに特殊なプロトタイプ、および、コンポーネントの特定のインスタンスは、継承された属性を、適宜、選択的に無効にする。特定のインスタンス・レベルでの無効化も、ユーザにより対話形式で指定することができる。例えば、プロパティ・シートを通じて。無効化は、プリミティブな媒体依存パラメータにも向けることができる。一般のプロトタイプの一例は「テキスト」である場合もあるが、一方、特殊なプロトタイプの一例は、「タイトル」となる。特定のインスタンスの一例は、特定の文書の特定のタイトルとなる。当業界で知られている通り、「プロトタイプ」は、相対的にオブジェクト導出ツリーの根の近くにある組込みオブジェクトをさす。プロトタイプは、ユーザ無効化の可能性をなおも認めながらも、ユーザ専用オブジェクトに、あらかじめ構築された挙動を伝える目的で使用される。
【００８３】
例えば、様々な新規要素が、タイトルページ１９２上の「新製品」リンクおよびページ１９４と１９６の「ホームページ」リンク２０６と２０８などの新規ＨＴＭＬ媒体ページに自動的に追加されている。
【００８４】
もつ１つの方法として、図９のパンフレット構成は、他の適切などんな媒体にも表現できる。例示として、パンフレット図９は、後のプレゼンテーションに向けてスライドを作る目的で、コンピュータの画面で見るのにふさわしい画面媒体に表現できる。画面媒体形式は、図１２Ａ、図１２Ｂ、図１２ＣのＨＴＭＬページと同様である場合がある。さらに、ユーザは、所定の時節に構成の２つ以上の面を変更したいと思うことが考えられる。例えば、ユーザは、構成にコンテンツを追加したいと思うかもしれないし、またそれを別の媒体に表現したいと思うかもしれない。
【００８５】
ここで、図１３〜図１８に移って、図９〜図１２Ｃに示されるパンフレット構成の一実施例が、コンテンツツリー、デザインツリー、媒体ツリーの実施例に表されているものとして示される。図１３〜図１８のツリー構造は、パンフレット構成のコンテンツ、デザイン、媒体をリンクする一方法の図解例であることを認識すること。これらのツリーは、構成のコンテンツ、デザイン、媒体のファセットを見る象徴的なやり方であり、従って、これらのツリーは、なおも構成を表現しながらも、他の形式で現れる場合がある。これらのツリーを、独立した主体として示せば、ファセット技術を使って、構成のコンテンツ、デザイン、媒体を、どのようにして区分できるのか理解するのに役立つ。
【００８６】
言い替えれば、図１３〜図１８に示されるツリーの実施例は、パンフレット構成の内部表現である。上で説明される通り、コンテンツツリー、デザインツリー、媒体ツリーは、必ずしも完全に区別可能なツリーであるとは限らないが、中間ノードを共有することができる。さらに、コンテンツツリー、デザインツリー、媒体ツリーは、一般に、共通の根を共用することができ、また以下の図１８の例で示されるように、葉を共有することができる。オブジェクト指向プログラミングの当業者により理解されるどんな適切なやり方でも、これらのコンポーネントを階層ツリーに作ることができる。好ましくは、コンテンツツリー、デザインツリー、媒体ツリーは、ファセット技術を利用するオブジェクト・プロトタイプ・モデルに基づいて、格納関係を表現する。
【００８７】
図１３は、図９のパンフレット構成のコンテンツツリーの１つの可能な表現２２０を示している。このコンテンツツリーは、根、文書コンテンツ、パンフレットのタイトルを表す第１のノード「Ｂａｓｓ製品」を持っている。このタイトルの下には、魚のロゴ、第１の製品（釣ざお）、第２の製品（網）を表すノードがある。釣ざおのイメージの下には、キャプション「釣ざお」と、その製品に関する製品テキストを表すノードがある。網のイメージの下には、キャプション「網」と、その製品に関する製品テキストを表すノードがある。このコンテンツ情報は、なおも同一情報を表すが、別の階層的なやり方で編成できることが考えられる。例示として、各製品のキャプションは、そのキャプションを葉モードとせずに、製品のイメージと、その下の製品テキストを、葉ノードとする中間ノードである場合がある。もう１つの方法としては、「Ｂａｓｓ製品」の下の中間ノードには、「製品１」の標識が付けられ、そのノードは、３つの子葉ノード、すなわち釣ざおのイメージ、キャプション、製品テキストを持つことになる。本発明の一実施例では、コンテンツが入っている各ノードは、デザインツリーの特定のコンポーネントと対応づけられている。例えば、デザインツリーの中の「絵」の標識が付けられたコンポーネントは、釣ざおのイメージへのリンクを持つことになる。デザイン・コンポーネントからコンテンツ要素への上記リンクも、図６に示されている。
【００８８】
このようにして、コンテンツツリーは、文書と解釈することに加えて、パンフレット構成の情報を表している。とはいえ、コンテンツツリーは、そのツリーを表現する媒体によって変わる場合がある。例えば、構成をＨＴＭＬ形式に表現する時には、「新製品」リンクまたは「当社との談話」リンクなどの要素を、図１２Ａに示される通りにタイトル・ページに追加し、従って、新規コンテンツ要素をコンテンツツリーに追加することができる。
【００８９】
図１４は、紙媒体に対して表現された図９のパンフレット構成用のデザインツリー２３０の一実施例を示している。このデザインツリーの中のノードは、図４Ａと図４Ｂに記されるようなコンポーネントを表している。デザインツリーの葉ノードは、パンフレット構成のコンテンツを表し、図１３のコンテンツツリーの葉ノードと共用されている。このようにして、どんな具合に、コンテンツツリーとデザインツリーが、様々な中間ノードを持つのに、同一葉ノード、すなわちコンテンツ情報を共用できるのか理解できる。さらに、葉ノードには、デザイン情報と媒体情報が入っている。例えば、テキストの１行を印刷するのには、デキスト（コンテンツ）だけでなく、フォントとスタイルの情報（小規模デザイン）と特定ページ上の１領域（媒体）も必要である。従って、葉は、そのコンテンツを特定の情報プレゼンテーションに表現するために、ＡＰＩ、ドライバ呼出し、ＨＴＭＬ出力ルーチンなどによる直接のレンダリングにふさわしい情報を入れることができる。
【００９０】
デザインツリー２３０は、銘板、製品リスト、フッターという３つのコンポーネント子を有する根である文書デザインを持っている。コンポーネントの銘板は、対応するコンテンツにそれぞれリンクされているサブコンポーネントのタイトルとロゴを持っている。フッターのコンポーネントは、その対応するコンテンツ、すなわちストリング「本日、電話での注文承ります」へのリンクを持っている。コンポーネントの製品リストは、サブコンポーネントの製品０と製品１を有する。コンポーネントの製品０は、製品イラストと製品テキストという２つのサブコンポーネントを有する。コンポーネントの製品テキストは、その対応するテキストにリンクされる。コンポーネントの製品イラストは、絵とキャプションという２つのサブコンポーネントを有し、それらのサブコンポーネントはそれぞれ、該当するコンテンツと対応づけられている。製品１用の階層構造は、図１４でわかるように、製品０用の階層構造と同様である。
【００９１】
このデザインツリーから、コンテンツを表現できる媒体とは無関係にデザインのコンポーネントが表されることを認識すること。すなわち、コンポーネントは、構成の要素が紙ページ上のどこに現れるのか厳密に指定する必要もなく、その要素を表す。しかしながら、デザインツリーは、コンテンツを表現する媒体により変わる可能性があるが、ただし、デザインツリーはなおも、その媒体内のコンテンツの正確な場所と無関係である。例えば、パンフレット構成が、ＨＴＭＬ媒体に表現されるとしても、２つの新規コンポーネントが、コンポーネントの製品０と製品１のそれぞれの下に現れることがある。例えば、コンポーネントの製品０は、付加的なサブコンポーネントの製品順方向リンクと製品逆方向リンクを持つことになる。製品順方向リンクは、タイトルページから製品０のページへの順方向リンクを提供する「釣ざお製品」の標識を付けたコンテンツが入ることになる（図１２Ａの２００で見られる通り）。同様に、コンポーネントの製品逆方向リンクは、テキスト「ホームページ」と対応づけられて、製品０が現れるページから、逆方向に、ＨＴＭＬ媒体のタイトルページへのリンクを形成することになる（図１２Ｂの２０６で見られる通り）。
【００９２】
さらに、ＨＴＭＬ媒体では、新規ページのそれそれに対して、３つの付加的なタイトルのコンポーネントを生成することができる。本発明の一実施例では、新規媒体の各ページに対して、新規「Ｂａｓｓ製品」コンポーネントが生成される。特定の媒体用の「Ｂａｓｓ製品」コンポーネントのイラストが、以下の図１７に示されている。コンテンツが、特定の媒体に収まらない場合には、デザインツリーも変わる場合がある。例えば、大きいテキスト段落が、このページの下端に収まらない場合には、この段落を２つに分割する。１つのコンポーネントに、この大きいパラグラフを表させるのではなく、新規デザイン・コンポーネントを生成して、第２のページ上に、その段落の後半を表させる。このような新規コンポーネントも、デザインツリーに追加されることになる。他のタイプの媒体およびコンテンツの再配置のために、デザインツリーへの他のコンポーネントの追加も可能である。
【００９３】
図１５は、パンフレットを紙媒体に表現している図９のパンフレット構成用の媒体ツリー２４０の一実施例を表している。媒体ツリーの目的は、レイアウト、すなわち、パンフレット構成の各コンテンツ項目に対する場所を提供することにある。この媒体ツリーは、子コンポーネントのページ０を１つ持っている根である紙ページ・セットを有する。この例では、パンフレット構成は単一の紙ページに表現されており、それゆえ、子コンポーネントのページ０が１つだけある。ページ０のコンポーネントのすぐ下には、このパンフレット構成用のコンテンツ、すなわちタイトル「Ｂａｓｓ製品」、魚のロゴ、釣ざおの絵などがある。この媒体ツリーは、これらの葉コンポーネントを、図１３のコンテンツツリーと共用している。さらに、図１５には、単一の紙ページ上で、そのコンテンツのレイアウト位置を示す各コンテンツ項目の媒体ファセット座標も示されている。
【００９４】
このような単純な例では、レイアウト座標が、そのコンテンツ項目の範囲を形成している。一般に、あるコンテンツ項目の範囲は、そのコンテンツが占有する特定の媒体の中にコンテンツ・レンダリング・スペースがどの程度であるか示している。例示として、コンテンツ項目の範囲は、その項目の直交座標であり、三次元の位置、時間の長さ、サウンドのセグメント、ビデオのセグメント、または特定の媒体の他の部分を示すことができる。この例では、各コンテンツ項目の範囲は、Ｘ座標とＹ座標、およびその項目の幅と高さである。例えば、タイトル「Ｂａｓｓ製品」は、１０のＸ座標、１０のＹ座標、５０の幅（ｄｘ）、５の高さ（ｄｙ）を有する。他のコンテンツ項目の座標は、図１５の各コンテンツ項目の下に示される通り、同様なやり方で提供される。
【００９５】
本発明の一実施例では、これらの座標は、コンテンツ項目を表すコンポーネント用の媒体ファセットのプロパティとして表されている。座標ではない仕様に加えて、直交座標系とは別に他の座標系（例えば、極座標など）が使用できることを認識すること。従って、媒体ファセットツリーは、パンフレット構成用のデザインとは異なるが、どのようにしてパンフレット構成のコンテンツ用のレイアウトを表すのか理解できる。
【００９６】
図１６は、ＨＴＭＬ媒体に対して構成が表現された後で現れる、図９のパンフレット構成用の媒体ツリー２５０の一実施例を示している。この媒体ツリーは、構成を紙媒体に表現する図１５の媒体ツリーと比較できる。図１６のこの例では、媒体ツリー２５０は、根のＨＴＭＬページ・セットと、３つの子コンポーネント、すなわちページ０、ページ１、ページ２を有する。ＨＴＭＬ媒体用のこの媒体ツリーは、紙媒体用に単一ページではなくて、３ページを有する。なぜなら、ＨＴＭＬ形式で表現される構成が、紙媒体用のものと比較して、異なる要件と、異なるレイアウトを持っているからである。この例では、図９のパンフレット構成は、ＨＴＭＬ媒体に表現される時に、図１２Ａ、１２Ｂ、１２Ｃに示される通りに現れることになる。それゆえ、図１６の媒体ツリーは、３つの異なるページ、すなわちページ０、ページ１、ページ２を有する。特定の媒体レイアウトに対して、特定の構成が使用するページの数は、コンテンツと、この媒体用のデザイン選択の問題であって、この構成が、特定の媒体に対して複数の形式を取る場合もある。例えば、明確に設定できるプロパティは、ページ数を一定にするか、またはコンテンツの大きさに応じて変えさせるかどうか、制御できる。ＨＴＭＬ媒体のパンフレット構成のレイアウトは、図１２Ａ、図１２Ｂ、図１２Ｃに示される通り、また図１６の媒体ツリーで表現される通りのものであって、ある構成に対して、レイアウトおよび媒体ツリーがどのように現れる可能性があるかを示す図解例の１つである。
【００９７】
図１６の媒体ツリーは、戻って図１２Ａ、図１２Ｂ、図１２Ｃを参照すれば、その解釈が最適となる。媒体ツリーのページ０は、図１２Ａに示されるレイアウトを表し、ページ１は図１２Ｂを表し、またページ２は図１２Ｃを表す。ページ０は、７つの子、すなわちタイトル「Ｂａｓｓ製品」、魚のロゴ、「釣ざお製品」、「網製品」、「新製品」、「パンフレット」、「当社との談話」を有する。最初の４つの子は、図１６のレイアウト座標を用いて示されるが、一方、最後の３つの子は示されない。ただし、最後の３つの子は、２５２としてリンクを持つことになる。媒体ツリーの中のこれらの子は、図１２Ａに示されるコンテンツ項目を表す。各コンテンツ項目は、図１５の紙媒体ツリーの中にある通り、そのコンテンツ項目の範囲（この場合、そのＸ座標とＹ座標、およびその高さと幅）と対応づけている。
【００９８】
ＨＴＭＬ媒体ツリーのページ１は、図１２Ｂからのコンテンツを表す６つの子が示されている。同様に、これらのコンテンツ項目のそれぞれは、図１６の各コンテンツ項目の下に、対応範囲が示されている。同様に、媒体ツリーのページ２は、図１６で見られる対応範囲とともに、図１２Ｃのコンテンツ項目に対応する６つの子を有する。ページ０、ページ１、ページ２に見られるように、タイトルとロゴが繰り返される。最適化は、単一のインスタンスを参照することにより、コンテンツ要素を共用することにある。さらに、このＨＴＭＬ媒体に関する要件が固有であるために、このような媒体に対して新規コンテンツ項目を生成していることも指摘されること。例えば、新規コンテンツ項目である「釣ざお製品」と「網製品」が生成されており、ページ０の中に現れている。同様に、コンテンツ項目である「ホームページ」は、ここでは、ページ１にもページ２にも現れている。
【００９９】
図１７は、ページ０からのコンテンツ項目「Ｂａｓｓ製品」を２６０に、さらに詳細に示している。このコンテンツ項目は、オブジェクト、または他の類似データ構造として、内部表現できる。好ましくは、このコンテンツ項目は、１コンポーネントとして表される。とくに、コンテンツ項目「Ｂａｓｓ製品」については、様々な媒体と関係のある様々なプロパティを、そのコンテンツ項目とどのように対応づけた可能性があるのか示されている。前述の様々な媒体に対する様々なプロパティの働きは、所定の媒体に対して、当該コンテンツ項目を適切に表現できるようにすることにある。例えば、このコンテンツ項目は、図１６に示される通りにＨＴＭＬ媒体に表現されているから、ここでは、ＨＴＭＬ媒体のプロパティに対して値を持つ。それゆえ、紙媒体プロパティと関係のあるプロパティは、空白のままにするか、あるいは使用されない。ＨＴＭＬ媒体または紙媒体に固有の、あるいはそれらの媒体に適切な、その他多数の異なるタイプのプロパティ（ここには、図示されていない）を、このコンテンツ項目に添えることができる。
【０１００】
さらに、このコンテンツ項目「Ｂａｓｓ製品」については、コンテンツ項目をＶＲＭＬ媒体に表現する可能性があることと関連のある一組のプロパティも示される。コンテンツ項目のＸ座標、Ｙ座標、Ｚ座標、および、その高さ、幅、奥行きを表すプロパティが示される。ＶＲＭＬ媒体の性質が三次元であるから、ＶＲＭＬ媒体に表現されるコンテンツ項目に対しては、Ｚ座標と奥行きの追加プロパティが適切となる。この媒体に適切である他のプロパティは、色、明るさ、回転、サウンドである。例えば、音楽サウンドもしくはビデオクリップは、構成内の特定のコンテンツ項目と対応づけられ、またこれらのサウンドとビデオは、コンテンツのプロパティを通じて、当該コンテンツと対応づけられる。その他多数の異なる種類のプロパティは、特定の媒体タイプと対応づけられることが認識されること。
【０１０１】
図１８は、２７０において、図１５の紙媒体ツリーのページ０からのタイトルとロゴをさらに詳細に示している。媒体ツリーのこの部分とともに、図１３と図１４のコンテンツツリーとデザインツリーの関連部分も、３つのツリーの間の関係を実証するために示されている。
【０１０２】
この例では、パンフレットの構成の根は、コンテンツ・ファセット、デザイン・ファセット、媒体ファセットを有する構成コンポーネント２７１である。これらの３つのファセットは、コンテンツツリー、デザインツリー、媒体ツリーのそれぞれの根である。図１８に示されているこれら３つの部分ツリーは、これら３つのツリーのうち図１３、図１４、図１５に示されている部分である。例えば、コンテンツツリーの根は、子コンテンツ項目「Ｂａｓｓ製品」にリンクされる文書コンテンツである。「Ｂａｓｓ製品」のコンテンツ項目は、魚のロゴにリンクされ、さらに、釣ざおのイメージに、またリンク２７６を通じて網のイメージ（図には示されていない）にリンクされる。
【０１０３】
デザインツリーの根は、子コンポーネントの銘板、および、コンポーネントの製品リストとフッター（図には示されていない）へのリンク２７２を有する文書デザインである。図１４に示される通り、銘板のコンポーネントは、そのサブコンポーネントのタイトルとロゴがそれぞれのコンテンツ項目へのリンクを持ち、さらに、これらのコンテンツ項目がコンテンツツリーとも共用されている。媒体ツリーの根は、１つの子コンポーネントのページ０を有するコンポーネントの紙ページ・セットである。ページ０は、図１５に示される（ここ、図１８には示されていない）他のコンテンツ項目へのリンク２７４だけでなく、子としてタイトル「Ｂａｓｓ製品」や魚のロゴも持っている。従って、図１８は、コンテンツツリー、デザインツリー、媒体ツリーが、概念的に別々なものと見なされても、どのようにして、これらのツリーが、共通の根と共通の葉を持ち、また時々、共通の中間コンポーネント（この例にはない）を共用できるのか例証している。
【０１０４】
コンテンツを構成に追加する例
コンテンツを構成に追加する時に、どのようにコンテンツツリー、デザインツリー、媒体ツリーを処理するのかを示す一例が、図１９〜図２２に示されている。これらの図は、どのようにしてコンテンツを構成に追加できるのか、またどのようにして各ツリーを適宜に変更するのか、本発明の一実施例で図解している。このような処理に関係するステップのさらに詳細な考察は、以下の図２９〜図３６の流れ図に記載されている。一般に、図１９は、現行構成上にドロップされているコンテンツを示し、図２０は、ドロップ前のコンテンツツリー、デザインツリー、媒体ツリーを示し、さらに図２１は、構成上にコンテンツがドロップされた後のこれらのツリーを示している。
【０１０５】
図１９は、コンテンツを構成に追加するための１技法２８０を示している。図１９には、構成２８２を含むコンピュータシステムのユーザインタフェース２８１が示されている。構成２８２の中には、目下、写真２８４と空テキスト領域２８６がある。空テキスト領域２８６は、ここでは文脈が対応づけられていない特定のテキスト・コンポーネントで表される。この例では、ユーザは、コンテンツをワープロ２８８から構成２８２上にドロップしたいと思っている。ワープロのコンテンツ２８８には、タイトル、テキストの本体「ｘｘｘ」を添えた第１の小見出し、２つのテキスト項目「ｙｙｙ」と「ｚｚｚ」を添えた第２の小見出しが含まれる。
【０１０６】
第１のステップ２９０では、このワープロのコンテンツは、２９２に示される構造の本発明の一実施例に取り入れられる。このコンテンツの取入れ（インポート）は、多種多様なやり方で行われる。例示として、コンテンツ取入れ（インポート）は、コンテンツを認識し、定義し、コンテンツを特定のオブジェクトに分けることのできるオブジェクト・ブローカによって行われる。
【０１０７】
この例では、オブジェクト・ブローカは、ワープロのコンテンツを構造化テキストとして認識して、このコンテンツを、テキスト段落コンポーネントの１階層に分けている。例えば、コンポーネントのテキスト段落２９６は、このコンテンツのタイトルである「キルロイは誰であったか？」に対応し、テキスト段落２９８は、第１の小見出し「かって、ここで」に対応し、さらにテキスト段落３００は、テキスト本体「ｘｘｘ」に対応している。
【０１０８】
このコンテンツは、どんな適切なやり方でも、技法２９４を通じて構成２８２上にドロップされる。このようなドロップ処理は、多種多様なやり方で行われることが考えられる。例示として、コンテンツは、マウスなどの任意の適切なポインティング・デバイスを用いて、ユーザ・インタフェース上のある場所からドラッグして、構成の該当場所にドロップすることができる。もう１つの方法としては、このドロップは、ユーザがポインティング・デバイスをダブルクリックするか、あるいは、ユーザが、他の任意の適切なやり方で、構成内の別の場所でコンテンツを特定することにより、行われる。さらに、コンテンツは、任意の適切なソースから得ることもできる。例示として、コンテンツは、ユーザ・インタフェースの中に現れ、またファイル名、ＵＲＬアドレス、データベースの一部、または、コンピュータシステムを用いてコンテンツを指定するのに用いられる他の任意の類似手段により、特定される。さらに、コンテンツは、コンピュータ・インタフェース、ネットワーク接続、モデム・インタフェース、赤外線または無線リンク・インタフェース、サウンド認識インタフェース、ビデオ・インタフェース、または、データをコンピュータシステムに入力する他の任意の類似手段を通じて、コンピュータシステムに自動的に入力される。さらに、コンテンツは、メイル／メッセージ処理システム、データ収集装置、電話システム、スキャナなどを通じて、入力される。
【０１０９】
ここで図２０と図２１に移って、図２０は、コンテンツがドロップされる前のコンテンツツリー、デザインツリー、媒体ツリーの内部表現を示しているが、一方、図２１は、コンテンツが構成上にドロップされた後のこれらのツリーの表現を示している。
【０１１０】
図２０は、図１９の構成２８２について、コンテンツツリー、デザインツリー、媒体ツリーのそれぞれの実施例３１０を示している。コンテンツツリー３１２は、構成の写真２８４用のデータ３１６である唯一のコンテンツ項目（ここでは、コンテンツツリーの中にある）へのリンクが１つある根の文書コンテンツを持っている。デザインツリー３１４は、子コンポーネントの製品が１つある根の文書デザインを有する。製品は、２つのサブコンポーネント、すなわち製品イラストと製品テキストを有し、それぞれ、構成の写真２８４用のプレース・ホルダと、構成の空テキスト領域２８６を表している。この例の製品イラストは、１つのサブコンポーネントのイメージを有する。この例では、製品イラストはキャプションがなく、従って、デザインツリーの中のコンポーネントの製品イラストの下には、キャプション用の追加サブコンポーネントはない。デザインツリーのイメージのコンポーネントは、データのタイプを示す量ＪＰＥＧや、写真が縁取り（ボーダ）を持てないことを示す「縁取りなし」フラグなどの様々なプロパティが対応づけられている。特定の媒体について、どのようにして写真を、この構成に載せるべきか記述した多種多様な他のプロパティが可能である。
【０１１１】
デザインツリーの中の製品の製品テキストのサブコンポーネントは、テキスト用の１領域と、「構造化される」や「左詰めされる」のように配置されるテキスト用の様々なプロパティを示す１つのサブコンポーネントのテキストフローを有する。この例では、テキストフローのコンポーネントは、Ｘ座標とＹ座標５５と３０、および幅と高さ４０と３５で特定されるテキスト用の１領域を示している。ここで、この領域にはコンテンツがないために、テキストフローへのサブコンポーネントはない。コンテンツを、どのように所定の媒体に載せるべきか指示するために、テキストフローなどのデザイン・コンポーネントと関連させて、「構造化される」や「左詰めされる」に加えて、多種多様な他のプロパティも使用できることが認識されること。他のこのようなプロパティの代表的な例は、上に説明されている。
【０１１２】
図２０の媒体ツリー３１６は、サブコンポーネントのページ０が１つある根の紙ページ・セットを有する。ページ０には、イメージ３１６とテキストフローのコンポーネントに対して、それぞれ媒体領域３１８と３１９を当てる１つのサブコンポーネントの製品矩形がある。言い替えれば、コンポーネントの製品矩形の座標（すなわち、１０、３０、８５、３５）で画成される媒体領域は、２つの領域に分けられ、その１つは写真を含み、また別の１つは、目下、空テキスト領域である。この時点では、構成は、いつでもコンテンツをドロップすることができる。図１９に示される通り、ドロップ技法２９４を通じて、コンテンツを構成上にドロップすると、本発明の一実施例により、図２１に示される通りに、コンテンツツリー、デザインツリー、媒体ツリーが現れる。
【０１１３】
図２１は、図１９のコンテンツ２８８が構成２８２上にドロップされた後のコンテンツツリー、デザインツリー、媒体ツリーの実施例３３０を示している。以下に詳細に説明される通り、これら３つのツリーはそれぞれ、ドロップされたコンテンツのために、変更された。デザインツリーの階層において、デザインツリー３１４’から始めて、コンポーネントのテキストフローは、その下に多数のサブコンポーネントが追加されている。図１９の階層２９２に示されるテキスト段落のコンポーネントは、テキストフローのコンポーネントへのサブコンポーネントと同じ階層で追加されている。例えば、テキストフローのコンポーネントの下には、コンテンツのタイトルである「キルロイは誰であったか？」を表す単一のサブコンポーネントのテキスト段落がある。この第１のテキスト段落のコンポーネントの下には、２つのサブコンポーネント、すなわち、第１の小見出し「かって、ここで」と第２の小見出し「戦闘中に行方不明」を表す２つ以上のテキスト段落のサブコンポーネントである。同様に、デザイン階層において、これら２つのテキスト段落のコンポーネントは、それらの下に、それぞれのテキスト本体「ｘｘｘ」、「ｙｙｙ」、「ｚｚｚ」を表すコンポーネントが付いている。
【０１１４】
コンテンツツリー３１２’には、イメージ３１６へのリンクを持つ根の文書コンテンツがまだ入っているが、ここでは、さらに、コンテンツのタイトルである「キルロイは誰であったか？」へのリンクも設けられている。次に、このタイトルは、その下に、第１と第２の小見出しに連絡するコンテンツ・リンクを持ち、さらに、これらの小見出しは、それぞれのテキスト本体へのリンクを持っている。例えば、第２の小見出し「戦闘中に行方不明」は、２つのコンテンツ・リンクを持ち、その１つはテキスト本体「ｙｙｙ」に、また別の１つはテキスト本体「ｚｚｚ」に連絡される。
【０１１５】
同様に、媒体ツリー３１６’は、ここでは、追加された新規コンテンツ項目のそれぞれについて、新たな領域を画成する追加リンクを持っている。この媒体ツリーは、イメージとテキストフローのコンポーネントに対してそれぞれ、もとの媒体領域３１８と３１９へのリンクを、まだ持っている。ただし、フィッティング（合わせ）に対する新規コンテンツの影響を反映して、テキストフロー用の位置がわずかに変わった。さらに、製品矩形のコンポーネントは、ここでは、新規コンテンツの１つ１つについて、製品矩形の媒体領域内に、指定媒体領域を画成する新規テキスト段落のコンポーネントそれぞれへの媒体リンクを持っている。例えば、製品矩形のコンポーネントは、ここでは、媒体のＸ座標とＹ座標がそれぞれ７０と４５であって、幅と高さがそれぞれ２０と１０であるテキスト本体「ｘｘｘ」を表すテキスト段落のコンポーネントへのリンクを持っている。同様に、製品矩形の媒体コンポーネントは、図２１に示される通り、それぞれのコンテンツ項目に対して特定の媒体領域を画成する他の新規のテキスト段落のコンポーネントそれぞれへのリンクを持っている。ドロップされたコンテンツのために、製品矩形用の座標も、（１０，３０，８５，３５）から（１０，３０，８５，５５）に変わった。さらに、テキストフローの高さも３５から５５に変わった。もう１つの方法として、別のデザインでは、以上のコンポーネントのそれぞれの範囲を変えないようにすることが求められる場合もあり、この場合には、同じ広さのスペースでテキストを表現するために、ドロップされたテキストの様々な属性（例えば、フォントやテキストサイズ）が変更されることになる。
【０１１６】
コンテンツが構成上にドロップされる（例えば、図１９〜図２１に示される）
時には、本発明の一実施例は、コンテンツが特定の場所にドロップされるかどうか確認し、もしそうであれば、ドロップされたテキストに対して、どんなタイプのコンポーネントを生成すべきかを決めるために、図２２に示されるコンテンツ・ドロップ・テーブル３５０を利用する。コンテンツ・ドロップ・テーブルは、多種多様なやり方で実装される。例示として、図２２のコンテンツ・ドロップ・テーブル３５０は、このような実装の１つである。構成の受取り側のコンポーネントによるコンテンツ・ドロップ・テーブルの特定利用の一例は、以下で、図２９のステップ５１２と、図３０のステップ５５４を参照して、さらに詳しく考察する。
【０１１７】
本発明の一実施例では、構成のそれぞれのコンポーネントに対して、コンテンツ・ドロップ・テーブル（例えば、図２２に示されるもの）が存在する。もう１つの方法としては、一群のコンポーネントまたは全文書に、コンテンツ・ドロップ・テーブルの概念が用いられる。構成の中で、ドロップを受け取ることのできるコンポーネント・タイプは、受取り側のコンポーネント・タイプと呼ばれる。
【０１１８】
コンテンツ・ドロップ・テーブル３５０は、識別セクション３５２と本体３５３から成り、さらに、この本体は、カラム３５４と３５６から成っている。コンテンツ・ドロップ・テーブルの識別セクション３５２は、コンテンツ・ドロップ・テーブルが、どの受取り側のコンポーネント・タイプに対して用いられるか示している。この例では、コンテンツ・ドロップ・テーブル３５０が、タイプ「テキスト本体」の受取り側のコンポーネント・タイプ向けのドロップ・テーブルである。
【０１１９】
コンテンツ・ドロップ・テーブルの目的は、ドロップされるポテンシャル・コンテンツ・タイプを、おそらく所定の受取り側のコンポーネント・タイプにとって適切なサブコンポーネント・タイプに合わせようとすることにある。この例では、タイプ「テキスト本体」の受取り側のコンポーネントは、タイプ「テキスト」か、タイプ「ＯＬＥオブジェクト」のいずれかのコンテンツを受け入れて、これらの特定のコンテンツ・タイプを、特定の新規サブコンポーネント・タイプに対応づけるように設計されている。このドロップ・テーブルは、タイプ「テキスト」のドロップされるコンテンツが、インライン見出しのコンポーネントか、あるいは、新規サブコンポーネント用のインライン本体段落のコンポーネントと一致することを示している。タイプ「ＯＬＥオブジェクト」のドロップされるコンテンツは、インライン・イラストのサブコンポーネントとしか一致しない。ドロップされるコンテンツ項目は、おそらく、様々なコンテンツ・タイプと解されるから、第１のカラム３５４は、「ドロップされるポテンシャル・コンテンツ・タイプ」の標識が付けられる。このドロップされるコンテンツを認識するオブジェクト・アダプタは、ドロップされるコンテンツのポテンシャル・コンポーネント・タイプを識別できる。例えば、構成上にドロップされる短いテキストは、キャプション、本体テキスト、見出しなどのタイプと解される場合がある。
【０１２０】
コンテンツ・ドロップ・テーブルは、以下のやり方で使用される。ワープロ・クリップを構成上にドロップすると仮定する。汎用オブジェクト・アダプタが、まず、テキスト、ＯＬＥオブジェクトなどのような可能なタイプのリストを作る。次に、このテーブルを、一度に１行だけ進める。左側のカラムにリストされたタイプが、ドロップされるコンテンツの特定された可能なタイプとコンパチブルではない場合には、その行を改行する。しかしながら、もしコンパチブルである場合には、ドロップされるコンテンツを用いて、右側のカラムにリストされる１タイプのコンポーネントの構築が行われる。この試みがうまくいった場合には、この処理は終了し、もしうまくいかなければ、このテーブルの次の行を試みる。さらに、ユーザは、ドロップ技法、またはユーザ・インタフェースとの他の対話処理を通じて、どのコンポーネント・タイプを生成すべきか、明確に決めることもできる。コンテンツ・タイプを解釈し、照合するための他の優先方式があり得ることが、当業者には認識されるであろう。このドロップ・テーブルの用途は、さらに、以下の図２９と図３０を参照して、考察する。
【０１２１】
媒体区分
本発明の別の有用な特徴は、媒体区分の概念である。媒体区分により、媒体の特定領域は、一組のルールとプロパティに従って、他の関連領域に分けることができる。媒体区分の概念は、ここでは、図２３〜図２８を参照して考察する。図２３と図２４は、本発明の範囲内で媒体区分をどのように使用できるかを示す一実施例を例示し、また図２５〜図２８は、様々な種類の媒体区分の図解例を与えている。つぎに、本発明の一実施例に関連しての媒体区分の使用が、以下で図３４と図３５を参照して、さらに詳しく説明される。
【０１２２】
図２３ａ〜図２３ｄは、媒体区分の使用の動機づけを示すために、簡単な製品例を与えている。図２３ａは、図に示される通り、構成３７２に載せられる特定製品について、製品レイアウトの一例３７０を示している。この製品例は、構成の左側に絵の領域があり、また当該領域の右側には名称と本体テキストが載せられている。絵の領域の中には、そのイメージ自体があり、さらに当該イメージの下には、キャプションと説明文が両方とも付けられている。この構成の右側には、製品名の下に本体テキストが載せられている。
【０１２３】
図２３ｂは、図２３ａの製品例に対してデザイン階層を表すデザインツリー３８０の一実施例を示している。最上位コンポーネントの製品は、３つの子、すなわち絵、名称、本体を有する。この中間コンポーネントの絵には、３つのサブコンポーネント、すなわちイメージ、キャプション、説明文が入っている。デザインツリー３８０は、製品例の編成の階層的分類を与えているが、ただし、個々のコンポーネントのレイアウトに関する情報の提供は求められていないことに注目すること。これに反して、図２３ｃの媒体ツリー３９０は、各コンポーネントの媒体ファセットのプロパティとして、デザインツリーの中のコンポーネントそれぞれのレイアウトについて、さらに詳細な情報を提供している。図には示されていないが、媒体ツリーの各コンポーネントは、様々なプロパティで画成される対応範囲を持ち、その範囲が、媒体の中でそのコンポーネントが置かれている位置を示す。
【０１２４】
図２３ｃの媒体ツリー３９０は、領域内への領域の形態的格納を固有に表すものと見なされる。言い替えれば、当該媒体ツリーの各ノードまたは各コンポーネントは、ページ（紙ページ媒体の場合）上の１領域に対応するか、あるいは、別の媒体では、他の何らかの領域に対応している。媒体ツリー３９０は、絵とテキストエリアという２つの子がある根の製品を有する。絵のコンポーネントは、絵の情報が載っている構成の左側を示す。テキストエリアのコンポーネントは、適切なテキストが現れる構成の右側を示す。テキストエリアのコンポーネントは、名称と本体という２つの子がある。絵のコンポーネントは、イメージと絵テキストエリアという２つのサブコンポーネントを持っているが、一方、絵テキストエリアは、キャプションと説明文という子を持っている。形態的な意味では、コンポーネントの絵は、それが、イメージと絵テキストエリアという２つの子を持つという理由で、横方向に２つの領域に分けられた。このことは、絵のテキスト（キャプションのテキストと、説明文のテキストを含む）の上にイメージが載せられている図２３ａの製品例からわかる。規定により、横線により上部と下部に分けられる領域は「横区分」と呼ばれるが、一方、縦線により左側と右側に分けられる領域は「縦区分」と呼ばれる。
【０１２５】
絵用の領域の横区分は、全体の製品のコンポーネントの縦区分と対照させることができる。すなわち、絵のコンポーネント（左側に絵の領域を表す）と、テキストエリアのコンポーネント（右側にテキストの領域を表す）との間には、図２３ａからわかるように、絵とテキストエリアとの情報の縦区分がある。図２３ａでは、絵の情報が、構成の左側に載せられているが、一方、テキストエリアには、構成の右側に載せられているテキスト情報が入っている。さらに、コンポーネントの絵テキストエリアは、キャプションと説明文という２つのサブコンポーネントも有する。キャプションと説明文は上下に並べて載せられているために、絵テキストエリアの領域は、横に分けられている。同様に、テキストエリアのコンポーネントは、横に名称のコンポーネントと本体のコンポーネントに分けられる。以上の様々のコンポーネントを、縦に、横に、または他の方法で、どのように分けるか指定する技法の一実施例は、以下で、図２４を参照して考察する。
【０１２６】
この簡単な例では、デザインツリーも媒体ツリーも、だいたい同じように思われる。しかしながら、さらに複雑な構成では、デザインツリーと媒体ツリーとはまったく異なる場合がある。例えば、図２３ａの本体テキストを考えてみる。ここでは、この本体テキストは、１ページにのみ載せられている。従って、本体テキストは、このページの１つの媒体領域に包含され、また、この１ページ上に本体テキストの位置を表すには、図２３ｃで媒体コンポーネントがただ１つ必要となる。しかしながら、もし、この本体テキストを、２ページ目に広げるか、あるいはカラム間で分割するとしたら、この本体テキストは、媒体ツリーの中の様々な媒体コンポーネントで表されることになる。けれども、デザインツリーは、本体テキストを、単一コンポーネントである本体で、なお表すことになる。この場合には、デザインツリーと媒体ツリーは、異なるように思われるであろう。さらに、デザインツリーと媒体ツリーにおいて、他のさらに複雑な情報表現が可能であることも認識されること。別の例では、後続するページに様々の製品を載せているホームページがあるＨＴＭＬ版のパンフレットでは、ホームページ上にあるライブ・リンクは、デザインでは製品の１部であるが、媒体では１ページ目の一部である（すなわち、他の製品コンポーネントとはまったく異なる）。
【０１２７】
例示のために、図２３ｂのデザインツリーと図２３ｃの媒体ツリーは、別々のツリーとして示されている。しかしながら、これらのツリーは、いくつかのコンポーネントを共有している。例えば、製品、絵、名称、本体、イメージ、キャプション、説明文のコンポーネントは、双方のツリーに共通のコンポーネントである。それゆえ、図２３ｂと図２３ｃのデザインツリーと媒体ツリーは、図２３ｄの単一であるが、さらに複雑なツリー構造で、さらに見ることができる。この例では、どのようにして、様々なコンポーネントを、これら２つのツリーで共用するのかわかるが、とはいえ、この媒体ツリーは、テキストエリアと絵テキストエリアなどの追加コンポーネントを有する。例えば、特定の媒体領域では、図２３ａの製品例の名称と本体がともに現れるために、それらは、媒体ツリーの中のコンポーネントの製品の下で、媒体コンポーネントのテキストエリアの下に表される。この追加媒体コンポーネントは、名称と本体の両方の媒体領域を画成するのに役立つ。同様に、図２３ａの絵は、形態的意味で、イメージを表す上部媒体領域と、絵用のテキスト（この場合、キャプションと説明文）を表す下部媒体領域に分けられるものと見なせる。従って、媒体ツリーでは、図２３ａのキャプションと説明文は両方とも、媒体ツリーの中で、適宜、絵テキストエリアと称される特定の媒体領域に包含される。
【０１２８】
媒体領域を分ける概念を表す技法の一実施例は、図２４に示されている。図２４は、図２３ｃの媒体ツリー３９０に加えて、そのコンポーネントに対して媒体の区分に役立つ対応媒体区分も、さらに詳細に示している。媒体ツリーは、各コンポーネントに利用できる領域を、各コンポーネントの子の間で分ける方法を決定するために、各コンポーネントに媒体区分を使用している。言い替えれば、特定の領域または範囲を表す各親コンポーネントは、その子を当該領域内に入れるか、あるいは当該領域と何らかの関係に置く役割を負っている。
【０１２９】
媒体区分は、特定コンポーネントの子に関するレイアウトを決定する一組のルールを記述した当該コンポーネントの一組のプロパティと見なされる。媒体区分は、様々なプロパティをいくつでも含むことができ、また様々なやり方で、あるコンポーネントの範囲を分けることができる。例示として、特定の媒体区分が図２４に示されており、また特定タイプの媒体区分が、以下で、図２５〜図２８を参照して説明される。媒体区分に関するプロパティ、ルール、値は、どんな適切なやり方でも、特定のコンポーネントと対応づけられるものとして、表すことができる。例示として、媒体区分は、特定のコンポーネントにリンクされる別のオブジェクトとして表すことができる。図２４の媒体ツリー３９０は、製品、テキストエリア、絵、絵テキストエリアのコンポーネントがそれぞれ、どのようにして対応媒体区分を持つのか示している。次に、これらの様々な媒体区分の用途を説明する。
【０１３０】
製品のコンポーネントと対応づけられる媒体区分３９２は、製品向けの媒体領域が、どのようにして製品の子の間で分られるか定めるのに役立つプロパティがいくつでも対応づけられる。媒体区分３９２は、製品のコンポーネントと対応づけられる様々なプロパティおよび値を示している。例示として、媒体区分３９２は、値「二様」を持つプロパティを有し、この値は、製品向けの媒体領域を、２つの異なる子のために２つに分けるべきことを示している。値「縦」は、製品向けの媒体領域を、図２３ａでわかるように、縦線で左側と右側に分けるべきことを示している。値「適合２５％」は、製品のコンポーネントに当てられる領域の左側の第１の子を、この領域の２５％という絶対測定値に収めるべきことを示している。「余白１２ポイント」の値は、各子向けの領域の間隔が、余白１２ポイント幅であることを示している。「偽」の値を持つプロパティ「スワップ」は、２５％の適合値が、親領域の左端から（右端ではない）測られるべきことを示している。
【０１３１】
コンポーネントのテキストエリアは媒体区分３９６を有し、この媒体区分は、二様区分でもあり、従って、親コンポーネントのテキスト領域内に、名称と本体のコンポーネント向けの２つの領域を備えている。媒体区分３９６は、媒体区分３９２とは異なって、横線が、テキストエリアを、名称と本体のテキストに対して、それぞれ上端部分と下端部分に分けることを意味する横区分である。さらに、この媒体区分は、「正確適合」プロパティ値も持っており、この値は、名称と本体テキストが、親の領域の特定割合部分または絶対測定部分には割り当てられるべきでないが、ただし、第１の子（例えば、名称）には、その子が必要とするだけのスペースが割り当てられるべきであることと、その残りのスペースを、第２の子、例えば本体テキストに割り当てるべきことを示している。
【０１３２】
コンポーネントの絵は媒体区分３９４を有し、この媒体区分も、その領域を、その２つの子であるイメージと絵テキストエリアに対して、横に２つの部分に分けるべきことを示している。コンポーネントの絵テキストエリアは媒体区分３９８を有し、この媒体区分も、そのコンポーネントに当てられた領域を、その子であるキャプションと説明文に対して、横に２つの部分に分ける。
【０１３３】
子が親の範囲内にどのようにして入れられるか指定するために、あるいは、どのようにして子が親との関係に置かれるか指定するために、他の多くのタイプのプロパティおよび値を媒体区分に含めることが認識されること。子が親の領域内に入れられることや、さらに、子が、親に割り当てられた領域の外に置かれることも必ずしも必要ではない。一例として、媒体区分向けの適合プロパティは、絶対適合か、正確適合のいずれかである。絶対適合は、子に割り当てられるべき領域の割合を与えるか、どれくらいの領域を占有すべきかを示す指定媒体単位を与えるか、あるいは子に対して縦横比を与えるか、いずれかである。媒体区分内の正確適合値は、配置された第１の子に、その子が必要とするだけの領域が与えられ、それ以外の領域を、第２の子と、それに続く子に残しておくことを示している。二様の媒体区分に有用な他のプロパティには、上昇形と下降形の適合、バランスのタイプ（例えば、絶対、正確、折衝される）、区分線に最適な場所、最小または最大の許容区分線、最適な場所から外れる区分線の許容度、別のページに流れる子のテキスト／コンテンツを処理するオプション（例えば、第２の子を最初のページに置いておく、第２の子を、別のページの流れ終了点に移す）、ページの区切りなし、強制される場合にページを区切る、つねにページを区切る、などがある。
【０１３４】
図２５〜図２８は、本発明の実施例で使用される様々なタイプの媒体区分を示している。他の種類および形式の媒体区分が可能であると考えられる。図２５ａ〜図２５ｆは、一様の媒体区分の例４００を示す。親コンポーネントが、ただ１つの子コンポーネントを持ち、親コンポーネントが、当該子コンポーネントを、親コンポーネントで占有された領域との何らかの関係に置こうとしている時に、一様の媒体区分が使用される。
【０１３５】
図２５ａは、親コンポーネント４０４で占有される領域の中に入れられている子コンポーネント４０２の一例である。このような一様の媒体区分は、親領域の端縁のそれぞれから余白を測ることで、子を親との関係に置くことができる。図２５ｂは、親コンポーネント４０８のコーナ領域に置かれている子コンポーネント４０６の一例である。図２５ｃは、親コンポーネント４１２で占有される１領域の端縁に沿って配置されている子コンポーネント４１０の一例である。図２５ｄは、親コンポーネント４１６で占有される領域と重なり合う場所に置かれている子コンポーネント４１４の一例である。図２５ｅは、親コンポーネント４２０で占有される領域に、親の向きとは異なる向きに入れられた子コンポーネント４１８の一例である。図２５ｆは、親コンポーネント４２４で占有される領域から離して配置されている子コンポーネント４２２の一例である。さらに、子コンポーネントは、親コンポーネントで占有される領域と完全に一致するか、あるいは、親コンポーネントの領域のどの一部も（例えば、左側または右側）占有する場合もある。
【０１３６】
図２６ａ〜図２６ｈは、二様の媒体区分の例４３０を示している。２つの子コンポーネントを、親コンポーネントで占有される領域と何らかの関係に置かなければならない時に、二様の媒体区分が用いられる。さらに、二様の媒体区分は、図２５ａ〜図２５ｆに示される通りに現れることもあり、ここでは、１つの子コンポーネントが、図２５に示される子コンポーネントに一致し、また第２の子が、図２５の親領域に一致している。さらに、二様の媒体区分の２つの子コンポーネントは、親領域の場所に関係なく、どんなやり方でも互いに重なり合う場合もある。図２６ｇは、２つの子領域の重なり合いについて、考えられる一例である。
【０１３７】
図２６ａは、子１が親領域４３２の左領域を占有し、また子２が右領域を占有している縦の二様媒体区分の一例である。図２６ｂは、子１が親領域４３４の上端部を占有し、また子２が下端部を占有している横の二様媒体区分の一例である。図２６ｃは、３３％の絶対値が子１に対する領域４３６を示し、またその他の領域４３７を子２に残しておいている絶対適合の二様媒体区分の一例である。図２６ｄは図２６ｃと同様であるが、ただし、この例では、スワップ・プロパティが「真」に設定されており、右端から３３％の絶対値を測るべきことを示している。この例では、つぎに、子２が親領域４４２の３３％（領域４４０）を占有するが、一方、子１が残りの領域４４１を占有している。図２６ｅは、親領域４４４の中で、子１と子２の間に余白のある横区分の一例である。図２６ｆは、子１に隣接して子２が配置されている二様媒体区分４４６の一例である。この例では、子１が親領域と一致している。図２６ｇは、子１が、子２で占有される領域と重なり合う二様媒体区分４４８の一例である。図２６ｈは、子１が、子２で占有された領域から離れて配置されている二様媒体区分４５０の一例である。ここでは、子１は、親領域と一致している。
【０１３８】
図２７ａ〜２７ｅは、三様の媒体区分の例４６０を示している。図２７ａは、親領域４６２を、どのようにして子１、子２、子３の間で分けるのか示す第１の例である。図２７ｂは、親領域４６４を、どのようにして３つの子の間で分けるのか示す第２の例である。図２７ｃは、親領域４６６を、どのようにして３つの子の間で分けるのか示す第３の例である。図２７ｄは、親領域４６８を、どのようにして３つの子の間で分けるのか示す第４の例である。図２７ｅは、親領域４７０を、矩形でないやり方で、どのようにして３つの子の間で分けるのか示す第５の例である。任意の媒体区分では、子で占有される領域は、どんなやり方でも指定でき、必ずしも直交座標系によらないことが認識されること。例えば、二様の媒体区分は、山形線または曲線を使って親領域を分けることができ、必ずしも垂直線や水平線を使うとは限らない。
【０１３９】
さらに、三様の媒体区分は、第３の矩形（または、他の形状）を、他の２つの子領域と何らかの関係に置いている（例えば、内部に、隣りに、または重なり合わせて）二様媒体区分の任意のものとして現れる場合がある。さらに、三様の媒体区分は、親領域の場所に関係なく、ただ３つの子領域の関係を指定することができる。例えば、三様の媒体区分は、３つの子領域が、何らかのやり方で隣接しているか、重なり合っているか、あるいは、それぞれ、一定のスペースで隔てられている関係を指定できる。
【０１４０】
図２８ａ〜図２８ｅは、Ｎ様の媒体区分の例４８０を示している。Ｎ様の媒体区分は、任意の数の子に当てられている媒体領域を示している。好適な実施例では、Ｎ様の媒体区分は、横区分を用いる親媒体領域の割当てをさす。例えば、図２８ａは、親領域４８２を、その子（数はいくらでもよい）それぞれについて、絶対割合に分けているＮ様の媒体区分の一例である。図２８ｂは、親領域４８４が、正確適合のやり方で、その４つの子で満たされており、またその余分の媒体が親領域４８４の下端に残されている下降形の正確適合割当ての一例である。図２８ｃは、親領域４８６が、その３つの子を当該領域にちょうど収めることで満たされ、また当該領域内の余分のスペースが等しく分けられて、各子の前後に散在している正確適合媒体区分の別の一例である。図２８ｄは、３つの子が、親領域４８８内に求めるスペースにちょうど収められ、また当該領域内のどんな余分のスペースも子と子の間に挟まれている正確適合媒体区分の別の一例である。図２８ｅは、親が持てる任意の数の子に対して、任意の数の領域に分けられている抽象親領域４９０の一例である。親領域は多くの形式を取り、また親領域の外に子領域を割り当てることも含め、どんなやり方でも分けられるものと認識されること。
【０１４１】
他の多くのタイプの媒体区分が可能である。例えば、三次元媒体は、三次元単位に分けられる。サウンドまたはビデオから成る媒体は、サウンドまたはビデオのタイムユニットに分けられる。さらに、媒体の全体のページを表す媒体区分も検討される。
【０１４２】
本発明の手順実施例
上述の本発明のツリー表現、媒体区分、他の実施例に加えて、本発明の追加実施例は、構成のコンテンツ、デザイン、媒体を自動的に調整する技法に関するものである。例えば、ユーザが、構成にテキストまたは絵（例として）の形式でコンテンツを追加する場合には、本発明は、コンテンツを調整するか、デザインを変更するか、またはそのコンテンツに対して媒体レイアウトを書式変更するか、いずれかにより、そのコンテンツを媒体に自動的に合わせることができる。さらに、構成内の所定のコンテンツでは、ユーザは、そのコンテンツに対して新規のデザインを選択することもあり、本発明は、その新規のデザインでコンテンツを自動的に書式変更する。さらに、ユーザが、指定デザインでの特定のコンテンツを指定した場合には、ユーザは、そのコンテンツを、画面媒体、紙ページ媒体、ＨＴＭＬ媒体などのような様々な媒体に直すために、本発明の実施例を利用できる。
【０１４３】
以下の図２９〜図３８は、指定したデザインを有する特定のコンテンツを特定の媒体に自動的に収めるための様々な実施例および技法に関するものである。図２９は、新規コンテンツが構成に追加されて、本発明が、そのコンテンツを媒体に自動的に合わせることのできる実施例を説明している。図３７は、ユーザが、特定の構成に新規デザインを選択する一実施例に関し、また図３８は、ユーザが、特定のコンテンツを新規媒体に直したいと思っている一実施例に関するものである。次にこれらの実施例の流れ図を考察する。
【０１４４】
図２９は、新規コンテンツを構成に追加する技法の一実施例を説明している。
このコンテンツを追加している構成は、空白デザイン形式などの文書シェルであるか、あるいは、作成中の構成、または、テキストやイメージなどのコンテンツがすでに完全に入っている構成である。第１のステップ５０４では、１つのコンテンツを、その構成のコンポーネントにドロップする。例えば、ユーザは、コンテンツを、ドラッグ・アンド・ドロップ、または他の技法を通じてドロップする構成内のある場所を指示できる。この場所は、一般に、構成のデザインツリーの受取り側のコンポーネントに対応している。例えば、ユーザは、構成内のイメージ用の１領域の空白アウトラインに写真をドロップすることができる。
【０１４５】
次のステップ５０８では、汎用オブジェクト・アダプタが、ドロップされたコンテンツのポテンシャル・オブジェクト・タイプを特定する。ドロップされるコンテンツは、複数のタイプを有する単一オブジェクトと解されるか、あるいは、単一オブジェクト内の様々なタイプの集合体である。多種多様なポテンシャル・オブジェクト・タイプが可能である。例示として、標準のタイプは、テキスト、ハイパーテキスト、データベース・レコード、オブジェクト／アプレット／コンポーネント、オーディオ／ビデオ、三次元モデル（例えば、ＶＲＭＬ）、リアルタイム・データ、イメージ、テーブルなどである。他のタイプも可能である。例えば、テキストはプレーン・テキスト、リッチ・テキスト、ビットマップなどである。絵は、ビットマップ、ベクトル作図、ＧＩＦ、ＪＰＥＧなどである。さらに、所定のコンテンツ・オブジェクトは、おそらく、様々なポテンシャル・タイプのものと解される可能性がある。例えば、イメージは、一般に、まさに１つのタイプ「イメージ」であるが、それに反して、コンテンツのテキスト段落は、タイプ「テキスト」、ビットマップ・タイプ、メタ・ファイルなどである。
【０１４６】
次に、ステップ５１２では、ポテンシャル・コンテンツ・オブジェクト・タイプの１つを、受取り側のコンポーネントで受け入れられたタイプに合わせようとする。このステップは、以下のステップ５１６で処理される照合作業からの結果を戻す。この照合作業は、ドロップされるコンテンツ・オブジェクトのタイプを、受取り側のコンポーネントが処理できるかどうか判定する目的で利用される。各受取り側のコンポーネントは、受取り側のコンポーネントが好ましい順序で受け取ることのできるタイプのリストを含んだコンテンツ・ドロップ・テーブルを使用している。このコンテンツ・ドロップ・テーブルは、上で図２２を参照して考察されている。さらに、この照合ステップは、ドロップされるコンテンツを、誤ったタイプにドロップした場合には、そのコンテンツを正しい場所に入れることもできる。例えば、受取り側のコンポーネントが絵またはテキストを受け取ることができ、かつ、このコンポーネントに製品をドロップする場合には、当該コンポーネントは、このドロップされる製品をテキストと見なすように決めることができる。さらに、イメージしか受け取れない絵にテキストをドロップする場合には、このテキストは、キャプションとして、その絵の下に現れる場合がある。このような照合作業を行わせるプロセスは、以下で、図３０を参照して考察する。
【０１４７】
ドロップ点を含まない位置にコンテンツを配置する他の状況は、デザイン選択により処理できる。例えば、パンフレットのデザインでは、絵の上に絵をドロップすると、つねに、そのコンテンツが、完全に入れ替えられる。レポートのデザインでは、ある段落を現行の段落にドロップすると、ドロップされる段落が、そのドロップ点に挿入される。以下で、図３０を参照して説明される通り、受取りコンポーネントがドロップを受け取ることができない場合には、適切なコンポーネントを見つけるために、受取り側のコンポーネントの媒体ファセット・コンテナを探索する。例えば、絵をパンフレットのテキストにドロップする場合には、テキストは、その絵を受け付けない。このテキストが入っている製品は、その製品に対して現行の絵のコンテンツを取り替えるということで、この絵を受け付ける。さらに、全製品をテキストにドロップする場合には、テキスト・コンポーネントはそれを受け付けず、そのテキストが入っている現行製品もまた、そのドロップされる製品を受け付けない。しかし、文書は、そのドロップされる製品を受け付けて、他の現行製品に加えて、新規の製品コンポーネントも挿入する。さらに、例えばレポートのデザインでは、テキストにドロップされる絵は、上述の例とは異なって、受け付けられる。すなわち、レポートのデザインでは、テキストのコンポーネントは、ドロップされる絵を受け付けて、インライン・イラストのコンポーネントを生成できる。様々な場所で、ドロップされるコンテンツを処理する方法に関して、他のプロトコルやデザイン選択が可能であることを認識しなければならない。
【０１４８】
ステップ５１２の照合作業が終わると、この照合作業の結果をステップ５１６で処理する。この照合作業から得られる結果のうち４つの例が、ステップ５１６に示されている。他の結果も可能である。このコンテンツのポテンシャル・オブジェクト・タイプをまったく受け付けないコンポーネントにコンテンツをドロップしようとする場合には、拒否の結果が現れる場合がある。このような筋書において、このシステムは、ドロップが行われないことをユーザに指示することで対処するか、あるいは、ドロップを受け付けた後に、それを何らかのやり方で拒否して、この結果をユーザに指示するか、いずれかである。拒否の結果の一実施例では、ドロップされるアイテムを、ドロップを処理できない受取り側のコンポーネントの上に位置づけると、警告アイコンが当該アイテムの上に表示される場合がある。このようなフィードバックは、ユーザが、コンテンツを構成上でドラッグしている時に、リアルタイムで発生する場合がある。
【０１４９】
第２の結果は、受取り側のコンポーネントから子コンポーネントを生成する必要があることであるかもしれない。これは、すでに所定の場所にあるテキスト領域に、構造化テキストまたは他のテキストが追加されている場合に現れることがある。第３の結果は、受取り側のコンポーネントのコンテンツを変更する必要があることを示す場合がある。これは、１つの現行コンテンツを取り替えるつもりで、この現行コンテンツの上に全面的に新規の１つのコンテンツをドロップしようとする場合に現れる場合がある。第４の結果は、受取り側のコンポーネントの様々なプロパティを変更する必要があることであるかもしれない。これは、別のフォントのテキストをすでに有している受取り側のコンポーネント上に新規フォントをドロップする場合に現れる場合がある。この場合には、受取り側のコンポーネントのフォント・ブロパティを変える必要があるであろう。ステップ５１６のいくつかの結果では、デザインツリーは、コンポーネントの追加または削除により、変更される場合がある。このステップ５１６は、以下で、図３１を参照して、さらに詳しく考察する。
【０１５０】
ステップ５２０では、構成の現行コンテンツを、指示された媒体に合わせる。
このステップは、特定のデザインの中でユーザが指定した現行コンテンツを取り上げて、そのコンテンツを適切なやり方で調整して、当該コンテンツを所要の媒体領域に合わせるようにする。このステップは、以下の図３３を参照にして、さらに詳しく考察する。このステップは、デザインのプロパティで可能となれば、媒体の全体サイズと形式を変更することになるかもしれない。例えば、パンフレットでは、総ページ数が決められるが、レポートのデザインでは総ページ数を増やすことができる。
【０１５１】
次に、ステップ５２４では、コンテンツツリー、デザインツリー、媒体ツリーを含む全体の構成を、指定媒体に表現する。例えば、指定媒体が画面媒体であれば、当該システムは、コンピュータ画面で見れるように、構成を表現する。同様に、指定媒体が紙ページ媒体であれば、当該システムは、紙ページ上に印刷するが、ただし、印刷プレビュー・オプションを通じて、コンピュータ画面で紙ページ媒体を見れるようにする場合もある。同様に、ＨＬＭＬ媒体に表現される構成は、ウェブページ形式でのプレゼンテーション向けに書式設定されて、ＨＴＭＬ言語に変換されるが、ただし、これら同一のウェブページは、印刷プレビュー・オプションを通じて、コンピュータ画面で見られる準備がしてある。構成は、各コンテンツ要素用のデザインツリーから得られた情報とともに、各コンテンツ用の範囲を取り上げて、この情報を所望の媒体に出力することにより、表現される。例えば、構成は、コンピュータ・システムの標準ドライバを使用して情報を出力することにより、紙媒体に表現される。
【０１５２】
構成は、多種多様なやり方で、媒体に表現される。例示として、オペレーティングシステムおよび／またはデバイスＡＰＩとドライバを用いて、紙媒体への表現が行われる。コンピュータ画面への表現も、オペレーティングシステムおよび／またはデバイスＡＰＩとドライバを用いて行われる。ＨＬＭＬ形式への表現は、媒体ファセット・プロトタイプのマクロを用いて、また公式に利用できるＨＴＭＬ仕様を用いて行われる。ＯＬＥオブジェクトへの表現は、公表ＯＬＥインタフェースを参照して行われる。さらに、他のアプレットへの表現も、公表仕様を参照して行われる。
【０１５３】
図３０は、図２９の照合コンテンツのステップ５１２を説明している。コンテンツ・オブジェクトが、受取り側のコンポーネント上にドロップされると、このステップは、構成のコンテンツ・タイプを、ドロップされるコンテンツに合わせようとする。例えば、ユーザは、コンテンツ・オブジェクトを、誤った場所、すなわち、そのコンテンツを受け付けない受取り側のコンポーネント上にドロップする場合がある。このステップは、ドロップされるコンテンツを受取り側のコンポーネントに合わせるのに役立つように、図２２のコンテンツ・ドロップ・テーブルを利用する。ステップ５５４では、ドロップされるコンテンツ用のポテンシャル・コンテンツ・オブジェクト・タイプの１つに関する新規サブコンポーネント・タイプ順位付けリストとの第１の照合を見つけるために、受取り側のコンポーネントのコンテンツ・ドロップ・テーブルを探索する。
【０１５４】
例えば、戻って図２２のコンテンツ・ドロップ・テーブルを参照すると、ドロップされるコンテンツ・タイプが、「テキスト」のポテンシャル・タイプを有する場合には、インライン本体段落の最高優先順位の新規サブコンポーネント・タイプが、最初に一致して、インライン本体段落の新規サブコンポーネント・タイプを生成すべきことを示す。しかしながら、ドロップされるコンテンツがタイプ「イメージ」のものでしかない場合には、そのドロップ・テーブルが、最初にインライン本体段落およびインライン見出しをコンテンツ・タイプに合わせようとし、失敗し、次にインライン・イラストを「イメージ」に合わせる。一般に、好ましい照合を見つけるために、コンテンツ・ドロップ・テーブルの逐次探索が行われる。高位優先順位のテーブル項目をポテンシャル・オブジェクト・タイプのどれかに合わせるのが好ましい。言い替えれば、このテーブルは、最高優先順位のコンテンツ・ドロップ・テーブル項目をポテンシャル・オブジェクト・タイプのどれかに合わせてから、低位優先順位のテーブル項目をポテンシャル・オブジェクト・タイプのどれかに合わせようとする。
【０１５５】
ステップ５５８は、コンテンツ・ドロップ・テーブルの中で照合が見つけられたかどうかテストする。照合が見つけられた場合には、ステップ５６２において、コンテンツ・ドロップ・テーブルからの当該照合と対応づけられた結果が取り出されて、処理のために図２９のステップ５１６に戻される。コンテンツ・ドロップ・テーブルから得られた結果は、必要に応じて生成される新規タイプのコンポーネントとともに、ステップ５１６の可能な結果のうちの１つも示している。他の多くのタイプの結果が、コンテンツ・ドロップ・テーブルでの照合と対応づけられ、またステップ５１６でも処理されることを認識しなければならない。結果は、特定のコンポーネントまたはコンポーネント・タイプと対応づけられた特殊コードでも処理される場合がある。
【０１５６】
それに反して、照合がステップ５５８で見つけられない場合には、制御がステップ５６６に移る。例えば、ユーザが、ごく小さいキャプション上に大きな絵をドロップしようとする場合には、照合はない。ステップ５６６は、ドロップされるコンテンツ・オブジェクトのタイプに、媒体ファセットツリーを発展させることで、一致することのできる受取り側のコンポーネントを見つけようとする。受取り側のコンポーネントには媒体ファセット親がない場合には、ステップ５７０において、拒否の結果を戻して、図２９のステップ５１６で処理させる。しかしながら、媒体ファセット親が実際に存在する場合には、ステップ５７４において、これらのポテンシャル・コンテンツ・オブジェクト・タイプを、受取り側のコンポーネントの媒体ファセット親に渡して、その媒体ファセット親か、またはその親の他の子のうちの１つを用いて照合が見つけられるかどうか調べる。このプロセスの一例は、図２３ｃを参照して、例示される。例えば、テキストが、イメージのコンポーネント上にドロップされる場合には、ステップ５５８は、照合を見つけられないが、それなら、ドロップされるテキストを、上方に、絵である親媒体コンポーネントに渡すことになる。次に、絵は、ドロップされるテキストを、下方に、その子のうちの１つ（例えば、キャプションまたは説明文）に渡して、そのテキストを、この位置にドロップする。このようにして、ドロップされるコンテンツ・オブジェクトは、たとえ、誤った地点にドロップされても、正しい場所にルートを決め直すことができる。絵が、まだキャプションの子を持たない場合には、ドロップされるテキストのフォントは、キャプション構築の１パラメータとなることができる。
【０１５７】
ポテンシャル・コンテンツ・オブジェクト・タイプが媒体親（この場合、受取りコンポーネントと見なされる）に渡されると、このプロセスは、ステップ５５４までループバックして、この新規受取り側のコンポーネントを求めてコンテンツ・ドロップ・テーブルを探し、ドロップされるコンテンツに対して可能な照合を見つける。その流れは、このようにして、可能な結果のうちの１つがステップ５１６に戻されるまで続く。この手順がループするために、媒体ファセットツリーのすべての親は、結果が照合か、拒否のいずれかとなるまで、照合チェックをする。
【０１５８】
図３１は、図２９の照合作業のステップ５１６の処理結果を、さらに詳しく説明している。このステップは、照合作業の前回ステップからの結果を受け取って、その結果を処理する。第１のステップ６０４は、結果がドロップの試みを拒否することであったかどうか決定する。答えがイエスであれば、ステップ６０８において、ドロップを無視するか、または何らかのやり方で不能にし、そのあと、図２９の手順が終了する。ユーザにドロップを実行できるようにしているか、あるいは、ユーザがコンテンツを構成上にドロップしようとする時にリアルタイムでドロップを不能にできる場合には、ドロップは無視される。
【０１５９】
ステップ６１２は、結果が、「子のコンポーネントを生成する」であるかどうかテストする。それが結果であれば、ステップ６１６において、受取り側のコンポーネント用の子コンポーネントは、新規子コンポーネント用のコンテンツを提供するドロップされるコンテンツ・オブジェクトを用いて、さらにドロップ・テーブルから提供されるタイプを用いて生成される。このような状況では、新たな場所に新規コンテンツが追加されているために、これは、「配置」操作と見なされる。例えば、絵の上にテキストがドロップされる場合には、テキストを構成の絵に取り替えずに、新規のキャプションを生成できる。新規コンポーネントは、適切などんなやり方でも生成できる。例示として、構築手順は、それぞれのコンポーネント・タイプと対応づけられている。新規コンポーネントを生成するためには、そのコンポーネントのファクトリが見つけられ、コンポーネントが生成され、ドロップされるコンテンツが、新規コンポーネントと対応づけられる。新規コンポーネントはまた、その親オブジェクトからも、情報とプロパティを継承することもある。好適な実施例では、生成法は、コンポーネントのプロトタイプにより処理される。ステップ６１６は、配置操作として、以下で図３２を参照して、さらに詳しく考察する。このステップ６１６が終了すると、制御は、図２９のステップ５２０に戻る。
【０１６０】
ステップ６２０は、結果が、「受取り側のコンポーネントのコンテンツを変更する」であるかどうかテストする。もし、そうであれば、ステップ６２４において、ドロップされるコンテンツ・オブジェクトを、受取り側のコンポーネントの現行コンテンツ・オブジェクトに渡して、そのコンテンツ・オブジェクトをコンテンツ編集として処理する。この例では、新規子コンポーネントは生成されてなくて、受取り側のコンポーネントと対応づけられたコンテンツが、変更されているか、または取り替えられている。言い替えれば、旧コンテンツは取り除かれて、新規コンテンツに取り替えられる。このステップでは、様々なタイプの編集が可能である。例えば、旧コンテンツを完全に取り替えるか、新規コンテンツを旧コンテンツに挿入するか、あるいは新規コンテンツを旧コンテンツと連結するか、いずれかである。このステップは、「取替え」操作として、以下で図３２を参照にして、さらに詳しく考察する。このステップ６２４が終了すると、制御は、図２９のステップ５２０に戻る。
【０１６１】
ステップ６２８は、結果が、「受取り側のコンポーネントのプロパティを変える」であるかどうかテストする。もしそうであれば、ステップ６３２において、ドロップされるコンテンツ・オブジェクトから新規プロパティ名・値対を取り出す。例えば、現行コンテンツ・オブジェクト上に新規フォントをドロップしている時に、このような状況が発生することがある。別の例では、製品リスト・タイプのコンポーネント上にフォントがドロップされる場合には、そのサブコンポーネントが、当該新規フォントを継承する。これは、製品リスト・コンポーネント・タイプが、それ自体のテキストはまったく持たないが、そのサブコンポーネントの意志を持つからである。すなわち、これらのサブコンポーネントは、対応テキストを持つが、それ自体のテキスト・フェース・プロパティは持たない。さらに、取り出されたプロパティ名・値対は、現行プロパティに対して新たな値を単に指定するだけであるか、あるいは、現行コンテンツ・オブジェクトに対して、新規のプロパティと値も定める。さらに、これは、コンテンツの１プロパティが変更されていること、あるいは、多くのプロパティが変更されていることの、いずれかである。
【０１６２】
次に、ステップ６４０では、受取り側のコンポーネントの現行プロパティは、ドロップされるコンテンツ・オブジェクトから取り出されたプロパティと値に変更する。この操作は、取り出された値を、受取り側のコンポーネントの対応プロパティに合わせることで行われる。例えば、フォント「Ｈｅｌｖｅｔｉｃａ」を有する現行コンテンツ・オブジェクト上に、新規フォント「Ｔｉｍｅｓ」がドロップされている場合には、取り出されたプロパティ・フォントを、現行プロパティ・フォントに合わせ、新たな値「Ｔｉｍｅｓ」が、旧プロパティ値「Ｈｅｌｖｅｔｉｃａ」に取って替わる。
【０１６３】
新規プロパティ値を設定すると、デザインツリーが変更される可能性がある。
すなわち、デンザイン変更は、プロパティ値の特定の設定と対応づけられる場合がある。例えば、文書は、ページ数と、これらのページ数が表示されているかどうかを示すスタイル設定プロパティとを含むことがある。文書にページ数を添えるべきでないことを示すために、スタイル設定プロパティを変更する場合には、この文書を表すデザインツリーを変更して、ページ数を表すコンポーネントを文書から取り除くことになる。その他のプロパティやそれらの値は、同様に、デザインツリーの変更を必要とする場合がある。プロパティ値がデザインツリーの変更を示す場合には、デザインツリーは、ここで、適宜に変更される。ステップ６４０が終了すると、制御は、図２９のステップ５２０に戻る。ステップ６２８への答えがノーであれば、他の結果をここで処理してから、制御をステップ５２０に戻す。
【０１６４】
図３２は、図３１のステップ６１６またはステップ６２４のいずれかから呼び出される配置／取替えステップを説明している。配置／取替え操作は、新規コンテンツを構成に入れるか、あるいは、特定の編集操作により現行コンテンツを新規コンテンツに取り替えるために、使用される。ステップ６５４は、これが配置操作であるか、取替え操作であるかどうか決定する。配置操作は、新規コンポーネントが生成される必要がある時に使用されるが、一方、取替え操作は、一般に現行コンポーネントが再使用される時に使用される。現行コンポーネントは、そのプロパティを保存することが望ましいために、再使用されるか、あるいは、その現行コンテンツの一部が再使用される。これが配置操作である場合には、ステップ６６２において、新規コンポーネントが割り当てられる。新規コンポーネントは、図３０のステップ５５４からのドロップテーブルで照合されたタイプを用いて、割り当てられる。
【０１６５】
これが取替え操作である場合には、ステップ６５８において、当該システムは、ドロップ・テーブルで照合されたものと合致したタイプを有する新規コンポーネントの現行サブコンポーネントがすでにあったかどうか判定する。図３２は、必要なだけの数の新規コンポーネントを生成するルーピング操作であるから、ステップ６５８に示される新規コンポーネントは、初めてループを通る初期受取り側のコンポーネントだけでなく、ループがさらに繰り返される任意の再使用コンポーネントもさす。ドロップ・テーブルで照合されたタイプと合致する現行サブコンポーネントは、どんなものでも適切となる。この照合は、ドロップ・テーブルにおいて最高優先順位タイプである必要はないが、高位の優先順位照合が選好される。取替え操作か、配置操作のいずれかを選択する場合には、好適な実施例では、取替え操作の方が好ましい。
【０１６６】
再使用されることのある現行サブコンポーネントの一例は、以下の通り説明される。タイトルの付いた文書のことを考えよう。この文書では、タイトルが、ユーザでデザインされた独特のフォント・スタイルで表示されている。ユーザは、文書を取り替えるかもしれないが、タイトルは変えないようにしたいと思っている。しかしながら、新規の取替え文書は、きわめて普通のフォント・スタイルのタイトルを持っていることもある。ユーザは、あらかじめ、タイトルを独特のフォント・スタイルに変更しているために、このタイトルをずっと独特のフォント・スタイルにしておくことが望ましいであろう。この例では、独特のフォント・スタイルを保存するために、旧タイトル（またはコンポーネント）を再使用することが望ましいであろう。従って、このタイトルを独特のフォントで表す現行サブコンポーネントを再使用することになる。しかしながら、ユーザが、つねに旧フォント・スタイルを保存したいと思うか、現行のフォント・スタイルを新規フォント・スタイルに取り替えたいと思うかどうかは、デザイン選択の問題であるかもしれない。
【０１６７】
照合するタイプを有する現行サブコンポーネントがステップ６５８には見つけられない場合には、ステップ６６２において、新規コンポーネントが割り当てられる。しかしながら、再使用される現行サブコンポーネントがある場合には、ステップ６６６において、可変の新規コンポーネントを、再使用されるこのサブコンポーネントに等しくなるように設定する。ステップ６６２か、ステップ６６６のいずれかが終了すると、そのあと、デザインツリー、コンテンツツリー、媒体ツリーのそれぞれを変更して、この新規のコンポーネントを挿入する必要がある（新規コンポーネントが新たに生成されるにしても、新規コンポーネントが再使用コンポーネントであるにしても）。
【０１６８】
ステップ６７０では、この新規コンポーネントのデザインツリー親ポインタは、ドロップされるコンテンツ・オブジェクトを受けた元のコンポーネントを指すように設定されている。このようにして、新規コンポーネントは、元の受取り側のコンポーネントのサブコンポーネントとなる。これが、図３２のループ手順を経る第１の繰返しではない場合には、この新規コンポーネントのデザインツリー親ポインタは、その直近の親（ループの前回の繰返しで生成された可能性のあるもの）を指すように設定されている。こうして、デザインツリーは、新規コンポーネントを取り入れるように変更される。次に、ステップ６７４では、新規コンポーネントのデザインツリー親ポインタは、ドロップされるコンテンツ・オブジェクトを指すように設定されている。これが、図３２のルーピング手順を経る第１の繰返しではない場合には、この新規コンポーネントのコンテンツ親ポインタは、ドロップされるコンテンツ・オブジェクトの、次のコンテンツ・サブオブジェクトに設定されることになる。格納階層の点から、新規コンポーネントは、ドロップされるコンテンツ・オブジェクトに包含される。このようにして、コンテンツツリーは、ドロップされるコンテンツ・オブジェクト（または、次のコンテンツ・サブオブジェクト）を含むように、更新される。
【０１６９】
次に、ステップ６７８において、新規コンポーネントの媒体ツリー親ポインタは、ヌルに設定され、また新規コンポーネントの全媒体ファセットは、割当無しに設定される。この媒体親ポインタをヌルに設定して、新規コンポーネントがレイアウトの中のどこに現れるか、デザイン・ファセット親に決定または計算できるようにするが、一方、媒体ファセットは割り当てられない。次に、新規コンポーネントを表現する試みが、レイアウトの変更を起こし、その結果、新規コンポーネント向けのスペースが割り当てられる。３つのツリーが更新されると、新規コンポーネントが初期設定される。ステップ６８２では、新たに割り当てられたコンポーネントに対して、初期設定手順が実行される。この初期設定手順は、再使用されたコンポーネントではなく、割り当てられたコンポーネントに対して実行される。一般に、初期設定手順は、コンポーネントのプロパティを、そのデフォルト値に設定する。
【０１７０】
ここで、図３２のルーピング手順では、この手順は、ドロップされるコンテンツ・オブジェクト内に含まれるあらゆるサブストラクチャのウォークを実行して、これらのサブオブジェクトに一致するコンポーネントを生成する態勢を整えている。ドロップされるコンテンツ・オブジェクトがサブストラクチャを含まない場合には、この配置／取替え操作が終わり、制御が図２９のステップ５２０に戻される。しかしながら、ドロップされるコンテンツ・オブジェクトが実際にサブストラクチャを含むことが、ステップ６８６で判定された場合には、この配置／取替え操作は、ドロップされるコンテンツ・オブジェクト内のサブオブジェクトのそれぞれに対して、コンポーネントを割り当てるか、または再使用するために、ルーピング操作を実行する。例えば、簡単なイメージでは、サブストラクチャはなく、操作は終了する。しかしながら、図６に示される構造化コンテンツ８０では、新規コンポーネントは、タイトル、小見出し、本体テキストのそれぞれに対して割り当てられるか、または再使用される。構造化テキストは、サブストラクチャを有するコンテンツ・オブジェクトの一例である。サブストラクチャがある場合には、ステップ６９０において、ドロップされるコンテンツ・オブジェクトの、次のコンテンツ・サブオブジェクトが取り出される。次に、ステップ６９４において、配置／取替え操作は、ステップ６５４までループバックすることにより、再び呼び出される。取り出された次のコンテンツ・サブオブジェクトは、次のコンテンツ・オブジェクトとして配置／取替え操作に渡され、また新規コンポーネント（新たに割り当てられたコンポーネントか、再使用されるコンポーネントのいずれか）は、受取り側のコンポーネントに代わって、配置／取替え操作に渡される。
【０１７１】
図１９〜図２１の例は、図３２のこの状況を例示するために使用される。取り入れられたワープロ・コンテンツ２９２が、最初に、空テキスト領域２８６上にドロップされる時に、図２１のテキスト・フローのコンポーネントは、受取り側のコンポーネントと見なされ、また新たに生成されたコンポーネントは、タイトル「キルロイは誰であったか？」を表すテキスト段落である。配置／取替え操作を経る第２の繰返しでは、ドロップされるコンテンツの、次のコンテンツ・サブオブジェクトは、第１の小見出し「かって、ここで」であり、また受取り側のコンポーネントに代わるコンポーネントは、ちょうど割り当てられたコンポーネント、すなわちタイトル「キルロイは誰であったか？」を表すテキスト段落のコンポーネントとなる。このようにして、図３２のルーピング手順は、図１９のワープロ・コンテンツ２８８で見つけられた構造化コンテンツのすべてを、デザインツリー、コンテンツツリー、媒体ツリーの適切な場所に収めることができる。ドロップされるコンテンツのサブオブジェクトのすべてが、配置されているか、または取り替えられている時には、このルーピング手順はステップ６８６後に終了し、図２９のステップ５１６が終わって、制御がステップ５２０に戻される。
【０１７２】
次に、図３３は、図２９のコンテンツ・媒体適合ステップ５２０を説明している。ここで図２９では、構成に新規コンテンツが追加されている。ただし、ほとんどの媒体が、何らかの意味で制限されている（すなわち、紙媒体は、一定のページ数に限定される場合がある）から、情報を媒体に収めるために、構成のコンテンツ、デザイン、または媒体をいずれか調整し直すことが必要であるかもしれない。この情報は、多種多様なやり方で、所望の媒体に収まるように調整される場合がある。例示として、利用できる媒体にコンテンツを収めることができるように、デザインを調整し直すことがある。もう１つの方法としては、媒体にコンテンツを収めることができるように、媒体を調整することがある。すなわち、媒体を伸ばすことがある。すなわち、文書のページ数が変更されるか、あるいは、媒体区分を計算することで、別のレイアウトが決定される。さらに、画成された媒体領域に収まるように、何らかのやり方でコンテンツ自体を調整することもある。例えば、全部を１ページに収めるように、フィラーイメージを、さらに大きいストック・イメージからクリップすることがある。これらの技法はどれも、単独で使用されるか、あるいは他の技法とともに使用されることを認識しなければならない。ステップ５２０は、コンテンツとデザインを調整することにより、構成の情報を媒体領域に収める方法を説明している。
【０１７３】
構成に新規コンテンツが追加されると、使用可能な媒体に、構成の全部のコンテンツを収めるように、そのコンテンツを調整しなければならない様々な理由がある場合がある。例えば、テキストの１ページがほぼいっぱいであって、かつ絵をこのページ上にドロップする場合には、この絵のために新規コンポーネントを生成するために、デザインツリーが変更されることになる。このような状況では、デザインツリーとコンテンツツリーが変更されるだけでなく、媒体ツリーも、その新規領域が、新たにドロップされる絵に対して、計算されることになる。別の例では、追加のテキストだけが、テキストの１ページ上にドロップされる場合には、デザインツリーは、変更されないであろう。なぜなら、現行テキストが、単に取り替えられているにすぎず、またデザインツリーでは、新規コンポーネントを生成する必要がなくなるからである。しかしながら、新規テキストを追加すると、デキストの本体が２ページ目にはみ出る場合には、新規ページを作成して、新規ページ用の新規テキスト・コンポーネントを、デザインツリーの中に生成する。さらに、媒体ツリーは、第２ページ上に新たに追加されたテキストの領域を計算する。同様に、テキストの１ページに追加された絵で、テキストが２ページ目に押し出されることがある。このような状況のすべてにおいて、ツリーのうちの１つ、２つ、または３つが変更されており、また、利用できる媒体に合うように、レイアウトを調整し直さなければならない。
【０１７４】
一般に、コンテンツ・媒体適合のステップは、各コンポーネント要素のレイアウトを必要とする。コンテンツ・媒体適合は、デザインツリーを上から下にたどってゆき、必要に応じて、デザインツリーの中の現行コンポーネントの間に新規媒体コンポーネントを生成することにより、スタートする。最適化では、部分ツリーだけを計算する必要があるかもしれない。ツリーを下にたどる途中で現行媒体コンポーネントについて仮領域を計算し、また再帰的アルゴリズムがツリーをたどってポップ・バックアップする時に、これらの仮領域が、最終領域と取り替えられる。特定のレイアウトが合わない場合には、各コンポーネント・タイプを調整するために、グローバルな基準倍率が使用される。
【０１７５】
第１のステップ７０４では、コンテンツ基準倍率のすべてを、公称値に初期設定する。利用できる媒体にコンテンツのすべてを収めるのに役立つように、特定のタイプのコンテンツをどのように拡大または縮小することができるのか示している。多種多様な基準倍率を使用できる。一実施例では、各タイプのコンテンツに対して、１つ基準倍率を使用する。言い替えれば、各タイプのコンテンツ（例えば、テキストまたはグラフィックス）は、このコンテンツ・タイプのすべてのコンテンツ項目を拡大するか、あるいはそのコンテンツ・タイプのすべてのコンテンツ項目を縮小するために、特定の率で調整することができる。さらに、各コンテンツ項目に対応しているコンテンツ基準倍率があること、あるいは基準倍率が、コンテンツ項目やコンテンツ・タイプのどんな並べ換えにも適用されることも考えられる。さらに、基準倍率は、タイプによるコンテンツの拡大縮小に影響を及ぼすことに加えて、むしろ特定のデザイン・コンポーネント、または媒体内の特定領域をさすこともある。好適な実施例では、タイプ・テキストのコンテンツ用のコンテンツ基準倍率、タイプ・グラフィックスのコンテンツ用の基準倍率、不透明コンテンツ基準倍率（ＯＬＥ埋め込みオブジェクトなどのオブジェクト用）、ホワイトスペース基準倍率、重なり基準倍率、レイアウト・プレッシャー基準倍率がある。初めに、以上のコンテンツ基準倍率は、公称値に設定される。例えば、各基準倍率は１００％に設定される。
【０１７６】
コンテンツ基準倍率が初期設定されると、ステップ７０８では、媒体ツリーは、構成の根からスタートして計算される。媒体ツリーは、デザイン・コンポーネント間に新規の媒体コンポーネントを生成するため（必要に応じて）、また現行および新規の媒体コンポーネントのそれぞれに対して媒体領域を計算するために、デザインツリーに織り込まれているデザイン階層を媒体ツリーに渡し、このデザインツリーをたどってゆくことにより、計算される。このステップ７０８は、デザインツリーの各コンポーネントを独自に要求する再帰的ステップである。このステップが完了すると、各コンテンツ項目は、使用可能な媒体の中で、どれくらいのスペースをコンテンツが用いるのかを示す対応範囲（すなわち、画成された領域）を持つことになる。このステップ７０８は、以下で図３４を参照して、さらに詳しく説明される。
【０１７７】
さらに、媒体ツリー計算ステップ７０８は、媒体ツリーのあらゆる子孫の総合範囲を含む全体の豊富な範囲情報も戻す。この情報が戻されると、当該システムは、文書が、使用可能な媒体に収まる（全体的であろうとなかろうと）かどうかを知り、さらに特定のコンポーネントがまったく合わないかどうかも知ることになる。すなわち、戻される情報は、特定の葉コンポーネントが合わないかどうかを示し、もし合わなければ、どの程度合わないかも示すことになる。
【０１７８】
次に、ステップ７１２は、コンテンツが、使用可能な媒体に十分ぎっしりと収まっているかどうか判定する。コンテンツがぎっしりと収まっている場合には、制御が図２９のステップ５２４に移り、コンテンツの調整は必要でない。しかしながら、コンテンツが十分ぎっしりと収まっていなければ、コンテンツを調整して、それが、使用可能な媒体に収まるようにすることができる。コンテンツが、使用可能な媒体の上方にある場合（上方適合）には、コンテンツは収まっていないと定められる。コンテンツが、使用可能な媒体の下方にある場合（下方適合）には、コンテンツは収まるが、ただし、特定のデザインにより、できる限り多くの使用可能な媒体にコンテンツを詰め込むように求められている場合には、この限りではない。この状況では、使用可能な媒体に、さらにぎっしりと収めるように、コンテンツを拡大することができる。さらに、「十分ぎっしりと」の意味を定めるために、いくつかのしきい値が用いられる。「余り」媒体しきい値は、コンテンツが下方適合である場合に、どのくらい余分の媒体が許容できるか示すものとして定義できる。さらに、「時間・回数」しきい値は、このプロセスが、コンテンツを媒体に合わせるのに、どのくらいの時間または何回、試みたか示す目的でも使用できる。その他のしきい値も使用できる。コンテンツが収まらない場合には、この流れは、ステップ７１６に進む。
【０１７９】
ステップ７１６では、全体の構成に対して、各コンテンツ・タイプの適合カルプリットを計算する。言い替えれば、このステップは、どのタイプのコンテンツが、総合上方適合または総合下方適合に寄与するか決定する。不適合に寄与する各コンテンツ・タイプでは、そのコンテンツ・タイプが寄与する程度を示す値（例えば、パーセントまたは絶対単位で）が与えられる。適合カルプリットは、各媒体コンポーネントの媒体区分を参照して決定される。例えば、対応するテキスト本体の隣りに配置されている絵が、さらに縦方向のスペースを占有する場合には、テキスト、次に絵は、特定の局限領域用の適合カルプリットであると判定される。これに反して、テキスト領域が、その隣りにある絵よりもずっと長い場合には、テキスト領域は、局所適合カルプリットであると判定される。なぜなら、このテキスト領域は、絵よりもずっと、構成の上方適合の方に寄与しているからである。それゆえ、縦媒休区分では、一般に、この縦区分内のコンポーネントのうちの１つだけが、適合カルプリットであると判定される。
【０１８０】
横媒体区分（ここでは、領域が横線で区分される）では、横区分内のコンポーネントの１つまたは全部が適合カルプリットであるかもしれない。例えば、絶対適合を使用する横媒体区分では、テキスト本体が絶対領域を完全に満たさない場合には、このテキスト本体は、全体の領域を満たしていないから、適合カルプリットではない。しかしながら、絶対領域を完全に満たす別のテキスト本体は、適合カルプリットであると判定される。同様に、正確適合を使用する横区分では、この領域に正確に収まるコンポーネントはすべて、その領域を完全に満たし、かつ余分のスペースをまったく残しておかないから、適合カルプリットと見なされる。
【０１８１】
以上の適合カルプリットはすべて、局所レベルで計算される。しかしながら、子は局所適合カルプリットであるが、もし親が適合カルプリットでなければ、この局所適合カルプリットは無意味であると言えるかもしれない。例えば、縦区分においては、一群の絵が縦区分の左部分を占有し、またテキストが右部分を占有する場合には、この一群の絵のどれも、左側で局所適合カルプリットであると判定される。しかし、この一群の絵が、全体として、右側の対応するテキスト本体よりも小さい縦スペースを占有している場合には、テキストは、この一群の絵ではなく、前記領域に対して適合カルプリットと見なされる。
【０１８２】
一実施例では、このステップは、媒体ツリーに沿って行くことにより、また媒体区分を見て局所適合カルプリットを判定し、その局所適合カルプリットが高位まで沸き上げられるかどうか判定することにより、実行される。このステップの結果は、各コンテンツ・タイプが、上方適合（または下方適合）に対して、どの程度役割を負っているか示す値である。例えば、コンテンツが５インチだけはみ出る単一ページ紙媒体では、このステップの結果は、全体として、テキスト・コンテンツが２インチだけはみ出ることと、グラフィック・コンテンツが３インチだけはみ出ることを示す値を戻すことができる。各コンテンツ・タイプに対して、上方適合または下方適合の大きさが計算されると、制御は、ステップ７２０に移る。
【０１８３】
ステップ７２０では、各コンテンツ・タイプに対してコンテンツ基準倍率を計算し直す。このステップは、コンテンツ基準倍率の１つ、多数、または全部を変更する。このステップの目的は、コンテンツを上向きに、または下向きに調整して、その結果得られたコンテンツを、使用可能な媒体に収まるように最適化することにある。ある意味では、媒体ツリー計算ステップ７０８は、いくぶん、様々なコンテンツ基準倍率を入力するブラックボックスと見なされる。ステップ７２０は、特定のやり方で、以上の基準倍率を調整して、媒体ツリー計算ステップ７０８から、別の結果を得る。所望の結果は、ステップ７１２で決定される通り、可能な限り十分ぎっしりと収められたということである。ステップ７２０は、各コンテンツ・タイプの上方適合または下方適合、現行の適合の精度、前回適合作業の精度、用いられた前回コンテンツ基準倍率、現行コンテンツ基準倍率などの様々な入力を考慮に入れている。ステップ７２０は、様々なやり方で実行される。このステップは、非線形不連続関数用の関数マキシマイザにより、行われる。
例示として、このステップは、擬似アニーリング技法か、または汎用アルゴリズムなどの他の技法を用いて行われる。このステップを行う１技法は、以下で、図３６を参照して、さらに詳しく考察する。
【０１８４】
ステップ７２０において、各コンテンツ・タイプについて、コンテンツ基準倍率が計算し直されると、図３３の手順は、ステップ７０８にループバックして、そこで、媒体ツリーが、新規コンテンツ基準倍率を用いて構成の根から、再び計算される。この手順は、コンテンツが、使用可能な媒体に十分にぎっしりと収まるとステップ７１２が判定するまで、上記のやり方でルーピングを続ける。
【０１８５】
図３４は、図３３の媒体ツリー計算ステップ７０８を説明している。このステップは、手順がデザインツリーを下にたどってゆくと、デザインツリーの中の各コンポーネントに対して再帰的に呼び出される。デザインツリーをたどってゆく時には、特定のコンポーネントが地理的にページ上にあって、また当該コンポーネントがデザイン階層内に現れるコンテンツは、当該コンポーネントのレイアウト・オプションに影響を及ぼす。
【０１８６】
第１のステップ７５４は、現行コンポーネントがプリミティブであるかどうかテストする。このテストは、この再帰的手順の終了状態として使用される。コンポーネントは、一般にイメージ、テキスト、またはデータなどのコンテンツが入っている葉ノードである場合に、プリミティブ（またはアトミック）である。コンポーネントがプリミティブである場合には、ステップ７５８において、当該コンポーネントを測って、その範囲を戻す。このようにして、再帰的にデザインツリーをたどってゆくと、葉ノードに到達した時に、その範囲が、後方にその親まで戻されて、親がそれ自体の範囲を計算できるようにする。
【０１８７】
コンポーネントの範囲は、媒体において、当該コンポーネントで占有されているＮ次元スペースである。例えば、紙ページなどの二次元媒体では、コンポーネントの範囲は、そのＸ座標とＹ座標、および、幅と高さである。ＶＲＭＬ媒体では、コンポーネントの範囲は、前述のものであり、さらに奥行きと向きを含む場合もある。従って、コンポーネントの範囲は、様々な情報を含み、コンテンツを表現する媒体によって決まる。さらに、コンポーネント用に戻される範囲情報には、コンポーネントがその割当て領域に収められるかどうか、また、もし収められなければ、それがどの程度、上方適合または下方適合となるかについての情報も含められる。コンポーネントの範囲は、一般に、「一定幅」や「一定高さ」などのプロパティによって決まる。例えば、イメージのプロパティにより、そのイメージが一定幅でなければならないことが決定されると、次に、そのプロパティに基づいて、イメージが、特定の領域に収まるようにそれ自体を調整する。すなわち、イメージは、その縦横比を保って、その領域に収まるように、自動的にその高さを調整する。コンポーネントの範囲に影響を及ぼす他のプロパティは、テキストの縦横比変更の許容差、視覚的な装飾（縁取り、フレームなど）、向き、文字間、行間、または段落間の間隔、および、ユーザ仕様（例えば、対話形式で、さらに大きい、または小さいサイズを割り当てる）である。
【０１８８】
次に、ステップ７６２では、この手順は、現行コンポーネントのあらゆるデザイン子を識別することにより、デザインツリーの奥行き優先探索を続ける。これは再帰的手順であるので、このステップは、デザインツリーの各ノードに対して実行される。このステップでは、以下のステップ７７０で説明される通り、現行コンポーネントと、その直近デザイン子との間に、新規の媒体コンポーネントを生成できるように、現行コンポーネントの直近デザイン子だけが特定される。
【０１８９】
次に、ステップ７６６では、ユーザ・デザイン選択、構成のコンテンツ、デザインツリーのアスペクトなどに基づいて、仮レイアウト・オプションが選択される。特定のデザイン選択では、多くの異なるレイアウト・オプションが可能となる。この仮レイアウト・オプションは、様々なファクタに基づいている。例えば、ユーザ・デザイン選択は、この構成に対してユーザが選択した初期デザインである。この初期デザイン選択は、どのレイアウト・オプションが選ばれるか影響を及ぼす。さらに、この構成のコンテンツは、特定のレイアウト・オプションを決定できる。例えば、きわめて縦に細長い絵、非常に幅の広い絵、またはきわめて短いテキストでは、特定のレイアウト・オプションが、特定のコンテンツには、さらに適切であることが示される。さらに、親コンポーネントのプロパティは、特定のレイアウト・オプションを示すことができる。例えば、親コンポーネントのプロパティから、どんな子の絵も、できる限り幅を広くすることが決定される。
【０１９０】
このコンテンツの他の面が、レイアウト・オプションにも影響を及ぼすことがある。例えば、新規製品は、特定の構成に追加されていてもよく、あるいは、カラムが多すぎる場合には、カラムは、カラムからロウに変える必要がある。さらに、非常に小さいキャプションおよび説明文は、非常に縦に細長いイメージの右側にはふさわしくなく、またデザインをさらに対称的にするために、適切な方法としてイメージの下に置くこともある。仮レイアウト・オプションを選択するこのステップは、最適なオプションを選択することにより、当該システムで自動的に実行される。もう１つの方法としては、レイアウト・オプションをいくつでもユーザに与えることができ、ユーザは、好みで特定のオプションを選択できる。
【０１９１】
次に、ステップ７７０では、現行コンポーネントと、現行コンポーネントのあらゆる直近デザイン子との間に、必要に応じて、新規媒体コンポーネントを生成する。このステップの目的は、新規媒体コンポーネントを生成し、これらの新規媒体コンポーネントと、それらの親および子との間にリンクを形成することにより、デザイン・コンポーネント間に媒体ツリーの一部を生成することにある。デザイン・コンポーネント間の新規媒体コンポーネントの一例は、図２３ｄに見られる。この図では、最上位デザイン・コンポーネントの製品は、デザイン子コンポーネントの絵、名称、本体を持っていることがわかる。しかしながら、この構成用の媒体ツリーは、最上位コンポーネントの製品と、その子の名称および本体との間にリンクを直接には形成しない。媒体領域は、構成の右側に割り当てられるから、テキストエリアの標識を付けた新規媒体コンポーネントを、製品のコンポーネントと、そのデザイン子コンポーネントの名称および本体との間に生成する。
【０１９２】
これらの新規媒体コンポーネントが、ステップ７７０に生成されると、ステップ７７４では現行コンポーネントから新規媒体コンポーネントを経て現行コンポーネントのデザイン子までに、所要の媒体ツリーリンクのすべてが形成される。例えば、新規媒体コンポーネントのテキストエリアが図２３ｄに示される通りに生成されると、このテキストエリアは、その親コンポーネントの製品にも、またその子の名称および本体にもリンクされる。このようにして、媒体ツリーは、デザインツリーを下にたどりながら、媒体ファセットの使用を通じて、生成され構築される。
【０１９３】
以上の新規媒体コンポーネントが生成されてリンクされると、ステップ７７８では、媒体区分プロパティを含む仮レイアウト・プロパティが、現行コンポーネントにも、新規媒体コンポーネントにも割り当てられる。これらの仮レイアウト・プロパティは、ステップ７６６において選択された仮レイアウト・オプションに一部、基づいている。割り当てられた媒体区分プロパティには、媒体区分タイプ（例えば、一様、二様など）を選択することと、「縦」、「横」、「適合」、または「スワップ」などの媒体区分プロパティをどれでも設定できることが含まれる。仮レイアウト・プロパティを割り当てるステップには、これらの媒体区分プロパティを設定することだけでなく、その子のレイアウトに影響を及ぼす現行コンポーネントの他のどんなプロパティも設定できることも含まれる。
【０１９４】
現行コンポーネントとその子媒体コンポーネントに対して、これらの仮レイアウト・プロパティが割り当てられると、現行コンポーネントの媒体区分プロパティを求めることが必要である。言い替えれば、現行コンポーネントの範囲を計算するために、各子の範囲を計算する必要がある。現行コンポーネントの媒体区分プロパティを求めるこのステップ７８２は、様々なやり方で実行できる。例示として、このステップを実行する１技法は、以下で、図３５を参照して、さらに詳しく考察する。ステップ７８２を実行した結果は、現行コンポーネントの範囲を戻すこととなる。このステップの目的は、現行コンポーネントの媒体コンポーネント子を見ることと、現行コンポーネントに割り当てられたレイアウト・プロパティにより、特定の媒体区分（または、領域）を媒体コンポーネント子に割り当てることにある。現行コンポーネントの媒体区分プロパティを求めることにより、このプロセスは、現行コンポーネントとそのデザイン子との間でレイアウトを決定する。ただし、デザイン子のレイアウトは、それらの子をどのようにしてレイアウトするのかに基づいて、一部決定されるから、このステップは、最後には再帰的に手順「媒体ツリー計算」（図３４）を呼び出すことになる。
【０１９５】
ステップ７８２が完了すると、ステップ７８６は、この総合レイアウトが適切であるかどうか判定する。このレイアウトが適切である場合には、制御を図３３のステップ７１２に戻して、コンテンツが、使用可能な媒体に十分にぎっしり収まるかどうか判定する。しかしながら、レイアウトが適切でないと判定される場合には、この手順がステップ７６６までループバックして、別の仮レイアウトを選び、必要に応じて、新規媒体コンポーネントを生成しリンクするようにしている。
【０１９６】
このレイアウトは、多種多様なファクタにより、ステップ７８６において適切であるか、あるいは適切でないか判定される。例示として、様々なファクタは、適合性を決定するのに役立ち、それぞれ別々に加重することができる。これらのファクタには、選ばれたデザインに対する特定レイアウト・オプションの適合性、コンテンツが本来のデザイン目的に一致する場合に、コンポーネントの範囲が、使用可能な媒体にどの程度うまく収まるかということ、コンポーネントの媒体区分のプロパティ、試用された代替レイアウト・オプションの数、適切なレイアウト・オプションの選択にかかった時間、特定媒体に対するレイアウト・オプションの適合性、考慮されるレイアウト・オプションのすべての中で、特定レイアウト・オプションがどのように位置しているかということ、がある。レイアウトの適合性を判定するために、他のファクタも考慮に入れられる。
【０１９７】
図３５は、図３４の媒体区分解決ステップ７８２を説明している。この図は、媒体区分を求める技法の一実施例を説明している。このステップは、現行コンポーネントを取り上げて、その直接の子についてのみ媒体区分を計算する。言い替えれば、これは、媒体区分のプロパティを求める特定の数値アルゴリズムである。親コンポーネントと、その子コンポーネントとの関係の抽象表現を使う他の技法が利用できる。
【０１９８】
第１のステップ８０４では、現行コンポーネントの直接媒体子がそれぞれ、決定される。ステップ８０８では、仮媒体領域は、現行コンポーネントのレイアウト・プロパティに基づいて、さらに現行コンポーネントに割り当てられた媒体領域に基づいて、各媒体子に割り当てられる。仮媒体領域は、以下のステップ８１６で調整されるから、割り当てられる。一実施例では、現行コンポーネントと特定の関係にある特定の矩形媒体領域が、媒体子に対して割り当てられる。例えば、二様の縦媒体区分では、ある子には、現行コンポーネントの媒体領域の左側部分が割り当てられ、また第２の子には、その右側部分が割り当てられる。
【０１９９】
媒体領域が各媒体子に割り当てられると、ステップ８１２において、図３４の手順「媒体ツリー計算」が、各媒体子コンポーネントに対して、呼び出される。この手順は、再帰的に呼び出され、各子の範囲を戻す。この再帰的呼出しは、奥行き優先方式で行われる。このようにして、仮媒体領域は、その手順がデザインツリーを下にたどる時に媒体子に割り当てられ、また当該手順が、デザインツリーをたどって再帰的にポップ・バックアップする時に、各子の実際の範囲が戻される（図３４の終了ステップ７５８で計算される通り）。各子のこれらの実際の範囲が戻されると、特定の媒体コンポーネントに、最終媒体領域が割り当てられる。ステップ８１６では、戻された各子の範囲に基づいて、現行コンポーネントの各媒体子に最終媒体領域が割り当てられる。
【０２００】
ステップ８２０は、現行コンポーネントの媒体区分で与えられた制約条件が満たされるかどうかテストする。ステップ８１６において、各子の媒体領域が変更されたかもしれないから、上記の媒体区分の制約条件を、再度、チェックしなければならない。例えば、イメージが、その割り当てられたスペースには大きすぎ、また当該イメージに対して、さらに大きい嵌め込みスペースが与えられた場合には、そのイメージの下方または上方の他のコンポーネントに対するスペースを計算し直すことが必要であるかもしれない。別の例では、会社レターヘッド用のアドレスは、それがページの下端にフッタとして付けられている場合には、予想される以上に高い位置に付けられたかもしれない。もしそうであれば、このフッタより上の領域を計算し直す必要があるかもしれない。これらの制約条件が満たされない場合には、この手順は、ステップ８０８までループバックして、各媒体子に対して、新規の仮媒体領域を割り当てるようにする。
【０２０１】
しかしながら、これらの制約条件が満たされる場合には、ステップ８２４において、直接媒体子すべてからの媒体範囲は、現行コンポーネントの範囲を決定するために組み合わされる。言い替えれば、現行コンポーネントの子で占有される領域が決定されると、この現行コンポーネントで占有される総合領域を決定することが可能である。例えば、製品領域に、絵および本体テキストが入っている場合には、まず最初に、絵および本体テキストが必要とするスペースの大きさを決定して、全体の製品にどれくらいのスペースを割り当てなければならないか決定する必要がある。現行コンポーネントの範囲が決定されると、当該現行コンポーネント用の媒体区分の値を求めるこのステップが終了し、制御を、図３４のステップ７８６に戻す。
【０２０２】
このステップ８２４は、現行コンポーネントの直接媒体子すべてからの範囲を全部組み合わせることを含む。また、各媒体子が、その媒体子からの範囲の知識を含むから、このような豊富な範囲情報はすべて、この手順が再帰的にポップ・バックアップする時に、組み合わされる。言い替えれば、現行コンポーネントの範囲を決定するためには、あらゆる子孫からの範囲の知識が利用される。このような豊富な範囲情報は、子のサイズに関する情報に加えて、その子が所定の領域に収まるかどうかについての情報も含む。従って、現行コンポーネント向けの豊富な範囲情報は、現行コンポーネントに割り当てられる領域が十分であるかないかについての知識を含む。
【０２０３】
図３６は、図３３のコンテンツ基準倍率再計算ステップ７２０を説明している。このステップの目的は、コンテンツの上方適合または下方適合に寄与する各コンテンツ・タイプの相対カルパビリティを考慮に入れることと、より良い適合を達成するために、各タイプのコンテンツ基準倍率を適正な規模にし直すことにある。第１のステップ８５４では、この手順に対して、様々なパラメータを入力する。これらのパラメータには、現行コンテンツ基準倍率、現行総合適合（上方適合または下方適合と、程度）、すべてのコンポーネント向けの豊富な範囲情報、各コンポーネントの全過失性（例えば、各タイプの超過インチ数）、用いられた前回の基準倍率、前回の適合結果がある。次に、ステップ８５８では、現行適合が、最適適合と比較される。現行適合が、使用可能な媒体には小さすぎる場合には、制御はステップ８６２に移るが、一方、現行適合が大きすぎる場合には、制御はステップ８６６に移る。
【０２０４】
ステップ８６２の結果に基づいて、コンテンツ基準倍率は、様々なやり方で調整される。例えば、現行適合が小さすぎ、また前回の適合もまた小さすぎた場合には、これは、コンテンツ基準倍率が、前回上方に調整されたが、上げ幅が十分でなかったことを示す。従って、ステップ８７０では、コンテンツ基準倍率が、事前設定値だけ、もう一度、上方に調整される。この事前設定値は、コンテンツ基準倍率のすべてを調整するか、あるいは１つずつ別々に調整するのに適切な数値であればどんなものでもよい。ある最適化では、下方適合が、その領域の９０％以上である場合には、事前設定値以外のものを用いて基準倍率を上方に調整するために、入力パラメータに基づいて、情報による推測が利用できる。これらの基準倍率を調整するために、他の発見的方法も利用できる。例えば、デザイン選択により、イメージは、コンテンツを小さくする必要がある場合にはテキストよりも縮小することができるが、一方、テキストは、コンテンツを大きくする必要がある場合にはイメージよりも拡大することができる。さらに、一実施例では、テキストとグラフィックスの基準倍率は、テキスト・コンテンツが寄与し、またグラフィックス・コンテンツが寄与する上方適合のパーセントにより、テキストか、グラフィックスのいずれかの不必要な縮小を避けるために、別々に調整することもできる。一実施例では、新規テキスト基準倍率と新規グラフィック基準倍率を決定するために、公式を使用できる。例えば、新規テキスト基準倍率＝（パーセント・テキスト）／（（パーセント・テキスト）2＋（パーセント・グラフィックス）2）であるが、一方、新規グラフィックス基準倍率＝（パーセント・グラフィックス）／（（パーセント・テキスト）2＋（パーセント・グラフィックス）2）である。この公式では、パーセント・テキストとパーセント・グラフィックスは、総合適合に寄与するこれらのコンテンツのそれぞれの割合（それぞれ、どれくらいの適合カルプリットであるか）をさす。
【０２０５】
また一方では、現行適合が小さすぎるが、前回適合が大きすぎた場合には、これは、このコンテンツ基準倍率が、前回小さくされたが、それも大幅に小さくされたことを示している。この場合、ステップ８７４では、コンテンツ基準倍率は、前回基準倍率までの中点に上げて調整し直される。ステップ８７０か、ステップ８７４のいずれかが終了した後で、制御を図３３のステップ７０８に戻す。
【０２０６】
ステップ８６６、ステップ８７８、ステップ８８２は、ステップ８６２、ステップ８７０、ステップ８７４と同様なやり方で、実行される。例えば、ステップ８６６の結果に基づいて、コンテンツ基準倍率は、様々なやり方で調整される。例えば、現行適合が大きすぎ、また前回の適合もまた大きすぎた場合には、これは、コンテンツ基準倍率が、前回下方に調整されたが、下げ幅が十分でなかったことを示す。従って、ステップ８７８では、コンテンツ基準倍率が、事前設定値だけ、もう一度、下方に調整される。これらの基準倍率は、ステップ８７０に関して説明されたものと同様なやり方で、下方に調整される。
【０２０７】
また一方では、現行適合が大きすぎるが、前回適合が小さすぎた場合には、これは、このコンテンツ基準倍率が、前回大きくされたが、それも大幅に大きくされたことを示している。この場合、ステップ８８２では、コンテンツ基準倍率は、前回基準倍率までの中点に下げて調整し直される。ステップ８７８か、ステップ８８２のいずれかが終了した後で、制御を図３３のステップ７０８に戻す。
【０２０８】
図２９〜図３６は、新規コンテンツを構成に追加する技法の一実施例を説明している。次に、図３７は、構成に新規デザインを選ぶ技法を説明しているが、一方、コンテンツと媒体は変わらない。例えば、文書用の１デザインは目次を含むが、一方、別のデザインは目次を含まない。目次を必要とする新規デザインが選択される場合には、その新規デザインは、目次コンポーネント、新規タイトルページ・コンポーネント、目次と文書の他の部分との間のリンクを有する。このようなデザイン変更が、コンテンツ変更や媒体変更に無関係に行われても、あるいは、コンテンツ変更や媒体変更といっしょに行われてもよいことが認識されること。
【０２０９】
構成に新規デザインを選ぶこの手順は、ステップ９０２で新規デザインを選ぶことからスタートする。この新規デザインは、ユーザ・インタフェースを用いて現行デザインを変更することで選択されるか、あるいは、ユーザが、当該システム内のデザインのカタログから、１デザインを選択するか、いずれかである。例えば、ユーザは、現行の横書き形式でなく、パンフレット用の縦書き形式を選択することができる。もう１つの方法として、他の実施例では、当該システムは、様々な基準に基づいて、ユーザ向けのデザインを自動的に選択できる。
【０２１０】
ステップ９０４では、構成のコンテンツツリーとデザインツリーの双方の表現は、当該システム内の一時記憶場所に保存される。これらのツリーは、当業者により認識されるような、適切などんなやり方でも保存できる。このようにして、コンテンツ要素は、コンテンツ要素向けのデザイン・プロパティも利用できる対応するコンポーネントといっしょに保存される。
【０２１１】
次に、ステップ９０８では、ユーザが選ぶ新規デザイン記述は、システム・カタログから受け取る。デザインのシステム・カタログに入っているデザインは、標準デザインであるか、あるいは、ユーザが前に生成して、保存したカスタム・デザインである。新規デザイン記述は、いくつかのコンポーネントを有する根を含むか、あるいは、単に根のコンポーネントにすぎないか、いずれかである。この新規デザインは、様々なプロパティのために、あるいは、様々なドロップ・テーブルが使用されるために、異なるように見える場合がある。例えば、この新規デザインの根は、サブコンポーネントのすべてが継承する様々なプロパティが定められている可能性がある。同様に、最初に根に結び付けられたコンポーネントはどれも、特定のプロパティと値が割り当てられている可能性がある。さらに、根（または、そのコンポーネントの任意のもの）は、旧デザインで用いられるものとは別のコンテンツ・ドロップ・テーブルを利用する場合がある。このようにして、新規デザインは、旧デザインとは異なるように見える場合がある。
【０２１２】
次に、ステップ９１２では、構成のデザインツリーは、新規デザイン記述を用いて再保存される。このステップでは、新規デザイン記述を用いて、新規デザインツリーを形成する。すなわち、新規デザインツリーの根（および、この根の任意のサブコンポーネント）は、現行デザインツリーとして、構成に織り込まれる。ここで、この構成（ただし、これがまさに根であることもある）向けに、デザインツリーがあるが、ただし、コンテンツは追加されていない。
【０２１３】
この構成のデザインツリーが再保存されると、ステップ９１６では、保存されたコンテンツツリーからの保存コンテンツを、再保存された構成に戻して収める。この保存コンテンツは、どんな適切なやり方でも、構成に再保存される。例示として、保存コンテンツは、コンテンツをドロップするシミュレーションにより、新規デザインツリーに追加される。すなわち、保存コンテンツは、新規デザインツリーが入っている構成上にドロップされる。このように、構成上にコンテンツをドロップする操作は、図２９〜図３２で考察される通りに実行される。さらに、旧ユーザ文書設定を保存するために、最適化が実行される。例えば、旧デザインツリーの中の特定コンポーネントのオーバライド・プロパティが、同一コンテンツと対応づけられる新規コンポーネントに用いられる。
【０２１４】
この最適化は、以下のやり方で行われる。コンテンツが新規デザイン上にドロップされている時に、このコンテンツ用に、新規コンポーネントが生成される。例えば、パンフレットからの製品には、その新規コンポーネントが生成される。また、特定のコンテンツ項目が、旧デザインツリーからのデザイン・コンポーネントと対応づけられているために、このコンポーネントの旧デザイン・プロパティ（そのコンテンツ項目に用いられる）が、検査に利用できる。例示として、コンテンツは、図６、図１８、図２１に示される通りに、あるいは、他の技法を用いて、デザインツリーコンポーネントと対応づけられる。言い替えれば、コンテンツツリー（コンテンツがドロップされている時）をたどってゆくことにより、なお旧デザイン・コンポーネントおよびプロパティを利用できる。生成された新規コンポーネント（製品）が、旧コンポーネント（製品）と同一タイプである場合には、旧コンポーネント向けのオーバライド・プロパティがすべて、新規コンポーネントに移される。このようにして、あるコンポーネント用の局所プロパティ・オーバライド（特定のコンテンツ項目に用いられる）が保存される。
【０２１５】
ユーザが製品用の横書き形式から縦書き形式に切り換えているパンフレットの例を考えてみる。第１の製品は、局所的に設定された強調プロパティを持つことができ、このプロパティは、文書プロパティを無効にして、その製品をすべてボールド体で表す（文書のうちの他の部分のように正規のフォントでは表さない）。旧コンテンツが新規縦書きデザイン上にドロップされる時には、新規文書は、正規のフォントしか指定できない。第１の製品がドロップされる時には、その新規コンポーネント（製品）が、その旧コンポーネント（製品）と同じであることに留意する。旧コンポーネント上に定められたプロパティの中には、プロパティ「横書き」とプロパティ「ボールド体」が含まれている。「横書き」は、文書から継承され、局所的には定められていないプロパティであるから、このプロパティは、新規コンポーネントにはコピーされない。ただし、「ボールド体」は、局所的に定められたオーバライド・プロパティである。このプロパティは、新規コンポーネントにコピーされ、従って、第１の製品を、すべてボールド体で、新規縦書き形式を取るものとして保存する。ここで、新規構成に対して、コンテンツツリーとデザインツリーがある。
【０２１６】
次に、ステップ９２０では、新規デザインのコンテンツは、図３３のコンテンツ・媒体適合ステップを呼び出すことにより、適切な媒体に合わされる。このステップは、新規デザインツリーをたどって、媒体ツリーを生成し、各コンテンツ項目に領域を割り当てる。媒体にコンテンツを合わすこのステップは、上でさらに詳しく考察されてきた。このステップが終了すると、構成に対して新規デザインを選ぶこの手順が完結する。
【０２１７】
新規コンテンツを構成に追加するか、または構成のデザインを変更することに加えて、ユーザは、構成を別の媒体に表現したいと思うことがある。図３８は、この機能を果たす手順の一実施例を説明している。例えば、ユーザが、紙媒体向けに表現される構成を作成した場合には、ユーザは、この同一文書をＨＴＭＬ形式で、あるいはその逆で編集したいと思うこともある。この構成は、コンテンツまたはデザインのどんな変更にもかかわりなく、新規媒体に表現することができる。もう１つの方法としては、コンテンツおよび／またはデザインも変更されている場合には、新規媒体に構成を表現することも可能である。
【０２１８】
第１のステップ９５４では、新規媒体が特定される。この新規媒体は、ユーザが、ユーザ・インタフェースにコマンドを出すことにより特定できるか、あるいは、新規媒体に編集することが望ましい時には、コンピュータ・システムを使って自動的に特定できる。多種多様な新規媒体を特定できる。例示として、これらの新規媒体は、紙媒体、ＨＴＭＬ、ＯＬＥオブジェクト、ＶＲＭＬ、または前に考察した媒体のどれでもよい。次に、ステップ９５８では、新規媒体ツリーの根オブジェクトは、新規選択媒体に基づいて構築される。このステップは、組込みファクトリ・オブジェクトのメソッドとして提供されたあらかじめプログラムされた機能である。
【０２１９】
ここで、ステップ９６２は、上述の図３３のコンテンツ・媒体適合手順を呼び出す。このコンテンツ・媒体適合手順は、構成のデザインツリーをたどって、新規媒体ツリーを生成し、各コンテンツ項目のレイアウト領域を割り当てる。このステップは、現行のコンテンツツリーとデザインツリーを利用し、スクラッチから新規媒体ツリーを計算し直す。旧媒体ツリーは、全体的に無効にする。このコンテンツ・媒体適合ステップは、上で詳しく考察されてきた。ステップ９６２が完了すると、ステップ９６６では、構成が、新規媒体に表現される。ステップ９６６は、上で図２９のステップ５２４において考察された通りに実行できる。
【０２２０】
図３９は、本発明の一実施例によるコンピュータ・システム１００を示している。コンピュータ・システム１００には、一次記憶装置１０６（例えば、ランダム・アクセス・メモリ、すなわちＲＡＭ）と、一次記憶装置１０４（例えば、リードオンリー・メモリ、すなわちＲＯＭ）を含む記憶装置に接続された任意の数のプロセッサ１０２（中央処理装置、すなわちＣＰＵとも呼ばれる）が含まれる。当業界で既知の通り、一次記憶装置１０４は、データと命令を単方向にＣＰＵに転送する働きをし、また一次記憶装置１０６は、一般に、データと命令を双方向に転送する目的で用いられる。これらの一次記憶装置は両方とも、以下で説明されるコンピュータ読取り可能媒体のうち、適切なものはどんなものでも含むことができる。大容量記憶装置１０８もまた、ＣＰＵ１０２に対して双方向に接続され、追加データ記憶容量を提供し、さらに、以下に説明されるコンピュータ読取り可能媒体のどれでも含むことができる。大容量記憶装置１０８は、プログラム、データなどを記憶させるのに使用できるものであって、一般に、一次記憶媒体よりも速度が遅い二次記憶媒体（例えば、ハードディスク）である。大容量記憶装置１０８内に保存された情報は、適切な場合には、仮想記憶装置として一次記憶装置１０６の一部に、標準的なやり方で取り入れられることが認識される。
ＣＤ−ＲＯＭ１１４などの特定の大容量記憶装置は、データを単方向にＣＰＵに渡す。
【０２２１】
さらに、ＣＰＵ１０２は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチスクリーン、トランジューサ・カードリーダ、磁気デープ・リーダまたは紙テープ・リーダ、タブレット、スタイラス、音声または手書き認識装置、バイオメトリックス・リーダ、あるいは他のコンピュータなどの１つ以上の入出力装置を含むインタフェース１１０にも接続されている。ＣＰＵ１０２はオプションとして、概ね１１２に示される通り、ネットワーク接続を用いて、別のコンピュータまたは電気通信網に任意に接続することもできる。このようなネットワーク接続を用いれば、ＣＰＵは、ネットワークから情報を受け取るか、あるいは、上述の方法工程を実行している間に、情報をネットワークに出力することが考えられる。
【０２２２】
さらに、本発明の実施例は、様々なコンピュータ実装作業を行うためのプログラム・コードを入れている、コンピュータ読取り可能媒体を備えたコンピュータ記憶製品に関する。この媒体とプログラム・コードは、本発明の目的で特別に設計され、構築されたものであるか、あるいは、コンピュータ・ソフトウェア分野における当業者が利用できる公知の種類のものである。コンピュータ読取り可能媒体の例には、以下のものがあるが、ただし、それらに限定されることはない： ハードディスク、フロッピーディスク、磁気テープなどの磁気媒体； ＣＤ−ＲＯＭディスクなどの光媒体； フロプティカル・ディスクなどの光磁気媒体；プログラム・コードを記憶させ、実行するように特定的に構成されているハードウェア装置（例えば、ＲＯＭ装置とＲＡＭ装置）。プログラム・コードの例は、コンパイラで生成されるマシンコードと、コンピュータがインタプリタを用いて実行される高水準コードが入っているファイルとを、両方とも含んでいる。
【０２２３】
上述の発明は、明瞭に理解できる目的で、ある程度、詳しく説明してきたが、いくつかの変更や変形は、添付のクレームの範囲内で実施できることが明らかとなろう。例えば、説明された本発明の実施例は、上述のものに加えて、他のタイプのアプリケーション・プログラムにも適用できる。さらに、本発明のデザイン・エンジンは、必ずしもファセット・エンジンの使用に基づくとは限らず、適切などんな技術にも基づくことができる。構成には、多くの種類のコンポーネントが入っている場合があり、ここで説明されるコンポーネントのタイプは、使用できるタイプの例である。さらに、構成のコンテンツ、デザイン、媒体の面が多種多様な情報を表す場合がある。コンテンツ、デザイン、媒体の様々なタイプと機能の一例が、図３に示されている。図３の上半分には、様々なタイプのコンテンツ、デザイン、媒体の例が示されている。この図の下半分には、コンテンツ、デザイン、媒体で実行される様々な機能の例が示されている。
【０２２４】
本発明のコンテンツツリー、デザインツリー、媒体ツリーを表現して連結するために、個々の構造が示されてきたが、情報の構成は、他の表現および相互連結を用いて、象徴的にコンテンツ、デザイン、媒体の面に分けられる。特に、コンテンツ要素は、様々なやり方でデザイン・コンポーネントと対応づけられる。どのようにしてコンテンツが追加され、デザインが変更され、あるいは、新規媒体が指定されるのかを示す図解例も、上述の説明に付けられた。他のさらに複雑な変形も可能であることが認識されなければならない。さらに、デザインも調整することにより、あるいは媒体を調整することにより、所定のコンテンツを特定の媒体に合わせることができる。
【０２２５】
媒体区分の一実施例は、具体的に様々なプロパティを示して、上で説明されてきた。この媒体区分は、様々なやり方で表現され、また様々な技法を用いて、親コンポーネント、および、その子と対応づけられる。さらに、媒体区分は、親コンポーネントに対して子コンポーネントのレイアウトを記述する他の多くのプロパティを含むことができる。さらに、その子をレイアウトするために現行コンポーネントの媒体区分プロパティを求める処理は、様々なやり方で実行できる。レイアウトが作成されると、このレイアウトは、例えば、構成用の基準倍率を調整することにより、変更できる。コンテンツを媒体に合わせるために、レイアウトを変更する他の技法も使用できる。それゆえ、説明された実施例は、例示にすぎず、限定的と見なしてはならず、本発明は、ここに与えられた詳細に限定されずに、以下のクレーム、およびそれらのクレームの全均等範囲により定められること。
【図面の簡単な説明】
【０２２６】
【図１】図１は、新規の情報プレゼンテーションを作成するために、コンテンツ要素、デザイン記述、媒体仕様を入力するのに本発明の実施例がどんな方法で用いられるのか線図で示している。
【図１Ａ】図１Ａは、本発明の一実施例による旅行パンプレット用のユーザ・インタフェースの第１の例を示している。
【図１Ｂ】図１Ｂは、本発明の一実施例による旅行パンプレット用のユーザ・インタフェースの第２の例を示している。
【図１Ｃ】図１Ｃは、本発明の一実施例による旅行パンプレット用のユーザ・インタフェースの第３の例を示している。
【図１Ｄ】図１Ｄは、本発明の一実施例による旅行パンプレット用のユーザ・インタフェースの第４の例を示している。
【図２】図２は、保存文書が、入力され、かつ特定の情報プレゼンテーションに表現できるように特定の媒体用に構成にされる本発明の実施例を示している。
【図３】図３は、コンテンツ、デザイン、媒体の様々なタイプと機能を示している。
【図４Ａ】図４Ａは、本発明の一実施例によるコンポーネント・クラス導出ツリーの可能なデザイン・コンポーネントの例を示している。
【図４Ｂ】図４Ｂは、本発明の一実施例によるコンポーネント・クラス導出ツリーの可能なデザイン・コンポーネントの例を示している。
【図５Ａ】図５Ａは、構成が、コンテンツ・ファセットツリー、媒体ファセットツリー、デザイン・ファセットツリーで表されている、本発明の一実施例の構成の内部構造を象徴的に示している。
【図５Ｂ】図５Ｂは、図５Ａの構成を非常に詳細に示している。
【図６】図６は、コンテンツ、デザイン、媒体のファセットを用いて、構造化テキストが本発明の一実施例で、どのように表現されるのか、その一例を示している。
【図６Ａ】図６Ａは、コンテンツ、デザイン、媒体のファセットを格納関係で用いることにより、メモのリスト項目が本発明の一実施例で、どのように表現されるのか、その別の例を示している。
【図７】図７は、コンテンツ・ファセット、デザイン・ファセット、媒体ファセットの中で表される様々なプロパティを有する、図６のフッターコンポーネントを詳細に示している。
【図８】図８は、紙媒体に対して表現される白紙パンフレット構成の例を示している。
【図９】図９は、紙媒体に対して表現される、２製品を載せたパンフレットの例を示している。
【図１０】図１０は、別の製品を追加した図９のパンフレットを示している。
【図１１】図１１は、デザインを変更した後の図９のパンフレットを示している。
【図１２Ａ】図１２Ａは、ＨＬＭＬ媒体に表現された後の図９のパンフレットを示している。
【図１２Ｂ】図１２Ｂは、ＨＬＭＬ媒体に表現された後の図９のパンフレットを示している。
【図１２Ｃ】図１２Ｃは、ＨＬＭＬ媒体に表現された後の図９のパンフレットを示している。
【図１３】図１３は、図９のパンフレットについて、コンテンツツリーの実施例を示している。
【図１４】図１４は、図９のパンフレットについて、デザインツリーの実施例を示している。
【図１５】図１５は、紙媒体に対して表現される図９のパンフレット用の媒体ツリーの実施例を示している。
【図１６】図１６は、ＨＬＭＬ媒体に対して表現される図９のパンフレット用の媒体ツリーの実施例を示している。
【図１７】図１７は、図１６のＨＬＭＬ媒体ツリーからの特定のコンポーネントを、さらに詳しく示している。
【図１８】図１８は、図９のパンフレットのいくつかのコンポーネントについて、コンテンツツリー、デザインツリー、媒体ツリーの間の関係の実施例を、さらに詳しく示している。
【図１９】図１９は、本発明の一実施例により、構成に構造化テキストを追加できるようにする処理を示している。
【図２０】図２０は、新規構造化テキストを追加する前の図１９の構成の実施例を示している。
【図２１】図２１は、新規構造化テキストを追加した後の図１９の構成の実施例を示している。
【図２２】図２２は、特定のコンポーネントについて、コンテンツ・ドロップ・テーブルの実施例を示している。
【図２３Ａ】図２３Ａは、特定のパンフレットの製品レイアウトの一例を示している。
【図２３Ｂ】図２３Ｂは、図２３Ａの製品レイアウトについて、デザインツリーの実施例を示している。
【図２３Ｃ】図２３Ｃは、図２３Ａの製品レイアウトについて、媒体ツリーの実施例を示している。
【図２３Ｄ】図２３Ｄは、図２３Ａの製品レイアウトについて、デザインツリーと媒体ツリーとの関係を示している。
【図２４】図２４は、媒体区分オブジェクトが、図２３Ｃの媒体ツリーの様々なコンポーネントと対応づけられている実施例を示している。
【図２５】図２５Ａ−図２５Ｆは、一様の媒体区分に可能な形態の例を示している。
【図２６】図２６Ａ−図２６Ｈは、二様の媒体区分に可能な形態の例を示している。
【図２７】図２７Ａ−図２７Ｅは、三様の媒体区分に可能な形態の例を示している。
【図２８】図２８Ａ−図２８Ｅは、Ｎ様の媒体区分に可能な形態の例を示している。
【図２９】図２９は、本発明の一実施例により、構成に新規コンテンツを追加するのにふさわしい方法を図解した流れ図である。
【図３０】図３０は、図２９の照合コンテンツのステップ５１２の一実施例を図解した流れ図である。
【図３１】図３１は、図２９の処理照合のステップ５１６の一実施例を図解した流れ図である。
【図３２】図３２は、図３１の配置／置換えのステップ６１６とステップ６２４の一実施例を図解した流れ図である。
【図３３】図３３は、図２９，図３７，図３８の媒体へのコンテンツの合わせステップの一実施例を図解した流れ図である。
【図３４】図３４は、図３３からの媒体ツリー計算のステップ７０８の一実施例を図解した流れ図である。
【図３５】図３５は、図３４の媒体区分解決のステップ７８２の一実施例を図解した流れ図である。
【図３６】図３６は、図３３のコンテンツ基準倍率再計算のステップ７２０の一実施例を図解した流れ図である。
【図３７】図３７は、本発明の一実施例により、構成として新規デザインを選択する方法を図解した流れ図である。
【図３８】図３８は、本発明の一実施例により、新規媒体に構成を表現する方法を図解した流れ図である。
【図３９】図３９は、本発明の様々な実施例を実現するのにふさわしい代表的なコンピュータシステムを示している。
【符号の説明】
【０２２７】
１０          実施例
１２          アプリケーション・プログラム
１４          デザイン・エンジン・モジュール
１６          ファセット・エンジン・モジュール
１８          ユーザ・インタフェース
１８’        ユーザ・インタフェース
２０          構成
２０’        コンテンツ要素
２２          コンテンツ要素
【図１】
2008052746.tif 000003
【図１Ａ】
2008052746.tif 000004
【図１Ｂ】
2008052746.tif 000005
【図１Ｃ】
2008052746.tif 000006
【図１Ｄ】
2008052746.tif 000007
【図２】
2008052746.tif 000008
【図３】
2008052746.tif 000009
【図４Ａ】
2008052746.tif 000010
【図４Ｂ】
2008052746.tif 000011
【図５Ａ】
2008052746.tif 000012
【図５Ｂ】
2008052746.tif 000013
【図６】
2008052746.tif 000014
【図６Ａ】
2008052746.tif 000015
【図７】
2008052746.tif 000016
【図８】
2008052746.tif 000017
【図９】
2008052746.tif 000018
【図１０】
2008052746.tif 000019
【図１１】
2008052746.tif 000020
【図１２Ａ】
2008052746.tif 000021
【図１２Ｂ】
2008052746.tif 000022
【図１２Ｃ】
2008052746.tif 000023
【図１３】
2008052746.tif 000024
【図１４】
2008052746.tif 000025
【図１５】
2008052746.tif 000026
【図１６】
2008052746.tif 000027
【図１７】
2008052746.tif 000028
【図１８】
2008052746.tif 000029
【図１９】
2008052746.tif 000030
【図２０】
2008052746.tif 000031
【図２１】
2008052746.tif 000032
【図２２】
2008052746.tif 000033
【図２３Ａ】
2008052746.tif 000034
【図２３Ｂ】
2008052746.tif 000035
【図２３Ｃ】
2008052746.tif 000036
【図２３Ｄ】
2008052746.tif 000037
【図２４】
2008052746.tif 000038
【図２５】
2008052746.tif 000039
【図２６】
2008052746.tif 000040
【図２７】
2008052746.tif 000041
【図２８】
2008052746.tif 000042
【図２９】
2008052746.tif 000043
【図３０】
2008052746.tif 000044
【図３１】
2008052746.tif 000045
【図３２】
2008052746.tif 000046
【図３３】
2008052746.tif 000047
【図３４】
2008052746.tif 000048
【図３５】
2008052746.tif 000049
【図３６】
2008052746.tif 000050
【図３７】
2008052746.tif 000051
【図３８】
2008052746.tif 000052
【図３９】
2008052746.tif 000053