JPH05101040A - Document processor - Google Patents

Document processor

Info

Publication number
JPH05101040A
JPH05101040A JP4084225A JP8422592A JPH05101040A JP H05101040 A JPH05101040 A JP H05101040A JP 4084225 A JP4084225 A JP 4084225A JP 8422592 A JP8422592 A JP 8422592A JP H05101040 A JPH05101040 A JP H05101040A
Authority
JP
Japan
Prior art keywords
partial
logical
allocation
logical structure
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4084225A
Other languages
Japanese (ja)
Inventor
Koichi Hayashi
浩一 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP4084225A priority Critical patent/JPH05101040A/en
Priority to US08/043,202 priority patent/US5381523A/en
Publication of JPH05101040A publication Critical patent/JPH05101040A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To easily prepare a layout template and to partially utilize an existent layout template again by generating partial layout structure by applying a partial layout template, which is corresponding to certain partial logical structure in a document, to this logical structure. CONSTITUTION:A partial layout template holding means 105 holds the partial layout template showing rules for laying-out the partial logical structure of the document in a logical structure holding means 101. In respect to the partial logical structure designated by a partial logical structure designating means 108, a partial layout means 109 executes a partial layout processing by applying the template corresponding to that logical structure. Assuming that the partial layout means 109 completes the partial layout processing to certain partial logical structure and further executes the partial layout processing to the other partial logical structure, at such a time, this partial layout means 109 executes the partial layout processing according to the retroactive call of the own means, and executes the layout processing of the entire logical structure of the document.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、文書の論理構造に対
して、割付けのための規則であるテンプレートを適用す
ることにより、文書の割付け構造を得ることのできる文
書処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a document processing apparatus capable of obtaining a document layout structure by applying a template, which is a rule for layout, to a logical structure of a document.

【0002】[0002]

【従来の技術】一般的に、論理的な展開と、実際に出力
されるレイアウトはどちらも文書の重要な要素である。
しかし、文書作成中の作業でレイアウトが常に重要であ
るとは限らない。例えば、文書が完成した段階ではレイ
アウトは不可欠であっても、論理的な展開が明確になっ
ていない文書作成の初期段階ではレイアウトはあまり重
要ではない場合がある。また複数の提出先がある場合の
ように同一の論理展開でレイアウトの異なる文書が必要
とされる場合もある。
2. Description of the Related Art In general, both logical expansion and actual output layout are important elements of a document.
However, the layout is not always important in the process of creating a document. For example, the layout may be indispensable at the stage when the document is completed, but the layout may not be so important at the initial stage of document creation in which the logical development is not clear. In addition, there are cases where documents with different layouts are required in the same logical development, such as when there are multiple submission destinations.

【0003】文書のこのような特徴は以前より指摘され
ており、論理構造と呼ばれる文書の章立てを表す構造か
ら、割付け構造と呼ばれるレイアウトを表す構造を生成
する手法が提案されている。論理構造から割付け構造を
生成する処理は割付け処理と呼ばれ、文書処理システム
が内蔵するプログラム(割付け処理プログラム)によっ
て行われる。
Such characteristics of a document have been pointed out in the past, and a method has been proposed in which a structure representing a layout called a layout structure is generated from a structure representing a chapter structure of a document called a logical structure. The process of generating the layout structure from the logical structure is called layout process, and is performed by a program (allocation process program) built in the document processing system.

【0004】同一の論理構造から様々な形式の割付け構
造を生成するには、割付けプログラムの動作が変更され
なければならない。一般にプログラム自体を適切に変更
することは、非常に専門的な知識を必要とする作業であ
り、通常の利用者にできることではない。このため割付
け処理を行うプログラムの動作を、例えば、「ページサ
イズはA4」、「二段組」などのようなパラメータによ
って変更する手法が採用されてきた。
In order to generate various types of allocation structures from the same logical structure, the operation of the allocation program must be changed. Generally, modifying the program itself is a task that requires very specialized knowledge, and is not something that a normal user can do. For this reason, there has been adopted a method of changing the operation of the program for performing the layout process by parameters such as "page size is A4" and "double column".

【0005】しかしながら、この方式では、指定できる
パラメータの種類は予めプログラムが想定したものに限
られてしまう。また機能の高い割付けプログラムの動作
を制御するためには、多くのパラメータを指示する必要
が生じてしまい、やはり通常の利用者では利用すること
が出来なくなってしまうという欠点があった。
However, in this method, the types of parameters that can be specified are limited to those assumed by the program in advance. Further, in order to control the operation of the allocation program having a high function, it is necessary to instruct a large number of parameters, which is also disadvantageous in that it cannot be used by ordinary users.

【0006】そこで、この問題を解決するために、単純
なパラメータではなく、割付けテンプレートを表すデー
タ構造によって割付けプログラムを制御する方式が提案
されるに至った。その一つが国際標準規格ODA(IS
O8613=Information Processing-Text and Office
Systems-Office Document Architecture(ODA) and Int
erchange Format(1989) )で規定されている共通割付け
構造(Generic LayoutStructure)である。
In order to solve this problem, therefore, a method has been proposed in which the allocation program is controlled not by a simple parameter but by a data structure representing an allocation template. One of them is the international standard ODA (IS
O8613 = Information Processing-Text and Office
Systems-Office Document Architecture (ODA) and Int
erchange Format (1989)) is a common layout structure (Generic Layout Structure).

【0007】上記ODAは文書構造を表すデータ構造と
その利用のための指針とを示したものであり、実際の割
付け処理を記述したものではない。しかしながら、OD
Aに基づく割付け処理を実現するためには、次に示すよ
うな機能が必要になることは明らかである。以下このよ
うな機能を持つ割付け処理をODAの割付け処理と呼ぶ
ことにする。
The ODA shows a data structure representing a document structure and a guideline for using the data structure, and does not describe an actual allocation process. However, OD
In order to realize the allocation process based on A, it is clear that the following functions are required. Hereinafter, the allocation process having such a function will be referred to as an ODA allocation process.

【0008】(1)割付けテンプレート(共通割付け構
造)に基づく割付処理機能。 (2)割付け処理(トップダウン及びボトムアップ)の
選択機能。 (3)割付け結果の再利用。 (4)カテゴリーに従った割付処理機能。
(1) Allocation processing function based on an allocation template (common allocation structure). (2) Allocation processing (top-down and bottom-up) selection function. (3) Reuse of allocation results. (4) Allocation processing function according to category.

【0009】なお、上記(1)〜(4)の機能(機構)
は単独で用いられるものではなく、必要に応じて複数の
機能が組み合わせられて用いられるものであり、これに
よって割付処理の効率が図られる。
The functions (mechanisms) of the above (1) to (4)
Is not used alone, but is used by combining a plurality of functions as necessary, and thereby the efficiency of allocation processing is achieved.

【0010】次に上記各機能(機構)を、具体例を挙げ
て順次説明していくことにする。
Next, the above-mentioned functions (mechanisms) will be sequentially described with reference to specific examples.

【0011】《割付けテンプレート(共通割付け構造)
に基づく割付処理機能》図38は上記ODAに基づく論
理構造および割付けテンプレート(共通割付け構造)を
示したものである。
<< Allocation Template (Common Allocation Structure)
38 shows the logical structure and the allocation template (common allocation structure) based on the ODA.

【0012】図38において、文書の論理構造3810
を構成する各要素は論理オブジェクトと呼ばれるもので
あり、“論理根”、“1章”、“関連記事”、“1
章”、8つの“左斜線の塗り潰しが施されている矩形”
はそれぞれ論理オブジェクトである。8つの“左斜線の
塗り潰しが施されている矩形”には、一番左の矩形から
順番に、“A”、“B”、“C”、“a”、“b”、
“c”、“D”、“E”の各内容が繋がっている。ここ
で文書内容を構成する各要素(内容)を内容部というこ
とにする。このように内容部を保持している論理オブジ
ェクトは基本論理オブジェクトと呼ばれる。
In FIG. 38, the document logical structure 3810.
Each of the elements that make up is called a logical object, and includes "logical root", "1 chapter", "related article", and "1".
Chapter ", 8" rectangles filled with left diagonal lines "
Are logical objects. The eight “rectangles filled with left diagonal lines” are “A”, “B”, “C”, “a”, “b”, in order from the leftmost rectangle.
The contents of “c”, “D”, and “E” are linked. Here, each element (content) constituting the document content will be referred to as a content section. The logical object holding the content part in this way is called a basic logical object.

【0013】また割付けテンプレート(ODAでは共通
割付け構造に相当する)3820を構成する各要素は割
付けオブジェクトクラスと呼ばれるものであり、“文書
テンプレート”、“ページ”、“本文枠”はそれぞれ割
付けオブジェクトクラスである。各割付けオブジェクト
クラスは属性“Generator for subordinates”(属性G
FS)に構造式(従属子生成子)を持っている。この構
造式は、当該構造式を有する割付けオブジェクトクラス
に属する割付けオブジェクトの直下に繋がり得る構造の
制約を表す式であり、項SEQ、項CHO、項REP、
項OPT、項OPTREP、項AGGなどの構造生成子
と、“object class identifier ”(クラスID)との
組合わせで構成される。なお図38において、“re
p”は構造生成子である。また同図において、3820
aは割付けテンプレート3820が表現しているレイア
ウトイメージであり、このイメージにおいて実線枠はペ
ージを、点線枠は本文枠をそれぞれ示している。
Each element constituting the allocation template (corresponding to a common allocation structure in ODA) 3820 is called an allocation object class, and "document template", "page" and "text frame" are allocation object classes respectively. Is. Each allocation object class has an attribute "Generator for subordinates" (attribute G
FS) has a structural formula (subordinate generator). This structural formula is a formula that expresses a structural constraint that can be connected immediately below an allocation object that belongs to the allocation object class that has the structural formula. The term SEQ, the term CHO, the term REP,
It is composed of a combination of structure generators such as the term OPT, the term OPTREP, and the term AGG, and “object class identifier” (class ID). Note that in FIG. 38, "re
p ″ is a structure generator. In the figure, 3820
Reference character a denotes a layout image represented by the layout template 3820. In this image, a solid line frame indicates a page and a dotted line frame indicates a text frame.

【0014】なお、論理構造3810の「論理根」の論
理オブジェクトは、割付けテンプレート3820の「文
書テンプレート」(これは割付け根である)の割付けオ
ブジェクトクラスを指定している。これによって論理構
造3810に対して割付けテンプレート3820を適用
して割付け処理を行うことができる。
The logical object of the "logical root" of the logical structure 3810 specifies the allocation object class of the "document template" of the allocation template 3820 (this is the allocation root). As a result, the allocation template 3820 can be applied to the logical structure 3810 to perform the allocation process.

【0015】ここで、論理構造3810について、割付
けテンプレート3820に基づく割付け処理を行うと、
例えば図39(a)に示される割付け結果が得られる。
Here, when the allocation process based on the allocation template 3820 is performed on the logical structure 3810,
For example, the allocation result shown in FIG. 39 (a) is obtained.

【0016】図39(a)において、割付け構造390
0を構成する各要素は割付けオブジェクトと呼ばれるも
のであり、“割付け根”、3つの“ページ”、3つの
“本文枠”、8つの“斜め格子の塗り潰しが施されてい
る矩形”はそれぞれ割付けオブジェクトである。なお8
つの“斜め格子の塗り潰しが施されている矩形”には、
一番左の矩形から順番に、“A”、“B”、“C”、
“a”、“b”、“c”、“E”、“D”の各内容部が
繋がっている。このように内容部を保持している割付け
オブジェクトはブロックと呼ばれる。
In FIG. 39 (a), the layout structure 390.
The elements that make up 0 are called layout objects. The "layout root", the three "pages", the three "text boxes", and the eight "rectangles with diagonal grid fill" are the layout objects. It is an object. 8
The two "rectangles with diagonal grid fills"
In order from the leftmost rectangle, "A", "B", "C",
The content parts of "a", "b", "c", "E", and "D" are connected. The layout object holding the content part in this way is called a block.

【0017】図39(b)は図39(a)に示す割付け
結果が表現しているレイアウトイメージを表したもので
あり、このイメージにおいて、ページP1〜P3は、図
39(a)に示した割付け構造3900の「ページ」の
割付けオブジェクトP1〜P3の下位構造(割付け構
造)にそれぞれ対応している。
FIG. 39 (b) shows a layout image represented by the layout result shown in FIG. 39 (a). In this image, pages P1 to P3 are shown in FIG. 39 (a). It corresponds to the substructure (layout structure) of the layout objects P1 to P3 of the “page” of the layout structure 3900, respectively.

【0018】最終的な文書の割付構造の各ブロックは内
容部を保持しているので、図40に示すように、文書の
論理構造3810と文書の割付構造3900とは内容部
を共有することにより対応つけられている。
Since each block of the final document allocation structure holds the content part, the logical part 3810 of the document and the document allocation structure 3900 share the content part as shown in FIG. Corresponding.

【0019】なお、割付け構造の各割付けオブジェクト
は、次に示す情報を属性として保持している。
Each allocation object of the allocation structure holds the following information as attributes.

