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

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

Info

Publication number
WO2005098662A1
WO2005098662A1 PCT/JP2005/006800 JP2005006800W WO2005098662A1 WO 2005098662 A1 WO2005098662 A1 WO 2005098662A1 JP 2005006800 W JP2005006800 W JP 2005006800W WO 2005098662 A1 WO2005098662 A1 WO 2005098662A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
unit
editing
display
processing
Prior art date
Application number
PCT/JP2005/006800
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 US11/547,963 priority Critical patent/US20080256437A1/en
Priority to JP2006512111A priority patent/JPWO2005098662A1/ja
Priority to EP05728478A priority patent/EP1744253A1/en
Publication of WO2005098662A1 publication Critical patent/WO2005098662A1/ja

Links

Classifications

    • 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]

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
  • a vocabulary is allowed to be arbitrarily defined, and an infinite number of vocabularies can exist.
  • multiple Boki libraries can be mixed in one document, but a methodology for properly processing such a compound document has not yet been established.
  • the present invention has been made in view of such circumstances, and an object of the present invention is to provide a technique for appropriately processing a document described in a plurality of markup languages.
  • One embodiment of the present invention relates to a document processing apparatus.
  • This document processing device includes a plurality of processing systems for processing documents described in a specific markup language, and processes documents described in a plurality of types of markup languages in accordance with the respective markup languages.
  • the document is displayed on the same screen by a system, and editing of the document by a user is accepted.
  • the markup language may be in the form of XML, for example, XHTML, SVG, MathML, etc., or SGML, HTML, or the like.
  • the markup language describing the document does not include a processing system that can process! /, And if the markup language is included, the part described in the markup language is mapped to a markup language that can be processed.
  • a conversion unit may be further provided. The converted document can be processed by a dedicated processing system, so that even a document containing an unprocessable markup language can be displayed and edited appropriately.
  • markup language describing the document does not include a processing system that can process! /, And the markup language is included, the part described in the markup language is displayed in a source display or a tree display. Is also good.
  • a processing system that processes a markup language describing a portion to which the editing position belongs may present a menu for editing.
  • an appropriate editing environment can be provided according to the editing position.
  • Another embodiment of the present invention relates to a document processing method.
  • This method is characterized in that a document described in a plurality of types of markup languages is displayed on the same screen by a processing system corresponding to each markup language, 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 generation 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 has a capability of processing 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, in terms of hardware components, are the CPU, memory, and programs loaded into memory of any computer. These are realized by such functions, but here, the functional blocks realized by their cooperation are drawn. Therefore, it will be 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 appropriate, so that the user can select a function of a recording medium such as a hard disk for storing programs.
  • the storage area can be used effectively, and the memory can be prevented from being wasted when executing the program.
  • 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 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 an XML document is handled 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.
  • 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.
  • the display Z editing system is realized in the form of a plug-in, and includes 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. 2. It has editing units (Zones) 154 and 164 that edit the DOM in response to an editing command. When 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, and the display unit 156 or 166 updates the display. These have a configuration similar to a framework called MVC (Model-View-Controller).
  • MVC Model-View-Controller
  • the display units 156 and 166 are in “View”, the control units 152 and 162 are in “Controlle”, and The entities of parts 154 and 164 and the DOM correspond to “Model”, respectively.
  • HTML unit 150 is a user for editing HTML documents 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.
  • 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 changed is issued, the VC unit 180 receives the mutation event and changes the destination tree to synchronize the source tree with the change in the source tree. Change the destination tree node corresponding to the specified node. Displaying the destination tree The Z-editing plug-in, 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 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 user loads the plugin and displays the document Z. 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 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 vocabulary (tag set) used in this document will be referred to as a “performance management vocabulary”.
  • 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. In the example of Fig.
  • 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.
  • 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 an HTML display screen.
  • 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 calculation expression it is specified 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 an operation to delete the node “Student” from the source tree.
  • the operation to be deleted is associated.
  • headings such as “name” and “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 XML document described in the grade management vocabulary shown in FIG.
  • the following is an example of a screen that is mapped to HTML 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 grade 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.
  • the VC function makes it possible to edit a document described in the grade management vocabulary while using the display Z editing function of the HTML unit 150.
  • 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. Then, for example, using a pointing device such as a mouse, the mapping source displayed in the area 202 on the left side of the screen is displayed.
  • the connection between the mapping source node and the mapping destination node is specified by performing a drag and drop operation on the node of the XML document into the HTML screen layout displayed in the area 204 on the right side of the screen. 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 specify whether or not it can be edited. 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.
  • a pie chart 206 described in SVG can be displayed on one screen.
  • 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.
  • the source tree is changed, and the plug-in responsible for displaying each screen changes. Update the screen to reflect the changes in the source tree.
  • 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 then changes the three destination trees of the source format, the tree format, and the table format, and the HTML unit 150 changes the source tree. Update three screens by referring to the destination tree
  • the user can display and edit the document in a visually comprehensible format using the table 200 or the like while grasping the hierarchical structure of the document by the source display or the tree display.
  • one screen is divided and the screens of multiple display formats are displayed at the same time.
  • a screen may be displayed so that the display format can be switched by a user's instruction.
  • 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 vocabulary is used, the portion described by the vocabulary may be displayed as a source or a tree. .
  • the application power to display 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, a portion of a compound document described by a certain vocabulary may be described by another vocabulary in the same document. The data of the described portion may be referred to.
  • 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.
  • 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. Structure to manage screen layout In response to the notification, the display area is laid out again for each plug-in.
  • 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] ボキヤブラリは、任意に定義することが許されており、無限に多くのボキヤブラリが存 在しうる。 XML文書では、理論上は、一文書に複数のボキヤブラリが混在することが 許されるが、このような複合文書を適切に処理する方法論は未だ確立されていない。
