JP2001290802A - Method and device for document processing and recording medium - Google Patents
Method and device for document processing and recording mediumInfo
- Publication number
- JP2001290802A JP2001290802A JP2000107472A JP2000107472A JP2001290802A JP 2001290802 A JP2001290802 A JP 2001290802A JP 2000107472 A JP2000107472 A JP 2000107472A JP 2000107472 A JP2000107472 A JP 2000107472A JP 2001290802 A JP2001290802 A JP 2001290802A
- Authority
- JP
- Japan
- Prior art keywords
- document
- unit
- processing
- display
- editing
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、文書処理装置、文
書処理方法、およびその方法をコンピュータに実行させ
るプログラムを記録したコンピュータ読み取り可能な記
録媒体に関する。特に、本発明は、文書内のデータが階
層構造を有する複数の要素に分類された構造化文書を処
理するための方法、その方法を利用可能な文書処理装
置、およびその方法をコンピュータに実行させるプログ
ラムを記録したコンピュータ読み取り可能な記録媒体に
関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a document processing apparatus, a document processing method, and a computer-readable recording medium storing a program for causing a computer to execute the method. In particular, the present invention provides a method for processing a structured document in which data in the document is classified into a plurality of elements having a hierarchical structure, a document processing apparatus capable of using the method, and a method for causing a computer to execute the method. The present invention relates to a computer-readable recording medium on which a program is recorded.
【0002】[0002]
【従来の技術】インターネットの普及に伴い、膨大な量
の文書が流通するようになった。WWW(World Wide W
eb)上で公開される文書のほとんどは、HTML(Hype
r-TextMarkup Language)によって記述されている。H
TMLによって記述された文書は、仕様で予め決められ
た要素を示すタグのみしか用いることができず、膨大な
量の文書を効率良く処理するのに適さないという問題点
が指摘されるようになった。2. Description of the Related Art With the spread of the Internet, an enormous amount of documents have been distributed. WWW (World Wide W
Most of the documents published on eb) are HTML (Hype
r-TextMarkup Language). H
It has been pointed out that a document described by TML can use only tags indicating elements predetermined by specifications, and is not suitable for efficiently processing a huge amount of documents. Was.
【0003】膨大な文書を効果的に活用するために、X
ML(eXtensible Markup Language)などのマークアッ
プ言語が提唱されている。それに伴い、XMLなどのマ
ークアップ言語によって記述された、文書内のデータが
階層構造を有する複数の要素に分類された構造化文書
を、簡便に、効率良く処理するための方法および装置の
開発が求められている。[0003] In order to effectively utilize a large number of documents, X
Markup languages such as ML (eXtensible Markup Language) have been proposed. Accordingly, a method and an apparatus for easily and efficiently processing a structured document in which data in the document described in a markup language such as XML is classified into a plurality of elements having a hierarchical structure have been developed. It has been demanded.
【0004】[0004]
【発明が解決しようとする課題】そこで本発明は、上記
の課題を解決することのできる文書処理方法、文書処理
装置、およびその方法をコンピュータに実行させるプロ
グラムを記録したコンピュータ読み取り可能な記録媒体
を提供することを目的とする。この目的は特許請求の範
囲における独立項に記載の特徴の組み合わせにより達成
される。また従属項は本発明の更なる有利な具体例を規
定する。SUMMARY OF THE INVENTION Accordingly, the present invention provides a document processing method, a document processing apparatus, and a computer-readable recording medium storing a program for causing a computer to execute the method, which can solve the above-mentioned problems. The purpose is to provide. This object is achieved by a combination of features described in the independent claims. The dependent claims define further advantageous embodiments of the present invention.
【0005】[0005]
【課題を解決するための手段】即ち、本発明の第1の形
態における文書処理方法は、文書内のデータが階層構造
を有する複数の構成要素に分類された構造化文書を処理
するための方法であって、文書に対する編集処理が行わ
れたときに、編集の対象とされた構成要素に対応するハ
ッシュ値を取得する工程と、ハッシュ値と、構成要素に
適用すべき表示属性とを対応づけたハッシュテーブルを
参照して、構成要素に適用すべき表示属性を取得する工
程と、構成要素に属するデータに表示属性を適用する工
程とを含む。That is, a document processing method according to a first embodiment of the present invention is a method for processing a structured document in which data in the document is classified into a plurality of components having a hierarchical structure. Acquiring a hash value corresponding to a component to be edited when the document is edited, and associating the hash value with a display attribute to be applied to the component. Acquiring a display attribute to be applied to the component with reference to the hash table, and applying the display attribute to data belonging to the component.
【0006】ハッシュ値は、構成要素の要素名に基づい
て算出されても良い。ハッシュ値は、構成要素の要素名
のうち、最下位の階層の要素名に基づいて算出されても
良い。ハッシュテーブルは、ハッシュ値と、構成要素の
クラス属性値に適用すべき表示属性とを対応づけた第2
のハッシュテーブルを更に有しても良い。構造化文書
は、SGML、XML、MHEG、HTML、XHTM
L、およびそれらに対して拡張または限定を行った形式
のうちのいずれかの形式で記述されても良い。表示属性
は、CSS、XSL、およびそれらに対して拡張または
限定を行った形式のいずれかの形式で記述されても良
い。[0006] The hash value may be calculated based on the element names of the constituent elements. The hash value may be calculated based on the element name of the lowest hierarchy among the element names of the constituent elements. The hash table is a second table that associates a hash value with a display attribute to be applied to a class attribute value of a component.
May be further provided. Structured documents are SGML, XML, MHEG, HTML, XHTM
L, and any of extended or limited forms. The display attribute may be described in any of CSS, XSL, and an extended or limited format.
【0007】本発明の第1の形態における記録媒体は、
コンピュータ読み取り可能な記録媒体であって、上記い
ずれかに記載の方法をコンピュータに実行させるための
プログラムを記録する。[0007] The recording medium according to the first embodiment of the present invention includes:
A computer-readable recording medium that records a program for causing a computer to execute any one of the methods described above.
【0008】本発明の第1の形態におけるサーバ装置
は、上記いずれかに記載の方法をコンピュータに実行さ
せるためのプログラムを格納する記録媒体と、プログラ
ムを記録媒体から読み出してコンピュータに配信する通
信装置とを備える。[0008] A server device according to a first embodiment of the present invention is a recording medium for storing a program for causing a computer to execute any of the above methods, and a communication device for reading the program from the recording medium and delivering the program to the computer. And
【0009】本発明の第1の形態における文書処理装置
は、文書内のデータが階層構造を有する複数の構成要素
に分類された構造化文書を処理するための文書処理装置
であって、構成要素に対応するハッシュ値を取得するハ
ッシュ値取得部と、ハッシュ値と、構成要素に適用すべ
き表示属性とを対応づけたハッシュテーブルを参照し
て、構成要素に適用すべき表示属性を取得する表示属性
取得部とを含む。A document processing device according to a first embodiment of the present invention is a document processing device for processing a structured document in which data in the document is classified into a plurality of components having a hierarchical structure, A hash value obtaining unit that obtains a hash value corresponding to, and a display that obtains a display attribute to be applied to a component by referring to a hash table in which the hash value is associated with a display attribute to be applied to the component Attribute acquisition unit.
【0010】なお上記の発明の概要は、本発明の必要な
特徴の全てを列挙したものではなく、これらの特徴群の
サブコンビネーションも又発明となりうる。The above summary of the present invention does not list all of the necessary features of the present invention, and a sub-combination of these features may also be an invention.
【0011】[0011]
【発明の実施の形態】以下、発明の実施の形態を通じて
本発明を説明するが、以下の実施形態はクレームにかか
る発明を限定するものではなく、又実施形態の中で説明
されている特徴の組み合わせの全てが発明の解決手段に
必須であるとは限らない。DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described through embodiments of the present invention. However, the following embodiments do not limit the claimed invention and have the features described in the embodiments. Not all combinations are essential to the solution of the invention.
【0012】図1は、本実施形態の文書処理方法をコン
ピュータに実行させるためのプログラムがネットワーク
を介して配信される様子を示す図である。プログラム
は、ダウンロードサーバ20内に設けられたハードディ
スクなどの記憶媒体に格納されている。すなわち、ダウ
ンロードサーバ20のハードディスクは、本発明の記憶
媒体の一形態である。ユーザーは、インターネット10
を介してダウンロードサーバ20のハードディスクに格
納されたプログラムをダウンロードして、利用者端末3
0内に設けられたハードディスクなどの記憶媒体に格納
することができる。これにより、利用者端末30におい
て、本実施形態の文書処理方法を実現することができ
る。このとき、プログラムを利用者端末30に配信すべ
く、ダウンロードサーバ20に設けられたハードディス
クからプログラムを読み出す行為は、記憶媒体の使用に
該当する。なお、ダウンロードサーバ20に設けられた
ハードディスクに格納されたプログラムは、符号化また
は圧縮されたデータとして提供されても良い。本実施形
態の文書処理方法をコンピュータに実行させるためのプ
ログラムは、他にも、CD−ROM、フロッピー(登録
商標)ディスク、メモリーカードなどの記憶媒体に格納
された形で提供することができる。FIG. 1 is a view showing a state where a program for causing a computer to execute the document processing method of the present embodiment is distributed via a network. The program is stored in a storage medium such as a hard disk provided in the download server 20. That is, the hard disk of the download server 20 is one form of the storage medium of the present invention. Users can access the Internet 10
The program stored in the hard disk of the download server 20 is downloaded via the
0 can be stored in a storage medium such as a hard disk provided in the storage device. Thus, the user terminal 30 can realize the document processing method according to the present embodiment. At this time, the act of reading the program from the hard disk provided in the download server 20 in order to distribute the program to the user terminal 30 corresponds to the use of a storage medium. Note that the program stored in the hard disk provided in the download server 20 may be provided as encoded or compressed data. A program for causing a computer to execute the document processing method according to the present embodiment can be provided in a form stored in a storage medium such as a CD-ROM, a floppy (registered trademark) disk, or a memory card.
【0013】本実施形態の文書処理装置は、LANなど
のネットワークで接続された文書サーバ40および複数
の編集端末50によって構成されても良い。文書サーバ
40は、本実施形態のプログラムのうち、少なくとも編
集ユニットを備える。編集端末50は、本実施形態のプ
ログラムのうち、少なくともユーザーインターフェース
および表示ユニットを備える。この構成により、文書サ
ーバ40に格納された一つの文書を、複数のユーザーが
それぞれ編集端末50を用いて編集することができる。
編集端末50は、インターネット10を介して文書サー
バ40にアクセスしても良い。本実施形態の文書処理方
法を実現するためのプログラムは、Java言語などの
汎用性の高い言語によって記述されているため、例え
ば、利用者端末30が本実施形態のプログラムを備えて
いなくても、文書サーバ40に備えられたプログラムを
利用して、文書サーバ40に格納された文書を編集する
ことができる。The document processing apparatus according to the present embodiment may include a document server 40 and a plurality of editing terminals 50 connected via a network such as a LAN. The document server 40 includes at least an editing unit of the program according to the present embodiment. The editing terminal 50 includes at least a user interface and a display unit of the program of the present embodiment. With this configuration, one user stored in the document server 40 can be edited by a plurality of users using the editing terminal 50.
The editing terminal 50 may access the document server 40 via the Internet 10. Since the program for realizing the document processing method of the present embodiment is described in a highly versatile language such as the Java language, for example, even if the user terminal 30 does not have the program of the present embodiment, The document stored in the document server 40 can be edited by using a program provided in the document server 40.
【0014】図2は、ダウンロードサーバ20、利用者
端末30、文書サーバ40、および編集端末50などの
コンピュータの構成を示す。コンピュータは、主に、入
力装置60、表示装置62、通信装置64、CPU6
6、メモリ68、ハードディスク70、外部記憶装置7
2、およびバス74を備える。入力装置60は、キーボ
ード、マウス、音声入力装置、タッチパネルなど、ユー
ザーからの情報をコンピュータに伝達するための装置を
含む。表示装置62は、液晶モニタなど、編集中の文書
およびメニューなどの情報を表示するための装置を含
む。通信装置64は、インターネット10、LANなど
の通信手段を介して所定の情報を送受信するための装置
を含む。CPU66は、本実施形態のプログラムをロー
ドして実行する。メモリ68は、ROM、RAMなどの
記憶装置を含む。FIG. 2 shows a configuration of a computer such as the download server 20, the user terminal 30, the document server 40, and the editing terminal 50. The computer mainly includes an input device 60, a display device 62, a communication device 64, a CPU 6
6, memory 68, hard disk 70, external storage device 7
2 and a bus 74. The input device 60 includes a device for transmitting information from a user to a computer, such as a keyboard, a mouse, a voice input device, and a touch panel. The display device 62 includes a device for displaying information such as a document being edited and a menu, such as a liquid crystal monitor. The communication device 64 includes a device for transmitting and receiving predetermined information via communication means such as the Internet 10 and a LAN. The CPU 66 loads and executes the program of the present embodiment. The memory 68 includes a storage device such as a ROM and a RAM.
【0015】図3以降において詳述される本実施形態の
文書処理装置の機能ブロックは、プログラムが必要に応
じてCPU66に呼び出されて実行されることにより構
成される。このプログラムは、通信装置64を介してダ
ウンロードサーバ20から、または、外部記憶装置72
に装着されたフロッピーディスク、CD−ROMなどの
可搬な記憶媒体から提供され、ハードディスク70に格
納される。プログラムは、通信装置64を介してダウン
ロードサーバ20から、または、外部記憶装置72に装
着されたフロッピーディスク、CD−ROMなどの可搬
な記憶媒体から、メモリ68に読み込まれても良い。The functional blocks of the document processing apparatus according to the present embodiment, which will be described in detail with reference to FIG. This program is downloaded from the download server 20 via the communication device 64 or the external storage device 72.
Provided from a portable storage medium such as a floppy disk or a CD-ROM mounted on the hard disk 70 and stored in the hard disk 70. The program may be read into the memory 68 from the download server 20 via the communication device 64 or from a portable storage medium such as a floppy disk or a CD-ROM mounted on the external storage device 72.
【0016】記録媒体としては、フロッピーディスク、
CD−ROMの他にも、DVD等の光学記録媒体、MD
等の磁気記録媒体、PD等の光磁気記録媒体、テープ媒
体、磁気記録媒体、ICカードやミニチュアーカードな
どの半導体メモリ等を用いることができる。このような
記録媒体は、文書処理装置を製造するためにのみ使用さ
れるものであり、そのような記録媒体の業としての製造
および販売等が本出願に基づく特許権の侵害を構成する
ことは明らかである。As a recording medium, a floppy disk,
In addition to CD-ROM, optical recording media such as DVD, MD
, A magneto-optical recording medium such as a PD, a tape medium, a magnetic recording medium, and a semiconductor memory such as an IC card or a miniature card. Such a recording medium is used only for manufacturing a document processing device, and it is not possible that the manufacture and sale of such a recording medium as a business constitute infringement of a patent right based on the present application. it is obvious.
【0017】図3は、本実施形態の文書処理装置の概略
機能ブロックを示す。文書処理装置90は、主に、ユー
ザーインターフェース100、編集ユニット200、表
示ユニット300、取消再実行処理制御ユニット40
0、およびブラグインユニット500を備える。FIG. 3 is a schematic functional block diagram of the document processing apparatus according to the present embodiment. The document processing device 90 mainly includes a user interface 100, an editing unit 200, a display unit 300, and a cancel / re-execution processing control unit 40.
0, and a plug-in unit 500.
【0018】ユーザーインターフェース100は、入力
装置60から入力されたユーザーからの指示を受けて、
必要な処理を行い、編集ユニット200、表示ユニット
300、取消再実行処理制御ユニット400、およびプ
ラグインユニット500へ、指示を伝達する。編集ユニ
ット200は、ユーザーインターフェース100から伝
達された指示を受けて、文書に対する編集処理を行い、
表示ユニット300へ表示要求を伝達する。また取消再
実行処理制御ユニット400へ必要な指示を伝達する。
表示ユニット300は、ユーザーインターフェース10
0、編集ユニット200、またはプラグインユニット5
00から伝達される表示要求を受けて、表示装置62へ
必要な情報を表示するための処理を行う。取消再実行処
理制御ユニット400は、ユーザーインターフェース1
00、編集ユニット200、またはプラグインユニット
500で行われた処理を取り消したり、再実行したりす
るための制御を行う。The user interface 100 receives an instruction from the user input from the input device 60,
It performs necessary processing and transmits instructions to the editing unit 200, the display unit 300, the cancellation / re-execution processing control unit 400, and the plug-in unit 500. The editing unit 200 performs an editing process on the document in response to the instruction transmitted from the user interface 100,
The display request is transmitted to the display unit 300. Also, it transmits necessary instructions to the cancellation re-execution processing control unit 400.
The display unit 300 includes the user interface 10
0, editing unit 200, or plug-in unit 5
In response to the display request transmitted from 00, processing for displaying necessary information on the display device 62 is performed. The cancellation re-execution processing control unit 400 includes the user interface 1
00, control for canceling or re-executing the processing performed by the editing unit 200 or the plug-in unit 500.
【0019】プラグインユニット500は、文書処理装
置90に追加機能を付加するためのモジュールを含む。
追加機能の例としては、例えば、印刷機能、文書形式変
換機能、特定のタグセットについての編集機能およびレ
ンダリング機能などがある。プラグインユニット500
は、ユーザーインターフェース100を介して、入力装
置60から伝達された指示を受け取る。そして、指示に
応じた処理を行い、必要であれば、ユーザーインターフ
ェース100、編集ユニット200、表示ユニット30
0、取消再実行処理制御ユニット400へ指示を伝達す
る。The plug-in unit 500 includes a module for adding an additional function to the document processing apparatus 90.
Examples of the additional functions include, for example, a printing function, a document format conversion function, an editing function for a specific tag set, and a rendering function. Plug-in unit 500
Receives an instruction transmitted from the input device 60 via the user interface 100. Then, a process according to the instruction is performed, and if necessary, the user interface 100, the editing unit 200, the display unit 30
0, an instruction is transmitted to the cancellation re-execution processing control unit 400.
【0020】本実施形態の文書処理装置90は、主に、
文書内のデータが階層構造を有する複数の要素に分類さ
れた構造化文書を処理するための装置である。このよう
な構造化文書には、SGML、XML、MHEG、HT
MLなど、多様な形式が提唱されており、さらに、それ
らに対して拡張または限定を行って新たな形式を作るこ
とも可能である。本実施形態では、これらの形式のう
ち、XMLによって記述された構造化文書を例にとって
説明する。XMLに関する情報は、例えば、http:
//www.w3.org/TR/ などから入手する
ことができるので、本明細書中では必要に応じて説明す
るにとどめる。The document processing apparatus 90 of the present embodiment mainly includes
An apparatus for processing a structured document in which data in the document is classified into a plurality of elements having a hierarchical structure. Such structured documents include SGML, XML, MHEG, HT
Various formats such as ML have been proposed, and it is also possible to extend or limit them to create new formats. In the present embodiment, among these formats, a structured document described in XML will be described as an example. Information on XML is, for example, http:
// www. w3. org / TR /, etc., and will be described only as necessary in this specification.
【0021】本実施形態の文書処理装置90は、XML
文書をデータとして扱うときのアクセス方法を提供する
ために定められたDOM(Document Object Model)に
したがって、構造化文書を処理する。また、XMLで記
述された構造化文書の表示方法を規定するために、CS
S(Cascading Style Sheets)またはXSL(XML Styl
e Language)などの形式で記述された文書を用いる。D
OM、CSS、XSLに関する情報も、例えば、htt
p://www.w3.org/TR/ などから入手
することができるので、本明細書中では必要に応じて説
明するにとどめる。The document processing apparatus 90 according to the present embodiment
The structured document is processed according to a DOM (Document Object Model) defined to provide an access method when a document is treated as data. In addition, in order to specify a method for displaying a structured document described in XML, CS
S (Cascading Style Sheets) or XSL (XML Styl
e Language). D
Information on OM, CSS and XSL is also available, for example, http
p: // www. w3. org / TR /, etc., and will be described only as necessary in this specification.
【0022】図4は、ユーザーインターフェース100
の詳細な機能ブロックを示す。ユーザーインターフェー
ス100は、イベント解析部110、イベントマップ1
20、UIコマンド実行部130、およびメニュー制御
部140を備える。FIG. 4 shows the user interface 100.
2 shows detailed functional blocks of. The user interface 100 includes an event analysis unit 110, an event map 1
20, a UI command execution unit 130, and a menu control unit 140.
【0023】イベント解析部110は、入力装置60か
ら伝達されるイベントを受信し、イベントマップ120
を参照してイベントの内容を解析し、UIコマンド実行
部130、メニュー制御部140、編集ユニット200
などへ、必要な指示を伝達する。イベントマップ120
には、入力装置60から伝達されるイベントの種類と、
イベントによって起動される処理の種類とが、対応づけ
て格納されている。UIコマンド実行部130は、主
に、画面のスクロール、ツールバーの表示/非表示の切
り換えなど、文書の編集処理を伴わないような、ユーザ
ーインターフェース100に関する処理を実行する。メ
ニュー制御部140は、イベント解析部110からメニ
ュー表示要求が伝達されると、各種コマンドを実行する
ためのメニューを生成して、表示装置62に表示するた
めの処理を実行する。The event analysis unit 110 receives an event transmitted from the input device 60 and generates an event map 120
To analyze the contents of the event, referring to the UI command execution unit 130, the menu control unit 140, the editing unit 200
Communicate necessary instructions to Event map 120
Includes the type of event transmitted from the input device 60,
The type of the process activated by the event is stored in association with the event. The UI command execution unit 130 mainly executes processes related to the user interface 100, such as scrolling of a screen and switching display / non-display of a toolbar, which do not involve a document editing process. When the menu display request is transmitted from the event analysis unit 110, the menu control unit 140 generates a menu for executing various commands and performs a process for displaying the menu on the display device 62.
【0024】図5は、編集ユニット200の詳細な機能
ブロックを示す。編集ユニット200は、編集コマンド
実行部210、DOMエンジン220、文書保持部23
0、位置情報保持部240、編集適否判断部250、お
よび文書修正部260を備える。FIG. 5 shows detailed functional blocks of the editing unit 200. The editing unit 200 includes an editing command execution unit 210, a DOM engine 220, and a document holding unit 23.
0, a position information holding unit 240, an editing suitability judging unit 250, and a document correcting unit 260.
【0025】編集コマンド実行部210は、構造化文書
を編集するための各種編集コマンドを実行する。DOM
エンジン220は、XML文書をデータとして扱うとき
のアクセス方法を提供するために定められたDOMを、
Java言語などのプログラミング言語によって実装し
たものであり、文書保持部230に保持された対象文書
にアクセスして指示された処理を実行する。位置情報保
持部240は、対象文書の中の、カーソル位置、選択範
囲の始点、選択範囲の終点、しおり位置などといった位
置情報を保持する。編集適否判断部250は、編集コマ
ンド実行部210によって実行された編集処理が適当で
あったか否かを判断する。文書修正部260は、編集コ
マンド実行部210が実行した編集処理によって編集さ
れた文書がさらに修正を必要としている場合に、修正処
理を実行する。The edit command execution unit 210 executes various edit commands for editing a structured document. DOM
The engine 220 converts a DOM defined to provide an access method when an XML document is treated as data,
It is implemented in a programming language such as the Java language, and accesses a target document held in the document holding unit 230 to execute a designated process. The position information holding unit 240 holds position information such as the cursor position, the start point of the selection range, the end point of the selection range, and the bookmark position in the target document. The editing suitability determining unit 250 determines whether the editing process executed by the editing command executing unit 210 is appropriate. The document correction unit 260 executes a correction process when a document edited by the edit process executed by the edit command execution unit 210 requires further correction.
【0026】図6は、表示ユニット300の詳細な機能
ブロックを示す。表示ユニット300は、レンダリング
ユニット選択部310、レンダリング部320、ツリー
表示処理部330、および表示部340を備える。レン
ダリング部320は、スタイル設定部322およびレイ
アウト処理部324を備える。FIG. 6 shows detailed functional blocks of the display unit 300. The display unit 300 includes a rendering unit selection unit 310, a rendering unit 320, a tree display processing unit 330, and a display unit 340. The rendering unit 320 includes a style setting unit 322 and a layout processing unit 324.
【0027】レンダリングユニット選択部310は、構
造化文書の各要素に属するデータをレンダリングするた
めのレンダリングユニットを選択して、そのレンダリン
グユニットにレンダリング処理を要求する。レンダリン
グ部320は、主に、XHTML(eXtended Hyper-Tex
t Markup Language)で記述されたデータのレンダリン
グ処理を行う。スタイル設定部322は、色、大きさ、
フォントなどのスタイルを設定する。レイアウト処理部
324は、テキストデータとフローティングブロックの
レイアウト処理を行う。ツリー表示処理部330は、適
切なレンダリングユニットによってレンダリングできな
いデータを、ツリー表示するための処理を行う。表示部
340は、作成された表示画面データを表示装置62に
表示するための処理を行う。The rendering unit selection section 310 selects a rendering unit for rendering data belonging to each element of the structured document, and requests the rendering unit to perform a rendering process. The rendering unit 320 mainly uses XHTML (eXtended Hyper-Tex
t Rendering data described in Markup Language). The style setting unit 322 determines the color, size,
Set styles such as fonts. The layout processing unit 324 performs layout processing of text data and floating blocks. The tree display processing unit 330 performs processing for displaying data that cannot be rendered by an appropriate rendering unit in a tree display. The display unit 340 performs a process for displaying the created display screen data on the display device 62.
【0028】図7から図10を用いて、本実施形態の文
書処理装置90の動作の概要を説明する。The outline of the operation of the document processing apparatus 90 according to the present embodiment will be described with reference to FIGS.
【0029】図7は、本実施形態の文書処理装置90に
よって処理可能な構造化文書の例を示す。図7におい
て、構造化文書600は、XHTMLによって記述され
た文書である。1行目はXML宣言であり、文書600
がXML仕様の第1.0版に従うことと、シフトJIS
形式で符号化されていることを示す。2行目は、この文
書がXHTMLによって記述されていることと、日本語
で記述されていることを示す。4行目から9行目まで
は、文書のヘッダ情報である。FIG. 7 shows an example of a structured document that can be processed by the document processing apparatus 90 of the present embodiment. 7, a structured document 600 is a document described in XHTML. The first line is an XML declaration, and the document 600
Conforms to version 1.0 of the XML specification and shifts JIS
Indicates that it is encoded in the format. The second line indicates that this document is described in XHTML and is described in Japanese. The fourth to ninth lines are header information of the document.
【0030】10行目から20行目は、文書600の本
体を構成するデータであり、要素「body」に属す
る。要素「body」は、その直下の階層の要素(以
下、単に「子要素」という)として、3つの要素「di
v」を含む。「div」は、文書の段落に対応する要素
である。1番目の要素「div」は、テキストデータ
「あいうえお」を含む。2番目の要素「div」は、子
要素「hr」を含む。要素「hr」は、終了タグを持た
ない空要素であり、水平線を表示するための要素であ
る。3番目の要素「div」は、テキストデータ「かき
くけこ」を含む。3番目の要素「div」には、左イン
デントが8カラムであることを示す表示属性が指定され
ている。要素「div」のスタイルは、「段落のプロパ
ティ」メニューによって指定することができる。Lines 10 to 20 are data constituting the main body of the document 600 and belong to the element "body". The element “body” has three elements “di” as elements at a level immediately below (hereinafter simply referred to as “child elements”).
v ". “Div” is an element corresponding to a paragraph of the document. The first element “div” includes the text data “aiueo”. The second element “div” includes a child element “hr”. The element “hr” is an empty element having no end tag, and is an element for displaying a horizontal line. The third element "div" includes text data "Kakikukeko". In the third element “div”, a display attribute indicating that the left indent has eight columns is specified. The style of the element "div" can be specified by the "paragraph properties" menu.
【0031】図8は、文書処理装置90が構造化文書6
00を読み込み、表示ユニット300によって表示装置
62へ表示させた様子を示す。表示装置62に表示され
た画面700は、メニューバー702、ツールバー70
4、水平ルーラ706、垂直ルーラ708、文書表示部
710、およびカーソル712を含む。FIG. 8 shows a case where the document processing apparatus 90 has the structured document 6.
00 is read and displayed on the display device 62 by the display unit 300. The screen 700 displayed on the display device 62 includes a menu bar 702, a toolbar 70,
4, a horizontal ruler 706, a vertical ruler 708, a document display unit 710, and a cursor 712.
【0032】メニューバー702は、構造化文書600
を処理するために必要なコマンドをメニュー表示する。
たとえば、メニューバー702の「ファイル」を入力装
置60の一例のマウスでクリックすると、「ファイル」
メニューが表示される。ツールバー704は、使用頻度
の特に高いコマンドをアイコン表示する。アイコンをマ
ウスでクリックすることによりコマンドを起動すること
ができるので、メニューを経由するよりも簡便に所望の
コマンドを起動することができる。水平ルーラ706
は、主に、カーソル712の水平方向の位置を示す。垂
直ルーラ708は、主に、カーソル712の垂直方向の
位置を示す。文書表示部710は、構造化文書600を
レンダリング部320によってレンダリングした結果を
表示する。The menu bar 702 displays the structured document 600
Displays a menu of commands necessary to process.
For example, when "file" on the menu bar 702 is clicked with a mouse as an example of the input device 60, "file"
A menu is displayed. The toolbar 704 displays icons of frequently used commands as icons. Since a command can be activated by clicking the icon with a mouse, a desired command can be activated more easily than via a menu. Horizontal ruler 706
Indicates mainly the position of the cursor 712 in the horizontal direction. The vertical ruler 708 mainly indicates the position of the cursor 712 in the vertical direction. The document display unit 710 displays a result of rendering the structured document 600 by the rendering unit 320.
【0033】文書処理装置90は、処理すべき構造化文
書600を読み込んで文書保持部230に保持する。続
いて、レンダリングユニット選択部310が、構造化文
書600のデータの名前空間を参照して、適切なレンダ
リングユニットを決定する。構造化文書600は全てX
HTMLによって記述されているので、レンダリングユ
ニット選択部310は、適切なレンダリングユニットと
してレンダリング部320を選択する。The document processing device 90 reads the structured document 600 to be processed and holds it in the document holding unit 230. Subsequently, the rendering unit selection unit 310 determines an appropriate rendering unit with reference to the namespace of the data of the structured document 600. All structured documents 600 are X
Since the rendering unit is described in HTML, the rendering unit selection unit 310 selects the rendering unit 320 as an appropriate rendering unit.
【0034】まず、スタイル設定部322が、各要素の
表示属性(スタイル)を設定する。XHTMLの各要素
の表示属性は、デフォルトスタイルシート、ユーザース
タイルシートの順に設定され、順次上書きされていく。
文書中に記述されたオーサースタイルシートがある場合
には、さらにオーサースタイルシートに記述された表示
属性が設定される。要素ごとに表示属性が指定されてい
る場合には、さらに要素ごとに表示属性が設定される。
ここでは、3番目の要素「div」に、左インデントが
8カラムであるという表示属性が指定されているので、
これを3番目の「div」の表示属性として設定する。
スタイル設定部322の詳細な動作については、図37
において詳述する。First, the style setting section 322 sets the display attribute (style) of each element. The display attribute of each element of XHTML is set in the order of the default style sheet and the user style sheet, and is sequentially overwritten.
If there is an author style sheet described in the document, the display attribute described in the author style sheet is further set. If a display attribute is specified for each element, a display attribute is further set for each element.
Here, since the display attribute that the left indent is 8 columns is specified in the third element “div”,
This is set as the third "div" display attribute.
The detailed operation of the style setting unit 322 is described in FIG.
Will be described in detail.
【0035】つづいて、レイアウト処理部324が、テ
キストデータとフローティングブロックデータをレイア
ウトする。文書600には、フローティングブロックが
ないので、テキストデータのみをレイアウト処理する。
テキストデータは、1行ずつレイアウト処理される。レ
イアウト処理部324の詳細な動作については、図41
において詳述する。レンダリング部320によってレン
ダリングされた表示データは、表示部340によって表
示装置62へ表示される。Subsequently, the layout processing section 324 lays out the text data and the floating block data. Since the document 600 has no floating block, only the text data is laid out.
The text data is subjected to layout processing line by line. For the detailed operation of the layout processing unit 324, see FIG.
Will be described in detail. The display data rendered by the rendering unit 320 is displayed on the display device 62 by the display unit 340.
【0036】以上の説明からも分かるように、本実施形
態の文書処理装置90は、XMLなどによって記述され
た構造化文書を表示するためのブラウザとしての機能を
有する。処理すべき文書を指定せずにプログラムが起動
された場合には、対象文書として新規文書を作成しても
良い。このとき、本体部分のデータを持たない文書が対
象文書として作成される。表示画面700の文書表示部
710には何も表示されない。As can be seen from the above description, the document processing device 90 of the present embodiment has a function as a browser for displaying a structured document described in XML or the like. If the program is started without specifying a document to be processed, a new document may be created as a target document. At this time, a document having no body part data is created as a target document. Nothing is displayed on the document display section 710 of the display screen 700.
【0037】次に、カーソル712の位置で、入力装置
60の一例としてのキーボードから文字列「1234」
を入力したときの、文書処理装置90の動作を説明す
る。まず、イベント解析部110が、キーボードからの
文字列入力イベントを受信する。イベントマップ120
には、文字列入力イベントに文字列挿入コマンドが対応
づけられている。イベント解析部110は、イベントマ
ップ120を参照し、文字列挿入コマンドを起動するよ
う編集ユニット200に指示する。Next, at the position of the cursor 712, a character string "1234" is input from a keyboard as an example of the input device 60.
The operation of the document processing apparatus 90 when the user inputs "." First, the event analysis unit 110 receives a character string input event from the keyboard. Event map 120
Is associated with a character string input event. The event analysis unit 110 refers to the event map 120 and instructs the editing unit 200 to activate a character string insertion command.
【0038】編集コマンド実行部210は、イベント解
析部110からの文字列挿入コマンド実行要求を受信し
て、文字列挿入コマンドを実行する。編集コマンド実行
部210は、DOMエンジン220に、1番目の要素
「div」のテキストデータのうち、2文字目の後ろの
位置に、文字列「1234」を挿入するよう指示する。
DOMエンジン220は、DOMの仕様に沿って文書保
持部230に保持された文書にアクセスし、指示された
処理を実行する。このとき、後で詳述するように、位置
情報保持部240に保持された位置情報が自動的に更新
される。続いて、DOMエンジン220は、1番目の要
素「div」のテキストデータが変更されたことを通知
するためのミューテーションイベントを発行し、表示ユ
ニット300に伝達する。The edit command execution unit 210 receives the character string insertion command execution request from the event analysis unit 110 and executes the character string insertion command. The edit command execution unit 210 instructs the DOM engine 220 to insert the character string “1234” at the position after the second character in the text data of the first element “div”.
The DOM engine 220 accesses the document held in the document holding unit 230 according to the specification of the DOM, and executes the specified processing. At this time, as will be described in detail later, the position information held in the position information holding unit 240 is automatically updated. Subsequently, the DOM engine 220 issues a mutation event for notifying that the text data of the first element “div” has been changed, and transmits the mutation event to the display unit 300.
【0039】表示ユニット300は、ミューテーション
イベントを受信して、必要な部分を再レンダリングし、
表示装置62の画面を更新する。まず、レンダリングユ
ニット選択部310が、適切なレンダリングユニットを
選択する。この場合、1番目の要素「div」をレンダ
リングするのに適切なレンダリングユニットは、レンダ
リング部320である。レンダリング部320のスタイ
ル設定部322は、1番目の要素「div」のスタイル
を設定する。この場合、スタイルは変更されていないの
で、再設定の必要はない。レイアウト処理部324は、
1番目の要素「div」を再レイアウトする。この場
合、左から順に「あい1234うえお」の文字列がレイ
アウトされる。2番目および3番目の要素「div」に
ついては、フローティングブロックの影響を受けないこ
とが明らかであるので、再レイアウトの必要はない。The display unit 300 receives the mutation event and re-renders the required part,
The screen of the display device 62 is updated. First, the rendering unit selection unit 310 selects an appropriate rendering unit. In this case, a rendering unit suitable for rendering the first element “div” is the rendering unit 320. The style setting unit 322 of the rendering unit 320 sets the style of the first element “div”. In this case, since the style has not been changed, there is no need to reset it. The layout processing unit 324
Re-layout the first element "div". In this case, a character string “Ai 1234 Ueo” is laid out in order from the left. It is clear that the second and third elements "div" are not affected by the floating block, so there is no need for a relayout.
【0040】以上のサイクルで、ユーザーから指示され
た処理が実行される。図9は、上記の処理が実行された
後の文書600を示す。12行目のテキストデータが、
「あいうえお」から「あい1234うえお」に変更され
ている。図10は、上記の処理が実行された後の画面7
00を示す。1段落目が、「あいうえお」から「あい1
234うえお」に変更され、カーソル位置が「4」の後
ろに移動している。In the above cycle, the processing specified by the user is executed. FIG. 9 shows the document 600 after the above processing has been performed. The text data on line 12 is
It has been changed from "aiueo" to "ai 1234ueo". FIG. 10 shows the screen 7 after the above processing has been executed.
00 is shown. The first paragraph changes from “Ai-ueo” to “Ai 1
234 ", and the cursor position has moved to the position after" 4 ".
【0041】図11は、メニュー制御部140の動作を
示すフローチャートである。まず、メニュー制御部14
0は、入力装置60を介して伝達されるメニュー表示要
求を取得する(S100)。メニュー表示要求を取得す
ると、カーソル位置または編集範囲位置を検出して、現
在の編集位置を取得する(S102)。続いて、編集位
置を含むデータが属する名前空間を取得する(S10
4)。編集位置が複数ある場合には、それぞれの名前空
間を取得する。続いて、取得した名前空間に対応する文
書型定義(DTD:Document Type Definition)を取得
する(S106)。文書型定義は、XML Schem
a、RELAXなどの形式で記述されていても良い。続
いて、必要であれば、対象文書の要素の表示規則を記述
したスタイルシートを取得する(S108)。スタイル
シートは、CSS、XSLなどの形式で記述されていて
も良い。続いて、DTDと、必要であればスタイルシー
トとを参照して、メニューを生成する(S110)。続
いて、表示ユニット300にメニューを表示するよう指
示する(S112)。FIG. 11 is a flowchart showing the operation of the menu control unit 140. First, the menu control unit 14
0 acquires a menu display request transmitted via the input device 60 (S100). When the menu display request is obtained, the cursor position or the editing range position is detected, and the current editing position is obtained (S102). Subsequently, the name space to which the data including the editing position belongs is acquired (S10).
4). When there are a plurality of editing positions, each name space is obtained. Subsequently, a document type definition (DTD: Document Type Definition) corresponding to the acquired namespace is acquired (S106). The document type definition is XML Schema
a, RELAX, and the like. Next, if necessary, a style sheet describing the display rules of the elements of the target document is obtained (S108). The style sheet may be described in a format such as CSS or XSL. Subsequently, a menu is generated with reference to the DTD and, if necessary, the style sheet (S110). Subsequently, the display unit 300 is instructed to display a menu (S112).
【0042】図12は、XMLによって記述された構造
化文書の例を示す。図12に示した構造化文書610に
おいては、名前空間「http://www.sample.com/」で識別
される文書型を文書型「sample」と呼ぶことにす
る。XMLのDTDには名前空間を表現する方法がない
ため、図12では文書型XHTMLのモジュール化DT
Dを想定して、文書型「sample」との合成DTD
を記述している。すなわち、文書型「sample」に
属する要素型名を全て接頭辞「s:」を付加した名前に
変換した文書型定義を生成し、それをXHTMLのモジ
ュール化DTDと合成している。CSSスタイルシート
にも名前空間を表現する方法がないため、に「samp
le」に属する要素型に対するスタイル定義は接頭辞
「s:」を付加した名前の要素に対するスタイル定義と
して記述している。以上の制限により、文書610内で
は文書型「sample]に適用する名前空間接頭辞は
「s」に限定している。説明の都合上、図12ではDT
DおよびCSSを利用したが、名前空間を表現する能力
を持った文書型記述言語やスタイルシート言語を用いて
もよい。その場合は、上記のような制限はない。FIG. 12 shows an example of a structured document described in XML. In the structured document 610 shown in FIG. 12, the document type identified by the namespace "http://www.sample.com/" is called a document type "sample". Since there is no method for expressing a namespace in the XML DTD, FIG. 12 shows a modularized DT of the document type XHTML.
Assuming D, composite DTD with document type "sample"
Is described. That is, a document type definition is generated by converting all the element type names belonging to the document type "sample" to names to which a prefix "s:" is added, and synthesizes it with the modularized DTD of XHTML. Since CSS style sheets do not have a way to represent namespaces,
The style definition for the element type belonging to "le" is described as a style definition for an element with a name with a prefix "s:" added. Due to the above restrictions, the namespace prefix applied to the document type “sample” in the document 610 is limited to “s”. For convenience of explanation, FIG.
Although D and CSS are used, a document type description language or a style sheet language having a capability of expressing a name space may be used. In that case, there is no such restriction.
【0043】文書610は、文書型「sample」の
文書型定義612、文書型「sample」の各要素の
表示属性を規定するスタイルシート614、および文書
「sample」に属する部分616を含む。The document 610 includes a document type definition 612 of the document type “sample”, a style sheet 614 defining display attributes of each element of the document type “sample”, and a portion 616 belonging to the document “sample”.
【0044】文書型定義612は、要素型宣言と、属性
リスト宣言を含む。3行目から8行目までは、要素型宣
言である。例えば、3行目の要素型宣言は要素「sam
ple」を定義しており、要素「sample」が、要
素「sect」または要素「parag」を1回以上含
むことを規定している。また、4行目の要素型宣言は要
素「sect」を定義しており、要素「sect」が、
テキストデータ、要素「sect」、要素「para
g」、要素「sub」、要素「bold」、または要素
「image」を、0回以上含むことを規定している。
また、8行目の要素型宣言は要素「image」を定義
しており、要素「image」が、内容を持たない空要
素タグであることを規定している。9行目は、属性リス
ト宣言である。これは、要素「image」が、「si
ze」という属性を必ず持つことを規定している。The document type definition 612 includes an element type declaration and an attribute list declaration. Lines 3 to 8 are element type declarations. For example, the element type declaration on the third line is the element "sam
ple ", and specifies that the element" sample "includes the element" sect "or the element" parag "at least once. The element type declaration on the fourth line defines an element “sect”, and the element “sect” is
Text data, element "sect", element "para"
g ", element" sub ", element" bold ", or element" image "is specified to be contained 0 or more times.
The element type declaration in the eighth line defines the element "image", and specifies that the element "image" is an empty element tag having no content. The ninth line is an attribute list declaration. This means that the element "image"
stipulates that it has an attribute of "ze".
【0045】スタイルシート614は、文書型「sam
ple」の各要素の表示属性を規定する。18行目は、
スタイルシート614が、CSS形式で記述されている
ことを示す。22行目は、要素「sub」が、下付き文
字で表示されることを規定する。23行目は、要素「b
old」が、太字で表示されることを規定する。The style sheet 614 has a document type “sam
The display attribute of each element of “ple” is defined. Line 18
This indicates that the style sheet 614 is described in the CSS format. Line 22 specifies that the element “sub” is displayed in subscript. The 23rd line contains the element “b
"old" is displayed in bold.
【0046】図13は、図12に示した構造化文書61
0のうち、文書型「sample」に属する部分616
の階層構造を分かりやすく示した模式図である。最上位
の階層の要素である「sample」は、子要素とし
て、「sect」および「parag」を含む。要素
「sect」は、テキストデータ「あいうえお」、子要
素「sub」、およびテキストデータ「かきくけこ」を
含む。要素「sub」は、テキストデータ「123
4」、子要素「bold」、およびテキストデータ「9
0」を含む。要素「bold」は、テキストデータ「5
678」を含む。要素「parag」は、テキストデー
タ「さしすせそ」および子要素「image」を含む。
要素「image」は、空要素である。以上のような階
層構造は、図12に示した文書型定義612に従ってい
る。すなわち、文書610は、妥当なXML文書であ
る。参照番号(1)から(11)は、図14以降でメニ
ュー制御部140の動作を説明するために用いる。FIG. 13 shows the structured document 61 shown in FIG.
0, a portion 616 belonging to the document type “sample”
FIG. 2 is a schematic diagram showing the hierarchical structure of FIG. “Sample” which is an element of the highest hierarchy includes “sect” and “parag” as child elements. The element “sect” includes text data “aiueo”, child element “sub”, and text data “kakikukeko”. The element “sub” includes text data “123”.
4 ", child element" bold ", and text data" 9 "
0 ”. The element “bold” includes the text data “5”.
678 ". The element “parag” includes text data “sashisusesoso” and child elements “image”.
The element "image" is an empty element. The above hierarchical structure complies with the document type definition 612 shown in FIG. That is, the document 610 is a valid XML document. Reference numbers (1) to (11) are used to explain the operation of the menu control unit 140 in FIG.
【0047】図14は、カーソル712が図13におけ
る位置(4)にあるときに、メニューを表示させた様子
を示す。カーソル712が図13における位置(4)に
あるときに、ユーザーがメニューバー702の「挿入」
をマウスでクリックすると、「挿入」メニュー720が
表示される。ここで、さらに、項目「タグ」にマウス位
置を合わせると、「タグ」メニュー722の表示要求が
メニュー制御部140に伝達される。FIG. 14 shows a state where the menu is displayed when the cursor 712 is at the position (4) in FIG. When the cursor 712 is at the position (4) in FIG.
Clicking on with a mouse displays an “Insert” menu 720. Here, when the mouse position is further adjusted to the item “tag”, a display request of the “tag” menu 722 is transmitted to the menu control unit 140.
【0048】このとき、メニュー制御部140は、編集
位置を取得する。この場合、編集位置は、カーソル71
2の位置である。続いて、メニュー制御部140は、編
集位置の名前空間を取得し、対応する文書型を取得す
る。この場合、カーソル712の位置は、文書型「sa
mple」に属する。続いて、メニュー制御部140
は、文書型に対応する文書型定義を取得する。この場
合、「sample」に対応する文書型定義は、図12
に示した文書型定義612である。続いて、メニュー制
御部140は、スタイルシートを取得する。この場合、
文書610のスタイルシートは、図12に示したスタイ
ルシート614である。続いて、メニュー制御部140
は、メニューを生成する。ここで生成すべきメニュー
は、「タグ」メニュー722である。メニュー制御部1
40は、まず、文書型定義612を参照して、カーソル
712の位置にタグを挿入しても文書型定義612に反
しないようなタグを抽出する。At this time, the menu control section 140 acquires the editing position. In this case, the editing position is the cursor 71
2 position. Subsequently, the menu control unit 140 acquires the name space of the editing position and acquires the corresponding document type. In this case, the position of the cursor 712 is the document type "sa
mple ”. Subsequently, the menu control unit 140
Obtains the document type definition corresponding to the document type. In this case, the document type definition corresponding to “sample” is as shown in FIG.
Is the document type definition 612 shown in FIG. Subsequently, the menu control unit 140 acquires a style sheet. in this case,
The style sheet of the document 610 is the style sheet 614 shown in FIG. Subsequently, the menu control unit 140
Generates a menu. The menu to be generated here is the “tag” menu 722. Menu control unit 1
40, first, refers to the document type definition 612 and extracts a tag that does not violate the document type definition 612 even if a tag is inserted at the position of the cursor 712.
【0049】図15は、文書610における編集位置
と、その位置に挿入可能なタグとの関係を示す。今、カ
ーソル712は位置(4)にあるので、位置(4)に挿
入可能なタグを抽出する。位置(4)は、要素「su
b」に含まれている。文書型定義612によると、要素
「sub」が子要素として持つことができる要素は、要
素「sub」、要素「bold」、および要素「ima
ge」である。したがって、これら3つのタグが、位置
(4)に挿入可能なタグである。図15においては、こ
のような挿入可能なタグを「○」で示している。要素
「sect」および要素「parag」は、要素「su
b」の子要素になることができないので、位置(4)に
は挿入することができない。図15においては、このよ
うな挿入不可能なタグを「×」または「△」で示してい
る。「△」で示したタグは、文書修正部260による修
正処理によって、文書型定義612に適合した形式に修
正可能なタグである。「×」で示したタグは、文書修正
部260による修正処理によっても、文書型定義612
に適合した形式に修正できないタグである。文書修正部
260の動作については、図20において詳述する。FIG. 15 shows the relationship between the editing position in the document 610 and tags that can be inserted at that position. Now, since the cursor 712 is at the position (4), a tag that can be inserted at the position (4) is extracted. The position (4) corresponds to the element “su
b). According to the document type definition 612, the elements that the element “sub” can have as child elements are the element “sub”, the element “bold”, and the element “ima”.
ge ”. Therefore, these three tags are tags that can be inserted at position (4). In FIG. 15, such insertable tags are indicated by “で”. The element “sect” and the element “parag” correspond to the element “su”
Since it cannot be a child element of "b", it cannot be inserted at position (4). In FIG. 15, such non-insertable tags are indicated by “x” or “△”. The tag indicated by “△” is a tag that can be corrected to a format that conforms to the document type definition 612 by the correction processing by the document correction unit 260. The tag indicated by “x” is also stored in the document type definition 612
The tag cannot be modified to a format that conforms to. The operation of the document correction unit 260 will be described in detail with reference to FIG.
【0050】メニュー制御部140は、要素「su
b」、要素「bold」、および要素「image」が
選択可能で、要素「sect」および要素「para
g」が選択不可能となるように、タグメニュー722を
生成する。図14においては、選択不可能な要素「se
ct」および要素「parag」には、取消線が表示さ
れている。メニューのうち選択可能な項目が黒字で表示
され、選択不可能な項目が灰色で表示されても良い。こ
のとき、マウスを項目に合わせると、選択可能な項目は
反転表示されるが、選択不可能な項目は反転表示されな
い。これにより、ユーザーは、文書型定義612の内容
を知らなくても、カーソル712の位置に挿入可能なタ
グと、挿入不可能なタグを正しく認識することができ
る。また、文書型定義612を意識することなく、妥当
なXML文書を作成することができる。The menu control unit 140 includes the element "su
b ", the element" bold ", and the element" image "can be selected, and the element" sect "and the element" para "
The tag menu 722 is generated so that “g” cannot be selected. In FIG. 14, the unselectable element “se
“ct” and the element “parag” display a strike-through line. Items that can be selected from the menu may be displayed in black, and items that cannot be selected may be displayed in gray. At this time, when the mouse is moved to an item, selectable items are highlighted, but non-selectable items are not highlighted. Accordingly, the user can correctly recognize the tag that can be inserted at the position of the cursor 712 and the tag that cannot be inserted without knowing the contents of the document type definition 612. Further, an appropriate XML document can be created without being aware of the document type definition 612.
【0051】ここで、タグメニュー722の項目「im
age」の右側には、「...」が表示されている。こ
れは、項目「image」を選択すると、ダイアログが
表示されることを示している。文書型定義612の属性
リスト宣言によると、要素「image」は、必ず属性
「size」を持つ。したがって、属性「size」を
指定するためのダイアログを表示し、ユーザーに属性
「size」の指定を促す。これにより、ユーザーは、
文書型定義612を意識することなく、妥当なXML文
書を作成することができる。Here, the item “im” of the tag menu 722
“...” is displayed on the right side of “age”. This indicates that when the item "image" is selected, a dialog is displayed. According to the attribute list declaration of the document type definition 612, the element "image" always has the attribute "size". Therefore, a dialog for designating the attribute “size” is displayed, and the user is prompted to specify the attribute “size”. This allows users to
An appropriate XML document can be created without being aware of the document type definition 612.
【0052】メニュー制御部140は、さらにスタイル
シート614を参照してタグメニュー722を生成して
も良い。スタイルシート614によると、要素「sec
t」および要素「parag」は、段落タイプとしての
表示属性を持ち、要素「sub」および要素「bol
d」は、文字タイプとしての表示属性を持つ。したがっ
て、要素「sect」および要素「parag」をひと
まとまりに表示し、要素「sub」および要素「bol
d」をひとまとまりに表示しても良い。このように、表
示属性にしたがって分類表示することで、より分かりや
すく操作しやすいメニューにすることができる。The menu control section 140 may generate the tag menu 722 by further referring to the style sheet 614. According to the style sheet 614, the element “sec”
t "and the element" parag "have a display attribute as a paragraph type, and include the element" sub "and the element" bol ".
"d" has a display attribute as a character type. Therefore, the element “sect” and the element “parag” are displayed collectively, and the element “sub” and the element “bol” are displayed.
"d" may be displayed collectively. In this way, by classifying and displaying according to the display attributes, it is possible to make the menu easier to understand and operate.
【0053】図14においては、要素「sect」およ
び要素「parag」という「△」で示された要素を選
択不可能にしたが、これらの要素を選択できるようにし
ても良い。このとき、文書型定義612に適合するよう
に、文書610の階層構造を修正しても良い。階層構造
の修正を実行するか否かをユーザーに問い合わせても良
い。修正の方法については、図20において詳述する。In FIG. 14, the elements "sect" and "parag" which are indicated by "@" are not selectable, but these elements may be selectable. At this time, the hierarchical structure of the document 610 may be modified so as to conform to the document type definition 612. The user may be inquired whether or not the hierarchical structure should be modified. The correction method will be described in detail with reference to FIG.
【0054】図16は、範囲724を選択している状態
で、メニューを表示させた様子を示す。ユーザーが、範
囲724を選択してからメニューバー702の「書式」
をマウスでクリックすると、「書式」メニュー726が
表示される。ここで、さらに、項目「範囲のタグ化」に
マウス位置を合わせると、「範囲のタグ化」メニュー7
28の表示要求がメニュー制御部140に伝達される。FIG. 16 shows a state in which the menu is displayed while the range 724 is selected. The user selects the range 724 and then selects “Format” in the menu bar 702.
When is clicked with a mouse, a "Format" menu 726 is displayed. Here, when the mouse position is further moved to the item “Tag range”, the “Tag range” menu 7 is displayed.
The display request of 28 is transmitted to the menu control unit 140.
【0055】このとき、メニュー制御部140は、編集
位置を取得する。この場合、編集位置は、範囲724で
ある。続いて、メニュー制御部140は、編集位置の名
前空間を取得する。この場合、範囲724の名前空間
は、「sample」である。続いて、メニュー制御部
140は、名前空間に対応する文書型定義を取得する。
この場合、「sample」に対応する文書型定義は、
図12に示した文書型定義612である。続いて、メニ
ュー制御部140は、CSSを取得する。この場合、文
書610のCSSは、図12に示したスタイルシート6
14である。続いて、メニュー制御部140は、メニュ
ーを生成する。ここで生成すべきメニューは、「範囲の
タグ化」メニュー728である。メニュー制御部140
は、まず、文書型定義612を参照して、範囲724を
タグ化しても文書型定義612に反しないようなタグを
抽出する。At this time, the menu control section 140 acquires the editing position. In this case, the editing position is the range 724. Next, the menu control unit 140 acquires the name space of the editing position. In this case, the namespace of the range 724 is “sample”. Subsequently, the menu control unit 140 acquires a document type definition corresponding to the name space.
In this case, the document type definition corresponding to "sample" is
This is the document type definition 612 shown in FIG. Subsequently, the menu control unit 140 acquires the CSS. In this case, the CSS of the document 610 is the style sheet 6 shown in FIG.
14. Subsequently, the menu control unit 140 generates a menu. The menu to be generated here is the “tagging range” menu 728. Menu control unit 140
First, with reference to the document type definition 612, a tag that does not violate the document type definition 612 even if the range 724 is tagged is extracted.
【0056】図17は、文書610における編集範囲
と、その範囲をタグ化可能なタグとの関係を示す。今、
位置(11)から位置(12)までの範囲724が選択
されているので、この範囲のテキストデータを新たな子
要素に変換しても文書型定義612に反しないようなタ
グを抽出する。範囲724は、要素「parag」に含
まれている。文書型定義612によると、要素「par
ag」が子要素として持つことができる要素は、要素
「sub」、要素「bold」、および要素「imag
e」である。したがって、これら3つのタグが、範囲7
24をタグ化可能なタグである。要素「sect」およ
び要素「parag」は、要素「parag」の子要素
になることができないので、範囲724をこれらのタグ
にタグ化することができない。FIG. 17 shows the relationship between the editing range in the document 610 and tags whose range can be tagged. now,
Since the range 724 from the position (11) to the position (12) is selected, a tag is extracted that does not violate the document type definition 612 even if the text data in this range is converted into a new child element. The range 724 is included in the element “parag”. According to the document type definition 612, the element "par
The elements that “ag” can have as child elements are the element “sub”, the element “bold”, and the element “imag”.
e ”. Therefore, these three tags are in range 7
24 is a tag that can be tagged. Element “sect” and element “parag” cannot be child elements of element “parag”, so range 724 cannot be tagged to these tags.
【0057】メニュー制御部140は、要素「su
b」、要素「bold」、および要素「image」が
選択可能で、要素「sect」および要素「para
g」が選択不可能となるように、「範囲のタグ化」メニ
ュー728を生成する。図16においては、選択不可能
な要素「sect」および要素「parag」には、取
消線が表示されている。メニューのうち選択可能な項目
が黒字で表示され、選択不可能な項目が灰色で表示され
ても良い。このとき、マウスを項目に合わせると、選択
可能な項目は反転表示されるが、選択不可能な項目は反
転表示されない。これにより、ユーザーは、文書型定義
612の内容を知らなくても、範囲724をタグ化可能
なタグと、タグ化不可能なタグを正しく認識することが
できる。また、文書型定義612を意識することなく、
妥当なXML文書を作成することができる。The menu control unit 140 sets the element “su
b ", the element" bold ", and the element" image "can be selected, and the element" sect "and the element" para "
“Tag range” menu 728 is generated so that “g” cannot be selected. In FIG. 16, strike-through lines are displayed for the non-selectable elements “sect” and “parag”. Items that can be selected from the menu may be displayed in black, and items that cannot be selected may be displayed in gray. At this time, when the mouse is moved to an item, selectable items are highlighted, but non-selectable items are not highlighted. This allows the user to correctly recognize tags that can tag the range 724 and tags that cannot be tagged without knowing the contents of the document type definition 612. Also, without being aware of the document type definition 612,
A valid XML document can be created.
【0058】図18は、カーソル712が図13におけ
る位置(4)にあるときに、文書表示部710の中でマ
ウスを右クリックしてメニューを表示させた様子を示
す。カーソル712が図13における位置(4)にある
ときに、ユーザーがマウスの右クリックなどの動作によ
ってメニュー表示要求を発すると、「文書編集」メニュ
ー730が表示される。ここで、さらに、項目「挿入」
にマウス位置を合わせると、「挿入」メニュー720が
表示され、さらに、項目「タグ」にマウス位置を合わせ
ると、「タグ」メニュー722の表示要求がメニュー制
御部140に伝達される。このときのメニュー制御部1
40の動作については、図14において説明した動作と
同様である。FIG. 18 shows a state in which the menu is displayed by right-clicking the mouse in the document display section 710 when the cursor 712 is at the position (4) in FIG. When the user issues a menu display request by an operation such as right-clicking the mouse while the cursor 712 is at the position (4) in FIG. 13, a “document edit” menu 730 is displayed. Here, furthermore, the item "insert"
When the mouse position is adjusted to “”, an “insert” menu 720 is displayed. Further, when the mouse position is adjusted to the item “tag”, a display request for the “tag” menu 722 is transmitted to the menu control unit 140. Menu control unit 1 at this time
The operation of 40 is the same as the operation described in FIG.
【0059】このように、文書中の要素の階層構造を変
更するような編集処理を行う場合、文書型定義に反する
ような文書が生成してしまう恐れがある。このため、メ
ニュー制御部140は、文書型定義を参照して、文書型
定義に適合しない階層構造を生成する編集処理を選択で
きないようなメニューを生成する。文書型定義に適合し
ない階層構造を生成する編集処理が選択されたときに、
ユーザーに注意を喚起するような構成であっても良い。
文書型定義に適合しない階層構造を生成する編集処理が
選択されたときに、文書型定義に適合するよう階層構造
を修正しても良い。As described above, when an editing process is performed to change the hierarchical structure of elements in a document, there is a possibility that a document that is contrary to the document type definition may be generated. For this reason, the menu control unit 140 refers to the document type definition and generates a menu in which the editing process for generating a hierarchical structure that does not conform to the document type definition cannot be selected. When an editing process that generates a hierarchical structure that does not conform to the document type definition is selected,
A configuration that calls attention to the user may be used.
When an editing process that generates a hierarchical structure that does not conform to the document type definition is selected, the hierarchical structure may be modified to conform to the document type definition.
【0060】文書処理装置90が、ある特定の名前空間
のデータを処理するためのプラグインユニット500を
有していても良い。メニュー表示要求が伝達されたとき
に、そのときの編集位置に対応する名前空間のデータを
処理するためのプラグインユニット500が存在する場
合には、そのプラグインユニット500がメニューを表
示しても良い。これによれば、ユーザーは、名前空間を
意識することなく、文書中の各データを処理するのに適
したプラグインユニット500のメニューを表示させる
ことができる。The document processing device 90 may have a plug-in unit 500 for processing data in a specific name space. When the menu display request is transmitted, if there is a plug-in unit 500 for processing the data in the namespace corresponding to the editing position at that time, even if the plug-in unit 500 displays the menu, good. According to this, the user can display the menu of the plug-in unit 500 suitable for processing each data in the document without being aware of the name space.
【0061】図19は、編集適否判断部250の動作を
示すフローチャートである。編集適否判断部250は、
編集コマンド実行部210が実行する編集コマンドが、
適当か否かを判断する。前述のメニュー制御部140
は、メニュー表示時にその編集コマンドの適否を判断し
たが、編集適否判断部250は、編集コマンドの実行要
求が伝達されたときに、その編集コマンドの適否を判断
する。FIG. 19 is a flowchart showing the operation of the editing suitability judging section 250. The editing suitability determination unit 250
The editing command executed by the editing command execution unit 210 is
Determine whether it is appropriate. The aforementioned menu control unit 140
Has determined the suitability of the edit command when the menu is displayed, but the edit suitability determining unit 250 determines whether the edit command is appropriate when the execution request of the edit command is transmitted.
【0062】編集適否判断部250は、編集コマンドの
実行要求が伝達されると、その編集コマンドが階層構造
の変化を伴うか否かを判断する(S202)。テキスト
データのみの挿入、削除、変更など、階層構造の変化を
伴わないような編集処理の場合は、Nへ進み、その編集
コマンドの実行を許可する(S214)。新たな要素が
追加されたり、要素が削除されたりするような、階層構
造の変化を伴う編集処理が要求されたときは、Yへ進
み、文書型定義が取得できるか否かを判断する(S20
4)。文書型定義が取得できない場合は、Nへ進み、ア
ラーム処理を行ってユーザーに注意を喚起し(S21
0)、その編集コマンドの実行を禁止する(S21
2)。これは、文書型定義に適合しない文書を生成して
しまう恐れがあるからである。妥当なXML文書を生成
する必要がない場合は、文書型定義の取得の可否に関わ
らず、編集コマンドの実行を許可しても良い。この場
合、編集の結果生成したXML文書が適正形式であるか
否かを判断する工程を設けても良い。When the execution request of the editing command is transmitted, the editing suitability judging section 250 judges whether or not the editing command involves a change in the hierarchical structure (S202). If the editing process does not involve a change in the hierarchical structure, such as insertion, deletion, or change of only text data, the process proceeds to N and execution of the editing command is permitted (S214). When an editing process that involves a change in the hierarchical structure, such as a new element being added or an element being deleted, is requested, the process proceeds to Y, and it is determined whether a document type definition can be acquired (S20).
4). If the document type definition cannot be obtained, the process proceeds to N, performs alarm processing, and calls the user's attention (S21).
0), the execution of the editing command is prohibited (S21).
2). This is because a document that does not conform to the document type definition may be generated. If it is not necessary to generate a valid XML document, the execution of the edit command may be permitted regardless of whether the document type definition can be acquired. In this case, a step of determining whether or not the XML document generated as a result of editing is in a proper format may be provided.
【0063】S204において、文書型定義が取得でき
た場合は、Yへ進み、要求されている編集コマンドを実
行した結果生成する文書が、文書型定義に適合するか否
かを判断する(S206)。編集コマンドを実行した結
果生成する文書が、文書型定義に適合している場合は、
Yへ進み、編集コマンドの実行が許可される(S21
4)。編集コマンドを実行した結果生成する文書が、文
書型定義に適合していない場合は、Nへ進み、編集を実
行するか否かをユーザーに問い合わせる(S208)。
ユーザーが、文書型定義に適合しない文書が生成するの
を認識した上で、その編集コマンドを実行するよう要求
した場合には、編集コマンドの実行を許可する(S21
4)。このとき、文書型定義に適合するよう、階層構造
を修正しても良い。階層構造を修正するか否かをユーザ
ーに問い合わせても良い。S208において、ユーザー
が編集を実行しないと判断した場合には、Nへ進み、ア
ラーム処理が行われ(S210)、編集コマンドの実行
が禁止される(S212)。If the document type definition can be obtained in S204, the process proceeds to Y, and it is determined whether or not the document generated as a result of executing the requested editing command conforms to the document type definition (S206). . If the document generated as a result of executing the edit command conforms to the document type definition,
Proceed to Y to permit execution of the edit command (S21)
4). If the document generated as a result of executing the edit command does not conform to the document type definition, the process proceeds to N and inquires of the user whether to execute the edit (S208).
When the user recognizes that a document that does not conform to the document type definition is generated and requests to execute the edit command, the execution of the edit command is permitted (S21).
4). At this time, the hierarchical structure may be modified to conform to the document type definition. The user may be inquired whether to correct the hierarchical structure. In S208, if the user determines not to execute the editing, the process proceeds to N, an alarm process is performed (S210), and execution of the editing command is prohibited (S212).
【0064】S208において、編集を実行するか否か
をユーザーに問い合わせずに、編集を禁止しても良い。
編集を実行するか否かをユーザーに問い合わせずに、ア
ラーム処理を行った後、編集を許可しても良い。In S208, the editing may be prohibited without asking the user whether to execute the editing.
The editing may be permitted after performing the alarm processing without inquiring of the user whether or not to execute the editing.
【0065】以上のような動作により、妥当なXML文
書ではない文書が生成してしまうような編集処理が実行
されようとしたときに、ユーザーに注意を喚起し、その
編集処理を適正に禁止することができるので、ユーザー
が文書型定義を意識しなくとも、妥当なXML文書を作
成することができる。When an editing process is performed to generate a document which is not a valid XML document by the above operation, the user is alerted and the editing process is properly prohibited. Therefore, an appropriate XML document can be created without the user being aware of the document type definition.
【0066】編集の適否を判断するタイミングは、編集
コマンド実行時に限られない。例えば、編集位置が、異
なる名前空間のデータの位置に変更されたときに、それ
までの編集処理によって生成した文書が、文書型定義に
適合しているか否かを判断しても良い。また、文書に対
する処理を終了して記録媒体に保存する際に、それまで
の編集処理によって生成した文書が、文書型定義に適合
しているか否かを判断しても良い。この場合も、図19
に示した方法によって編集の適否を判断することができ
る。このように、編集コマンド実行ごとに判断するので
はなく、編集処理が終了した段階で一括して判断する方
法によれば、文書を編集しているときに一時的に文書型
定義に適合しない文書を経由してしまう場合に、アラー
ム処理を行わずに編集処理を続行することができる。The timing of judging the suitability of editing is not limited to the execution of an editing command. For example, when the editing position is changed to a data position in a different name space, it may be determined whether or not the document generated by the previous editing process conforms to the document type definition. Further, when the processing for the document is completed and stored in the recording medium, it may be determined whether or not the document generated by the previous editing processing conforms to the document type definition. Also in this case, FIG.
The appropriateness of editing can be determined by the method shown in FIG. As described above, according to the method in which the determination is not made for each execution of the editing command but is performed collectively at the stage when the editing process is completed, a document that does not conform to the document type definition while editing the document is temporarily In this case, the editing process can be continued without performing the alarm process.
【0067】図20は、文書修正部260の動作を示す
フローチャートである。文書修正部260は、編集コマ
ンドの実行によって生成した文書に修正が必要であるか
否かを判断し、修正が必要である場合には、適当な修正
を施す。FIG. 20 is a flowchart showing the operation of the document correction section 260. The document correction unit 260 determines whether or not the document generated by executing the edit command needs to be corrected, and if so, makes an appropriate correction.
【0068】まず、文書修正部260は、編集処理によ
って生成した文書が、階層構造の修正を必要とするか否
かを判断する(S252)。修正が必要でない場合に
は、Nへ進み、文書修正部260における処理を終了す
る。修正が必要である場合には、Yへ進み、修正処理を
実行するか否かをユーザーに問い合わせる(S25
4)。ユーザーが修正を実行しないと判断した場合に
は、Nへ進み、文書修正部260における処理を終了す
る。ユーザーが修正を実行すると判断した場合には、Y
へ進み、修正処理を実行する(S256)。ユーザーに
問い合わせずに、修正処理を実行しても良い。First, the document correcting section 260 determines whether or not the document generated by the editing process needs to correct the hierarchical structure (S252). If no correction is required, the process proceeds to N, and the process in the document correction unit 260 ends. If the correction is necessary, the process proceeds to Y and inquires of the user whether to execute the correction process (S25).
4). If the user determines not to execute the correction, the process proceeds to N and the processing in the document correction unit 260 ends. If the user decides to make the correction, Y
Then, a correction process is executed (S256). The correction process may be executed without asking the user.
【0069】図21(a)(b)は、文書修正部260
の動作の例を説明するための図である。図21(a)
は、図13において、位置(4)にタグ「sect」を
挿入した様子を示す。図12に示した文書型定義612
によると、要素「sub」は、要素「sect」を子要
素として持てないので、このままの状態では、文書61
0は妥当なXML文書ではない。FIGS. 21A and 21B show the document correction unit 260
FIG. 9 is a diagram for explaining an example of the operation of FIG. FIG. 21 (a)
13 shows a state where the tag “sect” is inserted at the position (4) in FIG. Document type definition 612 shown in FIG.
According to this, the element “sub” cannot have the element “sect” as a child element.
0 is not a valid XML document.
【0070】図21(b)は、図21(a)に示した文
書610を、文書型定義612に適合するように修正し
た例を示す。要素「sect」は、要素「sub」の子
要素にはなれないので、要素「sub」から上の階層へ
辿り、要素「sect」を子要素として持てるような要
素を探す。この場合、要素「sub」の直上の階層にあ
る要素(以下、単に「親要素」という)である要素「s
ect」が、要素「sect」を子要素に持つことがで
きる。そこで、要素「sect」を要素「sub」の子
要素として挿入するのではなく、要素「sect」の子
要素として挿入する。すなわち、要素「sub」を2つ
に分割して、分割した間に、要素「sect」を挿入す
る。これにより、ユーザーが要求した位置と同じ場所
に、文書型定義に適合する形で、要素「sect」を挿
入することができる。以上が、図20における修正処理
S256の詳細である。FIG. 21B shows an example in which the document 610 shown in FIG. 21A is modified so as to conform to the document type definition 612. Since the element “sect” cannot be a child element of the element “sub”, the element “sect” is traced up the hierarchy to search for an element that can have the element “sect” as a child element. In this case, the element “s” which is an element (hereinafter, simply referred to as “parent element”) in the hierarchy immediately above the element “sub”
“ect” can have an element “sect” as a child element. Therefore, instead of inserting the element “sect” as a child element of the element “sub”, the element “sect” is inserted as a child element of the element “sect”. That is, the element “sub” is divided into two, and the element “sect” is inserted between the divisions. As a result, the element “sect” can be inserted at the same position as the position requested by the user in a manner conforming to the document type definition. The above is the details of the correction processing S256 in FIG.
【0071】図15において、三角の印がついているタ
グを挿入する場合には、上記と同様な方法によって、文
書型定義に適合するように文書を修正することができ
る。例えば、位置(6)に新たにタグを挿入する場合に
ついて説明する。位置(6)は、要素「bold」に含
まれている。文書型定義612によると、要素「bol
d」は、子要素として要素「image」を持つことが
できる。他の要素を挿入するときには、文書修正部26
0による修正が必要となる。要素「sub」および要素
「bold」を挿入する場合は、要素「bold」の一
つ上の階層である要素「sub」の子要素として挿入す
ることができる。要素「sect」および要素「par
ag」を挿入する場合には、要素「bold」の二つ上
の階層である要素「sect」の子要素として挿入する
ことができる。In FIG. 15, when a tag with a triangle mark is inserted, the document can be modified to conform to the document type definition by the same method as described above. For example, a case where a new tag is inserted at the position (6) will be described. The position (6) is included in the element “bold”. According to the document type definition 612, the element "bol
"d" can have an element "image" as a child element. When inserting another element, the document correction unit 26
Correction by 0 is required. When inserting the element “sub” and the element “bold”, the element “sub” can be inserted as a child element of the element “sub” which is a layer immediately above the element “bold”. The element "sect" and the element "par
When "ag" is inserted, it can be inserted as a child element of element "sect" which is a layer two levels above element "bold".
【0072】図15において、位置(1)に新たにタグ
を挿入する場合について説明する。要素「sampl
e」が内容として持てる要素は、要素「sect」およ
び要素「parag」に限られるので、要素「su
b」、要素「bold」、および要素「image」は
位置(1)に挿入することができない。この場合は、修
正によって文書型定義612に適合させることもできな
いので、メニュー制御部140は、要素「sub」、要
素「bold」、および要素「image」を選択不可
能とする。Referring to FIG. 15, a case where a new tag is inserted at position (1) will be described. The element "sampl
Since the elements that "e" can have are limited to the element "sect" and the element "parag", the element "su"
"b", element "bold", and element "image" cannot be inserted at position (1). In this case, the menu control unit 140 cannot select the element “sub”, the element “bold”, and the element “image” because the modification cannot conform to the document type definition 612.
【0073】同様に、図17において、三角の印がつい
ている範囲をタグ化する場合には、上記と同様な方法に
よって、文書型定義に適合するように文書を修正するこ
とができる。例えば、範囲(4)〜(5)をタグ化する
場合について説明する。範囲(4)〜(5)は、要素
「sub」に含まれている。文書型定義612による
と、要素「sub」は、子要素として要素「sub」、
要素「bold」、および要素「image」を持つこ
とができる。他の要素にタグ化するときには、文書修正
部260による修正が必要となる。要素「sect」お
よび要素「parag」にタグ化する場合は、要素「s
ub」の親要素「sect」の子要素となるように、テ
キストデータ「3」を持つ要素「sect」または要素
「parag」を新たに挿入することによって、文書型
定義612に適合させることができる。Similarly, in the case where the range marked with a triangle in FIG. 17 is tagged, the document can be modified to conform to the document type definition by the same method as described above. For example, a case where the ranges (4) to (5) are tagged will be described. The ranges (4) to (5) are included in the element “sub”. According to the document type definition 612, the element “sub” has the elements “sub”,
It can have an element “bold” and an element “image”. When tagging another element, the document must be corrected by the document correction unit 260. When tagging the element “sect” and the element “parag”, the element “s
By inserting a new element “sect” or element “parag” having text data “3” so as to be a child element of the parent element “sect” of “ub”, it is possible to conform to the document type definition 612. .
【0074】図22(a)(b)は、文書修正部260
の動作の他の例を説明するための図である。図22
(a)は、文書処理装置90によって処理可能な構造化
文書の一例としての文書620の階層構造を示す。文書
620は、本体部分に、要素「ul」を3つ有する。1
番目の要素「ul」は、子要素「li」を有し、要素
「li」は、子要素「div」を有し、要素「div」
は、テキストデータ「ABC」を有する。2番目の要素
「ul」は、子要素「li」を有し、要素「li」は、
子要素「div」を有し、要素「div」は、テキスト
データ「123」を有する。3番目の要素「ul」は、
子要素「li」を有し、要素「li」は、子要素「di
v」を有し、要素「div」は、テキストデータ「ab
c」を有する。FIGS. 22A and 22B show the document correcting section 260.
FIG. 10 is a diagram for explaining another example of the operation of FIG. FIG.
10A illustrates a hierarchical structure of a document 620 as an example of a structured document that can be processed by the document processing device 90. The document 620 has three elements “ul” in the main body. 1
The element "ul" has a child element "li", the element "li" has a child element "div", and the element "div"
Has text data “ABC”. The second element “ul” has a child element “li”, and the element “li”
It has a child element “div”, and the element “div” has text data “123”. The third element "ul" is
It has a child element “li”, and the element “li” has a child element “di”.
v ", and the element" div "has text data" ab ".
c ".
【0075】図22(b)は、文書620を表示装置6
2に表示させた様子を示す。表示装置620の画面70
0の文書表示部710には、文書620をレンダリング
した結果が表示されている。要素「ul」は、箇条書き
として表示されるように表示属性が設定されているの
で、3つの要素「ul」の内容は、それぞれ「・」を付
加された形で表示されている。今、ユーザーが、マウス
などの入力装置60を用いて、範囲730を選択してい
る。FIG. 22B shows a case where the document 620 is displayed on the display device 6.
2 shows the state displayed. Screen 70 of display device 620
The result of rendering the document 620 is displayed in the document display unit 710 of the “0”. Since the display attribute is set so that the element “ul” is displayed as an itemized list, the contents of the three elements “ul” are displayed with “•” added thereto. Now, the user has selected the range 730 using the input device 60 such as a mouse.
【0076】図23(a)(b)は、図22(b)にお
いて、選択された範囲を削除する編集コマンドが実行さ
れたときの、文書修正部260の動作を説明するための
図である。図22(b)において、範囲730を削除す
る編集コマンドが実行されたとき、図23(a)におけ
る位置(x1)から位置(x2)までの範囲が削除され
ることになる。このようなDOM操作を行うことは、構
造化文書に対する処理として適当でない。したがって、
本実施形態においては、文書修正部260が、位置(y
1)から位置(y2)までの範囲を削除するよう、DO
Mエンジン220へ指示する。すなわち、2番目の要素
「ul」が削除される。FIGS. 23A and 23B are diagrams for explaining the operation of the document correcting section 260 when an edit command for deleting the selected range is executed in FIG. 22B. . In FIG. 22B, when an edit command for deleting the range 730 is executed, the range from the position (x1) to the position (x2) in FIG. 23A is deleted. Performing such a DOM operation is not appropriate as processing for a structured document. Therefore,
In the present embodiment, the document correction unit 260 determines the position (y
DO to delete the range from 1) to position (y2)
An instruction is given to the M engine 220. That is, the second element “ul” is deleted.
【0077】図23(b)は、上記の操作が行われた後
に、文書620を表示装置62に表示させた様子を示
す。文書修正部260による修正処理によって、ユーザ
ーの意図した操作を実現することができる。FIG. 23B shows a state where the document 620 is displayed on the display device 62 after the above operation is performed. The operation intended by the user can be realized by the correction processing by the document correction unit 260.
【0078】図24は、位置情報保持部240のデータ
構成を示す。位置情報保持部240は、カーソル位置、
選択範囲の始点、選択範囲の終点、しおり位置など、構
造化文書における位置情報を保持する。位置情報は、そ
の位置が含まれる要素の情報と、その要素内におけるオ
フセット情報とを含む。FIG. 24 shows the data structure of the position information holding unit 240. The position information holding unit 240 includes a cursor position,
Holds position information in the structured document, such as the start point of the selection range, the end point of the selection range, and the bookmark position. The position information includes information of an element including the position and offset information within the element.
【0079】図25は、図7に示した構造化文書600
を、表示装置62に表示させた様子を示す。今、2つの
範囲732、734が選択されており、カーソルは位置
712にある。範囲732は、構造化文書600の1番
目の要素「div」のうち、1文字目の後ろから、3文
字目の後ろまでに対応する。したがって、図24におい
て、範囲1始点の要素情報には、1番目の要素「di
v」が格納されており、範囲1始点のオフセット情報に
は、「1」が格納されている。範囲1終点の要素情報に
は、1番目の要素「div」が格納されており、範囲1
終点のオフセット情報には、「3」が格納されている。
他の位置情報についても、これと同様である。しおり位
置は、画面700上には表示されていないが、文書の他
の位置からジャンプするためのしおりとして用いられる
情報である。FIG. 25 shows the structured document 600 shown in FIG.
Is displayed on the display device 62. Now, two ranges 732, 734 have been selected and the cursor is at position 712. The range 732 corresponds to the first element “div” of the structured document 600 from the first character to the third character. Therefore, in FIG. 24, the first element “di
“v” is stored, and “1” is stored in the offset information of the start point of the range 1. The element information of the end point of the range 1 stores the first element “div”, and the range 1
“3” is stored in the offset information of the end point.
The same applies to other position information. The bookmark position is information that is not displayed on the screen 700 but is used as a bookmark for jumping from another position in the document.
【0080】図26は、位置情報保持部240の位置情
報を自動更新するための方法を示すフローチャートであ
る。まず、ユーザーによって、しおり位置が指定された
り、範囲が選択されたり、カーソル位置が移動されたり
すると、新たな位置情報が位置情報保持部240に登録
される(S302)。続いて、文書600を編集するコ
マンドが実行される(S304)。編集コマンドが実行
されると、その編集コマンドによる編集操作の対象とな
る要素が、位置情報が登録されているノードに対応して
いれば、S306のYへ進み、位置情報の自動補正が実
行される(S308)。そうでない場合は、S306の
Nへ進み、位置情報は自動補正されない。FIG. 26 is a flowchart showing a method for automatically updating the position information of position information holding section 240. First, when a bookmark position is designated, a range is selected, or a cursor position is moved by a user, new position information is registered in the position information holding unit 240 (S302). Subsequently, a command for editing the document 600 is executed (S304). When the editing command is executed, if the element to be edited by the editing command corresponds to a node whose position information is registered, the process proceeds to Y in S306, and the position information is automatically corrected. (S308). Otherwise, the process proceeds to N in S306, and the position information is not automatically corrected.
【0081】図27(a)(b)は、図26に示した位
置情報の自動補正方法の具体例を示す。図27(a)
は、要素「div」のテキストデータのうち、4文字目
の後ろに位置情報が登録されている場合に、要素「di
v」のテキストデータの2文字目の後ろの位置で改行処
理が行われたときの例を示す。このとき、編集コマンド
実行部210が、改行処理を実行すると同時に、位置情
報保持部240に保持された位置情報を自動補正する。
この場合、登録されていた、要素「div」のテキスト
データのうち、4文字目の後ろという位置は、新たに追
加された2番目の要素「div」のテキストデータのう
ち、2文字目の後ろという位置へ移動しているので、そ
の位置へ自動補正される。FIGS. 27A and 27B show a specific example of the method for automatically correcting the position information shown in FIG. FIG. 27 (a)
Indicates that, when the position information is registered after the fourth character in the text data of the element “div”, the element “di”
An example when a line feed process is performed at a position after the second character of the text data of "v" is shown. At this time, the edit command execution unit 210 executes the line feed process and, at the same time, automatically corrects the position information held in the position information holding unit 240.
In this case, the position after the fourth character in the registered text data of the element “div” is positioned behind the second character of the newly added text data of the second element “div”. Is automatically corrected to that position.
【0082】図27(b)は、要素「div」のテキス
トデータのうち、4文字目の後ろに位置情報が登録され
ている場合に、要素「div」のテキストデータの2文
字目の後ろから5文字目の後ろまでが削除されたときの
例を示す。このとき、編集コマンド実行部210が、選
択範囲を削除する処理を実行すると同時に、位置情報保
持部240に保持された位置情報を自動補正する。この
場合、登録されていた、要素「div」のテキストデー
タのうち、4文字目の後ろという位置は、すでに消失し
ているので、要素「div」のテキストデータのうち、
2文字目の後ろへ自動補正する。FIG. 27B shows the case where the position information is registered after the fourth character of the text data of the element “div”, and the position data is registered after the second character of the text data of the element “div”. This shows an example in which the part up to the fifth character is deleted. At this time, the edit command execution unit 210 executes the process of deleting the selection range, and at the same time, automatically corrects the position information held in the position information holding unit 240. In this case, since the position after the fourth character in the registered text data of the element “div” has already disappeared, the text data of the element “div”
Automatic correction after the second character.
【0083】上記のように、位置情報保持部240に保
持された位置情報は、その位置情報が登録されたノード
の編集操作に伴って自動的に補正されるので、カーソル
712や選択範囲などの表示を自動的に更新することが
できる。また、位置情報が、DOMエンジン220の操
作によって自動更新されるので、複数のユーザーによっ
て一つの文書を編集する際に、他のユーザーによって編
集処理が行われた場合にも、自動的に位置情報を更新す
ることができる。また、文書を編集する機能を有するプ
ラグインユニット500を開発する場合にも、DOMエ
ンジン220が自動的に位置情報を更新するので、位置
情報を気にすることなく文書に対する処理を行うことが
できる。As described above, the position information held in the position information holding unit 240 is automatically corrected with the editing operation of the node in which the position information is registered. The display can be updated automatically. Further, since the position information is automatically updated by the operation of the DOM engine 220, even when editing a document by a plurality of users, if the editing process is performed by another user, the position information is automatically updated. Can be updated. Also, when developing a plug-in unit 500 having a function of editing a document, the DOM engine 220 automatically updates the position information, so that processing on the document can be performed without worrying about the position information. .
【0084】図28(a)(b)は、編集処理によって
文書が処理されたことを、表示ユニット300に伝達す
るためのミューテーションイベントについて説明するた
めの図である。図28(a)は、要素「div」のテキ
ストデータ「あいうえお」のうち、「うえお」が削除さ
れたときの例を示す。このとき、DOMエンジン220
は、表示ユニット300に、要素「div」のテキスト
データが変更されたことを通知するためのミューテーシ
ョンイベントを発行する。FIGS. 28A and 28B are diagrams for explaining a mutation event for transmitting to the display unit 300 that the document has been processed by the editing process. FIG. 28A shows an example in which “Ueo” is deleted from the text data “Aiueo” of the element “div”. At this time, the DOM engine 220
Issues a mutation event to notify the display unit 300 that the text data of the element “div” has been changed.
【0085】図28(b)は、要素「div」のテキス
トデータ「あいうえお」のうち、「い」の後ろの位置で
改行キーが押下されたときの例を示す。このとき、編集
コマンド実行部210は、まず、要素「div」のテキ
ストデータのうち、「うえお」を削除する。続いて、新
たな2番目の要素「div」を元の1番目の要素「di
v」の後ろに追加する。続いて、2番目の要素「di
v」のテキストデータとして、「うえお」を追加する。
このとき、編集コマンド実行部210は、DOMエンジ
ン220に、以上の3つの操作のそれぞれについてミュ
ーテーションイベントを発行させるのではなく、1番目
の要素「div」が更新されたことを通知するミューテ
ーションイベントと、2番目の要素「div」が挿入さ
れたことを通知するミューテーションイベントとを発行
させる。これによれば、無駄なミューテーションイベン
トの発行を防ぐことができ、ひいては、処理を高速化す
ることができる。FIG. 28B shows an example in which the line feed key is pressed at the position after "i" in the text data "aiueo" of the element "div". At this time, the edit command execution unit 210 first deletes “Ueo” from the text data of the element “div”. Subsequently, the new second element “div” is replaced with the original first element “di”.
v ". Then, the second element “di
“Ueo” is added as text data of “v”.
At this time, the edit command execution unit 210 does not cause the DOM engine 220 to issue a mutation event for each of the three operations described above, but notifies the DOM engine 220 that the first element “div” has been updated. An event and a mutation event notifying that the second element “div” has been inserted are issued. According to this, it is possible to prevent useless issuance of the mutation event, and to speed up the processing.
【0086】上記のように、編集コマンド実行部210
は、1つの編集コマンドを実行する際に複数のDOM操
作を行うときでも、複数のミューテーションイベントを
1つにまとめて発行する。これにより、処理を高速化す
ることができる。一般に、操作の行われた要素群を全て
包括する最も小さい要素を抽出し、その要素が更新され
たことを通知するミューテーションイベントを発行すれ
ば良い。操作の行われた要素群を全て包括するような要
素が、非常に多くの内容を有している場合には、その要
素全てを再レンダリング処理するのに多大な時間を要す
るので、実際に処理された各要素について、個別にミュ
ーテーションイベントを発行しても良い。As described above, the edit command execution unit 210
Issues a plurality of mutation events collectively even when performing a plurality of DOM operations when executing one editing command. Thereby, the processing can be speeded up. In general, it is sufficient to extract the smallest element that includes all the operated element groups and issue a mutation event that notifies that the element has been updated. If an element that encompasses all the elements that have been operated on has a very large amount of content, it takes a lot of time to re-render all of the elements. A mutation event may be individually issued for each of the performed elements.
【0087】図29は、取消再実行処理制御ユニット4
00の構成を示す。取消再実行処理制御ユニット400
は、取消処理および再実行処理を実行するための取消再
実行処理保持部408および現在の処理状態を保持する
処理状態保持部406を備える。取消再実行処理保持部
408は、コマンド410に含まれる各処理およびその
逆処理をメソッドとして有するオブジェクトを、処理の
順に保持する。図29においては、説明の便宜上、取消
再実行処理保持部408に保持されたオブジェクトに含
まれている、取消処理を実行するためのメソッド402
と、再実行処理を実行するためのメソッド404とを、
別個の枠で示している。各種コマンド410が実行され
たときに、そのコマンドが、取消処理が可能なコマンド
であれば、そのコマンド410の中の一つ一つの操作を
メソッドとして有するオブジェクトが順に取消再実行処
理保持部408へ積まれていく。このとき、コマンド4
10がどの操作からどの操作までに対応するのかという
情報も記憶される。FIG. 29 shows the cancellation / re-execution processing control unit 4
00 is shown. Cancel re-execution processing control unit 400
Includes a cancellation / re-execution processing holding unit 408 for executing the cancellation processing and the re-execution processing, and a processing state holding unit 406 for holding the current processing state. The cancellation / re-execution processing holding unit 408 holds objects having each process included in the command 410 and its reverse process as a method in the order of the processes. In FIG. 29, for convenience of explanation, a method 402 for executing the cancellation process included in the object held in the cancellation / re-execution process holding unit 408 is illustrated.
And a method 404 for executing re-execution processing,
It is shown in a separate box. When the various commands 410 are executed, if the command is a command that can be canceled, objects having each operation in the command 410 as a method are sequentially sent to the cancellation / re-execution processing holding unit 408. Pile up. At this time, command 4
Information indicating which operation 10 corresponds to which operation is also stored.
【0088】ユーザーインターフェース100を介して
取消処理の実行要求が伝達されると、取消再実行処理制
御ユニット400は、取消再実行処理保持部408に保
持されたオブジェクトのうち取消処理のためのメソッド
を、最新の操作から、スタックされた順番と逆順に、1
コマンド分だけ実行する。このとき、処理状態保持部4
06は、1コマンド分だけ移動される。続いて、さら
に、取消処理の実行要求が伝達されると、さらに取消再
実行処理保持部408に保持されたオブジェクトのうち
取消処理のためのメソッドを、処理状態保持部406の
位置から、スタックされた順番と逆順に、1コマンド分
だけ実行する。再実行処理の実行要求が伝達されたとき
は、取消再実行処理保持部408に保持されたオブジェ
クトのうち再実行処理のためのメソッドを、処理状態保
持部406の位置から、スタックされた順番と同じ順番
に、1コマンド分だけ実行する。When the execution request of the cancellation processing is transmitted via the user interface 100, the cancellation / reexecution processing control unit 400 executes the method for the cancellation processing among the objects held in the cancellation / reexecution processing holding unit 408. , From the latest operation, in the reverse order of stacking,
Execute only commands. At this time, the processing state holding unit 4
06 is moved by one command. Subsequently, when a cancellation processing execution request is further transmitted, a method for cancellation processing among the objects held in the cancellation / reexecution processing holding unit 408 is further stacked from the position of the processing state holding unit 406. The command is executed for one command in the reverse order. When the execution request of the re-execution processing is transmitted, the method for the re-execution processing among the objects held in the cancellation / re-execution processing holding unit 408 is changed from the position of the processing state holding unit 406 to the stacking order. Execute only one command in the same order.
【0089】図30(a)(b)は、取消再実行処理制
御ユニット400の動作を説明するための図である。図
30(a)は、編集コマンド実行部210によって、文
書中の要素「div」のテキストデータ「あいう」のう
ち、「い」の後ろの位置に、テキストデータ「かき」を
挿入するコマンドが実行される様子を示す。このコマン
ドが実行された結果、要素「div」のテキストデータ
は、「あいかきう」に変更される。FIGS. 30A and 30B are diagrams for explaining the operation of the cancellation / re-execution processing control unit 400. FIG. FIG. 30A shows that the edit command execution unit 210 executes a command to insert the text data “Kaki” at the position after “I” in the text data “Ai” of the element “Div” in the document. This is shown. As a result of executing this command, the text data of the element “div” is changed to “Aikaki”.
【0090】図30(b)は、図30(a)に示したコ
マンド中の各操作を実行するためのオブジェクトが、取
消再実行処理保持部408に積まれた様子を示す。1番
目のオブジェクトは、取消処理が実行されたときに、カ
ーソル位置が元の位置に戻るようにするために、カーソ
ル位置を「う」の前に移動する操作を、アンドゥメソッ
ド402として有する。再実行する際には、この操作の
逆操作は実行する必要がないので、リドゥメソッド40
4は何もしない空の操作である。続いて、編集コマンド
実行部210は、コマンドの実行中に他の操作によって
画面が変更されることがないように、表示ユニット30
0に画面をロックするよう要求する。このとき、2番目
に積まれるオブジェクトは、ビューをロックする操作を
リドゥメソッド404として有し、その逆操作に対応す
るビューのロックを解除する操作をアンドゥメソッド4
02として有する。FIG. 30B shows a state in which objects for executing each operation in the command shown in FIG. 30A are stored in the cancellation / re-execution processing holding unit 408. The first object has, as an undo method 402, an operation of moving the cursor position before "U" in order to return the cursor position to the original position when the cancellation processing is executed. When re-executing, there is no need to perform the reverse operation of this operation.
4 is an empty operation that does nothing. Subsequently, the editing command execution unit 210 controls the display unit 30 so that the screen is not changed by another operation during execution of the command.
Requests that the screen be locked to zero. At this time, the object to be stacked second has an operation for locking the view as a redo method 404, and an operation for unlocking the view corresponding to the reverse operation is an undo method 4
02.
【0091】続いて、取消処理が実行されたときに、画
面が元の状態に戻るようにするために、要素「div」
のテキストデータが更新されたというミューテーション
イベントを発行する操作をアンドゥメソッド402とし
て有するオブジェクトを、取消再実行処理保持部408
に積む。再実行する際には、この操作の逆操作は実行す
る必要がないので、リドゥメソッド404は空の操作で
ある。続いて、DOMエンジン220は、要素「di
v」のテキストデータを「あいう」から「あいかきう」
に変更する。このとき、要素「div」のテキストデー
タを「あいう」から「あいかきう」に変更する操作をリ
ドゥメソッド404として有し、その逆操作に対応する
要素「div」のテキストデータを「あいかきう」から
「あいう」に変更する操作をアンドゥメソッド402と
して有するオブジェクトが、取消再実行処理保持部40
8に積まれる。Subsequently, in order to return the screen to the original state when the cancellation processing is executed, the element "div"
The object having the operation of issuing the mutation event indicating that the text data has been updated as the undo method 402 is stored in the cancellation / reexecution processing holding unit 408.
Pile on. At the time of re-execution, there is no need to perform the reverse operation of this operation, so the redo method 404 is an empty operation. Subsequently, the DOM engine 220 outputs the element “di
"v" text data from "Ai" to "Aikakiu"
Change to At this time, the redo method 404 has an operation of changing the text data of the element “div” from “Aoi” to “Aikaki”, and the text data of the element “div” corresponding to the reverse operation is “Aikaki”. The object having the operation of changing from "" to "" as the undo method 402 is
Stacked on 8.
【0092】続いて、編集コマンド実行部210は、要
素「div」のテキストデータが更新されたというミュ
ーテーションイベントを発行し、表示ユニット300に
伝達する。このとき、この操作をリドゥメソッド404
として有するオブジェクトが取消再実行処理保持部40
8に積まれる。取消処理を実行する際には、この操作の
逆操作は実行する必要がないので、アンドゥメソッド4
04は空の操作である。続いて、編集コマンド実行部2
10は、ビューのロックを解除するよう、表示ユニット
300に指示する。このとき、この操作をリドゥメソッ
ド404として有し、この操作の逆操作に対応する、ビ
ューをロックする操作をアンドゥメソッド402として
有するオブジェクトが、取消再実行処理保持部408に
積まれる。Subsequently, the edit command execution unit 210 issues a mutation event indicating that the text data of the element “div” has been updated, and transmits the mutation event to the display unit 300. At this time, this operation is performed using the redo method 404.
Object held as the cancellation / re-execution processing holding unit 40
Stacked on 8. When executing the cancellation process, there is no need to perform the reverse operation of this operation.
04 is an empty operation. Then, the edit command execution unit 2
10 instructs the display unit 300 to unlock the view. At this time, an object having this operation as the redo method 404 and having an operation to lock the view as the undo method 402 corresponding to the reverse operation of this operation is loaded on the cancellation / reexecution processing holding unit 408.
【0093】最後に、編集コマンド実行部210は、カ
ーソル位置を「う」の前に移動する。このとき、この操
作をリドゥメソッド404として有するオブジェクト
が、取消再実行処理保持部408に積まれる。取消処理
を実行する際には、この操作の逆操作は実行する必要が
ないので、アンドゥメソッド404は空の操作である。
以上のように、取消再実行処理保持部408には、コマ
ンドの中の各操作をリドゥメソッド404として有し、
その逆操作をアンドゥメソッド402として有するオブ
ジェクトが、順に積まれていく。編集コマンドが実行さ
れるときには、主にDOM操作を一つの単位として処理
するためのオブジェクトが、取消再実行処理保持部40
8に積まれていく。Finally, the edit command execution section 210 moves the cursor position to a position before "U". At this time, an object having this operation as the redo method 404 is loaded on the cancellation / reexecution processing holding unit 408. When executing the canceling process, it is not necessary to perform the reverse operation of this operation, so the undo method 404 is an empty operation.
As described above, the cancellation / re-execution processing holding unit 408 has each operation in the command as the redo method 404,
Objects having the reverse operation as an undo method 402 are sequentially stacked. When the editing command is executed, an object for mainly processing the DOM operation as one unit is stored in the cancellation / re-execution processing holding unit 40.
8 is piled up.
【0094】図30(b)の説明では、アンドゥ操作と
リドゥ操作とをメソッドとして有するオブジェクトを一
つ一つの記憶単位として、取消再実行処理保持部408
に積んだ場合について説明したが、アンドゥスタック4
02とリドゥスタック404とを別個に設けても良い。
このとき、アンドゥ操作を実行するオブジェクトがアン
ドゥスタック402に積まれていき、リドゥ操作を実行
するオブジェクトがリドゥスタック402に積まれてい
く。In the description of FIG. 30B, an object having an undo operation and a redo operation as methods is set as one storage unit, and the cancellation / reexecution processing holding unit 408 is used.
Was explained in the case of undo stack 4
02 and the redo stack 404 may be provided separately.
At this time, objects for executing the undo operation are stacked on the undo stack 402, and objects for executing the redo operation are stacked on the redo stack 402.
【0095】以上のような構成によれば、コマンド毎に
取消処理を用意する必要がないので、新たなコマンドを
開発する際に手間を減らすことができる。取消再実行処
理制御ユニット400は、プラグインユニット500に
よって実行されたコマンドの取消再実行処理も制御でき
るので、プラグインユニット500を開発する際に、取
消処理を用意する必要が無く、開発を容易にすることが
できる。According to the above configuration, since it is not necessary to prepare a canceling process for each command, it is possible to reduce the trouble when developing a new command. The cancellation / re-execution processing control unit 400 can also control the cancellation / re-execution processing of the command executed by the plug-in unit 500. Therefore, when the plug-in unit 500 is developed, there is no need to prepare the cancellation processing, and the development is facilitated. Can be
【0096】図31は、表示ユニット300における動
作を概略的に示したフローチャートである。表示ユニッ
ト300に、編集ユニット200からミューテーション
イベントが伝達されると、まず、レンダリングユニット
選択部310が、表示すべきデータの名前空間を取得す
る(S402)。続いて、レンダリングユニット選択部
310は、取得した名前空間のデータをレンダリングす
るレンダリングユニットを選択する(S404)。適当
なレンダリングユニットがある場合は、Yへ進み、その
レンダリングユニットへレンダリング処理を実行するよ
う指示を送り、レンダリング処理が行われ(S40
6)、その結果を表示部340が表示装置62に表示す
る(S410)。適当なレンダリングユニットがない場
合は、Nへ進み、ツリー表示処理部330がツリー表示
処理を行い(S408)、その結果を表示部340が表
示装置62に表示する(S410)。FIG. 31 is a flowchart schematically showing the operation of the display unit 300. When the mutation event is transmitted from the editing unit 200 to the display unit 300, first, the rendering unit selection unit 310 acquires a namespace of data to be displayed (S402). Subsequently, the rendering unit selection unit 310 selects a rendering unit that renders the acquired namespace data (S404). If there is an appropriate rendering unit, the process proceeds to Y, where an instruction to execute the rendering process is sent to the rendering unit, and the rendering process is performed (S40).
6), the display unit 340 displays the result on the display device 62 (S410). If there is no suitable rendering unit, the process proceeds to N, the tree display processing unit 330 performs tree display processing (S408), and the display unit 340 displays the result on the display device 62 (S410).
【0097】図32は、レンダリングユニット選択部3
10およびツリー表示処理部330を説明するために用
いる構造化文書630を示す。文書630は、XHTM
Lで記述された部分632およびMATHMLで記述さ
れた部分634を含む。MATHMLは、数学分野で用
いられる記号や式を記述するためのマークアップ言語で
ある。FIG. 32 shows the rendering unit selection unit 3.
10 shows a structured document 630 used to explain the tree display processing unit 330 and the tree display processing unit 330. Document 630 is XHTM
L and a portion 634 described in MATHML. MATHML is a markup language for describing symbols and expressions used in the mathematical field.
【0098】図33は、MATHMLで記述された文書
を処理するためのMATHMLプラグインユニット51
0を有する文書処理装置90によって構造化文書630
をレンダリング処理し、表示装置62に表示した例を示
す。表示ユニット300に文書630の表示要求が伝達
されると、レンダリングユニット選択部310は、レン
ダリング部320に、XHTMLで記述された部分63
2をレンダリング処理するよう指示し、MATHMLプ
ラグインユニット510に、MATHMLで記述された
部分634をレンダリング処理するよう指示する。レン
ダリング部320は、XHTMLで記述された部分63
2のレンダリング処理を行い、画面を作成する。MAT
HMLプラグインユニット510は、MATHMLで記
述された部分634のレンダリング処理を行い、画面を
作成する。表示部340は、それぞれの画面を表示装置
62に表示する。FIG. 33 shows a MATHML plug-in unit 51 for processing a document described in MATHML.
0 by the document processing device 90 having the
This shows an example in which rendering processing is performed and displayed on the display device 62. When the display request of the document 630 is transmitted to the display unit 300, the rendering unit selection unit 310 causes the rendering unit 320 to send the portion 63 described in XHTML.
2 and instructs the MATHML plug-in unit 510 to render the portion 634 described in MATHML. The rendering unit 320 converts the part 63 described in XHTML
2 is performed to create a screen. MAT
The HML plug-in unit 510 performs a rendering process on the part 634 described in MATML to create a screen. The display unit 340 displays each screen on the display device 62.
【0099】図34は、MATHMLで記述された文書
を処理するためのMATHMLプラグインユニット51
0を有しない文書処理装置90によって構造化文書63
0をレンダリング処理し、表示装置62に表示した例を
示す。表示ユニット300に文書630の表示要求が伝
達されると、レンダリングユニット選択部310は、レ
ンダリング部320に、XHTMLで記述された部分6
32をレンダリング処理するよう指示する。この場合、
MATHMLで記述された部分634をレンダリング処
理するためのプラグインユニット500は搭載されてい
ない。レンダリングユニット選択部310は、MATH
MLで記述された部分632を表示するためのスタイル
シートが取得できるか否かを判断する。スタイルシート
が取得できれば、レンダリング部320にレンダリング
処理を行うよう指示する。スタイルシートが取得できな
ければ、ツリー表示処理部330に、ツリー表示処理を
行うよう指示する。FIG. 34 shows a MATHML plug-in unit 51 for processing a document described in MATHML.
0 by the document processing apparatus 90 having no
This shows an example in which 0 is rendered and displayed on the display device 62. When the display request of the document 630 is transmitted to the display unit 300, the rendering unit selection unit 310 causes the rendering unit 320 to send the part 6 described in XHTML.
32 for rendering processing. in this case,
The plug-in unit 500 for rendering the portion 634 described in MATHML is not mounted. The rendering unit selection unit 310
It is determined whether a style sheet for displaying the portion 632 described in ML can be obtained. If the style sheet can be obtained, the rendering unit 320 is instructed to perform the rendering process. If the style sheet cannot be obtained, the tree display processing unit 330 is instructed to perform tree display processing.
【0100】レンダリング部320は、XHTMLで記
述された部分632のレンダリング処理を行い、画面を
作成する。ツリー表示処理部330は、MATHMLで
記述された部分634を階層構造が分かる形で表示する
ための処理を行い、画面を作成する。表示部340は、
それぞれの画面を表示装置62に表示する。図34にお
いては、MATHMLで記述された部分634は、文書
表示部710内に設けられたウインドウ730に、ツリ
ー表示されている。The rendering unit 320 performs a rendering process on the portion 632 described in XHTML to create a screen. The tree display processing unit 330 performs processing for displaying the portion 634 described in MATHML in a form in which the hierarchical structure can be understood, and creates a screen. The display unit 340
Each screen is displayed on the display device 62. In FIG. 34, a portion 634 described in MATHML is displayed as a tree in a window 730 provided in the document display unit 710.
【0101】このとき、ウインドウ730内に表示され
たデータの編集を禁止しても良い。図19において説明
したように、編集適否判断部250が編集を許可した場
合に限って、ウインドウ730内に表示されたデータの
編集処理を行っても良い。階層構造の変化を伴う編集処
理を禁止しても良い。階層構造の変化を伴わないよう
な、テキストデータのみの編集処理を許可しても良い。At this time, editing of the data displayed in the window 730 may be prohibited. As described with reference to FIG. 19, the editing process of the data displayed in the window 730 may be performed only when the editing propriety determining unit 250 permits the editing. Editing processing involving a change in the hierarchical structure may be prohibited. An editing process of only text data that does not involve a change in the hierarchical structure may be permitted.
【0102】図35は、MATHMLで記述された部分
634を、スクロールバーのついたウインドウ730に
表示した例を示す。ウインドウ730は、表示属性が不
明なMATHMLで記述された部分634を、スクロー
ル可能に設けられている。これにより、表示属性不明デ
ータが非常に多い場合であっても、限られた領域の中に
全てのデータを表示することができる。FIG. 35 shows an example in which a portion 634 described in MATHML is displayed in a window 730 with a scroll bar. The window 730 is provided so as to be able to scroll a portion 634 described in MATHML whose display attribute is unknown. As a result, even when the display attribute unknown data is very large, all data can be displayed in a limited area.
【0103】図36は、MATHMLで記述された部分
634のソースを、スクロールバーのついたウインドウ
730に表示した例を示す。このように、文書をそのま
まの形をで表示した場合でも、ユーザーは文書の階層構
造を知ることができる。FIG. 36 shows an example in which the source of the portion 634 described in MATHML is displayed in a window 730 with a scroll bar. As described above, even when the document is displayed as it is, the user can know the hierarchical structure of the document.
【0104】以上の構成によれば、独自のタグセットに
よって記述された、表示属性が不明なデータが文書中に
あっても、それを階層構造が分かる形で文書表示部71
0内に表示することによって、文書の内容を分かりやす
く表示することができる。According to the above configuration, even if data having unknown display attributes described in a unique tag set is present in a document, the data is displayed in the document display unit 71 in a form in which the hierarchical structure can be understood.
By displaying the content in 0, the contents of the document can be displayed in an easily understandable manner.
【0105】図37は、スタイル設定部322の動作を
示すフローチャートである。スタイル設定部322は、
スタイルシートに記述された、各要素の満たすべき表示
属性を設定する。スタイル設定部322は、まず、デフ
ォルトスタイルシートを取得して、デフォルトスタイル
シートに記述された表示属性を設定する(S502)。
デフォルトスタイルシートは、文書処理装置90の初期
設定を規定したスタイルシートであり、ユーザーが表示
属性を指定しなかったときに適用される。FIG. 37 is a flowchart showing the operation of the style setting section 322. The style setting unit 322
Set the display attributes to be satisfied by each element described in the style sheet. First, the style setting unit 322 acquires a default style sheet and sets display attributes described in the default style sheet (S502).
The default style sheet is a style sheet that defines initial settings of the document processing apparatus 90, and is applied when the user does not specify a display attribute.
【0106】続いて、スタイル設定部322は、ユーザ
ースタイルシートに記述された表示属性を上書き設定す
る(S504)。ユーザースタイルシートは、文書処理
装置90を使用するユーザーが初期設定として規定した
スタイルシートであり、文書内に表示属性を指定しなか
ったときに適用される。ユーザースタイルシートに記述
された表示属性は、上書き設定されるので、デフォルト
スタイルシートに記述された表示属性よりも優先され
る。ユーザースタイルシートに記述されていない表示属
性については、デフォルトスタイルシートに記述された
表示属性が適用される。Subsequently, the style setting section 322 overwrites the display attribute described in the user style sheet (S504). The user style sheet is a style sheet defined as an initial setting by a user using the document processing apparatus 90, and is applied when a display attribute is not specified in a document. Since the display attributes described in the user style sheet are overwritten, they take precedence over the display attributes described in the default style sheet. For display attributes not described in the user style sheet, the display attributes described in the default style sheet are applied.
【0107】続いて、スタイル設定部322は、オーサ
ースタイルシートが指定されているか否かを判断する
(S506)。オーサースタイルシートが指定されてい
る場合は、Yへ進み、オーサースタイルシートに記述さ
れた表示属性を上書き設定する(S508)。オーサー
スタイルシートは、文書を編集した著者が文書全体に適
用される表示属性として規定したスタイルシートであ
り、文書内の要素に表示属性を指定しなかったときに適
用される。オーサースタイルシートに記述された表示属
性は、上書き設定されるので、デフォルトスタイルシー
トおよびユーザースタイルシートに記述された表示属性
よりも優先される。オーサースタイルシートに記述され
ていない表示属性については、デフォルトスタイルシー
トまたはユーザースタイルシートに記述された表示属性
が適用される。オーサースタイルシートが指定されてい
ない場合は、Nへ進み、表示属性の設定肯定は省略さ
れ、S510へ進む。Next, the style setting section 322 determines whether or not an author style sheet has been designated (S506). If the author style sheet has been specified, the process proceeds to Y and overwrites the display attributes described in the author style sheet (S508). The author style sheet is a style sheet defined as a display attribute applied to the entire document by the author who edited the document, and is applied when a display attribute is not specified for an element in the document. Since the display attributes described in the author style sheet are overwritten, they take precedence over the display attributes described in the default style sheet and the user style sheet. For display attributes not described in the author style sheet, display attributes described in the default style sheet or user style sheet are applied. If the author style sheet has not been specified, the process proceeds to N, the affirmative setting of the display attribute is omitted, and the process proceeds to S510.
【0108】続いて、スタイル設定部322は、要素に
表示属性が指定されているか否かを判断する(S51
0)。要素に表示属性が指定されている場合は、Yへ進
み、オーサースタイルシートに記述された表示属性を上
書き設定する(S512)。要素に直接指定された表示
属性は、上書き設定されるので、全てのスタイルシート
に記述された表示属性よりも優先される。要素に表示属
性が指定されていない場合は、デフォルトスタイルシー
ト、ユーザースタイルシート、またはオーサースタイル
シートに記述された表示属性が適用される。要素に表示
属性が指定されていない場合は、Nへ進み、表示属性の
設定工程は省略される。以上で、スタイル設定部322
の動作が終了する。Subsequently, the style setting section 322 determines whether or not a display attribute is specified for the element (S51).
0). If a display attribute is specified for the element, the process proceeds to Y, and the display attribute described in the author style sheet is overwritten and set (S512). The display attribute specified directly to the element is overwritten, so that it takes precedence over the display attributes described in all style sheets. If no display attribute is specified for the element, the display attribute described in the default style sheet, user style sheet, or author style sheet is applied. If the display attribute is not specified for the element, the process proceeds to N and the display attribute setting step is omitted. With the above, the style setting unit 322
Operation ends.
【0109】図38は、図37に示した表示属性の設定
工程(S502、S504、およびS508)の詳細を
示すフローチャートである。スタイル設定部322は、
スタイルを設定すべきターゲット要素の要素名を取得す
る(S522)。続いて、その要素に適用すべき表示属
性を、要素名をキーとして検索し、表示属性を設定する
(S524)。続いて、ターゲット要素に、class
属性、id属性などの属性が指定されているか否かを判
断する(S526)。属性が指定されていなければ、N
へ進み、表示属性の設定工程を終了する。属性が指定さ
れていれば、Yへ進み、さらにターゲット要素の属性名
を取得する(S528)。続いて、属性名をキーとして
表示属性を検索し、表示属性を設定する(S530)。
以上で、表示属性の設定工程を終了する。属性名をキー
としたハッシュテーブルが用意されていない場合は、ハ
ッシュテーブルを用いた検索工程(S530)は行われ
ない。FIG. 38 is a flowchart showing details of the display attribute setting steps (S502, S504, and S508) shown in FIG. The style setting unit 322
The element name of the target element for which a style is to be set is obtained (S522). Subsequently, the display attribute to be applied to the element is searched using the element name as a key, and the display attribute is set (S524). Then, in the target element, class
It is determined whether an attribute such as an attribute or an id attribute is designated (S526). N if no attributes are specified
To end the display attribute setting process. If the attribute has been specified, the process proceeds to Y, and the attribute name of the target element is further acquired (S528). Next, a display attribute is searched using the attribute name as a key, and the display attribute is set (S530).
This completes the display attribute setting process. If a hash table using the attribute name as a key is not prepared, the search step (S530) using the hash table is not performed.
【0110】図39は、図38に示した表示属性の検索
・設定工程(S524およびS530)の詳細を示すフ
ローチャートである。スタイル設定部322は、取得し
たターゲット要素の要素名に基づいて、ハッシュ値を取
得する(S542)。ハッシュ値は、例えば、要素名の
アスキーコード値などから算出されてもよい。続いて、
得られたハッシュ値をキーとして、ハッシュテーブルを
検索する(S544)。ハッシュテーブルについては、
図40において詳述する。FIG. 39 is a flowchart showing details of the display attribute search / setting step (S524 and S530) shown in FIG. The style setting unit 322 acquires a hash value based on the acquired element name of the target element (S542). The hash value may be calculated from, for example, the ASCII code value of the element name. continue,
A hash table is searched using the obtained hash value as a key (S544). For hash tables,
Details will be described with reference to FIG.
【0111】ハッシュテーブルの中にハッシュ値が存在
しなかったときは、ターゲット要素の表示属性が指定さ
れていないということなので、S546のNへ進み、表
示属性を設定せずに工程を終了する。ハッシュテーブル
の中にハッシュ値が存在していたときは、S546のY
へ進み、ハッシュ値に対応する適合セレクタが複数ある
か否かを判断する(S548)。適合セレクタが複数あ
る場合には、Yへ進み、適合セレクタを絞り込み、ター
ゲット要素に合致するセレクタを取得する(S55
0)。続いて、ターゲット要素に合致したセレクタに設
定されている表示属性を、ターゲット要素に設定する
(S552)。適合セレクタが1つしかない場合には、
Nへ進み、そのセレクタに設定されている表示属性を、
ターゲット要素に設定する(S552)。以上で、表示
属性の検索・設定工程を終了する。If the hash value does not exist in the hash table, it means that the display attribute of the target element has not been specified, so the flow advances to N of S546 to terminate the process without setting the display attribute. If a hash value exists in the hash table, Y in S546
Then, it is determined whether there is a plurality of matching selectors corresponding to the hash values (S548). If there are a plurality of suitable selectors, the process proceeds to Y, narrows down the suitable selectors, and obtains a selector that matches the target element (S55).
0). Subsequently, the display attribute set in the selector matching the target element is set in the target element (S552). If there is only one matching selector,
N, and change the display attribute set for the selector to
The target element is set (S552). Thus, the display attribute search / setting process ends.
【0112】図40(a)(b)は、ハッシュテーブル
の例を示す。図40(a)は、要素の属性による分類が
なされていないハッシュテーブルの例を示す。ハッシュ
値は、セレクタのうち最下位の階層の要素の要素名から
算出される。例えば、要素名「body」のハッシュ値
は、8である。このハッシュテーブルにおいては、属性
による分類がなされていないので、要素「div」のハ
ッシュ値と、「参照1」という属性が指定された要素
「div」のハッシュ値は、同一になる。セレクタ「d
iv p」は、要素「div」の子孫要素となっている
要素「p」に対応する。このとき、ハッシュ値は、最下
位の階層の要素の要素名から算出されるので、「div
p」のハッシュ値は、「p」のハッシュ値と同一にな
る。FIGS. 40A and 40B show examples of hash tables. FIG. 40A shows an example of a hash table in which classification is not performed based on element attributes. The hash value is calculated from the element name of the element of the lowest hierarchy in the selector. For example, the hash value of the element name “body” is 8. In this hash table, since the attribute is not classified, the hash value of the element “div” is the same as the hash value of the element “div” to which the attribute “reference 1” is specified. Selector "d
“iv p” corresponds to the element “p” which is a descendant element of the element “div”. At this time, since the hash value is calculated from the element name of the element of the lowest hierarchy, “div
The hash value of “p” is the same as the hash value of “p”.
【0113】図40(a)に示されたハッシュテーブル
を用いて、ターゲット要素「div」の表示属性を設定
する方法について説明する。ここで、ターゲット要素
「div」には、class属性「参照2」が指定され
ている。まず、要素名「div」からハッシュ値を算出
する。要素名「div」から算出されるハッシュ値は、
14である。続いて、ハッシュ値14をキーとして、ハ
ッシュテーブルを検索する。すると、適合セレクタは、
「div」、「div.参照1」、および「div.参
照2」であることが分かる。続いて、それぞれの適合セ
レクタとターゲット要素とを照らし合わせて、表示属性
を設定すべきセレクタを取得する。ここでは、「di
v」および「div.参照2」が該当するので、まず、
「div」に指定された表示属性を設定し、続いて、
「div.参照2」に指定された表示属性を上書き設定
する。A method for setting the display attribute of the target element “div” using the hash table shown in FIG. 40A will be described. Here, the class attribute “reference 2” is specified for the target element “div”. First, a hash value is calculated from the element name “div”. The hash value calculated from the element name “div” is
14. Subsequently, a hash table is searched using the hash value 14 as a key. Then the matching selector is
It can be seen that they are "div", "div. Reference 1", and "div. Reference 2". Subsequently, the selector for which the display attribute is to be set is obtained by comparing each of the matching selectors with the target element. Here, "di
v "and" div. reference 2 ",
Set the display attribute specified in "div", then
The display attribute specified in “div. Reference 2” is overwritten and set.
【0114】図40(b)は、要素の属性によってさら
に分類された階層化ハッシュテーブルの例を示す。ハッ
シュ値14に対応するセレクタは、「div」、「di
v.参照1」、「div.参照2」、および「div.
参照2#abc」である。このうち、「div.参照
1」、「div.参照2」、および「div.参照2#
abc」については、属性が指定されているので、さら
に属性名をキーとしたハッシュテーブルに分類されてい
る。属性「参照1」が指定された要素「div」は、ハ
ッシュ値5に分類されており、属性「参照2」が指定さ
れた要素「div」は、ハッシュ値11に分類されてい
る。FIG. 40B shows an example of a hierarchical hash table further classified according to the attribute of the element. The selectors corresponding to the hash value 14 are “div”, “di”
v. Reference 1 "," div. Reference 2 ", and" div.
Reference 2 # abc ". Among them, “div. Reference 1”, “div. Reference 2”, and “div. Reference 2 #”
Since the attribute “abc” is specified, it is further classified into a hash table using the attribute name as a key. The element “div” for which the attribute “reference 1” is specified is classified into the hash value 5, and the element “div” for which the attribute “reference 2” is specified is classified into the hash value 11.
【0115】図40(b)に示されたハッシュテーブル
を用いて、ターゲット要素<divclass=“参照
2”>の表示属性を設定する方法について説明する。ま
ず、要素名「div」からハッシュ値を算出する。要素
名「div」から算出されるハッシュ値は、14であ
る。続いて、ハッシュ値14をキーとして、ハッシュテ
ーブルを検索する。すると、適合セレクタとして、ま
ず、「div」。続いて、それぞれの適合セレクタとタ
ーゲット要素とを照らし合わせて、表示属性を設定すべ
きセレクタを取得する。ここでは、「div」および
「div.参照2」が該当するので、まず、「div」
に指定された表示属性を設定し、続いて、「div.参
照2」に指定された表示属性を上書き設定する。A method of setting the display attribute of the target element <divclass = “reference 2”> using the hash table shown in FIG. 40B will be described. First, a hash value is calculated from the element name “div”. The hash value calculated from the element name “div” is 14. Subsequently, a hash table is searched using the hash value 14 as a key. Then, “div” is first selected as the matching selector. Subsequently, the selector for which the display attribute is to be set is obtained by comparing each of the matching selectors with the target element. Here, since “div” and “div. Reference 2” correspond, first, “div”
Is set, and then the display attribute specified in “div. Reference 2” is overwritten.
【0116】本実施形態では、ハッシュテーブルを用い
て適合セレクタを検索したが、二分木などの方法を用い
て検索を実行しても良い。以上のような構成によれば、
スタイル設定処理を高速化することができる。In the present embodiment, the matching selector is searched using the hash table. However, the search may be executed using a method such as a binary tree. According to the above configuration,
The style setting process can be sped up.
【0117】図41は、レイアウト処理部324の動作
を示すフローチャートである。まず、編集位置より前の
行から先送りされて配置されたフロートブロックを、再
配置のためにレイアウトから外して、ソース上での出現
位置の順番にキューへ待避する(S602)。続いて、
編集位置を含む段落のテキストデータを再レイアウトす
る(S604)。テキストデータが配置可能な行矩形の
中に、テキストデータを順に配置していく。続いて、編
集位置以降の段落をシフト処理する(S606)。S6
04によって段落の行数が変化すると、以降の段落との
間に、隙間または重なりが生じるので、それを解消すべ
く以降の段落を垂直方向にシフトする。続いて、キュー
に待避された配置待ちフロートブロックがあるか否かを
判断する(S608)。FIG. 41 is a flowchart showing the operation of the layout processing section 324. First, a float block placed forward from the line before the editing position is removed from the layout for rearrangement, and is saved in the queue in the order of the appearance position on the source (S602). continue,
The text data of the paragraph including the editing position is laid out again (S604). Text data is sequentially arranged in a line rectangle in which the text data can be arranged. Next, the paragraph after the editing position is shifted (S606). S6
When the number of lines in the paragraph changes according to 04, a gap or overlap occurs between the next paragraph and the next paragraph, so that the subsequent paragraph is shifted in the vertical direction to eliminate the gap. Subsequently, it is determined whether or not there is any laid-out float block saved in the queue (S608).
【0118】キューにフロートブロックがある場合は、
Yへ進み、フロートブロックが配置可能か否かを判断す
る(S610)。すなわち、キューに配置待ちのフロー
トブロックがある限り、必ず行頭で配置可能か否かを判
断する。配置可能であれば、Yへ進み、フロートブロッ
クをレイアウトする(S612)。その後、再びS60
8へ戻り、配置不可能なフロートブロックが出現する
か、キューに待避された配置待ちフロートブロックが無
くなるまで、フロートブロックのレイアウト処理が行わ
れる。S610において、フロートブロックが配置でき
なかったときは、Nへ進み、テキストデータの行レイア
ウト処理が行われる(S614)。行矩形の中にテキス
トデータを順に配置し、1行分配置したところで終了す
る。If there is a float block in the queue,
Proceeding to Y, it is determined whether a float block can be arranged (S610). In other words, as long as there is a float block waiting to be placed in the queue, it is always determined whether or not placement is possible at the beginning of the line. If the arrangement is possible, the process proceeds to Y and the float block is laid out (S612). Then, again at S60
Returning to step 8, the layout processing of the float block is performed until an unplaceable float block appears or there are no float blocks waiting to be placed in the queue. If the float block could not be arranged in S610, the process proceeds to N and the line layout processing of the text data is performed (S614). The text data is sequentially arranged in the line rectangle, and the processing is terminated when one line is arranged.
【0119】続いて、文書末またはテーブルセルの末尾
であるか否かを判断する(S622)。すなわち、配置
すべきテキストデータがまだ残っているか否かを判断す
る。残っていれば、Nへ進み、再びフロートブロックが
配置可能か否かを判断する。文書末またはテーブルセル
の末尾である場合には、Yへ進み、フロートブロックが
配置可能か否かを判断するための仮想行を設定する(S
624)。キューに残っているフロートブロックを末尾
行に配置した場合に、そのフロートブロックと重なる最
も内側の配置済みフロートブロックの、下辺の直下に仮
想行を設定する。その後、再びキューに待避された配置
待ちフロートブロックが配置可能か否かを判断するとき
に、この仮想行の行頭で判断が行われる。Subsequently, it is determined whether or not it is the end of the document or the end of the table cell (S622). That is, it is determined whether or not text data to be arranged still remains. If it remains, the process proceeds to N and determines again whether or not the float block can be arranged. If it is at the end of the document or at the end of the table cell, the process proceeds to Y to set a virtual line for determining whether or not the float block can be arranged (S
624). When the float block remaining in the queue is arranged in the last row, a virtual row is set immediately below the lower side of the innermost arranged float block overlapping the float block. Thereafter, when it is determined whether or not the placement-waiting float block saved in the queue can be placed again, the determination is made at the beginning of this virtual row.
【0120】S608において、キューに待避された配
置待ちのフロートブロックがなくなった場合には、Nへ
進み、次の段落の1行目の行矩形と、フロートブロック
との間に、重なりまたは隙間があるか否かを判断する
(S616)。重なりまたは隙間がある場合は、Nへ進
み、その段落を末尾まで再レイアウトする(S61
8)。その後、再びS616へ進む。重なりまたは隙間
がない場合は、Yへ進み、それ以降の段落をシフト処理
する(S620)。以上により、文書が編集されたとき
の、再レイアウト処理を終了する。In S608, if there are no more float blocks waiting to be laid out in the queue, the process proceeds to N and there is no overlap or gap between the line rectangle of the first line of the next paragraph and the float block. It is determined whether or not there is (S616). If there is an overlap or a gap, the process proceeds to N, and the paragraph is laid out to the end (S61).
8). After that, the process proceeds to S616 again. If there is no overlap or gap, the process proceeds to Y, and the subsequent paragraphs are shifted (S620). Thus, the relayout processing when the document is edited is completed.
【0121】図42は、レイアウト処理部324の動作
を説明するために用いる構造化文書の例を示す。構造化
文書640は、XHTMLで記述された文書である。文
書640の第1段落には、イメージファイルが埋め込ま
れており、右寄せで表示されるよう指定されている。FIG. 42 shows an example of a structured document used for explaining the operation of the layout processing unit 324. The structured document 640 is a document described in XHTML. An image file is embedded in the first paragraph of the document 640 and specified to be displayed right-aligned.
【0122】図43は、図42に示した文書640を表
示装置62へ表示した様子を示す。画像642は、右寄
せで表示されている。各段落のテキストデータは、画像
642と重ならないようにレイアウトされている。FIG. 43 shows a state where document 640 shown in FIG. 42 is displayed on display device 62. Image 642 is displayed right-justified. The text data of each paragraph is laid out so as not to overlap the image 642.
【0123】図44は、レイアウト処理部324がレイ
アウト処理を行う際に、テキストデータを行矩形として
管理する様子を示す。レイアウト処理部324は、画
像、表、縦書きブロック、ツリー表示ウインドウ、など
のフローティングブロックと、テキストデータの行と
を、矩形データとして管理している。レイアウト処理部
324は、これらの矩形データが重なるか否かを調べる
ことによって、正しくレイアウトされているか否かを判
断する。FIG. 44 shows how the layout processing unit 324 manages text data as line rectangles when performing layout processing. The layout processing unit 324 manages floating blocks such as images, tables, vertical writing blocks, and tree display windows, and lines of text data as rectangular data. The layout processing section 324 determines whether or not the layout is correctly performed by checking whether or not these rectangular data overlap.
【0124】図45(a)(b)(c)は、文書640
のうち、範囲644が削除されたときの、レイアウト処
理部324の動作を説明するための図である。図45
(a)は、文書640のうち、範囲644が選択された
様子を示す。入力装置60を介してユーザーが範囲64
4を選択した後、さらに削除コマンドを実行すると、編
集ユニット200が必要な処理を行い、表示ユニット3
00へミューテーションイベントを伝達する。このと
き、レイアウト処理部324は、編集部分から後の部分
を再レイアウトする。FIGS. 45A, 45B, and 45C show documents 640
FIG. 10 is a diagram for explaining an operation of the layout processing unit 324 when a range 644 is deleted. FIG.
(A) shows a state in which the range 644 is selected from the document 640. The user can input a range 64 through the input device 60.
When the delete command is further executed after selecting the display unit 4, the editing unit 200 performs necessary processing, and the display unit 3
A mutation event is transmitted to 00. At this time, the layout processing unit 324 re-lays out the part after the editing part.
【0125】この場合、削除された行よりも前の行から
先送りされて配置されたフロートブロックが存在しない
ので、キューに待避されるフロートブロックはない。ま
ず、第2段落のテキストデータを再レイアウトする。第
2段落のテキストデータのうち、範囲644が削除され
ているので、第2行から第4行が消失する。続いて、第
3段落および第4段落を、上方へシフトする。その結果
を図45(b)に示す。この状態は、実際には表示され
ない。ここで、シフト処理の結果、行矩形データと、フ
ローティングブロックの矩形データとの間に、重なりま
たは隙間があるか否かを調べる。この場合、第3段落の
1行目の行矩形データと、画像642の矩形データとが
重なるので、このままの状態では正しいレイアウトでは
ない。したがって、さらに、第3段落を再レイアウト
し、画像642と重ならないようにする。画像642と
重ならないように新たに設定された行矩形内に、第3段
落のテキストデータを配置していく。この結果、行の増
減などによって段落の高さが変化すると、その段落以降
の段落とそれらに含まれる行をシフトする。その結果を
図45(c)に示す。In this case, there is no float block placed forward from the row before the deleted row, and no float block is saved in the queue. First, the text data of the second paragraph is laid out again. Since the range 644 has been deleted from the text data of the second paragraph, the second to fourth lines disappear. Subsequently, the third and fourth paragraphs are shifted upward. The result is shown in FIG. This state is not actually displayed. Here, as a result of the shift processing, it is checked whether or not there is an overlap or a gap between the row rectangular data and the rectangular data of the floating block. In this case, the row rectangular data of the first line of the third paragraph and the rectangular data of the image 642 overlap, and the layout is not correct in this state. Therefore, the third paragraph is laid out again so as not to overlap the image 642. The text data of the third paragraph is arranged in a newly set line rectangle so as not to overlap with the image 642. As a result, when the height of a paragraph changes due to an increase or decrease in lines, the paragraphs after that paragraph and the lines included therein are shifted. The result is shown in FIG.
【0126】第4段落以降も、同様に、各行の行頭にお
いて、行矩形データとフロートブロックの矩形データと
の重なりまたは隙間があるか否かを調べる。第4段落の
第1行目は、フロートブロックとの重なりがない。さら
に、以前フロートブロックを避けていた隙間がない。す
なわち、行矩形が、文書表示部710の左端から右端ま
での全てに渡っている。このとき、この行以降のレイア
ウトには変化が生じないので、行の重なりまたは隙間の
チェックを終了し、この行以降の行をシフト処理する。
この場合は、図45(c)の状態が、正しくレイアウト
された状態に対応する。Similarly, in the fourth and subsequent paragraphs, it is checked whether or not there is an overlap or gap between the row rectangular data and the rectangular data of the float block at the beginning of each line. The first line of the fourth paragraph has no overlap with the float block. Furthermore, there is no gap that previously avoided the float block. That is, the line rectangle extends from the left end to the right end of the document display unit 710. At this time, since there is no change in the layout after this line, the check of the overlap or gap of the line is finished, and the line after this line is shifted.
In this case, the state shown in FIG. 45C corresponds to a state where the layout is correctly performed.
【0127】図46は、レイアウト処理部324の動作
を説明するために用いる構造化文書の他の例を示す。構
造化文書650は、XHTMLで記述された文書であ
る。文書650の第1段落には、イメージファイルが3
つ埋め込まれており、1つは右寄せで、残りの2つは左
寄せで表示されるよう指定されている。FIG. 46 shows another example of a structured document used for explaining the operation of the layout processing unit 324. The structured document 650 is a document described in XHTML. The first paragraph of the document 650 contains 3 image files.
One is specified to be displayed right-aligned, and the other two are specified to be displayed left-aligned.
【0128】図47は、図46に示した文書650を表
示装置62へ表示した様子を示す。画像652は、右寄
せで表示されている。画像654および656は、左寄
せで表示されている。各段落のテキストデータは、画像
652、654、および656と重ならないように、回
り込んでレイアウトされている。フロートブロックは、
原則として、行単位で位置決めされる。すなわち、行の
上辺とフロートブロックの上辺のy座標は一致する。文
書の末尾やテーブルセルの末尾行以下に配置される場合
は、ピクセル単位で位置決めされる。今、範囲658が
選択されている。FIG. 47 shows a state where the document 650 shown in FIG. 46 is displayed on the display device 62. Image 652 is displayed right-justified. Images 654 and 656 are displayed left-justified. The text data of each paragraph is laid out so as not to overlap with the images 652, 654, and 656. The float block is
In principle, positioning is performed on a line-by-line basis. That is, the y-coordinates of the upper side of the row and the upper side of the float block match. If it is placed below the end of the document or the last row of the table cell, it is positioned in pixels. Now, the range 658 has been selected.
【0129】図48から図50は、文書650のうち、
範囲658が削除されたときの、レイアウト処理部32
4の動作を説明するための図である。図48は、文書6
50のうち、範囲658が削除され、削除された行より
も前の行から先送りされて配置された画像654および
656がキュー660に待避され、第2段落が再レイア
ウトされ、第3段落がシフト処理されたときの様子を示
す。キュー660には、ソース上の出現位置の順番に、
画像654および画像656がバッファに積まれてい
る。FIGS. 48 to 50 show the contents of the document 650.
Layout processing unit 32 when range 658 is deleted
4 is a diagram for explaining the operation of FIG. FIG.
Of the 50, the range 658 is deleted, the images 654 and 656 advanced from the line before the deleted line are saved in the queue 660, the second paragraph is laid out, and the third paragraph is shifted. This shows the state when the processing is performed. In the queue 660, in the order of appearance positions on the source,
Image 654 and image 656 are stacked in the buffer.
【0130】図49は、続いて、第3段落が再レイアウ
トされた様子を示す。まず、図48の状態から、キュー
にフロートブロックが積まれているので、第2段落の直
下の行に配置可能か否かを判断する。この場合、配置不
可能なので、第3段落の第1行目が行レイアウト処理さ
れる。続いて、第3段落の第1行目の直下の行にフロー
トブロックを配置可能か否かを判断する。画像654が
配置可能なので、画像654を左寄せにして配置する。
さらに、画像656が配置可能か否かを判断する。画像
656は配置不可能なので、キューに積んだまま、第3
段落の第2行目を行レイアウトする。このように、改行
毎にフロートブロックの配置チェックを行い、配置でき
なければテキストデータの行レイアウトを行う。第3段
落の末尾まで行レイアウトが終了した状態が図49に示
されている。FIG. 49 shows how the third paragraph is laid out again. First, from the state of FIG. 48, since the float blocks are stacked in the queue, it is determined whether or not it can be arranged in the line immediately below the second paragraph. In this case, since arrangement is not possible, the first line of the third paragraph is subjected to line layout processing. Subsequently, it is determined whether or not a float block can be arranged in a line immediately below the first line of the third paragraph. Since the image 654 can be arranged, the image 654 is arranged left-aligned.
Further, it is determined whether or not the image 656 can be arranged. Since the image 656 cannot be placed, the third
Line layout the second line of the paragraph. As described above, the arrangement of the float block is checked for each line feed, and if the arrangement is not possible, the line layout of the text data is performed. FIG. 49 shows a state in which the line layout has been completed up to the end of the third paragraph.
【0131】図50は、画像656がレイアウトされた
様子を示す。図49において、文書末までレイアウトが
終了したときに、まだキュー660には画像656が残
っていたので、仮想行を設定する。仮想行は、末尾行に
画像656を配置したときに重なりが生じる、画像65
4の下辺の直下に設定される。この行の行頭において、
画像656が配置可能か否かのチェックが行われる。画
像656は、配置可能であるから、左寄せにして配置さ
れる。これで、文書650の再レイアウト処理が終了す
る。FIG. 50 shows how the image 656 is laid out. In FIG. 49, when the layout is completed up to the end of the document, since the image 656 still remains in the queue 660, a virtual line is set. The virtual line is an image 65 that overlaps when the image 656 is placed in the last line.
4 is set immediately below the lower side. At the beginning of this line,
It is checked whether the image 656 can be arranged. Since the image 656 can be arranged, it is arranged left-aligned. This completes the document 650 re-layout process.
【0132】以上の構成によれば、CSSの仕様に準拠
したレイアウトを実現することができる。また、改段落
のときに、フロートブロックとの重なりや隙間がないと
きには、以下の段落をレイアウトせず、シフト処理を行
うため、再表示に要する時間を短縮することができる。
本実施形態の方法によれば、多くの場合、フロートブロ
ックの重なりや隙間があるかどうかの判定は、全段落に
ついて行う必要がないので、高速な処理を実現すること
ができる。According to the above configuration, a layout conforming to the CSS specification can be realized. Further, when there is no overlap or gap with the float block at the time of a new paragraph, the following paragraphs are not laid out and the shift processing is performed, so that the time required for redisplay can be reduced.
According to the method of the present embodiment, in many cases, it is not necessary to determine whether or not there is an overlap or gap between float blocks, so that high-speed processing can be realized.
【0133】記録媒体の一例としてのフロッピーディス
ク56またはCD−ROM58には、本出願で説明した
端末10の動作の一部または全ての機能を格納すること
ができる。またフロッピーディスク106には他の装置
の動作の一部または全ての機能を格納することができ
る。これらのプログラムは記録媒体から直接RAMに読
み出されて実行されても良い。The floppy disk 56 or the CD-ROM 58 as an example of the recording medium can store some or all of the functions of the terminal 10 described in the present application. The floppy disk 106 can store some or all of the functions of other devices. These programs may be read directly from the recording medium to the RAM and executed.
【0134】本実施形態においては、構造化文書の一例
として、XHTML形式およびXML形式の文書を処理
する方法について説明したが、本実施形態の方法は、S
GML、MHEG、HTML、その他の形式、およびそ
れらに対して拡張または限定を行った形式を用いて記述
された構造化文書についても適用することができる。In this embodiment, the method of processing a document in the XHTML format and the XML format has been described as an example of a structured document.
The present invention can also be applied to a structured document described using GML, MHEG, HTML, other formats, and formats extended or limited thereto.
【0135】以上、本発明を実施の形態を用いて説明し
たが、本発明の技術的範囲は上記実施の形態に記載の範
囲には限定されない。上記実施の形態に、多様な変更又
は改良を加えることができることが当業者に明らかであ
る。その様な変更又は改良を加えた形態も本発明の技術
的範囲に含まれ得ることが、特許請求の範囲の記載から
明らかである。As described above, the present invention has been described using the embodiment. However, the technical scope of the present invention is not limited to the scope described in the above embodiment. It is apparent to those skilled in the art that various changes or improvements can be added to the above embodiment. It is apparent from the description of the appended claims that embodiments with such changes or improvements can be included in the technical scope of the present invention.
【0136】[0136]
【発明の効果】上記説明から明らかなように、本発明に
よれば構造化文書を適切に処理することができる文書処
理装置、およびその文書処理装置で利用可能な文書処理
方法、およびその方法をコンピュータに実行させるプロ
グラムを記録したコンピュータ読み取り可能な記録媒体
を提供することができる。As is apparent from the above description, according to the present invention, a document processing apparatus capable of appropriately processing a structured document, a document processing method usable by the document processing apparatus, and a method thereof are described. A computer-readable recording medium on which a program to be executed by a computer is recorded can be provided.
【図1】 図1は、本実施形態の文書処理方法をコンピ
ュータに実行させるためのプログラムがネットワークを
介して配信される様子を示す図である。FIG. 1 is a diagram illustrating a state in which a program for causing a computer to execute a document processing method according to an embodiment is distributed via a network.
【図2】 図2は、コンピュータの構成を示す図であ
る。FIG. 2 is a diagram illustrating a configuration of a computer.
【図3】 図3は、本発明の実施形態に係る文書処理装
置90の概略機能ブロックを示す図である。FIG. 3 is a diagram showing schematic functional blocks of a document processing apparatus 90 according to the embodiment of the present invention.
【図4】 図4は、ユーザーインターフェース100の
より詳細な機能ブロックを示す図である。FIG. 4 is a diagram showing more detailed functional blocks of the user interface 100.
【図5】 図5は、編集ユニット200のより詳細な機
能ブロックを示す図である。FIG. 5 is a diagram showing more detailed functional blocks of the editing unit 200.
【図6】 図6は、表示ユニット300のより詳細な機
能ブロックを示す図である。FIG. 6 is a diagram showing more detailed functional blocks of the display unit 300.
【図7】 図7は、文書処理装置90によって処理可能
な構造化文書600を示す図である。FIG. 7 is a diagram illustrating a structured document 600 that can be processed by the document processing apparatus 90.
【図8】 図8は、文書処理装置90が構造化文書60
0を読み込み、表示ユニット300によって表示装置6
2へ表示させた様子を示す図である。FIG. 8 is a block diagram showing the structure of the document processing apparatus 90 when the structured document 60 is used.
0 is read and the display unit 300
FIG. 6 is a diagram showing a state where the image is displayed on the screen 2;
【図9】 図9は、編集処理が実行された後の構造化文
書600を示す図である。FIG. 9 is a diagram illustrating a structured document 600 after an editing process has been executed.
【図10】 図10は、編集処理が実行された後の画面
700を示す図である。FIG. 10 is a diagram showing a screen 700 after an editing process has been executed.
【図11】 図11は、メニュー制御部140の動作を
示すフローチャートである。FIG. 11 is a flowchart showing an operation of the menu control unit 140.
【図12】 図12は、XMLによって記述された構造
化文書610を示す図である。FIG. 12 is a diagram showing a structured document 610 described in XML.
【図13】 図13は、構造化文書610のうち、名前
空間が「sample」である部分616の階層構造を
分かりやすく示した模式図である。FIG. 13 is a schematic diagram showing the hierarchical structure of a portion 616 whose name space is “sample” in the structured document 610 in an easily understandable manner.
【図14】 図14は、カーソル712が図13におけ
る位置(4)にあるときに、メニューを表示させた様子
を示す図である。FIG. 14 is a diagram illustrating a state in which a menu is displayed when the cursor 712 is at a position (4) in FIG.
【図15】 図15は、文書610における編集位置
と、その位置に挿入可能なタグとの関係を示す図であ
る。FIG. 15 is a diagram illustrating a relationship between an editing position in a document 610 and a tag that can be inserted at that position.
【図16】 図16は、範囲724を選択している状態
で、メニューを表示させた様子を示す図である。FIG. 16 is a diagram illustrating a state where a menu is displayed in a state where a range 724 is selected.
【図17】 図17は、文書610における編集位置
と、その範囲をタグ化可能なタグとの関係を示す図であ
る。FIG. 17 is a diagram illustrating a relationship between an editing position in a document 610 and a tag whose range can be tagged.
【図18】 図18は、カーソル712が図13におけ
る位置(4)にあるときに、文書表示部710の中でマ
ウスを右クリックしてメニューを表示させた様子を示す
図である。FIG. 18 is a diagram illustrating a state in which a menu is displayed by right-clicking the mouse in the document display unit 710 when the cursor 712 is at the position (4) in FIG.
【図19】 図19は、編集適否判断部250の動作を
示すフローチャートである。FIG. 19 is a flowchart showing the operation of the editing suitability judging section 250.
【図20】 図20は、文書修正部260の動作を示す
フローチャートである。FIG. 20 is a flowchart showing the operation of the document correction unit 260.
【図21】 図21(a)(b)は、文書修正部260
の動作の例を説明するための図である。FIGS. 21A and 21B are diagrams illustrating a document correction unit 260;
FIG. 9 is a diagram for explaining an example of the operation of FIG.
【図22】 図22(a)(b)は、文書修正部260
の動作の他の例を説明するための図である。FIGS. 22A and 22B show a document correction unit 260;
FIG. 10 is a diagram for explaining another example of the operation of FIG.
【図23】 図23(a)(b)は、図22(b)にお
いて、選択された範囲を削除する編集コマンドが実行さ
れたときの、文書修正部260の動作を説明するための
図である。FIGS. 23A and 23B are diagrams for explaining the operation of the document correction unit 260 when an edit command for deleting a selected range is executed in FIG. 22B. is there.
【図24】 図24は、位置情報保持部240のデータ
構成を示す図である。FIG. 24 is a diagram showing a data configuration of a position information holding unit 240.
【図25】 図25は、図7に示した構造化文書600
を、表示装置62に表示させた様子を示す図である。FIG. 25 shows a structured document 600 shown in FIG. 7;
Is a view showing a state in which is displayed on the display device 62. FIG.
【図26】 図26は、位置情報保持部240の位置情
報を自動更新するための方法を示すフローチャートであ
る。FIG. 26 is a flowchart illustrating a method for automatically updating the position information of the position information holding unit 240.
【図27】 図27(a)(b)は、図26に示した位
置情報の自動補正方法の具体例を示す図である。27 (a) and 27 (b) are diagrams showing a specific example of the position information automatic correction method shown in FIG. 26.
【図28】 図28(a)(b)は、編集処理によって
文書が処理されたことを、表示ユニット300に伝達す
るためのミューテーションイベントについて説明するた
めの図である。FIGS. 28A and 28B are diagrams illustrating a mutation event for transmitting to the display unit 300 that the document has been processed by the editing process.
【図29】 図29は、取消再実行処理制御ユニット4
00の構成を示す図である。FIG. 29 is a block diagram showing a cancel re-execution processing control unit 4;
FIG. 2 is a diagram showing a configuration of a 00.
【図30】 図30(a)(b)は、取消再実行処理制
御ユニット400の動作を説明するための図である。FIGS. 30A and 30B are diagrams for explaining the operation of the cancellation / re-execution processing control unit 400. FIGS.
【図31】 図31は、表示ユニット300における動
作を概略的に示したフローチャートである。FIG. 31 is a flowchart schematically showing an operation in the display unit 300.
【図32】 図32は、レンダリングユニット選択部3
10およびツリー表示処理部330を説明するために用
いる構造化文書630を示す図である。FIG. 32 shows a rendering unit selection unit 3
FIG. 10 is a diagram illustrating a structured document 630 used for explaining a tree display processing unit and a tree display processing unit.
【図33】 図33は、MATHMLで記述された文書
を処理するためのMATHMLプラグインユニット51
0を有する文書処理装置90によって構造化文書630
をレンダリングし、表示装置62に表示した例を示す図
である。FIG. 33 is a MATHML plug-in unit 51 for processing a document described in MATHML.
0 by the document processing device 90 having the
FIG. 7 is a diagram showing an example in which is rendered and displayed on a display device 62.
【図34】 図34は、MATHMLで記述された文書
を処理するためのMATHMLプラグインユニット51
0を有しない文書処理装置90によって構造化文書63
0をレンダリングし、表示装置62に表示した例を示す
図である。FIG. 34 is a MATHML plug-in unit 51 for processing a document described in MATHML.
0 by the document processing apparatus 90 having no
FIG. 6 is a diagram showing an example in which 0 is rendered and displayed on a display device 62.
【図35】 図35は、MATHMLで記述された部分
634を、スクロールバーのついたウインドウ730に
表示した例を示す図である。FIG. 35 is a diagram showing an example in which a portion 634 described in MATHML is displayed in a window 730 with a scroll bar.
【図36】 図36は、MATHMLで記述された部分
634のソースを、スクロールバーのついたウインドウ
730に表示した例を示す図である。FIG. 36 is a diagram showing an example in which the source of a portion 634 described in MATHML is displayed in a window 730 with a scroll bar.
【図37】 図37は、スタイル設定部322の動作を
示すフローチャートである。FIG. 37 is a flowchart showing the operation of the style setting unit 322.
【図38】 図38は、図37に示した表示属性の設定
工程(S502、S504、およびS508)の詳細を
示すフローチャートである。FIG. 38 is a flowchart showing details of the display attribute setting steps (S502, S504, and S508) shown in FIG. 37.
【図39】 図39は、図38に示した表示属性の検索
・設定工程(S524およびS530)の詳細を示すフ
ローチャートである。FIG. 39 is a flowchart showing details of display attribute search / setting steps (S524 and S530) shown in FIG. 38.
【図40】 図40(a)(b)は、ハッシュテーブル
の例を示す図である。FIGS. 40A and 40B are diagrams illustrating examples of a hash table. FIG.
【図41】 図41は、レイアウト処理部324の動作
を示すフローチャートである。FIG. 41 is a flowchart showing the operation of the layout processing unit 324.
【図42】 図42は、レイアウト処理部324の動作
を説明するために用いる構造化文書640を示す図であ
る。FIG. 42 is a diagram showing a structured document 640 used for explaining the operation of the layout processing unit 324.
【図43】 図43は、図42に示した文書640を表
示装置62へ表示した様子を示す図である。FIG. 43 is a view showing a state where the document 640 shown in FIG. 42 is displayed on the display device 62.
【図44】 図44は、レイアウト処理部324がレイ
アウト処理を行う際に、テキストデータを行矩形として
管理する様子を示す図である。FIG. 44 is a diagram illustrating a state where text data is managed as a line rectangle when the layout processing unit 324 performs a layout process.
【図45】 図45(a)(b)(c)は、文書640
のうち、範囲644が削除されたときの、レイアウト処
理部324の動作を説明するための図である。FIGS. 45 (a), (b), and (c) show a document 640;
FIG. 10 is a diagram for explaining an operation of the layout processing unit 324 when a range 644 is deleted.
【図46】 図46は、レイアウト処理部324の動作
を説明するために用いる構造化文書650を示す図であ
る。FIG. 46 is a diagram showing a structured document 650 used for explaining the operation of the layout processing unit 324.
【図47】 図47は、図46に示した文書650を表
示装置62へ表示した様子を示す図である。FIG. 47 is a view showing a state where the document 650 shown in FIG. 46 is displayed on the display device 62.
【図48】 図48は、文書650のうち、範囲658
が削除されたときの、レイアウト処理部324の動作を
説明するための図である。FIG. 48 shows a range 658 of a document 650.
FIG. 10 is a diagram for explaining an operation of the layout processing unit 324 when is deleted.
【図49】 図49は、文書650のうち、範囲658
が削除されたときの、レイアウト処理部324の動作を
説明するための図である。FIG. 49 is a diagram showing a range 658 of a document 650;
FIG. 10 is a diagram for explaining an operation of the layout processing unit 324 when is deleted.
【図50】 図50は、文書650のうち、範囲658
が削除されたときの、レイアウト処理部324の動作を
説明するための図である。FIG. 50 is a view showing a range 658 of a document 650;
FIG. 10 is a diagram for explaining an operation of the layout processing unit 324 when is deleted.
10 インターネット、 20 ダウンロードサーバ、
30 利用者端末、40 文書サーバ、 50 編集
端末、 60 入力装置、 62 表示装置、64 通
信装置、 66 CPU、 68 メモリ、 70 ハ
ードディスク、72 外部記憶装置、 90 文書処理
装置、 100 ユーザーインターフェース、 110
イベント解析部、 120 イベントマップ、 13
0 UIコマンド実行部、 140 メニュー制御部、
200 編集ユニット、 210編集コマンド実行
部、 220 DOMエンジン、 230 文書保持
部、240 位置情報保持部、 250 編集適否判断
部、 260 文書修正部、300 表示ユニット、
310 レンダリングユニット選択部、 320レンダ
リング部、 322 スタイル設定部、 324 レイ
アウト処理部、330 ツリー表示処理部、 340
表示部、 400 取消再実行処理制御ユニット、 4
02 アンドゥスタック、 404 リドゥスタック、
410コマンド、 500 プラグインユニット、
660 キュー、 700 画面、 702 メニュー
バー、 704 ツールバー、 706 水平ルーラ、
708 垂直ルーラ、 710 文書表示部、 712
カーソル、 730ウインドウ10 internet, 20 download server,
Reference Signs List 30 user terminal, 40 document server, 50 editing terminal, 60 input device, 62 display device, 64 communication device, 66 CPU, 68 memory, 70 hard disk, 72 external storage device, 90 document processing device, 100 user interface, 110
Event analysis unit, 120 event map, 13
0 UI command execution unit, 140 menu control unit,
200 editing unit, 210 editing command execution unit, 220 DOM engine, 230 document holding unit, 240 position information holding unit, 250 editing suitability judging unit, 260 document correcting unit, 300 display unit,
310 rendering unit selection unit, 320 rendering unit, 322 style setting unit, 324 layout processing unit, 330 tree display processing unit, 340
Display, 400 cancellation / re-execution processing control unit, 4
02 Undo stack, 404 Redo stack,
410 commands, 500 plug-in units,
660 queues, 700 screens, 702 menu bar, 704 toolbar, 706 horizontal ruler,
708 vertical ruler, 710 document display part, 712
Cursor, 730 window
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 3/00 651 G06F 3/00 651B 17/30 140 17/30 140 412 412 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 3/00 651 G06F 3/00 651B 17/30 140 17/30 140 412 412
Claims (9)
の構成要素に分類された構造化文書を処理するための方
法であって、 前記文書に対する編集処理が行われたときに、前記編集
の対象とされた前記構成要素に対応するハッシュ値を取
得する工程と、 前記ハッシュ値と、前記構成要素に適用すべき表示属性
とを対応づけたハッシュテーブルを参照して、前記構成
要素に適用すべき表示属性を取得する工程と、 前記構成要素に属する前記データに前記表示属性を適用
する工程とを含むことを特徴とする方法。1. A method for processing a structured document in which data in the document is classified into a plurality of components having a hierarchical structure, wherein when the editing process is performed on the document, the editing process is performed. Obtaining a hash value corresponding to the target component; and applying the hash value to the component with reference to a hash table in which the hash value is associated with a display attribute to be applied to the component. Obtaining a display attribute to be applied, and applying the display attribute to the data belonging to the component.
名に基づいて算出されることを特徴とする請求項1に記
載の文書処理装置。2. The document processing apparatus according to claim 1, wherein the hash value is calculated based on an element name of the component.
名のうち、最下位の階層の要素名に基づいて算出される
ことを特徴とする請求項2に記載の方法。3. The method according to claim 2, wherein the hash value is calculated based on the element name of the lowest hierarchy among the element names of the constituent elements.
値と、前記構成要素のクラス属性値に適用すべき表示属
性とを対応づけた第2のハッシュテーブルを更に有する
ことを特徴とする請求項1から3のいずれかに記載の方
法。4. The apparatus according to claim 1, wherein the hash table further includes a second hash table in which the hash value is associated with a display attribute to be applied to a class attribute value of the component. 3. The method according to any one of 3.
MHEG、HTML、XHTML、およびそれらに対し
て拡張または限定を行った形式のうちのいずれかの形式
で記述されたことを特徴とする請求項1から4のいずれ
かに記載の方法。5. The structured document includes SGML, XML,
The method according to any one of claims 1 to 4, wherein the method is described in any one of MHEG, HTML, XHTML, and an extended or limited form thereof.
びそれらに対して拡張または限定を行った形式のいずれ
かの形式で記述されたことを特徴とする請求項1から5
のいずれかに記載の方法。6. The display attribute according to claim 1, wherein the display attribute is described in one of CSS, XSL, and a format extended or limited thereto.
The method according to any of the above.
をコンピュータに実行させるためのプログラムを記録し
たことを特徴とするコンピュータ読み取り可能な記憶媒
体。7. A computer-readable storage medium storing a program for causing a computer to execute the method according to claim 1. Description:
をコンピュータに実行させるためのプログラムを格納す
るプログラムと、前記プログラムを前記記録媒体から読
み出して前記コンピュータに配信する通信装置とを備え
たことを特徴とするサーバ装置。8. A program for storing a program for causing a computer to execute the method according to claim 1; and a communication device for reading the program from the recording medium and distributing the program to the computer. Server device characterized by the above-mentioned.
の構成要素に分類された構造化文書を処理するための文
書処理装置であって、 前記構成要素に対応するハッシュ値を取得するハッシュ
値取得部と、 前記ハッシュ値と、前記構成要素に適用すべき表示属性
とを対応づけたハッシュテーブルを参照して、前記構成
要素に適用すべき表示属性を取得する表示属性取得部と
を含むことを特徴とする文書処理装置。9. A document processing apparatus for processing a structured document in which data in a document is classified into a plurality of components having a hierarchical structure, wherein a hash value for acquiring a hash value corresponding to the component is provided. An acquisition unit, and a display attribute acquisition unit that acquires a display attribute to be applied to the component by referring to a hash table in which the hash value is associated with a display attribute to be applied to the component. A document processing apparatus characterized by the above-mentioned.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000107472A JP2001290802A (en) | 2000-04-10 | 2000-04-10 | Method and device for document processing and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000107472A JP2001290802A (en) | 2000-04-10 | 2000-04-10 | Method and device for document processing and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001290802A true JP2001290802A (en) | 2001-10-19 |
JP2001290802A5 JP2001290802A5 (en) | 2007-05-31 |
Family
ID=18620459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000107472A Pending JP2001290802A (en) | 2000-04-10 | 2000-04-10 | Method and device for document processing and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001290802A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004016743A (en) * | 2002-06-20 | 2004-01-22 | P To Pa:Kk | Game machine, game control method and program |
JP2004065309A (en) * | 2002-08-01 | 2004-03-04 | P To Pa:Kk | Game machine, game control method and program |
WO2006118287A1 (en) * | 2005-05-02 | 2006-11-09 | Justsystems Corporation | Document processing device, and document processing method |
JP2009033773A (en) * | 2001-10-23 | 2009-02-12 | Samsung Electronics Co Ltd | Information storage medium with markup document and av data recorded, recording method, reproduction method, and reproducing apparatus for the same |
JP2009507277A (en) * | 2005-08-15 | 2009-02-19 | マイクロソフト コーポレーション | Web page rendering priority mechanism |
US8233176B2 (en) | 2006-09-29 | 2012-07-31 | Brother Kogyo Kabushiki Kaisha | Print device with layout replacement unit |
-
2000
- 2000-04-10 JP JP2000107472A patent/JP2001290802A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009033773A (en) * | 2001-10-23 | 2009-02-12 | Samsung Electronics Co Ltd | Information storage medium with markup document and av data recorded, recording method, reproduction method, and reproducing apparatus for the same |
JP2004016743A (en) * | 2002-06-20 | 2004-01-22 | P To Pa:Kk | Game machine, game control method and program |
JP2004065309A (en) * | 2002-08-01 | 2004-03-04 | P To Pa:Kk | Game machine, game control method and program |
WO2006118287A1 (en) * | 2005-05-02 | 2006-11-09 | Justsystems Corporation | Document processing device, and document processing method |
JPWO2006118287A1 (en) * | 2005-05-02 | 2008-12-18 | 株式会社ジャストシステム | Document processing apparatus and document processing method |
JP2009507277A (en) * | 2005-08-15 | 2009-02-19 | マイクロソフト コーポレーション | Web page rendering priority mechanism |
US8233176B2 (en) | 2006-09-29 | 2012-07-31 | Brother Kogyo Kabushiki Kaisha | Print device with layout replacement unit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7617450B2 (en) | Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document | |
US7712016B2 (en) | Method and apparatus for utilizing an object model for managing content regions in an electronic document | |
US7191405B1 (en) | System and method for editing information | |
JP2001290811A (en) | Method and device for document processing and recording medium | |
US8584009B2 (en) | Automatically propagating changes in document access rights for subordinate document components to superordinate document components | |
US20100107048A1 (en) | Document processor and document processing method | |
JP2004139466A (en) | Electronic document printing program, and electronic document printing system | |
US20100162095A1 (en) | Data processing apparatus and data processing method | |
US20100218083A1 (en) | Document processing apparatus and document processing method | |
US20100169333A1 (en) | Document processor | |
JP2001290803A (en) | Method and device for document processing and recording medium | |
JP4514888B2 (en) | Document processing method | |
JPH1040236A (en) | Hypertext document processor with comments | |
US20090287994A1 (en) | Document processing device and document processing method | |
JP2006119915A (en) | Electronic filing system and electronic filing method | |
JP2001290802A (en) | Method and device for document processing and recording medium | |
JP2001290806A (en) | Method and device for document processing and recording medium | |
JP2001290805A (en) | Method and device for document processing and recording medium | |
EP1768034A1 (en) | Document processing device and document processing method | |
EP1744255A1 (en) | Document processing device and document processing method | |
EP1821221A1 (en) | Document processing device and document processing method | |
JP4566196B2 (en) | Document processing method and apparatus | |
EP1744253A1 (en) | Document processing device and document processing method | |
JP2001290810A (en) | Method and device for document processing and recording medium | |
EP1837776A1 (en) | Document processing device and document processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041227 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070405 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090803 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100126 |