【0020】すなわち、 (1)上位の割付けオブジェクトからの二次元的な位
置。(この情報は上記ODAでは“position”という属
性で保持される) (2)自分自身の大きさの情報。(この情報は上記OD
Aでは“dimensions”という属性で保持される) (3)ブロックでない割付けオブジェクトは下位に接続
される割付けオブジェクトの識別子またはポインタ。
(この情報は上記ODAでは“subordinates”という属
性で保持される) (4)ブロックの割付けオブジェクトの場合は接続され
る内容の識別子またはポインタ。(この情報は上記OD
Aでは“content portions”という属性で保持される)
を属性として保持している。
That is, (1) Two-dimensional position from the higher-level allocation object. (This information is held by the attribute "position" in the above ODA) (2) Information on the size of oneself. (This information is the above OD
In A, it is held with the attribute "dimensions". (3) An allocation object that is not a block is an identifier or pointer of an allocation object that is connected to a lower level.
(This information is held by the attribute "subordinates" in the above ODA.) (4) In the case of a block allocation object, the identifier or pointer of the content to be connected. (This information is the above OD
In A, it is held with the attribute "content portions")
Is held as an attribute.

【0021】次に、従来の割付け処理プログラムによる
処理の概要を説明する。 (1)割付けテンプレートの制約を満たす最小の割付け
構造を生成する。 (2)内容を保持する論理オブジェクト(基本論理オブ
ジェクト)に対応する、割付けオブジェクト(ブロッ
ク)を生成する。以下、この処理を内容割付け処理と表
現することにする。 (3)割付けテンプレートの最下位ノードに対応する割
付けノード(最下位フレーム)に、生成されたブロック
を配置する。以下、この処理を流し込むと表現すること
にする。 (4)必要に応じて、割付け構造に割付けテンプレート
が許す範囲内で変更を行う。例えば、最下位フレームの
領域にブロックを配置する領域が無くなった時点で、ペ
ージを増やすことなどで最下位フレームを生成する。
Next, the outline of the processing by the conventional allocation processing program will be described. (1) Generate a minimum allocation structure that satisfies the restrictions of the allocation template. (2) An allocation object (block) corresponding to a logical object (basic logical object) holding contents is generated. Hereinafter, this processing will be referred to as content allocation processing. (3) The generated block is arranged at the allocation node (the lowest frame) corresponding to the lowest node of the allocation template. Hereinafter, this processing will be referred to as pouring. (4) If necessary, change the layout structure within the range allowed by the layout template. For example, when the area for arranging blocks in the area of the lowest frame is exhausted, the number of pages is increased to generate the lowest frame.

【0022】なお内容割付けや流し込みの処理は、対象
となる割付け割付けオブジェクトの生成と、該オブジェ
クトが保持する情報の変更によって行われ、内容割付け
の場合では、内容部の接続および自分自身の大きさの変
更が行われ、流し込みでは、上位の割付けオブジェクト
への接続および自分自身の位置の変更が行われる。
Note that the content allocation and pouring processing is performed by generating the target allocation allocation object and changing the information held by the object. In the case of content allocation, the connection of the content part and the size of itself are performed. Is changed, and in the pouring, the connection to the higher-level allocation object and the change of the position of itself are performed.

【0023】このような割付け処理プログラムによる処
理を、図41のフローチャートを参照して、もう少し具
体的に説明する。
The processing by such an allocation processing program will be described more concretely with reference to the flowchart of FIG.

【0024】図41に示すように、割付け処理プログラ
ムは、割付けテンプレートの制約を満たす最小の割付け
構造を生成する(ステップ1)。ここで、生成されたも
のを“LayStruct ”とする。次に、基本論理オブジェク
トが全て割り付けられたか否かを判定し(ステップ
2)、全て割り付けられたならば“LayStruct ”を結果
として返し、一方割付けが終了していなければ、割付け
が終了していない最初の基本論理オブジェクトを取り出
して(ステップ3)、内容割付け処理を呼び出す。この
呼び出された内容割付け処理は、ブロックを生成する
(ステップ4)。なおここで、取り出した基本論理オブ
ジェクトを“LogNode ”とし、生成されたブロックを
“LayObject ”とする。上記ステップ4を終了した割付
け処理プログラムは、“LayStruct ”の最下位フレーム
に、“LayObject ”を流し込むのに十分な領域が残って
いるか否かを判定する(ステップ5)。残っていたなら
ば、“LayObject ”を“LayStruct ”の最下位フレーム
に流し込む(ステップ6)。一方、残っていなければ、
“LayStruct ”に割付けテンプレートが許す構造の追加
を行って、新たな最下位フレームを生成した後、上記ス
テップ6に進む。ステップ6終了後は、上記ステップ2
に戻りこのステップ以降を実行する。
As shown in FIG. 41, the allocation processing program generates a minimum allocation structure that satisfies the restriction of the allocation template (step 1). Here, the generated one is referred to as "LayStruct". Next, it is judged whether or not all the basic logical objects have been allocated (step 2), and if all have been allocated, "LayStruct" is returned as a result. On the other hand, if the allocation is not completed, the allocation is not completed. The first basic logical object is fetched (step 3) and the content allocation process is called. This called content allocation process creates a block (step 4). Here, the basic logic object taken out is "LogNode" and the generated block is "LayObject". The allocation processing program which has completed the above step 4 determines whether or not there is a sufficient area for pouring "LayObject" in the lowest frame of "LayStruct" (step 5). If it remains, "LayObject" is poured into the lowest frame of "LayStruct" (step 6). On the other hand, if not
The structure permitted by the allocation template is added to "LayStruct" to generate a new lowest frame, and then the process proceeds to step 6 above. After step 6, after step 2 above
Return to and execute the steps after this step.

【0025】次に、図38に示される、論理構造381
0に対して、割付けテンプレート3820を適用して割
付け処理を行った場合の、ブロックの生成、そのブロッ
クの最下位フレームへの流し込みを、簡単に説明する。
Next, the logical structure 381 shown in FIG.
Generation of a block and filling of the block into the lowest frame when the allocation process is performed by applying the allocation template 3820 to 0 will be briefly described.

【0026】例えば、割付けテンプレート3820から
は、図42に示すような最小の割付け構造4200が得
られる。次に、内容部Aを保持する基本論理オブジェク
トに対して内容割付け処理を行うと、図43(a)に示
すように、その基本論理オブジェクト4310に対応す
るブロック4320が生成される。次に流し込み処理を
行うと、最下位フレーム(つまり本文枠)4330の下
位にブロック4320が配置される。これは、図43
(b)に示すように、本文枠の領域に内容部Aが流し込
まれることを意味している。
For example, layout template 3820 results in a minimum layout structure 4200 as shown in FIG. Next, when content allocation processing is performed on the basic logical object holding the content part A, a block 4320 corresponding to the basic logical object 4310 is generated as shown in FIG. 43 (a). Next, when the filling process is performed, the block 4320 is arranged below the lowest frame (that is, the body frame) 4330. This is shown in FIG.
As shown in (b), it means that the content portion A is poured into the area of the body frame.

【0027】次に、内容部Bを保持する基本論理オブジ
ェクトに対して内容割付け処理を行うと、図44(a)
に示すように、その基本論理オブジェクト4410に対
応するブロック4420が生成される。次に流し込み処
理を行うと、最下位フレーム4330の下位にブロック
4420が配置される。これは、図44(b)に示すよ
うに、本文枠の空き領域に内容部Bが流し込まれること
を意味している。
Next, when content allocation processing is performed on the basic logical object holding the content part B, FIG.
A block 4420 corresponding to the basic logical object 4410 is generated as shown in FIG. Next, when the filling process is performed, the block 4420 is arranged in the lower order of the lowest frame 4330. This means that as shown in FIG. 44 (b), the content portion B is poured into the empty area of the text frame.

【0028】続いて、内容部Cを割付けるために、内容
部Cを保持する基本論理オブジェクトに対して内容割付
け処理を行うと、図45(a)に示すように、その基本
論理オブジェクト4510に対応するブロック4520
が生成されるが、このブロック4520に対する流し込
み処理を行った場合には、割付けは失敗となる。なぜな
らば、図45(b)に示すように、本文枠の領域には空
き領域が存在せず、内容部Cを流し込むことが不可能で
あるからである。このような場合は、割付けテンプレー
トの制約の範囲内で割付け構造を変更すれば良く、例え
ば内容部Cに対する割付け失敗のときには、割付けテン
プレート3820(図38参照)の制約により、図46
(a)に示すように、新たな最下位フレーム(本文枠)
4610を生成することができる。この最下位フレーム
4610に対して流し込み処理を行うと、この最下位フ
レーム4610の下位に、既に生成されている内容部C
に対応するブロック4520が配置される。これは、図
46(b)に示すように、内容部A、Bが流し込まれて
いるページとは異なるページ(次ページ)の本文枠に、
内容部Cが流し込まれることを意味している。
Subsequently, in order to allocate the content part C, a content allocation process is performed on the basic logical object holding the content part C. As shown in FIG. Corresponding block 4520
Is generated, but the allocation fails if the pouring process is performed on this block 4520. This is because, as shown in FIG. 45 (b), there is no free area in the area of the text frame, and it is impossible to pour the content portion C into it. In such a case, the allocation structure may be changed within the restrictions of the allocation template. For example, when the allocation to the content section C fails, the allocation template 3820 (see FIG. 38) restricts the allocation structure as shown in FIG.
As shown in (a), the new lowest frame (text frame)
4610 can be generated. When the filling process is performed on the lowest frame 4610, the content part C that has already been generated is generated at the lower level of the lowest frame 4610.
A block 4520 corresponding to is arranged. As shown in FIG. 46 (b), this is in the text frame of a page (next page) different from the page in which the content parts A and B are poured,
It means that the content part C is poured.

【0029】ところで、本文の流れと直接関係のない関
連記事については、例えば二段組で本文とは区別してレ
イアウトしたいときには、例えば図38に示した割付け
テンプレート3820を、図47に示す割付けテンプレ
ート4700に変更すれば良い。4700aは、割付け
テンプレート4700が表現しているレイアウトイメー
ジである。図47に示すように、論理構造3810の
“関連記事”の論理オブジェクトが割付けテンプレート
4700の“小組枠”の割付けオブジェクトクラスを指
し示すことで、“関連記事”は“小組枠”以下の構造に
流し込まれることとなる。この指定は、上記ODAでは
“layout object class ”属性の指定によって行われ
る。
By the way, for related articles not directly related to the flow of the text, for example, when it is desired to lay out the text in a two-column set so as to be distinguished from the text, for example, the layout template 3820 shown in FIG. 38 and the layout template 4700 shown in FIG. You can change to. 4700a is a layout image represented by the layout template 4700. As shown in FIG. 47, the logical object of the “related article” of the logical structure 3810 points to the allocation object class of the “small frame” of the layout template 4700, so that the “related article” is poured into the structure below the “small frame”. Will be done. This designation is made by the designation of the "layout object class" attribute in the ODA.

【0030】図47に示される、論理構造3810に対
して割付けテンプレート4700に基づく割付け処理を
行うと、図48(a)に示す割付け結果が得られる。図
48(a)において、割付け構造4800は、“割付け
根”、3つの“ページ”、3つの“版面枠”、3つの
“本文枠”、1つの“小組枠”、1つの“左枠”、1つ
の“右枠”、8つの“斜め格子の塗り潰しが施されてい
る矩形”の各割付けオブジェクトから構成されている。
図48(b)は図48(a)に示した割付け結果が表現
しているレイアウトイメージを表したものであり、この
イメージにおいて、ページP1〜P3は、図48(a)
に示した割付け構造4800の「ページ」の割付けオブ
ジェクトP1〜P3の下位構造が表現しているイメージ
にそれぞれ対応している。
When the allocation process based on the allocation template 4700 is performed on the logical structure 3810 shown in FIG. 47, the allocation result shown in FIG. 48 (a) is obtained. In FIG. 48A, the layout structure 4800 includes “layout roots”, three “pages”, three “print face frames”, three “text frames”, one “small set frame”, and one “left frame”. Each layout object is composed of one “right frame” and eight “rectangles with diagonal grid filling”.
FIG. 48B shows a layout image expressed by the layout result shown in FIG. 48A. In this image, pages P1 to P3 are shown in FIG.
The layout structure 4800 corresponds to the images represented by the substructures of the layout objects P1 to P3 of the “page” of the layout structure 4800 shown in FIG.

【0031】ここで、二段組の「関連記事」を流し込み
する場合の処理を簡単に説明する。この場合は、図47
(a)に示される、論理構造3810に対して割付けテ
ンプレート4700を適用して割付け処理うことによ
り、内容部A、Bを保持している基本論理オブジェクト
に対する割付け処理が終了し、次に内容部Cを保持して
いる基本論理オブジェクトに対する割付け処理において
は、図49(a)に示すように、内容部Cを保持してい
る基本論理オブジェクト4910に対応するブロック4
920が生成される。また割付けテンプレート4700
の制約により、新たなページに、本文枠と小組枠を有す
る版面枠が生成される。そして流し込み処理において
は、図49(a)に示すように、本文枠4930の下位
にブロック4920が配置される。これは、図49
(b)に示すように、本文枠の空き領域に内容部Cが流
し込まれることを意味している。
Here, a brief description will be given of the processing when a two-column set of "related articles" is poured. In this case, FIG.
By applying the allocation template 4700 to the logical structure 3810 shown in (a) and performing the allocation process, the allocation process for the basic logical object holding the content parts A and B ends, and then the content part In the allocation process for the basic logical object holding C, as shown in FIG. 49A, the block 4 corresponding to the basic logical object 4910 holding the content part C is used.
920 is generated. Allocation template 4700
Due to the above restriction, a printing plate frame having a body frame and a sub-set frame is generated on a new page. Then, in the filling process, as shown in FIG. 49A, a block 4920 is arranged below the text frame 4930. This is shown in FIG.
As shown in (b), it means that the content portion C is poured into the empty area of the body frame.

【0032】次に、内容部aを保持する基本論理オブジ
ェクトに対して内容割付け処理を行うと、図50(a)
に示すように、その基本論理オブジェクト5010に対
応するブロック5020が生成される。さらに流し込み
処理を行うと、最下位フレーム(この場合は左枠)の下
位にブロック5020が配置される。これは、図50
(b)に示すように、左枠の空き領域に内容部aが流し
込まれることを意味している。同様に、内容部b、cに
ついて割付け処理を行うことにより、処理対象となって
いるページの内容は.図48(b)に示したページP2
のようになる。
Next, when content allocation processing is performed on the basic logical object holding the content part a, FIG.
A block 5020 corresponding to the basic logical object 5010 is generated as shown in FIG. When the pouring process is further performed, the block 5020 is arranged below the lowest frame (left frame in this case). This is shown in FIG.
As shown in (b), it means that the content part a is poured into the empty area of the left frame. Similarly, by performing the allocation process on the content parts b and c, the content of the page to be processed is. Page P2 shown in FIG. 48 (b)
become that way.

【0033】《割付け処理(トップダウン及びボトムア
ップ)の選択機能》上記ODAにおいては、例えば、上
記図38に示される、論理構造3810に対して、割付
テンプレート3820を適用して割付処理を行った場合
に、次のような事象が発生することがある。
<< Selection Function of Allocation Process (Top Down or Bottom Up) >> In the ODA, for example, the allocation template 3820 is applied to the logical structure 3810 shown in FIG. 38 to perform the allocation process. In this case, the following events may occur.

【0034】(1)ある内容部の量が多く、その内容
が、生成された最下位フレームに入りきらない場合。 (2)ある内容部が図表などで、その内容が、生成され
た最下位フレームに入りきらず、その図表を分割するこ
とができない場合。 しかし、そのような事象が発生した場合であっても、以
下に示すように対処して割付けを行うようにしている。
すなわち、上記(1)の事象の時つまり内容が最下位フ
レームに入りきらない時には、一つの基本論理オブジェ
クトに対して複数個のブロックが生成される。この処理
は内容割付処理時にブロックを生成する際に、ブロック
の領域の大きさが、上位の割付けオブジェクトの残り領
域からトップダウンに決定されていることを意味してい
る。
(1) When the amount of a certain content part is large and the content does not fit in the generated lowest frame. (2) When a certain content part is a chart or the like, and the content cannot fit into the generated lowest frame, and the chart cannot be divided. However, even when such an event occurs, the allocation is made by taking the following measures.
That is, at the time of the above event (1), that is, when the contents do not fit in the lowest frame, a plurality of blocks are generated for one basic logical object. This processing means that when the block is generated during the content allocation processing, the size of the area of the block is determined to be top-down from the remaining area of the upper allocation object.

【0035】例えば論理構造3810(図38参照)に
対して割付け処理を行った場合に、図51に示す割付け
結果が得られたとする。この場合、論理構造3810の
内容部Bを保持する基本論理オブジェクトに対応して、
図51(a)に示す割付け構造5100では、内容部B
を分割した内容部B1、B2がそれぞれ流し込まれるべ
く2つのブロック5110、5120が生成されてい
る。図51(b)は図51(a)に示す割付結果が表現
しているレイアウトイメージを表している。
For example, it is assumed that the allocation result shown in FIG. 51 is obtained when the allocation process is performed on the logical structure 3810 (see FIG. 38). In this case, corresponding to the basic logical object holding the content part B of the logical structure 3810,
In the layout structure 5100 shown in FIG.
Two blocks 5110 and 5120 are generated so that the content portions B1 and B2 obtained by dividing the above are respectively poured. FIG. 51B shows a layout image represented by the allocation result shown in FIG.

【0036】一方、上記(2)の事象の時つまり図表の
ように途中で分割されては困るものについては、ブロッ
クの領域の大きさは、図表を割付けるために必要な領域
からボトムアップに決定される。
On the other hand, at the time of the above-mentioned event (2), that is, in the case where it is not necessary to divide in the middle like the chart, the size of the block area is changed from the area required for allocating the chart to the bottom-up. It is determined.

【0037】例えば、論理構造3810に対して割付け
処理を行った場合に、図52に示す割付け結果が得られ
とする。この場合は、論理構造3810の1章を構成す
る内容部Bが「図表」であって、その内容部「図表」を
保持する基本論理オブジェクトに対して割付け処理を行
った結果、内容部「図表」が前ページの本文枠の領域に
入り切らなかったので、内容部「図表」は、図52
(a)に示す割付け構造5200で示されるように、次
ページの本文枠5210の下位に配置されている。図5
2(b)は図52(a)に示す割付結果が表現している
レイアウトイメージを表している。
For example, suppose that the allocation result shown in FIG. 52 is obtained when the allocation process is performed on the logical structure 3810. In this case, the content part B that composes one chapter of the logical structure 3810 is a “figure”, and as a result of performing the allocation process for the basic logical object holding the content part “figure”, the content part “figure” ”Did not fit in the area of the text frame on the previous page.
As shown in the layout structure 5200 shown in (a), it is arranged below the text frame 5210 on the next page. Figure 5
2B shows the layout image represented by the allocation result shown in FIG.

【0038】なお、上記ODAでは、ボトムアップとト
ップダウンの割付け処理のいずれを選択するかは、流し
込みの対象がブロックであるため、例えばテキストなら
トップダウン、図表ならボトムアップというように、内
容部の種類によって判別するようにしている。このよう
に、生成するブロックの領域の大きさは、内容が、テキ
ストの場合にはトップダンに、また図表の場合はボトム
アップにそれぞれ決定される。こうして決定されたブロ
ックの領域に内容が流し込まれることとなる。なお、ブ
ロックの生成は内容割付処理が行うので、複数のブロッ
クに分割されるということは、内容割付処理が、ブロッ
クの個数回適用されることを意味している。
In the above-mentioned ODA, which of the bottom-up and top-down allocation processing is to be selected, since the target of the flow is the block, for example, the text is top-down, and the chart is bottom-up. I am trying to distinguish by the type. In this way, the size of the area of the block to be generated is determined to be top-down in the case of text, and bottom-up in the case of chart. The content will be poured into the area of the block thus determined. Since the block is generated by the content allocation process, the fact that the block is divided into a plurality of blocks means that the content allocation process is applied the number of times of the blocks.

【0039】《割付け結果の再利用》また上記ODAに
おいては、割付構造は論理構造に割付処理を適用するこ
とで生成される。従って、論理構造に変更を加えたとき
には再度割付け処理を行わなければ、論理構造の変更を
反映した割付構造は得られない。大きな文書になると論
理構造の変更が生じる毎に再割付けを行うのは効率が悪
い。
<< Reuse of Allocation Result >> In the ODA, the allocation structure is generated by applying the allocation process to the logical structure. Therefore, when the logical structure is changed, the allocation structure that reflects the change in the logical structure cannot be obtained unless the allocation process is performed again. In a large document, it is inefficient to perform reallocation whenever the logical structure changes.

【0040】上記ODAでは、この問題の解決には直接
触れていないが、上記図40に示したように、論理構造
3810の各基本論理オブジェクトと割付け構造390
0の各ブロックとが内容部を共有することによって対応
付けされている。そこで、この対応関係を用いることに
より再割付けの効率化を図ることができるのは明らかで
ある。すなわち、論理構造の変更の及ぶ部分のみを再割
付けする方法が考えられ、例えば、図40に示す論理構
造3810の内容部Cを変更したときには、内容部Cか
ら再割付けを行えば良い。すなわち、内容部「C」、
「a」、「b」、「c」、「D」、「E」にそれぞれ対
応する基本論理オブジェクトの割付けをやり直せば良く
なる。なお内容部は分割されることがあるので、図40
に示される対応関係のように、基本論理オブジェクトと
ブロックとの対応関係が1対1になるとは限らない。
Although the above ODA does not directly touch on the solution of this problem, as shown in FIG. 40, each basic logical object of the logical structure 3810 and the allocation structure 390 are shown.
Each block of 0 is associated by sharing the content part. Therefore, it is clear that the efficiency of reallocation can be improved by using this correspondence. That is, a method of reallocating only the part of the change in the logical structure is conceivable. For example, when the content part C of the logical structure 3810 shown in FIG. 40 is changed, the reallocation may be performed from the content part C. That is, the content section "C",
It is sufficient to re-allocate the basic logical objects corresponding to "a", "b", "c", "D", and "E". Note that the content section may be divided, so that FIG.
The correspondence relationship between the basic logical object and the block is not always one-to-one like the correspondence relationship shown in FIG.

【0041】《カテゴリーに従った割付処理機能》さら
に上記ODAに基づく割付け処理においては基本論理オ
ブジェクトを流し込む最下位フレームを選択する機能が
ある。基本論理オブジェクトと最下位フレームとにそれ
ぞれカテゴリーを指定しておくことにより、基本論理オ
ブジェクトはカテゴリーの一致する最下位フレームに流
し込まれる。カテゴリーは、上記ODAでは、基本論理
オブジェクトに対しては“layout category ”属性が、
最下位フレームに対しては“permitted categories”属
性がそれぞれ指定されるものである。
<< Allocation processing function according to category >> Further, in the allocation processing based on the ODA, there is a function of selecting the lowest frame into which the basic logical object is poured. By assigning a category to each of the basic logical object and the lowest frame, the basic logical object is poured into the lowest frame in which the category matches. As for the category, in the above ODA, the “layout category” attribute is
The "permitted categories" attribute is designated for the lowest frame.

【0042】例えば、図53に示すように、論理構造5
310の「関連記事」の部分5311だけを後ろのペー
ジに回したい場合には、「論理根」の論理オブジェクト
が、割付けテンプレート5320を指定するようにして
おけば良い。5320aは割付けテンプレート5320
が表現しているレイアウトイメージである。
For example, as shown in FIG. 53, logical structure 5
When only the “related article” portion 5311 of 310 is to be passed to the subsequent page, the logical object of “logical root” may specify the layout template 5320. 5320a is an allocation template 5320
Is the layout image expressed by.

【0043】上述したように上記ODAにおける共通割
付け構造は、プログラムの追加/変更なしに、多様な割
付け構造を生成できるという優れた特徴を持っている。
また共通割付け構造を保持し、それを再利用することに
よって、複数の論理構造を共通のレイアウトで割付ける
ことを可能にしている。またトップアップ及びボトムア
ップな割付処理や、カテゴリーに従った割付処理を可能
にすることにより、論理構造に対する種々のレイアウト
を可能にしている。さらにバックトラック機構を用いる
ことにより再割付の効率化を図るようにしている。
As described above, the common allocation structure in the ODA has an excellent feature that various allocation structures can be generated without adding / changing a program.
By retaining the common layout structure and reusing it, it is possible to allocate a plurality of logical structures with a common layout. Also, by enabling top-up and bottom-up allocation processing and allocation processing according to categories, various layouts for the logical structure are possible. Furthermore, the backtrack mechanism is used to improve the efficiency of reallocation.

【0044】[0044]

【発明が解決しようとする課題】しかしながら、上記従
来の割付処理方式では、上記(1)〜(4)の機能(機
構)において次のような問題点があった。
However, the above-described conventional allocation processing system has the following problems in the functions (mechanisms) (1) to (4).

【0045】《割付けテンプレート(共通割付け構造)
に基づく割付処理機能》上記従来の割付処理方式におい
ては、既に存在している割付けテンプレートが規定して
いるものと異なるレイアウトで論理構造を割り付けるた
めには、新たな割付けテンプレートを用意しなければな
らなかった。例えば、小組枠を2段でなく3段にしたい
ときには、例えば、図47に示した割付けテンプレート
4700に替えて、図54(a)に示す割付けテンプレ
ートを用意し、また2段あるいは3段のいずれでも良い
などのレイアウトを採用するときは、図55に示す割付
けテンプレートを用意する必要があった。なお、図54
(b)は図54(a)に示す割付けテンプレートが表現
しているレイアウトイメージを表している。
<< Allocation template (common allocation structure)
Allocation processing function based on the above >> In the above conventional allocation processing method, a new allocation template must be prepared in order to allocate a logical structure with a layout different from that specified by the existing allocation template. There wasn't. For example, when it is desired to set the sub-assemblies to three stages instead of two, for example, the allocation template shown in FIG. 54 (a) is prepared in place of the allocation template 4700 shown in FIG. 47, and either two stages or three stages are prepared. However, when adopting such a layout, it is necessary to prepare the layout template shown in FIG. Note that FIG.
54B shows a layout image represented by the layout template shown in FIG.

【0046】このように上記従来の割付け処理方式で
は、論理構造全体に対する割付け処理を、割付け構造全
体についての割付けテンプレートを用いて制御していた
ため、割付け処理の前に、文書全体の割付けテンプレー
トを用意しなければならない。このため、割付けテンプ
レートが部分的に共通なものであっても、それらを組合
わせた全体として異なる割付けテンプレートを用意しな
ければならず、僅かなレイアウトの変更毎に、新しい割
付けテンプレートを作成することは非常に煩雑であり、
手間がかかっていた。逆に、考えられる全てのレイアウ
トの可能性を含むように組合わせた割付けテンプレート
を用意しておくことは、極めて困難であるとともに、構
造が複雑となるため割付け処理の効率を低下させる原因
となる。
As described above, in the above-described conventional allocation processing method, the allocation processing for the entire logical structure is controlled by using the allocation template for the entire allocation structure. Therefore, the allocation template for the entire document is prepared before the allocation processing. Must. Therefore, even if the layout templates are partially common, different layout templates must be prepared as a whole by combining them, and a new layout template must be created for each slight layout change. Is very complicated,
It took a lot of work. On the other hand, it is extremely difficult to prepare an allocation template that combines all possible layout possibilities, and it also complicates the structure and reduces the efficiency of the allocation process. ..

【0047】《割付け処理(トップダウン及びボトムア
ップ)の選択処理》また上記従来の割付け処理方式にお
いては、ボトムアップ/トップダウンの割付け処理の選
択は内容によってのみ決定されていた。すなわち、内容
がテキストならば常にトップダウン、図ならば常にボト
ムアップな割付け処理が適用されていた。
<< Allocation Process (Top-Down and Bottom-Up) Selection Process >> In addition, in the above-described conventional allocation process method, the selection of the bottom-up / top-down allocation process was determined only by the contents. That is, if the content is text, top-down allocation is always applied, and if it is a figure, bottom-up allocation processing is always applied.

【0048】ところで、例えば内容としてテーブルを考
えると、一般的に分割可能である。従って、ページの空
き領域に入らないときに、全体を次のページに割付ける
方が良い場合もあるし、空き領域に入るだけのテーブル
の内容を流し込み、溢れた内容を次ページに流し込む方
が良い場合もある。このようにボトムアップとトップダ
ウンの割付けを内容の種類のみから判断できないことが
ある。
By the way, if a table is considered as the content, for example, it can be generally divided. Therefore, it may be better to allocate the whole page to the next page when it does not fit in the empty area of the page, or it is better to fill the contents of the table as much as it fits in the empty area and fill the overflowed content to the next page. Sometimes it's good. In this way, bottom-up and top-down allocations may not be judged based on the type of content.

【0049】しかしながら、上記従来の割付け処理方式
では、同じ内容の種類について、トップダウンな割付け
にするか、ボトムアップな割付けにするかを選択(指
定)することはできなかった。
However, in the above-mentioned conventional allocation processing method, it is not possible to select (designate) the top-down allocation or the bottom-up allocation for the same content type.

【0050】《割付け結果の再利用》また上記従来の割
付処理方式では、文書の論理構造全体に対して割付け処
理を実行するようにしているため、論理構造の一部が変
更になった場合、つまり、ある内容部を変更した場合
は、その内容部以降の基本論理オブジェクトに対する割
付処理(再割付)を行わなければならない。
<< Reuse of Allocation Result >> Further, in the above-mentioned conventional allocation processing method, since the allocation processing is executed for the entire logical structure of the document, when a part of the logical structure is changed, That is, when a certain content part is changed, the allocation process (re-allocation) for the basic logical objects after the content part must be performed.

【0051】ここで例えば、図48(a)に示した割付
結果を得る際には、「関連記事」以下の構造は本文の構
造とは直接関係ないことに着目すると、論理構造の「関
連記事」以下の部分が変更されたときは、「関連記事」
以下の部分のみを部分割付すれば良いことになるはずで
ある。またこれとは反対に、「関連記事」とは関係のな
い本文の一部のみが変更されたときは、「関連記事」以
下の部分を再割付する必要はなく、「関連記事」に対応
する小組枠以下の割付構造を移動させれば済むばずであ
る。
Here, for example, when obtaining the allocation result shown in FIG. 48 (a), focusing on the fact that the structure below the "related article" is not directly related to the structure of the text, the "related article" of the logical structure is When the following parts are changed, "Related articles"
It should be sufficient to divide only the following parts. On the other hand, when only a part of the text that is not related to the "related article" is changed, it is not necessary to reallocate the parts below the "related article", and it is possible to correspond to the "related article". All you have to do is move the allocation structure below the small frame.

【0052】しかしながら、上記従来の割付け処理方式
では、例えば図47に示す論理構造3810において、
例えば本文の一部である内容分「C」が変更された場合
は、内容部「C」、「a」、「b」、「c」、「D」、
「E」に対応する基本論理オブジェクトの再割付けを行
わなければならず、また、関連記事の一部である内容分
「a」が変更された場合は、内容部「a」、「b」、
「c」、「D」、「E」に対応する基本論理オブジェク
トの再割付けを行わなければならなず、再割付け処理の
効率が悪かった。
However, in the above-mentioned conventional allocation processing method, for example, in the logical structure 3810 shown in FIG.
For example, when the content “C” which is a part of the text is changed, the content portion “C”, “a”, “b”, “c”, “D”,
If the basic logical object corresponding to "E" has to be reallocated, and if the content "a" which is a part of the related article is changed, the content parts "a", "b",
The basic logical objects corresponding to “c”, “D”, and “E” must be reallocated, and the efficiency of the reallocation process is poor.

【0053】《カテゴリーに従った割付処理機能》さら
に上記従来の割付処理方式では、カテゴリーを指定し特
定の最下位フレームに流し込めるものはブロックのみで
あったため、本来は関連記事全体を後ろのページに回し
たいにも関わらず、基本論理オブジェクトに対して、各
々のカテゴリーを与えなければならなかった。このこと
から、編集作業で他の部分から基本論理オブジェクトを
転記してきた場合には、その転記してきた論理オブジェ
クトに与えられているカテゴリーを調整する必要があっ
た。このように基本論理オブジェクト単位でのカテゴリ
ーの管理は煩雑なものである上、カテゴリーの調整を失
敗したときには、一部分のみが予想外のところに割り付
けられてしまうという結果を生じ、所望のレイアウトを
得ることは出来なかった。
<< Allocation Processing Function According to Category >> Further, in the above-described conventional allocation processing method, since only the block can be specified in a category and poured into a specific lowest frame, originally, the entire related article is displayed on the back page. I had to give each category to a basic logical object, even though I wanted to turn it into. For this reason, when the basic logical object is transferred from another part in the editing work, it is necessary to adjust the category given to the transferred logical object. In this way, management of categories in units of basic logical objects is complicated, and when adjustment of categories fails, only part of them is assigned unexpectedly, and the desired layout is obtained. I couldn't do that.

【0054】この発明は、割付けテンプレートの作成を
非常に簡単にかつ容易に行うことができるとともに、既
存の割付けテンプレートを部分的に再利用することがで
きる文書処理装置を提供することを目的とする。
An object of the present invention is to provide a document processing apparatus which can very easily and easily create an allocation template and can partially reuse an existing allocation template. ..

【0055】また、この発明は所望の文書のレイアウト
を容易に得ることのできる文書処理装置を提供すること
を目的とする。
Another object of the present invention is to provide a document processing apparatus which can easily obtain a desired document layout.

【0056】更に、この発明は再割付け処理効率を向上
させることのできる文書処理装置を提供することを目的
とする。
A further object of the present invention is to provide a document processing device capable of improving the reallocation processing efficiency.

【0057】[0057]

【課題を解決するための手段】上記目的を達成するた
め、本発明の文書処理装置は、文書の論理構造を所定の
関係により分類した際の各部分論理構造にそれぞれ対応
して、該部分論理構造を割り付けるための規則を示す部
分割付けテンプレートを保持する部分割付けテンプレー
ト保持手段と、前記論理構造中の所定の部分論理構造を
指定する部分論理構造指定手段と、前記部分論理構造指
定手段により指定された部分論理構造に対して、当該部
分論理構造に対応する前記部分割付けテンプレートを適
用して部分割付け処理を行う部分割付け手段とを具えて
いる。
In order to achieve the above object, the document processing apparatus of the present invention corresponds to each partial logical structure when the logical structure of a document is classified according to a predetermined relationship. Designated by the partial division template holding means for holding the partial division template showing the rule for allocating the structure, the partial logical structure designation means for designating a predetermined partial logical structure in the logical structure, and the partial logical structure designation means. The partial logical structure is applied to the partial logical structure by applying the partial partitioning template corresponding to the partial logical structure.

【0058】また上記発明において、上記部分割付け手
段による割付け処理を繰り返しまたは再帰的に実行する
ことにより、上記論理構造全体の割付け処理を行うよう
にしたことを特徴としている。
Further, in the above invention, the allocation processing of the entire logical structure is performed by repeatedly or recursively executing the allocation processing by the partial partitioning means.

【0059】また上記発明において、上記部分論理構造
指定手段は、上記論理構造から、文書内容を保持する基
本論理オブジェクト、および下位の論理ノード列を代表
する論理オブジェクトから構成される論理ノード列を抽
出する論理ノード列抽出手段と、この論理ノード列抽出
手段によって抽出された論理ノード列を管理する論理ノ
ード列管理手段とを具えている。
Further, in the above invention, the partial logical structure designating means extracts a logical node string composed of a basic logical object holding document contents and a logical object representing a lower logical node string from the logical structure. And a logical node sequence management unit for managing the logical node sequence extracted by the logical node sequence extraction unit.

【0060】更に上記発明において、上記部分割付手段
は、部分割付け結果として得られる部分割付け構造の領
域を、上位の割付オブジェクトの残り領域からトップダ
ウンに決定するトップダウン部分割付手段と、部分割付
け結果として得られる部分割付け構造の領域を、下位の
割付オブジェクトを合成した領域からボトムアップに決
定するボトムアップ部分割付手段と、前記トップダウン
部分割付手段あるいは前記ボトムアップ部分割付手段の
いずれの部分割付手段を適用するかについての割付手段
選択情報に基づく部分割付手段を選択する部分割付選択
手段とを具えている。
Further, in the above invention, the partial division attaching means determines the area of the partial division structure obtained as the partial division result from the remaining area of the upper layout object to top-down, and the partial division result. A bottom-up part dividing means for determining the area of the part-dividing structure obtained as a bottom-up part from a region in which lower-level layout objects are combined, and any of the top-down part dividing means or the bottom-up part dividing means. Section selection means for selecting a part division means based on allocation means selection information regarding whether to apply.

【0061】また本発明の文書処理装置は、文書の論理
構造を所定の関係により分類した際の各部分論理構造に
それぞれ対応して、該部分論理構造を割付けるための規
則を示す部分割付けテンプレートを保持する部分割付け
テンプレート保持手段と、前記論理構造中の所定の部分
論理構造を指定する部分論理構造指定手段と、前記部分
論理構造指定手段により指定された部分論理構造に対し
て、当該部分論理構造に対応する前記部分割付けテンプ
レートを適用して部分割付け処理を行う部分割付け手段
と、前記部分論理構造と前記部分割付け処理手段による
部分割付処理結果としての部分割付構造とを対応つけし
て管理する論理・割付管理手段とを具えている。
Further, the document processing apparatus of the present invention corresponds to each partial logical structure when the logical structure of the document is classified according to a predetermined relationship, and shows a rule for allocating the partial logical structure. With respect to the partial logical structure designating means for designating a predetermined partial logical structure in the logical structure, and the partial logical structure designated by the partial logical structure designating means. A partial partitioning unit that performs the partial partitioning process by applying the partial partitioning template corresponding to the structure, and the partial logical structure and the partial partitioning structure as the partial partitioning processing result by the partial partitioning processing unit are managed in association with each other. It is equipped with logic and allocation management means.

【0062】更に本発明の文書処理装置は、文書の論理
構造を所定の関係により分類した際の各部分論理構造に
それぞれ対応して、該部分論理構造を割付けるための規
則を示す部分割付けテンプレートを保持する部分割り付
けテンプレート保持手段と、前記論理構造中の所定の部
分論理構造を指定する部分論理構造指定手段と、前記部
分論理構造指定手段により指定された部分論理構造に対
して、当該部分論理構造に対応する前記部分割付けテン
プレートを適用して部分割付け処理を行う複数の部分割
付け手段とを具え、前記各部分割付け手段による処理を
並列に実行することにより、前記論理構造全体の割付け
処理を行うことを特徴としている。
Furthermore, the document processing apparatus of the present invention corresponds to each partial logical structure when the logical structure of the document is classified according to a predetermined relationship, and shows a rule for allocating the partial logical structure. With respect to the partial logical structure designating means for designating a predetermined partial logical structure in the logical structure, and the partial logical structure designated by the partial logical structure designating means. A plurality of partial partitioning means for performing the partial partitioning processing by applying the partial partitioning template corresponding to the structure, and performing the processing by each of the partial partitioning means in parallel to perform the allocation processing of the entire logical structure. It is characterized by

【0063】[0063]

【作用】本発明に係る文書処理装置によれば、部分割付
け手段は、部分論理構造指定手段によって指定された部
分論理構造に対して、その部分論理構造に対応する部分
割付けテンプレートを適用して部分割付け処理を行うと
ともに、ある部分論理構造に対する部分割付け処理を終
了し、更に他の部分論理構造に対する部分割付け処理を
実行するに際し、再帰的呼び出し(部分割付け手段の再
帰的呼び出し)により部分割付け処理を実行することに
より、文書の論理構造全体の割付処理を行う。このよう
に部分論理構造単位で部分割付けテンプレートを適用す
るようにしたので、既存の文書のレイアウトを変更する
際には、変更の対象となるレイアウトに対応する既存の
部分割付テンプレートのみを変更し、他の既存の部分割
付テンプレートは再利用することができる。
According to the document processing apparatus of the present invention, the partial partitioning means applies the partial partitioning template corresponding to the partial logical structure designated by the partial logical structure designating means to the partial logical structure. When performing the allocation process, ending the partial partitioning process for a certain partial logical structure, and executing the partial partitioning process for another partial logical structure, the partial partitioning process is performed by a recursive call (recursive call of the partial partitioning means). By executing it, allocation processing of the entire logical structure of the document is performed. As described above, since the partial layout template is applied in units of partial logical structure, when changing the layout of an existing document, only the existing partial layout template corresponding to the layout to be changed is changed, Other existing templates with partial divisions can be reused.

【0064】また部分割付け手段は、論理ノード列管理
手段によって管理されている論理ノード列に対して、該
当する部分割付けテンプレートを適用して部分割付け処
理を実行すればよいので、割付け処理を迅速に行うこと
ができる。
Further, the subdivision means may apply the corresponding subdivision template to the logic node sequence managed by the logic node sequence management means and execute the subdivision process. It can be carried out.

【0065】また部分割付け手段は、部分割付選択手段
により割付け手段選択情報に基づいて選択されたトップ
ダウン部分割付手段あるいはボトムアップ部分割付手段
のいずれかの部分割付け手段によって、部分割付け処理
を実行する。この場合、トップダウン部分割付手段によ
って部分割付け処理が実行された場合は、論理構造はト
ップダウンに割付けされ、一方、ボトムアップ部分割付
手段によって部分割付け処理が実行された場合は、論理
構造はボトムアップに割付けられる。したがって、論理
構造の内容に応じて、文処理割付け方法を明示的に指定
することがで、所望の文書を作成することができる。
Further, the partial division assigning means executes the partial division processing by either the top-down partial division attaching means or the bottom-up partial division attaching means selected by the partial division attaching selection means on the basis of the allocation means selection information. .. In this case, the logical structure is allocated top-down if the top-down part dividing means executes the part-dividing processing, while the bottom-up part dividing means executes the part-dividing processing, and the logical structure is the bottom structure. Assigned to up. Therefore, a desired document can be created by explicitly designating the sentence processing allocation method according to the content of the logical structure.

【0066】また本発明に係る文書処理装置によれば、
部分割付け手段は、上述した様に再帰的に部分割付け処
理を実行することにより、文書の論理構造全体の割付処
理を行うと共に、論理・割付管理手段は、部分論理構造
と部分割付け処理手段による部分割付処理結果としての
部分割付構造とを対応つけして管理するようにしている
ので、論理構造と割付け構造との部分的な対応関係が明
確になる。従って、例えば論理構造が変更された場合
に、変更された部分を含んでいる部分論理構造に対応す
る割付け構造のみを再割付けすれば良いので、再割付け
処理を迅速に行うことができる。
According to the document processing apparatus of the present invention,
As described above, the partial partitioning means performs the allocation processing of the entire logical structure of the document by recursively executing the partial partitioning processing, and the logical / allocation management means uses the partial logical structure and the partial partitioning processing means. Since the partial allocation structure as the allocation processing result is managed in association with each other, the partial correspondence relationship between the logical structure and the allocation structure becomes clear. Therefore, for example, when the logical structure is changed, only the allocation structure corresponding to the partial logical structure including the changed part needs to be re-allocated, so that the re-allocation process can be performed quickly.

【0067】更に本発明の文書処理装置によれば、複数
の部分割付け手段による部分割付け処理を並列に実行す
ることにより、論理構造全体の割付け処理を行うように
しているので、割付け処理を迅速に行うことができる。
Further, according to the document processing apparatus of the present invention, the allocation processing of the entire logical structure is performed by executing the partial allocation processing by the plurality of partial allocation means in parallel. It can be carried out.

【0068】[0068]

【実施例】以下、本発明の実施例を添付図面を参照して
説明する。
Embodiments of the present invention will be described below with reference to the accompanying drawings.

【0069】本発明の第1の実施例を図1乃至図10を
参照して説明する。
A first embodiment of the present invention will be described with reference to FIGS.

【0070】図1は、本発明に係る文書処理装置の第1
の実施例を機能ブロック図で示したものであり、この図
に示した実施例の装置は、具体的には、文書処理機能を
有する装置、例えばワードプロセッサやワークステーシ
ョンやコンピュータなどに適用される。
FIG. 1 shows a first embodiment of the document processing apparatus according to the present invention.
Is a functional block diagram, and the apparatus of the embodiment shown in this figure is specifically applied to an apparatus having a document processing function, such as a word processor, a workstation, or a computer.

【0071】同図において、文書処理装置は、文書の論
理構造を保持する論理構造保持手段101と、文書の内
容を保持する内容保持手段102と、論理構造に割付け
処理を適用して得られた割付け構造を保持する割付構造
保持手段103と、内容を持つ論理オブジェクト(つま
り基本論理オブジェクト)から、最下位フレームに配置
するための内容を持つ割付オブジェクト(つまりブロッ
ク)を生成する内容割付手段104と、部分割付テンプ
レート(詳細は後述する)を保持する部分割付テンプレ
ート保持手段105と、論理構造から論理ノード列(詳
細は後述する)を抽出する論理ノード列抽出手段106
とこの抽出された論理ノード列を管理する論理ノード列
管理手段107とからなる部分論理構造指定手段108
と、一階層分の論理ノード列を部分割付テンプレートの
規則に基づいて割付ける部分割付手段109とを具えて
いる。
In the figure, the document processing apparatus is obtained by applying a logical structure holding means 101 for holding the logical structure of a document, a content holding means 102 for holding the content of the document, and an allocation process to the logical structure. An allocation structure holding means 103 for holding an allocation structure, and a content allocating means 104 for generating an allocation object (that is, a block) having contents to be arranged in the lowest frame from a logical object having contents (that is, a basic logical object). A template holding unit 105 for holding a template with partial division (details will be described later) and a logical node sequence extracting unit 106 for extracting a logical node sequence (details will be described later) from the logical structure.
And a partial logical structure designating unit 108 including a logical node sequence management unit 107 that manages the extracted logical node sequence.
And a partial partitioning means 109 for allocating a logical node sequence for one layer based on the rule of the partial partition template.

【0072】上述した手段101、手段102、手段1
03、手段105、手段107はそれぞれハードディス
クやメインメモリなど記憶装置として実現されている。
また上述した手段104、手段106、手段109は、
それぞれ各手段の機能を遂行させるためのソフトウェア
(プログラム)をプロセッサや中央処理装置等の制御手
段が実行することにより実現される。勿論、それら各手
段はハードウェアやファームウェアで構成して実現する
ようにしても良い。
Means 101, Means 102, Means 1 described above
03, means 105, and means 107 are respectively realized as storage devices such as a hard disk and a main memory.
The means 104, means 106, and means 109 described above are
It is realized by a control means such as a processor or a central processing unit executing software (program) for performing the function of each means. Of course, each of these means may be realized by configuring with hardware or firmware.

【0073】図2は文書の論理構造、文書内容、部分割
付テンプレートの一例を示したものであり、論理構造2
10は論理構造保持手段101に、文書内容230は内
容保持手段102に、部分割付テンプレート240、2
50は部分割付テンプレート保持手段105にそれぞれ
保持されている。
FIG. 2 shows an example of the logical structure of a document, document contents, and a template with copy division.
10 is the logical structure holding means 101, document content 230 is the content holding means 102, and the templates 240, 2
50 are respectively held by the template holding means 105 with copy division.

【0074】論理構造210は論理オブジェクト211
〜222から構成されており、各論理オブジェクト中、
論理オブジェクト213〜215、217〜219、2
21〜222はそれぞれ基本論理オブジェクトと呼ばれ
る。各基本論理オブジェクトは文書内容230を構成す
る内容部231〜238のうち該当する内容部を保持し
ている(実際には基本論理オブジェクトがポインタによ
って内容部を指し示している)。
The logical structure 210 is a logical object 211.
.. 222, and in each logical object,
Logical objects 213-215, 217-219, 2
21 to 222 are called basic logic objects. Each basic logical object holds a corresponding content part among the content parts 231 to 238 forming the document content 230 (actually, the basic logical object points the content part by a pointer).

【0075】部分割付テンプレート240、250はそ
れぞれ一階層分の論理ノード列を割り付けるための規則
であり、部分割付テンプレート240は、割付けオブジ
ェクトクラス241〜243から構成されており、部分
割付テンプレート250は、割付けオブジェクトクラス
251〜253から構成されている。割付け根である割
付けオブジェクトクラス241(文書テンプレート)
は、論理構造210のルートである論理オブジェクト2
11(論理根)から指定され、割付け根である割付けオ
ブジェクトクラス251(小組枠テンプレート)は、論
理オブジェクト216(関連記事)から指定されてい
る。また割付オブジェクトクラス243、252、25
3は最下位フレームを生成する割付けオブジェクトクラ
スである。なお、各部分割付テンプレートは、上記OD
Aにおいて共通割付構造の部分構造として表現される。
因みに図2に示す部分割付テンプレート240は、図3
8に示した割付けテンプレート3820を再利用したも
のである。また図2において、240aは部分割付けテ
ンプレート240が表現しているレイアウトイメージで
あり、250aは部分割付けテンプレート250が表現
しているレイアウトイメージである。
The subdivision templates 240 and 250 are rules for allocating a logical node sequence for one layer respectively. The subdivision template 240 is composed of allocation object classes 241-243, and the subdivision template 250 is It is composed of allocation object classes 251 to 253. Allocation object class 241 (document template) that is the allocation root
Is a logical object 2 that is the root of the logical structure 210
11 (logical root), and the allocation object class 251 (small frame template) that is an allocation root is specified from the logical object 216 (related article). Also, the allocation object classes 243, 252, 25
Reference numeral 3 is an allocation object class for generating the lowest frame. In addition, the template with each division is the above OD.
In A, it is expressed as a partial structure of the common allocation structure.
By the way, the template 240 with partial division shown in FIG.
The allocation template 3820 shown in FIG. 8 is reused. In FIG. 2, 240a is a layout image represented by the partial layout template 240, and 250a is a layout image represented by the partial layout template 250.

【0076】なおこの実施例では、論理構造を構成する
論理オブジェクトのうち、基本論理オブジェクトと、部
分割付テンプレートを指定している論理オブジェクトと
を論理ノードと呼ぶことにする。なお必要に応じて基本
論理オブジェクト又は論理オブジェクトを併記する。論
理ノードは部分割付手段109あるいは内容割付手段1
04のうちいずれかの起動を指定する役割を果たすこと
になる。
In this embodiment, among the logical objects forming the logical structure, the basic logical object and the logical object designating the template with partial division are called logical nodes. In addition, a basic logical object or a logical object is also described as needed. The logical node is the partial division assigning means 109 or the content assigning means 1
It will play the role of designating the activation of any one of 04.

【0077】次に、この実施例では、部分割付け処理を
実行する部分割付手段109を呼び出す時に、論理ノー
ド抽出手段106によって前処理として文書の論理構造
から論理ノード列が抽出され、この論理ノード列は、処
理の対象となる論理構造の範囲を示すための情報として
論理ノード列管理手段107によって管理される。その
論理ノード列によって部分割付けテンプレートを適用す
る範囲が明確になる。ある論理ノード列の下位の構造に
論理ノードが存在するときには、上位の論理ノードが、
その下位の論理ノードの列をネスト(入れ子)した論理
ノード列とみなす。論理構造のルートには論理構造全体
に対する部分割付けテンプレートが指定されているの
で、ルートより下位に論理ノード群が存在すれば、それ
らの論理ノードはルートの論理ノードにネストされた論
理ノード列を構成する。論理ノード列を構成する論理ノ
ードはさらに下位の論理ノードをネストしていき、最終
的に論理構造のリーフである内容を持つ基本論理オブジ
ェクトから構成される論理ノード列をネストする。
Next, in this embodiment, when calling the partial division attaching means 109 for executing the partial division processing, the logical node extraction means 106 extracts a logical node sequence from the logical structure of the document as a preprocess, and this logical node sequence is extracted. Are managed by the logical node sequence management means 107 as information for indicating the range of the logical structure to be processed. The logical node sequence clarifies the range to which the partial layout template is applied. When there is a logical node in the lower structure of a certain logical node sequence, the upper logical node
The lower logical node sequence is regarded as a nested logical node sequence. Since the root of the logical structure is specified with a partial partitioning template for the entire logical structure, if logical node groups exist below the root, those logical nodes form a logical node sequence nested in the logical node of the root. To do. The logical nodes forming the logical node sequence further nest lower logical nodes, and finally nest a logical node sequence composed of basic logical objects having contents that are the leaves of the logical structure.

【0078】ここで、図2に示す論理構造210から得
られる論理ノード列を図3に示す。図3において、論理
ノード列は、論理構造全体を構成する論理ノード列と関
連記事を構成する論理ノード列の2階層となる。最上位
の論理ノード211(論理根)にネストされている第1
層の論理ノード列は、内容部A、B、C、D、Eを持つ
論理ノード(基本論理オブジェクト)213〜215、
221、222と、「関連記事」で示される論理ノード
(論理オブジェクト)216とから構成されている。こ
の第1層の論理ノード列は、最上位の論理ノードに対応
つけられている部分割付けテンプレート240(実際に
は、割付け根である「文書テンプレート」が対応付けら
れている)が適用されて部分割付けが行われる。論理ノ
ード216(関連記事)は、さらに内容部a、b、cを
持つ論理ノード(基本論理オブジェクト)217〜21
9からなる第2層の論理ノード列をネストしている。論
理ノード216は部分割付けテンプレート250を指定
(実際には割付け根である「小組枠テンプレート」が指
定されている)しているが、これはネストされている第
2層の論理ノード列が、部分割付けテンプレート250
が適用されて部分割付けが行われることを示している。
Here, FIG. 3 shows a logical node sequence obtained from the logical structure 210 shown in FIG. In FIG. 3, the logical node sequence has two layers, that is, a logical node sequence forming the entire logical structure and a logical node sequence forming related articles. First nested in the highest logical node 211 (logical root)
The logical node sequence of the layer is a logical node (basic logical object) 213 to 215 having content parts A, B, C, D and E,
221, 222, and a logical node (logical object) 216 indicated by "related article". The logical node sequence of the first layer is a portion to which the partial layout template 240 (actually, the "document template" that is the layout root is associated) associated with the highest logical node is applied. Allocation is done. The logical node 216 (related article) further includes logical nodes (basic logical objects) 217 to 21 having content parts a, b, and c.
The second layer logical node sequence consisting of 9 is nested. The logical node 216 specifies the partial layout template 250 (actually, the "small frame template" which is the layout root is specified), but this means that the nested logical node sequence of the second layer is Allocation template 250
Is applied and the partial division is performed.

【0079】論理ノード列は、部分割付け処理または内
容割付け処理の対象となる論理オブジェクトを管理する
ものであり、論理構造中の全ての論理オブジェクトが論
理ノードとなるとは限らない。例えば、図3の例では、
図2に示す論理構造210に現れている論理オブジェク
ト(「1章」、「2章」の論理オブジェクト)は論理ノ
ード列には含まれない。すなわち、1章、2章の論理オ
ブジェクトが論理的に分類の役割を果たしていても、割
付け結果に反映されるものではないことを示している。
The logical node sequence manages the logical objects to be subjected to the parting process or the content allocating process, and not all logical objects in the logical structure are logical nodes. For example, in the example of FIG.
The logical objects appearing in the logical structure 210 shown in FIG. 2 (logical objects of “Chapter 1” and “Chapter 2”) are not included in the logical node sequence. That is, even if the logical objects of Chapters 1 and 2 logically play the role of classification, they are not reflected in the allocation result.

【0080】ここで、前処理としての論理ノード列が抽
出され管理された時点(部分割付け処理前の状態)で
の、割付処理を行うための、論理構造、部分割付テンプ
レート、論理ノード列のデータ構造を図4に示す。
Here, the data of the logical structure, the template with partial division, and the logical node sequence for performing the allocation process at the time when the logical node sequence as the preprocessing is extracted and managed (the state before the partial division process). The structure is shown in FIG.

【0081】図4において、211〜222は図2に示
した論理構造210を構成する論理オブジェクトであ
り、231〜238は図2に示した文書内容230を構
成する内容部であり、240、250は図2に示した部
分割付テンプレートである。
In FIG. 4, reference numerals 211 to 222 are logical objects constituting the logical structure 210 shown in FIG. 2, reference numerals 231 to 238 are content parts constituting the document content 230 shown in FIG. 2, and 240 and 250. Is the template with partial divisions shown in FIG.

【0082】図4に示すように、論理構造210のデー
タ構造においては、上位の論理オブジェクトは下位(直
下)の論理オブジェクトへのポインタを、また各基本論
理オブジェクトは自己に繋がる内容部へのポインタをそ
れぞれ有している。さらに論理オブジェクト(論理ノー
ド)211は部分割付テンプレート240へのポインタ
を、論理オブジェクト(論理ノード)216は部分割付
テンプレート250へのポインタを、それぞれ有してい
る。
As shown in FIG. 4, in the data structure of the logical structure 210, the upper logical object points to the lower (immediately below) logical object, and each basic logical object points to the content part connected to itself. Have respectively. Further, the logical object (logical node) 211 has a pointer to the template with partial division 240, and the logical object (logical node) 216 has a pointer to the template with partial division 250.

【0083】また図4において、431〜438は図3
に示した論理ノード列を構成する各論理ノードに対応す
るノードである。これは論理ノード列を実現する手段と
してのデータ構造の一例である。各論理ノードと各ノー
ドとの対応関係は次のようになっている。
Further, in FIG. 4, reference numerals 431 to 438 are the same as those in FIG.
It is a node corresponding to each logical node constituting the logical node sequence shown in FIG. This is an example of a data structure as a means for realizing a logical node sequence. The correspondence between each logical node and each node is as follows.

【0084】即ち図4に示すように、ノード431は論
理ノード211に対応し、ノード432は論理ノード2
13に対応し、ノード433は論理ノード214に対応
し、ノード434は論理ノード215に対応し、ノード
435は論理ノード216に対応し、ノード436は論
理ノード217に対応し、ノード437は論理ノード2
18に対応し、ノード438は論理ノード219に対応
し、ノード439は論理ノード221に対応し、ノード
440は論理ノード222に対応しており、各ノードは
該当する論理ノードへのポインタを有している。また部
分割付テンプレート240を指定している論理ノード2
11に対応するノード431は、ノード432、43
3、434、435、439、440からなる第1層の
ノード列をネストすべきポインタを有しており、また部
分割付テンプレート250を指定している論理ノード2
16に対応するノード435は、ノード436、43
7、438からなる第2層のノード列をネストすべきポ
インタを有している。
That is, as shown in FIG. 4, the node 431 corresponds to the logical node 211 and the node 432 corresponds to the logical node 2.
13, the node 433 corresponds to the logical node 214, the node 434 corresponds to the logical node 215, the node 435 corresponds to the logical node 216, the node 436 corresponds to the logical node 217, and the node 437 corresponds to the logical node. Two
18, the node 438 corresponds to the logical node 219, the node 439 corresponds to the logical node 221, the node 440 corresponds to the logical node 222, and each node has a pointer to the corresponding logical node. ing. In addition, the logical node 2 specifying the template 240
The node 431 corresponding to 11 is the node 432, 43.
A logical node 2 which has a pointer for nesting the node sequence of the first layer consisting of 3, 434, 435, 439, and 440, and which designates the template with partial division 250.
The node 435 corresponding to 16 has nodes 436 and 43.
It has a pointer for nesting the node sequence of the second layer consisting of 7, 438.

【0085】論理ノード列の実現手段としては図4に示
した構造をデータ構造として持つもの以外にも、データ
構造に反映させることなく、必要になるたびに論理構造
を解釈して、論理ノードの列の情報を取り出す、すなわ
ち仮想的に論理ノード列があるようにするものであって
も良い。
As means for implementing the logical node sequence, besides the structure having the structure shown in FIG. 4 as the data structure, the logical structure is interpreted each time it is needed without reflecting it in the data structure, and The column information may be extracted, that is, the logical node column may be virtually present.

【0086】例えば、図4において論理構造のルートで
ある論理ノード211に対する割付処理を行っている時
に、論理ノード列抽出手段106が、論理ノード211
の下位である論理オブジェクト212(これは論理ノー
ドではない)を認識し、さらに、論理オブジェクト21
2の下位である論理ノード(基本論理オブジェクト)2
13〜215を認識し、該認識したそれらの基本論理オ
ブジェクトに対応する論理ノード列(図4に示すノード
432〜434)を内部情報として持つようにしても良
いということである。
For example, when the allocation process for the logical node 211 which is the root of the logical structure in FIG.
A logical object 212 (which is not a logical node) that is a subordinate of
Logical node (basic logical object) 2 that is subordinate to 2
This means that 13 to 215 may be recognized and a logical node sequence (nodes 432 to 434 shown in FIG. 4) corresponding to the recognized basic logical objects may be held as internal information.

【0087】また、論理ノード(基本論理オブジェク
ト)213〜215に対する割付処理が行われていると
きに、論理ノード抽出手段106が、論理ノード211
の下位である論理ノード216を認識し、更に、論理ノ
ード216の下位である論理ノード(基本論理オブジェ
クト)217〜219を認識し、該認識した論理ノード
216及びこのノードにネストされている各基本論理オ
ブジェクトに対応する論理ノード列(図4に示すノード
435、このノードにネストされているノード436〜
438)を内部情報として持つようにしても良いという
ことである。
Further, while the allocation processing is being performed on the logical nodes (basic logical objects) 213 to 215, the logical node extracting means 106 causes the logical node 211 to operate.
Of the logical nodes 216 to 219 which are lower than the logical node 216, and the logical nodes 217 to 219 which are lower than the logical node 216 are recognized. A sequence of logical nodes corresponding to a logical object (node 435 shown in FIG. 4, nodes 436 nested in this node).
438) may be included as internal information.

