WO2005098661A1 - 文書処理装置及び文書処理方法 - Google Patents

文書処理装置及び文書処理方法 Download PDF

Info

Publication number
WO2005098661A1
WO2005098661A1 PCT/JP2005/006799 JP2005006799W WO2005098661A1 WO 2005098661 A1 WO2005098661 A1 WO 2005098661A1 JP 2005006799 W JP2005006799 W JP 2005006799W WO 2005098661 A1 WO2005098661 A1 WO 2005098661A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
editing
object model
unit
display
Prior art date
Application number
PCT/JP2005/006799
Other languages
English (en)
French (fr)
Inventor
Masayuki Hiyama
Nobuaki Wake
Norio Oshima
Original Assignee
Justsystems Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Justsystems Corporation filed Critical Justsystems Corporation
Priority to JP2006512110A priority Critical patent/JPWO2005098661A1/ja
Priority to EP05728741A priority patent/EP1744256A1/en
Priority to US11/578,114 priority patent/US20080282143A1/en
Publication of WO2005098661A1 publication Critical patent/WO2005098661A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Definitions

  • the present invention relates to a document processing technology, and more particularly, to a document processing device and a document processing method for processing a document described in a markup language.
  • XML has attracted attention as a format suitable for sharing data with others via a network or the like, and applications for creating, displaying, and editing XML documents have been developed (for example, Patent Document 1).
  • An XML document is created based on a vocabulary (tag set) defined by a document type definition.
  • Patent document 1 Japanese Patent Application Laid-Open No. 2001-290804
  • the vocabulary is allowed to be arbitrarily defined, and theoretically, there can be infinitely many vocabularies. It is not practical to provide a dedicated display and editing environment for all of these ghost libraries. Conventionally, when editing a document described by a vocabulary for which a dedicated editing environment is not prepared, the source of the document composed of text data is directly edited by a text editor or the like.
  • the present invention has been made in view of such a situation, and an object of the present invention is to provide a technique for improving the convenience of a user when processing a document described in a markup language. You.
  • the document processing apparatus includes a plurality of processing systems that simultaneously display a document described in a markup language on a same screen in a plurality of display formats different from each other and that accepts editing of the document by a user.
  • Another embodiment of the present invention also relates to a document processing apparatus.
  • This document processing device And a plurality of processing systems for displaying a document described in a backup language in a plurality of display formats different from each other so as to be switchable, and for accepting editing of the document by a user.
  • the markup language may be a form of XML, for example, XHTML, SVG, MathML, or the like, or SGML, HTML, or the like.
  • One of the plurality of processing systems When the user's power also receives the editing of the document, the display of the other processing systems may be updated to reflect the editing result. As a result, it is possible to reflect the editing in other processing systems in real time and display the latest status.
  • the processing unit may further include a conversion unit that maps a document to be processed to a markup language that can be supported by the processing unit.
  • a conversion unit that maps a document to be processed to a markup language that can be supported by the processing unit.
  • the image processing apparatus further includes a generation unit configured to generate, from the document to be processed, data in a format that conforms to a document object model defined to provide an access method when the document is treated as data.
  • the unit may generate first document object model data corresponding to the document to be processed and second document object model data corresponding to the document mapped by the conversion unit.
  • the first document object model data is the DOM tree that is the basis of editing
  • the second document object model data is the DOM tree that is the basis of display.
  • the processing system that has accepted the editing of the document from the user may change the first document object model data.
  • the processing system based on the display of the second document object model data updates the second document object model data when the first document object model data is updated. To update. This allows the editing to be reflected on the display in real time.
  • Still another embodiment of the present invention relates to a document processing method.
  • This method uses the markup language A document described in terms of words is simultaneously displayed on the same screen in a plurality of display formats different from each other, and editing of the document by a user is accepted.
  • FIG. 1 is a diagram showing a configuration of a document processing apparatus according to an embodiment.
  • FIG. 2 is a diagram showing an example of an XML document edited by a document processing device.
  • FIG. 3 is a diagram showing an example of mapping the XML document shown in FIG. 2 to a table described in HTML.
  • FIG. 4 is a diagram showing an example of a definition file for mapping the XML document shown in FIG. 2 to the table shown in FIG.
  • FIG. 5 is a diagram showing an example of a screen on which the XML document shown in FIG. 2 is mapped to HTML according to the correspondence shown in FIG. 3 and displayed.
  • FIG. 6 is a diagram showing an example of a graphical user interface presented to a user by a definition file generation unit in order for the user to generate a definition file.
  • FIG. 7 is a diagram showing another example of the screen layout generated by the definition file generation unit.
  • FIG. 8 is a diagram showing an example of an editing screen of an XML document by the document processing device.
  • FIG. 9 is a diagram showing another example of the XML document edited by the document processing device.
  • FIG. 10 is a diagram showing an example of a screen displaying the document shown in FIG. 9.
  • 100 document processing device 110 main control unit, 120 editing unit, 130 DOM unit, 132 DOM providing unit, 134 DOM generating unit, 136 output unit, 140 CSS unit, 150 HTML unit, 160 SVG unit, 180 VC unit, 182 Mapping unit, 184 Definition file acquisition unit, 186 Definition file generation unit.
  • FIG. 1 shows a configuration of a document processing apparatus 100 according to the embodiment.
  • the document processing apparatus 100 processes a structured document in which data in the document is classified into a plurality of components having a hierarchical structure.
  • the document processing apparatus 100 includes a main control unit 110, an editing unit 120, a DOM unit 130, a CSS unit 140, an HTML unit 150, an SVG unit 160, and a VC unit 180 which is an example of a conversion unit.
  • these configurations are realized by the CPU, memory, and programs loaded in the memory of any computer. . Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.
  • the main control unit 110 provides a framework for loading plug-ins and executing commands.
  • Editing unit 120 provides a framework for editing XML documents.
  • the display and editing functions of the document in the document processing apparatus 100 are realized by plug-ins, and a necessary plug-in is loaded by the main control unit 110 or the editing unit 120 according to the type of the document.
  • the main control unit 110 or the editing unit 120 determines which XML document is described by referring to the namespace of the XML document to be processed, and displays or displays the XML document corresponding to the XML document. Import an editing plug-in to display and edit.
  • the document processing apparatus 100 has a display system and an editing system for each vocabulary (tag set), such as an HTML unit 150 for displaying and editing HTML documents and an SVG unit 160 for displaying and editing SVG documents.
  • the HTML unit 150 is loaded when editing an HTML document
  • the SVG unit 160 is loaded when editing an SVG document.
  • both the HTML unit 150 and the SVG unit 160 are loaded.
  • the user can select and install only necessary functions, and add or delete functions as needed.
  • the storage area of a recording medium such as a disk can be effectively used, and wasting of memory can be prevented even when a program is executed.
  • it has excellent function expandability, and as a development main body, it is possible to respond to a new vocabulary in the form of a plug-in, making development easier. Additional functions can be added at cost.
  • the editing unit 120 receives an event of an editing instruction from a user interface via a user interface, notifies the event to an appropriate plug-in or the like, and executes the event again (redo) or cancels the execution (undo). ) Is controlled.
  • the DOM unit 130 includes a DOM providing unit 132, a DOM generating unit 134, and an output unit 136, and is a document object model (Document Object Model) defined to provide an access method when handling an XML document as data. : DOM) compliant functions.
  • the DOM providing unit 132 is an implementation of the DOM that satisfies the interface defined in the editing unit 120.
  • the DOM generation unit 134 generates a DOM tree from the XML document. As will be described later, when the XML document to be processed is mapped to another vocabulary by the VC unit 180, the source tree corresponding to the XML document at the mapping source and the destination tree corresponding to the XML document at the mapping destination A tree is created.
  • the output unit 136 outputs the DOM tree as an XML document at the end of editing, for example.
  • the CSS unit 140 includes a CSS analysis unit 142, a CSS providing unit 144, and a rendering unit 146, and provides a display function compliant with CSS.
  • the CSS analysis unit 142 has a function of a versa that analyzes the syntax of CSS.
  • the CSS providing unit 144 is an implementation of a CSS object, and performs a cascade process of the CSS on the DOM tree.
  • the rendering unit 146 is a CSS rendering engine, and is used to display a document described in a vocabulary such as HTML laid out using CSS.
  • the HTML unit 150 displays or edits a document described in HTML.
  • the SVG unit 160 displays or edits a document described by SVG.
  • These display Z editing systems are implemented in the form of plug-ins, and display units (Canvas) 156 and 166 for displaying a document, and control units (Editlet) 152 and 16 for transmitting and receiving an event including an edit instruction, respectively. 2. Equipped with an editing unit (Zone) 154, 164 that edits the DOM in response to an editing command .
  • the control unit 152 or 162 receives an external command for editing the DOM tree
  • the editing unit 154 or 164 changes the DOM tree
  • the display unit 156 or 166 updates the display.
  • the display units 156 and 166 are in “View”
  • the control units 152 and 162 are in “Controlle”
  • the entities of parts 154 and 164 and the DOM correspond to “Model”, respectively.
  • the HTML unit 150 provides a user interface for editing an HTML document in a manner similar to a word processor
  • the SVG unit 160 provides a user interface for editing an SVG document in a manner similar to an image drawing tool. Provide an interface.
  • the VC unit 180 includes a mapping unit 182, a definition file acquisition unit 184, and a definition file generation unit 186.
  • the VC unit 180 maps a document described by a certain vocabulary to another vocabulary, thereby forming a mapping destination vocabulary.
  • this function is called a Vocabulary Connection (VC).
  • the definition file obtaining unit 184 obtains a script file in which mapping definitions are described. This definition file describes the correspondence (connection) between nodes for each node. At this time, whether to edit the element value or attribute value of each node may be specified. Further, an arithmetic expression using the element value of the node and the attribute value may be described.
  • the mapping unit 182 refers to the script file acquired by the definition file acquisition unit 184, causes the DOM generation unit 134 to generate a destination tree, and manages the correspondence between the source tree and the destination tree.
  • the definition file generation unit 186 provides a graphical user interface for a user to generate a definition file.
  • the VC unit 180 monitors the connection between the source tree and the destination tree, and upon receiving an editing instruction from a user via a user interface provided by a plug-in in charge of display, first, receives a source tree. Change the applicable node of. When a mutation event indicating that the source tree has been changed is issued, the VC unit 180 receives the mutation event and changes the source tree. Change the nodes in the destination tree that correspond to the changed nodes that synchronize the destination tree. The destination tree is displayed.
  • the plugin for editing for example, the HTML unit 150 receives the mutation event indicating that the destination tree has been changed, and updates the display with reference to the changed destination tree. With such a configuration, even if a document is described by a local vocabulary used by a small number of users, the document can be displayed by converting the document into another major vocabulary, and the editing environment can be improved. Provided.
  • the DOM generation unit 134 When the document processing device 100 reads a document to be processed, the DOM generation unit 134 generates a DOM tree from the XML document. Further, the main control unit 110 or the editing unit 120 refers to the name space to determine the vocabulary describing the document. If a plug-in corresponding to the ghost library is installed in the document processing apparatus 100, the plugin is loaded and the document is displayed and Z-edited. If plug-in module S is not installed, check whether the mapping definition file exists. When the definition file exists, the definition file acquisition unit 184 acquires the definition file, generates a destination tree according to the definition, and displays and edits the document by a plug-in corresponding to the mapping destination vocabulary.
  • corresponding portions of the document are displayed and edited by a plug-in corresponding to each bokeh library. If the definition file does not exist, the source or tree structure of the document is displayed, and editing is performed on the display screen.
  • FIG. 2 shows an example of an XML document to be processed.
  • This XML document is used to manage student performance data.
  • the component “grading”, which is the top node of the XML document, has a plurality of component “students” provided for each student underneath.
  • the component “student” has an attribute value “name” and child elements “national language”, “mathematics”, “science”, and “society”.
  • the attribute value “name” stores the name of the student.
  • the components “language”, “mathematics”, “science”, and “society” store the results of the national language, mathematics, science, and society, respectively.
  • the student whose name is “A” has a language score of “90”, a math score of “50”, a science score of “75”, and a social score of “60”.
  • the bokeh library (tag set) used in this document "Blurry”.
  • the document processing apparatus 100 of the present embodiment does not have a plug-in that supports the display and editing of the grade management vocabulary Z. Therefore, in order to display this document by a method other than the source display and the tree display, The VC function described above is used. In other words, it is necessary to prepare a definition file for mapping the grade management vocabulary to another vocabulary provided with a plug-in, such as HTML or SVG.
  • a plug-in such as HTML or SVG.
  • the user interface for the user to create the definition file will be described later, and here, the description will be made on the assumption that the definition file is already prepared.
  • FIG. 3 shows an example in which the XML document shown in FIG. 2 is mapped to a table described in HTML.
  • the "student" node of the grade management vocabulary is associated with the row ("TR" node) of the table ("TABLE” node) in HTML, and the first column of each row has the attribute value "name”.
  • the element value of the "language” node, in the third column, the element value of the "math” node, in the fourth column, the element value of the "science” node, and in the fifth column, "social” ”Node element values As a result, the XML document shown in FIG. 2 can be displayed in an HTML table format.
  • these attribute values and element values can be edited, and the user can edit these values by using the editing function of the HTML unit 150 on a display screen in HTML.
  • the formula for calculating the weighted average of the results of the Japanese language, mathematics, science, and society is specified, and the average score of the student's performance is displayed.
  • the sixth column specifies that editing is not allowed, and only the average score cannot be edited individually. In this way, by allowing the user to specify whether or not editing is possible in the mapping definition, erroneous operations by the user can be prevented.
  • FIG. 4 shows an example of a definition file for mapping the XML document shown in FIG. 2 to the table shown in FIG.
  • This definition file is described in the script language defined for the definition file.
  • the definition file contains command definitions and display templates.
  • the commands “Add Student” and “Delete Student” are defined as commands, respectively, an operation to insert the node “Student” into the source tree and a command from the source tree.
  • An operation for deleting a “student” is associated with the operation.
  • headings such as "name” and “national language” are displayed on the first line of the table, and that the content of the node "student” is displayed on the second and subsequent lines.
  • FIG. 5 shows an example of a screen on which an XML document described in the grade management vocabulary shown in FIG. 2 is mapped to HTML according to the correspondence shown in FIG. 3 and displayed.
  • Each row in Table 200 displays, from the left, the name of each student, the grade in the language, the grade in mathematics, the grade in science, the grade in society, and the average score.
  • the user can edit the XML document on this screen. For example, changing the value of the second row and the third column to “70” changes the element value of the source tree corresponding to this node, that is, the math result of the student “B” to “70”.
  • the VC unit 180 changes the corresponding part of the destination tree to make the destination tree follow the source tree, and updates the display based on the changed destination tree. Therefore, in the table on the screen, the student's “B” mathematics result is changed to “70”, and the average score is changed to “55”.
  • the command power of “student follow-up” and “student deletion” is displayed.
  • the node "Student” is added or deleted in the source tree.
  • the editing function of such a tree structure may be provided to the user in the form of a command.
  • a command for adding or deleting a row in a table may be associated with an operation for adding or deleting a node “student”.
  • a command for embedding another ghost library may be provided to the user.
  • FIG. 6 shows an example of a graphical user interface presented to the user by the definition file generation unit 186 in order for the user to generate a definition file.
  • a mapping source XML document is displayed as a tree.
  • the area 204 on the right side of the screen shows the screen layout of the XML document to be mapped.
  • This screen layout can be edited by the HTML unit 150, and the user creates a screen layout for displaying a document in the area 204 on the right side of the screen.
  • the node of the mapping source XML document displayed in the area 202 on the left side of the screen is dragged and dropped into the HTML screen layout displayed in the area 204 on the right side of the screen.
  • the connection between the mapping source node and the mapping destination node is specified. For example, if you drop “Mathematics”, a child element of the element “Student”, into the first row and third column of Table 200 on the HTML screen, a connection will be established between the “Mathematics” node and the “TD” node in the third column Is stretched.
  • Each node can be specified for editing. Further, an arithmetic expression can be embedded in the display screen.
  • the definition file generating unit 186 When the editing of the screen is completed, the definition file generating unit 186 generates a definition file describing the screen layout and the connection between nodes.
  • FIG. 7 shows another example of the screen layout generated by the definition file generating unit 186.
  • a table 200 and a pie chart 206 are created on a screen for displaying an XML document described in the grade management vocabulary.
  • This pie chart 206 is described by SVG.
  • the document processing apparatus 100 of the present embodiment can process a compound document including a plurality of ghost libraries in one XML document.
  • the pie chart 206 described in SVG on one screen Can be displayed.
  • FIG. 8 shows an example of an editing screen of the XML document by the document processing device 100.
  • one screen is divided into a plurality of screens, and the XML document to be processed is displayed in a plurality of different display formats in each area.
  • the area 210 displays the source of the document
  • the area 212 displays the tree structure of the document
  • the area 214 displays the table described in HTML shown in FIG. Have been.
  • Documents can be edited on any of these screens, and when a user edits on any of the screens, the source tree is changed, and the plug-in responsible for displaying each screen changes to the source tree. Update the screen to reflect the changes in.
  • the display unit of the plug-in that is in charge of displaying each editing screen is registered, and V, any of the plug-ins or VC units are registered.
  • V any of the plug-ins or VC units are registered.
  • the source tree is changed by 180, all the display units displaying the edit screen receive the issued mutation event and update the screen.
  • the VC unit 180 changes the destination tree following the change in the source tree, and then refers to the changed destination tree to change the plug-in.
  • the in-display unit updates the screen.
  • the source display plug-in and the tree display plug-in directly refer to the source tree without using the destination tree.
  • the source display plug-in and the tree display plug-in directly refer to the source tree without using the destination tree.
  • the source display plug-in and tree display plug-in update the screen with reference to the changed source tree, and are in charge of the screen in area 214.
  • the HTML tree 150 updates the screen by referring to the changed destination tree following the change in the source tree.
  • the source display and the tree display can also be realized by using the VC function. That is, the source and tree structure may be laid out by HTML, an XML document may be mapped to the HTML, and displayed by the HTML unit 150. In this case, three destination trees are generated: source format, tree format, and table format.
  • the VC unit 180 changes the source tree and The HTML unit 150 changes the three destination trees of the formula, tree format, and table format, respectively, and updates the three screens by referring to those destination trees.
  • the main control unit 110 receives a request to switch the display format from the user, and switches the display by instructing each plug-in.
  • FIG. 9 shows another example of the XML document edited by the document processing device 100.
  • the XHTML document is embedded in the "foreignObject" tag of the SVG document, and the XHTML document contains mathematical expressions described in MathML.
  • the editing unit 120 refers to the name space and allocates the drawing operation to an appropriate display system.
  • the editing unit 120 first causes the SVG unit 160 to draw a square, and then causes the HTML unit 150 to draw an XHTML document.
  • a mathematical expression is drawn by a MathML unit (not shown). In this way, a compound document including a plurality of ghost libraries is appropriately displayed.
  • Figure 10 shows the display results.
  • the displayed menu may be switched according to the position of the cursor (carriage). That is, when the cursor is within the area where the SVG document is displayed, the menu displayed by the SVG unit 160 or the command defined in the definition file for mapping the SVG document is displayed, and the cursor is displayed.
  • the menu provided by the HTML unit 150 or the command defined in the definition file for mapping the XHTML document is displayed.
  • an appropriate user interface can be provided according to the editing position.
  • a compound document if an appropriate plug-in or mapping definition file corresponding to a certain bokeh library is used, the part described by that boki library is displayed in source.
  • a tree display may be used.
  • the power of the application that displays the embedded document S is installed.
  • the contents can be grasped by displaying the XML document composed of the text data in a source display or a tree display. This is a unique feature of text-based documents such as XML.
  • Another advantage of data being described on a text basis is that, for example, in a compound document, a part described by a certain vocabulary refers to data of a part described by another vocabulary in the same document. May be.
  • a character string embedded in a figure such as SVG can also be a search target.
  • a tag of another bokeh library may be used.
  • This XML document is not valid, but if it is well-formed (welH rmed), it can be processed as a valid XML document.
  • the inserted tags of the other vocabulary may be mapped by the definition file. For example, in an XHTML document, tags such as "important" and “most important” may be used, and the portion surrounded by these tags may be highlighted, or sorted and displayed in order of importance.
  • the plug-in or VC unit 180 responsible for the edited portion changes the source tree. Mutation event listeners can be registered in the source tree for each node. Normally, the plug-in display section or VC cutout 180 corresponding to the vocabulary to which each node belongs is registered as a listener. Is done.
  • the DOM providing unit 132 traces the changed node to a higher hierarchy, and if there is a registered listener, issues a mutation event to that listener. For example, in the document shown in Fig.
  • a mutation event is notified to the HTML unit 150 registered as a listener at the ⁇ html> node, and the In addition, the mutation event is also notified to the SVG unit 160 registered as a listener in the svg> node.
  • the HTML unit 150 updates the display by referring to the changed source tree.
  • the SVG unit 160 is a node belonging to its own vocabulary. Has been changed, so you can ignore the mutation event.
  • the layout of the display area for each plug-in is updated by a configuration for managing the screen layout, for example, a plug-in that is responsible for displaying the highest node.
  • a configuration for managing the screen layout for example, a plug-in that is responsible for displaying the highest node.
  • the HTML unit 150 first draws a part in charge of itself and determines the size of the display area. Then, the configuration for managing the screen layout is notified of the size of the display area after the change, and the layout is requested to be updated.
  • the configuration that manages the screen layout re-lays out the display area for each plug-in upon receiving the notification.
  • the display of the edited portion is appropriately updated, and the layout of the entire screen is updated.
  • the document processing apparatus 100 is capable of processing a document described in another markup language, for example, SGML, HTML, or the like. Can be processed similarly.
  • the present invention is applicable to a document processing device that processes a document described in a markup language.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

 構造化文書を適切に処理可能な文書処理装置を提供する。  文書処理装置100は、HTML文書を表示/編集するHTMLユニット150、SVG文書を表示/編集するSVGユニット160など、ボキャブラリごとに、表示/編集系をプラグインにより実現する。処理対象となる文書が、インストールされているプラグインでは対応不可能なボキャブラリにより記述されていたときには、VCユニット180が、その文書を表示可能なボキャブラリ、ここでは、HTMLやSVGにマッピングして、HTMLユニット150又はSVGユニット160により表示/編集する。文書処理装置100は、処理対象となる文書を、互いに異なる複数の表示形式で、同一画面上に同時に表示して、ユーザによる文書の編集を受け付ける。

Description

明 細 書
文書処理装置及び文書処理方法
技術分野
[0001] 本発明は、文書処理技術に関し、特に、マークアップ言語により記述された文書を 処理する文書処理装置及び文書処理方法に関する。
背景技術
[0002] XMLは、ネットワークなどを介して他者とデータを共有するのに適した形式として注 目されており、 XML文書を作成、表示、編集するためのアプリケーションが開発され ている(たとえば、特許文献 1参照)。 XML文書は、文書型定義などにより定義された ボキヤブラリ(タグセット)に基づいて作成されている。
特許文献 1:特開 2001— 290804号公報
発明の開示
発明が解決しょうとする課題
[0003] ボキヤブラリは、任意に定義することが許されており、理論上、無限に多くのボキヤ ブラリが存在しうる。これらのボキヤブラリの全てに対応して専用の表示 ·編集環境を 提供するのは現実的ではない。従来、専用の編集環境が用意されていないボキヤブ ラリにより記述された文書を編集する場合、テキストデータにより構成された文書のソ ースを直接テキストエディタなどで編集して 、た。
[0004] 本発明はこうした状況に鑑みてなされたものであり、その目的は、マークアップ言語 により記述された文書を処理する際の、ユーザの利便性を向上させる技術を提供す ることにめる。
課題を解決するための手段
[0005] 本発明のある態様は、文書処理装置に関する。この文書処理装置は、マークアップ 言語により記述された文書を、互いに異なる複数の表示形式で、同一画面上に同時 に表示し、ユーザによる前記文書の編集を受け付ける複数の処理系を備えることを 特徴とする。
[0006] 本発明の別の態様も、文書処理装置に関する。この文書処理装置は、マークアツ プ言語により記述された文書を、互いに異なる複数の表示形式で切り替え可能に表 示し、ユーザによる前記文書の編集を受け付ける複数の処理系を備えることを特徴と する。
[0007] マークアップ言語は、 XMLの一开態、例えば、 XHTML, SVG, MathMLなどで あってもよぐ SGML, HTMLなどであってもよい。異なる複数の表示形式で文書を 表示することで、ユーザが文書を様々な角度力も把握することができ、文書を編集し やすくすることができる。これにより、ユーザの利便性を向上させることができる。
[0008] 前記複数の処理系のうちの一つ力 ユーザ力も前記文書の編集を受け付けたとき、 編集結果を反映して、他の処理系も表示を更新してもよい。これにより、他の処理系 における編集をリアルタイムに反映し、最新の状況を表示することができる。
[0009] 処理対象となる文書を、前記処理部が対応可能なマークアップ言語にマッピングす る変換部を更に備えてもよい。これにより、処理系が対応してないマークアップ言語 により記述された文書であっても、表示 ·編集することができる。また、処理系が対応 しているマークアップ言語であっても、 XHTML、 HTMLなどのマークアップ言語に より編集用の画面を作成して提供することができる。
[0010] 前記処理対象となる文書から、文書をデータとして扱うときのアクセス方法を提供す るために定められた文書オブジェクトモデルに準拠した形式のデータを生成する生 成部を更に備え、前記生成部は、前記処理対象となる文書に対応する第 1の文書ォ ブジェクトモデルデータと、前記変換部によりマッピングした文書に対応する第 2の文 書オブジェクトモデルデータとを生成してもよ 、。第 1の文書オブジェクトモデルデー タは、編集の基礎となる DOMツリーであり、第 2の文書オブジェクトモデルデータは、 表示の基礎となる DOMツリーである。ユーザから前記文書の編集を受け付けた処理 系は、前記第 1の文書オブジェクトモデルデータを変更してもよい。他の処理系で、 第 2の文書オブジェクトモデルデータを表示の基礎としている処理系は、第 1の文書 オブジェクトモデルデータが更新されたときに、第 2の文書オブジェクトモデルデータ を更新して、表示を更新する。これにより、編集をリアルタイムに表示に反映すること ができる。
[0011] 本発明のさらに別の態様は、文書処理方法に関する。この方法は、マークアップ言 語により記述された文書を、互いに異なる複数の表示形式で、同一画面上に同時に 表示し、ユーザによる前記文書の編集を受け付けることを特徴とする。
[0012] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムな どの間で変換したものもまた、本発明の態様として有効である。
発明の効果
[0013] 本発明によれば、マークアップ言語により記述された文書を処理する際の、ユーザ の利便性を向上させることができる。
図面の簡単な説明
[0014] [図 1]実施の形態に係る文書処理装置の構成を示す図である。
[図 2]文書処理装置により編集される XML文書の例を示す図である。
[図 3]図 2に示した XML文書を HTMLで記述された表にマッピングする例を示す図 である。
[図 4]図 2に示した XML文書を図 3に示した表にマッピングするための定義フアイル の例を示す図である。
[図 5]図 2に示した XML文書を、図 3に示した対応により HTMLにマッピングして表 示した画面の例を示す図である。
[図 6]ユーザが定義ファイルを生成するために、定義ファイル生成部がユーザに提示 するグラフィカルユーザインターフェースの例を示す図である。
[図 7]定義ファイル生成部により生成された画面レイアウトの他の例を示す図である。
[図 8]文書処理装置による XML文書の編集画面の一例を示す図である。
[図 9]文書処理装置により編集される XML文書の他の例を示す図である。
[図 10]図 9に示した文書を表示した画面の例を示す図である。
符号の説明
[0015] 100 文書処理装置、 110 主制御ユニット、 120 編集ユニット、 130 DOMュ- ット、 132 DOM提供部、 134 DOM生成部、 136 出力部、 140 CSSユニット 、 150 HTMLユニット、 160 SVGユニット、 180 VCユニット、 182 マッピング部 、 184 定義ファイル取得部、 186 定義ファイル生成部。 発明を実施するための最良の形態
[0016] 図 1は、実施の形態に係る文書処理装置 100の構成を示す。文書処理装置 100は 、文書内のデータが階層構造を有する複数の構成要素に分類された構造化文書を 処理するが、本実施の形態では構造化文書の一例として XML文書を処理する例に ついて説明する。文書処理装置 100は、主制御ユニット 110、編集ユニット 120、 DO Mユニット 130、 CSSユニット 140、 HTMLユニット 150、 SVGユニット 160、及び変 換部の一例である VCユニット 180を備える。これらの構成は、ハードウェアコンポ一 ネントでいえば、任意のコンピュータの CPU、メモリ、メモリにロードされたプログラム などによって実現されるが、ここではそれらの連携によって実現される機能ブロックを 描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ 、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解 されるところである。
[0017] 主制御ユニット 110は、プラグインのロードや、コマンド実行のフレームワークを提供 する。編集ユニット 120は、 XML文書を編集するためのフレームワークを提供する。 文書処理装置 100における文書の表示及び編集機能は、プラグインにより実現され ており、文書の種別に応じて必要なプラグインが主制御ユニット 110又は編集ュ-ッ ト 120によりロードされる。主制御ユニット 110又は編集ユニット 120は、処理対象とな る XML文書の名前空間を参照して、 XML文書がいずれのボキヤブラリにより記述さ れて ヽるかを判別し、そのボキヤブラリに対応した表示又は編集用のプラグインを口 ードして表示や編集を実行させる。例えば、文書処理装置 100には、 HTML文書の 表示及び編集を行う HTMLユニット 150、 SVG文書の表示及び編集を行う SVGュ ニット 160など、ボキヤブラリ(タグセット)ごとに表示系及び編集系がプラグインとして 実装されており、 HTML文書を編集するときは HTMLユニット 150が、 SVG文書を 編集するときは SVGユニット 160が、それぞれロードされる。後述するように、 HTML と SVGの双方の構成要素を含む複合文書が処理対象となって ヽる場合は、 HTML ユニット 150と SVGユニット 160の双方がロードされる。
[0018] このような構成によれば、ユーザは、必要な機能のみを選択してインストールし、後 力 適宜機能を追加又は削除することができるので、プログラムを格納するハードデ イスクなどの記録媒体の記憶領域を有効に活用することができ、また、プログラム実行 時にも、メモリの浪費を防ぐことができる。また、機能拡張性に優れており、開発主体 としても、プラグインの形で新たなボキヤブラリに対応することが可能なので開発が容 易となり、ユーザとしても、プラグインの追カ卩により容易かつ低コストにて機能を追カロ することができる。
[0019] 編集ユニット 120は、ユーザインターフェースを介してユーザ力も編集指示のィベン トを受け付け、そのイベントを適切なプラグインなどに通知するともに、イベントの再実 行 (リドウ)又は実行の取消(アンドゥ)などの処理を制御する。
[0020] DOMユニット 130は、 DOM提供部 132、 DOM生成部 134、及び出力部 136を 含み、 XML文書をデータとして扱うときのアクセス方法を提供するために定められた 文書オブジェクトモデル(Document Object Model: DOM)に準拠した機能を実現す る。 DOM提供部 132は、編集ユニット 120に定義されているインタフェースを満たす DOMの実装である。 DOM生成部 134は、 XML文書から DOMツリーを生成する。 後述するように、処理対象となる XML文書力 VCユニット 180により他のボキヤブラ リにマッピングされる場合は、マッピング元の XML文書に対応するソースツリーと、マ ッビング先の XML文書に対応するデスティネーションツリーが生成される。出力部 13 6は、例えば編集終了時に、 DOMツリーを XML文書として出力する。
[0021] CSSユニット 140は、 CSS解析部 142、 CSS提供部 144、及びレンダリング部 146 を含み、 CSSに準拠した表示機能を提供する。 CSS解析部 142は、 CSSの構文を 解析するバーサの機能を有する。 CSS提供部 144は、 CSSオブジェクトの実装であ り、 DOMツリーに対して CSSのカスケード処理を行う。レンダリング部 146は、 CSS のレンダリングエンジンであり、 CSSを用いてレイアウトされる HTMLなどのボキヤブ ラリで記述された文書の表示に用いられる。
[0022] HTMLユニット 150は、 HTMLにより記述された文書を表示又は編集する。 SVG ユニット 160は、 SVGにより記述された文書を表示又は編集する。これらの表示 Z編 集系は、プラグインの形で実現されており、それぞれ、文書を表示する表示部( Canvas) 156、 166、編集指示を含むイベントを送受信する制御部(Editlet) 152、 16 2、編集コマンドを受けて DOMに対して編集を行う編集部(Zone) 154、 164を備える 。制御部 152又は 162が外部力も DOMツリーの編集コマンドを受け付けると、編集 部 154又は 164が DOMツリーを変更し、表示部 156又は 166が表示を更新する。こ れらは、 MVC (Model-View-Controller)と呼ばれるフレームワークに類似する構成を とっており、概ね、表示部 156及び 166が「View」に、制御部 152及び 162が「 Controlle に、編集部 154及び 164と DOMの実体が「Model」に、それぞれ対応す る。本実施の形態の文書処理装置 100では、 XML文書をツリー表示形式で編集す るだけでなぐそれぞれのボキヤブラリに応じた編集を可能とする。例えば、 HTMLュ ニット 150は、 HTML文書をワードプロセッサに類似した方式で編集するためのユー ザインターフェースを提供し、 SVGユニット 160は、 SVG文書を画像描画ツールに類 似した方式で編集するためのユーザインターフェースを提供する。
[0023] VCユニット 180は、マッピング部 182、定義ファイル取得部 184、及び定義ファイル 生成部 186を含み、あるボキヤブラリにより記述された文書を、他のボキヤブラリにマ ッビングすることにより、マッピング先のボキヤブラリに対応した表示編集用プラグイン で文書を表示又は編集するためのフレームワークを提供する。本実施の形態では、 この機能を、ボキヤブラリコネクション(Vocabulary Connection: VC)と呼ぶ。定義ファ ィル取得部 184は、マッピングの定義を記述したスクリプトファイルを取得する。この 定義ファイルは、ノードごとに、ノード間の対応 (コネクション)を記述する。このとき、各 ノードの要素値や属性値の編集の可否を指定してもよい。また、ノードの要素値ゃ属 性値を用いた演算式を記述してもよい。これらの機能については、後で詳述する。マ ッビング部 182は、定義ファイル取得部 184が取得したスクリプトファイルを参照して、 DOM生成部 134にデスティネーションツリーを生成させ、ソースツリーとデスティネー シヨンツリーの対応関係を管理する。定義ファイル生成部 186は、ユーザが定義ファ ィルを生成するためのグラフィカルユーザインターフェースを提供する。
[0024] VCユニット 180は、ソースツリーとデスティネーションツリーの間のコネクションを監 視し、表示を担当するプラグインにより提供されるユーザインタフェースを介してユー ザから編集指示を受け付けると、まずソースツリーの該当するノードを変更する。 DO Mユニット 130力 ソースツリーが変更された旨のミューテーシヨンイベントを発行する と、 VCユニット 180は、そのミューテーシヨンイベントを受けて、ソースツリーの変更に デスティネーションツリーを同期させるベぐ変更されたノードに対応するデスティネー シヨンツリーのノードを変更する。デスティネーションツリーを表示 z編集するプラグィ ン、例えば HTMLユニット 150は、デスティネーションツリーが変更された旨のミュー テーシヨンイベントを受けて、変更されたデスティネーションツリーを参照して表示を 更新する。このような構成により、少数のユーザにより利用されるローカルなボキヤブ ラリにより記述された文書であっても、他のメジャーなボキヤブラリに変換することで、 文書を表示することができるとともに、編集環境が提供される。
[0025] 文書処理装置 100により文書を表示又は編集する動作について説明する。文書処 理装置 100が処理対象となる文書を読み込むと、 DOM生成部 134が、その XML文 書から DOMツリーを生成する。また、主制御ユニット 110又は編集ユニット 120は、 名前空間を参照して文書を記述しているボキヤブラリを判別する。そのボキヤブラリに 対応したプラグインが文書処理装置 100にインストールされている場合は、そのブラ グィンをロードして、文書を表示 Z編集させる。プラグインカ Sインストールされていない 場合は、マッピングの定義ファイルが存在するカゝ否かを確認する。定義ファイルが存 在する場合、定義ファイル取得部 184が定義ファイルを取得し、その定義に従って、 デスティネーションツリーが生成され、マッピング先のボキヤブラリに対応するプラグィ ンにより文書が表示 Z編集される。複数のボキヤブラリを含む複合文書である場合は 、後述するように、それぞれのボキヤブラリに対応したプラグインにより、文書の該当 箇所がそれぞれ表示 Z編集される。定義ファイルが存在しない場合は、文書のソー ス又はツリー構造を表示し、その表示画面にぉ 、て編集が行われる。
[0026] 図 2は、処理対象となる XML文書の例を示す。この XML文書は、生徒の成績デー タを管理するために用いられる。 XML文書のトップノードである構成要素「成績」は、 配下に、生徒ごとに設けられた構成要素「生徒」を複数有する。構成要素「生徒」は、 属性値「名前」と、子要素「国語」、「数学」、「理科」、「社会」を有する。属性値「名前」 は、生徒の名前を格納する。構成要素「国語」、「数学」、「理科」、「社会」は、それぞ れ、国語、数学、理科、社会の成績を格納する。例えば、名前カ^ A」である生徒の国 語の成績は「90」、数学の成績は「50」、理科の成績は「75」、社会の成績は「60」で ある。以下、この文書で使用されているボキヤブラリ(タグセット)を、「成績管理ボキヤ ブラリ」と呼ぶ。
[0027] 本実施の形態の文書処理装置 100は、成績管理ボキヤブラリの表示 Z編集に対応 したプラグインを有しないので、この文書をソース表示、ツリー表示以外の方法で表 示するためには、前述した VC機能が用いられる。すなわち、成績管理ボキヤブラリを 、プラグインが用意された別のボキヤブラリ、例えば、 HTMLや SVGなどにマツピン グするための定義ファイルを用意する必要がある。ユーザ自身が定義ファイルを作成 するためのユーザインターフェースについては後述することにして、ここでは、既に定 義ファイルが用意されているとして説明を進める。
[0028] 図 3は、図 2に示した XML文書を HTMLで記述された表にマッピングする例を示 す。図 3の例では、成績管理ボキヤブラリの「生徒」ノードを、 HTMLにおける表(「 TABLE」ノード)の行(「TR」ノード)に対応づけ、各行の第 1列には属性値「名前」を、 第 2列には「国語」ノードの要素値を、第 3列には「数学」ノードの要素値を、第 4列に は「理科」ノードの要素値を、第 5列には「社会」ノードの要素値を、それぞれ対応付 ける。これにより、図 2に示した XML文書を、 HTMLの表形式で表示することができ る。また、これらの属性値及び要素値は、編集可能であることが指定されており、ユー ザが HTMLによる表示画面上で、 HTMLユニット 150の編集機能により、これらの 値を編集することができる。第 6列には、国語、数学、理科、社会の成績の加重平均 を算出する演算式が指定されており、生徒の成績の平均点が表示される。このように 、定義ファイルに演算式を指定可能とすることにより、より柔軟な表示が可能となり、 編集時のユーザの利便性を向上させることができる。なお、第 6列は、編集不可であ ることが指定されており、平均点のみを個別に編集することができな 、ようにして 、る 。このように、マッピング定義において、編集の可否を指定可能とすることにより、ユー ザの誤操作を防ぐことができる。
[0029] 図 4は、図 2に示した XML文書を図 3に示した表にマッピングするための定義フアイ ルの例を示す。この定義ファイルは、定義ファイル用に定義されたスクリプト言語によ り記述される。定義ファイルには、コマンドの定義と、表示のテンプレートが記述され ている。図 4の例では、コマンドとして、「生徒の追加」と「生徒の削除」が定義されて おり、それぞれ、ソースツリーにノード「生徒」を挿入する操作と、ソースツリーからノー ド「生徒」を削除する操作が対応付けられている。また、テンプレートとして、表の第 1 行に「名前」、「国語」などの見出しが表示され、第 2行以降に、ノード「生徒」の内容 が表示されることが記述されて 、る。ノード「生徒」の内容を表示するテンプレート中、 rtext-ofjと記述された項は「編集可能」であることを意味し、 rvalue- ofjと記述された 項は「編集不可能」であることを意味する。また、ノード「生徒」の内容を表示する行の うち、第 6列には、「(src:国語 + src:数学 + src:理科 + src:社会) div 4」という計算式 が記述されており、生徒の成績の平均が表示されることを意味する。
[0030] 図 5は、図 2に示した成績管理ボキヤブラリで記述された XML文書を、図 3に示した 対応により HTMLにマッピングして表示した画面の例を示す。表 200の各行には、 左から、各生徒の名前、国語の成績、数学の成績、理科の成績、社会の成績、及び 平均点が表示されている。ユーザは、この画面上で、 XML文書を編集することがで きる。たとえば、第 2行第 3列の値を「70」に変更すると、このノードに対応するソース ツリーの要素値、すなわち、生徒「B」の数学の成績が「70」に変更される。このとき、 VCユニット 180は、デスティネーションツリーをソースツリーに追従させるベぐデステ イネーシヨンツリーの該当箇所を変更し、 HTMLユニット 150力 変更されたデスティ ネーシヨンツリーに基づいて表示を更新する。したがって、画面上の表においても、 生徒「B」の数学の成績が「70」に変更され、更に、平均点が「55」に変更される。
[0031] 図 5に示した画面には、図 4に示した定義ファイルに定義されたように、「生徒の追 カロ」及び「生徒の削除」のコマンド力^-ユーに表示される。ユーザがこれらのコマンド を選択すると、ソースツリーにおいて、ノード「生徒」が追加又は削除される。このよう に、本実施の形態の文書処理装置 100では、階層構造の末端の構成要素の要素値 を編集するのみではなぐ階層構造を編集することも可能である。このようなツリー構 造の編集機能は、コマンドの形でユーザに提供されてもよい。また、例えば、表の行 を追加又は削除するコマンドが、ノード「生徒」を追加又は削除する操作に対応づけ られてもよい。また、他のボキヤブラリを埋め込むコマンドがユーザに提供されてもよ い。この表を入力用テンプレートとして、穴埋め形式で新たな生徒の成績データを追 カロすることもできる。以上のように、 VC機能により、 HTMLユニット 150の表示 Z編 集機能を利用しつつ、成績管理ボキヤブラリで記述された文書を編集することが可能 となる。
[0032] 図 6は、ユーザが定義ファイルを生成するために、定義ファイル生成部 186がユー ザに提示するグラフィカルユーザインターフェースの例を示す。画面左側の領域 202 には、マッピング元の XML文書がツリー表示されている。画面右側の領域 204には 、マッピング先の XML文書の画面レイアウトが示されている。この画面レイアウトは、 HTMLユニット 150により編集可能となっており、ユーザは、画面右側の領域 204に おいて、文書を表示するための画面レイアウトを作成する。そして、例えば、マウスな どのポインティングデバイスにより、画面左側の領域 202に表示されたマッピング元の XML文書のノードを、画面右側の領域 204に表示された HTMLによる画面レイァゥ ト中へドラッグ &ドロップ操作を行うことにより、マッピング元のノードと、マッピング先 のノードとのコネクションが指定される。例えば、要素「生徒」の子要素である「数学」を 、 HTML画面の表 200の第 1行第 3列にドロップすると、「数学」ノードと、 3列目の「T D」ノードの間にコネクションが張られる。各ノードには、編集の可否が指定できるよう になっている。また、表示画面中には、演算式を埋め込むこともできる。画面の編集 が終わると、定義ファイル生成部 186は、画面レイアウトとノード間のコネクションを記 述した定義ファイルを生成する。
[0033] XHTML, MathML、 SVGなどの主要なボキヤブラリに対応したビューヮゃエディ タは既に開発されて 、るが、図 2に示した文書のようなオリジナルなボキヤブラリで記 述された文書に対応したビューヮゃエディタを開発するのは現実的でな 、。しかし、 上記のように、他のボキヤブラリにマッピングするための定義ファイルを作成すれば、 ビューヮゃエディタを開発しなくても、 VC機能を利用して、オリジナルなボキヤブラリ で記述された文書を表示 ·編集することができる。
[0034] 図 7は、定義ファイル生成部 186により生成された画面レイアウトの他の例を示す。
図 7の例では、成績管理ボキヤブラリで記述された XML文書を表示するための画面 に、表 200と、円グラフ 206が作成されている。この円グラフ 206は、 SVGにより記述 される。後述するように、本実施の形態の文書処理装置 100は、一つの XML文書内 に複数のボキヤブラリを含む複合文書を処理することができるので、この例のように、 HTMLで記述された表 200と、 SVGで記述された円グラフ 206とを、一つの画面上 に表示することができる。
[0035] 図 8は、文書処理装置 100による XML文書の編集画面の一例を示す。図 8の例で は、一つの画面が複数に分割されており、それぞれの領域において、処理対象とな る XML文書を異なる複数の表示形式により表示している。領域 210には、文書のソ ースが表示されており、領域 212には、文書のツリー構造が表示されており、領域 21 4には、図 5に示した HTMLにより記述された表が表示されている。これらのいずれ の画面上においても、文書の編集が可能であり、いずれかの画面上でユーザが編集 を行うと、ソースツリーが変更され、それぞれの画面の表示を担当するプラグインが、 ソースツリーの変更を反映すべく画面を更新する。具体的には、ソースツリーの変更 を通知するミューテーシヨンイベントのリスナーとして、それぞれの編集画面の表示を 担当するプラグインの表示部を登録しておき、 V、ずれかのプラグイン又は VCユニット 180によりソースツリーが変更されたときに、編集画面を表示中の全ての表示部が、 発行されたミューテーシヨンイベントを受け取って画面を更新する。このとき、プラグィ ンが VC機能により表示を行っている場合は、 VCユニット 180がソースツリーの変更 に追従してデスティネーションツリーを変更した後、変更されたデスティネーションッリ 一を参照してプラグインの表示部が画面を更新する。
[0036] 例えば、ソース表示及びツリー表示を、専用のプラグインにより実現している場合は 、ソース表示用プラグインとツリー表示用プラグインは、デスティネーションツリーを用 いず、直接ソースツリーを参照して表示を行う。この場合、いずれかの画面において 編集が行われると、ソース表示用プラグインとツリー表示用プラグインは、変更された ソースツリーを参照して画面を更新し、領域 214の画面を担当している HTMLュ-ッ ト 150は、ソースツリーの変更に追従して変更されたデスティネーションツリーを参照 して画面を更新する。
[0037] ソース表示及びツリー表示は、 VC機能を利用して実現することもできる。すなわち 、ソース、ツリー構造を HTMLによりレイアウトし、その HTMLに XML文書をマツピン グして、 HTMLユニット 150により表示してもよい。この場合、ソース形式、ツリー形式 、表形式の 3つのデスティネーションツリーが生成されることになる。いずれかの画面 において編集が行われると、 VCユニット 180は、ソースツリーを変更した後、ソース形 式、ツリー形式、表形式の 3つのデスティネーションツリーをそれぞれ変更し、 HTML ユニット 150は、それらのデスティネーションツリーを参照して、 3つの画面を更新する
[0038] このように、一つの画面上に複数の表示形式で文書を表示することにより、ユーザ の利便性を向上させることができる。例えば、ユーザは、ソース表示又はツリー表示 により文書の階層構造を把握しつつ、表 200などを用いて視覚的に分力りやすい形 式で文書を表示し、編集することができる。上記の例では、一つの画面を分割して複 数の表示形式による画面を同時に表示した力 一つの画面に一つの表示形式による 画面を表示し、表示形式をユーザの指示により切り替え可能としてもよい。この場合、 主制御ユニット 110が、ユーザから表示形式の切り替え要求を受け付け、各プラグィ ンに指示して表示を切り替える。
[0039] 図 9は、文書処理装置 100により編集される XML文書の他の例を示す。図 9に示し た XML文書では、 SVG文書の「foreignObject」タグの中に XHTML文書が埋め込 まれており、さら〖こ、 XHTML文書の中に MathMLで記述された数式が入っている 。このような場合、編集ユニット 120が、名前空間を参照して、適切な表示系に描画 作業を振り分ける。図 9の例では、編集ユニット 120は、まず、 SVGユニット 160に四 角开を描画させ、つづいて、 HTMLユニット 150に XHTML文書を描画させる。さら に、図示しない MathMLユニットに、数式を描画させる。こうして、複数のボキヤブラリ を包含する複合文書が適切に表示される。表示結果を図 10に示す。
[0040] 文書編集中、カーソル (キャリッジ)の位置に応じて、表示されるメニューを切り替え てもよい。すなわち、カーソルが、 SVG文書が表示された領域内に存在するときは、 SVGユニット 160が提供するメニュー、又は SVG文書をマッピングするための定義フ アイルに定義されたコマンドを表示し、カーソルが、 XHTML文書が表示された領域 内に存在するときは、 HTMLユニット 150が提供するメニュー、又は XHTML文書を マッピングするための定義ファイルに定義されたコマンドを表示する。これにより、編 集位置に応じて適切なユーザインターフェースを提供することができる。
[0041] 複合文書にお!、て、あるボキヤブラリに対応する適切なプラグイン又はマッピング定 義ファイルがな力つた場合は、そのボキヤブラリにより記述された部分は、ソース表示 又はツリー表示されてもよい。従来、ある文書に他の文書を埋め込んだ複合文書を 開くとき、埋め込まれた文書を表示するアプリケーション力 Sインストールされて 、な 、と 、その内容を表示することができな力つた力 本実施の形態では、表示用のアプリケ ーシヨンが存在しなくても、テキストデータにより構成された XML文書をソース表示又 はツリー表示することにより内容を把握することができる。これは、テキストベースであ る XMLなどの文書ならではの特徴と 、える。
[0042] データがテキストベースで記述されることの他の利点として、例えば、複合文書中の 、あるボキヤブラリにより記述される部分において、同一文書内の他のボキヤブラリで 記述された部分のデータを参照してもよい。また、文書内で検索を実行する時に、 S VGなどの図に埋め込まれた文字列も検索対象とすることができる。
[0043] あるボキヤブラリにより記述された文書内に、他のボキヤブラリのタグを用いてもよい 。この XML文書は、妥当(valid)ではないが、整形式 (welH rmed)であれば、有効な XML文書として処理可能である。この場合、挿入された他のボキヤブラリのタグは、 定義ファイルによりマッピングされてもよい。例えば、 XHTML文書中に、「重要」、「 最重要」などのタグを使用し、これらのタグで囲まれた部分を強調表示してもよ 、し、 重要度の順にソートして表示してもよ 、。
[0044] 図 10に示した編集画面において、ユーザにより文書が編集されると、編集された部 分を担当するプラグイン又は VCユニット 180がソースツリーを変更する。ソースツリー には、ノードごとにミューテーシヨンイベントのリスナーを登録できるようになっており、 通常は、各ノードが属するボキヤブラリに対応したプラグインの表示部又は VCュ-ッ ト 180がリスナーとして登録される。 DOM提供部 132は、ソースツリーが変更されると 、変更されたノードから上位の階層へたどって、登録されたリスナーがあれば、そのリ スナ一へミューテーシヨンイベントを発行する。例えば、図 9に示した文書において、 < html >ノードの下位のノードが変更された場合、く html >ノードにリスナーとして 登録された HTMLユニット 150にミューテーシヨンイベントが通知されるとともに、その 上位のく svg>ノードにリスナーとして登録された SVGユニット 160にもミューテーシ ヨンイベントが通知される。このとき、 HTMLユニット 150は、変更されたソースツリー を参照して表示を更新する。 SVGユニット 160は、自身のボキヤブラリに属するノード が変更されて 、な 、ので、ミューテーシヨンイベントを無視してもよ 、。
[0045] 編集の内容によっては、 HTMLユニット 150による表示の更新に伴って、全体のレ ィアウトが変わる可能性がある。この場合は、画面のレイアウトを管理する構成、例え ば最上位のノードの表示を担当するプラグインにより、プラグインごとの表示領域のレ ィアウトが更新される。例えば、 HTMLユニット 150による表示領域が以前より大きく なった場合、 HTMLユニット 150は、まず自身の担当する部分を描画して、表示領 域の大きさを決定する。そして、画面のレイアウトを管理する構成に、変更後の表示 領域の大きさを通知し、レイアウトの更新を依頼する。画面のレイアウトを管理する構 成は、通知を受けて、プラグインごとの表示領域を再レイアウトする。こうして、編集さ れた部分の表示が適切に更新されるとともに、画面全体のレイアウトが更新される。
[0046] 以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それ らの各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、また そうした変形例も本発明の範囲にあることは当業者に理解されるところである。
[0047] 実施の形態では、 XML文書を処理する例にっ 、て説明したが、本実施の形態の 文書処理装置 100は、他のマークアップ言語、例えば、 SGML, HTMLなどで記述 された文書も同様に処理可能である。
産業上の利用可能性
[0048] 本発明は、マークアップ言語により記述された文書を処理する文書処理装置に利 用可能である。

Claims

請求の範囲
[1] マークアップ言語により記述された文書を、互いに異なる複数の表示形式で、同一 画面上に同時に表示し、ユーザによる前記文書の編集を受け付けるための、複数の 処理系を備えることを特徴とする文書処理装置。
[2] マークアップ言語により記述された文書を、互いに異なる複数の表示形式で切り替 え可能に表示し、ユーザによる前記文書の編集を受け付けるための、複数の処理系 を備えることを特徴とする文書処理装置。
[3] 前記複数の処理系のうちの一つが、ユーザ力も前記文書の編集を受け付けたとき、 編集結果を反映して、他の処理系も表示を更新することを特徴とする請求項 1又は 2 に記載の文書処理装置。
[4] 前記処理対象となる文書から、文書をデータとして扱うときのアクセス方法を提供す るために定められた文書オブジェクトモデルに準拠した形式のデータを生成して管理 する管理部を更に備え、
前記管理部は、前記処理対象となる文書に対応する第 1の文書オブジェクトモデル データを生成し、
前記複数の処理系は、前記第 1の文書オブジェクトモデルデータを参照して、前記 文書をそれぞれの表示形式にて表示することを特徴とする請求項 1から 3のいずれか に記載の文書処理装置。
[5] 前記処理系は、ユーザ力も前記文書の編集を受け付けたとき、前記第 1の文書ォ ブジェクトモデルデータを変更することを特徴とする請求項 4に記載の文書処理装置
[6] 前記管理部は、前記第 1の文書オブジェクトモデルデータが変更されたとき、前記 複数の処理系にその旨を通知し、
前記複数の処理系は、前記管理部力 前記第 1の文書オブジェクトモデルデータ の変更を通知されたとき、前記第 1の文書オブジェクトモデルデータを参照して、表 示を更新することを特徴とする請求項 4又は 5に記載の文書処理装置。
[7] 処理対象となる文書を、前記処理系のうちの少なくとも一つが対応可能なマークァ ップ言語にマッピングする変換部を更に備えることを特徴とする請求項 1から 6のいず れかに記載の文書処理装置。
[8] 前記管理部は、前記変換部によりマッピングされた文書に対応する第 2の文書ォブ ジェクトモデルデータを生成し、
前記マッピングされた文書を表示する処理系は、前記第 2の文書オブジェクトモデ ルデータを参照して、前記マッピングされた文書を表示することを特徴とする請求項 7 に記載の文書処理装置。
[9] 前記変換部は、前記第 1の文書オブジェクトモデルデータが変更されたとき、その 変更に前記第 2の文書オブジェクトモデルデータを追従させるために、前記第 2の文 書オブジェクトモデルデータの該当箇所を変更することを特徴とする請求項 8に記載 の文書処理装置。
[10] 前記管理部は、前記第 2の文書オブジェクトモデルデータが変更されたとき、前記 マッピングされた文書を表示する処理系にその旨を通知し、
前記マッピングされた文書を表示する処理系は、前記管理部から前記第 2の文書 オブジェクトモデルデータの変更を通知されたとき、前記第 2の文書オブジェクトモデ ルデータを参照して、表示を更新することを特徴とする請求項 8又は 9に記載の文書 処理装置。
[11] マークアップ言語により記述された文書を、互いに異なる複数の表示形式で、同一 画面上に同時に表示し、ユーザによる前記文書の編集を受け付けることを特徴とす る文書処理方法。
[12] コンピュータに、
マークアップ言語により記述された文書を、互いに異なる複数の表示形式で、同一 画面上に同時に表示し、ユーザによる前記文書の編集を受け付ける機能を実現させ ることを特徴とするコンピュータプログラム。
PCT/JP2005/006799 2004-04-08 2005-04-06 文書処理装置及び文書処理方法 WO2005098661A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006512110A JPWO2005098661A1 (ja) 2004-04-08 2005-04-06 文書処理装置及び文書処理方法
EP05728741A EP1744256A1 (en) 2004-04-08 2005-04-06 Document processing device and document processing method
US11/578,114 US20080282143A1 (en) 2004-04-08 2005-04-06 Document Processing Device and Document Processing Method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-114527 2004-04-08
JP2004114527 2004-04-08

Publications (1)

Publication Number Publication Date
WO2005098661A1 true WO2005098661A1 (ja) 2005-10-20

Family

ID=35125270

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/006799 WO2005098661A1 (ja) 2004-04-08 2005-04-06 文書処理装置及び文書処理方法

Country Status (5)

Country Link
US (1) US20080282143A1 (ja)
EP (1) EP1744256A1 (ja)
JP (1) JPWO2005098661A1 (ja)
CN (1) CN1977260A (ja)
WO (1) WO2005098661A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814412B2 (en) * 2007-01-05 2010-10-12 Microsoft Corporation Incrementally updating and formatting HD-DVD markup
US20130326330A1 (en) * 2012-06-01 2013-12-05 Google Inc. Integrating collaboratively proposed changes and publishing
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
CN106202003B (zh) * 2016-06-23 2019-04-26 广东小天才科技有限公司 一种试题内容处理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830619A (ja) * 1994-07-19 1996-02-02 Fuji Xerox Co Ltd 構造化文書編集装置
JP2004030582A (ja) * 2002-04-30 2004-01-29 Toshiba Corp 構造化文書編集装置、構造化文書編集方法及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US660663A (en) * 1900-06-20 1900-10-30 Katherine Stoekley Brush skirt-binding.
US4815029A (en) * 1985-09-23 1989-03-21 International Business Machines Corp. In-line dynamic editor for mixed object documents
JPH10307816A (ja) * 1997-05-08 1998-11-17 Just Syst Corp 構造化文書処理装置、構造化文書処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6182092B1 (en) * 1997-07-14 2001-01-30 Microsoft Corporation Method and system for converting between structured language elements and objects embeddable in a document
US7685252B1 (en) * 1999-10-12 2010-03-23 International Business Machines Corporation Methods and systems for multi-modal browsing and implementation of a conversational markup language
US6859910B2 (en) * 2000-04-10 2005-02-22 Bluestreak.Com Methods and systems for transactional tunneling
US6957439B1 (en) * 2000-05-09 2005-10-18 International Business Machines Corporation Method, system, and program for mapping objects in different language formats
US7370315B1 (en) * 2000-11-21 2008-05-06 Microsoft Corporation Visual programming environment providing synchronization between source code and graphical component objects
US6996800B2 (en) * 2000-12-04 2006-02-07 International Business Machines Corporation MVC (model-view-controller) based multi-modal authoring tool and development environment
US6925631B2 (en) * 2000-12-08 2005-08-02 Hewlett-Packard Development Company, L.P. Method, computer system and computer program product for processing extensible markup language streams
US7114123B2 (en) * 2001-02-14 2006-09-26 International Business Machines Corporation User controllable data grouping in structural document translation
US6745208B2 (en) * 2001-05-31 2004-06-01 International Business Machines Corporation Method and apparatus for synchronizing an XML document with its object model
CN1537285A (zh) * 2001-08-03 2004-10-13 �ʼҷ����ֵ��ӹɷ����޹�˾ 用于更新文档的方法和系统
JP2003067185A (ja) * 2001-08-14 2003-03-07 Internatl Business Mach Corp <Ibm> アプリケーション編集装置、データ処理方法及びプログラム
WO2003056449A2 (en) * 2001-12-21 2003-07-10 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US6941521B2 (en) * 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
JP4136634B2 (ja) * 2002-12-10 2008-08-20 キヤノン株式会社 文書処理装置及び方法
US7293232B2 (en) * 2003-11-26 2007-11-06 Microsoft Corporation Source code editor for editing multilanguage documents
US7584420B2 (en) * 2004-02-12 2009-09-01 Lockheed Martin Corporation Graphical authoring and editing of mark-up language sequences

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830619A (ja) * 1994-07-19 1996-02-02 Fuji Xerox Co Ltd 構造化文書編集装置
JP2004030582A (ja) * 2002-04-30 2004-01-29 Toshiba Corp 構造化文書編集装置、構造化文書編集方法及びプログラム

Also Published As

Publication number Publication date
CN1977260A (zh) 2007-06-06
JPWO2005098661A1 (ja) 2008-02-28
US20080282143A1 (en) 2008-11-13
EP1744256A1 (en) 2007-01-17

Similar Documents

Publication Publication Date Title
JP2008234370A (ja) 文書処理装置及び文書処理方法
US20090021767A1 (en) Document processing device
US20100100807A1 (en) Data processing device, and data processing method
WO2005098660A1 (ja) 文書処理装置及び文書処理方法
WO2005098658A1 (ja) 文書処理装置及び文書処理方法
JPWO2007132568A1 (ja) データ処理サーバ及びデータ処理方法
JPWO2006051869A1 (ja) 文書処理装置及び文書処理方法
WO2005098661A1 (ja) 文書処理装置及び文書処理方法
WO2005098662A1 (ja) 文書処理装置及び文書処理方法
JP4566196B2 (ja) 文書処理方法および装置
JP4627530B2 (ja) 文書処理方法および装置
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
WO2007052680A1 (ja) 文書処理装置及び文書処理方法
WO2005098659A1 (ja) 文書処理装置及び文書処理方法
JP2009238215A (ja) データ処理装置及びデータ処理方法
JP2007183849A (ja) 文書処理装置
JP4719743B2 (ja) グラフ処理装置
JP2009223882A (ja) データ処理装置及びデータ処理方法
US20090094509A1 (en) Document processing device, and document processing method
JP2008225931A (ja) 文書処理装置及び文書処理方法
JP2008257277A (ja) 文書処理装置、方法、及びプログラム
JP2009110338A (ja) 文書処理装置及び文書処理方法
JP2006139623A (ja) 文書処理装置
JP2007004627A (ja) 文書処理装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006512110

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580012045.X

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11578114

Country of ref document: US

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005728741

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005728741

Country of ref document: EP