[0004] 本発明はこうした状況に鑑みてなされたものであり、その目的は、複数のマークアツ プ言語により記述された文書を適切に処理する技術を提供することにある。
課題を解決するための手段
[0005] 本発明のある態様は、文書処理装置に関する。この文書処理装置は、特定のマー クアップ言語により記述された文書を処理する処理系を複数備え、複数の種類のマ ークアップ言語により記述された文書を、それぞれのマークアップ言語に対応した前 記処理系により同一画面上に表示して、ユーザによる前記文書の編集を受け付ける ことを特徴とする。
[0006] マークアップ言語は、 XMLのー开態、例えば、 XHTML, SVG, MathMLなどで あってもよぐ SGML, HTMLなどであってもよい。異なる複数の種類のマークアップ 言語により記述された複合文書を処理可能とすることで、より柔軟な構成の文書を作 成することができ、ユーザの利便性を向上させることができる。
[0007] 前記文書を記述したマークアップ言語に、処理可能な処理系がな!/、マークアップ 言語が含まれる場合、そのマークアップ言語により記述された部分を、処理可能なマ ークアップ言語にマッピングする変換部を更に備えてもよい。変換後の文書は、専用 の処理系により処理可能であるから、処理不可能なマークアップ言語を含む文書で あっても、適切に表示及び編集することが可能となる。
[0008] 前記文書を記述したマークアップ言語に、処理可能な処理系がな!/、マークアップ 言語が含まれる場合、そのマークアップ言語により記述された部分を、ソース表示又 はツリー表示してもよい。
[0009] 編集位置に応じて、前記編集位置が属する部分を記述したマークアップ言語を処 理する処理系が、編集用のメニューを提示してもよい。これにより、編集位置に応じて 、適切な編集環境を提供することができる。
[0010] 複数の種類のマークアップ言語により記述された文書において、異なるマークアツ プ言語により記述された部分のデータを参照可能であってもよ 、。マークアップ言語 により記述された文書は、基本的にはテキストベースで記述されているので、たとえ 専用の処理系が用意されていなくても、データにアクセスすることは可能である。その ため、複数のマークアップ言語が混在した文書中で、異なるマークアップ言語により 記述された部分の間でデータを参照してもよい。これにより、より柔軟な構成の文書を 作成することができ、ユーザの利便性を向上させることができる。
[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] 前記文書を記述したマークアップ言語に、処理可能な処理系がな 、マークアップ 言語が含まれる場合、そのマークアップ言語により記述された部分を、処理可能なマ ークアップ言語にマッピングする変換部を更に備えることを特徴とする請求項 1に記 載の文書処理装置。
[3] 前記文書を記述したマークアップ言語に、処理可能な処理系がな 、マークアップ 言語が含まれる場合、そのマークアップ言語により記述された部分を、ソース表示又 はツリー表示することを特徴とする請求項 1に記載の文書処理装置。
[4] 編集位置に応じて、前記編集位置が属する部分を記述したマークアップ言語を処 理する処理系が、編集用のメニューを提示することを特徴とする請求項 1から 3のい ずれかに記載の文書処理装置。
[5] 複数の種類のマークアップ言語により記述された文書において、異なるマークアツ プ言語により記述された部分のデータを参照可能であることを特徴とする請求項 1か ら 4の 、ずれかに記載の文書処理装置。
[6] 複数の種類のマークアップ言語により記述された文書を、それぞれのマークアップ 言語に対応した処理系により同一画面上に表示して、ユーザによる前記文書の編集 を受け付けることを特徴とする文書処理方法。
[7] コンピュータに、複数の種類のマークアップ言語により記述された文書を、それぞれ のマークアップ言語に対応した処理系により同一画面上に表示して、ユーザによる前 記文書の編集を受け付ける機能を実現させることを特徴とするコンピュータプログラム
PCT/JP2005/006800 2004-04-08 2005-04-06 文書処理装置及び文書処理方法 WO2005098662A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/547,963 US20080256437A1 (en) 2004-04-08 2005-04-06 Document Processing Apparatus and Document Processing Method
JP2006512111A JPWO2005098662A1 (ja) 2004-04-08 2005-04-06 文書処理装置及び文書処理方法
EP05728478A EP1744253A1 (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
JP2004114529 2004-04-08
JP2004-114529 2004-04-08

Publications (1)

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

Family

ID=35125271

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US20080256437A1 (ja)
EP (1) EP1744253A1 (ja)
JP (1) JPWO2005098662A1 (ja)
CN (2) CN1947115A (ja)
WO (1) WO2005098662A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006051972A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation データ処理装置、文書処理装置および文書処理方法
CN102479212B (zh) * 2010-11-30 2016-06-22 国际商业机器公司 识别网页上键盘不可访问节点的方法以及装置
CN103150742A (zh) * 2011-12-06 2013-06-12 上海可鲁系统软件有限公司 一种矢量图形动态渲染方法及其装置
CN103425468B (zh) * 2012-05-17 2016-12-14 航天信息股份有限公司 插件式软件集成方法及装置
CN107368561B (zh) * 2017-07-07 2020-06-02 北京小米移动软件有限公司 页面的绘制方法、装置及终端
CN107506431A (zh) * 2017-08-22 2017-12-22 广州创维平面显示科技有限公司 由xml文件生成html文件的方法、存储介质及终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6272059A (ja) * 1985-09-23 1987-04-02 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 混合オブジエクト文書の編集方法
JP2001290803A (ja) * 2000-04-07 2001-10-19 Just Syst Corp 文書処理方法、文書処理装置、および記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307816A (ja) * 1997-05-08 1998-11-17 Just Syst Corp 構造化文書処理装置、構造化文書処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3460597B2 (ja) * 1998-09-22 2003-10-27 日本電気株式会社 複合文書管理システム及び複合文書の構造管理方法ならびに複合文書構造管理プログラムを格納した記録媒体
US7284199B2 (en) * 2000-03-29 2007-10-16 Microsoft Corporation Process of localizing objects in markup language documents
GB0107784D0 (en) * 2001-03-28 2001-05-16 Hewlett Packard Co Improvement relating to developing documents
JP3857663B2 (ja) * 2002-04-30 2006-12-13 株式会社東芝 構造化文書編集装置、構造化文書編集方法及びプログラム
US7228496B2 (en) * 2002-07-09 2007-06-05 Kabushiki Kaisha Toshiba Document editing method, document editing system, server apparatus, and document editing program
US20040268229A1 (en) * 2003-06-27 2004-12-30 Microsoft Corporation Markup language editing with an electronic form
JP4553599B2 (ja) * 2003-08-29 2010-09-29 コニカミノルタビジネステクノロジーズ株式会社 データ表示システム、データ出力装置、画像形成装置、データ表示装置およびデータ表示プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6272059A (ja) * 1985-09-23 1987-04-02 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 混合オブジエクト文書の編集方法
JP2001290803A (ja) * 2000-04-07 2001-10-19 Just Syst Corp 文書処理方法、文書処理装置、および記録媒体

Also Published As

Publication number Publication date
EP1744253A1 (en) 2007-01-17
CN1947114A (zh) 2007-04-11
US20080256437A1 (en) 2008-10-16
JPWO2005098662A1 (ja) 2008-02-28
CN1947115A (zh) 2007-04-11

Similar Documents

Publication Publication Date Title
US20100107048A1 (en) Document processor and document processing method
US20100100807A1 (en) Data processing device, and data processing method
WO2005098660A1 (ja) 文書処理装置及び文書処理方法
WO2005098658A1 (ja) 文書処理装置及び文書処理方法
JPWO2006051869A1 (ja) 文書処理装置及び文書処理方法
WO2007081017A1 (ja) 文書処理装置
WO2005098662A1 (ja) 文書処理装置及び文書処理方法
WO2005098661A1 (ja) 文書処理装置及び文書処理方法
JP4566196B2 (ja) 文書処理方法および装置
JPWO2007052680A1 (ja) 文書処理装置及び文書処理方法
JP4627530B2 (ja) 文書処理方法および装置
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
WO2005098659A1 (ja) 文書処理装置及び文書処理方法
JP2007183849A (ja) 文書処理装置
JP2009238215A (ja) データ処理装置及びデータ処理方法
JP4719743B2 (ja) グラフ処理装置
US20090094509A1 (en) Document processing device, and document processing method
JP2008257277A (ja) 文書処理装置、方法、及びプログラム
JP2008225931A (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): BW GH 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: 2006512111

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580012143.3

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005728478

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005728478

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11547963

Country of ref document: US