【0088】更に他の実現手段として、通常の論理構造
に替えて論理ノード列を論理構造として保持するような
文書処理装置を構成することも考えられる。つまり、上
述した例では、図2に示した内容(論理ノード列を抽出
する前の内容)を作成し、この内容から図3に示した内
容(論理ノード列を抽出した後の内容)を得た後、図3
に示した内容を参照して割付処理を行うようにしている
が、これを、図2に示した内容を作成することなく、図
3に示した内容(論理ノード列が存在する構成内容、つ
まり「1章」、「2章」の論理オブジェクトが存在しな
い構成内容)を作成して割付処理を行うようにしても良
いということである。
As another implementation means, it is conceivable to configure a document processing device that holds a logical node sequence as a logical structure instead of the normal logical structure. That is, in the above-mentioned example, the content shown in FIG. 2 (content before extracting the logical node sequence) is created, and the content shown in FIG. 3 (content after extracting the logical node sequence) is obtained from this content. After that, Fig. 3
Although the allocation process is performed by referring to the contents shown in FIG. 3, the contents shown in FIG. 3 (configuration contents in which the logical node sequence exists, that is, the contents shown in FIG. This means that the allocation processing may be performed by creating (structure contents in which the logical objects of “Chapter 1” and “Chapter 2” do not exist).

【0089】いずれの手段にしても、部分割付けテンプ
レートとこのテンプレートの適用範囲が、階層化された
論理オブジェクトの列として取り出されるように管理さ
れていることが重要である。
In any means, it is important that the subdivision template and the application range of this template are managed so as to be extracted as a sequence of hierarchical logical objects.

【0090】さてここで、図3に示した論理構造に、図
3に示した部分割付テンプレートを適用して得られる文
書の割付構造を図5に示す。
Now, FIG. 5 shows a layout structure of a document obtained by applying the template with partial division shown in FIG. 3 to the logical structure shown in FIG.

【0091】図5(a)において、割付け構造510
は、割付オブジェクト511〜528から構成されてお
り、特に割付オブジェクト514、515、518、5
21、522、524、527、528はブロックであ
る。各ブロック(割付オブジェクト)は該当する内容部
に繋がっている。図5(b)は図5(a)に示す割付結
果が表現しているレイアウトイメージを表しており、ペ
ージP1は割付オブジェクト512(ページ)以下の構
造に対応するレイアウトイメージであり、ページP2は
割付オブジェクト517(ページ)以下の構造に対応す
るレイアウトイメージであり、ページP3は割付オブジ
ェクト526(ページ)以下の構造に対応するレイアウ
トイメージである。なお、図5(a)に示した割付構造
510のデータ構造は図6に示すような内容であり、上
位の割付オブジェクトは下位の割付オブジェクトへのポ
インタを、また各ブロックは自己に繋がる内容部へのポ
インタをそれぞれ有している。
In FIG. 5A, the layout structure 510.
Are allocated objects 511 to 528, and in particular, allocated objects 514, 515, 518, and 5
Reference numerals 21, 522, 524, 527 and 528 are blocks. Each block (allocation object) is connected to the corresponding content part. FIG. 5B shows a layout image represented by the layout result shown in FIG. 5A, page P1 is a layout image corresponding to the structure below the layout object 512 (page), and page P2 is A layout image corresponding to the structure below the layout object 517 (page), and a page P3 is a layout image corresponding to the structure below the layout object 526 (page). The data structure of the allocation structure 510 shown in FIG. 5A has the contents as shown in FIG. 6, the upper allocation object is a pointer to the lower allocation object, and each block is a content part connected to itself. Each has a pointer to.

【0092】従って、図2に示した論理構造210と図
5(a)に示した割付構造510とは、内容部を介して
対応つけされていることになる。つまり内容部は、論理
構造及び割付け構造から参照されていることになる。
Therefore, the logical structure 210 shown in FIG. 2 and the allocation structure 510 shown in FIG. 5A are associated with each other via the contents section. That is, the content part is referred to by the logical structure and the allocation structure.

【0093】なお、図6に示した例では基本論理オブジ
ェクトとブロックとの対応関係が1対1になっている
が、1つの基本論理オブジェクトから複数の割付けオブ
ジェクト(ブロック)が生成されることも有り得る。こ
のとき内容部は内容割付け手段104よって分割される
こととなる。
In the example shown in FIG. 6, the basic logical objects and the blocks have a one-to-one correspondence, but a plurality of allocation objects (blocks) may be generated from one basic logical object. It is possible. At this time, the content part is divided by the content allocating means 104.

【0094】次に、部分割付手段109による割付構造
の生成について説明する。
Next, the generation of the layout structure by the partial layout unit 109 will be described.

【0095】部分割付手段109は、1階層分の論理ノ
ード列を構成している論理ノードについて、内容割付手
段104を呼び出すか、または自己つまり部分割付手段
109を呼び出す(再帰的呼び出し)ことによって得ら
れる部分割付け構造を、最下位フレームに流し込む。す
なわち、従来ではブロックに対してのみ行われていた、
割付ノードを最下位フレームに流し込む処理を、フレー
ムにまで拡張したものである。
The subdivision assigning means 109 is obtained by invoking the content allocating means 104 or by calling the subdivision assigning means 109 (recursive invocation) for the logical nodes constituting the logical node sequence for one layer. The partial division structure that is used is poured into the lowest frame. That is, in the past, it was done only for blocks,
This is a process in which the process of pouring allocation nodes into the lowest frame is extended to frames.

【0096】ところで、図6に示したように、論理ノー
ド列をネストしている論理ノードは必ず部分割付テンプ
レートを指示している。ある論理ノードが指示している
部分割付テンプレートとその論理ノードがネストしてい
る論理ノード列とに対して部分割付手段109が起動さ
れると、部分割付手段109は、次に説明する処理を行
う。
By the way, as shown in FIG. 6, a logical node that nests a logical node sequence always indicates a template with partial division. When the partial-partitioning unit 109 is activated for the partial-partitioning template designated by a certain logical node and the logical node sequence in which the logical node is nested, the partial-partitioning unit 109 performs the process described below. ..

【0097】(1)論理ノード列を構成する論理ノード
が基本論理オブジェクトの場合は、内容割付手段104
を呼び出して、この内容割付手段104によって生成さ
れたブロックを、部分割付テンプレートから生成された
割付構造の最下位フレームに流し込む。
(1) If the logical nodes forming the logical node sequence are basic logical objects, the content allocating means 104
To call the block generated by the content allocating means 104 into the lowest frame of the layout structure generated from the partial layout template.

【0098】(2)論理ノード列を構成する論理ノード
が部分割付テンプレートを指示している場合は、その論
理ノード列にネストされている論理ノード列と、その論
理ノードが指示している部分割付テンプレートとに対し
て、さらに自己(部分割付手段109)を再帰的呼び出
して部分割付処理を実行し、この実行の結果得られたフ
レームを、既に生成されている割付構造の最下位フレー
ムに流し込む。
(2) When the logical nodes forming the logical node sequence point to the template with partial division, the logical node sequence nested in the logical node sequence and the partial division with the logical node instructed With respect to the template, self (partitioning unit 109) is recursively called to perform the parting process, and the frame obtained as a result of this execution is poured into the lowest frame of the already generated layout structure.

【0099】ここで、部分割付手段109による部分割
付け処理の概略を述べると、部分割付手段109は、論
理ノード列管理手段107を参照して、ここに管理され
ている論理ノード列のうち、最上位層の論理ノード列の
先頭の論理ノードから順次割付処理を実行することとな
る。ここで、最上位層の論理ノード列の先頭の論理ノー
ドは、論理構造におけるルートの論理オブジェクトであ
り、その論理オブジェクトは論理構造全体に対応する部
分割付テンプレートを指定している。従って、ルートの
論理ノードに部分割付け手段109を適用することによ
り、ルートの論理ノードにネストされている論理ノード
列について部分割付手段109が逐次に適用されて行
き、最終的に内容割付手段104が起動されるに至る。
Here, the outline of the partial division processing by the partial division attaching means 109 will be described. The partial division attaching means 109 refers to the logical node sequence management means 107, and selects the highest logical node sequence among the logical node sequences managed here. The allocation process is sequentially executed from the first logical node of the logical node sequence of the upper layer. Here, the top logical node of the logical node sequence of the highest layer is a root logical object in the logical structure, and the logical object specifies a template with partial division corresponding to the entire logical structure. Therefore, by applying the partial division unit 109 to the root logical node, the partial division unit 109 is sequentially applied to the logical node sequence nested in the root logical node, and finally the content allocation unit 104 is To be launched.

【0100】次に、部分割付手段109による部分割付
処理を、図7のフローチャートを参照して説明する。
Next, the process of adding the partial division by the partial division attaching means 109 will be described with reference to the flowchart of FIG.

【0101】図7に示すように、部分割付手段109
は、ルートの論理ノードが指定している部分割付テンプ
レートの制約を満たす最小の部分割付構造を生成する
(ステップ701)。ここで、生成された部分割付構造
を“LayStruct ”とする。
As shown in FIG. 7, the copy division means 109
Generates a minimum structure with partial division that satisfies the constraint of the template with partial division designated by the root logical node (step 701). Here, the generated structure with partial division is referred to as "LayStruct".

【0102】次に、論理ノード列は全て割付けられたか
否かを判定し(ステップ702)、全て割付けられた場
合には“LayStruct ”を結果として返し、一方、割付け
が終了していない場合は、その論理ノード列から、割付
けが終了していない最初の論理ノードを取り出す(ステ
ップ703)。ここで、取り出した論理ノードを“LogN
ode ”とする。
Next, it is judged whether or not all the logical node sequences have been allocated (step 702), and if all have been allocated, "LayStruct" is returned as a result. On the other hand, if the allocation has not been completed, From the logical node sequence, the first logical node whose allocation is not completed is taken out (step 703). Here, the extracted logical node is called "LogN
ode ”.

【0103】続いて、この“LogNode ”は基本論理オブ
ジェクトであるか否かを調べ(ステップ704)、基本
論理オブジェクトであれば内容割付手段104を呼び出
す。この呼ばれた内容割付手段104は、割付けオブジ
ェクト(ブロック)を生成する(ステップ705)。一
方、ステップ704で基本論理オブジェクトでなけれ
ば、“LogNode ”の下位の論理ノード列と“LogNode ”
が指定している部分割付テンプレートとについて、自己
(部分割付処理109)を呼び出して(再帰的呼び出
し)、割付けオブジェクト(フレーム)を生成する(ス
テップ706)。なお、生成されたブロック及びフレー
ムをそれぞれ“LayObject ”とする。なお、ステップ7
06において、再帰的呼び出しされた部分割付け手段1
09は、上記ステップ701の処理同様に、“LogNode
”が指定している部分割付テンプレートの制約を満た
す最小の部分割付構造を生成することになる。
Then, it is checked whether or not this "LogNode" is a basic logical object (step 704), and if it is a basic logical object, the content allocating means 104 is called. The called content allocating means 104 generates an allocation object (block) (step 705). On the other hand, if it is not the basic logical object in step 704, the logical node sequence lower than “LogNode” and “LogNode”
With respect to the template with partial division specified by, the self (partial division processing 109) is called (recursive call) to generate an allocation object (frame) (step 706). The generated block and frame are referred to as “LayObject”. Note that step 7
In 06, the recursively called parting means 1
In the same manner as the processing of step 701, “09
The minimum structure with partial division that satisfies the constraint of the template with partial division specified by "is generated.

【0104】さて、ステップ705あるいはステップ7
06を終了した部分割付け手段109は、“LayStruct
”の最下位フレームに、“LayObject ”を流し込むの
に十分な領域が残っているか否かを判定する(ステップ
707)。ここで、残っていた場合には、“LayObject
”を“LayStruct ”の最下位フレームに流し込む(ス
テップ708)。一方、残っていない場合は、“LayStr
uct ”に、上記ステップ701における部分割付テンプ
レート(つまりルートによって指定されている部分割付
けテンプレート)が許す構造の追加を行って、新たな最
下位フレームを生成し(ステップ709)、上記ステッ
プ708に進む。このステップ708終了後は、上記ス
テップ702に戻りこのステップ以降を実行する。
Now, step 705 or step 7
The section dividing unit 109 that has finished 06 is "LayStruct".
It is judged whether or not there is a sufficient area for pouring "LayObject" in the lowest frame of "LayObject".
"" Into the lowest frame of "LayStruct" (step 708).
uct "is added with a structure permitted by the template with partial division in step 701 (that is, the template with partial division specified by the root) to generate a new lowest frame (step 709), and the process proceeds to step 708. After completion of step 708, the process returns to step 702 and the steps after this step are executed.

【0105】次に、部分割付手段109による部分割付
処理を、再度図4を用いて具体例に説明する。
Next, the partial division adding process by the partial division adding means 109 will be described again with reference to FIG. 4 as a specific example.

【0106】部分割付手段109は、例えば図4におい
て、論理ノード列に対応するノード群のうち、先頭のノ
ード431を参照し、次にノード431に対応する論理
ノード211を参照し、さらに論理ノード211に指定
されている部分割付テンプレート240(図3参照)を
参照する。そして部分割付テンプレート240の制約を
満たす最小の部分割付構造を生成する。
For example, in FIG. 4, the partial division attaching means 109 refers to the head node 431 of the node group corresponding to the logical node sequence, then to the logical node 211 corresponding to the node 431, and further to the logical node. Reference is made to the template 240 with partial division designated by 211 (see FIG. 3). Then, the minimum structure with partial division that satisfies the constraint of the template 240 with partial division is generated.

【0107】次にノード431がネストしているノード
432、433、434、435、439、440にそ
れぞれ対応する論理ノードに対して、順次部分割付処理
を行う。このとき、それらの論理ノードに対しては部分
割付テンプレート240が適用される。しかしノード4
35に対する部分割付け処理においては、ノード435
は、ノード436、437、438をネストし、ノード
435に対応する論理ノード216は部分割付テンプレ
ート250(図3参照)を指定しているので、それらの
ノードに対する割付処理が、ノード439、440に対
する割付処理に先立って行われる。このときノード43
6、437、438に対応する論理ノードに対しては部
分割付テンプレート250が適用される。
Next, partial partitioning processing is sequentially performed on the logical nodes corresponding to the nodes 432, 433, 434, 435, 439, 440 in which the node 431 is nested. At this time, the template 240 with partial division is applied to those logical nodes. But node 4
In the collation processing for 35, the node 435
Nests the nodes 436, 437, 438, and the logical node 216 corresponding to the node 435 specifies the partial layout template 250 (see FIG. 3). Therefore, the allocation process for those nodes is performed for the nodes 439, 440. It is performed prior to the allocation process. At this time, the node 43
The template with partial division 250 is applied to the logical nodes corresponding to 6, 437, and 438.

【0108】ここで、ノード434に対する処理が終了
し、ノード435に対する処理、つまりフレームの流し
込みを行う場合の部分割付手段109による部分割付処
理について説明する。
Now, the processing for the node 434 is completed and the processing for the node 435, that is, the processing for partial division by the partial division attaching means 109 when performing frame insertion will be described.

【0109】最初に、部分割付手段109は、ノード4
35を参照し、ノード435に対応する論理ノード21
6が指定している部分割付テンプレート250(図3参
照)の制約から、図8(a)に示すように、最小の部分
割付構造810を生成する。次に、ノード435がネス
トしているノード436に対応する論理ノード(基本論
理オブジェクト)217に対する部分割付処理時には、
内容割付手段104を呼び出して、この内容割付手段1
04によって生成されたブロック521を、最下位フレ
ームに配置する。これは、生成されたブロックが、図8
(b)に示すように、部分割付け構造810の最下位フ
レーム内に流し込まれることを意味している。同様に、
ノード435がネストしているノード437、438に
対しても部分割付処理を実行すると、図9(a)に示す
ような部分割付処理結果910が得られることとなる。
First, the copy division adding means 109 determines that the node 4
35, the logical node 21 corresponding to the node 435.
From the restriction of the template with partial division 250 (see FIG. 3) designated by No. 6, the minimum structure with partial division 810 is generated as shown in FIG. Next, at the time of partial division processing for the logical node (basic logical object) 217 corresponding to the node 436 in which the node 435 is nested,
This content allocation means 1 is called by calling the content allocation means 104.
The block 521 generated by 04 is arranged in the lowest frame. This is because the generated block is
As shown in (b), it is meant to be poured into the lowest frame of the partial division structure 810. Similarly,
When the process with partial division is executed for the nodes 437 and 438 in which the node 435 is nested, the process result 910 with partial division as shown in FIG. 9A is obtained.

【0110】部分割付処理結果910に対しては、部分
割付テンプレート240が適用されるため、部分割付処
理結果910は、図9(a)に示すよう、ノード431
〜434に対して部分割付テンプレート240を適用し
て得られた、部分割付構造920における最下位フレー
ム921(本文枠)に配置されることになる。これは部
分割付処理結果910(つまりフレーム(小組枠))
が、図9(b)に示すように、最下位フレーム内に流し
込まれることを意味している。
Since the template 240 with partial division is applied to the processing result 910 with partial division, the processing result 910 with partial division is the node 431 as shown in FIG. 9A.
To 434 are arranged in the lowest frame 921 (text frame) in the structure with partial division 920 obtained by applying the template with partial division 240. This is the processing result with partial division 910 (that is, a frame (small set frame))
, As shown in FIG. 9 (b), means that it is poured into the lowest frame.

【0111】従来の割付け処理では、上述したような最
下位フレーム内にフレームを流し込む処理は出来なかっ
た。
In the conventional allocation process, the process of pouring a frame into the lowest frame as described above cannot be performed.

【0112】続いて、ノード435に対する処理を終了
し、ノード431にネストされているノード439、4
40に対する割付処理を行うことによって、図3に示し
た論理構造全体が割付けられることになり、図5に示し
た割付結果が得られることとなる。なお図5に示した割
付構造510では、図48(a)に示した割付構造48
00における版面枠が本文枠となっている。これは、本
文枠が、第1層の論理ノード列に対する部分割付け処理
で最下位フレームとして扱われ、また左枠と右枠が、第
2層の論理ノード列に対する部分割付け処理で最下位フ
レームとして扱われるためである。
Then, the processing for the node 435 is completed, and the nodes 439 and 4 nested in the node 431 are terminated.
By performing the allocation process for 40, the entire logical structure shown in FIG. 3 is allocated, and the allocation result shown in FIG. 5 is obtained. In the allocation structure 510 shown in FIG. 5, the allocation structure 48 shown in FIG.
The plate frame at 00 is the text frame. This is because the body frame is treated as the lowest frame in the partial division process for the first layer logical node sequence, and the left frame and the right frame are treated as the lowest frame in the partial division process for the second layer logical node sequence. This is because they are treated.

【0113】上述したように、論理構造のルートに対し
て起動した部分割付手段109と、この部分割付手段1
09により間接的に起動される部分割付手段(再帰的呼
び出し)109および内容割付手段104によって論理
構造全体が割り付けられることとなる。
As described above, the partial division attaching means 109 activated for the root of the logical structure and the partial division attaching means 1
The entire logical structure is allocated by means of the partial division assigning means (recursive call) 109 and the content allocating means 104 which are indirectly activated by 09.

【0114】なお、上述した図2に示す論理構造におけ
る論理オブジェクト212、222(つまり「1章」、
「2章」の論理オブジェクト)についても、対応する部
分割付テンプレートを記述したとすれば、図10に示す
ような論理ノード列の構成となる。図10に示す例で
は、論理ノード211は論理ノード212、216、2
20から構成される論理ノード列をネストし、また論理
ノード212は論理ノード213、214、215から
構成される論理ノード列をネストし、また論理ノード2
20は論理ノード221、222から構成される論理ノ
ード列をネストしており、さらには論理ノード212、
220は章枠用の部分割付けテンプレート(章枠テンプ
レート)1000を指定している。なお、1000aは
部分割付けテンプレート1000が表現しているレイア
ウトイメージである。
The logical objects 212 and 222 (that is, "Chapter 1") in the logical structure shown in FIG.
For the logical object of “Chapter 2”, if the corresponding template with partial division is described, the logical node sequence is configured as shown in FIG. In the example shown in FIG. 10, the logical node 211 is the logical nodes 212, 216, and 2.
A logical node sequence consisting of 20 is nested, a logical node 212 is nesting a logical node sequence consisting of logical nodes 213, 214, 215, and a logical node 2
20 nests a logical node sequence composed of logical nodes 221 and 222, and further, logical node 212,
Reference numeral 220 designates a chapter division template (chapter frame template) 1000 for chapter frames. Note that 1000a is a layout image represented by the partial layout template 1000.

【0115】次に、本発明の第2の実施例を図11乃至
図17を参照して説明する。
Next, a second embodiment of the present invention will be described with reference to FIGS. 11 to 17.

【0116】図11は、本発明に係る文書処理装置の第
2の実施例を機能ブロック図で示したものである。この
機能ブロック図は、図1に示した第1の実施例の機能ブ
ロック図の構成において、部分割付手段109を部分割
付手段1100に変更した構成になっている。同図にお
いて、図1に示した構成要素と同様の機能を果たす部分
には同一の符号を付している。
FIG. 11 is a functional block diagram showing the second embodiment of the document processing apparatus according to the present invention. This functional block diagram is the same as the functional block diagram of the first embodiment shown in FIG. 1, except that the section division attaching unit 109 is changed to the section division attaching unit 1100. In the figure, the same reference numerals are given to the parts that perform the same functions as the components shown in FIG.

【0117】部分割付手段1100は、部分割付構造の
領域を、上位の割付オブジェクトの残り領域からトップ
ダウンに決定するトップダウン部分割付手段1110
と、部分割付構造の領域を、下位の割付オブジェクトを
合成した領域からボトムアップに決定するボトムアップ
部分割付手段1120と、後述する割付手段選択情報に
基づき前記各部分割付手段のうちいずれかを選択する部
分割付選択手段1130とを有している。
The partial division attaching means 1100 determines the area of the partial division attaching structure to be top-down from the remaining area of the upper allocation object.
And a bottom-up part dividing means 1120 for deciding the area of the part dividing structure from the area obtained by combining the lower-level layout objects to bottom-up, and selecting one of the respective part dividing means based on allocation means selection information described later. And a selection unit 1130 with partial division.

【0118】なお、部分割付テンプレート保持手段10
5は、第1の実施例で説明した機能に加えて、部分割付
テンプレートが、トップダウン部分割付手段1110あ
るいはボトムアップ部分割付手段1120のうちいずれ
の部分割付手段を適用するかについての割付手段選択情
報を保持しており、この実施例では、割付手段選択情報
として、「トップダウン」を示す値、「ボトムアップ」
を示す値を保持している。
Note that the template holding means 10 with partial division is used.
In addition to the functions described in the first embodiment, reference numeral 5 is an allocation means selection as to which of the top-down part division attaching means 1110 and the bottom-up part division attaching means 1120 is applied to the division attaching template. Information is stored, and in this embodiment, a value indicating "top down" and "bottom up" are used as the allocation means selection information.
Holds a value that indicates.

【0119】ここで、部分割付選択手段1130は、
「トップダウン」を示す値であった場合にはトップダウ
ン部分割付手段1110を選択し、一方「ボトムアッ
プ」を示す値であった場合はボトムアップ部分割付手段
1120を選択するようになっている。
Here, the copy division selection means 1130 is
When the value is "top down", the top down part dividing means 1110 is selected, and when the value is "bottom up", the bottom up part dividing means 1120 is selected. ..

【0120】ところで、上述した第1の実施例では、部
分割付手段109による部分割付処理(図7に示したフ
ローチャト参照)においては、下位の割付オブジェクト
を合成した領域からボトムアップにフレーム(小組枠)
の大きさを決定している。従って、図2に示される、論
理構造210に対して部分割付テンプレート240、2
50を適用して割付処理を行った場合に、最下位フレー
ムの残り領域(空き領域)が十分でないとき、つまり本
文枠の残り領域に小組枠が入るだけの余地がないとき
は、図12(a)に示すような割付け結果となる。図1
2(b)は図12(a)に示す割付結果が表現している
レイアウトイメージを表している。
By the way, in the above-described first embodiment, in the partial division adding process by the partial division adding unit 109 (see the flowchart shown in FIG. 7), a frame (small subframe) is added from the area in which the lower layout objects are combined to the bottom-up. )
Has determined the size of. Therefore, as shown in FIG.
When the allocation processing is performed by applying 50, when the remaining area (empty area) of the lowest frame is not sufficient, that is, when there is no room for the small set frame to enter the remaining area of the body frame, FIG. The allocation result is as shown in a). Figure 1
2 (b) shows a layout image represented by the allocation result shown in FIG. 12 (a).

【0121】もしフレーム(小組枠)の大きさの決定を
ボトムフップではなくトップダウンに決定するようにし
たときには、図13(a)に示すような割付け結果が得
られる。図13(b)は図13(a)に示す割付結果が
表現しているレイアウトイメージを表している。
If the size of the frame (small set frame) is decided to be top-down instead of bottom-hoop, the allocation result as shown in FIG. 13 (a) is obtained. FIG. 13B shows a layout image represented by the allocation result shown in FIG.

【0122】すなわち、本発明に係る最下位フレームへ
のフレームの流し込みにおいても、従来の割付け処理に
よる最下位フレームへのブロックの流し込みの同様に、
ボトムアップとトップダウンの2種類の方法がある。
That is, also in the frame pouring to the lowest frame according to the present invention, similarly to the block pouring to the lowest frame by the conventional allocation processing,
There are two methods, bottom-up and top-down.

【0123】次に、フレームの流し込み時のボトムアッ
プな割付とトップダウンな割付の割付け過程を図14乃
至図16を参照して説明する。
Next, the allocation process of bottom-up allocation and top-down allocation when the frame is poured will be described with reference to FIGS. 14 to 16.

【0124】なお、図14はフレームの流し込み時のボ
トムアップな割付を説明するための図であり、図15お
よび図16はフレームの流し込み時のトップダウンな割
付を説明するための図である。
FIG. 14 is a diagram for explaining a bottom-up layout when the frame is poured, and FIGS. 15 and 16 are diagrams for explaining a top-down layout when the frame is poured.

【0125】[ボトムアップな割付] 1)最小の部分割付構造を生成する。 このとき部分割付構造が表現しているフレーム(小組
枠)のレイアウトのイメージは図14(a)に示すよう
な内容になる。
[Bottom-Up Allocation] 1) A minimum partial division structure is generated. At this time, the image of the layout of the frame (subset frame) represented by the structure with partial division has the content shown in FIG.

【0126】2)次に内容部「a」を持つブロックの流
し込みを行う。 この内容部「a」が小組枠に流し込まれた時点での、フ
レーム(小組枠)内のレイアウトイメージは図14
(b)に示すような内容になる。なお図14(b)に示
すように、内容部「a」が左枠と右枠とに流し込まれて
いるが、これは左枠と右枠との領域にバランスされるよ
うに流し込むようにしているためである。
2) Next, the block having the content portion "a" is poured. The layout image in the frame (small set frame) at the time when the content portion "a" is poured into the small set frame is shown in FIG.
The contents are as shown in (b). As shown in FIG. 14 (b), the content portion "a" is poured into the left frame and the right frame, but this should be poured so as to be balanced in the region of the left frame and the right frame. This is because

【0127】3)続いて内容部「b」を持つブロックの
流し込みを行う。 この内容部「b」が小組枠に流し込まれた時点での、フ
レーム(小組枠)内のレイアウトイメージは図14
(c)に示すような内容になる。
3) Subsequently, the block having the content portion "b" is poured. A layout image in the frame (small set frame) at the time when the content portion “b” is poured into the small set frame is shown in FIG.
The contents are as shown in (c).

【0128】4)さらに内容部「c」を持つブロックの
流し込みを行う。 この内容部「c」が小組枠に流し込まれた時点での、フ
レーム(小組枠)内のレイアウトイメージは図14
(d)に示すような内容になる。
4) Further, the block having the content portion "c" is poured. FIG. 14 shows a layout image in the frame (small set frame) at the time when the content portion “c” is poured into the small set frame.
The contents are as shown in (d).

【0129】しかし、内容部「c」が流し込まれた時点
においては、フレーム(小組枠)の領域が、あるページ
の本文枠(最下位フレーム)の残り領域(空き領域)、
つまり流し込み可能な大きさを越えているので、生成さ
れたフレーム(小組枠)は当該最下位フレームへは流し
込むことはできず、結果として、新たに生成されるペー
ジの本文枠(最下位フレーム)に流し込まれることにな
る。
However, at the time when the content portion “c” is poured, the area of the frame (subset frame) is the remaining area (empty area) of the body frame (bottom frame) of a page,
In other words, since the size exceeds the fillable size, the generated frame (subset frame) cannot be poured into the lowest frame, and as a result, the body frame of the newly generated page (lowest frame). Will be poured into.

【0130】これは、図12(b)に示すレイアウトイ
メージにおいて、小組枠を、2ページ目の本文枠に流し
込もうとしたが空き領域が足りず、3ページ目に流し込
んだ場合に相当する。
This corresponds to a case where the sub-set frame is poured into the text frame of the second page in the layout image shown in FIG. 12B, but the free space is insufficient, and the small frame is poured into the third page. ..

【0131】[トップダウンな割付1] 1)最小の部分割付構造を生成する。 このときの部分割付構造は、図15(a)に示すよう
に、流し込み可能な最大の大きさにする。この流し込み
可能な最大の大きさは上位の最下位フレーム(本文枠)
の残りの領域(空き領域)分に相当する。
[Top-Down Allocation 1] 1) A minimum partial division structure is generated. At this time, the structure with partial division is set to the maximum size that can be poured, as shown in FIG. The maximum size that can be poured is the uppermost lowest frame (text frame)
Corresponds to the remaining area (empty area).

【0132】2)次に内容部「a」を持つブロックの流
し込みを行う。 この内容部「a」がフレーム(小組枠)流し込まれた時
点での、フレーム内のレイアウトイメージは図15
(b)に示すような内容になる。なお図15(b)に示
すように、内容「a」が左枠と右枠とに流し込まれてい
るが、これは左枠と右枠との領域にバランスされるよう
に流し込むようにしているためである。
2) Next, the block having the content portion "a" is poured. The layout image in the frame at the time when the content portion "a" is poured into the frame (small set frame) is shown in FIG.
The contents are as shown in (b). As shown in FIG. 15 (b), the content "a" is poured into the left frame and the right frame, but it is poured so as to be balanced in the region of the left frame and the right frame. This is because.

【0133】3)続いて内容部「b」を持つブロックの
流し込みを行う。 この内容部「b」をフレームに流し込み、この内容部
「b」をフレームに流し込めなくなった時点で、図15
(c)に示すように、フレームを上位の最下位フレーム
(本文枠)に流し込む。これは、図13(b)に示すレ
イアウトイメージにおいて、2ページ目に分割されたフ
レーム(小組枠)が流し込まれた場合に相当する。すな
わち、この流し込みにおいては、内容部「b」の一部、
内容部「c」の全部が流し込めなかった場合である。
3) Then, the block having the content portion "b" is poured. When the content portion "b" is poured into the frame, and the content portion "b" cannot be poured into the frame, FIG.
As shown in (c), the frame is poured into the uppermost lowest frame (text frame). This corresponds to the case where the frame (subset frame) divided into the second page is poured in the layout image shown in FIG. That is, in this pouring, a part of the content part “b”,
This is the case where the entire content section "c" could not be poured.

【0134】しかしながらトップダウンの場合には、小
組枠の残りの内容は次ページにも割付けられるので、次
にその割付について説明する。
However, in the case of top-down, the remaining contents of the small frame are allocated to the next page, so the allocation will be described below.

【0135】[トップダウンな割付2] 1)最小の部分割付構造を生成する。 このときの部分割付構造は、図16(a)に示すよう
に、流し込み可能な最大の大きさにする。この流し込み
可能な最大の大きさは、新たに生成された上位の最下位
フレームの領域(空き領域)分に相当する。
[Top-Down Allocation 2] 1) A minimum partial division structure is generated. At this time, the structure with partial division is set to the maximum size that can be poured, as shown in FIG. The maximum size that can be poured corresponds to the area (empty area) of the newly generated uppermost and lowermost frame.

【0136】2)次に、上記「トップダウンな割付1」
で流し込まれなかった内容部「b」の一部、内容部
「c」を持つブロックの流し込みを行う。この内容部
「b」の一部、内容部「c」の全部が流し込まれた時点
での、フレーム(小組枠)内のレイアウトイメージは、
図16(b)に示すような内容になる。
2) Next, the above "top-down allocation 1"
The block having the content part "c" and the part of the content part "b" that was not flowed in is poured. The layout image in the frame (subset frame) at the time when a part of the content part “b” and the entire content part “c” are poured is
The contents are as shown in FIG.

【0137】3)続いて、フレームを最小の大きさにし
て、このフレームを、図16(c)に示すように、上位
の最下位フレームに流し込む。これは、図13(b)に
示すレイアウトイメージにおいて、3ページ目に、分割
されたフレーム(小組枠)が流し込まれた場合に相当す
る。
3) Subsequently, the frame is set to the minimum size, and this frame is poured into the uppermost and lowermost frames as shown in FIG. 16 (c). This corresponds to the case where the divided frame (subset frame) is poured into the third page in the layout image shown in FIG.

【0138】ところで、従来の割付け処理においては、
流し込みの対象がブロックであったため、ボトムアップ
とトップダウンの割付処理のいずれを選択するかは内容
部の種類によって判別、例えば、テキストならトップダ
ウン、図表ならボトムアップとすることが可能であっ
た。しかし本発明では流し込みの対象をフレームにも適
用するようにしているので、そのフレームは直接内容部
を保持していないため、ボトムアップにするかトップダ
ウンにするかを、内容部に基づいて判別することはでき
ない。
By the way, in the conventional allocation process,
Since the object to be flowed was a block, it was possible to determine whether to select bottom-up or top-down allocation processing according to the type of content part, for example, top-down for text and bottom-up for charts. .. However, in the present invention, since the object to be poured is also applied to the frame, since the frame does not directly hold the content part, it is determined whether to make the bottom-up or the top-down based on the content part. You cannot do it.

【0139】そこで、第2の実施例では、部分割付テン
プレートは、割付手段選択情報として、「トップダウ
ン」を示す値、あるいは「ボトムアップ」を示す値のい
ずれか一方の値を保持するようにしている。勿論、値が
設定されていない場合には、デフォルト値として予め設
定された値としても良い。
Therefore, in the second embodiment, the subdivision template retains either the value indicating "top down" or the value indicating "bottom up" as the allocation means selection information. ing. Of course, when the value is not set, the value may be set in advance as the default value.

【0140】そして部分割付選択手段1130が、割付
処理時に部分割付テンプレートを参照し、さらにこの部
分割付テンプレートに指定されている値(あるいはデフ
ォルト値)を認識し、この認識の結果、「トップダウ
ン」を示す値であった場合にはトップダウン部分割付手
段1110を選択し、一方「ボトムアップ」を示す値で
あった場合はボトムアップ部分割付手段1120を選択
する。これによって、トップダウン部分割付手段111
0はトップダウンな割付処理を実行し、一方、ボトムア
ップ部分割付手段1120はボトムアップな割付処理を
実行することとなる。
Then, the partial division selection means 1130 refers to the partial division template at the time of the allocation process, and further recognizes the value (or default value) specified in this partial division template, and as a result of this recognition, "top down". If it is a value indicating, the top-down section dividing means 1110 is selected, and if it is a value indicating “bottom-up”, the bottom-up section dividing means 1120 is selected. As a result, the top-down part dividing means 111
0 executes the top-down allocation process, while the bottom-up part dividing means 1120 executes the bottom-up allocation process.

【0141】このように部分割付テンプレートにトップ
ダウンな割付処理あるいはボトムアップな割付処理のい
ずれの処理を適用するのかを明示し、この情報に基づく
割付処理を行うことによって、例えば、図2に示した論
理構造210の論理オブジェクト216(関連記事)の
下位の構造が全く同じであっても、ボトムアップな割付
処理にするか、あるいはトップダウンな割付処理にする
かを明示的に選択可能になる。また例えばテーブルをフ
レームの組み合わせで表現している場合、テーブルが、
あるページの残りの領域に入らないときに、テーブルを
分割して2ページにまたがって割付けるか、あるいは次
のページにテーブル全体を割り付けるかの選択が可能に
なる。
As described above, for example, as shown in FIG. 2, by clearly indicating which process of the top-down layout process or the bottom-up layout process is applied to the partial layout template and performing the layout process based on this information. Even if the lower structure of the logical object 216 (related article) of the logical structure 210 is exactly the same, it is possible to explicitly select whether to perform the bottom-up allocation process or the top-down allocation process. .. Also, for example, when a table is represented by a combination of frames, the table is
When the remaining area of a certain page is not entered, it is possible to divide the table and allocate the table over two pages, or to allocate the entire table to the next page.

【0142】次に、ボトムアップ及びトップダウンな割
付け処理の詳細について説明するが、ボトムアップの場
合の割付処理動作は第1の実施例で説明した図7に示し
たフローと同様の処理なので、ここではその処理動作の
説明を省略する。なおその処理はボトムアップ部分割付
手段1120によって行われるということは言うまでも
ない。
Next, details of the bottom-up and top-down allocation processing will be described. Since the allocation processing operation in the bottom-up processing is the same as the flow shown in FIG. 7 described in the first embodiment, Here, the description of the processing operation is omitted. It goes without saying that the processing is performed by the bottom-up part dividing / attaching means 1120.

【0143】次に、トップダウン部分割付け手段111
0によるトップダウンな部分割付処理について図17の
フローチャートを参照して説明する。
Next, the top-down part dividing means 111
The top-down partial division processing by 0 will be described with reference to the flowchart in FIG.

【0144】さて、図17に示すように、トップダウン
部分割付手段1110は、フレームのルートの論理ノー
ドが指定している部分割付テンプレートの制約を満たす
最小の部分割付構造を生成する(ステップ1701)。
ここで、生成された部分割付構造を“LayStruct ”とす
る。
Now, as shown in FIG. 17, the top-down part division attaching means 1110 generates the smallest part division attaching structure which satisfies the constraint of the part division attaching template designated by the logical node of the root of the frame (step 1701). ..
Here, the generated structure with partial division is referred to as "LayStruct".

【0145】次に、“LayStruct ”のルートとなるフレ
ームの大きさを、そのフレームの上位の割付けオブジェ
クトの残り領域、つまり“LayStruct ”を流し込むべき
上位の最下位フレームの残り領域一杯の大きさにし(ス
テップ1702)、その後、論理ノード列は全て割付け
られたか否かを判定する(ステップ1703)。
Next, the size of the frame that is the root of "LayStruct" is set to the size of the remaining area of the upper allocation object of that frame, that is, the size of the remaining area of the uppermost lowest frame into which "LayStruct" should be poured. (Step 1702) After that, it is determined whether or not all the logical node sequences have been allocated (step 1703).

【0146】ここで、全て割付けられていない場合は、
論理ノード列から割付けが終了していない最初の論理ノ
ードを取り出す(ステップ1704)。この取り出した
論理ノードを“LogNode ”とする。
Here, if all are not assigned,
The first logical node whose allocation has not been completed is extracted from the logical node sequence (step 1704). The extracted logical node is called "LogNode".

【0147】続いて、この“LogNode ”は基本論理オブ
ジェクトであるか否かを調べ(ステップ1705)、基
本論理オブジェクトであれば、内容割付手段104を呼
び出す。この呼ばれた内容割付手段104は、ルートと
なっているフレームの最下位フレームに流し込める大き
さの割付けオブジェクト(ブロック)を生成する(ステ
ップ1706)。一方、ステップ1705において基本
論理オブジェクトでなければ、“LogNode ”の下位の論
理ノード列と“LogNode ”が指定している部分割付テン
プレートとについて、部分割付手段1100を呼び出し
て、割付けオブジェクト(フレーム)を生成する(ステ
ップ1707)。ここで、ボトムアップあるいはトップ
ダウンの割付け手段のどちらが選択(実行)されるか
は、部分割付け選択手段1130によって、“LogNode
”が指定している割付けテンプレートの選択情報に基
づき決定される。なお、生成されたブロック及びフレー
ムをそれぞれ“LayObject ”とする。
Then, it is checked whether or not this "LogNode" is a basic logical object (step 1705), and if it is a basic logical object, the content allocating means 104 is called. The called content allocating means 104 generates an allocation object (block) having a size that can be poured into the lowest frame of the root frame (step 1706). On the other hand, if it is not a basic logical object in step 1705, the subdivision assigning means 1100 is called for the subordinate logical node sequence of "LogNode" and the subdivision template specified by "LogNode" to assign an allocation object (frame). It is generated (step 1707). Here, which of the bottom-up and top-down allocation means is selected (executed) is determined by the partial division selection means 1130 by "LogNode".
It is determined based on the selection information of the allocation template designated by ". The generated block and frame are each" LayObject ".

【0148】なお、上記ステップ1707において、再
帰的呼び出しされたトップダウン部分割付手段1110
は、上記ステップ1701の処理同様に、“LogNode ”
が指定している部分割付テンプレートの制約を満たす最
小の部分割付構造を生成することになる。
Incidentally, in the above step 1707, the top-down part division adding means 1110 recursively called.
Is the same as the processing in step 1701 above.
Will generate the smallest structure with partial divisions that satisfies the constraint of the template with partial divisions specified by.

【0149】更に、ステップ1706あるいはステップ
1707を終了したトップダウン部分割付け手段111
0は、“LayObject ”を“LayStruct ”の最下位フレー
ムに流し込む(ステップ1708)。その後、“LogNod
e ”の最下位の論理ノード列または内容が全て割付けら
れているかどうかを調べる(ステップ1709)。ここ
で、まだ割付けるものがある場合には、上記ステップ1
703に戻りこのステップ以降を実行し、反対に、全て
割付けられている場合は、“LayStruct ”のルートとな
るフレームの大きさを、“LayStruct ”を構成する全て
の割付けオブジェクトを保持できる最小の大きさにし
て、その“LayStruct ”を結果として返す(ステップ1
710)。なお、上記ステップ1703において、論理
ノード列が全て割り付けられた場合は、上記ステップ1
710に進む。
Furthermore, the top-down part dividing means 111 that has completed step 1706 or step 1707.
In the case of 0, "LayObject" is poured into the lowest frame of "LayStruct" (step 1708). After that, “LogNod
It is checked whether or not all the lowest logical node sequences or contents of e "have been allocated (step 1709). If there is any allocation yet, step 1 above.
Returning to step 703, executing this step and subsequent steps, on the contrary, when all are allocated, the size of the frame that is the root of "LayStruct" is set to the minimum size that can hold all the allocation objects that make up "LayStruct". Now, return that "LayStruct" as a result (Step 1
710). In addition, in step 1703, when all the logical node sequences are allocated, the above step 1
Proceed to 710.

【0150】上述したように、本実施例においては、ト
ップダウン部分割付け手段1100によるトップップダ
ウンな部分割付け処理(図17のフロー参照)は、フレ
ームをルートとする部分割付構造を生成する際の処理に
おいてのみ適用される。論理構造全体のルートに対応す
る部分割付処理は、ボトムアップ部分割付け手段112
0によるボトムアップな割付け処理(図7のフロー参
照)によって行われる。ページなどの割付構造を追加し
て最下位フレームを生成する機能は、ボトムアップ部分
割付け手段1120のみが担当する。トップダウン部分
割付手段1110を用いたときに、対象となっている論
理ノード列全てを、一つの最下位フレームに流し込めな
かったときには、トップダウン部分割付手段1110
は、流し込めるところまで(部分割付け処理結果)を上
位の部分割付処理(実際には、上位の論理オブジェクト
に対する部分割付手段1100による部分割付処理にな
る)に引き渡して、部分割付け処理を終了する。したが
って、部分割付処理結果の引き渡しはボトムアップの部
分処理に行きつくことになる。ボトムアップ部分割付手
段1110で新たな最下位フレームが生成され、割付け
が途中で終わってしまった論理ノードについて、再び部
分割付手段1100が起動される。すなわち、溢れた論
理ノードについては同じ部分割付けテンプレートによる
部分割付処理が起動されることになる。
As described above, in the present embodiment, the top-down part division processing by the top-down part division means 1100 (see the flow of FIG. 17) is performed when a structure with a frame root is generated. Only applicable in processing. The bottom-up part dividing means 112 is the part dividing process corresponding to the root of the entire logical structure.
A bottom-up allocation process of 0 (see the flow of FIG. 7) is performed. Only the bottom-up part dividing unit 1120 takes charge of the function of adding the layout structure such as pages to generate the lowest frame. When the top-down part dividing / attaching means 1110 is used and all the target logical node sequences cannot be flowed into one lowest frame, the top-down portion / dividing means 1110 is used.
Passes the result (partitioning process result) to a higher-order parting process (actually, the higher-level logical object becomes the parting process by the parting means 1100), and ends the parting process. Therefore, the delivery of the processing result with partial division ends up in the bottom-up partial processing. A new lowest frame is generated by the bottom-up subdivision means 1110, and the subdivision means 1100 is activated again for a logical node for which allocation has been completed halfway. That is, with respect to the overflowed logical node, the partial division processing using the same partial division template is activated.

【0151】なお、上記ODAなどでは、フレームの大
きさを決定するために割付けテンプレートに、「可変」
あるいは「固定」のパラメータを許し、このパラメータ
値によって起動される割付け処理を切替えている。「可
変」の場合にはトップダウンの割付け処理の指示である
が、「固定」の場合は下位の割付けオブジェクトにかか
わらず大きさが固定という意味であり、本実施例で指摘
したボトムアップな割付け処理の指示とは全く異なるも
のである。なお本発明においても、パラメータの種類と
してさらに「固定」を追加することができる。
In the above ODA, etc., "variable" is assigned to the allocation template in order to determine the size of the frame.
Alternatively, a “fixed” parameter is allowed, and the allocation process activated by this parameter value is switched. In the case of "Variable", the instruction is for top-down allocation processing, but in the case of "Fixed", it means that the size is fixed regardless of the lower-level allocation object, and the bottom-up allocation pointed out in this embodiment is used. It is completely different from the processing instruction. Also in the present invention, “fixed” can be added as the type of parameter.

【0152】次に、本発明の第3の実施例を図18乃至
図24を参照して説明する。
Next, a third embodiment of the present invention will be described with reference to FIGS.

【0153】図18は本発明に係る文書処理装置の第3
の実施例を機能ブロック図で示したものであり、この機
能ブロック図は、図1に示した第1の実施例の機能ブロ
ック図の構成において、論理・割付対応保持手段180
0を追加した構成になっている。同図において、図1に
示した構成要素と同様の機能を果たす部分には同一の符
号を付している。
FIG. 18 shows a third example of the document processing apparatus according to the present invention.
Is a functional block diagram of this embodiment. This functional block diagram is the same as the logical / allocation correspondence holding unit 180 in the configuration of the functional block diagram of the first embodiment shown in FIG.
It has a configuration in which 0 is added. In the figure, the same reference numerals are given to the parts that perform the same functions as the components shown in FIG.

【0154】論理・割付対応保持手段1800は、部分
割付け処理が適用される論理構造中の部分論理構造と、
この部分論理構造に対応する部分割付構造との対応関係
を保持するものであり、例えば図19中点線で示される
ように、「論理根」と「割付け根」との対応関係、「関
連記事」と「小組枠」との対応関係をそれぞれ示す情報
を保持するものである。
The logical / allocation correspondence holding means 1800 has a partial logical structure in the logical structure to which the partial division processing is applied,
The correspondence relation with the partial division structure corresponding to this partial logical structure is held. For example, as indicated by the dotted line in FIG. 19, the correspondence relation between “logical root” and “allocation root”, “related article”. It holds information indicating the corresponding relationship between each of the sub-frames and the “small frame”.

【0155】図19は、図2に示した論理構造210
と、この論理構造210に対する割付け処理結果として
の図5に示した割付け構造510とを内容部を共有する
ことにより、論理構造210と割付け構造510との対
応関係をしめしたものである。勿論、論理ノード211
(論理根)は図2に示した部分割付テンプレート240
を指定し、論理ノード216(関連記事)は図2に示し
た部分割付テンプレート250を指定している。また、
各内容部は図2に示した各内容部と同一の内容である。
FIG. 19 shows the logical structure 210 shown in FIG.
And the allocation structure 510 shown in FIG. 5 as the allocation processing result for this logical structure 210 shares the content part, thereby showing the correspondence relationship between the logical structure 210 and the allocation structure 510. Of course, the logical node 211
(Logical root) is the template 240 with partial division shown in FIG.
Is designated, and the logical node 216 (related article) designates the template with partial division 250 shown in FIG. Also,
Each content part has the same content as each content part shown in FIG.

【0156】従って、論理・割付対応保持手段1800
は、例えば図19において、論理ノード211(論理
根)と割付ノード511(割付根)との対応関係、論理
ノード216(関連記事)と割付ノード519(小組
枠)との対応関係のように、部分割付テンプレートを指
定している論理オブジェクト(論理ノード)とこの論理
オブジェクトに対応する割付オブジェクトとの対応関係
を保持している。
Therefore, the logical / allocation correspondence holding means 1800
For example, in FIG. 19, like the correspondence relationship between the logical node 211 (logical root) and the allocation node 511 (allocation root) and the correspondence relationship between the logical node 216 (related article) and the allocation node 519 (small group frame), It holds a correspondence relationship between a logical object (logical node) that specifies a template with copy division and a layout object corresponding to this logical object.

【0157】ここで、図19に示す論理構造210及び
割付構造210に注目してみると、割付けを行うときに
は、論理ノード216(関連記事)以下の構造つまり部
分論理構造1920Aは、本文の構造つまり部分論理構
造1910Aとは直接関係ないことが分かる。この場合
は、論理構造の関連記事の下位の部分(部分論理構造1
920A)が変更された時には、関連記事の下位の部分
(部分割付構造1920A)だけを部分割付けすれば良
いはずである。これと反対に、関連記事とは関係のない
本文(部分論理構造1910A)の一部だけが変更され
たときには、関連記事の下位にある論理ノードを再割付
けする必要はなく、関連記事に対応する小組枠以下の割
付け構造(部分割付構造1920B)を移動させれば済
むはずである。
Here, paying attention to the logical structure 210 and the allocation structure 210 shown in FIG. 19, when allocation is performed, the structure under the logical node 216 (related article), that is, the partial logical structure 1920A is the structure of the main body. It can be seen that it is not directly related to the partial logical structure 1910A. In this case, the lower part of the related article on the logical structure (partial logical structure 1
920A), only the lower part of the related article (structure with partial division 1920A) should be partial divided. On the contrary, when only a part of the text (partial logical structure 1910A) that is not related to the related article is changed, it is not necessary to reallocate the logical nodes under the related article, and the related article is dealt with. It should be sufficient to move the layout structure (structure with partial division 1920B) below the small frame.

【0158】従って、論理・割付対応保持手段1800
が論理ノード211(論理根)と割付ノード511(割
付根)との対応関係、論理ノード216(関連記事)と
割付ノード519(小組枠)との対応関係をそれぞれ保
持することにより、部分論理構造1910Aを変更した
際には部分論理構造1910Aのみを再割付すれば良
く、また部分論理構造1920Aを変更した際には部分
論理構造1920Aのみを再割付すれば良いこととな
る。
Therefore, the logical / allocation correspondence holding means 1800
Holds the correspondence relationship between the logical node 211 (logical root) and the allocation node 511 (allocation root), and the correspondence relationship between the logical node 216 (related article) and the allocation node 519 (small frame), respectively, and When the 1910A is changed, only the partial logical structure 1910A needs to be reallocated, and when the partial logical structure 1920A is changed, only the partial logical structure 1920A needs to be reallocated.

【0159】図20は図19に示した内容のデータ構造
を示したものであり、このデータ構造は、図6に示した
第1の実施例のデータ構造において、部分論理構造と部
分割付構造との対応関係を示すデータ(以下、論理・割
付対応関係データという)を追加した構造になってい
る。
FIG. 20 shows the data structure of the contents shown in FIG. 19. This data structure has the partial logical structure and the partial division structure in the data structure of the first embodiment shown in FIG. It has a structure in which data (hereinafter, referred to as logical / allocation correspondence data) indicating the correspondence relation of is added.

【0160】同図において、論理・割付け対応保持手段
1800に管理されている論理・割付対応関係データ2
010は、論理ノード列管理手段107に保持されてい
る論理ノード列中のノード431(論理ノード211に
対応するノード)へのポインタと、割付構造保持手段1
03に保持されている割付構造中の割付ノード511
(割付け根)へのポインタとから構成されており、また
論理・割付対応関係データ2020は、論理ノード列管
理手段107に保持されている論理ノード列中のノード
435(論理ノード216に対応するノード)へのポイ
ンタと、割付構造保持手段103に保持されている割付
構造中の割付ノード511(小組枠)へのポインタとか
ら構成されている。
In the figure, the logical / allocation correspondence relationship data 2 managed by the logical / allocation correspondence holding means 1800 is stored.
Reference numeral 010 is a pointer to the node 431 (node corresponding to the logical node 211) in the logical node sequence held in the logical node sequence management unit 107, and the allocation structure holding unit 1
Allocation node 511 in the allocation structure held in 03
The logical / allocation correspondence data 2020 is composed of a pointer to (allocation root), and the logical / allocation correspondence data 2020 is a node 435 (a node corresponding to the logical node 216) in the logical node sequence held in the logical node sequence management means 107. ) And a pointer to the allocation node 511 (small set frame) in the allocation structure held in the allocation structure holding means 103.

【0161】次に、部分割付手段109による再割付を
考慮した部分割付処理動作を図21及び図22のフロー
チャートを参照して説明する。
Next, with reference to the flow charts of FIGS. 21 and 22, a description will be given of the operation of the partial division processing in consideration of the reallocation by the partial division unit 109.

【0162】図21に示すように、部分割付手段109
は、論理ノード列の上位の論理ノードに対応する部分割
付構造があるか否かを判定する(ステップ2101)。
As shown in FIG. 21, the part division attaching means 109
Determines whether or not there is a structure with partial division corresponding to the higher logical node in the logical node sequence (step 2101).

【0163】ここで、部分割付構造があれば、その上位
の論理ノードに対応する部分割付構造を“LayStruct ”
とし(ステップ2102)、一方、なければ、その上位
の論理ノードが指定している部分割付テンプレートの制
約を満たす最小の部分割付構造を生成し、この生成され
た部分割付構造を“LayStruct ”とする(ステップ21
03)。
Here, if there is a structure with partial division, the structure with partial division corresponding to the upper logical node is "LayStruct".
(Step 2102), on the other hand, if there is not, a minimum partial-partitioned structure that satisfies the constraint of the partial-partitioned template specified by the upper logical node is generated, and this generated partial-partitioned structure is defined as “LayStruct”. (Step 21
03).

【0164】次に、ステップ2102あるいはステップ
2103を終了したならば、内容または下位の論理ノー
ドとの接続関係の変更された論理ノードが存在するか否
かを調べる(ステップ2104)。なお、変更された論
理ノード中の最初の論理ノードを“FirstNode ”とす
る。
Next, when step 2102 or step 2103 is completed, it is checked whether or not there is a logical node whose contents or the connection relation with the lower logical node is changed (step 2104). The first logical node in the changed logical nodes is referred to as "FirstNode".

【0165】ここで、変更された論理ノードが存在する
場合は、変更された論理ノードに対応する割付オブジェ
クトを除去し(ステップ2105)、次に、“FirstNod
e ”以降の論理ノードであって、同じ階層か或いはより
上位の階層の論理ノード列に存在する論理ノードに対応
する割付オブジェクトを、上位の割付オブジェクトから
切り離し(なお割付オブジェクト自体は除去しない)
(ステップ2106)、さらに、下位の割付オブジェク
トの接続が無くなり、削除しても、部分割付テンプレー
トの制約と矛盾しない割付オブジェクトを全て除去する
(ステップ2107)。
If there is a changed logical node, the allocation object corresponding to the changed logical node is removed (step 2105), and then "FirstNod
Separates the allocation objects corresponding to the logical nodes existing in the logical node sequence of the same level or higher level from the logical node after e ”(the allocation object itself is not removed).
(Step 2106) Further, even if the lower layout objects are no longer connected and are deleted, all the layout objects that do not conflict with the restrictions of the partial layout template are removed (step 2107).

【0166】次に、ステップ2107を終了した場合、
あるいは上記ステップ2104において変更された論理
ノードが存在しない場合は、論理ノード列は全て割付け
られたか否かを調べる(ステップ2108)。ここで、
論理ノード列が全て割付けられた場合は、“LayStruct
”を結果として返す(ステップ2109)。
Next, when step 2107 is completed,
Alternatively, when there is no changed logical node in the above step 2104, it is checked whether or not all the logical node sequences have been allocated (step 2108). here,
If all logical node sequences are assigned, "LayStruct
Is returned as a result (step 2109).

【0167】上記ステップ2108において全て割付け
られていない場合、部分割付手段109は、図22に示
すように、その論理ノード列から割付けが終了していな
い最初の論理ノード、つまり対応する割付オブジェクト
がないか、あるいは対応する割付オブジェクトが上位の
割付オブジェクトから切り離されている、最初の論理ノ
ードを取り出し、その論理ノードを“LogNode ”とし
(ステップ2110)、その“LogNode ”は基本論理オ
ブジェクトであるか否かを調べる(ステップ211
1)。
If all are not allocated in the above step 2108, the subdivision assigning means 109, as shown in FIG. 22, does not have the first logical node whose allocation is not completed from the logical node sequence, that is, the corresponding allocation object. Or, the first logical node in which the corresponding allocation object is separated from the higher-level allocation object is taken out, and that logical node is designated as "LogNode" (step 2110), and whether or not that "LogNode" is the basic logical object. (Step 211)
1).

【0168】ここで、基本論理オブジェクトであれば、
“LogNode ”に対応するブロックが存在するか否かを調
べる(ステップ2112)。存在する場合には対応する
ブロックをLayObject とし(ステップ2113)、一
方、存在しない場合は、内容割付手段104を呼び出し
て、その内容割付手段104が生成した割付オブジェク
ト(ブロック)を“LayObject ”とする(ステップ21
14)。
Here, if it is a basic logical object,
It is checked whether or not there is a block corresponding to "LogNode" (step 2112). If it exists, the corresponding block is set to LayObject (step 2113). On the other hand, if it does not exist, the content allocation unit 104 is called and the allocation object (block) generated by the content allocation unit 104 is set to "LayObject". (Step 21
14).

【0169】ステップ2111で基本論理オブジェクト
でない場合は、“LogNode ”の下位の論理ノード列とそ
の“LogNode ”が指定している部分割付テンプレートと
について、自己(部分割付手段109)を呼び出し(再
帰的呼び出し)、割付オブジェクト(フレーム)を得る
(ステップ2115)。この得られたフレームを“LayO
bject ”とする。
If it is not a basic logical object in step 2111, the self (partitioning means 109) is called (recursively) with respect to the logical node sequence subordinate to "LogNode" and the template with subdivision specified by the "LogNode". Call) to obtain an allocation object (frame) (step 2115). This obtained frame is "LayO
bject ”.

【0170】ステップ2113、ステップ2114、ス
テップ2115のいずれかを終了したら、“LayStruct
”の最下位フレームに、LayObject を流し込むのに十
分な領域が残っているか否かを調べる(ステップ211
6)。
When any of step 2113, step 2114, or step 2115 is completed, "LayStruct
It is checked whether or not there is a sufficient area remaining for the LayObject to be filled in the lowest frame of "(step 211).
6).

【0171】ここで、残っている場合には、“LayObjec
t ”を“LayStruct ”の最下位フレームに流し込み(ス
テップ2117)、一方、残っていない場合は、“LayS
truct ”に、割付けテンプレートが許す構造の追加を行
って、新たな最下位フレームを生成し(ステップ211
8)、上記ステップ2117に進む。なお、ステップ2
117終了後は、上記図21のステップ2108に戻り
このステップ以降を実行する。
[0171] Here, if there is any, "LayObjec
"t" is poured into the lowest frame of "LayStruct" (step 2117), while if there are no more "LayStruct", "LayS"
The structure allowed by the allocation template is added to "truct" to generate a new lowest frame (step 211).
8) and proceeds to step 2117 above. In addition, step 2
After 117, the process returns to step 2108 of FIG. 21 and the steps after this step are executed.

【0172】次に上述した部分割付手段109による、
論理ノードの変更によって生じる削除と切り離し(図2
1のステップ2105〜2107)の様子を図23〜図
25に示す。
Next, by the above-mentioned part division attaching means 109,
Deletion and separation caused by changing the logical node (Fig. 2
23 to 25 show the states of steps 2105 to 2107) of step 1.

【0173】なお、図23に示す例では、部分割付テン
プレートを指定している論理オブジェクトと、この論理
オブジェクトに対応する割付オブジェクトとの対応関係
を示す論理・割付け関係データ2010、2020に加
えて、基本論理オブジェクトとブロックとの対応関係を
示す論理・割付け関係データ2310〜2380が設け
られているが、これは基本論理オブジェクトとブロック
とが内容部を共有することにより対応つけられていたの
を明示的にデータとして表したものである。つまり論理
ノード群(部分割付テンプレートを指定している論理オ
ブジェクト、基本論理オブジェクト)と、これら各論理
ノードに対応する割付ノードとを対応付けしたものであ
る。
In addition, in the example shown in FIG. 23, in addition to the logical / allocation relation data 2010 and 2020 showing the correspondence between the logical object designating the partial layout template and the layout object corresponding to this logical object, Logical / allocation relation data 2310 to 2380 indicating the correspondence between the basic logical object and the block is provided, but it is clearly shown that the basic logical object and the block are associated by sharing the content part. It is represented as data. In other words, a logical node group (a logical object that specifies a template with partial division, a basic logical object) and an allocation node corresponding to each of these logical nodes are associated with each other.

【0174】また図23に示す論理構造は、図2に示し
た第1の実施例の論理構造と同一の内容であるとし、ま
た各基本論理オブジェクトが保持している内容部は図2
に示した内容部と同一の内容であるとする。
The logical structure shown in FIG. 23 has the same contents as the logical structure of the first embodiment shown in FIG. 2, and the contents part held by each basic logical object is shown in FIG.
It is assumed that the contents are the same as the contents part shown in.

【0175】ここで図23に示す状態から、基本論理オ
ブジェクト215に繋がる内容部Cが変更された場合
は、論理構造と割付構造との対応関係は、図24に示す
内容となる。図24において、本文の一部が変更された
ので、関連記事以下の部分割付構造2400は切り離さ
れている。また、割付けオブジェクト516、517、
525、526(「本文枠」と「ページ」の各割付けオ
ブジェクト)が削除されているのは、各割付けオブジェ
クトの下位にあったブロックが全て削除され(実際に
は、ブロックは切り離しされた状態であるが、「本文
枠」と「ページ」の各割付けオブジェクトから見れば、
自己に今まで存在していたブロックが存在しなくなった
ので、削除されたのと同じ状態となる)、かつ、それら
の割付けオブジェクトを削除しても部分割付けテンプレ
ート(図2に示す部分割付けテンプレート240、25
0参照)とは矛盾しないからである。
When the content part C linked to the basic logical object 215 is changed from the state shown in FIG. 23, the correspondence between the logical structure and the layout structure becomes the content shown in FIG. In FIG. 24, since a part of the text is changed, the structure with partial division 2400 following the related article is separated. Also, the allocation objects 516, 517,
525 and 526 (each layout object of “text frame” and “page”) are deleted because all the blocks under each layout object are deleted (actually, the blocks are separated. However, from the viewpoint of each layout object of "text frame" and "page",
Since the block that existed until now does not exist in itself, it becomes the same state as when it was deleted), and even if those allocation objects are deleted, the partial division template (partial division template 240 shown in FIG. , 25
This is because there is no contradiction with (see 0).

【0176】また、図23に示す状態から、基本論理オ
ブジェクト218に繋がる内容部bが変更された場合
は、論理構造と割付構造との対応関係は、図25に示す
内容となる。図25において、割付けオブジェクト52
3(右枠)が削除されていないのは、割付けオブジェク
ト523だけを削除すると部分割付テンプレート240
(図2参照)の制約を逸脱してしまうからである。
When the content part b linked to the basic logic object 218 is changed from the state shown in FIG. 23, the correspondence between the logical structure and the layout structure becomes the content shown in FIG. In FIG. 25, the allocation object 52
3 (right frame) is not deleted. If only the layout object 523 is deleted, the template 240
This is because the constraint (see FIG. 2) is deviated.

【0177】このように論理構造と割付構造との部分的
な対応関係を明確にできるので、論理構造の一部が変更
されたときに、影響が及ぶ割付構造の一部分だけの再割
付けが可能になり、割付け処理の効率が向上する。
Since the partial correspondence relationship between the logical structure and the allocation structure can be clarified in this way, when a part of the logical structure is changed, only a part of the allocation structure that is affected can be reallocated. Therefore, the efficiency of allocation processing is improved.

【0178】しかしながら、従来の割付け処理では、全
体に対して一つの割付けプログラムが適用されるので、
論理構造の特定の範囲が特定論理構造の対応を保持する
ことが困難であった。
However, in the conventional allocation process, one allocation program is applied to the whole,
It has been difficult for a specific range of a logical structure to retain the correspondence of a specific logical structure.

【0179】次に、本発明の第4の実施例を図26乃至
図34を参照して説明する。
Next, a fourth embodiment of the present invention will be described with reference to FIGS. 26 to 34.

【0180】この実施例を実現するための装置は、図1
に示す第1の実施例の機能ブロック図の構成と同一とす
る。
An apparatus for realizing this embodiment is shown in FIG.
The configuration is the same as that of the functional block diagram of the first embodiment shown in FIG.

【0181】しかし、論理構造保持手段101及び部分
割付テンプレート105に保持される情報が、第1の実
施例で説明した内容と異なるので、次にそれについて説
明する。
However, since the information held in the logical structure holding means 101 and the template with partial division 105 is different from the contents explained in the first embodiment, it will be explained next.

【0182】論理構造保持手段101には図26に示す
ような文書の論理構造2610が保持されており、論理
構造2610中の「関連記事」を表す論理ノードには
“note”というカテゴリーが指定(付与)されてい
る。「関連記事」を表す論理ノードに“note”が指
定されていると言うことは、「関連記事」の部分全体を
後ろのページに回すことを意味している。ところで、従
来のカテゴリーに従った割付け処理方式では、カテゴリ
ーを指定し特定の最下位フレームに流し込めるものはブ
ロックのみであったため、本来は関連記事全体を後ろの
ページに回したいにも関わらず、各基本論理オブジェク
トに対して、各々カテゴリーを与えなければならなかっ
た。
The logical structure holding means 101 holds the logical structure 2610 of the document as shown in FIG. 26, and the category “note” is designated for the logical node representing the “related article” in the logical structure 2610 ( Granted). The fact that "note" is specified in the logical node representing the "related article" means that the entire portion of the "related article" is passed to the subsequent page. By the way, in the conventional allocation processing method according to the category, since only the block can be specified in the category and poured into the specific lowest frame, originally, though I want to send the whole related article to the subsequent page, For each basic logical object, we had to give each category.

【0183】また、部分割付テンプレート105には図
26に示すような部分割付テンプレート2620、26
30が保持されており、部分割付テンプレート2620
中の「本文枠」には“main”というカテゴリーが、
「注枠」には“note”というカテゴリーがそれぞれ
付与されており、一方、部分割付テンプレート2630
中の「左枠」、「右枠」それぞれに“main”という
カテゴリーが付与されている。なお、図26において、
2620aは部分割付テンプレート2620が表現して
いるレイアウトイメージであり、2630aは部分割付
テンプレート2630が表現しているレイアウトイメー
ジである。
Further, the template 105 with partial divisions is provided in the template 105 with partial divisions as shown in FIG.
30 is held, and the template with partial division 2620
In the "text frame" inside, there is a category called "main"
The “note frame” is given the category “note”, while the template with partial division 2630
The category "main" is assigned to each of the "left frame" and the "right frame" in the inside. In addition, in FIG.
2620a is a layout image represented by the template with partial division 2620, and 2630a is a layout image represented by the template with partial division 2630.

【0184】ここで、論理構造2610に対して部分割
付テンプレート2620、2630を適用して割付処理
を行うと、図27(a)に示すような割付結果が得られ
る。図27(b)は図27(a)に示す割付構造が表現
しているレイアウトイメージを示している。図27から
分かるように、確かに「関連記事」の部分が最終ページ
に割付されている。
Here, when the layout processing is performed by applying the partial layout templates 2620 and 2630 to the logical structure 2610, the layout result as shown in FIG. 27A is obtained. FIG. 27B shows a layout image represented by the layout structure shown in FIG. As can be seen from FIG. 27, the “related article” portion is certainly assigned to the final page.

【0185】なお、図27で示した例において、第1層
の論理ノード列(図26に示す論理ノード2613、2
614、2615、2620)に対する部分割付け処理
中で行われる、部分割付けテンプレート2620に許さ
れる割付け構造の変更には、「本文ページ」を増やすこ
とと「注ページ」を増やすことの2通りある。すなわ
ち、図27に示す割付結果を得るためには、2ページ目
までは「本文ページ」を増やし、3ページ目で「注ペー
ジ」を増やす必要がある。このように2通りの変更を適
切に選択する機能が必要であり、この機能はバックトラ
ック機構によって実現される。
In the example shown in FIG. 27, the first-layer logical node string (logical nodes 2613, 2 shown in FIG. 26).
614, 2615, and 2620), there are two methods of changing the layout structure permitted in the partial layout template 2620, that is, increasing the “text page” and increasing the “note page”. That is, in order to obtain the allocation result shown in FIG. 27, it is necessary to increase the “text page” up to the second page and the “note page” on the third page. Thus, a function for properly selecting the two types of changes is required, and this function is realized by the backtrack mechanism.

【0186】次に、部分割付手段109によるカテゴリ
ーの指示に従った部分割付処理を図28〜図31を参照
して説明する。
Next, the process of adding a partial division according to the category instruction by the partial dividing unit 109 will be described with reference to FIGS. 28 to 31.

【0187】なお、図28〜図31はバックトラック機
構を用いた場合の割付処理の様子を示している。
28 to 31 show the allocation process when the backtrack mechanism is used.

【0188】今、図28(a)に示すように、図26に
示す論理構造2610について、部分割付テンプレート
2620(図26参照)の制約による割付構造2810
が得られ、また部分割付テンプレート2630(図26
参照)の制約による部分割付処理の結果、つまりフレー
ム2820が得られたとする。
Now, as shown in FIG. 28A, with respect to the logical structure 2610 shown in FIG. 26, an allocation structure 2810 due to the restriction of the template with partial division 2620 (see FIG. 26).
And a template with partial division 2630 (see FIG. 26).
It is assumed that a frame 2820 is obtained as a result of the process of partial division due to the restriction (see the reference).

【0189】この状態から、部分割付手段109が、図
28(a)に示すように、割付構造2810の最下位フ
レーム2810a(本文枠)への、フレーム2820
(小組枠)の流し込みを試みたとする。しかしながら、
図28(b)に示すように、最下位フレーム2810a
(本文枠)には“main”というカテゴリーが指定さ
れ、「関連記事」の論理ノード2615には“not
e”というカテゴリーが指定されているので、論理ノー
ド2615に対応するフレーム2820(小組枠)を最
下位フレーム2810a(本文枠)に流し込むことはで
きない。
From this state, as shown in FIG. 28 (a), the section division attaching means 109 transfers the frame 2820 to the lowest frame 2810a (text frame) of the layout structure 2810.
Suppose you try to pour (small frame). However,
As shown in FIG. 28B, the lowest frame 2810a
The category “main” is specified in (text frame), and “not” is set in the logical node 2615 of “related article”.
Since the category "e" is specified, the frame 2820 (subset frame) corresponding to the logical node 2615 cannot be poured into the lowest frame 2810a (text frame).

【0190】そこで今度は、部分割付手段109は、部
分割付テンプレート2620(図26参照)の制約によ
り、図29(a)に示すように、最下位フレーム291
0a(注枠)を再生成して割付構造2910を得ること
になる。この状態から、最下位フレーム2910a(注
枠)へのフレーム2820(小組枠)の流し込みを試み
たとする。この場合は、図29(b)に示すように、最
下位フレーム2910a(注枠)には“note”とい
うカテゴリーが指定されていおり、このカテゴリーは、
論理ノード2615(関連記事)に指定されているカテ
ゴリーと一致するので、フレーム2820は最下位フレ
ーム2810aに流し込まれることとなる。
Therefore, this time, the means for partial copy 109 causes the lowest frame 291 as shown in FIG. 29A due to the restriction of the template for partial copy 2620 (see FIG. 26).
0a (note frame) is regenerated to obtain the layout structure 2910. It is assumed that an attempt is made to pour the frame 2820 (small frame) into the lowest frame 2910a (note frame) from this state. In this case, as shown in FIG. 29B, the category “note” is specified in the lowest frame 2910a (note frame), and this category is
Since it matches with the category specified in the logical node 2615 (related article), the frame 2820 will be poured into the lowest frame 2810a.

【0191】上述した処理までで、図26に示す内容部
「A」、「B」、「a」、「b」、「c」が割付られた
ことになり、次に残りの内容部「C」を割付ける場合を
説明する。
By the above processing, the content parts "A", "B", "a", "b", and "c" shown in FIG. 26 have been assigned, and the remaining content parts "C" are next. Will be explained.

【0192】この場合、図30(a)に示すように、内
容部「C」を保持している基本論理オブジェクト301
0に対応するブロック3020が生成され、このブロッ
ク3020の最下位フレーム3030への流し込みが試
みられる。しかしながら、図30(b)に示すように、
最下位フレーム3030の残りの領域が、ブロック30
20を流し込むのに必要な大きさを有していないため、
流し込みは失敗する。そこで、部分割付テンプレート2
620の制約により「本文ページ」を増やすと、図31
(a)に示す割付結果が得られる。この割付結果の「本
文枠」の最下位フレーム3110へのブロック3020
の流し込みを試みた場合には、図31(b)に示すよう
に、最下位フレーム3110およびブロック3020は
共に、カテゴリーが“main”なので、流し込みは成
功する。
In this case, as shown in FIG. 30A, the basic logical object 301 holding the content portion "C"
A block 3020 corresponding to 0 is generated and an attempt is made to fill this block 3020 into the bottom frame 3030. However, as shown in FIG.
The remaining area of the lowest frame 3030 is the block 30.
Since it does not have the size necessary to pour 20,
Pouring fails. Therefore, the template with partial division 2
When the number of “text pages” is increased due to the restriction of 620, FIG.
The allocation result shown in (a) is obtained. A block 3020 to the lowest frame 3110 of the “text frame” of this allocation result
31B, since the category of both the lowest frame 3110 and the block 3020 is “main”, the filling succeeds, as shown in FIG.

【0193】この処理を終了すると、図27(a)に示
した割付結果(最終的な割付結果)が得られることにな
る。
When this process ends, the allocation result (final allocation result) shown in FIG. 27A is obtained.

【0194】この実施例によれば、第1の国語で記述さ
れた内容と第2の国語で記述された内容とを対応つけて
割付けることも容易に実現できる。ここで、例えば日英
対訳の文書を割り付ける日本語の部分と英語の部分とを
対応つけて割り付ける場合の処理について説明する。
According to this embodiment, it is possible to easily realize the contents described in the first national language and the contents described in the second national language in association with each other. Here, for example, a process of allocating a Japanese part and an English part to which a Japanese-English bilingual document is allocated in a corresponding manner will be described.

【0195】例えば、図32に示すように、論理構造3
210、部分割付テンプレート3220、3230、内
容部3240を用意すれば良い。
For example, as shown in FIG. 32, logical structure 3
210, templates with copy divisions 3220 and 3230, and content portion 3240 may be prepared.

【0196】ここで、論理構造3210中の、内容部
「あ」、「い」、「う」、「え」をそれぞれ保持する基
本論理オブジェクトには、日本語を意味する「J」とい
うカテゴリーを指定し、また内容部「A」、「B」、
「C」、「D」をそれぞれ保持する基本論理オブジェク
トには、英語を意味する「E」というカテゴリーを指定
する。また部分割付テンプレート3130の「日枠」の
最下位フレームには日本語を意味する「J」というカテ
ゴリーを指定し、「英枠」の最下位フレームには英語を
意味する「E」というカテゴリーを指定する。
Here, in the logical structure 3210, the basic logical objects holding the content parts “A”, “I”, “U”, and “E” respectively have the category “J” meaning Japanese. Specify, and the content section "A", "B",
The category "E", which means English, is designated as the basic logical object holding "C" and "D". In addition, the category "J" meaning Japanese is designated as the lowest frame of "day frame" of the template 3130 with partial division, and the category "E" meaning English is designated as the lowest frame of "English frame". specify.

【0197】そして論理構造3210に対して部分割付
テンプレート3220、3230、内容部3240を適
用して割付処理を行うと、図33(a)に示すような割
付結果が得られる。この割付結果が表現しているレイア
ウトイメージを図33(b)に示す。
When the layout process is performed by applying the partial layout templates 3220 and 3230 and the content section 3240 to the logical structure 3210, the layout result as shown in FIG. 33A is obtained. The layout image represented by this allocation result is shown in FIG.

【0198】さらには、図34に示すように、論理ノー
ド列をカテゴリー毎に管理することによって、上記第3
の実施例で説明した再割付の効率化を、カテゴリー毎に
行うことが可能となり、よりいっそうの効率の向上が期
待できる。
Further, as shown in FIG. 34, by managing the logical node sequence for each category, the third node
The re-allocation efficiency described in the embodiment can be performed for each category, and further improvement in efficiency can be expected.

【0199】上記第3の実施例において、本発明によっ
て再割付けが効率化できることを示したが、バックトラ
ック機構は、部分的な割付け構造を破棄し再割付けの繰
り返しと考えることができる。従って、第4の実施例で
説明したように、部分割付け構造の単位でバックトラッ
クを行うことによってバックトラックの効率化も可能に
なる。例えば、3ページ目を破棄する際に部分割付け処
理で得られた小組枠以下の構造について破棄/再割付け
の必要がなくなる。
In the third embodiment described above, it was shown that the reallocation can be made more efficient by the present invention, but the backtrack mechanism can be considered as repeating the reallocation by discarding the partial layout structure. Therefore, as described in the fourth embodiment, the backtracking can be performed efficiently by performing the backtracking in units of the partial division structure. For example, when the third page is discarded, it is not necessary to discard / reallocate the structures below the small frame obtained by the partial division process.

【0200】次に、本発明の第5の実施例を図35乃至
図37を参照して説明する。
Next, a fifth embodiment of the present invention will be described with reference to FIGS. 35 to 37.

【0201】この実施例を実現するための装置は、基本
的には図1に示した第1の実施例の機能ブロック図の構
成と同一になっている。
The apparatus for realizing this embodiment is basically the same as the configuration of the functional block diagram of the first embodiment shown in FIG.

【0202】この実施例においても、部分割付け手段1
09は、部分割付け処理を遂行させるためのソフトウェ
ア(プログラム)をプロセッサや中央処理装置などの制
御手段が実行することにより実現されるようになってい
る。すなわち、部分割付け手段109は、部分割付けプ
ログラムとそれを実行する制御手段によって構成される
ものである。
Also in this embodiment, the means for partial division 1
09 is realized by a control unit such as a processor or a central processing unit executing software (program) for executing the partial division process. That is, the partial division unit 109 is composed of a partial division program and a control unit that executes the partial division program.

【0203】なお、上述した第1〜第4の実施例におけ
る部分割付け手段109は一時に1つしか存在しない。
それを繰り返し実行したり、自分自身を呼び出す(再帰
呼出し)ようなプログラムを記述しておくことによっ
て、複数の論理ノードに対する部分割付け処理が実行さ
れる。しかし、この実施例における部分割付け手段10
9は論理ノードに対応して、それに対する部分割付け処
理を行う部分割付け手段を複数有している。すなわち、
この実施例の装置は、同じプログラムを並列に実行する
複数の制御手段を許すような計算機に適用される。この
並列に動作する複数の制御手段はハードウェア(例えば
複数の中央処理装置を持つなど)で実現するようにして
も良いし、ソフトウェアによって擬似的に実現するよう
にしたものであっても良い。
Note that there is only one copy division unit 109 in the above-described first to fourth embodiments.
By executing such a program repeatedly or by writing a program that calls itself (recursive call), the partitioning process for a plurality of logical nodes is executed. However, the partial division means 10 in this embodiment
Reference numeral 9 corresponds to a logical node and has a plurality of partial partitioning means for performing partial partitioning processing for the logical node. That is,
The apparatus of this embodiment is applied to a computer which allows a plurality of control means for executing the same program in parallel. The plurality of control units operating in parallel may be realized by hardware (for example, having a plurality of central processing units), or may be realized by software in a pseudo manner.

【0204】なお、部分割付け手段109内の各部分割
付け手段は、論理ノードに対応して部分割付け手段が生
成され、論理ノードが削除されるとこれに対応する部分
割付け手段も消滅するようになっている。すなわち、論
理ノードの数だけ部分割付け手段が生成されるようにな
っている。
In each of the partial partitioning means in the partial partitioning means 109, the partial partitioning means is generated corresponding to the logical node, and when the logical node is deleted, the corresponding partial partitioning means also disappears. ing. That is, the partial dividing means is generated by the number of logical nodes.

【0205】このような並列処理を可能にする理論の一
つとしてCSP(Communicating Sequential Processe
s)が知られている。この理論に基づく並列計算機(Tra
nsputer)及びプログラム言語(OCCUM)も既に開
発され、実現されている。この理論において並列にプロ
グラムを実行するものはプロセスと呼ばれている。この
プロセスは並列に動作している他のプロセスを指定して
情報を渡したり、逆に指定したプロセスから情報を受け
取ることができる。この理論では情報を受け取る時には
指定した相手から情報が送られてくるまで待機すること
になっている。このような情報交換をプログラムで制御
するために、プログラム中で情報を渡す時には「!」の
記号が用いられ、受け取る時は「?」の記号が用いられ
る。
As one of the theories for enabling such parallel processing, CSP (Communicating Sequential Processe)
s) is known. A parallel computer based on this theory (Tra
nsputer) and programming language (OCCUM) have already been developed and implemented. In this theory, a program that executes programs in parallel is called a process. This process can specify other processes running in parallel to pass information, and vice versa. According to this theory, when receiving information, it waits until the information is sent from the specified party. In order to control such information exchange by a program, a symbol "!" Is used when passing information in the program, and a symbol "?" Is used when receiving information.

【0206】そこでこの実施例においても、この理論に
従って、部分割付けプログラムの実行にはプロセスを用
いることにする。即ち、それぞれ並列に動作するプロセ
スが他のプロセスと情報を交換することで割付け処理を
行う。なおこの実施例では、部分割付け(formatting)
処理を行うプロセスをフォーマッタ(formatter )と定
義する。このフォーマッタは論理ノードに対応して1つ
起動され、対応する論理ノードの下位の論理ノード列の
割付けを行う。従って、フォーマッタは論理ノードの階
層と対応する階層構造を構成することになる。
Therefore, also in this embodiment, according to this theory, a process is used to execute the partial layout program. That is, the processes operating in parallel perform the allocation process by exchanging information with other processes. It should be noted that in this embodiment, formatting is performed.
A process that performs processing is defined as a formatter. One of the formatters is activated corresponding to a logical node, and allocates a lower logical node sequence of the corresponding logical node. Therefore, the formatter forms a hierarchical structure corresponding to the hierarchy of logical nodes.

【0207】ここで、論理構造が図2に示される論理構
造210であった場合における、その論理構造中の論理
ノードに対応して生成されたフォーマッタの階層構造を
図35に示す。
Here, when the logical structure is the logical structure 210 shown in FIG. 2, the hierarchical structure of the formatter generated corresponding to the logical node in the logical structure is shown in FIG.

【0208】図35において、フォーマッタ3501は
論理ノード211に、フォーマッタ3502は論理ノー
ド213に、フォーマッタ3503は論理ノード214
に、フォーマッタ3504は論理ノード215に、フォ
ーマッタ3505は論理ノード216に、フォーマッタ
3506は論理ノード217に、フォーマッタ3507
は論理ノード218に、フォーマッタ3508は論理ノ
ード219に、フォーマッタ3509は論理ノード22
1に、フォーマッタ3510は論理ノード222にそれ
ぞれ対応している。これらのフォーマッタは並列に実行
される。
In FIG. 35, the formatter 3501 is the logical node 211, the formatter 3502 is the logical node 213, and the formatter 3503 is the logical node 214.
The formatter 3504 is to the logical node 215, the formatter 3505 is to the logical node 216, the formatter 3506 is to the logical node 217, and the formatter 3507.
To the logical node 218, the formatter 3508 to the logical node 219, and the formatter 3509 to the logical node 22.
1, the formatter 3510 corresponds to the logical node 222. These formatters run in parallel.

【0209】次に、この実施例の部分割付け手段109
による全体の割付け処理について、図36に示すフロー
チャートを参照して説明する。
Next, the part dividing means 109 of this embodiment.
The overall allocation process by the above will be described with reference to the flowchart shown in FIG.

【0210】割付け処理要求があると、部分割付け手段
109は、全ての論理ノードに対応するフォーマッタを
起動し、それらのフォーマッタを階層化する(ステップ
3601)。次に割付け開始の指示があると、その階層
の最上位のフォーマッタに割付け開始の指示を与えて割
付け処理を実行させる(ステップ3602)。最上位の
フォーマッタから順次下位のフォーマッタに割付けに必
要な情報を与えることにより、各フォーマッタによる割
付け処理が進行する(ステップ3603)。その割付け
処理の詳細については後述するが、ここで、その処理を
簡単に説明すると、各フォーマッタは下位のフォーマッ
タに対して、割付け可能な領域(以下、アベイラブルエ
リアという)を引き渡し、上位のフォーマッタに対して
は割付け結果および状態(割付け処理状態)を引き渡し
て割付け処理を進行する。そして部分割付け手段109
は、最上位のフォーマッタの結果を割付け処理全体の結
果とする(ステップ3604)。
When there is an allocation processing request, the partial division means 109 activates the formatters corresponding to all the logical nodes and hierarchizes those formatters (step 3601). Next, when an allocation start instruction is issued, the allocation start instruction is given to the highest formatter of the hierarchy to execute the allocation processing (step 3602). By assigning information necessary for allocation to the lower formatters in order from the highest formatter, the allocation process by each formatter proceeds (step 3603). The details of the allocation process will be described later, but here is a brief description of the process. Each formatter hands over the allocatable area (hereinafter referred to as available area) to the lower formatter and sends it to the upper formatter. On the other hand, the allocation result and status (allocation processing status) are delivered and the allocation processing proceeds. Then, the partial dividing means 109
Sets the result of the highest formatter as the result of the entire allocation process (step 3604).

【0211】なお、フォーマッタが上位のフォーマッタ
に引き渡す状態には次に示す3つがある。
There are the following three states in which the formatter hands over to the upper formatter.

【0212】[FAIL(割付け失敗)]これは、上位
フォーマッタから引き渡されたアベイラブルエリア内に
論理ノード列を全く割付けることが出来なかったことを
示している。状態「FAIL」を上位フォーマッタに引
き渡したフォーマッタは新しいアベイラブルエリアを上
位のフォーマッタから受け取るまで待機する。
[FAIL (allocation failure)] This indicates that the logical node sequence could not be allocated at all in the available area delivered from the upper formatter. The formatter that has passed the state "FAIL" to the upper formatter waits until it receives a new available area from the upper formatter.

【0213】[PARTIALLY(部分的に割付け成
功)]これは、上位のフォーマッタから引き渡されたア
ベイラブルエリア内に、論理ノード列の一部を割付ける
ことができたことを示している。状態「PARTIAL
LY」を上位フォーマッタに引き渡したフォーマッタ
は、新しいアベイラブルエリアを上位フォーマッタから
受け取るまで待機する。
[PARTIALLY (partially allocated successfully)] This indicates that part of the logical node sequence could be allocated in the available area delivered from the upper formatter. State "PARTIAL
The formatter that has delivered “LY” to the upper formatter waits until it receives a new available area from the upper formatter.

【0214】[DONE(割付け終了)]これは、上位
フォーマッタから引き渡されたアベイラブルエリア内
に、論理ノード列の全てを割付けることができたことを
示している。状態「DONE」を上位フォーマッタに引
き渡したフォーマッタは割付けを終了する。
[DONE (End of allocation)] This indicates that all the logical node strings could be allocated within the available area delivered from the upper formatter. The formatter that has passed the state "DONE" to the upper formatter finishes the allocation.

【0215】次に、上記ステップ3603における各フ
ォーマットによる割付け処理について図37を参照しな
がら説明する。
Next, the allocation processing by each format in step 3603 will be described with reference to FIG.

【0216】部分割付け手段としてのフォーマッタは、
上位フォーマッタからアベイラブルエリア(area-for-s
elf )を受け取るまで待機する(ステップ3701)。
The formatter as a means for partial division is
Higher formatter to available area (area-for-s
Wait until elf) is received (step 3701).

【0217】アベイラブルエリア(area-for-self )が
渡されると、フォーマッタは、そのアベイラブルエリア
内で、部分割付けテンプレート(template)の制約を満
たす最初の最小の部分割付け構造を生成し、これを「la
y-subtree 」とする(ステップ3702)。なお「temp
late」はフォーマッタに対応する論理ノードが指示して
いる部分割付けテンプレートである。
When an available area (area-for-self) is passed, the formatter creates the first minimal subdivision structure in the available area that satisfies the constraints of the subdivision template (template). la
y-subtree "(step 3702). In addition, "temp
"late" is a partial layout template designated by the logical node corresponding to the formatter.

【0218】次に、フォーマッタは、「lay-elmnt 」中
の最下位フレームの最初のフレームを「lay-elmnt 」と
し(ステップ3703)、その後、論理ノード列は全て
割付けられたか否かを判断する(ステップ3704)。
Next, the formatter sets the first frame of the least significant frames in "lay-elmnt" to "lay-elmnt" (step 3703), and thereafter determines whether or not all logical node sequences have been allocated. (Step 3704).

【0219】ここで、全て割付けられていない場合は、
論理ノード列から割付けが終了していない最初の論理ノ
ードを取り出し、これを「log-elmnt」とする(ステッ
プ3705)。その「log-elmnt 」に対応して起動され
ているフォーマッタを「sub-formatter 」とし(ステッ
プ3706)、その「sub-formatter 」にアベイラブル
エリアを引き渡す(ステップ3707)。
Here, if all are not assigned,
The first logical node whose allocation has not been completed is extracted from the logical node sequence, and this is designated as "log-elmnt" (step 3705). The formatter activated corresponding to the "log-elmnt" is set to "sub-formatter" (step 3706), and the available area is handed over to the "sub-formatter" (step 3707).

【0220】そして、フォーマッタは、「sub-formatte
r 」からの応答(状態、部分的な結果)を待ち(ステッ
プ3708)、その応答結果である状態の値、つまり
「FAIL」、「DONE」、「PARTIALLY」
に応じた処理を実行した後(ステップ3709)、状態
は「DONE」であるか否かを判断する(ステップ37
10)。
Then, the formatter uses the "sub-formatte
Waiting for response (state, partial result) from "r" (step 3708), the value of the state which is the response result, that is, "FAIL", "DONE", "PARTIALLY"
After executing the processing according to (step 3709), it is determined whether the state is "DONE" (step 37).
10).

【0221】ここで、「sub-formatter 」からの状態=
「DONE」の場合には上記ステップ3707に戻りこ
のステップ以降を実行し、一方、「sub-formatter 」か
らの状態≠「DONE」の場合は上記ステップ3707
に戻りこのステップ以降を実行する。
Here, the state from "sub-formatter" =
In the case of “DONE”, the process returns to the above step 3707 to execute the steps after this step, while in the case of the state from “sub-formatter” ≠ “DONE”, the above step 3707
Return to and execute the steps after this step.

【0222】上記ステップ3704において論理ノード
列全てが割付けられた場合は、上位フォーマットに対し
て、自分自身の状態として「DONE」を、割付け結果
として「lay-subtree 」を引き渡す(ステップ371
0)。
When all the logical node sequences are allocated in the above step 3704, "DONE" is delivered as the own status and "lay-subtree" is delivered as the allocation result to the upper format (step 371).
0).

【0223】なおステップ3709において、「sub-fo
rmatter」からの状態の値が「FAIL」の場合は、部
分割付けテンプレートを用いて新たなアベイラブルエリ
アを用意する。生成中の部分割付け構造「lay-subtree
」の状態に応じて上位のフォーマッタに「自分自身の
状態(この場合はFAILかPARTIALLY である)」と割付け
結果を返す。これに対し、「sub-formatter 」からの状
態の値が「DONE」、「PARTIALLY」の場合
は、「sub-formatter」から受け取った割付け結果を、
現在の「lay-subtree 」に繋ぐ。すなわち流し込む(P
our)処理を行う。
At step 3709, "sub-fo
When the value of the state from "rmatter" is "FAIL", a new available area is prepared using the partial division template. "Lay-subtree" structure that is being created
According to the status of "," the status of "own status (FAIL or PARTIALLY in this case)" and the allocation result are returned to the upper formatter. On the other hand, when the value of the status from "sub-formatter" is "DONE" or "PARTIALLY", the allocation result received from "sub-formatter" is
Connect to the current "lay-subtree". That is, pour (P
our) processing.

【0224】各フォーマッタが実行する部分割付け処理
の一例を示すアルゴリズムは次のようになっている。
An algorithm showing an example of the partial division process executed by each formatter is as follows.

【0225】 01 Procedure formatter 02 AVAILABLE-AREA[sup-formatter]? area-for-self; 03 lay-subtree=generate-first-min-subtree(template,area-for-self ); 04 lay-elmnt=get-first-lay-stream-elmnt(lay-subtree ); 05 foreach log-elmnt in log-stream do 06 sub-formatter=formatter-for (log-elmnt ); 07 loop 08 area-for-sub-formatter=compute-available-area (lay-elmnt , area-for-self); 09 AVAILABLE-AREA[sub-formatter]! area-for-sub-forematter; 10 LAYOUT-RESULT[sub-formatter]? (status ,generated-subtree ) ; 11 case status of 12 DONE: 13 pour(generated-subtree ,lay-elmnt ); 14 exit loop ; 15 PARTIALLY : 16 pour(generated-subtree ,lay-elmnt ); 17 FAIL: 18 if lay-stream-has-more-elmnts (lay-subtree )then 19 lay-elmnt=get-next-lay-stream-elmnt(lay-subtree ); 20 elseif can-add-branch (lay-subtree , template,area-for-self )then 21 add-branch(lay-subtree ,template,area-for-self ); 22 lay-elmnt=get-next-lay-stream-elmnt (lay-subtree ); 23 else 24 if something-was-poured (lay-subtree )then 25 LAYOUT-RESULT[sup-formatter]!(PARTIALLY , lay-subtree ); 26 AVAILABLE-AREA[sup-formatter]? area-for-self; 27 lay-subtree=generate-next-min-subtree(template, area-for-self ); 28 else 29 LAYOUT-RESULT[sup-formatter]! (FAIL,nil ); 30 AVAILABLE-AREA[sup-formatter]? area-for-self; 31 lay-subtree=re-generate-current-min-subtree (template, area-for-self ); 32 endif ; 33 lay-elmnt=get-first-lay-stream-elmnt(lay-subtree ); 34 endif ; 35 end loop; 36 end foreach ; 37 LAYOUT-RESULT[sup-formatter]! (DONE,lay-subtree ); 38 end ; なお、以上のアルゴリズにおいて、「01」〜「38」
はそれぞれの文字列に対応するステップ番号を意味して
おり、また「lay-stream」は部分割付け構造中の最下位
フレームの列を意味している。
01 Procedure formatter 02 AVAILABLE-AREA [sup-formatter]? Area-for-self; 03 lay-subtree = generate-first-min-subtree (template, area-for-self); 04 lay-elmnt = get -first-lay-stream-elmnt (lay-subtree); 05 foreach log-elmnt in log-stream do 06 sub-formatter = formatter-for (log-elmnt); 07 loop 08 area-for-sub-formatter = compute -available-area (lay-elmnt, area-for-self); 09 AVAILABLE-AREA [sub-formatter]! area-for-sub-forematter; 10 LAYOUT-RESULT [sub-formatter]? (status , generated-subtree ); 11 case status of 12 DONE: 13 pour (generated-subtree, lay-elmnt); 14 exit loop; 15 PARTIALLY: 16 pour (generated-subtree, lay-elmnt); 17 FAIL: 18 if lay-stream-has -more-elmnts (lay-subtree) then 19 lay-elmnt = get-next-lay-stream-elmnt (lay-subtree); 20 elseif can-add-branch (lay-subtree, template, area-for-self). then 21 add-branch (lay-subtree, template, area-for-self); 22 lay-elmnt = get-next-lay-stream-e lmnt (lay-subtree); 23 else 24 if something-was-poured (lay-subtree) then 25 LAYOUT-RESULT [sup-formatter]! (PARTIALLY, lay-subtree); 26 AVAILABLE-AREA [sup-formatter]? area-for-self; 27 lay-subtree = generate-next-min-subtree (template, area-for-self); 28 else 29 LAYOUT-RESULT [sup-formatter]! (FAIL, nil); 30 AVAILABLE-AREA [sup-formatter]? area-for-self; 31 lay-subtree = re-generate-current-min-subtree (template, area-for-self); 32 endif; 33 lay-elmnt = get-first-lay- stream-elmnt (lay-subtree); 34 endif; 35 end loop; 36 end foreach; 37 LAYOUT-RESULT [sup-formatter]! (DONE, lay-subtree); 38 end; In the above algorithm, "01 "~" 38 "
Means the step number corresponding to each character string, and "lay-stream" means the row of the lowest frame in the partial division structure.

【0226】次に、各フォーマッタが実行する部分割付
け処理について、上述したアルゴリズムを参照しながら
説明する。なお、以下に示す処理の説明において各ステ
ップ番号は上述したアルゴリズムにおけるステップ番号
と対応している。
Next, the partial division process executed by each formatter will be described with reference to the above-mentioned algorithm. In the following description of the processing, each step number corresponds to the step number in the above algorithm.

【0227】[ステップ01]プログラムの名前(form
atter )とその始まりを示す。
[Step 01] Program name (form
atter) and its beginning.

【0228】[ステップ02]上位フォーマッタからア
ベイラブルエリア(area-for-self )を受け取るまで待
機する。
[Step 02] Wait until an available area (area-for-self) is received from the upper formatter.

【0229】[ステップ03]「area-for-self 」内
で、部分割付けテンプレート(template)の制約を満た
す最初の最小の部分割付け構造を生成し、これを「lay-
subtree 」とする。templateはフォーマッタに対応する
論理ノードが指示している部分割付けテンプレートであ
る。
[Step 03] In "area-for-self", generate the first minimum subdivision structure satisfying the constraints of the subdivision template (template) and call it "lay-
subtree ". template is a partial layout template designated by the logical node corresponding to the formatter.

【0230】[ステップ04]「lay-subtree 」中の最
下位フレームの最初のフレームを「lay-elmnt 」とす
る。
[Step 04] The first frame of the least significant frames in "lay-subtree" is set as "lay-elmnt".

【0231】[ステップ05]対応する論理ノードの保
持している論理ノード列に含まれる、それぞれの論理ノ
ード(log-elmnt )について、ステップ07〜ステップ
36を実行する。
[Step 05] Steps 07 to 36 are executed for each logical node (log-elmnt) included in the logical node sequence held by the corresponding logical node.

【0232】[ステップ06]「log-elmnt 」に対応し
て起動されているフォーマッタを「sub-formatter 」と
する。
[Step 06] The formatter activated corresponding to "log-elmnt" is referred to as "sub-formatter".

【0233】[ステップ07]「exit」が現れるまでス
テップ08〜ステップ35まで繰り返し実行する。
[Step 07] Repeat steps 08 to 35 until "exit" appears.

【0234】[ステップ08]「area-for-self 」と
「lay-elmnt 」から「sub-formatter 」に引き渡すアベ
イラブルエリアを計算し、該計算結果を「area-for-sub
-formatter」とする。
[Step 08] The available area to be transferred from "area-for-self" and "lay-elmnt" to "sub-formatter" is calculated, and the calculation result is calculated as "area-for-sub".
-formatter ".

【0235】[ステップ09]「sub-formatter 」に
「area-for-sub-formatter」を引き渡す。
[Step 09] The "area-for-sub-formatter" is transferred to the "sub-formatter".

【0236】[ステップ10]「sub-formatter 」から
状態(status)と割付け結果(generated-subtree )と
を受け取るまで待機する。
[Step 10] Wait until the status (status) and the allocation result (generated-subtree) are received from the "sub-formatter".

【0237】[ステップ11]「status」の値(DON
E,PARTIALLY,FAIL)を見て、それぞれ
の「status」に応じた処理を実行する。
[Step 11] Value of "status" (DON
E, PARTIALLY, FAIL), and executes the processing according to each "status".

【0238】[ステップ12]「status」の値が「DO
NE」の場合はステップ13、14を実行する。
[Step 12] If the value of "status" is "DO"
In the case of "NE", steps 13 and 14 are executed.

【0239】[ステップ13]「lay-elmnt 」に「gene
rated-subtree 」を繋ぎ込む。
[Step 13] "gene" is added to "lay-elmnt"
"rated-subtree" is connected.

【0240】[ステップ14]ステップ07から始まっ
た繰り返しを終了し、ステップ36へ進む。
[Step 14] The repetition started from step 07 is completed, and the process proceeds to step 36.

【0241】[ステップ15]「status」の値が「PA
RTIALLY」の場合はステップ16へ進む。
[Step 15] If the value of "status" is "PA"
In the case of “RTIALLY”, the process proceeds to step 16.

【0242】[ステップ16]「lay-elmnt 」に「gene
rated-subtree 」を繋ぎ込み、その後、ステップ35へ
進む。
[Step 16] "gene" is added to "lay-elmnt".
"rated-subtree" is connected, and then the process proceeds to step 35.

【0243】[ステップ17]「status」の値が「FA
IL」の場合はステップ18〜ステップ34を実行す
る。
[Step 17] If the value of "status" is "FA"
If “IL”, steps 18 to 34 are executed.

【0244】[ステップ18]「lay-subtree 」中に他
の最下位フレームが残っている否かを判断し、最下位フ
レームが残っていればステップ19へ進み、一方、残っ
ていなければステップ20へ進む。
[Step 18] It is determined whether or not another lowest frame remains in the "lay-subtree". If the lowest frame remains, the process proceeds to step 19. If not, the step 20 proceeds. Go to.

【0245】[ステップ19]「lay-subtree 」中の次
の最下位フレームを「lay-elmnt 」とし、その後、ステ
ップ35へ進む。
[Step 19] The next lowest frame in "lay-subtree" is set to "lay-elmnt", and then the process proceeds to step 35.

【0246】[ステップ20]「area-for-self 」内
で、部分割付けテンプレートの制約を満たし、かつ新し
い最下位フレームを用意できるように、「lay-subtree
」にノードを増やすことができるか否かを判断し、増
やすことができるのであればステップ21へ進み、一
方、増やすことができないのであればステップ23、2
4を実行する。
[Step 20] Within "area-for-self", the "lay-subtree" is satisfied so that the restriction of the subdivision template can be satisfied and a new lowest frame can be prepared.
It is determined whether the number of nodes can be increased. If the number can be increased, the process proceeds to step 21, while if the number cannot be increased, steps 23 and 2 are performed.
Execute 4.

【0247】[ステップ21]「area-for-self 」内
で、部分割付けテンプレートの制約を満たし、かつ新し
い最下位フレームを用意できるように「lay-subtree 」
にノードを増やす。
[Step 21] Within "area-for-self", "lay-subtree" is set so that the restriction of the partial layout template can be satisfied and a new lowest frame can be prepared.
Add more nodes.

【0248】[ステップ22]「lay-subtree 」中の次
の最下位フレームを「lay-elmnt 」とし、その後、ステ
ップ34へ進む。
[Step 22] The next lowest frame in "lay-subtree" is set to "lay-elmnt", and then the process proceeds to step 34.

【0249】[ステップ23、24]割付け処理が少し
でも行われたか(「lay-subtree 」のどこかの最下位フ
レームに何かが接続されたか)否かを判断し、割付け処
理が行われていればステップ25〜ステップ27を実行
し、一方、行われていなければステップ28〜ステップ
31を実行する。
[Steps 23 and 24] It is determined whether or not the allocation processing has been performed at all (whether something has been connected to the lowest frame somewhere in "lay-subtree"), and the allocation processing has been performed. If so, steps 25 to 27 are executed, while if not, steps 28 to 31 are executed.

【0250】[ステップ25]上位フォーマッタに対し
て、状態として「PARTIALLY」を引き渡し、割
付け結果として「lay-subtree 」を引き渡す。
[Step 25] "PARTIALLY" is delivered as the status and "lay-subtree" is delivered as the allocation result to the upper formatter.

【0251】[ステップ26]上位フォーマッタから新
しいアベイラブルエリア(area-for-self )を受け取る
まで待機する。
[Step 26] Wait until a new available area (area-for-self) is received from the upper formatter.

【0252】[ステップ27]「area-for-self 」内
で、部分割付けテンプレートの制約を満たす新しい最小
の部分割付け構造を生成し、これを「lay-subtree 」と
し、その後、ステップ33に進む。
[Step 27] Within "area-for-self", a new minimum subdivision structure that satisfies the constraints of the subdivision template is generated, and this is designated as "lay-subtree". After that, the process proceeds to step 33.

【0253】[ステップ28、29]上位フォーマッタ
に対して、状態として「FAIL」を引き渡し、割付け
結果として(何も無いことを表す)nilを引き渡す。
[Steps 28 and 29] "FAIL" is passed as the status and nil (representing nothing) is passed as the allocation result to the upper formatter.

【0254】[ステップ30]上位フォーマッタから新
しいアベイラブルエリア(area-for-self )を受け取る
まで待機する。
[Step 30] Wait until a new available area (area-for-self) is received from the upper formatter.

【0255】[ステップ31]「area-for-self 」内
で、部分割付けテンプレートの制約を満たす部分割付け
構造を新たに生成し直し、これを「lay-subtree 」と
し、その後、ステップ33に進む。
[Step 31] Within "area-for-self", a subdivision structure that satisfies the constraints of the subdivision template is newly generated, and this is set as "lay-subtree". After that, the process proceeds to step 33.

【0256】[ステップ32]ステップ24から始まる
条件文の終りを示しており、次のステップに進む。
[Step 32] It shows the end of the conditional statement starting from step 24, and proceeds to the next step.

【0257】[ステップ33]「lay-subtree 」中の最
下位フレームの最初のフレームを「lay-elmnt 」とす
る。
[Step 33] The first frame of the least significant frames in "lay-subtree" is set as "lay-elmnt".

【0258】[ステップ34]ステップ17から始まる
条件文の終りを示しており、次のステップに進む。
[Step 34] Indicates the end of the conditional statement starting from step 17, and the process proceeds to the next step.

【0259】[ステップ35]ステップ07から始まる
繰り返しの範囲の終りを示しており、ステップ07に戻
る。
[Step 35] It shows the end of the range of repetition starting from step 07, and returns to step 07.

【0260】[ステップ36]ステップ05から始まる
繰り返しの範囲の終りを示しており、ステップ05に戻
る。
[Step 36] The end of the range of repetition starting from step 05 is shown, and the process returns to step 05.

【0261】[ステップ37]上位フォーマットに対し
て、状態として「DONE」を引き渡し、また割付け結
果として「lay-subtree 」を引き渡す。
[Step 37] "DONE" is passed as the state and "lay-subtree" is passed as the allocation result to the upper format.

【0262】[ステップ38]プログラムの終りを示
す。
[Step 38] Indicates the end of the program.

【0263】しかし、上述したアルゴリズムは、最上位
及び最下位のフォーマッタについては若干の修正が必要
である。何故ならば、最上位のフォーマッタについて
は、それより上位のフォーマッタからの情報を受け取る
まで待機するわけにはいかないからである。同様に、最
下位フォーマットについては、それより下位のフォーマ
ッタからの情報を受け取るまで待機するわけにはいかな
いからである。
However, the above-mentioned algorithm requires some modification for the highest and lowest formatters. This is because the highest formatter cannot wait until it receives information from higher formatters. Similarly, for the lowest format, it cannot wait until it receives information from a lower formatter.

【0264】従って上述したアルゴリズムを以下のよう
に修正する。最上位のフォーマッタについて (1)特にステップ02は割付け開始の指示があるまで
待機するためのステップとし、無限大の大きさのアベイ
ラブルエリアが常に渡されるものとする。 (2)各ステップ25、29、37で引き渡される状態
と割付け処理結果とを論理構造全体の割付け結果とし、
実行を終了する。従って、ステップ26、27、及びス
テップ30、31は実行されない。
Therefore, the above algorithm is modified as follows. Regarding the highest formatter (1) In particular, step 02 is a step for waiting until there is an instruction to start allocation, and an infinite available area is always passed. (2) The state delivered in each step 25, 29, 37 and the allocation processing result are the allocation result of the entire logical structure,
Finish execution. Therefore, steps 26 and 27 and steps 30 and 31 are not executed.

【0265】最下位のフォーマッタについて (1)ステップ08、09、10の処理の代わりに「内
容の割付け処理」を実行し、その状態として「status」
とし、またその結果を「generated-subtree 」とする。
Regarding the lowest formatter (1) Instead of the processing of steps 08, 09 and 10, "content allocation processing" is executed and the status is "status".
And the result is called "generated-subtree".

【0266】次に、この実施例の応用例について説明す
る。
Next, an application example of this embodiment will be described.

【0267】この実施例においては、フォーマッタは上
位フォーマッタに割付け結果と状態とを引き渡し、下位
フォーマッタから受け取った割付け結果はフォーマッタ
の処理中に最下位フレームに渡されるようになっている
が、これを次のようにしても良い。
In this embodiment, the formatter delivers the allocation result and the status to the upper formatter, and the allocation result received from the lower formatter is passed to the lowest frame during the processing of the formatter. You may do the following.

【0268】割付け結果を上位フォーマッタに引き渡す
代わりに、割付け結果によって消費されるアベイラブル
エリアの情報のみを上位フォーマッタに引き渡すことで
も、割付け処理を進行させることができる。この場合、
各フォーマッタが生成した部分割付け構造を保存してお
き、最後に割付け構造全体に繋ぎ合わせるようにする必
要がある。この様な実現方法を採用することにより、フ
ォーマッタ間で授受される情報量を最小限に抑制するこ
とができるので、全体の処理効率を向上させることがで
きる。
The allocation process can also be advanced by passing only the information of the available area consumed by the allocation result to the upper formatter instead of passing the allocation result to the upper formatter. in this case,
It is necessary to save the subdivision structure generated by each formatter and finally connect it to the entire layout structure. By adopting such an implementation method, the amount of information exchanged between the formatters can be suppressed to a minimum, so that the overall processing efficiency can be improved.

【0269】またこの実施例では割付け処理を最初から
行う場合について説明したが、論理構造の一部を変更し
た後に、再割付けを行う場合にも本発明は効果的であ
る。
In this embodiment, the case where the allocation process is performed from the beginning has been described, but the present invention is also effective when the reallocation is performed after a part of the logical structure is changed.

【0270】これは、各フォーマッタは上位フォーマッ
タからのアベイラブルエリアの情報と、下位フォーマッ
タからの割付け結果の情報とから、再実行が必要かどう
かを判定することができ、再実行が必要なフォーマッタ
のみを再実行することにより再割付けを実現できるから
である。この様な再割付けは、論理構造が変更された際
に、変更された部分(論理ノード)に対応するフォーマ
ッタを必要に応じて生成、削除して、フォーマッタの階
層を部分的に変更する。その後、階層内の変更した部分
における最上位のフォーマッタに割付け開始の指示を与
えると共に、その最上位のフォーマッタの結果を変更の
あった割付け処理結果とすればよい。
This is because each formatter can judge whether or not re-execution is necessary from the information on the available area from the upper formatter and the information on the allocation result from the lower formatter, and only the formatters that need to be re-executed. This is because reassignment can be realized by re-executing. In such re-allocation, when the logical structure is changed, the formatter corresponding to the changed portion (logical node) is generated and deleted as necessary, and the hierarchy of the formatter is partially changed. After that, the allocation start instruction is given to the highest formatter in the changed portion in the hierarchy, and the result of the highest formatter may be used as the changed allocation processing result.

【0271】なお各フォーマッタは、論理ノードに対応
して、部分割付けを行って部分割付け構造を生成するも
のであるから、1つのフォーマッタは論理ノードと部分
割付け構造との対応関係を知っている(対応関係の情報
を持っている)ことになる。従って、各フォーマッタ
は、第3の実施例で説明した論理・割付対応保持手段1
800の機能を果たしている。
Since each formatter performs partial partitioning to generate a partial partitioning structure corresponding to a logical node, one formatter knows the correspondence relationship between the logical node and the partial partitioning structure ( You have information about the correspondence). Therefore, each formatter has the logic / assignment correspondence holding means 1 described in the third embodiment.
Performs 800 functions.

【0272】次に、再割付け処理を具体的に説明する。Next, the reallocation process will be specifically described.

【0273】上位フォーマッタから受け取るアベイラブ
ルエリア中に、前回割付けた結果が置ける場合には、再
度、下位フォーマッタを実行する必要はなく、前回得ら
れた部分割付け処理結果を上位フォーマッタに返すのみ
で良い。これは、例えば段落を追加した時などに有効で
ある。何故ならば、通常段落の幅はいつも同じであり、
分割が生じるのは段落がページの境界にあるような比較
的まれな場合に過ぎないからである。
When the previously allocated result can be placed in the available area received from the upper formatter, the lower formatter does not need to be executed again, and the previously obtained partial partitioning processing result only needs to be returned to the upper formatter. This is effective, for example, when adding a paragraph. Because the width of a normal paragraph is always the same,
Splits occur only in the relatively rare cases where paragraphs are on page boundaries.

【0274】また、下位のフォーマッタから受け取る割
付け結果が前回受け取った割付け結果と同じ大きさの場
合は、続く論理ノードを割付けるためのアベイラブルエ
リアの大きさには影響は生じないので、当該続く論理ノ
ードに対応するフォーマッタを実行する必要はない。こ
れは例えばある段落について、行数が変わらない程度の
変更を行った時などに有効である。
When the allocation result received from the lower formatter has the same size as the allocation result received the previous time, the size of the available area for allocating the subsequent logical node is not affected, and therefore the subsequent logical node is not affected. It is not necessary to execute the formatter corresponding to the node. This is effective, for example, when a paragraph is changed to such an extent that the number of lines does not change.

【0275】上述した様な各手法を採用することで、部
分割付けが非常に効率的に実現できるため、文書編集の
全ての操作毎に、常に割付け処理を実行した場合であっ
ても処理効率は低下することはない。これにより、編集
後、割付けを行うという繁雑な操作の不要なWYSIW
YG(ウィジウィグ)エディタの実現が可能になる。ま
たこの実施例では、各フォーマッタは下位又は上位のフ
ォーマッタの結果を受け取るまでは待機するようにして
いるが、アベイラブルエリアの情報を予測することによ
って、並列処理を実行するようにしても良い。
By adopting each of the above-mentioned methods, the partial division can be realized very efficiently. Therefore, even if the allocation process is always executed for every operation of the document editing, the processing efficiency is high. It never drops. As a result, WYSIW does not require the complicated operation of allocating after editing.
It becomes possible to realize a YG (widwig) editor. Further, in this embodiment, each formatter waits until the result of the lower or upper formatter is received, but the parallel processing may be executed by predicting the information of the available area.

【0276】例えば、段落の幅は通常一定であるので、
段落を割付けるフォーマッタは、固定幅で長さ無限のア
ベイラブルエリアの中での割付けを予め実行することが
できる。そして、割付け後において、上位のフォーマッ
タから与えられるアベイラブルエリア中に、並列に割付
けた結果が置けない場合に限り、先に述べた割付け処理
の再実行の場合と同様に、割付け処理を再実行すること
になる。
For example, since the width of paragraphs is usually constant,
The paragraph allocator formatter can pre-allocate in an available area of fixed width and infinite length. Then, after allocation, only when the result of parallel allocation cannot be placed in the available area given by the upper formatter, the allocation process is re-executed as in the case of re-execution of the allocation process described above. It will be.

【0277】上記各実施例で説明したように、従来の文
書全体に対する割付けテンプレートの代わりに、文書の
論理構造を所定の関係により分類した際の各部分論理構
造にそれぞれ対応して部分割付けテンプレートを用意す
るとともに、ある部分論理構造に対して、その部分論理
構造に対応する部分割付けテンプレートを適用して部分
割付け構造を得るようにしたので、従来においてブロッ
クに対してのみ行われていた流し込みの処理を、フレー
ムに適用することができる。
As described in each of the above-mentioned embodiments, instead of the conventional layout template for the entire document, the partial layout template corresponding to each partial logical structure when the logical structure of the document is classified by a predetermined relationship is used. In addition to the preparation, the partial partitioning template corresponding to the partial logical structure is applied to a certain partial logical structure to obtain the partial partitioning structure. Can be applied to the frame.

【0278】また従来の文書全体に対する割付けテンプ
レートに相当するテンプレートは、より小さな部分割付
けテンプレートの組み合わせによって、割付け処理の実
行時に動的かつ仮想的に得られることになるので、部分
割付けテンプレートを再利用できる。
Further, a template equivalent to the conventional layout template for the entire document can be obtained dynamically and virtually at the time of executing the layout process by a combination of smaller partial layout templates. Therefore, the partial layout template can be reused. it can.

【0279】また割付けプログラム自体の動作が部分的
な割付けという単純な役割になるので、割付けプログラ
ムを作成し易くなる。
Since the operation of the allocation program itself plays a simple role of partial allocation, it becomes easy to create the allocation program.

【0280】また部分論理構造をかたまりとして処理す
る方式であるため、編集などの操作も容易になる。
Since the partial logical structure is processed as a block, operations such as editing become easy.

【0281】また部分論理構造と部分割付け構造との対
応関係を明確にするようにしたので、再割付け処理の処
理効率を向上させることができる。
Since the correspondence relationship between the partial logical structure and the partial layout structure is clarified, the processing efficiency of the reallocation process can be improved.

【0282】更に、部分割り付け処理を並列に実行して
論理構造全体の割付けを行うようにしたので、部分割付
け処理を再帰的に実行して論理構造全体を割付ける場合
よりも、更に割付け処理速度を向上させることができ
る。
Further, since the partial allocation processing is executed in parallel to allocate the entire logical structure, the allocation processing speed is higher than that in the case where the partial partitioning processing is recursively executed to allocate the entire logical structure. Can be improved.

【0283】[0283]

【発明の効果】以上説明したように本発明によれば、文
書の論理構造を所定の関係により分類した際の各部分論
理構造にそれぞれ対応して部分割付けテンプレートを用
意し、ある部分論理構造に対して、この部分論理構造に
対応する部分割付テンプレートを適用して部分割付構造
を生成するようにしたので、既に作成された部分割付テ
ンプレートを再利用することができる。
As described above, according to the present invention, a partial division template is prepared corresponding to each partial logical structure when the logical structure of a document is classified according to a predetermined relationship, and a partial logical structure is created. On the other hand, since the partial-partitioned template corresponding to this partial logical structure is applied to generate the partial-partitioned structure, the already-created partial-partitioned template can be reused.

【0284】既存の文書のレイアウトを変更する際に
は、変更の対象となるレイアウトに対応する既存の部分
割付テンプレートのみを変更し、他の既存の部分割付テ
ンプレートは再利用できることとなるので、テンプレー
トの作成を容易に行うことができる。
When changing the layout of an existing document, only the existing template with partial division corresponding to the layout to be changed is changed, and other existing templates with partial division can be reused. Can be easily created.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明に係る文書処理装置の第1の実施例を示
す機能ブロック図。
FIG. 1 is a functional block diagram showing a first embodiment of a document processing apparatus according to the present invention.

【図2】第1の実施例における文書の論理構造と部分割
付けテンプレートとの対応関係を説明するための図。
FIG. 2 is a diagram for explaining a correspondence relationship between a logical structure of a document and a copy separation template according to the first embodiment.

【図3】図2に示した論理構造の論理ノード列を説明す
るための図。
FIG. 3 is a diagram for explaining a logical node sequence of the logical structure shown in FIG.

【図4】論理構造、この論理構造に対応する論理ノード
列、部分割付けテンプレート及び内容部のデータ構造を
示す図。
FIG. 4 is a diagram showing a data structure of a logical structure, a logical node sequence corresponding to the logical structure, a partial layout template, and a content part.

【図5】図2に示した論理ノード列に対して、図2に示
した部分割付けテンプレートを適用して得られた割付け
結果を示す図。
FIG. 5 is a diagram showing an allocation result obtained by applying the partial layout template shown in FIG. 2 to the logical node sequence shown in FIG.

【図6】図4に示したデータ構造に、図5に示した割付
け構造のデータを追加した構成のデータ構造を示す図。
6 is a diagram showing a data structure having a configuration in which data of the allocation structure shown in FIG. 5 is added to the data structure shown in FIG.

【図7】第1の実施例における部分割付け手段による部
分割付け処理(ボトムアップな部分割付け処理)の動作
を示すフローチャート。
FIG. 7 is a flowchart showing the operation of the partial division process (bottom-up partial division process) by the partial division unit in the first embodiment.

【図8】第1の実施例における部分割付け処理過程を説
明するための図。
FIG. 8 is a diagram for explaining a copy division process in the first embodiment.

【図9】第1の実施例における部分割付け処理過程を説
明するための図。
9A and 9B are views for explaining a partial division process in the first embodiment.

【図10】第1の実施例における部分割付け処理過程を
説明するための図。
FIG. 10 is a diagram for explaining a partial division process in the first embodiment.

【図11】本発明に係る文書処理装置の第2の実施例を
示す機能ブロック図。
FIG. 11 is a functional block diagram showing a second embodiment of the document processing apparatus according to the present invention.

【図12】第2の実施例における、図2に示した論理構
造に対して、図2に示した部分割付けテンプレートを適
用して、ボトムアップな割付け処理を行った場合に得ら
れた割付け結果示す図。
FIG. 12 is a layout result obtained when bottom-up layout processing is performed by applying the partial layout template shown in FIG. 2 to the logical structure shown in FIG. 2 in the second embodiment. FIG.

【図13】第2の実施例における、図2に示した論理構
造に対して、図2に示した部分割付けテンプレートを適
用して、トップダウンな割付け処理を行った場合に得ら
れた割付け結果を示す図。
FIG. 13 is a layout result obtained when top-down layout processing is performed by applying the partial layout template shown in FIG. 2 to the logical structure shown in FIG. 2 in the second embodiment. FIG.

【図14】第2の実施例におけるボトムアップな割付け
処理の処理過程を説明するための図。
FIG. 14 is a diagram for explaining the processing steps of bottom-up allocation processing in the second embodiment.

【図15】第2の実施例におけるトップダウンな割付け
処理の処理過程を説明するための図。
FIG. 15 is a diagram for explaining the processing steps of top-down allocation processing in the second embodiment.

【図16】第2の実施例におけるトップダウンな割付け
処理の処理過程を説明するための図。
FIG. 16 is a diagram for explaining a processing process of top-down allocation processing according to the second embodiment.

【図17】第2の実施例における部分割付け手段による
部分割付け処理(トップダウンな部分割付け処理)の動
作を示すフローチャート。
FIG. 17 is a flowchart showing the operation of the partial division processing (top-down partial division processing) by the partial division means in the second embodiment.

【図18】本発明に係る文書処理装置の第3の実施例を
示す機能ブロック図。
FIG. 18 is a functional block diagram showing a third embodiment of the document processing apparatus according to the present invention.

【図19】第3の実施例における部分論理構造と部分割
付け構造との対応関係を説明するための図。
FIG. 19 is a diagram for explaining a correspondence relationship between a partial logical structure and a partial division structure according to the third embodiment.

【図20】第3の実施例における論理構造、論理ノード
列、部分割付けテンプレート、内容部、割付け構造、論
理・割付け対応関係のデータ構造を示す図。
FIG. 20 is a diagram showing a data structure of a logical structure, a logical node sequence, a partial layout template, a content part, a layout structure, and a logical / allocation correspondence relationship in the third embodiment.

【図21】第3の実施例における部分割付け手段による
部分割付け処理(再割付けを考慮した部分割付け処理)
の動作を示すフローチャート。
FIG. 21 is a partial-partitioning process by the partial-partitioning unit in the third embodiment (partial-partitioning process in consideration of reallocation).
3 is a flowchart showing the operation of the above.

【図22】第3の実施例における部分割付け手段による
部分割付け処理(再割付けを考慮した部分割付け処理)
の動作を示すフローチャート。
FIG. 22 is a partial-partitioning process (partial-partitioning process in consideration of reallocation) by a partial-partitioning unit in the third embodiment.
3 is a flowchart showing the operation of the above.

【図23】第3の実施例における、割付け処理終了後の
文書の論理構造と割付け構造との論理・割付け対応関係
を示す図。
FIG. 23 is a diagram showing a logical structure / allocation correspondence relationship between a logical structure of a document after allocation processing and a layout structure in the third embodiment.

【図24】図23に示した文書の論理構造が変更された
場合の再割付け処理を説明するための図。
24 is a diagram for explaining reallocation processing when the logical structure of the document shown in FIG. 23 is changed.

【図25】図23に示した文書の論理構造が変更された
場合の再割付け処理を説明するための図。
FIG. 25 is a diagram for explaining reallocation processing when the logical structure of the document shown in FIG. 23 is changed.

【図26】本発明に係る文書処理装置の第4の実施例に
おける文書の論理構造と部分割付けテンプレートとの対
応関係を示す図。
FIG. 26 is a diagram showing a correspondence relationship between a logical structure of a document and a partial layout template in the fourth embodiment of the document processing apparatus according to the present invention.

【図27】図26に示した論理構造に対して、図26に
示した部分割付けテンプレートを適用して得られた割付
け結果を示す図。
27 is a diagram showing an allocation result obtained by applying the partial layout template shown in FIG. 26 to the logical structure shown in FIG.

【図28】第4の実施例における部分割付け処理(カテ
ゴリーに従った部分割付け処理)を説明するための図。
FIG. 28 is a diagram for explaining a partial division process (a partial division process according to a category) according to the fourth embodiment.

【図29】第4の実施例における部分割付け処理(カテ
ゴリーに従った部分割付け処理)を説明するための図。
FIG. 29 is a diagram for explaining a partial division process (a partial division process according to a category) according to the fourth embodiment.

【図30】第4の実施例における部分割付け処理(カテ
ゴリーに従った部分割付け処理)を説明するための図。
FIG. 30 is a diagram for explaining a partial division process (a partial division process according to a category) according to the fourth embodiment.

【図31】第4の実施例における部分割付け処理(カテ
ゴリーに従った部分割付け処理)を説明するための図。
FIG. 31 is a diagram for explaining a partial division process (a partial division process according to a category) according to the fourth embodiment.

【図32】第4の実施例における部分割付け処理(カテ
ゴリーに従った部分割付け処理)を説明するための図。
FIG. 32 is a diagram for explaining a partial division process (a partial division process according to a category) according to the fourth embodiment.

【図33】第4の実施例における部分割付け処理(カテ
ゴリーに従った部分割付け処理)を説明するための図。
FIG. 33 is a diagram for explaining a partial division process (a partial division process according to a category) according to the fourth embodiment.

【図34】第4の実施例における部分割付け処理(カテ
ゴリーに従った部分割付け処理)を説明するための図。
FIG. 34 is a diagram for explaining a partial division process (a partial division process according to a category) according to the fourth embodiment.

【図35】本発明に係る文書処理装置の第5の実施例に
おけるフォーマッタを説明するための図。
FIG. 35 is a diagram for explaining a formatter in the fifth embodiment of the document processing apparatus according to the present invention.

【図36】第5の実施例における割付け処理の動作を示
すフローチャート。
FIG. 36 is a flowchart showing the operation of allocation processing in the fifth embodiment.

【図37】第5の実施例における各フォーマッタによる
部分割付け処理の動作を示すフローチャート。
FIG. 37 is a flowchart showing the operation of partial division processing by each formatter in the fifth embodiment.

【図38】従来における、文書の論理構造と割付けテン
プレートとの関係を示す図。
FIG. 38 is a diagram showing a conventional relationship between a logical structure of a document and a layout template.

【図39】図38に示した論理構造に対して、図38に
示した割付けテンプレートを適用して得られた割付け結
果を示す図。
39 is a diagram showing an allocation result obtained by applying the allocation template shown in FIG. 38 to the logical structure shown in FIG. 38.

【図40】図38に示した論理構造と図39に示した割
付け構造との対応関係を示す図。
FIG. 40 is a diagram showing a correspondence relationship between the logical structure shown in FIG. 38 and the allocation structure shown in FIG. 39.

【図41】従来の割付け処理の動作を示すフローチャー
ト。
FIG. 41 is a flowchart showing the operation of a conventional allocation process.

【図42】従来の割付け処理の処理過程を説明するため
の図。
FIG. 42 is a view for explaining a processing process of conventional allocation processing.

【図43】従来の割付け処理の処理過程を説明するため
の図。
FIG. 43 is a diagram for explaining a processing process of conventional allocation processing.

【図44】従来の割付け処理の処理過程を説明するため
の図。
FIG. 44 is a diagram for explaining a processing process of conventional allocation processing.

【図45】従来の割付け処理の処理過程を説明するため
の図。
FIG. 45 is a diagram for explaining a processing process of conventional allocation processing.

【図46】従来の割付け処理の処理過程を説明するため
の図。
FIG. 46 is a view for explaining a processing process of conventional allocation processing.

【図47】従来における、文書の論理構造と、小組を二
段組でレイアウトするための規則を表現している割付け
テンプレートとの対応関係を示す図。
FIG. 47 is a diagram showing a conventional correspondence relationship between a logical structure of a document and an allocation template expressing a rule for laying out a small set in two columns.

【図48】図47に示した論理構造に対して、図47に
示した割付けテンプレートを適用して得られた割付け結
果を示す図。
48 is a diagram showing an allocation result obtained by applying the allocation template shown in FIG. 47 to the logical structure shown in FIG. 47.

【図49】図48に示した割付け構造の生成過程を説明
するための図。
FIG. 49 is a diagram for explaining a process of generating the layout structure shown in FIG. 48.

【図50】図48に示した割付け構造の生成過程を説明
するための図。
FIG. 50 is a diagram for explaining a process of generating the layout structure shown in FIG. 48.

【図51】従来におけるトップダウンな割付け処理が施
されて得られた割付け結果を示す図。
FIG. 51 is a diagram showing an allocation result obtained by performing conventional top-down allocation processing.

【図52】従来におけるボトムアップな割付け処理が施
されて得られた割付け結果を示す図。
FIG. 52 is a view showing an allocation result obtained by performing conventional bottom-up allocation processing.

【図53】従来における、カテゴリーの指示に従った割
付け処理を実行させるための、文書の論理構造と割付け
テンプレートとの対応関係を示す図。
FIG. 53 is a diagram showing a conventional correspondence relationship between a logical structure of a document and an allocation template for executing an allocation process in accordance with a category instruction.

【図54】従来における、小組を三段組でレイアウトす
るための規則を表現している割付けテンプレートを示す
図。
FIG. 54 is a diagram showing a conventional allocation template expressing rules for laying out small sets in three columns.

【図55】従来における、小組を二段組または三段組で
レイアウトするための規則を表現している割付けテンプ
レートを示す図。
FIG. 55 is a view showing a conventional layout template that expresses rules for laying out small sets in two columns or three columns.

【符号の説明】[Explanation of symbols]

101…論理構造保持手段、102…内容保持手段、 103…割付け構造保持手段、104…内容割付け手
段、 105…部分割付けテンプレート、106…論理ノード
列抽出手段、 107…論理ノード列管理手段、108…部分論理構造
指定手段、 109、1100…部分割付け手段、 240、250、2620、2630…部分割付けテン
プレート 1110…トップダウン部分割付手段、 1120…ボトムアップ部分割付手段、1130…部分
割付選択手段、 1800…論理・割付対応管理手段。
101 ... Logical structure holding means, 102 ... Content holding means, 103 ... Allocation structure holding means, 104 ... Content allocating means, 105 ... Partial division template, 106 ... Logical node sequence extracting means, 107 ... Logical node sequence managing means, 108 ... Partial logical structure designating means, 109, 1100 ... Division dividing means, 240, 250, 2620, 2630 ... Division dividing template 1110 ... Top-down division dividing means, 1120 ... Bottom-up division dividing means, 1130 ... Division division selecting means, 1800 ... Logical / allocation management means.

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】文書の論理構造を所定の関係により分類し
た際の各部分論理構造にそれぞれ対応して、該部分論理
構造を割付けるための規則を示す部分割付けテンプレー
トを保持する部分割付けテンプレート保持手段と、 前記論理構造中の所定の部分論理構造を指定する部分論
理構造指定手段と、 前記部分論理構造指定手段により指定された部分論理構
造に対して、当該部分論理構造に対応する前記部分割り
付けテンプレートを適用して部分割付け処理を行う部分
割付け手段とを具えたことを特徴とする文書処理装置。
1. A partial division template holding unit that holds a partial division template showing a rule for allocating the partial logical structure corresponding to each partial logical structure when the logical structure of a document is classified according to a predetermined relationship. Means, a partial logical structure designating means for designating a predetermined partial logical structure in the logical structure, and the partial allocation corresponding to the partial logical structure to the partial logical structure designated by the partial logical structure designating means. A document processing apparatus, comprising: a section dividing unit that applies a template to perform a section dividing process.
【請求項2】文書の論理構造を所定の関係により分類し
た際の各部分論理構造にそれぞれ対応して、該部分論理
構造を割付けるための規則を示す部分割付けテンプレー
トを保持する部分割付けテンプレート保持手段と、 前記論理構造中の所定の部分論理構造を指定する部分論
理構造指定手段と、 前記部分論理構造指定手段により指定された部分論理構
造に対して、当該部分論理構造に対応する前記部分割付
けテンプレートを適用して部分割付け処理を行う部分割
付け手段とを具え、前記部分割付け手段による割付け処
理を繰り返しまたは再帰的に実行することにより、前記
論理構造全体の割付け処理を行うようにしたことを特徴
とする文書処理装置。
2. A partial division template holding unit that holds a partial division template indicating a rule for allocating the partial logical structure corresponding to each partial logical structure when the logical structure of a document is classified by a predetermined relationship. Means, a partial logical structure designating means for designating a predetermined partial logical structure in the logical structure, and the partial division corresponding to the partial logical structure to the partial logical structure designated by the partial logical structure designating means. And a section dividing unit that performs a section dividing process by applying a template, wherein the layout process of the entire logical structure is performed by repeatedly or recursively executing the allocation process by the section dividing unit. Document processing device.
【請求項3】前記部分論理構造指定手段は、 前記論理構造から、文書内容を保持する基本論理オブジ
ェクト、及び下位の論理ノード列を代表する論理オブジ
ェクトから構成される論理ノード列を抽出する論理ノー
ド列抽出手段と、 この論理ノード列抽出手段によって抽出された論理ノー
ド列を管理する論理ノード列管理手段とを具えたことを
特徴とする請求項(2)記載の文書処理装置。
3. The partial logical structure designating means extracts a logical node sequence composed of a basic logical object holding document contents and a logical object representing a lower logical node sequence from the logical structure. 3. The document processing apparatus according to claim 2, further comprising a column extracting unit and a logical node sequence managing unit managing the logical node sequence extracted by the logical node sequence extracting unit.
【請求項4】前記部分割付手段は、 部分割付け結果として得られる部分割付け構造の領域
を、上位の割付オブジェクトの残り領域からトップダウ
ンに決定するトップダウン部分割付手段と、 部分割付け結果として得られる部分割付け構造の領域
を、下位の割付オブジェクトを合成した領域からボトム
アップに決定するボトムアップ部分割付手段と、 前記トップダウン部分割付手段あるいは前記ボトムアッ
プ部分割付手段のいずれの部分割付手段を適用するかに
ついての割付手段選択情報に基づく部分割付手段を選択
する部分割付選択手段とを具えたことを特徴とする請求
項(2)記載の文書処理装置。
4. The top-down section dividing means for determining the area of the side-partitioning structure obtained as a result of the side-by-side division from the remaining area of the higher-order layout object to top-down, and the means for obtaining the part-side division. The area of the subdivision structure is applied bottom-up subdivision means for determining bottom-up from the area in which lower-level layout objects are combined, and either the top-down subdivision means or the bottom-up subdivision means is applied. 3. The document processing apparatus according to claim 2, further comprising: a partial division selection unit that selects the partial division unit based on the allocation unit selection information regarding the.
【請求項5】文書の論理構造を所定の関係により分類し
た際の各部分論理構造にそれぞれ対応して、該部分論理
構造を割付けるための規則を示す部分割付けテンプレー
トを保持する部分割付けテンプレート保持手段と、 前記論理構造中の所定の部分論理構造を指定する部分論
理構造指定手段と、 前記部分論理構造指定手段により指定された部分論理構
造に対して、当該部分論理構造に対応する前記部分割付
けテンプレートを適用して部分割付け処理を行う部分割
付け手段と、 前記部分論理構造と、前記部分割付け処理手段による部
分割付処理結果としての部分割付構造とを対応つけして
管理する論理・割付管理手段とを具えたことを特徴とす
る文書処理装置。
5. A partial layout template holding unit that holds a partial layout template indicating a rule for allocating the partial logical structure corresponding to each partial logical structure when the logical structure of a document is classified by a predetermined relationship. Means, a partial logical structure designating means for designating a predetermined partial logical structure in the logical structure, and the partial division corresponding to the partial logical structure to the partial logical structure designated by the partial logical structure designating means. Partial division means for applying a template to perform partial division processing; logical / allocation management means for managing the partial logical structure and the partial division structure as a result of partial division processing by the partial division processing means in association with each other; A document processing device comprising:
【請求項6】文書の論理構造を所定の関係により分類し
た際の各部分論理構造にそれぞれ対応して、該部分論理
構造を割付けるための規則を示す部分割付けテンプレー
トを保持する部分割付けテンプレート保持手段と、 前記論理構造中の所定の部分論理構造を指定する部分論
理構造指定手段と、 前記部分論理構造指定手段により指定された部分論理構
造に対して、当該部分論理構造に対応する前記部分割付
けテンプレートを適用して部分割付け処理を行う複数の
部分割付け手段とを具え、前記各部分割付け手段による
処理を並列に実行することにより、前記論理構造全体の
割付け処理を行うことを特徴とする文書処理装置。
6. A partial division template holding unit that holds a partial division template indicating a rule for allocating the partial logical structure corresponding to each partial logical structure when the logical structure of a document is classified by a predetermined relationship. Means, a partial logical structure designating means for designating a predetermined partial logical structure in the logical structure, and the partial division corresponding to the partial logical structure with respect to the partial logical structure designated by the partial logical structure designating means. Document processing characterized by comprising: a plurality of partial division means for applying a template to perform partial division processing, and executing the processing by the respective partial division means in parallel to perform the allocation processing of the entire logical structure. apparatus.
JP4084225A 1991-08-09 1992-04-06 Document processor Pending JPH05101040A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4084225A JPH05101040A (en) 1991-08-09 1992-04-06 Document processor
US08/043,202 US5381523A (en) 1992-04-06 1993-04-05 Document processing device using partial layout templates

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-200987 1991-08-09
JP20098791 1991-08-09
JP4084225A JPH05101040A (en) 1991-08-09 1992-04-06 Document processor

Publications (1)

Publication Number Publication Date
JPH05101040A true JPH05101040A (en) 1993-04-23

Family

ID=26425286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4084225A Pending JPH05101040A (en) 1991-08-09 1992-04-06 Document processor

Country Status (1)

Country Link
JP (1) JPH05101040A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007130947A (en) * 2005-11-14 2007-05-31 Dainippon Printing Co Ltd Multiple layout editing method and apparatus of general-purpose variable print

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007130947A (en) * 2005-11-14 2007-05-31 Dainippon Printing Co Ltd Multiple layout editing method and apparatus of general-purpose variable print
JP4686339B2 (en) * 2005-11-14 2011-05-25 大日本印刷株式会社 General-purpose variable print multi-page layout editing method and device

Similar Documents

Publication Publication Date Title
US5381523A (en) Document processing device using partial layout templates
JP2855797B2 (en) Document processing device
JPH064405A (en) Computer with extended virtual storage
JP5707265B2 (en) Arithmetic control device, arithmetic control method, program, and parallel processor
JP5619179B2 (en) Computer system, job execution management method, and program
JP2007201955A (en) Image forming apparatus
CN112685091A (en) Service request processing method, device, equipment and medium based on big data
JP5675445B2 (en) Information processing apparatus, information processing apparatus control method, and computer program
CN113254223B (en) Resource allocation method and system after system restart and related components
JPH05101040A (en) Document processor
JP2003015620A (en) Display control system, display equipment and display control program, and display control method
JP7285283B2 (en) Distributed transaction management method and system
JP3477716B2 (en) Document processing apparatus and method
JP6251860B2 (en) Information management apparatus and file management method
CN114154095A (en) Page picture generation method, device, equipment and storage medium
JPH11338719A (en) Computer system
JP6524733B2 (en) Parallel computing device, parallel computing system, and job control program
Shahabi Scheduling the retrievals of continuous media objects
WO2023063365A1 (en) Design execution device, design execution system, and design execution method
JP4438754B2 (en) Image forming apparatus
JP7060797B2 (en) Table generation method, table generator and table generation program
JP4601144B2 (en) Program development system, recording medium and method
JP3889633B2 (en) Specification exchange device and specification exchange program
JP2003076562A (en) Method, device for quantitatively controlling memory, computer program and recording medium
JP4438755B2 (en) Image forming apparatus