WO2008015787A1 - Document processing apparatus and document processing method - Google Patents

Document processing apparatus and document processing method Download PDF

Info

Publication number
WO2008015787A1
WO2008015787A1 PCT/JP2007/000819 JP2007000819W WO2008015787A1 WO 2008015787 A1 WO2008015787 A1 WO 2008015787A1 JP 2007000819 W JP2007000819 W JP 2007000819W WO 2008015787 A1 WO2008015787 A1 WO 2008015787A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
data
component
avc
display
Prior art date
Application number
PCT/JP2007/000819
Other languages
French (fr)
Japanese (ja)
Inventor
Tomoaki Fukura
Yoshiyuki Sakamoto
Hidehiko Yasutomi
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 JP2008527655A priority Critical patent/JPWO2008015787A1/en
Publication of WO2008015787A1 publication Critical patent/WO2008015787A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines

Definitions

  • the present invention relates to a document processing technique, and more particularly to a document processing apparatus and method for processing a document described in a markup language.
  • Patent Document 1 Japanese Patent Laid-Open No. 2 00 1 _ 2 90 80 4
  • a poch-library is allowed to be defined arbitrarily, and in theory, there can be an infinitely many pockies. It is impractical to provide a dedicated display and editing environment corresponding to all of these Poch libraries.
  • the source of the document composed of text data was directly edited using a text editor or the like.
  • the present invention has been made in view of such circumstances, and an object of the present invention is to provide a technique for improving user convenience when processing a document described in a markup language. .
  • One embodiment of the present invention relates to a document processing apparatus.
  • This document processing apparatus includes a plurality of processing modules that can be used as general-purpose parts for processing data in a document to express a predetermined function, and a plurality of different previous modules for the same data. And a switching unit that can be applied by switching the processing module.
  • the document may include a tag set component that is described in a markup language and can be processed by the processing module.
  • the tag set to which the component belongs is selected.
  • the processing module capable of processing may be activated.
  • the switching unit When switching the processing module, the switching unit is configured to change the component from a tag set component that can be processed by the switching source processing module to a tag set configuration that can be processed by the switching destination processing module. It may be rewritten as an element.
  • the document processing apparatus may further include a property setting unit that receives a parameter setting necessary for the operation of the processing module, and the property setting unit receives the received parameter as the component element or its descendant.
  • the element value or attribute value of the component may be described in the document.
  • the property setting unit switches the setting of the parameter used in common between the switching source processing module and the switching destination processing module from the switching source processing module. It may be set automatically by inheriting to the previous processing module.
  • the property setting unit may accept a setting of a data type in the document processed by the processing module.
  • the property setting unit accepts the setting of text data to be displayed as a label of the data when the processing module displays the data in the document on the screen, and the text data to be displayed as the label of the data is a user If not set from, the element name of the data may be set as a label.
  • the document processing method includes a step of applying any one of a plurality of processing modules that can be used as general-purpose components for processing data in a document and expressing a predetermined function to the data in the document. And switching and applying another processing module to data in the same document.
  • any combination of the above-described constituent elements, and a conversion of the expression of the present invention between a method, an apparatus, a system, and the like are also effective as an aspect of the present invention.
  • FIG. 1 is a diagram showing a configuration of a document processing apparatus according to a base technology.
  • FIG. 2 is a diagram showing an example of an XML document edited by a document processing apparatus.
  • 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 (a) 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. 4 (b) 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 displayed by mapping the XML document shown in FIG. 2 to the HTML file corresponding to the correspondence shown in FIG.
  • FIG. 6 is a diagram showing an example of a graphical user interface presented to the user by the 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 XML document editing screen by the document processing apparatus.
  • FIG. 9 is a diagram showing another example of an XML document edited by the document processing apparatus.
  • FIG. 10 is a diagram showing an example of a screen displaying the document shown in FIG.
  • FIG. 11 (a) is a diagram showing a basic configuration of a document processing system.
  • FIG. 11 (b) is a diagram showing a block diagram of the entire document processing system.
  • FIG. 11 (c) is a block diagram of the entire document processing system.
  • FIG. 12 is a diagram showing details of the document management unit.
  • FIG. 13 is a diagram showing the details of the poker library connection subsystem.
  • FIG. 14 is a diagram showing details of the relationship between the program starter and other components.
  • FIG. 15 is a diagram showing the details of the structure of the application service reloaded by the program startup unit.
  • FIG. 16 is a diagram showing details of the core component bowl.
  • FIG. 17 is a diagram showing details of a document management unit.
  • FIG. 18 is a diagram showing details of an undo framework and an undo command.
  • FIG. 19 is a diagram showing how a document is loaded in the document processing system.
  • FIG. 20 shows an example of a document and its expression.
  • FIG. 21 is a diagram showing a relationship between a model and a controller.
  • FIG. 22 is a diagram showing the details of the plug-in subsystem, the poker library connection, and the connector.
  • FIG. 23 is a diagram showing an example of a V CD file.
  • FIG. 24 A diagram showing a procedure for loading a compound document in the document processing system.
  • FIG. 25 A diagram showing a procedure for loading a compound document in the document processing system.
  • FIG. 26 A compound document loading in the document processing system.
  • FIG. 27 is a diagram showing a procedure for loading a compound document in the document processing system.
  • FIG. 28 is a diagram showing a procedure for loading a compound document in the document processing system. It is a figure which shows the flow of.
  • FIGS. 30 (a), 30 (b), and 30 (c) are diagrams showing examples of the data structure of an XML document to be processed.
  • FIGS. 31 (a) and 31 (b) are diagrams showing examples of pointer information.
  • FIG.32 is a diagram showing a configuration of a document processing apparatus according to the first embodiment.
  • FIG. 34 is a diagram showing an example of a document editing screen.
  • FIG. 35 is a diagram showing an editing screen in a state in which a view template for schedule is activated.
  • FIG. 36 is a diagram showing a configuration of a document processing apparatus according to a second embodiment.
  • FIG. 37 A diagram showing an example of an XML document in which the property of the AV component is inserted.
  • FIG. 38 shows a procedure of a document processing method according to the second embodiment.
  • FIG. 39 is a diagram showing an example of a screen displayed by the AV component.
  • FIG. 40 is a diagram showing a configuration of a document processing apparatus according to a third embodiment.
  • FIG. 41 is a diagram showing a procedure of a document processing method according to the third embodiment.
  • FIG. 42 is a diagram showing a configuration of a document processing apparatus according to a fourth embodiment.
  • FIG. 43 is a diagram showing an example of a document in which the AV property of the AV component for table display is inserted.
  • FIG. 44 A diagram showing the contents of the AV property described in the document shown in FIG.
  • FIG. 45 A diagram showing the contents of the AV property described in the document shown in FIG.
  • FIG. 46 is a diagram showing an example of a screen on which the document shown in FIG. 43 is displayed.
  • FIG. 47 is a diagram showing a menu displayed when the mouse is right-clicked in the view area generated by the AV component.
  • FIG. 48 is a diagram showing an example of a dialog screen displayed by the A V C component switching unit.
  • FIG. 49 is a diagram showing an example of an AV property setting screen displayed by the AV property setting section.
  • FIG. 50 is a diagram showing an example of an A V C property setting screen displayed by the A V C property setting unit.
  • FIG.51 AVC property setting screen displayed by AVC property setting section It is a figure which shows the example of a surface.
  • FIG. 52 is a diagram showing an example of an A V C property setting screen displayed by the A V C property setting section.
  • FIG. 53 is a diagram showing an example of an AV property setting screen displayed by the AV property setting section.
  • FIG. 54 is a diagram showing an example of a display screen when switching to a single display A VC component.
  • FIG. 55 is a diagram showing a state in which the document shown in FIG. 43 is changed by switching AV components.
  • FIG. 56 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
  • FIG. 57 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
  • FIG. 58 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
  • FIG. 59 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
  • FIG. 60 is a diagram showing a screen when the Y-axis data is changed on the screen for setting the scatter diagram data shown in FIG. 49.
  • FIG. 61 is a diagram showing a screen when the data type of Y-axis data is changed. Explanation of symbols
  • FIG. 1 shows the configuration of the document processing apparatus 20 according to the base technology.
  • the document processing device 20 processes a structured document in which data in the document is classified into a plurality of structural elements having a hierarchical structure.
  • the document processing apparatus 20 includes a main control unit 22, an editing unit 24, a DOM unit 30, a CSS unit 40, an HTML unit 50, an SVG unit 60, and a VC unit 80 as an example of a conversion unit.
  • These hardware components are realized by the CPU of any computer, memory, programs loaded in the memory, etc., but here we draw functional blocks realized by their cooperation. ing. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.
  • the main control unit 22 provides a framework for loading plug-ins and executing commands.
  • Editing unit 24 provides a framework for editing XML documents.
  • the document display and editing functions in the document processing device 20 are realized by plug-ins, and necessary plug-ins are dictated by the main control unit 22 or the editing unit 24 according to the type of document.
  • the main control unit 22 or the editing unit 24 refers to the name space of the XML document to be processed, and by which vocabulary the XML document is described.
  • the display or editing plug-in corresponding to the POB library is loaded to execute display or editing.
  • the document processing device 20 is plugged with a display system and an editing system for each platform (tag set), such as an HTML unit 50 that displays and edits HTML documents and an SVG unit 60 that displays and edits SVG documents.
  • tags such as an HTML unit 50 that displays and edits HTML documents
  • SVG unit 60 that displays and edits SVG documents.
  • HTML documents it is loaded with 50 units of HTML unit.
  • SVG documents it is loaded with 60 units of S VG unit.
  • both the HTML unit 50 and the SVG unit 60 are dictated.
  • the user can select and install only the necessary functions, and can add or delete functions later as appropriate. Therefore, a recording medium such as a hard disk for storing the program It is possible to effectively use the storage area of the memory, and it is possible to prevent memory from being wasted even during program execution. In addition, it has excellent function expandability, and as a development entity, it is possible to cope with new poker libraries in the form of plug-ins, so development is easy, and for users, it is easy and low-cost by adding plug-ins. Functions can be added.
  • the editing unit 24 accepts an editing instruction event from the user via the user interface, notifies the appropriate plug-in of the event, and re-executes the event or cancels the execution. Control processing such as (Undo).
  • the DOM unit 30 includes a DOM providing unit 32, a DOM generating unit 34, and an output unit 36, and is a document object model (Document) defined to provide an access method when handling an XML document as data. Implements functions that conform to Object Model: DO M).
  • the DOM provider 32 is an implementation of DOM that satisfies the interface defined in the editing unit 24.
  • the DOM generation unit 34 generates a DOM tree from the XML document. As will be described later, the XML document to be processed is transferred to other vocabulary by VC Unit 80. In the case of mapping, a source tree corresponding to the XML document of the mapping source and a destination tree corresponding to the XML document of the mapping destination are generated.
  • the output unit 36 outputs the DOM tree as an XML document at the end of editing, for example.
  • the CSS unit 40 includes a 33 analysis unit 42, a CSS providing unit 44, and a rendering unit 46, and provides a display function compliant with CSS.
  • the CSS analysis unit 42 has a function of a parser that analyzes CSS syntax.
  • the CSS provider 44 is an implementation of CSS objects, and performs CSS force scheduling processing on the DOM tree.
  • the rendering unit 46 is a CSS rendering engine, and is used to display a document described in a vocabulary such as HTML that is laid out using the CSS.
  • the HTML unit 50 displays or edits a document described in HTML.
  • the SVG unit 60 displays or edits documents described in SVG.
  • These display / editing systems are realized in the form of plug-ins. Each of them is a display unit (Canvas) 56, 66 for displaying a document, a control unit (Editlet) 52 for sending / receiving events including editing instructions, 62. Includes editing sections (Zone) 54 and 64 that receive editing commands and edit the DOM.
  • the control unit 52 or 62 receives a DOM tree editing command from the outside, the editing unit 54 or 64 changes the DOM tree, and the display unit 56 or 66 updates the display.
  • MVC Model-View-Control ler
  • the display units 56 and 66 are set to “View”, and the control units 52 and 62 force ⁇ ⁇ Control lerj.
  • the editing parts 54 and 64 and the DOM entity correspond to “Model”, respectively.
  • the document processing apparatus 20 of the base technology enables not only editing of an XML document in a single display format but also editing according to each vocabulary.
  • the HTML unit 50 provides a user interface for editing an HTML document in a manner similar to a word processor
  • the SVG unit 60 provides a user interface for editing an SVG document in a manner similar to an image drawing tool. Provide one face.
  • the VC unit 80 includes a mapping unit 8 2, a definition file acquisition unit 8 4, and a definition file generation unit 8 6, and mapping is performed by mapping a document described in a certain library to another one.
  • This function is called Pocabulary Connection (VC).
  • the definition file acquisition unit 84 acquires a script file describing the mapping definition. 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. Also, an arithmetic expression using the element value or attribute value of the node may be described.
  • the mapping unit 82 refers to the scribble file acquired by the definition file acquisition unit 84, causes the DOM generation unit 34 to generate a destination tree, and manages the correspondence between the source tree and the destination tree.
  • the definition file generator 86 provides a graphical user interface for the user to generate a definition file.
  • the VC unit 80 monitors the connection between the source tree and the destination tree, and receives an editing instruction from the user via the user interface provided by the plug-in responsible for display. Change the corresponding node.
  • DOM unit 3 0 When a mutation event is issued to the effect that the source tree has changed, VC Unit 8 0 receives the mutation event and synchronizes the destination tree with the source tree change. Change the node of the destination tree corresponding to the changed node.
  • Plug-ins that display / edit the destination tree for example HTML unit 50, receives a mutation event that the destination tree has changed, and updates the display with reference to the changed destination tree To do. With such a configuration, even a document described by a local vocabulary used by a small number of users can be converted into another major vocabulary to display the document.
  • An editing environment is provided.
  • the DOM generation unit 34 When the document processing apparatus 20 reads a document to be processed, the DOM generation unit 34 generates a DOM tree from the XML document. Further, the main control unit 2 2 or the editing unit 2 4 refers to the name space to determine the poker library describing the document. A plug-in corresponding to the vocabulary is installed in the document processing device 20! If so, load the plug-in to view / edit the document. If the plug-in is not installed, check whether the mapping definition file exists. If the definition file exists, the definition file acquisition unit 84 acquires the definition file, generates a destination tree according to the definition, and displays / edits the document by the plug-in corresponding to the mapping destination library.
  • the corresponding parts of the document are displayed / edited by plug-ins corresponding to each library as described later. 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.
  • a student with the name “A” has a national language grade of “9 0”, a mathematical grade of “5 0”, a scientific grade of “7 5”, and a social grade of “6 0”.
  • the Pocabulary (tag set) used in this document will be referred to as the “Performance Management Pocabulary”.
  • the document processing apparatus 20 of the base technology does not have a plug-in that supports display / editing of the grade management vocabulary, this document is displayed in the source display, tree display, and so on.
  • the VC function described above is used to display in other ways. In other words, it is necessary to prepare a definition file for mapping the grade management library to another library with plug-ins, such as HTML and SVG.
  • the user interface for creating a definition file by the user himself will be described later. Here, the explanation will proceed assuming that a definition file has already been prepared.
  • FIG. 3 shows an example of mapping the XML document shown in FIG. 2 to a table described in HTML.
  • the “Student” node of the Grade Management Platform is mapped to a row (“TR” node) of a table (“TABLE” node) in HTML, and the attribute value “name” is assigned to the first column of each row.
  • the second column contains the element values of the “National Language” node, the third column the element values of the “Mathematics” node, the fourth column the element values of the “Science” node, and the fifth column “Society”. Associate node element values with each other.
  • the XML document shown in Fig. 2 can be displayed in the HTML table format.
  • the sixth column specifies the formula for calculating the weighted average of national language, mathematics, science, and society, and displays the average score of the students' grades. In this way, by making it possible to specify an arithmetic expression in the definition file, more flexible display is possible and user convenience during editing can be improved.
  • the sixth column specifies that editing is not possible, so that only the average score cannot be edited individually. In this way, by making it possible to specify whether editing is possible in the mapping definition, it is possible to prevent user misoperation.
  • FIGS. 4 (a) and 4 (b) show examples of definition files 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.
  • "add student” and “delete student” are defined as commands. Each of them is associated with an operation for inserting the node “student” in the source tree and an operation for deleting the node “student” from the source tree.
  • headings such as “name” and “national language” are displayed in the first row of the table, and the contents of the node “student” are displayed in the second and subsequent rows.
  • FIG. 5 shows an example of a screen displayed by mapping the XML document described in the grade management platform shown in FIG. 2 to the HTML according to the correspondence shown in FIG.
  • Table 90 shows, from the left, each student's name, national language grade, mathematics grade, science grade, social grade, and average score.
  • the user can edit the XML document on this screen. For example, if you change the value in the second row and third column to “7 0”, the element value in the source tree corresponding to this node, that is, the math grade for student “B” changes to “7 0” Is done.
  • VC unit 80 should make the destination tree follow the source tree, change the corresponding part of the destination tree, and HTML unit 50 will update the display based on the changed destination tree. To do. Therefore, in the table on the screen, the mathematics score of student “B” is changed to “7 0”, and the average score is changed to “5 5”.
  • the commands "Add Student” and "Delete Student” appear in the menu as defined in the definition file shown in Fig. 4 (a) (b). Indicated.
  • the node “Student” is added or deleted in the source tree.
  • the document processing apparatus 20 of the base technology can not only edit the element value of the component at the end of the hierarchical structure but also edit the hierarchical structure.
  • An editor with a tree structure like this Capabilities may be provided to the user in the form of commands. For example, a command for adding or deleting a table row may be associated with an operation for adding or deleting a node “student”.
  • a command for embedding other libraries may be provided to the user.
  • this table as an input template, you can also add new student grade data in the form of blanks.
  • the VC function makes it possible to edit a document described in the grade management library while using the display / editing function of the HTML unit 50.
  • FIG. 6 shows an example of a graphical user interface that the definition file generator 86 provides to the user in order for the user to generate a definition file.
  • the mapping source XML document is displayed as a tree.
  • the screen layout of the XML document to be mapped is shown. This screen layout can be edited by the HTML unit 50, and the user creates a screen layout for displaying the document in the area 92 on the right side of the screen.
  • the node of the mapping source XML document displayed in the area 91 on the left side of the screen is displayed in the screen layout using HTML displayed in the area 92 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 90 on the HTML screen, between the “Mathematics” node and the “TD” node in the third column. A connection is stretched over.
  • Each node can be specified for editing.
  • An arithmetic expression can be embedded in the display screen.
  • FIG. 7 shows another example of the screen layout generated by the definition file generation unit 86.
  • Table 90 and a pie chart 93 are created on the screen for displaying the XML document described in the grade management policy.
  • This pie chart 93 is described by S V G.
  • the document processing apparatus 20 of the base technology can process a composite document including a plurality of libraries in one XML document, so that it is described in HTML as in this example.
  • Table 90 and the pie chart 93 described in SVG can be displayed on one screen.
  • FIG. 8 shows an example of an XML document editing screen by the document processing apparatus 20.
  • one screen is divided into a plurality of areas, and the XML document to be processed is displayed in a plurality of different display formats in each area.
  • the source of the document is displayed.
  • the document structure is displayed.
  • the table described in HTML shown in Fig. 5 is displayed. Is displayed. Documents can be edited on any of these screens.
  • the source code is changed, and the plug-in responsible for displaying each screen Update the screen to reflect the tree changes.
  • the display unit of the plug-in responsible for displaying each editing screen is registered, and either of the plug-in or VC unit 8 0 is used.
  • the source tree is changed, all the display units displaying the edit screen receive the issued mutation event and update the screen.
  • the VC unit 80 changes the destination tree following the change of the source tree, and then refers to the changed destination tree.
  • the display unit updates the screen.
  • the source display and the tree display are realized by a dedicated plug-in, the source display plug-in and the tree display plug-in do not use the destination tree, but directly use the source tree. Browse and display.
  • the source display plug-in and the single display plug-in update the screen with reference to the changed source tree, and take charge of the screen in area 96.
  • the following HTML unit 50 updates the screen by referring to the changed destination tree following the change of the source tree.
  • the source display and the tree display can also be realized by using the VC function.
  • the source and tree structure may be laid out using HTML, XML documents may be mapped onto the HTML, and displayed using the HTML unit 50.
  • three destination destinations are generated: source format, tree format, and tabular format.
  • VC Unit 8 0 changes the source tree, then changes each of the three destination trees: source format, solid format, and table format. Browse the destination tree and update the three screens.
  • the editing unit 24 refers to the name space and distributes the drawing work to an appropriate display system.
  • the editing unit 24 first causes the SVG unit 60 to draw a rectangle, and then causes the HTML unit 50 to draw an XHTML document.
  • the Math ML unit (not shown) draw mathematical formulas. In this way, a compound document including a plurality of pages is properly displayed. The display results are shown in Fig. 10.
  • the displayed menu may be switched according to the position of the cursor (carriage). That is, when the cursor exists in the area where the SVG document is displayed, the menu defined by the SVG unit 60 or the command defined in the definition file for mapping the SVG document is displayed.
  • the menu defined by the HTML unit 50 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 when there is no appropriate plug-in or mapping definition file corresponding to a certain library, the part described by the library may be displayed in a source or tree.
  • the contents could not be displayed unless an application that displayed the embedded document was installed. Then, even if there is no display application, the content can be grasped by displaying the XML document composed of text data in the source display or the tree display. This is a unique feature of text-based documents such as XML.
  • Another advantage of the data being described in the text base is that, for example, in a part described by a certain library in a compound document, the data of a part described in another part of the same document is changed. You may refer to it. Also, sentence When performing a search within a document, text strings embedded in diagrams such as SVG can also be searched.
  • a tag written in another poker library may use a tag of another poker library.
  • This XML document is not valid, but can be processed as a valid XML document if it is well-formed.
  • the tag of the other vocabulary inserted may be mapped by the definition file. For example, you can use tags such as “Important” and “Most important” in an XHTML document and highlight the parts enclosed by these tags, or sort them in order of importance. May be.
  • the plug-in or VC unit 80 responsible for the edited part changes the source tree.
  • listeners for mutation events can be registered for each node.
  • the plug-in display section or VC unit 80 corresponding to the portal to which each node belongs is registered as a listener.
  • the DOM provider 32 traces from 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 mutation event is notified to the HTM Lunit 50 registered as a listener in the ⁇ htm I> node.
  • the mutation event is also notified to the SVG unit 60 registered as a listener in the upper ⁇ s V g> node.
  • the HTML unit 50 refers to the changed source tree and updates the display.
  • the SVG unit 60 may ignore the mutation event because the node belonging to its own Pocabulary has not changed.
  • the overall layout may change as the display is updated by the HTML unit 50.
  • a configuration that manages the layout of the screen for example, a plug-in that is responsible for displaying the top-level node.
  • the layout of the display area for each plug-in is updated. For example, when the display area by the HTML unit 50 becomes larger than before, the HTML unit 50 first draws a part that it is in charge of and determines the size of the display area. Then, notify the configuration that manages the layout of the screen of the size of the display area after the change, and request a layout update.
  • the configuration that manages the screen layout receives the notification and re-lays out the display area for each plug-in. In this way, the display of the edited part is updated appropriately and the layout of the entire screen is updated.
  • Documents described in a markup language are usually represented in the form of a tree data structure in browsers and other applications. This structure corresponds to the tree of the result of parsing the document.
  • the DOM (Document Object Model) is a well-known tree-based data structure model used to represent and manipulate documents. DOM includes HTML and XML documents Provides a standard set of objects for representing documents. The DOM has two basic components: a standard model of how objects that represent components in a document are connected, and a standard interface for accessing and manipulating those objects. Nent included.
  • a DOM tree is a hierarchical representation of a document based on the contents of the corresponding DOM.
  • the DOM tree contains a “root” and one or more “nodes” that originate from the root. In some cases, the root represents the entire document. Intermediate nodes can represent elements such as a table and the rows and columns in the table, for example.
  • a “leaf” in a DOM tree usually represents text or image-like data that cannot be further decomposed.
  • Each node in the DOM tree may be associated with attributes that describe the parameters of the element represented by the node, such as font, size, color, and indentation.
  • HTML is a language generally used to create a document, but is a language for format and layout, not a data description language. Nodes in the DOM tree that represent HTML documents are elements that are predefined as HTML formatting tags, and HTML is usually used for data description and tagging / labeling of data. It is often difficult to formulate queries for data in HTML documents.
  • the goal of network designers is to enable documents on the web to be queried and processed by software applications. Regardless of how they are displayed, a hierarchically structured language can be queried and processed that way. Markup languages such as XML (extensible Markup Language) can provide these features.
  • XML XML Markup Language
  • HTML HyperText Markup Language
  • XML XML Style Language
  • Additional information on DOM, HTML, XML, CSS, XS L and related language features can also be obtained from the web.
  • X path provides common syntax and semantics for specifying the location of parts of an XML document.
  • An example of functionality is traversing the DOM tree corresponding to an XML document. It provides basic functions for manipulating strings, numbers, and Boolean characters associated with various representations of XML documents.
  • X path is the syntax of the appearance of an XML document, for example, the grammar and the abstract syntax such as the DOM tree, not the grammar of what line or number of characters when viewed as a text string. It works in any structure.
  • the location can be specified through a hierarchical structure in the DOM tree of the XML document, for example.
  • X path is also designed to be used to test whether a node in the DOM tree matches the pattern. More details about XP ath can be found at http: // www. W3. Org / TR / xpath [0055]
  • the known advantages and features of XML can handle documents written in a markup language (eg XML) and provide a user-friendly interface for creating and modifying documents. An effective document processing system is needed.
  • MVC Model-View-Control ler
  • model M
  • view V
  • controller C
  • the controller interprets input such as mouse and keyboard input from the user and maps these user actions to commands sent to the model and / or view to bring about appropriate changes.
  • the model acts to manage one or more data elements, responds to queries about that state, and responds to instructions that change the state.
  • the view acts to manage the rectangular area of the display and has the function of presenting data to the user through a combination of graphics and text.
  • Fig. 11 (a) shows a conventional configuration example of elements that function as the basis of a document processing system of the type described later.
  • Configuration 10 includes a processor of the type such as a CPU or microprocessor 11 connected to memory 12 by communication path 13.
  • Memory 1 2 can be any ROM and / or R available now or in the future It may be in AM format.
  • the communication path 13 is typically provided as a bus.
  • An input / output interface 1 6 to user input devices 14 and display devices 15 (or other user interfaces) such as a mouse, keyboard, voice recognition system, etc. is also provided for communication between the processor 1 1 and the memory 1 2. Connected to the bus.
  • This configuration may be a stand-alone, a networked form in which a plurality of terminals and one or more servers are connected, or may be configured by any known method.
  • the present invention is not limited by the arrangement of these components, the centralized or distributed architecture, or the communication methods of the various components.
  • the present system and the embodiments discussed herein are discussed as including several components and sub-components that provide various functionalities. These components and sub-components can be realized not only by a combination of hardware and software, but also by hardware alone or software alone to provide the noted functionality. Furthermore, the hardware, software, and combinations thereof can be realized by general-purpose computing devices, dedicated hardware, or combinations thereof. Thus, the configuration of a component or subcomponent includes a general purpose / dedicated computing device that executes specific software to provide the functionality of the component or subcomponent.
  • FIG. 11 (b) shows an overall block diagram of an example of a document processing system.
  • a document is generated and edited in such a document processing system.
  • These documents may be written in any language that has the characteristics of a markup language, such as XML.
  • XML markup language
  • the document processing system can be regarded as having two basic configurations.
  • the first configuration is an “execution environment” 1 0 1 which is an environment in which the document processing system operates.
  • the execution environment can be a user during document processing and management.
  • the second configuration is an “application” 1 0 2 composed of applications running in the execution environment. These applications include the document itself and various representations of the document.
  • Program lvoker 1 0 3 is a basic program accessed to start the document processing system. For example, when a user logs on to a document processing system and starts, Program l nvoker 1 0 3 force is executed. Program l nvoker 1 0 3 can, for example, read and execute functions added as plug-ins to the document processing system, start and execute applications, and read properties related to documents . The functions of Program l nvoker 1 0 3 are not limited to these. When a user wants to launch an application that is intended to run in the execution environment, Program lvoker 1 0 3 finds the application, launches it, and executes the application.
  • the plug-in subsystem 104 includes a Service Broker (service broker) 1041.
  • ServiceBroker 1 041 mediates services added to the document processing system by managing plug-ins added to the document processing system.
  • Service 1042 Individual functions that achieve the desired functionality are added to the system in the form of Service 1042.
  • Available types of Service 1042 are: Application service, ZoneFactory (zone factory: zone generator) Service, Editlet (editlet: editor) Service, Comma dFactory (command factory) : Command generation part) Service, ConnectXPath (Connect XP ath: XP ath management part) Service, CSS Computation (CSS calculation part: CSS calculation part) Service, etc., but not limited to these.
  • a plug-in is a unit that can contain one or more ServiceProviders. Each ServiceProvider has one or more classes of Service associated with it. For example, by using a single plug-in with the appropriate software application, one or more services can be added to the system, thereby adding the corresponding functionality to the system.
  • Command subsystem 105 is used to execute commands in the form of commands related to document processing.
  • a user can execute an operation on a document by executing a series of instructions. For example, a user edits an XML DOM tree corresponding to an XML document in a document processing system by issuing an instruction in the form of a command, and processes an XML document. These commands can be used for keystrokes, mouse clicks, or other valid user designs. It may be entered using a interface action.
  • One command may execute more than one instruction. In this case, these instructions are wrapped (contained) in one command and executed in succession. For example, a user wants to replace a wrong word with a correct word. In this case, the first instruction is to find the wrong word in the document, the second instruction is to delete the wrong word, and the third instruction is to insert the correct word It may be. These three instructions may be wrapped in one command.
  • the command may have an associated function, for example, an “undo” function, described in detail below. These functions may also be assigned to any base class that is used to create objects.
  • the key component of the command subsystem 1 05 is Gommandlnvoker (command launcher: command starter) 1 05 1 which selectively gives commands and acts to execute them. Although only one Gommandln voker is shown in Fig. 11 (b), one or more Go countries and lnvoker may be used, and one or more commands may be executed simultaneously. Gommandlnvoker 1 05 1 retains the functions and classes necessary to execute commands. In operation, the Command 1 052 to be executed is loaded into the Queue 1 053. Gommandlnvoker generates a command thread that runs continuously.
  • Command types executed by Commandlnvoker 1 05 1 include Undoab I eCommand (cancellation command) 1 054, AsynchronousCommand (asynchronous command) 1 055, and VGGo country and (VC command) 1 056, It is not limited to these.
  • Undoab I eCommand 1 054 is the result of the command if the user wants it. It is a Go country and can cancel the fruit. Examples of UndoableGo country and include cutting, copying, and inserting text. In operation, when a user selects a portion of a document and applies a cut command to that portion, the cut portion is “not cut” if necessary, using UndoableG 0 country and. Can be.
  • the VGGo country andl 056 is stored in a Vocabulary Connection Descriptor (VCD) script file.
  • VCD Vocabulary Connection Descriptor
  • These are user-specified commands that can be defined by the programmer.
  • the Command may be a more abstract Go country and combination, for example, to add an XML fragment, delete an XML fragment, or set an attribute. These Go countries and are particularly focused on document editing.
  • AsynchronousCommand 1 055 is a command from the system, such as saving a document, and is executed asynchronously separately from UndoableGommand and VGGommand. AsynchronousCommand cannot be undone because it is not possible with UndoableGommand.
  • Resource 109 is an object that provides several functions to various classes. For example, string resources, icons, and default key bindings are examples of resources used in the system.
  • the application component 102 which is the second main feature of the document processing system, is executed in the execution environment 101.
  • Application component 1102 includes the actual document and various logical and physical representations of the document in the system.
  • application component 102 includes the configuration of the system used to manage documents.
  • the application component 102 further includes a user application (user application) 106, an application core 108, a user interface 107, and a GoreGomponent (core component) 110.
  • user application user application
  • application core 108 application core 108
  • GoreGomponent core component
  • UserApplication 10 06 is entered on the system together with Program nvoker 1 03.
  • UserApplication 106 is an adhesive that connects a document, various representations of the document, and the user interface required to interact with the document. For example, suppose a user wants to generate a set of documents that are part of a project. When these documents are loaded, an appropriate representation of the document is generated. User interface functions are added as part of UserApplication 106. In other words, UserApplication 106 holds both the representation of the document that allows the user to interact with the document that forms part of the project, and various aspects of the document. Once UserApplication 1 06 is generated, whenever a user wants to interact with a document that forms part of Project ⁇ , the user can easily sneak UserApplication 1 06 into the execution environment. it can.
  • CoreComponent 1 1 0 provides a way to share documents between multiple panes.
  • Pane displays the DOM tree and handles the physical layout of the screen.
  • a physical screen consists of multiple panes in the screen that depict individual pieces of information.
  • the document that the user sees on the screen is
  • the physical layout of the screen is also in the form of a tree.
  • Pane can be RootPane 1 084 or SubPane 1 085.
  • RootPane 1 084 is a Pane that hits the root of the pane tree
  • SubPane 1 085 is an arbitrary Pane other than RootPane 1 084.
  • CoreComponent 1 1 0 also provides fonts and serves as a source of multiple functional operations for documents, such as toolkits.
  • One example of a task performed by CoreComponent 1 1 0 is the movement of a mouse force between multiple panes.
  • Another example of a task to be performed is one of the documents in a Pane Mark a part and copy it onto another Pane containing a different document.
  • the application component 1 0 2 is composed of documents that are processed and managed by the system. This includes various logical and physical representations of documents within the system.
  • the application core 1 0 8 is a configuration of the application component 1 0 2. Its function is to keep the actual document with all the data it contains.
  • the application core 1 0 8 includes DocumentManager (document manager: document management unit) 1 0 8 1 and Document (document: document) 1 0 8 2 itself.
  • DocumentManager 1 0 8 1 manages Document 1 0 8 2.
  • DocumentManager 1 0 8 1 is RootPane 1 0 8 4, SubPane 1 0 8 5, CI ipBoard (Clip Port) Utility 1 0 8 7, and Snapshot (Snapshot) Utility 1 0 8 8 Also connected to.
  • the G i pBoard utility 1 0 8 7 provides a way to preserve the portion of the document that the user has decided to add to the clip pod. For example, suppose a user wants to cut a part of a document and save it in a new document for later review. In such a case, the clipped part is added to the G i pBoard.
  • the Snapshot utility 1 0 8 8 makes it possible to remember the current state of an application as it transitions from one state to another.
  • FIG. 1 0 7 Another configuration of application components 1 0 2 is a user interface 1 0 7 that provides a means for users to physically interact with the system.
  • the user interface is used by users to upload, delete, edit, and manage documents.
  • User interface The chair includes Frame 1 07 1, MenuBar 1 072, StatusBar 1 073, and URLBar 1 074.
  • Frame 1 07 1 is considered to be an active area of the physical screen, as is generally known.
  • MenuBar 1 072 is a screen area that contains menus that provide selection to the user.
  • StatusBarl 073 is a screen area that displays the execution status of the application.
  • URLBarl 074 provides an area for entering U R L address to navigate the Internet.
  • FIG. 12 shows the details of DocumentManager 1 081. This includes the data structures and structures used to represent the document within the document processing system. For clarity, the configuration described in this subsection is described using the MVC paradigm.
  • DocumentManager 1 081 includes a DocumentGontainer (document container: document container) 203 that holds and hosts all the documents in the document processing system.
  • a tool kit 201 that is matched to DocumentManager 1 081 provides various tools used by DocumentManager 1 081.
  • DomService DOM service
  • toolkit 201 Another tool provided by tool kit 201, lOManager (input / output manager) manages input to and output from the system.
  • StreamHandler stream handler
  • These tools are not specifically shown in the figure and are not assigned a reference number, but form a component of the tool kit 201.
  • model (M) includes a DOM tree model 202 of the document. As mentioned above, all documents are represented as DOM trees in the document processing system.
  • the document is also DocumentGontainer 2 Form part of 03.
  • Zone 209 which is a subset of the DOM tree, contains the associated area of one or more nodes in the DOM tree. For example, only a part of the document can be displayed on the screen, but this part of the visualized document is displayed using Zone 209.
  • ZoneFactory zone factory: zone creation unit
  • Zone represents a part of DOM, but one or more “namespaces” may be used.
  • a namespace is a collection of names that are unique within a namespace. In other words, the same name does not exist in the namespace.
  • Facet 2022 is another configuration within the model (M) part of the MVC paradigm. Facet is used to edit Nodes in the Zone. Facet2022 organizes access to the DOM using procedures that can be executed without affecting the contents of the Zone itself. As explained below, these procedures perform important and useful operations related to Node.
  • Each Node has a corresponding Facet. Instead of directly manipulating Nodes in D O M, DOM integrity is protected by using Facet to perform operations. If the operation is performed directly on Node, several plugins can modify the DOM at the same time, resulting in inconsistencies.
  • the DOM standard established by the W3 C defines a standard interface for operating Nodes, but in fact, there are operations specific to each POD library or Node. It is convenient to prepare this operation as API. In the document processing system, APIs specific to each node are prepared as Facet and attached to each node. This makes it possible to add useful APIs while complying with the DOM standard. In addition, every pokébra Rather than implementing a specific DOM, by adding a specific API to the standard DOM implementation later, it is possible to handle various poker libraries in a unified manner. Documents with mixed vocabulary in any combination can be processed appropriately.
  • a Poch Library is a set of tags (for example, XML tags) belonging to a namespace.
  • a namespace has a set of unique names (here tags).
  • a poch library appears as a subtree of the DOM tree that represents an XML document. This subtree contains Zones. In a specific example, the tag set boundary is defined by the Zone.
  • Zone 209 is generated using a service called ZoneFactory 205.
  • Zone 209 is an internal representation of part of the DOM tree that represents the document.
  • Zone 209 is required to provide access to some of these documents. This logical representation informs the computer how the document is logically represented on the screen.
  • Canvas 210 is a service that acts to provide a logical layout corresponding to the Zone.
  • the Pane 21 1 is a physical screen layout corresponding to the logical layout provided by the Canvas 210.
  • the user sees only the rendering of the document with text and images on the display screen. Therefore, the document must be rendered on the screen by the process of drawing characters and images on the screen.
  • the document is drawn on the screen by Canvas 210 based on the physical layout provided by Pane 21 1.
  • Ganvas 210 corresponding to Zone 209 is generated using Editlet 206.
  • the DOM of the document is edited using Editlet 206 and Ganvas 210.
  • Editlet 206 and Ganvas 210 use Facet corresponding to one or more Nodes in Zone 209. These services do not directly operate the nodes in the Zone and DOM. Facet is operated using Gommand207.
  • the user generally moves the cursor on the screen or types a command To interact with the screen.
  • Canvas 2 10 which provides a logical layout on the screen accepts this powerful operation.
  • Canvas 2 1 0 allows Facet to execute the corresponding action. Due to this relationship, the Kichiichi Sol Subsystem 20 4 functions as a controller (C) of the MVC paradigm for DocumentManager 1 0 8 1.
  • Ganvas 2 1 0 also has a task to handle events. For example, Canvas 2 1 0 handles events such as mouse clicks, focus movements, and similar actions triggered by the user.
  • Documents in a document processing system can be viewed from at least four perspectives. 1) the data structure used to maintain the content and structure of the document in the document processing system, 2) a means for editing the content of the document without affecting the integrity of the document, 3) on the screen of the document 4) The physical layout of the document on the screen. Zone, Facet, Canvas, and Pane represent the components of the document processing system that correspond to the above four viewpoints.
  • UndoManager Undo Manager 2 1 2 1 holds operations on all documents that may be canceled by the user.
  • the controller portion of the MVC may include a force-sol subsystem 204.
  • the Rikiichi Sol Subsystem 204 accepts input from the user. These inputs generally have the character of commands and / or editing operations. Therefore, the Rikiichi Sol Subsystem 204 can be considered as the controller (C) part of the MVC paradigm related to DocumentManager 1 081.
  • Canvas 210 represents the logical layout of the document to be presented on the screen.
  • Ganvas 210 may include a box tree 208 that logically represents how the document looks on the screen. This box tree 208 will be included in the view (V) portion of the MVC paradigm associated with DocumentManager 1 081.
  • XML documents can be handled by mapping them to other representations, and if the mapped destination representation is edited, the editing is consistent with the original XML document.
  • a document described in a markup language for example, an XML document, is created based on a library defined by a document type definition.
  • a Pokéebra is a set of tags. Since a pocabulary may be arbitrarily defined, there can be an infinite number of pocabularies. However, it is impractical to provide a dedicated processing / management environment for each of the many possible libraries. Pocabulary Connection provides a way to solve this problem
  • a document may be described in two or more markup languages.
  • Documents include, for example, XHTML (extensible HyperText Markup Language), SVG (Scalable Vector Graphics), Math ML (Mathematical Markup Lan guage) and other markup languages.
  • XHTML extensible HyperText Markup Language
  • SVG Scalable Vector Graphics
  • Math ML Math ML
  • the markup language may be found in the same way as a tag library in XML.
  • the Pokélibry is processed using a Pokéebra rib lagquin.
  • Documents described in a vocabulary where plug-ins are not available in the document processing system are displayed by mapping to documents in another vocabulary where plug-ins are available. This feature enables proper display of vocabulary documents without plug-ins.
  • the poker library connection includes the ability to obtain a definition file and map between two different vocabularies based on the obtained definition file.
  • a document written in one Poch library can be mapped to another Poch library.
  • the PB library connection allows a document to be displayed and edited by a display / edit plug-in corresponding to the Pb library to which the document is mapped.
  • each document is generally described in the document processing system as a DOM tree having a plurality of nodes.
  • the “definition file” describes the correspondence between each node and other nodes. It is specified whether the element value and attribute value of each node can be edited. An arithmetic expression using the element value or attribute value of the node may be described.
  • a destination DOM tree to which the definition file is applied is generated. In this way, the relationship between the source DOM tree and the destination DOM tree is established and maintained.
  • the Pocabular connection monitors the correspondence between the source DOM tree and the destination DOM tree.
  • the Pb library connection Upon receiving an editing instruction from the user, the Pb library connection changes the associated node in the source D O M tree. A “mutation event” is issued to indicate that the source D O M tree has changed, and the destination D O M tree is changed accordingly.
  • the Pocabulary Connection Subsystem which is a part of the document processing system, provides a function that enables multiple expressions of a document.
  • FIG. 13 shows a Vocabulary Connection (V C) subsystem 300.
  • the VC subsystem 300 provides a way to maintain the consistency of two alternative representations of the same document.
  • the two representations may be representations of the same document in two different pockets.
  • one may be the source DOM tree and the other may be the destination DOM tree.
  • the functions of the POB library connection subsystem 300 are realized in a document processing system using a plug-in called Vocabulary Connection 301.
  • Vocabulary Connection 301 For each Vocabulary 305 in which the document is represented, a corresponding plug-in is required. For example, if a part of a document is described in HTML and the rest is described in SVG, a plug-in plug-in corresponding to HTML and SVG is required.
  • the VocabularyGonnection plug-in 301 generates an appropriate VGGanvas (Pocket library connection canvas) 310 for Zone 209 or Pane 211 corresponding to the appropriate Vocabulary 305 document.
  • VGGanvas Pocket library connection canvas
  • changes to Zone 209 in the source DOM tree are propagated to the corresponding Zone in another DOM tree 306 by the transformation rule.
  • a conversion zole is described in the form of a Vocabulary Connection Descriptor (VCD).
  • VCD Vocabulary Connection Descriptor
  • Connector 304 connects the source node of the source D OM tree and the destination node of the destination DOM tree.
  • Gonnector3 04 acts to see modifications (changes) to the source node in the source DOM tree and the source document corresponding to the source node. Then modify the node of the corresponding destination DOM tree.
  • Gonnector304 is the only object that can modify the destination DOM tree. For example, the user can make modifications only to the source document and the corresponding source DOM library. Connector 304 then makes the corresponding modifications to the destination DOM tree.
  • Connector 304 is logically linked to form a tree structure.
  • the tree formed by Connector 304 is called GonnectorTree.
  • the Connector 304 is generated using a service called GonnectorFactory (connector factory: connector generation unit) 303.
  • GonnectorFactory 303 creates Connector 304 from the source document and links them to form GonnectorTree.
  • the VocabularyGonnectionManager 302 holds a GonnectorFactory 303.
  • a Poch Library is a set of tags in a namespace.
  • Vocabulary 305 is generated for a document by Vocabu IaryConnection 301. This is done by parsing the document file and generating an appropriate Vocabulary Connection Manager 302 for mapping between the source DOM and the destination D OM. Further, an appropriate relationship is created between the GonnectorFactory 303 that generates the Connector, the ZoneFactory 205 that generates the Zone 209, and the Editlet 206 that generates the Canvas corresponding to the node in the Zone. When a user disposes of or deletes a document from the system, the corresponding VocabularyGonnectionManager 302 is deleted.
  • Vocabulary 305 generates VGGanvas 310.
  • Connector 30 4 and the destination DOM tree 306 are generated correspondingly.
  • Sources DO M and Canvas correspond to model (M) and view (V), respectively.
  • M model
  • V view
  • Pokayabra Rib Lagoin Pocabulary plug-ins are provided for major podocalyps such as XHTML, SVG, and MathML.
  • Pokaya brarib lagins are used in conjunction with the target pokary library. They provide a way to map between podapuraries using vocabulary connection descriptors.
  • Such mapping is only meaningful if the target Pocabula mapping is possible and the method depicted on the screen is predefined.
  • a rendering method is a standard defined by organizations such as W 3 C, such as X H TM L.
  • VGGanvas is used when a poker library connection is required.
  • the source Ganva s is not generated because the source view cannot be generated directly.
  • VGGanvas is created using GonnectorTree. This VGGanvas only handles event conversion and does not assist in rendering the document on the screen.
  • the purpose of the Pocabulary Connection Subsystem is to generate and maintain two representations of the same document simultaneously.
  • the second representation is also in the form of a DOM tree, which has already been described as a destination DOM tree. To see the document in the second representation, we need DestinationZone, Canv as and Pane.
  • DestinationGanvas308 provides a logical layout of the document in the second representation. In particular, DestinationGanvas308 provides user interface features such as cursors and selections to depict documents in the destination representation. Events that occur in DestinationGanvas308 are fed to Gonnector. DestinationGanvas 308 notifies Connector 304 of events specific to the mouse event, key event, drag and drop event, and document destination (second) representation of the library.
  • VC POB library connection
  • the library connection command subsystem 313 generates a VGGo country and (pocket connection command) 315 used for execution of instructions related to the protocol connection subsystem 300.
  • VGGo country and can be generated by using the built-in Go country andTemplate (command template) 31 8 and / or by generating commands from scratch in the script subsystem 31 4 using script language can do.
  • command templates include "lf” command template, "When” command template, and "Insert” command template. These templates are used to create VGGommand.
  • the X P at h subsystem 31 6 is an important component of the document processing system, and supports the implementation of the poker library connection.
  • Connector 304 generally contains xpath information. As mentioned above, one of the tasks of a poker library connection is to reflect changes in the source DOM tree in the destination DOM tree.
  • the xpath information contains one or more xpath expressions that are used to determine the subset of the source DOM tree that should be monitored for changes / modifications.
  • the source DOM tree is a DOM tree or Zone that represents a document in a vocabulary before being converted to another vocabulary.
  • the node of the source DOM tree is called the source node.
  • the destination DOM tree is a DOM tree that represents the same document with a different vocabulary after being transformed by mapping, as described above in connection with the Pocabulary connection. Zone. Destination D O M Tree nodes are called destination nodes.
  • GonnectorTree is a hierarchical expression based on a Connector that represents a correspondence between a source node and a destination node.
  • the Connector monitors the source node and modifications made to the source document and modifies the destination DOM tree.
  • the Connector is the only object that is allowed to modify the destination DOM tree.
  • An event is a way to describe and execute a user action executed on a program.
  • Many high-level languages, such as J a V a rely on events that describe user actions.
  • programs had to actively gather information to understand user actions and execute them themselves. For example, after a program initializes itself, it enters a loop that repeatedly checks the user's actions to take appropriate action when the user takes action on the screen, keyboard, mouse, etc. Means. However, this process is cumbersome. In addition, it requires a program that consumes CPU cycles and loops while waiting for the user to do something.
  • the document processing system defines and uses its own events and how to handle these events.
  • a mouse event is an event that occurs from a user mouse action.
  • User actions including the mouse are passed to the mouse event by Canvas 2 10.
  • Canvas can be said to be at the forefront of interaction by users of the system. If necessary, the canvas at the front passes the content related to the event to the child.
  • a keest mouth event starts from Canvas 2 1 0.
  • Key Stroke events have immediate focus. That is, it is related to work at any moment. Keystroke events entered on Ganvas 2 1 0 are passed to their parents. Keystrokes are handled by different events that can handle string insertion. Events that handle string insertion occur when a character is inserted using the keyboard. Other “events” include, for example, other events that are treated like drag events, drop events, and mouse events.
  • Dest i nat i onCanvas 7—the example XHTMLGanvasl 106 is specific to events that occurred, eg mouse events, keypoint events, dragand drop events, and poker libraries. Receive events, etc. These events are notified to the connector 30. More specifically, as shown in Figure 21 (b), the event flow in the VocabularyGonnection plug-in 301 is SourcePane 1 1 03 , VCCanvas 1 10 04, Destination Pane 1 1 05, DestinationGanvas 1 10 06, which is an example of DestinationGanvas, Destination DOM tree and Goni- ector ree3 ⁇ 4r.
  • Programlnvoker 1 03 is a basic program in the execution environment that is executed to start the document processing system. As shown in Figure 11 (b) and Figure 11 (c), UserApplication 10 06, ServiceBroke r 1041, Command I nvoker 1 051, and Resource 1 09 are all in Program I nvoker 1 03. Connected. As described above, the application 102 is a component that is executed in the execution environment. Similarly, ServiceBroker 1 0 41 manages plug-ins that add various functions to the system. On the other hand, Go country ndlnvoker 1 051 executes the instructions provided by the user and holds the classes and functions used to execute the commands.
  • ServiceBroker 1 041 will be described in more detail with reference to FIG. 14 (b). As mentioned above, ServiceBroker 1 041 manages plug-ins (and related services) that add various functions to the system.
  • Service 1 042 is the lowest layer that can add or change features to the document processing system.
  • “Service” consists of two components of ServiceGategory401 and ServiceProvider 402. As shown in Figure 14 (c), one 361 ⁇ 6031: 680 ⁇ 40 1 Can have multiple related ServiceProviders 402. Each ServicePro V i der acts to run part or all of a particular Service Gategory. On the other hand, ServiceGatego401 defines the type of Service.
  • Service is 1) "spot color service” that provides specific spot colors to the document processing system, 2) “ablation service” that is an application executed by the document processing system, and 3) the entire document processing system. It can be classified into three types: “environmental services”, which provide the necessary characteristics over a wide range.
  • FIG. 14 An example of Service is shown in Figure 14 (d).
  • Gat egory of application Service it is a row of system utility card ⁇ corresponding ServiceProvider.
  • Editlet 206 is a Category
  • HTMLEditlet and SVGEdit let are corresponding ServiceProviders.
  • ZoneFactory 205 is another Category of Service, and has a corresponding ServiceProvider (not shown).
  • plug-ins have already been described as adding functionality to a document processing system, they may be considered a unit consisting of several ServiceProviders 402 and their associated classes. Each plug-in has dependencies and ServiceGategory 401 described in the declaration file.
  • Figure 14 (e) shows further details about the relationship between Programlnvoker 1 03 and UserApplication 1 06. Necessary documents and data are loaded from storage. All necessary plug-ins are loaded on ServiceBroker 1 04 1. ServiceBroker 1 04 1 holds and manages all plug-ins. Plug-ins can be physically added to the system and their functions can be loaded from storage. When the plug-in content is loaded, ServiceBroker 1 04 1 defines the corresponding plug-in. Next, the corresponding UserApplication 1 06 is generated, loaded into the execution environment 1 0 1, and attached to the Programlnvoker 1 03.
  • Figure 15 (a) shows an application loaded on Programlnvoker 1 03 Provides further details about the configuration of the service.
  • Command Invoker 1 051 which is a component of command subsystem 1 05, starts or executes Command 1 052 in Program Invoker 1 03.
  • Command 1 052 is a command used to process a document such as XML and edit the corresponding XML DOM tree in the document processing system.
  • Command Invoker 1 051 holds classes and functions necessary for executing Comma nd1 052.
  • ServiceBroker 1 041 is also executed in Program nvoker 1 03.
  • UserApipication 1 06 is connected to the user interface 1 07 and GoreGomponent 1 1 0.
  • GoreGomponent 1 1 0 provides a way to share documents between all panes.
  • GoreGomponent 1 1 0 provides additional fonts and acts as a toolkit for Pane.
  • FIG. 15 (b) shows the relationship between Frame 1 07 1, MenuBar 1 072, and StatusBar 1 07 3.
  • Figure 16 (a) provides further explanation of the application core 108 that holds all documents, and parts of documents and data belonging to the documents.
  • Gor eComponent 1 1 0 is attached to DocumentManager 1 081 that manages document 1 082.
  • DocumentManager 1 081 is the owner of all documents 1 082 stored in the memory associated with the document processing system.
  • DocumentManager 1 081 is also connected to Root Pane 1 084 to facilitate the display of the document on the screen.
  • the functions of GI ipBoard 1 087, SnapShot 1 088, Drag & Drop 601 and Over Iay 602 are also attached to GoreGomponent 1 1 0.
  • SnapShot 1 088 is used to restore the application state.
  • SnapShot 1 088 When the user starts SnapShot 1 088, the current state of the application is detected and stored. Then, when the application state changes to another state, the stored state contents are preserved. SnapShotl 088 is illustrated in Figure 16 (b). In operation, from the URL where the application is In order to make it possible to seamlessly execute the operation of going back and the operation of moving forward when moving to Snapshot, Snapshot 1088 stores the previous state.
  • Figure 17 (a) shows further explanation of DocumentManager 1 08 1 and how documents are organized and maintained in DocumentManager.
  • DocumentManager 1 08 1 manages document 1 082.
  • one of the documents is RootDocument 701, and the remaining document is SubDocument 702.
  • Do cumentManager 1 08 1 is connected to RootDocument 70 1 and RootDocument 7 0 1 is connected to all SubDocuments 702.
  • DocumentManager 1 08 1 is an object that manages all documents 1 082 00 (51 ⁇ 6111: 00111: 3 ⁇ 6 "203 Tools that form part of the toolkit 20 1 (eg XM L toolkit) including D0MService703 and lOManager 704 are also supplied to DocumentManager 1 08 1. See Figure 17 (a) again. Then, D0MService703 generates a DOM tree based on the document managed by DocumentManager 1 08 1. Each Document 705 is created by the corresponding DocumentGontainer 203, whether it is RootDocument 701 or SubDo cument702. Managed.
  • 203 Tools that form part of the toolkit 20 1 (eg XM L toolkit) including D0MService703 and lOManager 704 are also supplied to DocumentManager 1 08 1. See Figure 17 (a) again. Then, D0MService703 generates a DOM tree based on the document managed by DocumentManager 1 08 1. Each Document 705 is created by the corresponding DocumentGontainer 203, whether it
  • Figure 17 (b) shows how documents A_E are arranged hierarchically.
  • Document A is a RootDocument.
  • Document B—D is a SubDocument of Document A.
  • Document E is a SubDocument of Document D.
  • the left side of Fig. 17 (b) shows an example of the same document hierarchy displayed on the screen.
  • Document A the RootDocument
  • Document B_D which is a SubDocument of Document A
  • Document E which is a SubDocument of Document D
  • UndoManager (Undo Manager: Undo Manager) 706 and UndoWrapper 707 are respectively Generated for DocumentGontainer 203.
  • UndoManager 706 and UndoWrapper 707 are used to execute undoable commands.
  • SubDocument changes are also closely related to RootDocument.
  • the undo operation takes into account changes that affect other documents in the hierarchy and maintains consistency among all documents in a chained hierarchy, for example, as shown in Figure 17 (b). Guarantee that.
  • UndoWrapper 707 wraps the undo objects related to SubDocument in DocumentGontainer 203 and binds them to the undo object related to RootDocument. UndoWrapper 707 executes collection of undoable objects that can be used in UndoableEditAcceptor (undoable edit acceptor).
  • UndoManager 706 and the UndoWrapper 707 are connected to the Undoab IE Edit Acceptor 709 and the UndoableEditSource (Undoable Edit Source) 708.
  • Document 705 may be UndoableEditSource 708 or the source of an editable edit object.
  • Figures 18 (a) and 18 (b) provide further details about the undo framework and undo commands.
  • UndoCommand 80 1, RedoCommand 802, and UndoableEditGommand803 are commands that can be loaded on Gommandlnvoker 1 05 1 as shown in Fig. 11 (b) and executed in order. Is done.
  • UndoableEditGommand803 is further attacked by Undoable EditSource 708 and Undoab IeIdAcceptor 709.
  • “Foo” EditGommand804 and “bar” EditGommand 805 are examples of Undoab IeEditC ommand.
  • Figure 18 (b) shows the execution of UndoableEditGommand.
  • the user edits Suppose you edit a Document 705 using a command.
  • UndoableEditAcceptor 709 is attacked in Document 705 DOM tree 11
  • Document705 is edited using the DOM API based on the command issued by the user.
  • the mutation event listener is notified that a change has been made. That is, in this step, the listener that monitors all changes in the DOM tree detects the editing operation.
  • UndoableEdit is stored as an object of UndoManager 706.
  • the UndoableEditSource 708 may be the Document 705 itself.
  • Figure 19 (a) shows an overview of how a document is loaded into the document processing system. Each step is detailed in relation to a specific example in Figures 24-28.
  • a document processing system generates a DOM from a binary data stream consisting of data contained in a document.
  • ApexNode anapex node
  • the corresponding Pane is identified.
  • the identified Pane generates Zone and Canvas from ApexNode and physical screen surface.
  • the Zone then creates Facets for each node and provides the information needed for them.
  • Canvas generates a data structure for rendering nodes from the DOM tree.
  • the document is loaded from storage 901.
  • a DOM tree 902 of the document is generated.
  • a corresponding DocumentGontainer 903 is created to hold the document.
  • DocumentGonta iner 903 is compatible with DocumentManager 9 Attach to 04.
  • a DOM tree contains a root node and sometimes multiple secondary nodes.
  • a DOM tree may have, for example, an SV G subtree as well as an X H TM L subtree.
  • the XH TM L subtree has an XH TM L ApexNode 905.
  • the SVG subtree has S V G ApexNode 906.
  • step 1 ApexNode 906 force is attached to Pane907, which is the logical layout of the screen.
  • Pane907 asks GoreGomponent, who is PaneOwner 908, a ZoneFactory for ApexNode 906.
  • step 3 PaneOwner 908 returns a ZoneFactory and an Edi tl et which is a GanvasFactory for ApexNode 906.
  • step 4 Pane907 force ⁇ Zone909 is generated. Zone909 is attached to Pane 907.
  • step 5 Zone909 generates a facet for each node and attaches to the corresponding node.
  • Step 6 Pane 907 force ⁇ Ganvas9 1 0 is generated. Canvas 9 1 0 is attacked by Pane 907.
  • Ganvas9 1 0 includes various commands.
  • step 7 Ganvas9 10 builds a data structure for rendering the document on the screen. For XH TM L, this includes a box tree structure.
  • Figure 19 (b) shows an overview of the Zone configuration using the MVC paradigm.
  • Model (M) since Zone and Facet are inputs related to the document, Model (M) includes Zone and Facet. Since the canvas and the data structure for rendering the document on the screen are the output that the user sees on the screen, the view (V) corresponds to the canvas and the data structure. Since Command executes control operations on the document and its various relationships, Control (C) includes Go Country and included in Canvas. [0164] L. Document Representation
  • FIG. 20 An example of a document and its various expressions will be described below using FIG.
  • the document used in this example contains both text and images.
  • Text is represented using X HTML, and images are represented using SVG.
  • Figure 20 details the MVC representation of the relationship between the document components and the corresponding objects.
  • Document 1 001 is attached to DocumentContainer 1 002 that holds Document 1 001.
  • the document is represented by a DO M tree 1 003.
  • the DOM tree contains ApexNode 1 004.
  • ApexNode is represented by a black circle. Nodes that are not vertices are represented by white circles. The Facet used to edit a node is represented by a triangle and is attached to the corresponding node. Since the document has text and images, the DOM tree of this document contains an XHTML portion and an SVG portion.
  • ApexNode 1 004 is the top node of the XH TM L subtree. This is attacked by XHTMLPane 1 005, the top pane for the physical representation of the XHTML part of the document. ApexNode 1 004 is also attacked by XHTMLZone 1 006, which is part of the document's DOM tree.
  • Facet corresponding to Node 1 004 is also attached to XHTMLZone 1 006.
  • X HTMLZone 1 006 is attached to XHTMLPane 1 005.
  • XHTMLEditlet generates XHTMLGanvas 1007, which is a logical representation of the document.
  • XHTMLGanvas 1 007 is attacked by XHTMLPane 1 005.
  • XHTMLGanvas 1 007 generates BoxTree 1 009 for the XHTML component of Document 1 001.
  • Various Go countries and 1 008 required to hold and render the X H TM L portion of the document are also added to XHTMLGanvas 1 007.
  • ApexNode 1 0100 in the SVG subtree of the document is attached to SVGZone 1 01 1 that is part of the DOM tree of Document 1 001 that represents the SVG component of the document.
  • ApexNode 1 01 0 is attached to SVGPane 1 01 3 which is the highest Pane in the physical representation of the SVG part of the document.
  • SVGGanvas 1 01 2 which represents the logical representation of the S VG part of the document, is generated by SVGEditlet And attached to SVGPanel 01 3.
  • the data structure and commands for rendering the SVG part of the document on the screen are attacked by SVGGanvas.
  • this data structure may include circles, lines, rectangles, etc. as shown.
  • FIG. 21 (a) shows a simplified MV relationship in the XH TM L component of Document 1001.
  • the model is XHTMLZonel 1 01 for the X H TM L component of Document 1 001.
  • the XHTMLZone tree contains several Nodes and their corresponding Facets.
  • the corresponding XHTMLZone and Pane are part of the model (M) part of the MV C paradigm.
  • the View (V) portion of the MVC paradigm is the corresponding X HTML Canvas 1 1002 and BoxTree of the X H TM L component of Document 1 001.
  • the XHTML part of the document is rendered on the screen using Canvas and Go country and included. Events such as keyboard and mouse input go in the opposite direction, as shown.
  • SourcePane has an additional function: the role as a holder of DOM.
  • Figure 21 (b) provides a library connection for the Document "! 001 component shown in Figure 21 (a).
  • SourcePane 1 1 03 acting as a DOM holder, is the source D OM tree of the document.
  • Gonne ctorTree is created by GonnectorFactory and creates DestinationPane 1 1 05 which also functions as the destination DOM holder
  • Destinatio nPane 1 1 05 is a layout of the XHTMLDestinationGanvas 1 1 06 in the form of a box tree. Is done.
  • Figures 22 (a)-(c) show further details related to the plug-in subsystem, the poker library connection, and the connector, respectively.
  • Plug-in subsystems are used to add or replace functionality in a document processing system. It is.
  • the plug-in subsystem includes ServiceBroker 1 041.
  • ZoneFactoryService 1 201 that is attacked by Service Broker 1 041 generates a Zone for a part of the document.
  • EditletService 1 202 is also attached to ServiceBroker 1 04 1.
  • EditletService 1 202 generates a Ganvas corresponding to the Node in the Zone.
  • ZoneFactory examples are XHTMLZoneF actory 1 21 1 and SVGZoneFactory 1 21 2 that generate XHTMLZone and SVGZone, respectively.
  • the text component of the document may be represented by generating XHTMLZone, and the image may be represented using SVGZone.
  • EditletService examples include XHTMLEditlet 1 221 and SVGEditlet 1 222.
  • FIG 22 (b) shows further details related to the Pocabulary connection.
  • the POB library connection is an important feature of a document processing system, and enables consistent expression and display of documents in two different ways.
  • the VGManager 302 that holds the GonnectorFactory 303 is a part of the poker library connection subsystem. GonnectorFactory 303 generates a connector 304 for the document.
  • the Connector monitors the nodes in the source D OM and modifies the nodes in the destination DOM to maintain consistency between the two representations.
  • Temp late 31 7 represents a conversion rule of several nodes.
  • a poker library connection descriptor (VCD) file is a list of Templates that represent a number of rules that transform an element or set of elements that satisfy a particular path or rule into another element.
  • Temp late 31 7 and GommandTemplate 31 8 are all attached to VGMana ger302.
  • VGManager is an object that manages all sections in a V CD file. One VGManager object is generated for one VCD file.
  • FIG. 22 provides further details related to the Connector.
  • GonnectorF actory 303 (Connect 3 ⁇ 4: Generate from i source document.
  • ConnectorFactory 3 03 is attached to Vocabulary, Template, and ElementTemplate Each creates a Vocabu IaryConnector TemplateConnector ElementGonnector.
  • the VGManager 302 holds a GonnectorFactory 303.
  • the corresponding VCD file is read to generate the Vocabulary. In this way, Connect orFactory 303 force ⁇ is generated.
  • This GonnectorFactory 303 is related to a ZoneFactory that generates a Zone and an Editlet that generates a Canvas.
  • a template is a set of rules for converting markup language elements into other elements. For example, each template is matched to the source DOM tree or Zone. If it matches properly, a vertex connector is created. For example, the template “A / * / D” matches all branches that start at node A and end at node D, regardless of what nodes are in between. Similarly, “ ⁇ B” matches all “B” nodes from the root.
  • FIG. 23 shows an example VCD script using VGManager and Connect orFactoryTree for the “MySampleXML” file. Shows the section, template section and corresponding components in VGManager in the script file.
  • the attribute “match” is “sample: rootj”
  • “label” is “MySampl eXMLj”
  • “cal temp latej is“ sample templatej ”.
  • Vocabulary includes a vertex element as “sampl e: root j in the VGManager of“ MySampl eXML ”.
  • the corresponding UI label is“ MySampl eXMLj.
  • the tag is “vcd: templatej, 3 ⁇ 4 Hij (i “sample: tempi ate”.
  • FIG 24-28 shows a detailed description of loading the document “MySampleXML”.
  • the document is loaded from storage 1 405 forces.
  • the DOMService generates a DocumentGontaineM 401 that matches the D OM tree and DocumentManager 1 406.
  • DocumentGontaineM 4 01 is attached to DocumentManager 1 406.
  • the document contains XHTML and MySampleXML subtrees.
  • ApexNode 1 403 of XH T M L is the top node of X H T M L to which the tag rxhtml: htmlj is attached.
  • ApexNode 1 404 of “MySampleXML” is the top node of “MySampl eXMLj” with the tag “sample: rootj”.
  • step 2 shown in Fig. 24 (b) RootPane generates XHTMLZone, Facet, and Canvas of the document.
  • Panel 407, XHTMLZone 1 408, XHTMLCanvas 1 409, and BoxTree 1 410 are generated corresponding to ApexNode 1 403.
  • step 3 shown in Fig. 24 (c) a tag "samp le: root" that XHTMLZone does not know is found and a SubPane is generated from the XHTMLGanvas area.
  • Step 4 shown in Fig. 25 SubPane can handle "sample: rootj and obtain a ZoneFactory that can generate an appropriate Zone.
  • This ZoneFactory is in a Vocabulary where ZoneFactory can be executed. It contains the contents of the Vo Ibu IarySection on “MySampl eXML”.
  • a Vocabulary force ⁇ DefaiHtZone 1 601 corresponding to “MySampleXML” is generated.
  • a corresponding Editlet is created and SubPane 1 501 is provided to create a corresponding Ganvas.
  • Editlet is generated as VGGanvas 3 ⁇ 4 :. And that's TemplateSection3 ⁇ 4rP ⁇ .
  • GonnectorFactoryTree Ru was also included ⁇ .
  • GonnectorFactoryTree creates all Gonn ector3 ⁇ 4r that will become GonnectorTree.
  • each connector is a destination DO Generate an M object.
  • Some of the connectors contain xpath information.
  • the xpath information contains one or more xpath expressions that are used to determine the subset of the source DOM tree that needs to be monitored for changes / modifications.
  • step 7 shown in FIG. 28 the Pocabulary creates a Destination DOM i onPane from the source DOM pane. This is done based on the SourcePane.
  • the ApexNode in the destination tree is attached to the DestinationPane and the corresponding Zone.
  • the DestinationPane is provided with its own Editlet that creates a DestinationGanvas and builds data structures and commands to render the document in the destination format.
  • Figure 29 (a) shows the flow when an event occurs on a node that does not have a corresponding source node and exists only in the destination tree.
  • Events acquired by Canvas such as mouse events and keyboard events, are passed to the destination interface and transmitted to the EI ementTemp IateConnector. Since ElementTemplateGonnector does not have a corresponding source node, the transmitted event is not an edit operation on the source node.
  • ElementTemplateGonnector executes the corresponding Action if it is communicated and the new event matches the command described in GommandTemplate. If there is no matching command, El ementTemp IateConnector ignores the transmitted event.
  • Figure 29 (b) shows the flow when an event occurs on the node of the destination tree associated with the source node by TextOfGonnector.
  • the TextOf Connector gets the text node from the node specified by XP ath in the source D OM tree and maps it to the node in the destination DOM tree. Events acquired by Ganva s, such as mouse events and keyword events, pass through the destination tree and are transmitted to TextOfGonn ector. TextOf Connector maps the transmitted event to the corresponding edit command of the source node, and loads it in Queuel 053.
  • An edit command is a set of DOM API calls that are executed via Facet. Ki When a command loaded on the user is executed, the source node is edited.
  • a new XML utilization technology is proposed.
  • a new programming / radame is proposed.
  • the creator of a web page is able to create a web page having various functions by using the V B script to control the Active X control.
  • the Active X controls themselves are black-boxed inside, so you can freely customize the functions of the Activ X controls and connect multiple Activ X controls to each other. It cannot be operated directly in cooperation.
  • the present inventor has realized that the XML processing technology described in the base technology is a technology suitable for solving such a problem.
  • Conventional general archiving stores data necessary for its own operation in its own binary format, so unless an API that allows external reference is prepared, It was not possible to refer to the internal data from outside.
  • the document processing apparatus 20 of the base technology holds the XML document in the DOM format, so that data can be freely accessed from the outside using the API provided by the DOM as a standard.
  • This technology that should be called a “white box” Build a highly flexible programming paradigm.
  • the present inventor has further advanced the XML processing technology described in the prerequisite technology, and has come up with a new XML usage technology as described later.
  • Figures 30 (a), (b), and (c) show examples of the data structure of the XML document to be processed.
  • the simplest example is an XML document written in a single Pocabulary, as shown in Figure 30 (a).
  • the processing system of this XML document only needs to be able to process an XML document described in a specific vocabulary, such as a browser that displays a web page described in XHTML.
  • the applicant of the present invention has a certain component of a library (indicated by white circles) and another one.
  • a document processing device that can properly process XML documents that contain the following components (indicated by black circles).
  • the base technology document processing device 20 an appropriate processing system is called for each fragment by the main control unit 22, which is an example of the activation unit, for an XML compound document that combines various XML vocabularies. You can build a view and edit the XML compound document according to the user's editing operation.
  • processing systems may be hard-coded plug-ins (for example, HTM L unit 50 and S VG unit 60) developed by Java (registered trademark), etc., or written in the definition file according to VC unit 80. Sometimes it is script-based. If it is a media vocabulary such as XHTML, a one-word plug-in is provided, and if it is a user's private library, it will be described in a definition file. With this technology, for example, in the example shown in Fig. 30 (b), a document described in XHTML (components with white circles) is replaced with a partial document described with a library for displaying graphs (components with black dots). It is possible to insert and place a graph on the screen of an XH TM L document.
  • Processing system is X Called by the ML fragment, and builds a view based on the contents of XML. Then, get UI events from the user and edit the XML. From a different point of view, it can be understood that the processing system responsible for displaying and editing a specific library is called with the XML fragment of that library as an argument.
  • the processing system is not limited to displaying and editing a certain XML, but may perform various processes more freely.
  • the server may be accessed through the Web Service API based on the data in the XML fragment, or natural language processing such as summarization and translation may be performed.
  • the XML fragment is also an argument when starting the processing system, but at the same time, it plays the role of heap memory used during operation.
  • the document processing device 20 of the base technology places a “tag” to start the procedure (processing system) in the XML document, and designates the argument as an attribute (attribute). It can be seen that this is a unique program execution environment where the procedure is executed with the enclosed text part as the operation target.
  • the document processing device refers to the namespace of the component included in the document and Start the processing system. Therefore, in the example of FIG. 30 (c), the component 25 shown with diagonal lines has a function of starting a processing system for displaying graphs. Then, the activated processing system does not process the component existing under the component 25, but refers to the data 26 pointed to by the pointer information of the component 25. Operate. This component 25 also has an “anchor” function that indicates the position of the graph in the document.
  • the pointer information included in the component 25 may be specified as an attribute of the component 25, or may be specified as an element value of the component 25 itself or a subordinate component. Parameter information necessary for the operation of the processing system may be described in the XML fragment containing the component 25.
  • an application runtime environment that can operate by referring to data at any location in a document. Furthermore, as described above, data in a document can be referenced from any application using the DOM API. Therefore, there is a new programming environment that can use data in a document held as a DOM as a shared memory.
  • the component 25 for starting the application is described, and the application started with the component 25 refers to the pointer information of the component 25.
  • the other data 26 of the document is used as a shared memory. In this way, a new programming paradigm is realized in which documents and applications work together seamlessly.
  • the document processing device 20 can detect the mutation when the DOM is changed.
  • the data is referred to by the graph display processing system 2 6 force even if it is changed by another processing system, the change is notified to the graph display processing system. By doing so, changes can be appropriately reflected. In this way, even when multiple applications are operating with reference to the same data, the data can be linked appropriately, so that multiple applications can be easily linked to operate.
  • the fact that multiple processing systems operate with reference to the same pointer is, in other words, the cooperation of processing systems that use XML documents as shared memory.
  • the document processing apparatus of the present embodiment uses the above-described technology to link various procedures (processing systems) to create “functional” XML compound documents specialized for various purposes. Can do. What's more, unlike spreadsheet applications, it is possible to implement a platform based on open, XML technology that is transparent and scalable. Users can use these functional XML documents to perform various operations.
  • Figures 3 1 (a) and (b) show examples of pointer information.
  • Figure 31 (a) shows an example when the pointer information is described by an X path expression.
  • pointer information indicating the position of data 26 to be referred to by the processor is described by an X path expression.
  • the processor uses this X path expression to specify the data that it should reference. 2 6 can know the position.
  • Figure 3 (b) shows an example where pointer information is given as conceptual information.
  • Component 25 contains clearly standardized conceptual information that conceptually indicates the location of data 26 to be referenced by the processor as element or attribute values.
  • the “clearly defined conceptual information” may be, for example, conceptual information based on ontology technology.
  • a concept solution engine 27 is provided to interpret the concept information and identify the actual data.
  • the concept solution engine 27 acquires the concept information and converts the concept information into, for example, a tag name.
  • the concept resolution engine 27 returns tag names such as ⁇ important>, ⁇ i mportant>, and ⁇ confidential>, for example. This indicates that the processor should refer to the data with tags such as ⁇ Important> in the document.
  • semantic type information may be, for example, semantic type information based on ontology technology. For example, when the concept of “important” is designated as the pointer information, information such as “management” and “business” may be designated as the semantic type information. In addition, when the concept of “amount” is specified as the pointer information, information such as “sales money”, “recommended retail price”, and “borrowing money” may be specified as semantic type information. This allows the processor to check semantic type consistency.
  • Figures 3 2 (a) and (b) are diagrams for explaining the mechanism for notifying DOM changes.
  • Figure 3 2 (a) shows the mechanism of the mutation event in the document processing device 20 of the base technology.
  • Processing system 29 specifies the node that should be monitored for changes using the X path expression and registers it as a listener for the mutation event.
  • the DOM unit 30 issues a mutation event to the registered listener when the DOM changes.
  • Figure 3 2 (b) shows the mechanism of the mutation event newly proposed in this embodiment.
  • the document processing device 20 is newly provided with a notification unit 28 that mediates notification of mutation events.
  • the notification unit 28 receives the designation of the node to be monitored from the processing system 29.
  • the DOM unit 30 notifies the notification unit 28 of that fact.
  • the notifying unit 28 issues a mutation event to the processing system 29 monitoring the changed node.
  • the notification unit 2 8 may accept the node to be monitored by the processing system 29 using the X path expression, but it is clearly standardized to provide a more flexible and versatile programming environment.
  • the designation based on the converted concept information may be accepted.
  • the notification unit 28 when notified of the DOM change from the DOM unit 30, the notification unit 28 sends the tag name of the node to the concept resolution engine 27, and the concept resolution engine 27 sends the tag name to the tag name. Get the corresponding conceptual information.
  • the notification unit 28 issues a mutation event to the processing system 29 in which the acquired conceptual information is registered. Thereby, the processing system 29 can request the notification unit 28 to notify, for example, when “important information” is changed.
  • the notification unit 28 determines whether the changed node corresponds to “important information” by using the concept solution engine 27. If applicable, notify the processor 29 of the DOM change.
  • the processing system of the namespace library to which the component 25 belongs that is, the processing system activated by the component 25 may be provided as a part of a customizable application.
  • this processing system is called a “view template” in the sense of the parts that make up the document view.
  • a view template may be provided as a script-based definition file or It may be provided as a druppin.
  • To use the functions of the view template ⁇ describe the component 2 5 that is the anchor of the view template ⁇ in the document, and indicate the data that the processor should refer to the component 2 5 In addition to describing the pointer information, other information required by the processing system may be described.
  • the pointer information can be specified as clearly standardized conceptual information.
  • the data to be referred to may be specified using a conditional expression that combines arithmetic operations, logical operations, natural language processing, and other arbitrary operations.
  • FIG. 33 shows the configuration of the document processing apparatus according to the embodiment.
  • the document processing apparatus 100 includes a view template control unit 70, an acquisition unit 71, and a view template 7 8 in addition to the configuration of the document processing apparatus 20 of the base technology shown in FIG. Is provided.
  • the view template control unit 70 includes a presentation unit 72, a reception unit 74, and an editing unit 76.
  • the presentation unit 7 2 presents the user with a view template 78 that can be used in the document processing apparatus 100.
  • the presentation unit 72 may present a list of view templates 78 installed in the document processing apparatus 100 on the display screen, and the available view according to the contents of the document being edited. Template 7 8 may be selected and presented. For example, when an SVG document is being edited, a view template 78 that can be inserted into the SVG document may be selected and presented.
  • the accepting unit 74 accepts an instruction from the user to add the view template 78 to the document.
  • the reception unit 7 4 An instruction to insert a view template 78 at the position may be accepted.
  • the editing unit 7 6 is configured to activate the view template 7 8 at the position instructed to be inserted in the document when the reception unit 7 4 receives the insertion instruction of the view template 7 8. Insert an element (tag).
  • the editing unit 76 may present a screen for accepting the range of data used by the view template 78 for operation, and accept the designation of data from the user.
  • the editing unit 76 may automatically determine the range of data used by the view template 78 for operation.
  • the editing section 76 describes the pointer information of the data used by the view template 78 for operation in the document. Further, the editing unit 76 may accept parameters necessary for the operation of the view template 78 from the user or automatically determine and describe them in the document.
  • the main control unit 22 starts the processing system for processing the component, that is, the view template 7 8.
  • the view provided by the view template 7 8 is displayed on the document editing screen.
  • the functions provided by View Template 78 can be used on the document editing screen.
  • Figure 34 shows an example of a document editing screen.
  • a view template palette 9 8 is displayed by the presentation unit 72.
  • the document being edited contains information such as the personal schedule, To Do, and e-mail, but the edit screen shown in Figure 34 shows a view on the information. It is not displayed because it is not.
  • the reception unit 7 4 This request is accepted, and the editing unit 76 inserts a component for starting the view template 78 for schedule display at a predetermined position of the document.
  • the editing unit 76 describes the pointer information of the part storing the schedule information in the document as the attribute value of this component.
  • Figure 3 5 shows the view template for schedule 7 8 activated
  • the edit screen is shown.
  • a view template 7 that processes the component by the main control unit 2 2, which is an example of the startup unit, 7 8, that is, the schedule view template 7 8 is activated, and the schedule information 9 9 described in the part indicated by the pointer information is displayed in a table format.
  • view templates 78 having various functions prepared for general purposes can be added to a document, and a functional document can be easily constructed. can do.
  • FIG. 36 shows the configuration of the document processing apparatus according to the present embodiment.
  • the document processing apparatus 100 replaces the view template control unit 70 and the view template 78 of the document processing apparatus 100 according to the first embodiment shown in FIG. Units 3 0 0 0 are provided.
  • AVC control unit 3 00 0 is a processing system that provides AVC functions.
  • AVC component for table display 3 0 1 0,
  • AVC component for chart display 3 0 2 0, UI display
  • AVC property setting part 3 0 0 2 for setting property information necessary for the operation of these AVC components including.
  • Figure 37 shows an example of an XML document populated with AVC component properties.
  • This XML document is described as a “doc”, a library for describing data in the word book.
  • An element “page” that is a child element of the root element “doc” indicates a page of the word book, and a plurality of elements are provided according to the number of pages. So Each element “page” includes an element “english” for storing English notation and an element “japanese” for storing Japanese notation.
  • an AVC property 3012 describing property information necessary for the operation of the AVC component 3010 for table display is inserted.
  • the AVC property 3012 is described by a table display “tbl” that can be processed by the table display AVC component 3010.
  • the correspondence between the “tbl” and the “doc” library is described using the “avc” library for describing the AVC property.
  • the following is a description of the original XML document, where “doc” is referred to as “host library” and the inserted AVC property is described as “pbl”, where “tbl” is referred to as “guest Poch library”. Or “AVC Pocapri”.
  • the element “column” that stores the data of each column of the table has two "property” elements as child elements.
  • the property information that the parameter “labe ⁇ transfer 1” refers to the element “engl ish” of the host platform is recorded.
  • the second element “pr opertyj” records property information that the parameter “labe ⁇ transfer2” refers to the element “japanese” of the host library.
  • the AVC component for table display 301 0 refers to this property information and displays the values by substituting the values of “english” and “japa nesej” of the host platform in each column of the table. Any document data can be passed to a processing system having general-purpose functions such as the AVC component 3010 for table display and processed.
  • FIG. 38 shows the procedure of the document processing method according to the present embodiment.
  • the host platform implementation is instructed by the source DOM to specify the AVC property template of the AVC component that is instructed to insert.
  • This function may be handled by the main control unit 22 of the document processing apparatus 20 or the AVC control unit 3000.
  • An instruction to insert an AVC component may be accepted when a menu or command is selected, or an AVC component may be accepted when an icon indicating the AVC component is dropped at the insertion position on the document display screen. You may accept a component insertion instruction.
  • the schema of the host platform it is determined whether or not the AVC property can be inserted at the indicated position. If the AVC property is against the schema, the insertion may not be accepted.
  • the processing system of the host platform requests the main control unit 22 to delegate the processing.
  • the main control unit 22 selects an AVC component as a processing system capable of processing the AVC property and instructs the processing (S 18).
  • the A VC property 3012 is described by the A VC library “tbl”
  • the A VC component 3010 for table display is selected.
  • the delegated A VC component processes and displays the A VC property, but here the template is inserted and the property value entity is not set, so the AVC component In order to set the A VC property, the A VC property setting section 3002 is called (S20).
  • the AVC property setting unit 3002 requests the AVC component to present a dialog screen for accepting the setting of the AVC property (S22).
  • This dialog screen is prepared as a library where A VC components can be used in common, and the A VC component generates a dialog screen that displays the property information that needs to be set and presents it to the user (S twenty four) .
  • this dialog screen for example, property information to be set List, screen preview displayed, and data that can be referenced by the AVC component, that is, a list of elements and attributes included in the document may be presented.
  • the user can select the element to be set in the table column, row, label, etc. from the list of elements included in the document, and drag and drop it on the property information list screen so that the correspondence can be set. It may be.
  • the AVC component accepts the property setting information, and the node corresponding to the AVC property inserted in the source D OM Write the set property value (S28).
  • the source DOM is changed, a mutation event is issued by the DOM unit 30 (S 30), and the AVC component itself, which is the AVC property processing system, receives the mutation event and processes the AVC property ( S 32). In this way, using the information set in the AVC property, the function of the AVC component is expressed and the display desired by the user is made (S34).
  • Figure 39 shows an example of the displayed screen.
  • the screen shown in Fig. 39 is displayed in the same way as described below.
  • the main control unit 22 dispatches the processing system to the root element, and processes the host library. Since the processing system of the host pouch library cannot process the inserted AV C vocabulary, a pane is assigned to the part described in the AV C vocabulary, and the processing is transferred to another processing system.
  • the main control unit 22 selects the A VC component as the processing system of the A VC library, and the selected AVC component generates a view with reference to the AVC property. In this way, the display screen shown in FIG. 39 is obtained.
  • the AVC property is inserted into the XML document, and the AVC component is activated as the AVC property processing system to express the AVC function.
  • the A VC property is inserted into the XML document. Without explaining the technology to develop A VC function.
  • FIG. 40 shows the configuration of the document processing apparatus according to the present embodiment.
  • the document processing apparatus 100 of the present embodiment includes an AVC property setting unit 3002 and an AVC property generation unit 3004 and a definition file.
  • a generation unit 3006 is further included.
  • Other configurations and operations are the same as those of the second embodiment.
  • the AVC property generation unit 3004 displays the AVC property in the source document as shown in Fig. 37. Instead of importing 3012, an AVC property file containing AVC properties 3012 is generated as a separate file from the source document.
  • the definition file generation unit 3006 generates a module for reading the A VC property file. Here, a script-based definition file using the VC function is generated.
  • FIG. 41 shows the procedure of the document processing method according to the present embodiment.
  • the user switches the processing system of the entire document or a zone from the first processing system that processes the tag set to which the zone component belongs to the A VC component that is an example of the second processing system.
  • the AVC property setting unit 3 002 obtains a list of A VC components that are registered and available in the document processing apparatus 100 and presents them to the user. Accepts selection of VC components (S 52).
  • a VC property setting unit 30 02 When receiving the selection of the A VC component to be used (S54), the A VC property generation unit 3004 selects the necessary parameter / parameter settings for the operation of the AVC component.
  • AVC property generation unit 3004 When the user sets property information using the dialog screen (S62), the A VC property generation unit 3004 generates an A VC property file.
  • the A VC component requests the definition file generation unit 3006 to present the definition file registration dialog screen (S 64).
  • the definition file generation unit 3006 queries the user for the registration name of the definition file (S 66) and receives the definition file name from the user (S 68).
  • a definition file to be called as a processing system is generated and registered so that the document processing apparatus 100 can be used (S 70).
  • This definition file includes an instruction for reading an A VC property file and an instruction for delegating the processing of the read A VC property to another appropriate processing system, that is, an A VC component.
  • the AVC function can be realized without inserting property information into the source document. Therefore, it is possible to add a new view using the AVC function while maintaining the validation of the source document, regardless of the platform describing the source document. Also, by saving the generated definition file and applying it to another document, you can reuse the definition file and use the AV function for multiple documents.
  • a PI that specifies the processing system may be described for each zone where the processing system switches.
  • the main control unit 22 assigns the processing system preferentially if a PI that specifies the processing system is described. If this function is used, the AVC component can be assigned preferentially and the AVC function can be expressed by specifying the definition file generated to call the AVC function as PI.
  • FIG. 42 shows a configuration of the document processing apparatus according to the present embodiment.
  • the document processing apparatus 100 according to the present embodiment further includes an AVC component switching unit 3050 in addition to the configuration of the document processing apparatus 100 according to the second embodiment shown in FIG.
  • the A VC component switching unit 3050 accepts from the user whether the A VC component applied to the document is to be switched to a plurality of A VC components 301 0 to 3040, and selects the selected AVC component. Apply the nent to the document. As a result, the user can switch and apply a plurality of AVC components to the same document, and can process the document in a multifaceted manner using AVC components having various functions. Other configurations and operations are the same as those of the second embodiment.
  • the element 3025 is described in “avc-datagrid”, which is a library in which the table display AVC component 3 100 is responsible for starting up the table display AVC component 3010.
  • the root element “datagrid” of this Pocabulary has as its attributes information indicating the name of the AVC component, the version number, and whether to open the dialog at startup.
  • the AVC property 3012 is omitted in FIG. 43, and details are shown in FIG. 44 and FIG.
  • FIG. 44 shows the contents of the AV property 3012 described in the document shown in FIG.
  • the AVC property 301 2 includes the property information referenced by the AVC component for table display, that the repeated element is “/ html / body / p / root / pcj”, the display / non-display of the header line, and the line number column.
  • FIG. 45 shows the contents of the AV property 3012 described in the document shown in FIG.
  • the element “column” in the “avc_datagr id” of the poch library “cpu” is a subordinate element of “/ html / body / p / root / pc” in which the column node is specified as a repeated element as property information about the table column.
  • Property information is described in the same way for the other columns.
  • FIG. 46 shows an example of a screen on which the document shown in FIG. 43 is displayed.
  • Tape started as a processing module for element 3025 described in the document shown in Figure 43
  • the AVC component 3010 for displaying the data refers to the AVC property 3012, and displays the data related to the computer specifications described in the document in a table.
  • the heading is not set and it is an empty element.
  • the AVC component for table display 3010 displays the element name of the element designated as data in this column as a heading. Therefore, in Figure 46, the element name “cpu” of the element specified as the data of that column is displayed as the heading of the second column of the table.
  • Figure 47 shows the menu that appears when the mouse is right-clicked in the region of the view generated by the A VC component.
  • a dialog screen for setting the A VC property 3012 to which the A VC property setting section 3002 force table display A VC component 3010 refers is displayed.
  • the AVC component switching section displays a dialog screen for switching 3050 AVC components.
  • FIG. 48 shows an example of a dialog screen displayed by the A VC component switching unit 3050.
  • the AVC component switching unit 3050 acquires and displays a list of AVC components that can be used by the document processing apparatus 100, and accepts selection of the switching destination AVC component from the user.
  • the number of AVC components to be switched to can be increased.
  • the chart display A VC component 3020 to be displayed in the form of a scatter diagram is selected.
  • the AVC component switching unit 3050 receives the AVC component of the switching destination, as will be described later, the element 3025 serving as an anchor for starting the AVC component in the source DOM is replaced with the original AVC component.
  • the vocabulary element that can be processed by the element is rewritten to the vocabulary element that can be processed by the AVC component at the switching destination. Rewriting the source DOM The change is notified to the processing system by the mutation event.
  • the AVC component of the switching destination here for the chart display AVC component 3 0 2 0 is activated.
  • the activated chart display AVC component 3 0 2 0 calls the AVC property setting unit 3 0 0 2 in order to accept the setting of the AVC property.
  • Fig. 49 shows an example of the A V C property setting screen displayed by the A V C property setting section 3 0 0 2.
  • Figure 49 shows the screen for setting scatter plot data.
  • series and element labels can be specified.
  • the repetition element was specified as "/ htm l / body / p / root / pcj" in the AVC component for table display 3 0 10 which is the AVC component before switching. Inheriting this setting, the same element is automatically set as a repeated element.In the AVC component for table display 3 0 1 0, "cpu”, "memoryj," specified as column data
  • the text nodes of “hdd” and “pr i ce” are automatically set as X axis, ⁇ axis, series, and element label data.
  • To change the data specification simply select the data from the document elements on the left-hand side, and click “Settings” or drag and drop. A preview of the display screen is displayed in the lower right.
  • FIG. 50 shows an example of the AVC property setting screen displayed by the AVC property setting unit 300.
  • Figure 50 shows the screen for setting the option of the data specified as the X-axis.
  • the data specified as the X-axis is found, and the data type, display item, and data type are “string”.
  • the maximum number of characters, if any The display / hide of invalid data can be set.
  • “String” is selected by default as the data type, but “numeric” and “date / time” can be specified if the data is numeric.
  • the data type is “character string”, the same character string is grouped and an icon is displayed on the scatter plot.
  • the scatter plot is displayed with the axis as a number line.
  • the element “cpu” is specified as a character string on the X axis and the element “memory” is specified as a character string on the Y axis, so the text node of the element “cpu” is “2.2 ghz on the X axis. ”,“ 2.8 ghz ”,“ 3.0 ghz ”, and the Y-axis displays the icons with the text node of the element“ memory ”classified into“ 512 mbj ”and“ 1 gbj ”. .
  • FIG. 5 1 shows an example of an AVC property setting screen displayed by the AV property setting section 3 0 0 2.
  • Figure 5 1 shows the screen for setting the option of data specified as a series.
  • the maximum data when the data type, display item, and data type of the data specified as a series is "string"
  • the number of characters and legend display / non-display can be set.
  • different icons are displayed for the same character string, numerical value, or date / time.
  • the element “hdd” is specified as a character string in the series, three types of icons are displayed for each character string of the text node of the element “hdd”.
  • FIG. 5 2 shows an example of the A V C property setting screen displayed by the A V C property setting unit 3 0 0 2.
  • Figure 52 shows the screen for setting the options for the data specified as the element label, and the maximum number of characters for the data specified as the element label can be set.
  • the specified data is displayed as a label near the icon.
  • the element “pr i cej” included in the element “pc” is located near each icon corresponding to the element “pc”.
  • the text node string is displayed as a label.
  • FIG. 53 shows an example of an AVC property setting screen displayed by the AVC property setting unit 3 0 2.
  • Figure 5 3 shows the property information in the scatter plot display area. The screen for setting the information is shown, and the width and height of the display area can be set.
  • FIG. 54 shows an example of the display screen when switching to the AVC component 3020 for chart display.
  • the table display A VC component 3010 was applied and the data in the document was displayed in a table.
  • the same data can be obtained by switching to the chart display A VC component 3020. Displayed as a scatter plot. In this way, multiple AVC components can be switched and applied to the same document, so that various general-purpose functions can be used to process the document in multiple ways. You can.
  • FIG. 55 shows how the document shown in FIG. 43 is changed by switching the AV component.
  • the table display AVC component 301 0 processes the element 3025 that is an anchor to activate the AVC components.
  • the element of “avc_datagr i dj”, which is a possible vocabulary, is rewritten to the element of “avc-xychart”, which is a library that can be processed by the AVC component for chart display 3020.
  • FIG. 56 shows the contents of the AVC property 3012 described in the document shown in FIG.
  • the AVC property 301 2 includes the property information referenced by the chart display AVC component 3020.
  • the repeated element is “/ html / body / p / root / pcj”, the width of the display area, and the display area width.
  • This property information is the same as that described in the AVC property 301 2 of the AVC component for table display shown in Fig. 44-component 301 0, and describes the A VC property. In this way, by describing the AVC property 3 01 2 using a common schema, one AVC component can be written once for a document.
  • the setting is inherited between the AVC components when the AVC component is switched. It is possible to reduce the trouble of user setting. It is also possible to generate a view with AVC components applied semi-automatically. When developing a new AVC component, make it operate by referring to the AVC property 3 0 1 2 using a common schema so that settings common to other AVC components can be inherited. It is desirable.
  • FIG. 5 7 shows the contents of the AV property 3 0 1 2 described in the document shown in FIG.
  • the element “ax is” of the Poch Library “avc-xychart” is the property information related to the X-axis, and the axis data is specified as a repeated element.
  • “Chtm” The subordinate element “cpu” ”Text node, axis heading, data type, minimum value when data type is“ number ”, maximum value, major tick width, minor tick width, minimum when data type is“ datetime ” Value, maximum value, major scale width, minor scale width, how to handle date-only data, display items when data type is ⁇ character string '', maximum number of characters, display / hide of invalid data are described Includes elements. Property information is also described for the Y axis.
  • FIG. 5 8 shows the contents of the AV property 3 0 1 2 described in the document shown in FIG.
  • the element “ser i es” of the pav library “avc-xychart” is subordinate to “/ htm l / body / p / root / pc”, where the data of the series is specified as a repeated element as property information about the series.
  • Figure 59 shows the contents of the AV property 3 0 1 2 described in the document shown in Figure 55.
  • the element “object l abe l” of the pavobbler “avc_xychart” is a subordinate element of “/ htm l / body / p / root / pc” in which the element label data is specified as a repeated element as property information about the element label. It is a text node of “pr i ce” and includes an element describing the maximum number of characters.
  • Figure 60 is a screen for setting the scatter plot data shown in Figure 49.
  • the screen when the Y-axis data is changed is shown.
  • the text node of element “pr i ce” is dragged and dropped onto the Y-axis data area, the text node of element “pr i ce” is newly designated as the Y-axis data.
  • a preview of the scatter plot with the Y axis changed to “pri cej” is displayed.
  • the AVC component for chart display 3 0 2 0 is an arbitrary element that exists repeatedly in the document. Scatter plots can be created by setting element data as axes.
  • Figure 61 shows the screen when the data type of the Y-axis data is changed.
  • the text node of the element “p r i cej” stores the price of the computer as a numeric value, so a data type of “numeric value” is allowed in addition to “string”. So, if you change the data type of the Y-axis to “Numeric” and set the minimum value to “0”, the Y-axis will change to a number line starting from 0 as shown in the lower right of the screen. The price of each computer is plotted on a straight line.
  • the document processing apparatus 10 0 in the form can similarly process documents described in other markup languages such as SGML and HTML.
  • the present invention can be used for a document processing apparatus that processes data structured 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

A document processing apparatus (100) is provided with an AVC component (3010) for table display, which is a processing module to be used as a general purpose component for processing data in documents and operating prescribed functions; an AVC component (3020) for chart display; an AVC component (3030) for UI part display; and an AVC component (3040) for tree display. An AVC component switching section (3050) permits the AVC component to be applicable to data by switching a plurality of different AVC components for the same data.

Description

明 細 書  Specification
文書処理装置及び文書処理方法  Document processing apparatus and document processing method
技術分野  Technical field
[0001 ] 本発明は、 文書処理技術に関し、 特に、 マークアップ言語により記述され た文書を処理する文書処理装置及び方法に関する。  [0001] The present invention relates to a document processing technique, and more particularly to a document processing apparatus and method for processing a document described in a markup language.
背景技術  Background art
[0002] X M Lは、 ネットワークなどを介して他者とデータを共有するのに適した 形式として注目されており、 X M L文書を作成、 表示、 編集するためのアブ リケ一シヨンが開発されている (たとえば、 特許文献 1参照) 。  [0002] XML has been attracting attention as a format suitable for sharing data with others over networks, etc., and an application for creating, displaying, and editing XML documents has been developed ( For example, see Patent Document 1).
特許文献 1 :特開 2 0 0 1 _ 2 9 0 8 0 4号公報  Patent Document 1: Japanese Patent Laid-Open No. 2 00 1 _ 2 90 80 4
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0003] ポキヤブラリは、 任意に定義することが許されており、 理論上、 無限に多 くのポキヤブラリが存在しうる。 これらのポキヤブラリの全てに対応して専 用の表示■編集環境を提供するのは現実的ではない。 従来、 専用の編集環境 が用意されていないポキヤブラリにより記述された文書を編集する場合、 テ キストデータにより構成された文書のソースを直接テキストエディタなどで 編集していたが、 本出願人は、 任意のポキヤブラリで記述された X M L文書 を編集可能な環境の開発に成功した。 そして、 更に利便性の高い X M L文書 の処理技術の開発を目指している。  [0003] A poch-library is allowed to be defined arbitrarily, and in theory, there can be an infinitely many pockies. It is impractical to provide a dedicated display and editing environment corresponding to all of these Poch libraries. In the past, when editing a document described in a library that does not have a dedicated editing environment, the source of the document composed of text data was directly edited using a text editor or the like. We have succeeded in developing an environment that can edit XML documents described in Pokémon. We are also aiming to develop more convenient XML document processing technology.
[0004] 本発明はこうした状況に鑑みてなされたものであり、 その目的は、 マーク アップ言語により記述された文書を処理する際の、 ユーザの利便性を向上さ せる技術を提供することにある。  The present invention has been made in view of such circumstances, and an object of the present invention is to provide a technique for improving user convenience when processing a document described in a markup language. .
課題を解決するための手段  Means for solving the problem
[0005] 本発明のある態様は、 文書処理装置に関する。 この文書処理装置は、 文書 中のデータを処理して所定の機能を発現するための汎用的な部品として利用 可能な複数の処理モジュールと、 同一の前記データに対して異なる複数の前 記処理モジュールを切り替えて適用可能とする切替部と、 を備えることを特 徵とする。 [0005] One embodiment of the present invention relates to a document processing apparatus. This document processing apparatus includes a plurality of processing modules that can be used as general-purpose parts for processing data in a document to express a predetermined function, and a plurality of different previous modules for the same data. And a switching unit that can be applied by switching the processing module.
[0006] 前記文書は、 マークアップ言語により記述され、 前記処理モジュールが処 理可能なタグセッ卜の構成要素を含んでもよく、 前記構成要素を処理するた めに、 その構成要素が属するタグセットを処理可能な前記処理モジュールが 起動されてもよい。  [0006] The document may include a tag set component that is described in a markup language and can be processed by the processing module. In order to process the component, the tag set to which the component belongs is selected. The processing module capable of processing may be activated.
[0007] 前記切替部は、 前記処理モジュールを切り替えるときに、 前記構成要素を 、 切替元の処理モジュールが処理可能なタグセットの構成要素から、 切替先 の処理モジュールが処理可能なタグセッ卜の構成要素に書き換えてもよい。  [0007] When switching the processing module, the switching unit is configured to change the component from a tag set component that can be processed by the switching source processing module to a tag set configuration that can be processed by the switching destination processing module. It may be rewritten as an element.
[0008] 文書処理装置は、 前記処理モジュールの動作に必要なパラメータの設定を 受け付けるプロパティ設定部を更に備えてもよく、 前記プロパティ設定部は 、 受け付けた前記パラメータを、 前記構成要素又はその子孫の構成要素の要 素値又は属性値として前記文書に記述してもよい。  [0008] The document processing apparatus may further include a property setting unit that receives a parameter setting necessary for the operation of the processing module, and the property setting unit receives the received parameter as the component element or its descendant. The element value or attribute value of the component may be described in the document.
[0009] 前記プロパティ設定部は、 前記処理モジュールを切り替えるときに、 切替 元の処理モジュールと切替先の処理モジュールとの間で共通に使用されるパ ラメータの設定を、 切替元の処理モジュールから切替先の処理モジュールへ 継承させて自動的に設定してもよい。  [0009] When the processing module is switched, the property setting unit switches the setting of the parameter used in common between the switching source processing module and the switching destination processing module from the switching source processing module. It may be set automatically by inheriting to the previous processing module.
[0010] 前記プロパティ設定部は、 前記処理モジュールが処理する前記文書中のデ ータの型の設定を受け付けてもよい。 前記プロパティ設定部は、 前記処理モ ジュールが前記文書中のデータを画面に表示する際に、 そのデータのラベル として表示するテキストデータの設定を受け付け、 前記データのラベルとし て表示するテキストデータがユーザから設定されない場合は、 そのデータの 要素名をラベルとして設定してもよい。  [0010] The property setting unit may accept a setting of a data type in the document processed by the processing module. The property setting unit accepts the setting of text data to be displayed as a label of the data when the processing module displays the data in the document on the screen, and the text data to be displayed as the label of the data is a user If not set from, the element name of the data may be set as a label.
[001 1 ] 本発明の別の態様は、 文書処理方法に関する。 この文書処理方法は、 文書 中のデータを処理して所定の機能を発現するための汎用的な部品として利用 可能な複数の処理モジュールのうちいずれかを前記文書中のデータに適用す るステップと、 別の前記処理モジュールを、 同一の前記文書中のデータに対 して切り替えて適用するステップと、 を含むことを特徴とする。 [0012] なお、 以上の構成要素の任意の組合せ、 本発明の表現を方法、 装置、 シス テムなどの間で変換したものもまた、 本発明の態様として有効である。 [001 1] Another embodiment of the present invention relates to a document processing method. The document processing method includes a step of applying any one of a plurality of processing modules that can be used as general-purpose components for processing data in a document and expressing a predetermined function to the data in the document. And switching and applying another processing module to data in the same document. [0012] It should be noted that any combination of the above-described constituent elements, and a conversion of the expression of the present invention between a method, an apparatus, a system, and the like are also effective as an aspect of the present invention.
発明の効果  The invention's effect
[0013] 本発明によれば、 マークアップ言語により構造化されたデータを適切に処 理する技術を提供することができる。  [0013] According to the present invention, it is possible to provide a technique for appropriately processing data structured in a markup language.
図面の簡単な説明  Brief Description of Drawings
[0014] [図 1 ]前提技術に係る文書処理装置の構成を示す図である。 FIG. 1 is a diagram showing a configuration of a document processing apparatus according to a base technology.
[図 2]文書処理装置により編集される X M L文書の例を示す図である。  FIG. 2 is a diagram showing an example of an XML document edited by a document processing apparatus.
[図 3]図 2に示した X M L文書を H T M Lで記述された表にマッビングする例 を示す図である。  FIG. 3 is a diagram showing an example of mapping the XML document shown in FIG. 2 to a table described in HTML.
[図 4 (a) ]図 2に示した X M L文書を図 3に示した表にマッビングするための 定義ファイルの例を示す図である。  [FIG. 4 (a)] 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.
[図 4 (b) ]図 2に示した X M L文書を図 3に示した表にマッビングするための 定義ファイルの例を示す図である。  [FIG. 4 (b)] 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.
[図 5]図 2に示した X M L文書を、 図 3に示した対応によリ H T M Lにマッピ ングして表示した画面の例を示す図である。  FIG. 5 is a diagram showing an example of a screen displayed by mapping the XML document shown in FIG. 2 to the HTML file corresponding to the correspondence shown in FIG.
[図 6]ユーザが定義ファイルを生成するために、 定義ファイル生成部がユーザ に提示するグラフィカルユーザインターフェースの例を示す図である。  FIG. 6 is a diagram showing an example of a graphical user interface presented to the user by the definition file generation unit in order for the user to generate a definition file.
[図 7]定義ファイル生成部により生成された画面レイァゥ卜の他の例を示す図 である。  FIG. 7 is a diagram showing another example of the screen layout generated by the definition file generation unit.
[図 8]文書処理装置による X M L文書の編集画面の一例を示す図である。  FIG. 8 is a diagram showing an example of an XML document editing screen by the document processing apparatus.
[図 9]文書処理装置により編集される X M L文書の他の例を示す図である。  FIG. 9 is a diagram showing another example of an XML document edited by the document processing apparatus.
[図 10]図 9に示した文書を表示した画面の例を示す図である。  FIG. 10 is a diagram showing an example of a screen displaying the document shown in FIG.
[図 11 (a) ]文書処理システムの基本構成を示す図である。  [FIG. 11 (a)] is a diagram showing a basic configuration of a document processing system.
[図 11 (b) ]文書処理システム全体のブロック図を示す図である。  [FIG. 11 (b)] is a diagram showing a block diagram of the entire document processing system.
[図 11 (c) ]文書処理システム全体のブロック図を示す図である。  [FIG. 11 (c)] is a block diagram of the entire document processing system.
[図 12]文書管理部の詳細を示す図である。  FIG. 12 is a diagram showing details of the document management unit.
[図 13]ポキヤブラリコネクションサブシステムの詳細を示す図である。 [図 14]プログラム起動部と他の構成の関係の詳細を示す図である。 FIG. 13 is a diagram showing the details of the poker library connection subsystem. FIG. 14 is a diagram showing details of the relationship between the program starter and other components.
[図 15]プログラム起動部によリロードされたアプリケーションサービスの構 造の詳細を示す図である。  FIG. 15 is a diagram showing the details of the structure of the application service reloaded by the program startup unit.
[図 16]コアコンポーネン卜の詳細を示す図である。  FIG. 16 is a diagram showing details of the core component bowl.
[図 17]文書管理部の詳細を示す図である。 FIG. 17 is a diagram showing details of a document management unit.
[図 18]アンドウフレームワークとアンドウコマンドの詳細を示す図である。  FIG. 18 is a diagram showing details of an undo framework and an undo command.
[図 19]文書処理システムにおいて文書がロードされる様子を示す図である。  FIG. 19 is a diagram showing how a document is loaded in the document processing system.
[図 20]文書とその表現の例を示す図である。  FIG. 20 shows an example of a document and its expression.
[図 21]モデルとコントローラの関係を示す図である。  FIG. 21 is a diagram showing a relationship between a model and a controller.
[図 22]プラグインサブシステム、 ポキヤブラリコネクション、 及びコネクタ の詳細を示す図である。  FIG. 22 is a diagram showing the details of the plug-in subsystem, the poker library connection, and the connector.
[図 23] V C Dファイルの例を示す図である。  FIG. 23 is a diagram showing an example of a V CD file.
[図 24]文書処理システムにおいて複合文書をロードする手順を示す図である [図 25]文書処理システムにおいて複合文書をロードする手順を示す図である [図 26]文書処理システムにおいて複合文書をロードする手順を示す図である [図 27]文書処理システムにおいて複合文書をロードする手順を示す図である [図 28]文書処理システムにおいて複合文書をロードする手順を示す図である [図 29]コマンドの流れを示す図である。  [FIG. 24] A diagram showing a procedure for loading a compound document in the document processing system. [FIG. 25] A diagram showing a procedure for loading a compound document in the document processing system. [FIG. 26] A compound document loading in the document processing system. FIG. 27 is a diagram showing a procedure for loading a compound document in the document processing system. FIG. 28 is a diagram showing a procedure for loading a compound document in the document processing system. It is a figure which shows the flow of.
[図 30]図 30 (a) (b) (c) は、 処理対象となる XML文書のデータ構 造の例を示す図である。  [FIG. 30] FIGS. 30 (a), 30 (b), and 30 (c) are diagrams showing examples of the data structure of an XML document to be processed.
[図 31]図 31 (a) (b) は、 ポインタ情報の例を示す図である。  [FIG. 31] FIGS. 31 (a) and 31 (b) are diagrams showing examples of pointer information.
[図 32]図 32 (a) (b) は、 DOMの変更を通知する仕組みを説明するた めの図である。 [図 33]第 1の実施の形態に係る文書処理装置の構成を示す図である。 [Fig.32] Fig.32 (a) and (b) are diagrams for explaining the mechanism to notify the change of DOM. FIG. 33 is a diagram showing a configuration of a document processing apparatus according to the first embodiment.
[図 34]文書の編集画面の例を示す図である。 FIG. 34 is a diagram showing an example of a document editing screen.
[図 35]スケジュール用のビューテンプレー卜が起動された状態の編集画面を 示す図である。  FIG. 35 is a diagram showing an editing screen in a state in which a view template for schedule is activated.
[図 36]第 2の実施の形態に係る文書処理装置の構成を示す図である。  FIG. 36 is a diagram showing a configuration of a document processing apparatus according to a second embodiment.
[図 37] A V Cコンポーネン卜のプロパティが挿入された X M L文書の例を示 す図である。  [Fig. 37] A diagram showing an example of an XML document in which the property of the AV component is inserted.
[図 38]第 2の実施の形態に係る文書処理方法の手順を示す図である。  FIG. 38 shows a procedure of a document processing method according to the second embodiment.
[図 39] A V Cコンポーネントにより表示された画面の例を示す図である。  FIG. 39 is a diagram showing an example of a screen displayed by the AV component.
[図 40]第 3の実施の形態に係る文書処理装置の構成を示す図である。  FIG. 40 is a diagram showing a configuration of a document processing apparatus according to a third embodiment.
[図 41 ]第 3の実施の形態に係る文書処理方法の手順を示す図である。  FIG. 41 is a diagram showing a procedure of a document processing method according to the third embodiment.
[図 42]第 4の実施の形態に係る文書処理装置の構成を示す図である。  FIG. 42 is a diagram showing a configuration of a document processing apparatus according to a fourth embodiment.
[図 43]テーブル表示用 A V Cコンポーネン卜の A V Cプロパティが挿入され た文書の例を示す図である。  FIG. 43 is a diagram showing an example of a document in which the AV property of the AV component for table display is inserted.
[図 44]図 4 3に示した文書に記述された A V Cプロパティの内容を示す図で ある。  [FIG. 44] A diagram showing the contents of the AV property described in the document shown in FIG.
[図 45]図 4 3に示した文書に記述された A V Cプロパティの内容を示す図で ある。  [FIG. 45] A diagram showing the contents of the AV property described in the document shown in FIG.
[図 46]図 4 3に示した文書を表示した画面の例を示す図である。  FIG. 46 is a diagram showing an example of a screen on which the document shown in FIG. 43 is displayed.
[図 47] A V Cコンポーネントにより生成されたビユーの領域でマウスを右ク リックしたときに表示されるメニューを示す図である。  FIG. 47 is a diagram showing a menu displayed when the mouse is right-clicked in the view area generated by the AV component.
[図 48] A V Cコンポーネント切替部により表示されたダイァログ画面の例を 示す図である。  FIG. 48 is a diagram showing an example of a dialog screen displayed by the A V C component switching unit.
[図 49] A V Cプロパティ設定部により表示された A V Cプロパティの設定画 面の例を示す図である。  FIG. 49 is a diagram showing an example of an AV property setting screen displayed by the AV property setting section.
[図 50] A V Cプロパティ設定部により表示された A V Cプロパティの設定画 面の例を示す図である。  FIG. 50 is a diagram showing an example of an A V C property setting screen displayed by the A V C property setting unit.
[図 51 ] A V Cプロパティ設定部により表示された A V Cプロパティの設定画 面の例を示す図である。 [Fig.51] AVC property setting screen displayed by AVC property setting section It is a figure which shows the example of a surface.
[図 52] A V Cプロパティ設定部により表示された A V Cプロパティの設定画 面の例を示す図である。  FIG. 52 is a diagram showing an example of an A V C property setting screen displayed by the A V C property setting section.
[図 53] A V Cプロパティ設定部により表示された A V Cプロパティの設定画 面の例を示す図である。  FIG. 53 is a diagram showing an example of an AV property setting screen displayed by the AV property setting section.
[図 54]チヤ一卜表示用 A VCコンポーネン卜に切り替えたときの表示画面の 例を示す図である。  FIG. 54 is a diagram showing an example of a display screen when switching to a single display A VC component.
[図 55]図 43に示した文書が、 A V Cコンポーネントを切り替えることによ リ変更された様子を示す図である。  FIG. 55 is a diagram showing a state in which the document shown in FIG. 43 is changed by switching AV components.
[図 56]図 55に示した文書に記述された A V Cプロパティの内容を示す図で ある。  FIG. 56 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
[図 57]図 55に示した文書に記述された A V Cプロパティの内容を示す図で ある。  FIG. 57 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
[図 58]図 55に示した文書に記述された A V Cプロパティの内容を示す図で ある。  FIG. 58 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
[図 59]図 55に示した文書に記述された A V Cプロパティの内容を示す図で ある。  FIG. 59 is a diagram showing the contents of the AV property described in the document shown in FIG. 55.
[図 60]図 49に示した散布図のデータを設定するための画面において、 Y軸 のデータを変更したときの画面を示す図である。  FIG. 60 is a diagram showing a screen when the Y-axis data is changed on the screen for setting the scatter diagram data shown in FIG. 49.
[図 61] Y軸のデータのデータ型を変更したときの画面を示す図である。 符号の説明  FIG. 61 is a diagram showing a screen when the data type of Y-axis data is changed. Explanation of symbols
20 文書処理装置、 22 主制御ユニット、 24 編集ユニット、 27 概念解決エンジン、 28 通知部、 30 DOMユニット、 32 DOM 提供部、 34 DOM生成部、 36 出力部、 40 CSSユニット、 42 C S S解析部、 44 CS S提供部、 46 レンダリング部、 50 H T MLユニット、 52, 62 制御部、 54, 64 編集部、 56, 66 表 示部、 60 SVGユニット、 70 ビューテンプレート制御ユニット、 7 1 取得部、 72 提示部、 74 受付部、 76 編集部、 78 ビューテ ンプレート、 80 VCユニット、 82 マッピング部、 84 定義フアイ ル取得部、 86 定義ファイル生成部、 1 00 文書処理装置、 3000 A VC制御ユニット、 3002 A VCプロパティ設定部、 3004 A V Cプロパティ生成部、 3006 定義ファイル生成部、 301 0 テーブル 表示用 A VCコンポーネント、 3020 チャート表示用 A VCコンポ一ネ ント、 3030 U Iパーツ表示用 A V Cコンポーネント、 3040 ッリ —表示用 A VCコンポーネント、 3050 A VCコンポーネント切替部。 発明を実施するための最良の形態 20 document processing device, 22 main control unit, 24 editing unit, 27 concept resolution engine, 28 notification unit, 30 DOM unit, 32 DOM providing unit, 34 DOM generation unit, 36 output unit, 40 CSS unit, 42 CSS analysis unit, 44 CSS providing unit, 46 rendering unit, 50 HT ML unit, 52, 62 control unit, 54, 64 editing unit, 56, 66 display unit, 60 SVG unit, 70 view template control unit, 7 1 acquisition unit, 72 Presentation department, 74 Reception department, 76 Editorial department, 78 Beauty Template, 80 VC unit, 82 mapping unit, 84 definition file acquisition unit, 86 definition file generation unit, 1 00 document processing device, 3000 A VC control unit, 3002 A VC property setting unit, 3004 AVC property generation unit, 3006 Definition file generator, 301 0 A VC component for table display, 3020 A VC component for chart display, 3030 AVC component for UI part display, 3040 tree — A VC component for display, 3050 A VC component switching unit. BEST MODE FOR CARRYING OUT THE INVENTION
[0016] (前提技術)  [0016] (Base technology)
図 1は、 前提技術に係る文書処理装置 20の構成を示す。 文書処理装置 2 0は、 文書内のデータが階層構造を有する複数の構成要素に分類された構造 化文書を処理するが、 本前提技術では構造化文書の一例として XML文書を 処理する例について説明する。 文書処理装置 20は、 主制御ユニット 22、 編集ユニット 24、 DOMユニット 30、 CSSユニット 40、 HTMLュ ニット 50、 SVGユニット 60、 及び変換部の一例である VCユニット 8 0を備える。 これらの構成は、 ハ一ドウエアコンポーネントでいえば、 任意 のコンピュータの CP U、 メモリ、 メモリにロードされたプログラムなどに よって実現されるが、 ここではそれらの連携によって実現される機能ブロッ クを描いている。 したがって、 これらの機能ブロックがハードウェアのみ、 ソフトウエアのみ、 またはそれらの組合せによっていろいろな形で実現でき ることは、 当業者には理解されるところである。  FIG. 1 shows the configuration of the document processing apparatus 20 according to the base technology. The document processing device 20 processes a structured document in which data in the document is classified into a plurality of structural elements having a hierarchical structure. In this prerequisite technology, an example of processing an XML document as an example of a structured document is described. To do. The document processing apparatus 20 includes a main control unit 22, an editing unit 24, a DOM unit 30, a CSS unit 40, an HTML unit 50, an SVG unit 60, and a VC unit 80 as an example of a conversion unit. These hardware components are realized by the CPU of any computer, memory, programs loaded in the memory, etc., but here we draw functional blocks realized by their cooperation. ing. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.
[0017] 主制御ユニット 22は、 プラグインのロードや、 コマンド実行のフレーム ワークを提供する。 編集ユニット 24は、 XML文書を編集するためのフレ ームワークを提供する。 文書処理装置 20における文書の表示及び編集機能 は、 プラグインにより実現されており、 文書の種別に応じて必要なプラグィ ンが主制御ュニット 22又は編集ュニット 24により口一ドされる。 主制御 ユニット 22又は編集ュニット 24は、 処理対象となる XM L文書の名前空 間を参照して、 XM L文書がいずれのポキャプラリにより記述されているか を判別し、 そのポキヤブラリに対応した表示又は編集用のプラグインをロー ドして表示や編集を実行させる。 例えば、 文書処理装置 20には、 HTML 文書の表示及び編集を行う HTMLユニット 50、 S VG文書の表示及び編 集を行う SVGユニット 60など、 ポキヤブラリ (タグセット) ごとに表示 系及び編集系がプラグインとして実装されており、 HTML文書を編集する ときは H TM Lユニット 50力 S VG文書を編集するときは S VGュニッ ト 60力 それぞれロードされる。 後述するように、 HTMLとSVGの双 方の構成要素を含む複合文書が処理対象となっている場合は、 H TMLュニ ット 50と S VGュニット 60の双方が口一ドされる。 [0017] The main control unit 22 provides a framework for loading plug-ins and executing commands. Editing unit 24 provides a framework for editing XML documents. The document display and editing functions in the document processing device 20 are realized by plug-ins, and necessary plug-ins are dictated by the main control unit 22 or the editing unit 24 according to the type of document. The main control unit 22 or the editing unit 24 refers to the name space of the XML document to be processed, and by which vocabulary the XML document is described. And the display or editing plug-in corresponding to the POB library is loaded to execute display or editing. For example, the document processing device 20 is plugged with a display system and an editing system for each platform (tag set), such as an HTML unit 50 that displays and edits HTML documents and an SVG unit 60 that displays and edits SVG documents. When editing HTML documents, it is loaded with 50 units of HTML unit. When editing SVG documents, it is loaded with 60 units of S VG unit. As will be described later, when a compound document including both HTML and SVG components is processed, both the HTML unit 50 and the SVG unit 60 are dictated.
[0018] このような構成によれば、 ユーザは、 必要な機能のみを選択してインスト ールし、 後から適宜機能を追加又は削除することができるので、 プログラム を格納するハードディスクなどの記録媒体の記憶領域を有効に活用すること ができ、 また、 プログラム実行時にも、 メモリの浪費を防ぐことができる。 また、 機能拡張性に優れており、 開発主体としても、 プラグインの形で新た なポキヤブラリに対応することが可能なので開発が容易となり、 ユーザとし ても、 ブラグインの追加により容易かつ低コストにて機能を追加することが できる。 [0018] According to such a configuration, the user can select and install only the necessary functions, and can add or delete functions later as appropriate. Therefore, a recording medium such as a hard disk for storing the program It is possible to effectively use the storage area of the memory, and it is possible to prevent memory from being wasted even during program execution. In addition, it has excellent function expandability, and as a development entity, it is possible to cope with new poker libraries in the form of plug-ins, so development is easy, and for users, it is easy and low-cost by adding plug-ins. Functions can be added.
[0019] 編集ユニット 24は、 ユーザインタ一フェースを介してユーザから編集指 示のィベントを受け付け、 そのィベントを適切なプラグインなどに通知する ともに、 イベントの再実行 (リ ドウ) 又は実行の取消 (アンドゥ) などの処 理を制御する。  [0019] The editing unit 24 accepts an editing instruction event from the user via the user interface, notifies the appropriate plug-in of the event, and re-executes the event or cancels the execution. Control processing such as (Undo).
[0020] DOMユニット 30は、 DOM提供部 32、 D O M生成部 34、 及び出力 部 36を含み、 X ML文書をデータとして扱うときのアクセス方法を提供す るために定められた文書オブジェク トモデル (Document Object Model : DO M) に準拠した機能を実現する。 DOM提供部32は、 編集ユニット 24に 定義されているインタフェースを満たす DO Mの実装である。 DOM生成部 34は、 XML文書から DOMツリーを生成する。 後述するように、 処理対 象となる XM L文書が、 VCュニット 80により他のポキャプラリにマツピ ングされる場合は、 マツビング元の XM L文書に対応するソースツリーと、 マツビング先の XM L文書に対応するデスティネーションツリーが生成され る。 出力部 36は、 例えば編集終了時に、 DOMツリーを XM L文書として 出力する。 [0020] The DOM unit 30 includes a DOM providing unit 32, a DOM generating unit 34, and an output unit 36, and is a document object model (Document) defined to provide an access method when handling an XML document as data. Implements functions that conform to Object Model: DO M). The DOM provider 32 is an implementation of DOM that satisfies the interface defined in the editing unit 24. The DOM generation unit 34 generates a DOM tree from the XML document. As will be described later, the XML document to be processed is transferred to other vocabulary by VC Unit 80. In the case of mapping, a source tree corresponding to the XML document of the mapping source and a destination tree corresponding to the XML document of the mapping destination are generated. The output unit 36 outputs the DOM tree as an XML document at the end of editing, for example.
[0021] CSSユニット 40は、 〇33解析部42、 C S S提供部 44、 及びレン ダリング部 46を含み、 CSSに準拠した表示機能を提供する。 CSS解析 部 42は、 CSSの構文を解析するバーサの機能を有する。 CSS提供部 4 4は、 CS Sオブジェク トの実装であり、 DOMツリーに対して CS Sの力 スケ一ド処理を行う。 レンダリング部 46は、 CS Sのレンダリングェンジ ンであり、 CS Sを用いてレイァゥ卜される H TM Lなどのポキャプラリで 記述された文書の表示に用いられる。  [0021] The CSS unit 40 includes a 33 analysis unit 42, a CSS providing unit 44, and a rendering unit 46, and provides a display function compliant with CSS. The CSS analysis unit 42 has a function of a parser that analyzes CSS syntax. The CSS provider 44 is an implementation of CSS objects, and performs CSS force scheduling processing on the DOM tree. The rendering unit 46 is a CSS rendering engine, and is used to display a document described in a vocabulary such as HTML that is laid out using the CSS.
[0022] HTMLユニット 50は、 H T M Lにより記述された文書を表示又は編集 する。 SVGユニット 60は、 SVGにより記述された文書を表示又は編集 する。 これらの表示/編集系は、 プラグインの形で実現されており、 それぞ れ、 文書を表示する表示部 (Canvas) 56、 66、 編集指示を含むイベント を送受信する制御部 (Editlet) 52、 62、 編集コマンドを受けて D O Mに 対して編集を行う編集部 (Zone) 54、 64を備える。 制御部 52又は 62 が外部から DOMツリーの編集コマンドを受け付けると、 編集部 54又は 6 4が DOMツリーを変更し、 表示部 56又は 66が表示を更新する。 これら は、 MVC (Model-View-Control ler) と呼ばれるフレームワークに類似する 構成をとつており、 概ね、 表示部 56及び 66が 「View」 に、 制御部 52及 び 62力《 Γ Control lerj に、 編集部 54及び 64と D O Mの実体が 「Model」 に、 それぞれ対応する。 本前提技術の文書処理装置 20では、 XML文書を ッリ一表示形式で編集するだけでなく、 それぞれのポキャプラリに応じた編 集を可能とする。 例えば、 HTMLユニット 50は、 HTML文書をワード プロセッサに類似した方式で編集するためのユーザインタ一フェースを提供 し、 SVGユニット 60は、 SVG文書を画像描画ツールに類似した方式で 編集するためのユーザィンタ一フェースを提供する。 [0023] V Cユニット 8 0は、 マッピング部 8 2、 定義ファイル取得部 8 4、 及び 定義ファイル生成部 8 6を含み、 あるポキヤブラリにより記述された文書を 、 他のポキヤブラリにマッピングすることにより、 マッピング先のポキヤブ ラリに対応した表示編集用プラグィンで文書を表示又は編集するためのフレ —ムワークを提供する。 本前提技術では、 この機能を、 ポキヤブラリコネク シヨン (Vocabu l ary Connect i on: V C ) と呼ぶ。 定義ファイル取得部 8 4は 、 マッピングの定義を記述したスクリプトファイルを取得する。 この定義フ アイルは、 ノードごとに、 ノード間の対応 (コネクション) を記述する。 こ のとき、 各ノードの要素値や属性値の編集の可否を指定してもよい。 また、 ノードの要素値や属性値を用いた演算式を記述してもよい。 これらの機能に ついては、 後で詳述する。 マッピング部 8 2は、 定義ファイル取得部 8 4が 取得したスクリブトファイルを参照して、 D O M生成部 3 4にデスティネー シヨンツリーを生成させ、 ソースツリーとデスティネーションツリーの対応 関係を管理する。 定義ファイル生成部 8 6は、 ユーザが定義ファイルを生成 するためのグラフィカルユーザィンタ一フェースを提供する。 [0022] The HTML unit 50 displays or edits a document described in HTML. The SVG unit 60 displays or edits documents described in SVG. These display / editing systems are realized in the form of plug-ins. Each of them is a display unit (Canvas) 56, 66 for displaying a document, a control unit (Editlet) 52 for sending / receiving events including editing instructions, 62. Includes editing sections (Zone) 54 and 64 that receive editing commands and edit the DOM. When the control unit 52 or 62 receives a DOM tree editing command from the outside, the editing unit 54 or 64 changes the DOM tree, and the display unit 56 or 66 updates the display. These have a structure similar to a framework called MVC (Model-View-Control ler). Generally, the display units 56 and 66 are set to “View”, and the control units 52 and 62 force << Γ Control lerj. The editing parts 54 and 64 and the DOM entity correspond to “Model”, respectively. The document processing apparatus 20 of the base technology enables not only editing of an XML document in a single display format but also editing according to each vocabulary. For example, the HTML unit 50 provides a user interface for editing an HTML document in a manner similar to a word processor, and the SVG unit 60 provides a user interface for editing an SVG document in a manner similar to an image drawing tool. Provide one face. The VC unit 80 includes a mapping unit 8 2, a definition file acquisition unit 8 4, and a definition file generation unit 8 6, and mapping is performed by mapping a document described in a certain library to another one. Provides a framework for displaying or editing a document with a plug-in for display editing corresponding to the previous page library. In this base technology, this function is called Pocabulary Connection (VC). The definition file acquisition unit 84 acquires a script file describing the mapping definition. 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. Also, an arithmetic expression using the element value or attribute value of the node may be described. These functions will be described in detail later. The mapping unit 82 refers to the scribble file acquired by the definition file acquisition unit 84, causes the DOM generation unit 34 to generate a destination tree, and manages the correspondence between the source tree and the destination tree. The definition file generator 86 provides a graphical user interface for the user to generate a definition file.
[0024] V Cユニット 8 0は、 ソースツリーとデスティネーションツリーの間のコ ネクシヨンを監視し、 表示を担当するプラグインにより提供されるユーザィ ンタフエースを介してユーザから編集指示を受け付けると、 まずソースッリ —の該当するノードを変更する。 D O Mユニット 3 0力 ソースツリーが変 更された旨のミューテ一シヨンィベントを発行すると、 V Cュニット 8 0は 、 そのミューテ一シヨンイベントを受けて、 ソースツリーの変更にデスティ ネ一シヨンツリーを同期させるベく、 変更されたノードに対応するデスティ ネ一シヨンツリーのノードを変更する。 デスティネーションツリーを表示/ 編集するプラグイン、 例えば H T M Lユニット 5 0は、 デスティネーション ツリーが変更された旨のミューテ一シヨンィベントを受けて、 変更されたデ ステイネ一シヨンツリーを参照して表示を更新する。 このような構成により 、 少数のユーザにより利用されるローカルなポキャプラリにより記述された 文書であっても、 他のメジャーなポキャプラリに変換することで、 文書を表 示することができるとともに、 編集環境が提供される。 [0024] The VC unit 80 monitors the connection between the source tree and the destination tree, and receives an editing instruction from the user via the user interface provided by the plug-in responsible for display. Change the corresponding node. DOM unit 3 0 When a mutation event is issued to the effect that the source tree has changed, VC Unit 8 0 receives the mutation event and synchronizes the destination tree with the source tree change. Change the node of the destination tree corresponding to the changed node. Plug-ins that display / edit the destination tree, for example HTML unit 50, receives a mutation event that the destination tree has changed, and updates the display with reference to the changed destination tree To do. With such a configuration, even a document described by a local vocabulary used by a small number of users can be converted into another major vocabulary to display the document. An editing environment is provided.
[0025] 文書処理装置 2 0により文書を表示又は編集する動作について説明する。  An operation for displaying or editing a document by the document processing apparatus 20 will be described.
文書処理装置 2 0が処理対象となる文書を読み込むと、 D O M生成部 3 4が 、 その X M L文書から D O Mツリーを生成する。 また、 主制御ユニット 2 2 又は編集ュニット 2 4は、 名前空間を参照して文書を記述しているポキヤブ ラリを判別する。 そのポキャプラリに対応したプラグィンが文書処理装置 2 0にインス! ルされている場合は、 そのプラグインをロードして、 文書を 表示/編集させる。 プラグインがインスト一ルされていない場合は、 マツピ ングの定義ファイルが存在するか否かを確認する。 定義ファイルが存在する 場合、 定義ファイル取得部 8 4が定義ファイルを取得し、 その定義に従って 、 デスティネーションツリーが生成され、 マッピング先のポキヤブラリに対 応ずるプラグインにより文書が表示/編集される。 複数のポキヤブラリを含 む複合文書である場合は、 後述するように、 それぞれのポキヤブラリに対応 したプラグインにより、 文書の該当箇所がそれぞれ表示/編集される。 定義 ファイルが存在しない場合は、 文書のソース又はツリー構造を表示し、 その 表示画面において編集が行われる。  When the document processing apparatus 20 reads a document to be processed, the DOM generation unit 34 generates a DOM tree from the XML document. Further, the main control unit 2 2 or the editing unit 2 4 refers to the name space to determine the poker library describing the document. A plug-in corresponding to the vocabulary is installed in the document processing device 20! If so, load the plug-in to view / edit the document. If the plug-in is not installed, check whether the mapping definition file exists. If the definition file exists, the definition file acquisition unit 84 acquires the definition file, generates a destination tree according to the definition, and displays / edits the document by the plug-in corresponding to the mapping destination library. In the case of a compound document that contains multiple libraries, the corresponding parts of the document are displayed / edited by plug-ins corresponding to each library as described later. 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.
[0026] 図 2は、 処理対象となる X M L文書の例を示す。 この X M L文書は、 生徒 の成績データを管理するために用いられる。 X M L文書のトップノードであ る構成要素 「成績」 は、 配下に、 生徒ごとに設けられた構成要素 「生徒」 を 複数有する。 構成要素 「生徒」 は、 属性値 「名前」 と、 子要素 「国語」 、 「 数学」 、 「理科」 、 「社会」 を有する。 属性値 「名前」 は、 生徒の名前を格 納する。 構成要素 「国語」 、 「数学」 、 「理科」 、 「社会」 は、 それぞれ、 国語、 数学、 理科、 社会の成績を格納する。 例えば、 名前が 「A」 である生 徒の国語の成績は 「9 0」 、 数学の成績は 「5 0」 、 理科の成績は 「7 5」 、 社会の成績は 「6 0」 である。 以下、 この文書で使用されているポキヤブ ラリ (タグセット) を、 「成績管理ポキャブラリ」 と呼ぶ。  FIG. 2 shows an example of an XML document to be processed. This XML document is used to manage student performance data. The component “Grade”, which is the top node of the XML document, has multiple components “Student” provided for each student. 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. Constituent elements “National language”, “Mathematics”, “Science” and “Society” store the results of national language, mathematics, science and society, respectively. For example, a student with the name “A” has a national language grade of “9 0”, a mathematical grade of “5 0”, a scientific grade of “7 5”, and a social grade of “6 0”. In the following, the Pocabulary (tag set) used in this document will be referred to as the “Performance Management Pocabulary”.
[0027] 本前提技術の文書処理装置 2 0は、 成績管理ポキャプラリの表示/編集に 対応したプラグインを有しないので、 この文書をソース表示、 ツリー表示以 外の方法で表示するためには、 前述した V C機能が用いられる。 すなわち、 成績管理ポキヤブラリを、 プラグインが用意された別のポキヤブラリ、 例え ば、 H T M Lや S V Gなどにマツビングするための定義ファイルを用意する 必要がある。 ユーザ自身が定義ファイルを作成するためのユーザインターフ エースについては後述することにして、 ここでは、 既に定義ファイルが用意 されているとして説明を進める。 [0027] Since the document processing apparatus 20 of the base technology does not have a plug-in that supports display / editing of the grade management vocabulary, this document is displayed in the source display, tree display, and so on. The VC function described above is used to display in other ways. In other words, it is necessary to prepare a definition file for mapping the grade management library to another library with plug-ins, such as HTML and SVG. The user interface for creating a definition file by the user himself will be described later. Here, the explanation will proceed assuming that a definition file has already been prepared.
[0028] 図 3は、 図 2に示した X M L文書を H T M Lで記述された表にマッピング する例を示す。 図 3の例では、 成績管理ポキヤブラリの 「生徒」 ノードを、 H T M Lにおける表 ( 「TABLE」 ノード) の行 ( 「TR」 ノード) に対応づけ、 各行の第 1列には属性値 「名前」 を、 第 2列には 「国語」 ノードの要素値を 、 第 3列には 「数学」 ノードの要素値を、 第 4列には 「理科」 ノードの要素 値を、 第 5列には 「社会」 ノードの要素値を、 それぞれ対応付ける。 これに より、 図 2に示した X M L文書を、 H T M Lの表形式で表示することができ る。 また、 これらの属性値及び要素値は、 編集可能であることが指定されて おり、 ユーザが H T M Lによる表示画面上で、 H T M Lユニット 5 0の編集 機能により、 これらの値を編集することができる。 第 6列には、 国語、 数学 、 理科、 社会の成績の加重平均を算出する演算式が指定されており、 生徒の 成績の平均点が表示される。 このように、 定義ファイルに演算式を指定可能 とすることにより、 より柔軟な表示が可能となり、 編集時のユーザの利便性 を向上させることができる。 なお、 第 6列は、 編集不可であることが指定さ れており、 平均点のみを個別に編集することができないようにしている。 こ のように、 マッピング定義において、 編集の可否を指定可能とすることによ り、 ユーザの誤操作を防ぐことができる。  FIG. 3 shows an example of mapping the XML document shown in FIG. 2 to a table described in HTML. In the example shown in Figure 3, the “Student” node of the Grade Management Platform is mapped to a row (“TR” node) of a table (“TABLE” node) in HTML, and the attribute value “name” is assigned to the first column of each row. The second column contains the element values of the “National Language” node, the third column the element values of the “Mathematics” node, the fourth column the element values of the “Science” node, and the fifth column “Society”. Associate node element values with each other. As a result, the XML document shown in Fig. 2 can be displayed in the HTML table format. These attribute values and element values are specified to be editable, and the user can edit these values by the editing function of the HTML unit 50 on the display screen of the HTML. The sixth column specifies the formula for calculating the weighted average of national language, mathematics, science, and society, and displays the average score of the students' grades. In this way, by making it possible to specify an arithmetic expression in the definition file, more flexible display is possible and user convenience during editing can be improved. The sixth column specifies that editing is not possible, so that only the average score cannot be edited individually. In this way, by making it possible to specify whether editing is possible in the mapping definition, it is possible to prevent user misoperation.
[0029] 図 4 ( a ) 及び図 4 ( b ) は、 図 2に示した X M L文書を図 3に示した表 にマッピングするための定義ファイルの例を示す。 この定義ファイルは、 定 義ファイル用に定義されたスクリプト言語により記述される。 定義ファイル には、 コマンドの定義と、 表示のテンプレートが記述されている。 図 4 ( a ) ( b ) の例では、 コマンドとして、 「生徒の追加」 と 「生徒の削除」 が定 義されており、 それぞれ、 ソースツリーにノード 「生徒」 を挿入する操作と 、 ソースツリーからノード 「生徒」 を削除する操作が対応付けられている。 また、 テンプレートとして、 表の第 1行に 「名前」 、 「国語」 などの見出し が表示され、 第 2行以降に、 ノード 「生徒」 の内容が表示されることが記述 されている。 ノード 「生徒」 の内容を表示するテンプレート中、 「text-of」 と記述された項は 「編集可能」 であることを意味し、 「va l ue-of」 と記述さ れた項は 「編集不可能」 であることを意味する。 また、 ノード 「生徒」 の内 容を表示する行のうち、 第 6列には、 「(src :国語 + src :数学 + src :理科 + src :社会) d i v 4」 という計算式が記述されており、 生徒の成績の平均が表 示されることを意味する。 [0029] FIGS. 4 (a) and 4 (b) show examples of definition files 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. In the example shown in Fig. 4 (a) and (b), "add student" and "delete student" are defined as commands. Each of them is associated with an operation for inserting the node “student” in the source tree and an operation for deleting the node “student” from the source tree. As a template, it is described that headings such as “name” and “national language” are displayed in the first row of the table, and the contents of the node “student” are displayed in the second and subsequent rows. In the template that displays the contents of node “Student”, the term “text-of” means “editable” and the term “va l ue-of” means “edit” It means “impossible”. In the sixth column of the row displaying the contents of the node “Student”, the calculation formula “(src: Japanese + src: Mathematics + src: Science + src: Society) div 4” is described in the sixth column. Mean that the student's average performance is displayed.
[0030] 図 5は、 図 2に示した成績管理ポキヤブラリで記述された X M L文書を、 図 3に示した対応により H T M Lにマツビングして表示した画面の例を示す 。 表 9 0の各行には、 左から、 各生徒の名前、 国語の成績、 数学の成績、 理 科の成績、 社会の成績、 及び平均点が表示されている。 ユーザは、 この画面 上で、 X M L文書を編集することができる。 たとえば、 第 2行第 3列の値を 「7 0」 に変更すると、 このノードに対応するソースツリーの要素値、 すな わち、 生徒 「B」 の数学の成績が 「7 0」 に変更される。 このとき、 V Cュ ニット 8 0は、 デスティネーションツリーをソースツリーに追従させるベく 、 デスティネーションツリーの該当箇所を変更し、 H T M Lユニット 5 0が 、 変更されたデスティネーションツリーに基づいて表示を更新する。 したが つて、 画面上の表においても、 生徒 「B」 の数学の成績が 「7 0」 に変更さ れ、 更に、 平均点が 「5 5」 に変更される。  FIG. 5 shows an example of a screen displayed by mapping the XML document described in the grade management platform shown in FIG. 2 to the HTML according to the correspondence shown in FIG. Each row in Table 90 shows, from the left, each student's name, national language grade, mathematics grade, science grade, social grade, and average score. The user can edit the XML document on this screen. For example, if you change the value in the second row and third column to “7 0”, the element value in the source tree corresponding to this node, that is, the math grade for student “B” changes to “7 0” Is done. At this time, VC unit 80 should make the destination tree follow the source tree, change the corresponding part of the destination tree, and HTML unit 50 will update the display based on the changed destination tree. To do. Therefore, in the table on the screen, the mathematics score of student “B” is changed to “7 0”, and the average score is changed to “5 5”.
[0031 ] 図 5に示した画面には、 図 4 ( a ) ( b ) に示した定義ファイルに定義さ れたように、 「生徒の追加」 及び 「生徒の削除」 のコマンドがメニューに表 示される。 ユーザがこれらのコマンドを選択すると、 ソースツリーにおいて 、 ノード 「生徒」 が追加又は削除される。 このように、 本前提技術の文書処 理装置 2 0では、 階層構造の末端の構成要素の要素値を編集するのみではな く、 階層構造を編集することも可能である。 このようなツリー構造の編集機 能は、 コマンドの形でユーザに提供されてもよい。 また、 例えば、 表の行を 追加又は削除するコマンドが、 ノード 「生徒」 を追加又は削除する操作に対 応づけられてもよい。 また、 他のポキヤブラリを埋め込むコマンドがユーザ に提供されてもよい。 この表を入力用テンプレートとして、 穴埋め形式で新 たな生徒の成績データを追加することもできる。 以上のように、 V C機能に より、 H T M Lユニット 5 0の表示/編集機能を利用しつつ、 成績管理ポキ ャブラリで記述された文書を編集することが可能となる。 [0031] In the screen shown in Fig. 5, the commands "Add Student" and "Delete Student" appear in the menu as defined in the definition file shown in Fig. 4 (a) (b). Indicated. When the user selects these commands, the node “Student” is added or deleted in the source tree. As described above, the document processing apparatus 20 of the base technology can not only edit the element value of the component at the end of the hierarchical structure but also edit the hierarchical structure. An editor with a tree structure like this Capabilities may be provided to the user in the form of commands. For example, a command for adding or deleting a table row may be associated with an operation for adding or deleting a node “student”. In addition, a command for embedding other libraries may be provided to the user. Using this table as an input template, you can also add new student grade data in the form of blanks. As described above, the VC function makes it possible to edit a document described in the grade management library while using the display / editing function of the HTML unit 50.
[0032] 図 6は、 ユーザが定義ファイルを生成するために、 定義ファイル生成部 8 6がユーザに提示するグラフィカルユーザィンタフェースの例を示す。 画面 左側の領域 9 1には、 マッピング元の X M L文書がツリー表示されている。 画面右側の領域 9 2には、 マッピング先の X M L文書の画面レイァゥ卜が示 されている。 この画面レイアウトは、 H T M Lユニット 5 0により編集可能 となっており、 ユーザは、 画面右側の領域 9 2において、 文書を表示するた めの画面レイアウトを作成する。 そして、 例えば、 マウスなどのポインティ ングデ /くィスにより、 画面左側の領域 9 1に表示されたマツピング元の X M L文書のノードを、 画面右側の領域 9 2に表示された H T M Lによる画面レ ィァゥト中へドラッグ &ドロップ操作を行うことにより、 マツビング元のノ —ドと、 マッピング先のノードとのコネクションが指定される。 例えば、 要 素 「生徒」 の子要素である 「数学」 を、 H T M L画面の表 9 0の第 1行第 3 列にドロップすると、 「数学」 ノードと、 3列目の 「T D」 ノードの間にコ ネクシヨンが張られる。 各ノードには、 編集の可否が指定できるようになつ ている。 また、 表示画面中には、 演算式を埋め込むこともできる。 画面の編 集が終わると、 定義ファイル生成部 8 6は、 画面レイアウトとノード間のコ ネクシヨンを記述した定義ファイルを生成する。  FIG. 6 shows an example of a graphical user interface that the definition file generator 86 provides to the user in order for the user to generate a definition file. In the area 9 1 on the left side of the screen, the mapping source XML document is displayed as a tree. In the area 92 on the right side of the screen, the screen layout of the XML document to be mapped is shown. This screen layout can be edited by the HTML unit 50, and the user creates a screen layout for displaying the document in the area 92 on the right side of the screen. Then, for example, by using a pointing device such as a mouse, the node of the mapping source XML document displayed in the area 91 on the left side of the screen is displayed in the screen layout using HTML displayed in the area 92 on the right side of the screen. By dragging and dropping, 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 90 on the HTML screen, between the “Mathematics” node and the “TD” node in the third column. A connection is stretched over. Each node can be specified for editing. An arithmetic expression can be embedded in the display screen. When the editing of the screen is completed, the definition file generator 86 generates a definition file describing the screen layout and the connection between the nodes.
[0033] X H T M L、 M a t h M L、 S V Gなどの主要なポキヤブラリに対応した ビューヮゃエディタは既に開発されているが、 図 2に示した文書のようなォ リジナルなポキヤブラリで記述された文書に対応したビューヮゃエディタを 開発するのは現実的でない。 しかし、 上記のように、 他のポキヤブラリにマ ッビングするための定義ファイルを作成すれば、 ビューヮゃエディタを開発 しなくても、 V C機能を利用して、 オリジナルなポキヤブラリで記述された 文書を表示■編集することができる。 [0033] View editors that support major libraries such as XHTML, Math ML, and SVG have already been developed, but they correspond to documents written in original pages such as the document shown in Figure 2. Developing a view editor is not practical. However, as mentioned above, If you create a definition file for the webbing, you can use the VC function to display and edit documents written in the original library without developing a view editor.
[0034] 図 7は、 定義ファイル生成部 8 6により生成された画面レイアウトの他の 例を示す。 図 7の例では、 成績管理ポキャプラリで記述された X M L文書を 表示するための画面に、 表 9 0と、 円グラフ 9 3が作成されている。 この円 グラフ 9 3は、 S V Gにより記述される。 後述するように、 本前提技術の文 書処理装置 2 0は、 一つの X M L文書内に複数のポキヤブラリを含む複合文 書を処理することができるので、 この例のように、 H T M Lで記述された表 9 0と、 S V Gで記述された円グラフ 9 3とを、 一つの画面上に表示するこ とができる。  FIG. 7 shows another example of the screen layout generated by the definition file generation unit 86. In the example shown in FIG. 7, Table 90 and a pie chart 93 are created on the screen for displaying the XML document described in the grade management policy. This pie chart 93 is described by S V G. As will be described later, the document processing apparatus 20 of the base technology can process a composite document including a plurality of libraries in one XML document, so that it is described in HTML as in this example. Table 90 and the pie chart 93 described in SVG can be displayed on one screen.
[0035] 図 8は、 文書処理装置 2 0による X M L文書の編集画面の一例を示す。 図 8の例では、 一つの画面が複数に分割されており、 それぞれの領域において 、 処理対象となる X M L文書を異なる複数の表示形式により表示している。 領域 9 4には、 文書のソースが表示されており、 領域 9 5には、 文書のッリ —構造が表示されており、 領域 9 6には、 図 5に示した H T M Lにより記述 された表が表示されている。 これらのいずれの画面上においても、 文書の編 集が可能であり、 いずれかの画面上でユーザが編集を行うと、 ソースッリ _ が変更され、 それぞれの画面の表示を担当するプラグインが、 ソースツリー の変更を反映すべく画面を更新する。 具体的には、 ソースツリーの変更を通 知するミューテ一シヨンィベン卜のリスナーとして、 それぞれの編集画面の 表示を担当するブラグインの表示部を登録しておき、 いずれかのブラグイン 又は V Cュニット 8 0によりソースツリーが変更されたときに、 編集画面を 表示中の全ての表示部が、 発行されたミューテ一シヨンィベントを受け取つ て画面を更新する。 このとき、 プラグインが V C機能により表示を行ってい る場合は、 V Cュニット 8 0がソースツリーの変更に追従してデステイネ一 シヨンツリーを変更した後、 変更されたデスティネーションツリーを参照し てプラグィンの表示部が画面を更新する。 [0036] 例えば、 ソース表示及びツリー表示を、 専用のプラグインにより実現して いる場合は、 ソース表示用プラグインとツリー表示用プラグインは、 デステ イネ一シヨンツリーを用いず、 直接ソースツリーを参照して表示を行う。 こ の場合、 いずれかの画面において編集が行われると、 ソース表示用プラグィ ンとッリ一表示用プラグィンは、 変更されたソースッリ一を参照して画面を 更新し、 領域 9 6の画面を担当している H T M Lユニット 5 0は、 ソ一スッ リーの変更に追従して変更されたデスティネーションツリーを参照して画面 を更新する。 FIG. 8 shows an example of an XML document editing screen by the document processing apparatus 20. In the example of FIG. 8, one screen is divided into a plurality of areas, and the XML document to be processed is displayed in a plurality of different display formats in each area. In area 94, the source of the document is displayed. In area 95, the document structure is displayed. In area 96, the table described in HTML shown in Fig. 5 is displayed. Is displayed. Documents can be edited on any of these screens. When a user edits on any of these screens, the source code is changed, and the plug-in responsible for displaying each screen Update the screen to reflect the tree changes. Specifically, as a listener of the mutation event that notifies the change of the source tree, the display unit of the plug-in responsible for displaying each editing screen is registered, and either of the plug-in or VC unit 8 0 is used. When the source tree is changed, all the display units displaying the edit screen receive the issued mutation event and update the screen. At this time, if the plug-in is displaying with the VC function, the VC unit 80 changes the destination tree following the change of the source tree, and then refers to the changed destination tree. The display unit updates the screen. [0036] For example, when the source display and the tree display are realized by a dedicated plug-in, the source display plug-in and the tree display plug-in do not use the destination tree, but directly use the source tree. Browse and display. In this case, when editing is performed on any of the screens, the source display plug-in and the single display plug-in update the screen with reference to the changed source tree, and take charge of the screen in area 96. The following HTML unit 50 updates the screen by referring to the changed destination tree following the change of the source tree.
[0037] ソース表示及びツリー表示は、 V C機能を利用して実現することもできる 。 すなわち、 ソース、 ツリー構造を H T M Lによりレイアウトし、 その H T M Lに X M L文書をマツビングして、 H T M Lュニット 5 0により表示して もよい。 この場合、 ソース形式、 ツリー形式、 表形式の 3つのデスティネー シヨンッリ一が生成されることになる。 いずれかの画面において編集が行わ れると、 V Cユニット 8 0は、 ソースツリーを変更した後、 ソース形式、 ッ リ一形式、 表形式の 3つのデスティネーションツリーをそれぞれ変更し、 H T M Lユニット 5 0は、 それらのデスティネーションツリーを参照して、 3 つの画面を更新する。  [0037] The source display and the tree display can also be realized by using the VC function. In other words, the source and tree structure may be laid out using HTML, XML documents may be mapped onto the HTML, and displayed using the HTML unit 50. In this case, three destination destinations are generated: source format, tree format, and tabular format. When editing is performed on any of the screens, VC Unit 8 0 changes the source tree, then changes each of the three destination trees: source format, solid format, and table format. Browse the destination tree and update the three screens.
[0038] このように、 一つの画面上に複数の表示形式で文書を表示することにより 、 ユーザの利便性を向上させることができる。 例えば、 ユーザは、 ソース表 示又はッリ一表示により文書の階層構造を把握しつつ、 表 9 0などを用いて 視覚的に分かりやすい形式で文書を表示し、 編集することができる。 上記の 例では、 一つの画面を分割して複数の表示形式による画面を同時に表示した 力 一つの画面に一つの表示形式による画面を表示し、 表示形式をユーザの 指示により切り替え可能としてもよい。 この場合、 主制御ユニット 2 2力 ユーザから表示形式の切り替え要求を受け付け、 各プラグインに指示して表 示を切り替える。  [0038] Thus, by displaying a document in a plurality of display formats on one screen, it is possible to improve user convenience. For example, the user can display and edit a document in a visually easy-to-understand format using Table 90 or the like while grasping the hierarchical structure of the document by displaying the source or the tree. In the above example, one screen can be divided and screens in multiple display formats can be displayed at the same time. One screen can be displayed in one display format, and the display format can be switched according to user instructions. In this case, the main control unit 2 2 power receives a display format switching request from the user, and instructs each plug-in to switch the display.
[0039] 図 9は、 文書処理装置 2 0により編集される X M L文書の他の例を示す。  FIG. 9 shows another example of an XML document edited by the document processing apparatus 20.
図 9に示した X M L文書では、 S V G文書の 「fore i gnObject」 タグの中に X H T M L文書が埋め込まれており、 さらに、 X H T M L文書の中に M a t h M Lで記述された数式が入っている。 このような場合、 編集ユニット 2 4が 、 名前空間を参照して、 適切な表示系に描画作業を振り分ける。 図 9の例で は、 編集ユニット 2 4は、 まず、 S V Gユニット 6 0に四角形を描画させ、 つづいて、 H T M Lユニット 5 0に X H T M L文書を描画させる。 さらに、 図示しない M a t h M Lユニットに、 数式を描画させる。 こうして、 複数の ポキヤブラリを包含する複合文書が適切に表示される。 表示結果を図 1 0に 示す。 In the XML document shown in Figure 9, the X inside the “fore i gnObject” tag of the SVG document An HTML document is embedded, and a mathematical expression written in Math ML is included in the XHTML document. In such a case, the editing unit 24 refers to the name space and distributes the drawing work to an appropriate display system. In the example of FIG. 9, the editing unit 24 first causes the SVG unit 60 to draw a rectangle, and then causes the HTML unit 50 to draw an XHTML document. In addition, let the Math ML unit (not shown) draw mathematical formulas. In this way, a compound document including a plurality of pages is properly displayed. The display results are shown in Fig. 10.
[0040] 文書編集中、 カーソル (キャリッジ) の位置に応じて、 表示されるメニュ —を切り替えてもよい。 すなわち、 カーソルが、 S V G文書が表示された領 域内に存在するときは、 S V Gユニット 6 0が提供するメニュー、 又は S V G文書をマツビングするための定義ファイルに定義されたコマンドを表示し 、 カーソルが、 X H T M L文書が表示された領域内に存在するときは、 H T M Lュニット 5 0が提供するメニュー、 又は X H T M L文書をマツビングす るための定義ファイルに定義されたコマンドを表示する。 これにより、 編集 位置に応じて適切なユーザインタ一フェースを提供することができる。  [0040] During document editing, the displayed menu may be switched according to the position of the cursor (carriage). That is, when the cursor exists in the area where the SVG document is displayed, the menu defined by the SVG unit 60 or the command defined in the definition file for mapping the SVG document is displayed. When the XHTML document exists in the displayed area, the menu defined by the HTML unit 50 or the command defined in the definition file for mapping the XHTML document is displayed. As a result, an appropriate user interface can be provided according to the editing position.
[0041 ] 複合文書において、 あるポキヤブラリに対応する適切なプラグイン又はマ ッビング定義ファイルがなかった場合は、 そのポキヤブラリにより記述され た部分は、 ソース表示又はツリー表示されてもよい。 従来、 ある文書に他の 文書を埋め込んだ複合文書を開くとき、 埋め込まれた文書を表示するアプリ ケ一シヨンがインストールされていないと、 その内容を表示することができ なかったが、 本前提技術では、 表示用のアプリケーションが存在しなくても 、 テキストデータにより構成された X M L文書をソース表示又はツリー表示 することにより内容を把握することができる。 これは、 テキストベースであ る X M Lなどの文書ならではの特徴といえる。  [0041] In a compound document, when there is no appropriate plug-in or mapping definition file corresponding to a certain library, the part described by the library may be displayed in a source or tree. Previously, when opening a compound document in which another document was embedded in one document, the contents could not be displayed unless an application that displayed the embedded document was installed. Then, even if there is no display application, the content can be grasped by displaying the XML document composed of text data in the source display or the tree display. This is a unique feature of text-based documents such as XML.
[0042] データがテキストベースで記述されることの他の利点として、 例えば、 複 合文書中の、 あるポキヤブラリにより記述される部分において、 同一文書内 の他のポキヤブラリで記述された部分のデータを参照してもよい。 また、 文 書内で検索を実行する時に、 SVGなどの図に埋め込まれた文字列も検索対 象とすることができる。 [0042] Another advantage of the data being described in the text base is that, for example, in a part described by a certain library in a compound document, the data of a part described in another part of the same document is changed. You may refer to it. Also, sentence When performing a search within a document, text strings embedded in diagrams such as SVG can also be searched.
[0043] あるポキヤブラリにより記述された文書内に、 他のポキヤブラリのタグを 用いてもよい。 この XML文書は、 妥当 (valid) ではないが、 整形式 (well -formed) であれば、 有効な X M L文書として処理可能である。 この場合、 揷 入された他のポキャプラリのタグは、 定義ファイルによりマツビングされて もよい。 例えば、 XHTML文書中に、 「重要」 、 「最重要」 などのタグを 使用し、 これらのタグで囲まれた部分を強調表示してもよいし、 重要度の順 にソ一トして表示してもよい。  [0043] A tag written in another poker library may use a tag of another poker library. This XML document is not valid, but can be processed as a valid XML document if it is well-formed. In this case, the tag of the other vocabulary inserted may be mapped by the definition file. For example, you can use tags such as “Important” and “Most important” in an XHTML document and highlight the parts enclosed by these tags, or sort them in order of importance. May be.
[0044] 図 1 0に示した編集画面において、 ユーザにより文書が編集されると、 編 集された部分を担当するプラグイン又は VCュニット 80がソースツリーを 変更する。 ソースツリーには、 ノードごとにミューテ一シヨンイベントのリ スナーを登録できるようになつており、 通常は、 各ノードが属するポキヤブ ラリに対応したプラグインの表示部又は VCュニット 80がリスナーとして 登録される。 DOM提供部32は、 ソースツリーが変更されると、 変更され たノードから上位の階層へたどって、 登録されたリスナーがあれば、 そのリ スナ一へミューテ一シヨンイベントを発行する。 例えば、 図 9に示した文書 において、 < h t m I >ノードの下位のノードが変更された場合、 < h t m I >ノードにリスナーとして登録された H TM Lュニット 50にミューテ一 シヨンィベン卜が通知されるとともに、 その上位の < s V g>ノードにリス ナ一として登録された SVGュニット 60にもミューテ一シヨンィベン卜が 通知される。 このとき、 HTMLユニット 50は、 変更されたソースツリー を参照して表示を更新する。 SVGユニット 60は、 自身のポキヤブラリに 属するノードが変更されていないので、 ミューテ一シヨンィベントを無視し てもよい。  [0044] In the editing screen shown in FIG. 10, when a user edits a document, the plug-in or VC unit 80 responsible for the edited part changes the source tree. In the source tree, listeners for mutation events can be registered for each node. Normally, the plug-in display section or VC unit 80 corresponding to the portal to which each node belongs is registered as a listener. The When the source tree is changed, the DOM provider 32 traces from 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. 9, when the node below the <htm I> node is changed, the mutation event is notified to the HTM Lunit 50 registered as a listener in the <htm I> node. At the same time, the mutation event is also notified to the SVG unit 60 registered as a listener in the upper <s V g> node. At this time, the HTML unit 50 refers to the changed source tree and updates the display. The SVG unit 60 may ignore the mutation event because the node belonging to its own Pocabulary has not changed.
[0045] 編集の内容によっては、 H TM Lユニット 50による表示の更新に伴って 、 全体のレイアウトが変わる可能性がある。 この場合は、 画面のレイアウト を管理する構成、 例えば最上位のノードの表示を担当するプラグインにより 、 プラグインごとの表示領域のレイアウトが更新される。 例えば、 HTML ュニット 50による表示領域が以前より大きくなつた場合、 HTMLュニッ ト 50は、 まず自身の担当する部分を描画して、 表示領域の大きさを決定す る。 そして、 画面のレイアウトを管理する構成に、 変更後の表示領域の大き さを通知し、 レイアウトの更新を依頼する。 画面のレイアウトを管理する構 成は、 通知を受けて、 プラグインごとの表示領域を再レイアウトする。 こう して、 編集された部分の表示が適切に更新されるとともに、 画面全体のレイ ァゥ卜が更新される。 [0045] Depending on the contents of editing, the overall layout may change as the display is updated by the HTML unit 50. In this case, use a configuration that manages the layout of the screen, for example, a plug-in that is responsible for displaying the top-level node. The layout of the display area for each plug-in is updated. For example, when the display area by the HTML unit 50 becomes larger than before, the HTML unit 50 first draws a part that it is in charge of and determines the size of the display area. Then, notify the configuration that manages the layout of the screen of the size of the display area after the change, and request a layout update. The configuration that manages the screen layout receives the notification and re-lays out the display area for each plug-in. In this way, the display of the edited part is updated appropriately and the layout of the entire screen is updated.
[0046] つづいて、 前提技術の文書処理装置 20を実現する機能構成について更に 詳細に説明する。 以下の説明では、 クラス名などを記載する際には、 英字を そのまま用いて記載することにする。  [0046] Next, a functional configuration for realizing the document processing apparatus 20 of the base technology will be described in more detail. In the following explanation, when describing the class name, etc., the alphabetic characters will be used as they are.
[0047] A. 概要  [0047] A. Overview
インタ一ネッ卜の出現により、 ユーザによって処理され管理される文書の 数が、 ほぼ指数関数的に増加してきた。 インターネットの核を形成するゥェ ブ (World wide Web) は、 そのような文書データの大きな受け皿となってい る。 ウェブは、 文書に加えて、 このような文書の情報検索システムを提供す る。 これらの文書は、 通常、 マークアップ言語により記述される。 マークァ ップ言語のシンプルかつポピュラーな例の一つに H TM L (HyperText Marku p Language) がある。 このような文書は、 ウェブの他の位置に格納されてい る他の文書へのリンクをさらに含む。 XM L (extensible Markup Language ) は、 さらに高度でポピュラーなマークアップ言語である。 ウェブ文書にァ クセスし、 閲覧するためのシンプルなブラウザが、 J a v a (登録商標) の ようなオブジェク ト指向のプログラミング言語で開発されている。  With the advent of the Internet, the number of documents processed and managed by users has increased almost exponentially. The web (World wide Web), which forms the core of the Internet, has become a big receptacle for such document data. In addition to documents, the Web provides information retrieval systems for such documents. These documents are usually written in a markup language. One simple and popular example of a markup language is HTML (HyperText Markup Language). Such documents further include links to other documents stored elsewhere on the web. XML (extensible Markup Language) is a more advanced and popular markup language. Simple browsers for accessing and browsing web documents have been developed in object-oriented programming languages such as Java (registered trademark).
[0048] マークアップ言語により記述された文書は、 通常、 ブラウザや他のアプリ ケ一シヨンの中では、 ツリーデータ構造の形で表現される。 この構造は、 文 書を構文解析した結果のツリーに相当する。 DOM (Document Object Model ) は、 文書を表現し、 操作するために使用される、 よく知られたツリーべ一 スのデータ構造モデルである。 DOMは、 H TM Lや XM L文書などを含む 文書を表現するための標準的なオブジェク 卜のセットを提供する。 DOMは 、 文書内のコンポーネントを表現するォブジェク 卜がどのようにつながって いるかという標準モデルと、 それらのオブジェク 卜にアクセスしたり操作し たりするための標準インタフェイスという、 2つの基本的なコンポ一ネント を含む。 [0048] Documents described in a markup language are usually represented in the form of a tree data structure in browsers and other applications. This structure corresponds to the tree of the result of parsing the document. The DOM (Document Object Model) is a well-known tree-based data structure model used to represent and manipulate documents. DOM includes HTML and XML documents Provides a standard set of objects for representing documents. The DOM has two basic components: a standard model of how objects that represent components in a document are connected, and a standard interface for accessing and manipulating those objects. Nent included.
[0049] アプリケーション開発者は、 独自のデータ構造や A P I (Appl i cat ion Pro gram Interface) へのインタフェイスとして D O Mをサポートすることがで きる。 他方、 文書を作成するアプリケーション開発者は、 彼らの AP Iの独 自インタフェイスではなく、 D O Mの標準ィンタフェイスを使用することが できる。 したがって、 標準を提供するというその能力により、 DOMは、 様 々な環境、 特にウェブにおいて、 文書の相互利用を促進させるために有効で ある。 DOMのいくつかのバージョンが定義されており、 異なるプログラミ ング環境及びァプリケ一シヨンによって使用されている。  [0049] Application developers can support DOM as an interface to their own data structures and API (Application Program Interface). On the other hand, application developers who create documents can use the standard interface of DOM rather than their own API interface. Thus, due to its ability to provide standards, the DOM is effective in facilitating the mutual use of documents in various environments, especially the web. Several versions of the DOM have been defined and are used by different programming environments and applications.
[0050] DOMツリーは、 対応する DO Mの内容に基づいた文書の階層的表現であ る。 DOMツリーは 「根 (ルート) 」 、 及びルートから発生する 1つ以上の 「節 (ノード) 」 を含む。 ルートが文書全体を表す場合もある。 中間のノー ドは、 例えば、 テーブル及びそのテーブル中の行及び列のような要素を表す ことができる。 DOMツリーの 「葉」 は、 通常、 それ以上分解できないテキ ストや画像のようなデータを表す。 DOMツリーの各ノードは、 フォント、 サイズ、 色、 インデントなど、 ノードによって表される要素のパラメータを 記述する属性に関連付けられてもよい。  [0050] A DOM tree is a hierarchical representation of a document based on the contents of the corresponding DOM. The DOM tree contains a “root” and one or more “nodes” that originate from the root. In some cases, the root represents the entire document. Intermediate nodes can represent elements such as a table and the rows and columns in the table, for example. A “leaf” in a DOM tree usually represents text or image-like data that cannot be further decomposed. Each node in the DOM tree may be associated with attributes that describe the parameters of the element represented by the node, such as font, size, color, and indentation.
[0051] HTMLは、 文書を作成するために一般に用いられる言語であるが、 フォ 一マツト及びレイァゥト用の言語であり、 データ記述のための言語ではない 。 H TM L ドキュメントを表現する DOMツリーのノードは、 HTMLのフ ォ一マツティングタグとして予め定義されたエレメントであって、 通常、 H TMLは、 データの詳述や、 データのタギング/ラベリングのための機能を 提供しないので、 HTML ドキュメント中のデータに対するクエリを定式化 することは多くの場合困難である。 [0052] ネットワーク設計者たちの目指すものは、 ウェブ上の文書がソフトウェア アプリケーションによってクエリされたり処理されたりできるようにするこ とである。 表示方法とは無関係で、 階層的に構造化された言語であれば、 そ のようにクエリされ処理されることができる。 XML (extensible Markup L anguage) のようなマークアップ言語は、 これらの特徴を提供することができ る。 [0051] HTML is a language generally used to create a document, but is a language for format and layout, not a data description language. Nodes in the DOM tree that represent HTML documents are elements that are predefined as HTML formatting tags, and HTML is usually used for data description and tagging / labeling of data. It is often difficult to formulate queries for data in HTML documents. [0052] The goal of network designers is to enable documents on the web to be queried and processed by software applications. Regardless of how they are displayed, a hierarchically structured language can be queried and processed that way. Markup languages such as XML (extensible Markup Language) can provide these features.
[0053] HTMLとは逆に、 X MLのよく知られた利点は、 文書の設計者が自由に 定義可能な 「タグ」 を使用して、 データ要素にラベルを付けることが可能で ある点である。 このようなデータ要素は、 階層的に構造化することができる 。 さらに、 XML文書は、 文書内で用いられるタグ及びそれらの相互関係の 「文法」 を記述した文書型定義を含むことができる。 構造化された XML文 書の表示方法を定義するために、 CSS (Cascading Style Sheet) 又は XS L (XML Style Language) が使用される。 DOM、 HTML、 XML、 C S S、 XS L及び関連する言語の特徴に関する付加的な情報は、 ウェブからも 得ることができる。 (例えば、 http:〃 www. w3. org/TR/)  [0053] Contrary to HTML, a well-known advantage of XML is that data elements can be labeled using "tags" that can be freely defined by the document designer. is there. Such data elements can be structured hierarchically. In addition, XML documents can contain document type definitions that describe the tags used in the document and the “grammar” of their interrelationships. CSS (Cascading Style Sheet) or XS L (XML Style Language) is used to define how to display a structured XML document. Additional information on DOM, HTML, XML, CSS, XS L and related language features can also be obtained from the web. (Eg http: 〃 www. W3. Org / TR /)
[0054] X p a t hは、 XM L文書の部分の位置を指定するために共通のシンタツ クス及びセマンティクスを提供する。 機能性の例として、 XML文書に対応 する DOMツリーのトラバース (移動) がある。 それは、 XML文書の様々 な表現に関連した文字列、 数、 及びブーリアン文字の操作のための基本的な 機能を提供する。 X p a t hは、 XM L文書の見た目のシンタックス、 例え ば、 テキス卜としてみたときに何行目であるとか何文字目であるとかといつ た文法ではなく、 DOMツリーなどの抽象的■論理的な構造において動作す る。 X p a t hを使用することにより、 例えば XM L文書の DOMツリー内 の階層的構造を通じて場所を指定することができる。 ァドレシングのための 使用の他に、 X p a t hは、 DOMツリー中のノードがパターンにマッチす るか否かをテストするために使用されるようにも設計されている。 XP a t hに関する更なる詳細は、 http: //www. w3. org/TR/xpathで得ることができる [0055] XM Lの既知の利点及び特徴により、 マークアップ言語 (例えば X ML) で記述された文書を扱うことができ、 文書を作成及び修正するためのユーザ フレンドリーなインタフェイスを提供することができる、 効果的な文書処理 システムが求められる。 [0054] X path provides common syntax and semantics for specifying the location of parts of an XML document. An example of functionality is traversing the DOM tree corresponding to an XML document. It provides basic functions for manipulating strings, numbers, and Boolean characters associated with various representations of XML documents. X path is the syntax of the appearance of an XML document, for example, the grammar and the abstract syntax such as the DOM tree, not the grammar of what line or number of characters when viewed as a text string. It works in any structure. By using X path, the location can be specified through a hierarchical structure in the DOM tree of the XML document, for example. In addition to its use for addressing, X path is also designed to be used to test whether a node in the DOM tree matches the pattern. More details about XP ath can be found at http: // www. W3. Org / TR / xpath [0055] The known advantages and features of XML can handle documents written in a markup language (eg XML) and provide a user-friendly interface for creating and modifying documents. An effective document processing system is needed.
[0056] ここで説明されるシステムの構成のうちのいくつかは、 MVC (Model -Vie w-Control ler) と呼ばれる、 よく矢卩られた GU I (Graphical User Interfac e) パラダイムを用いて説明される。 MVCパラダイムは、 アプリケーション 又はアプリケーションのインタフェイスの一部を、 3つの部分、 すなわち、 モデル、 ビュー、 コントローラに分割する。 MVCは、 元は、 GU Iの世界 に、 従来の入力、 処理、 出力の役割を割り当てるために開発された。  [0056] Some of the system configurations described here are described using the well-known GU I (Graphical User Interface) paradigm called Model-View-Control ler (MVC). The The MVC paradigm divides an application or part of an application interface into three parts: a model, a view, and a controller. MVC was originally developed to assign traditional input, processing, and output roles to the GU I world.
[入力] → [処理] → [出力]  [Input] → [Process] → [Output]
[コントローラ] → [モデル] → [ビュー]  [Controller] → [Model] → [View]
[0057] MVCパラダイムによれば、 外界のモデリング、 ユーザへの視覚的なフィ —ドバック、 及びユーザの入力は、 モデル (M) 、 ビュー (V) 、 及びコン トロ一ラ (C) オブジェク トにより分離されて扱われる。 コントローラは、 ユーザからのマウスとキ _ポ_ド入力のような入力を解釈し、 これらのユー ザアクションを、 適切な変更をもたらすためにモデル及び/又はビューに送 られるコマンドにマップするように作用する。 モデルは、 1以上のデータ要 素を管理するように作用し、 その状態に関するクエリに応答し、 状態を変更 する指示に応答する。 ビューは、 ディスプレイの長方形の領域を管理するよ うに作用し、 グラフィクスとテキス卜の組合せによりユーザにデータを提示 する機能を有する。  [0057] According to the MVC paradigm, external modeling, visual feedback to the user, and user input are handled by model (M), view (V), and controller (C) objects. Treated separately. The controller interprets input such as mouse and keyboard input from the user and maps these user actions to commands sent to the model and / or view to bring about appropriate changes. Works. The model acts to manage one or more data elements, responds to queries about that state, and responds to instructions that change the state. The view acts to manage the rectangular area of the display and has the function of presenting data to the user through a combination of graphics and text.
[0058] B. 文書処理システムの全体構成  [0058] B. Overall Configuration of Document Processing System
文書処理システムの実施例は、 図 1 1 _29に関連して明らかにされる。  An example of a document processing system will be clarified with reference to FIG.
[0059] 図 1 1 (a) は、 後述するタイプの文書処理システムの基礎として機能す る要素の従来の構成例を示す。 構成 1 0は、 通信経路 1 3によりメモリ 1 2 に接続された CPU又はマイクロプロセッサ 1 1などの形式のプロセッサを 含む。 メモリ 1 2は、 現在又は将来に利用可能な任意の ROM及び/又は R A Mの形式であってもよい。 通信経路 1 3は、 典型的にはバスとして設けら れる。 マウス、 キーボード、 音声認識システムなどのユーザ入力装置 1 4及 び表示装置 1 5 (又は他のュ一ザインタフェイス) に対する入出力インタフ ェイス 1 6も、 プロセッサ 1 1 とメモリ 1 2の通信のためのバスに接続され る。 この構成は、 スタンドアロンであってもよいし、 複数の端末及び 1以上 のサーバが接続されてネットワーク化された形式であってもよいし、 既知の いかなる方式により構成されてもよい。 本発明は、 これらのコンポーネント の配置、 集中又は分散されたアーキテクチャ一、 あるいは様々なコンポ一ネ ン卜の通信方法により制限されない。 [0059] Fig. 11 (a) shows a conventional configuration example of elements that function as the basis of a document processing system of the type described later. Configuration 10 includes a processor of the type such as a CPU or microprocessor 11 connected to memory 12 by communication path 13. Memory 1 2 can be any ROM and / or R available now or in the future It may be in AM format. The communication path 13 is typically provided as a bus. An input / output interface 1 6 to user input devices 14 and display devices 15 (or other user interfaces) such as a mouse, keyboard, voice recognition system, etc. is also provided for communication between the processor 1 1 and the memory 1 2. Connected to the bus. This configuration may be a stand-alone, a networked form in which a plurality of terminals and one or more servers are connected, or may be configured by any known method. The present invention is not limited by the arrangement of these components, the centralized or distributed architecture, or the communication methods of the various components.
[0060] さらに、 本システム及びここで議論される実施例は、 様々な機能性を提供 するいくつかのコンポ一ネント及びサブコンポ一ネントを含むものとして議 論される。 これらのコンポーネント及びサブコンポーネントは、 注目された 機能性を提供するために、 ハードウェアとソフトウエアの組合せだけでなく 、 ハ一ドウヱァのみ、 ソフトゥヱァのみによっても実現されうる。 さらに、 ハードウェア、 ソフトウェア、 及びそれらの組合せは、 汎用の計算装置、 専 用のハードウェア、 又はそれらの組合せにより実現されうる。 したがって、 コンポ一ネント又はサブコンポ一ネン卜の構成は、 コンポ一ネント又はサブ コンポ一ネン卜の機能性を提供するための特定のソフトウエアを実行する汎 用/専用の計算装置を含む。 [0060] Further, the present system and the embodiments discussed herein are discussed as including several components and sub-components that provide various functionalities. These components and sub-components can be realized not only by a combination of hardware and software, but also by hardware alone or software alone to provide the noted functionality. Furthermore, the hardware, software, and combinations thereof can be realized by general-purpose computing devices, dedicated hardware, or combinations thereof. Thus, the configuration of a component or subcomponent includes a general purpose / dedicated computing device that executes specific software to provide the functionality of the component or subcomponent.
[0061 ] 図 1 1 ( b ) は、 文書処理システムの一例の全体のブロック図を示す。 こ のような文書処理システムにおいて文書が生成され編集される。 これらの文 書は、 例えば X M Lなど、 マークアップ言語の特徴を有する任意の言語によ り記述されてもよい。 また、 便宜上、 特定のコンポーネント及びサブコンポ —ネン卜の用語及び表題を創造した。 しかしながら、 これらは、 この開示の 一般的な教示の範囲を制限するために解釈されるべきではない。  [0061] FIG. 11 (b) shows an overall block diagram of an example of a document processing system. A document is generated and edited in such a document processing system. These documents may be written in any language that has the characteristics of a markup language, such as XML. For convenience, the terminology and titles of specific components and subcomponents were created. However, these should not be construed to limit the scope of the general teachings of this disclosure.
[0062] 文書処理システムは、 2つの基本的な構成を有するものととらえることが できる。 第 1の構成は、 文書処理システムが動作する環境である 「実行環境 」 1 0 1である。 例えば、 実行環境は、 文書の処理中及び管理中に、 ユーザ だけでなくシステムも支援する、 基本的なユーティリティ及び機能を提供す る。 第 2の構成は、 実行環境において走るアプリケーションから構成される 「アプリケーション」 1 0 2である。 これらのアプリケーションは、 文書自 身及び文書の様々な表現を含む。 [0062] The document processing system can be regarded as having two basic configurations. The first configuration is an “execution environment” 1 0 1 which is an environment in which the document processing system operates. For example, the execution environment can be a user during document processing and management. Provides basic utilities and functions that support not only the system. The second configuration is an “application” 1 0 2 composed of applications running in the execution environment. These applications include the document itself and various representations of the document.
[0063] 1 . 実行環境  [0063] 1. Execution environment
実行環境 1 0 1のキ一となるコンポ一ネントは Program l nvoker (プログラ ムインポ一力 : プログラム起動部) 1 0 3である。 Program l nvoker 1 0 3は 、 文書処理システムを起動するためにアクセスされる基本的なプログラムで ある。 例えば、 ユーザが文書処理システムにログオンして開始するとき、 Pro gram l nvoker 1 0 3力《実行される。 Program l nvoker 1 0 3は、 例えば、 文書処 理システムにプラグインとして加えられた機能を読み出して実行させたり、 アプリケーションを開始して実行させたり、 文書に関連するプロパティを読 み出すことができる。 Program l nvoker 1 0 3の機能はこれらに限定されない 。 ユーザが実行環境内で実行されるように意図されたアプリケーションを起 動したいとき、 Program l nvoker 1 0 3は、 そのアプリケーションを見つけ、 それを起動して、 アプリケーションを実行する。  The key component of the execution environment 10 1 is Program lvoker (program launcher: program starter) 1 0 3. Program lvoker 1 0 3 is a basic program accessed to start the document processing system. For example, when a user logs on to a document processing system and starts, Program l nvoker 1 0 3 force is executed. Program l nvoker 1 0 3 can, for example, read and execute functions added as plug-ins to the document processing system, start and execute applications, and read properties related to documents . The functions of Program l nvoker 1 0 3 are not limited to these. When a user wants to launch an application that is intended to run in the execution environment, Program lvoker 1 0 3 finds the application, launches it, and executes the application.
[0064] Program l nvoker 1 0 3には、 プラグインサブシステム 1 0 4、 コマンドサ ブシステム 1 0 5、 及び Resource (リソース) モジュール 1 0 9などのいく つかのコンポーネントがアタッチされている。 これらの構成については、 以 下に詳述する。  [0064] Several components such as a plug-in subsystem 1 0 4, a command subsystem 1 0 5, and a resource module 10 9 are attached to Program lvoker 10 3. These configurations are described in detail below.
[0065] a ) プラグインサブシステム  [0065] a) Plug-in subsystem
プラグインサブシステム 1 0 4は、 文書処理システムに機能を追加するた めの高度に柔軟で効率的な構成として使用される。 プラグインサブシステム 1 0 4は、 また、 文書処理システムに存在する機能を修正又は削除するため に使用することができる。 さらに、 種々様々の機能をプラグインサブシステ ムを使用して追加又は修正することができる。 例えば、 画面上への文書の描 画を支援するように作用する Ed i t l et (エディットレット :編集部) 機能を追 加することもできる。 Ed i t l etプラグインは、 システムに追加されるポキヤブ ラリの編集も支援する。 The plug-in subsystem 1 0 4 is used as a highly flexible and efficient configuration for adding functionality to a document processing system. The plug-in subsystem 10 4 can also be used to modify or delete functions that exist in the document processing system. In addition, a wide variety of functions can be added or modified using the plug-in subsystem. For example, it is possible to add an Ed itl et (editlet) function that helps to draw a document on the screen. Ed itl et plug-in is added to the system It also supports editing of lari.
[0066] プラグインサブシステム 1 04は、 ServiceBroker (サービスブローカ :サ —ビス仲介部) 1 041を含む。 ServiceBroker 1 041は、 文書処理システ ムに加えられるプラグインを管理することにより、 文書処理システムに加え られるサービスを仲介する。  [0066] The plug-in subsystem 104 includes a Service Broker (service broker) 1041. ServiceBroker 1 041 mediates services added to the document processing system by managing plug-ins added to the document processing system.
[0067] 所望の機能性を実現する個々の機能は、 Service (サービス) 1 042の形 でシステムに追加される。 利用可能な Service 1 042のタイプは、 Appl icat ion (アプリケーション) サービス、 ZoneFactory (ゾーンファク トリ : ゾ一 ン生成部) Service, Editlet (エディツトレット :編集部) Service, Comma n dFactory (コマンドファク トリ : コマンド生成部) Service、 ConnectXPath ( コネク ト XP a t h : XP a t h管理部) Service、 CSSComputat i on (CS S コンビュ一テ一シヨン: CS S計算部) Serviceなどを含むが、 これらに限定 されない。 これらの Service、 及びシステムの他の構成とそれらとの関係は、 文書処理システムについてのよりよい理解のために、 以下に詳述される。  [0067] Individual functions that achieve the desired functionality are added to the system in the form of Service 1042. Available types of Service 1042 are: Application service, ZoneFactory (zone factory: zone generator) Service, Editlet (editlet: editor) Service, Comma dFactory (command factory) : Command generation part) Service, ConnectXPath (Connect XP ath: XP ath management part) Service, CSS Computation (CSS calculation part: CSS calculation part) Service, etc., but not limited to these. These services and other configurations of the system and their relationship are detailed below for a better understanding of the document processing system.
[0068] プラグインと Serviceの関係は以下の通りである。 プラグインは、 1以上の ServiceProvider (サービスプロバイダ:サービス提供部) を含むことができ るュニットである。 それぞれの ServiceProviderは、 それに関連した Service の 1以上のクラスを有する。 例えば、 適切なソフトウェアアプリケーション を有する単一のプラグインを使用することにより、 1以上の Serviceをシステ ムに追加することができ、 これにより、 対応する機能をシステムに追加する ことができる。  [0068] The relationship between the plug-in and the service is as follows. A plug-in is a unit that can contain one or more ServiceProviders. Each ServiceProvider has one or more classes of Service associated with it. For example, by using a single plug-in with the appropriate software application, one or more services can be added to the system, thereby adding the corresponding functionality to the system.
[0069] b) コマンドサブシステム  [0069] b) Command subsystem
コマンドサブシステム 1 05は、 文書の処理に関連したコマンドの形式の 命令を実行するために使用される。 ユーザは、 一連の命令を実行することに より、 文書に対する操作を実行することができる。 例えば、 ユーザは、 コマ ンドの形で命令を発行することにより、 文書処理システム中の XM L文書に 対応する XM Lの DOMツリーを編集し、 XML文書を処理する。 これらの コマンドは、 キ一ストローク、 マウスクリック、 又は他の有効なュ一ザイン タフェイスアクションを使用して入力されてもよい。 1つのコマンドにより 1以上の命令が実行されることもある。 この場合、 これらの命令が 1つのコ マンドにラップ (包含) され、 連続して実行される。 例えば、 ユーザが、 誤 つた単語を正しい単語に置換したいとする。 この場合、 第 1の命令は、 文書 中の誤った単語を発見することであり、 第 2の命令は、 誤った単語を削除す ることであり、 第 3の命令は、 正しい単語を挿入することであってもよい。 これらの 3つの命令が 1つのコマンドにラップされてもよい。 Command subsystem 105 is used to execute commands in the form of commands related to document processing. A user can execute an operation on a document by executing a series of instructions. For example, a user edits an XML DOM tree corresponding to an XML document in a document processing system by issuing an instruction in the form of a command, and processes an XML document. These commands can be used for keystrokes, mouse clicks, or other valid user designs. It may be entered using a interface action. One command may execute more than one instruction. In this case, these instructions are wrapped (contained) in one command and executed in succession. For example, a user wants to replace a wrong word with a correct word. In this case, the first instruction is to find the wrong word in the document, the second instruction is to delete the wrong word, and the third instruction is to insert the correct word It may be. These three instructions may be wrapped in one command.
[0070] コマンドは、 関連した機能、 例えば、 後で詳述する 「アンドゥ」 機能を有 してもよい。 これらの機能は、 オブジェク トを生成するために使用されるい <つかの基本クラスにも割り当てられてもよい。  [0070] The command may have an associated function, for example, an “undo” function, described in detail below. These functions may also be assigned to any base class that is used to create objects.
[0071] コマンドサブシステム 1 05のキ一となるコンポーネントは、 選択的にコ マンドを与え、 実行するように作用する Gommandlnvoker (コマンドインポ一 力 : コマンド起動部) 1 05 1である。 図 1 1 (b) には、 1つの Gommandln vokerのみが示されているが、 1以上の Go國 andlnvokerが使用されてもよく、 1以上のコマンドが同時に実行されてもよい。 Gommandlnvoker 1 05 1は、 コマンドを実行するために必要な機能及びクラスを保持する。 動作において 、 実行されるべき Command (コマンド:命令) 1 052は、 Queue (キュー) 1 053に積まれる。 Gommandlnvokerは、 連続的に実行するコマンドスレツ ドを生成する。 Commandlnvoker内で既に実行中の Commandがなければ、 Comma n dlnvoker 1 05 1により実行されるように意図された Go國 and 1 052が実行 される。 Gommandlnvokerが既にコマンドを実行している場合、 新しし、 Command は、 Queue 1 053の最後に積まれる。 し力、しな力《ら、 それぞれの Command Inv oker 1 05 1では、 一度に 1つの Commandのみが実行される。 指定された Gomm andの実行に失敗した場合、 Go國 andlnvoker 1 05 1は例外処理を実行する。  [0071] The key component of the command subsystem 1 05 is Gommandlnvoker (command launcher: command starter) 1 05 1 which selectively gives commands and acts to execute them. Although only one Gommandln voker is shown in Fig. 11 (b), one or more Go countries and lnvoker may be used, and one or more commands may be executed simultaneously. Gommandlnvoker 1 05 1 retains the functions and classes necessary to execute commands. In operation, the Command 1 052 to be executed is loaded into the Queue 1 053. Gommandlnvoker generates a command thread that runs continuously. If there is no Command already running in Commandlnvoker, Go Country and 1 052 intended to be executed by Comma nlnvoker 1 05 1 are executed. If Gommandlnvoker is already executing a command, a new Command will be stacked at the end of Queue 1 053. In each command invoker 1 05 1, only one command is executed at a time. If execution of the specified Gomm and fails, Go country andlnvoker 1 05 1 executes exception handling.
[0072] Commandlnvoker 1 05 1により実行される Commandの型は、 Undoab I eComman d (取消可能コマンド) 1 054、 AsynchronousCommand (非同期コマンド) 1 055、 及び VGGo國 and (VCコマンド) 1 056を含むが、 これらに限定 されない。 Undoab I eCommand 1 054は、 ユーザが望めば、 その Commandの結 果を取り消すことが可能な Go國 andである。 UndoableGo國 andの例として、 切 り取り、 コピー、 テキストの挿入、 などがある。 動作において、 ユーザが文 書の一部を選択し、 その部分に切り取りコマンドを適用するとき、 UndoableG 0國 andを用いることにより、 切り取られた部分は、 必要であれば、 「切り取 られていない」 ようにすることができる。 [0072] Command types executed by Commandlnvoker 1 05 1 include Undoab I eCommand (cancellation command) 1 054, AsynchronousCommand (asynchronous command) 1 055, and VGGo country and (VC command) 1 056, It is not limited to these. Undoab I eCommand 1 054 is the result of the command if the user wants it. It is a Go country and can cancel the fruit. Examples of UndoableGo country and include cutting, copying, and inserting text. In operation, when a user selects a portion of a document and applies a cut command to that portion, the cut portion is “not cut” if necessary, using UndoableG 0 country and. Can be.
[0073] VGGo國 andl 056は、 ポキヤブラリコネクション記述子 (Vocabulary Con nection Descriptor: V C D) スクリプトファイルに格納される。 これらは 、 プログラマにより定義されうるュ一ザ指定の Commandである。 Commandは、 例えば、 XM Lフラグメントを追加したり、 XM Lフラグメントを削除した り、 属性を設定したりするための、 より抽象的な Go國 andの組合せであっても よい。 これらの Go國 andは、 特に、 文書の編集に焦点を合わせている。  [0073] The VGGo country andl 056 is stored in a Vocabulary Connection Descriptor (VCD) script file. These are user-specified commands that can be defined by the programmer. The Command may be a more abstract Go country and combination, for example, to add an XML fragment, delete an XML fragment, or set an attribute. These Go countries and are particularly focused on document editing.
[0074] AsynchronousCommand 1 055は、 文書の口一ドゃ保存など、 システムより の Commandであり、 UndoableGommandや VGGommandとは別に、 非同期的に実行さ れる。 AsynchronousCommandは、 UndoableGommandではなしゝので、 取り消すこ とはできない。  [0074] AsynchronousCommand 1 055 is a command from the system, such as saving a document, and is executed asynchronously separately from UndoableGommand and VGGommand. AsynchronousCommand cannot be undone because it is not possible with UndoableGommand.
[0075] c) リソース  [0075] c) Resources
Resource 1 09は、 様々なクラスに、 いくつかの機能を提供するオブジェ ク トである。 例えば、 ストリングリソース、 アイコン、 及びデフオルトキ一 バインドは、 システムで使用される Resourceの例である。  Resource 109 is an object that provides several functions to various classes. For example, string resources, icons, and default key bindings are examples of resources used in the system.
[0076] 2. アプリケーションコンポーネント  [0076] 2. Application components
文書処理システムの第 2の主要な特徴であるアプリケ一シヨンコンポ一ネ ント 1 02は、 実行環境 1 01において実行される。 アプリケーションコン ポ一ネント 1 02は、 実際の文書と、 システム内における文書の様々な論理 的、 物理的な表現を含む。 さらに、 アプリケーションコンポーネント 1 02 は、 文書を管理するために使用されるシステムの構成を含む。 アプリケ一シ ヨンコンポーネント 1 02は、 さらに、 UserAppl ication (ユーザアプリケ一 シヨン) 1 06、 アプリケーションコア 1 08、 ュ一ザインタフェイス 1 0 7、 及び GoreGomponent (コアコンポーネント) 1 1 0を含む。 [0077] a) ユーザアプリケーション The application component 102, which is the second main feature of the document processing system, is executed in the execution environment 101. Application component 1102 includes the actual document and various logical and physical representations of the document in the system. In addition, application component 102 includes the configuration of the system used to manage documents. The application component 102 further includes a user application (user application) 106, an application core 108, a user interface 107, and a GoreGomponent (core component) 110. [0077] a) User application
UserAppl ication 1 06は、 Programl nvoker 1 03と共にシステム上に口一 ドされる。 UserAppl ication 1 06は、 文書と、 文書の様々な表現と、 文書と 対話するために必要なユーザィンタフェイスとをつなぐ接着剤となる。 例え ば、 ユーザが、 プロジェク 卜の一部である文書のセットを生成したいとする 。 これらの文書がロードされると、 文書の適切な表現が生成される。 ユーザ インタフェイス機能は、 UserAppl ication 1 06の一部として追加される。 言 いかえれば、 UserAppl ication 1 06は、 ユーザがプロジェク 卜の一部を形成 する文書と対話することを可能とする文書の表現と、 文書の様々な態様とを 、 共に保持する。 一旦 UserAppl ication 1 06が生成されると、 ユーザがプロ ジェク 卜の一部を形成する文書との対話を望むたびに、 ユーザは簡単に実行 環境上に UserAppl ication 1 06を口一ドすることができる。  UserApplication 10 06 is entered on the system together with Program nvoker 1 03. UserApplication 106 is an adhesive that connects a document, various representations of the document, and the user interface required to interact with the document. For example, suppose a user wants to generate a set of documents that are part of a project. When these documents are loaded, an appropriate representation of the document is generated. User interface functions are added as part of UserApplication 106. In other words, UserApplication 106 holds both the representation of the document that allows the user to interact with the document that forms part of the project, and various aspects of the document. Once UserApplication 1 06 is generated, whenever a user wants to interact with a document that forms part of Project 卜, the user can easily sneak UserApplication 1 06 into the execution environment. it can.
[0078] b) コアコンポ一ネント  [0078] b) Core components
CoreComponent 1 1 0は、 複数の Pane (ペイン) の間で文書を共有する方法 を提供する。 後で詳述するように、 Paneは、 DOMツリーを表示し、 画面の 物理的なレイアウトを扱う。 例えば、 物理的な画面は、 個々の情報の断片を 描写する画面内の複数の Paneからなる。 ユーザから画面上に見える文書は、 CoreComponent 1 1 0 provides a way to share documents between multiple panes. As detailed later, Pane displays the DOM tree and handles the physical layout of the screen. For example, a physical screen consists of multiple panes in the screen that depict individual pieces of information. The document that the user sees on the screen is
1又はそれ以上の Paneに出現しうる。 また、 2つの異なる文書が画面上で 2 つの異なる Paneに現れてもよい。 Can appear in one or more panes. Also, two different documents may appear in two different panes on the screen.
[0079] 図 1 1 (c) に示されるように、 画面の物理的なレイアウトもツリーの形 式になっている。 Paneは、 RootPane (ルートペイン) 1 084にもなり得る し、 SubPane (サブペイン) 1 085にもなり得る。 RootPane 1 084は、 Pa neのツリーの根に当たる Paneであり、 SubPane 1 085は、 RootPane 1 084 以外の任意の Paneである。  [0079] As shown in Figure 11 (c), the physical layout of the screen is also in the form of a tree. Pane can be RootPane 1 084 or SubPane 1 085. RootPane 1 084 is a Pane that hits the root of the pane tree, and SubPane 1 085 is an arbitrary Pane other than RootPane 1 084.
[0080] CoreComponent 1 1 0は、 さらに、 フォントを提供し、 ツールキットなど、 文書のための複数の機能的な操作のソースの役割を果たす。 CoreComponent 1 1 0により実行されるタスクの一例に、 複数の Pane間におけるマウス力一ソ ルの移動がある。 実行されるタスクの他の例として、 ある Pane中の文書の一 部をマークし、 それを異なる文書を含む別の Pane上にコピーする。 [0080] CoreComponent 1 1 0 also provides fonts and serves as a source of multiple functional operations for documents, such as toolkits. One example of a task performed by CoreComponent 1 1 0 is the movement of a mouse force between multiple panes. Another example of a task to be performed is one of the documents in a Pane Mark a part and copy it onto another Pane containing a different document.
[0081 ] c ) アプリケーションコア [0081] c) Application Core
上述したように、 アプリケーションコンポーネント 1 0 2は、 システムに より処理され管理される文書から構成される。 これは、 システム内における 文書の様々な論理的及び物理的な表現を含む。 アプリケーションコア 1 0 8 は、 アプリケーションコンポーネント 1 0 2の構成である。 その機能は、 実 際の文書を、 それに含まれる全てのデータとともに保持することである。 ァ プリケ一シヨンコア 1 0 8は、 DocumentManager (ドキュメントマネージャ : 文書管理部) 1 0 8 1及び Document (ドキュメント :文書) 1 0 8 2自身を 含む。  As described above, the application component 1 0 2 is composed of documents that are processed and managed by the system. This includes various logical and physical representations of documents within the system. The application core 1 0 8 is a configuration of the application component 1 0 2. Its function is to keep the actual document with all the data it contains. The application core 1 0 8 includes DocumentManager (document manager: document management unit) 1 0 8 1 and Document (document: document) 1 0 8 2 itself.
[0082] DocumentManager 1 0 8 1の様々な態様を以下に詳述する。 DocumentManage r 1 0 8 1は、 Document 1 0 8 2を管理する。 DocumentManager 1 0 8 1は、 R ootPane 1 0 8 4、 SubPane 1 0 8 5、 C I i pBoard (クリップポ一ド) ュ一ティ リティ 1 0 8 7、 及び Snapshot (スナップショット) ュ一ティリティ 1 0 8 8にも接続される。 G l i pBoardュ一ティリティ 1 0 8 7は、 ユーザがクリップ ポードに加えることを決定した文書の部分を保持する方法を提供する。 例え ば、 ユーザが、 文書の一部を切り取り、 後で再考するために新規文書にそれ を保存することを望んだとする。 このような場合、 切り取られた部分が G l i pB oardに追加される。  [0082] Various aspects of DocumentManager 1 0 8 1 are described in detail below. DocumentManager 1 0 8 1 manages Document 1 0 8 2. DocumentManager 1 0 8 1 is RootPane 1 0 8 4, SubPane 1 0 8 5, CI ipBoard (Clip Port) Utility 1 0 8 7, and Snapshot (Snapshot) Utility 1 0 8 8 Also connected to. The G i pBoard utility 1 0 8 7 provides a way to preserve the portion of the document that the user has decided to add to the clip pod. For example, suppose a user wants to cut a part of a document and save it in a new document for later review. In such a case, the clipped part is added to the G i pBoard.
[0083] つづいて、 Snapshotュ一ティリティ 1 0 8 8についても説明する。 SnapSho tユーティリティ 1 0 8 8は、 アプリケーションがある状態から別の状態まで 移行するときに、 アブリケーションの現在の状態を記憶することを可能とす る。  [0083] Next, the Snapshot utility 1 0 8 8 will also be described. The SnapShort utility 1 0 8 8 makes it possible to remember the current state of an application as it transitions from one state to another.
[0084] d ) ュ一ザインタフェイス  [0084] d) User interface
アプリケーションコンポ一ネント 1 0 2の別の構成は、 ユーザがシステム と物理的に対話する手段を提供するユーザインタフェイス 1 0 7である。 例 えば、 ユーザインタフェイスは、 ユーザが文書をアップロードしたり、 削除 したり、 編集したり、 管理したりするために使用される。 ユーザインタフエ イスは、 Frame (フレーム) 1 07 1、 MenuBar (メニューバ一) 1 072、 S tatusBar (ステータスバ一) 1 073、 及び URLBar (URLバ一) 1 074 を含む。 Another configuration of application components 1 0 2 is a user interface 1 0 7 that provides a means for users to physically interact with the system. For example, the user interface is used by users to upload, delete, edit, and manage documents. User interface The chair includes Frame 1 07 1, MenuBar 1 072, StatusBar 1 073, and URLBar 1 074.
[0085] Frame 1 07 1は、 一般に知られているように、 物理的な画面のアクティブ な領域であるとみなされる。 MenuBar 1 072は、 ユーザに選択を提供するメ ニューを含む画面領域である。 StatusBarl 073は、 アプリケーションの実 行状態を表示する画面領域である。 URLBarl 074は、 インタ一ネットをナ ビゲー卜するために U R Lァドレスを入力する領域を提供する。  [0085] Frame 1 07 1 is considered to be an active area of the physical screen, as is generally known. MenuBar 1 072 is a screen area that contains menus that provide selection to the user. StatusBarl 073 is a screen area that displays the execution status of the application. URLBarl 074 provides an area for entering U R L address to navigate the Internet.
[0086] C. 文書管理及び関連するデータ構造  [0086] C. Document management and related data structures
図 1 2は、 DocumentManager 1 081の詳細を示す。 これは、 文書処理シス テム内で文書を表現するために用いられるデータ構造及び構成を含む。 分か りやすくするために、 このサブセクションで説明される構成は、 MVCパラ ダイムを用いて説明される。  FIG. 12 shows the details of DocumentManager 1 081. This includes the data structures and structures used to represent the document within the document processing system. For clarity, the configuration described in this subsection is described using the MVC paradigm.
[0087] DocumentManager 1 081は、 文書処理システム内にある全ての文書を保持 しホストする DocumentGontainer (ドキュメントコンテナ:文書コンテナ) 2 03を含む。 DocumentManager 1 081にァタツチされたツールキット 201 は、 DocumentManager 1 081により使用される様々なツールを提供する。 例 えば、 DomService (DOMサービス) は、 文書に対応する D OMを生成し、 保持し、 管理するために必要とされる全ての機能を提供するために、 ツール キット 201により提供されるツールである。 ツールキット 201により提 供される別のツールである lOManager (入出力管理部) は、 システムへの入力 及びシステムからの出力を管理する。 同様に、 StreamHandler (ストリームハ ンドラ) は、 ビットストリームによる文書のアップロードを扱うツールであ る。 これらのツールは、 図中に特に示さず、 参照番号を割り当てないが、 ッ —ルキット 201のコンポ一ネントを形成する。  [0087] DocumentManager 1 081 includes a DocumentGontainer (document container: document container) 203 that holds and hosts all the documents in the document processing system. A tool kit 201 that is matched to DocumentManager 1 081 provides various tools used by DocumentManager 1 081. For example, DomService (DOM service) is a tool provided by toolkit 201 to provide all the functionality needed to create, maintain and manage DOMs corresponding to documents. . Another tool provided by tool kit 201, lOManager (input / output manager) manages input to and output from the system. Similarly, StreamHandler (stream handler) is a tool that handles uploading documents by bitstream. These tools are not specifically shown in the figure and are not assigned a reference number, but form a component of the tool kit 201.
[0088] MVCパラダイムの表現によれば、 モデル (M) は、 文書の DOMツリー モデル 202を含む。 前述したように、 全ての文書は、 文書処理システムに おいて DOMツリーとして表現される。 文書は、 また、 DocumentGontainer 2 03の一部を形成する。 [0088] According to the representation of the MVC paradigm, model (M) includes a DOM tree model 202 of the document. As mentioned above, all documents are represented as DOM trees in the document processing system. The document is also DocumentGontainer 2 Form part of 03.
[0089] 1. DOMモデル及びゾーン  [0089] 1. DOM model and zones
文書を表現する DOMツリーは、 Node (ノード) 2021を有するツリー である。 DOMツリーの部分集合である Zone (ゾーン) 209は、 DOMッ リー内の 1以上の Nodeの関連領域を含む。 例えば、 画面上で文書の一部のみ を表示し得るが、 この可視化された文書の一部は Zone 209を用いて表示さ れる。 Zoneは、 ZoneFactory (ゾーンファク トリ : ゾーン生成部) 205と呼 ばれるプラグインを用いて、 生成され、 取り扱われ、 処理される。 Zoneは D OMの一部を表現するが、 1以上の 「名前空間」 を使用してもよい。 よく知 られているように、 名前空間は、 名前空間内でユニークな名前の集合である 。 換言すれば、 名前空間内に同じ名前は存在しない。  A DOM tree representing a document is a tree having Node 2021. Zone 209, which is a subset of the DOM tree, contains the associated area of one or more nodes in the DOM tree. For example, only a part of the document can be displayed on the screen, but this part of the visualized document is displayed using Zone 209. A Zone is created, handled, and processed using a plug-in called ZoneFactory (zone factory: zone creation unit) 205. Zone represents a part of DOM, but one or more “namespaces” may be used. As is well known, a namespace is a collection of names that are unique within a namespace. In other words, the same name does not exist in the namespace.
[0090] 2. Facet及び Facetと Zoneとの関係  [0090] 2. Relationship between Facet and Facet and Zone
Facet (ファセット) 2022は、 MVCパラダイムのモデル (M) 部分内 の別の構成である。 Facetは、 Zoneにおいて Nodeを編集するために使用される 。 Facet2022は、 Zone自身の内容に影響を与えずに実行することができる 手続 (プロシージャ) を使用して、 DOMへのアクセスを編成する。 次に説 明するように、 これらの手続は、 Nodeに関連した重要で有用な操作を実行す る。  Facet 2022 is another configuration within the model (M) part of the MVC paradigm. Facet is used to edit Nodes in the Zone. Facet2022 organizes access to the DOM using procedures that can be executed without affecting the contents of the Zone itself. As explained below, these procedures perform important and useful operations related to Node.
[0091] 各 Nodeは、 対応する Facetを有する。 D O Mの中の Nodeを直接操作する代わ りに、 操作を実行するために Facetを使用することによって、 DOMの保全性 は保護される。 操作が Node上で直接実行される場合、 いくつかのプラグイン が DOMを同時に変更することができ、 その結果矛盾を引き起こす。  [0091] Each Node has a corresponding Facet. Instead of directly manipulating Nodes in D O M, DOM integrity is protected by using Facet to perform operations. If the operation is performed directly on Node, several plugins can modify the DOM at the same time, resulting in inconsistencies.
[0092] W3 Cが策定した DOMの標準規格は、 Nodeを操作するための標準的なィ ンタフェイスを定義するが、 実際には、 ポキヤブラリごと又は Nodeごとに特 有の操作があるので、 これらの操作を AP I として用意しておくのが好都合 である。 文書処理システムでは、 このような各 Nodeに特有の A P Iを Facetと して用意し、 各 Nodeにアタッチする。 これにより、 DOMの標準規格に準拠 しつつ、 有用な AP Iを付加することができる。 また、 ポキヤブラリごとに 特有の DOMを実装するのではなく、 標準的な DO Mの実装に、 後から特有 の AP Iを付加するようにすることで、 多様なポキヤブラリを統一的に処理 することができるともに、 複数のポキャプラリが任意の組合せで混在した文 書を適切に処理することができる。 [0092] The DOM standard established by the W3 C defines a standard interface for operating Nodes, but in fact, there are operations specific to each POD library or Node. It is convenient to prepare this operation as API. In the document processing system, APIs specific to each node are prepared as Facet and attached to each node. This makes it possible to add useful APIs while complying with the DOM standard. In addition, every pokébra Rather than implementing a specific DOM, by adding a specific API to the standard DOM implementation later, it is possible to handle various poker libraries in a unified manner. Documents with mixed vocabulary in any combination can be processed appropriately.
[0093] ポキヤブラリは、 名前空間に属するタグ (例えば XMLのタグ) のセット である。 上述したように、 名前空間は、 ユニークな名前 (ここではタグ) の セットを有する。 ポキヤブラリは、 XM L文書を表現する DOMツリーのサ ブツリーとして現れる。 このサブツリーは Zoneを含む。 特定の例においては 、 タグセットの境界は Zoneによって定義される。 Zone209は、 ZoneFactory 205と呼ばれる Serviceを利用して生成される。 上述したように、 Zone 20 9は、 文書を表現する DOMツリーの一部の内部表現である。 このような文 書の一部へのアクセスを提供するために、 論理的な表現が要求される。 この 論理的表現は、 文書が画面上で論理的にどのように表現されるかについてコ ンピュータに通知する。 Canvas (キャンバス) 21 0は、 Zoneに対応する論 理的なレイァゥトを提供するように作用する Serviceである。  [0093] A Poch Library is a set of tags (for example, XML tags) belonging to a namespace. As mentioned above, a namespace has a set of unique names (here tags). A poch library appears as a subtree of the DOM tree that represents an XML document. This subtree contains Zones. In a specific example, the tag set boundary is defined by the Zone. Zone 209 is generated using a service called ZoneFactory 205. As mentioned above, Zone 209 is an internal representation of part of the DOM tree that represents the document. A logical representation is required to provide access to some of these documents. This logical representation informs the computer how the document is logically represented on the screen. Canvas 210 is a service that acts to provide a logical layout corresponding to the Zone.
[0094] 他方、 Pane 21 1は、 Canvas 21 0により提供される論理的なレイァゥト に対応する物理的な画面レイアウトである。 実際、 ユーザは表示画面上で文 字や画像によって文書のレンダリングのみを見る。 したがって、 文書は、 画 面上に文字や画像を描画するプロセスにより、 画面上に描写されなければな らない。 文書は、 Pane21 1により提供される物理的なレイアウトに基づい て、 Canvas 21 0により画面上に描写される。  On the other hand, the Pane 21 1 is a physical screen layout corresponding to the logical layout provided by the Canvas 210. In fact, the user sees only the rendering of the document with text and images on the display screen. Therefore, the document must be rendered on the screen by the process of drawing characters and images on the screen. The document is drawn on the screen by Canvas 210 based on the physical layout provided by Pane 21 1.
[0095] Zone209に対応する Ganvas21 0は、 Editlet206を使用して生成され る。 文書の DOMは、 Editlet206及び Ganvas21 0を使用して編集される 。 元の文書の完全性を維持するために、 Editlet206及び Ganvas21 0は、 Zone 209における 1以上の Nodeに対応する Facetを使用する。 これらの Serv iceは、 Zone及び D OM内の Nodeを直接操作しない。 Facetは、 Gommand207 を利用して操作される。  [0095] Ganvas 210 corresponding to Zone 209 is generated using Editlet 206. The DOM of the document is edited using Editlet 206 and Ganvas 210. In order to maintain the integrity of the original document, Editlet 206 and Ganvas 210 use Facet corresponding to one or more Nodes in Zone 209. These services do not directly operate the nodes in the Zone and DOM. Facet is operated using Gommand207.
[0096] ユーザは、 一般に、 画面上のカーソルを移動させたり、 コマンドをタイプ したりすることによって、 画面と対話する。 画面上の論理的なレイアウトを 提供する Canvas 2 1 0は、 この力一ソル操作を受け付ける。 Canvas 2 1 0は 、 対応するアクションを Facetに実行させることができる。 この関係により、 力一ソルサブシステム 2 0 4は、 DocumentManager 1 0 8 1に対して、 M V C パラダイムのコントローラ (C ) として機能する。 Ganvas 2 1 0は、 ィベン トを扱うタスクも有する。 例えば、 Canvas 2 1 0は、 マウスクリック、 フォ —カス移動、 及びユーザにより起こされた同様のアクションなどのィベント を扱う。 [0096] The user generally moves the cursor on the screen or types a command To interact with the screen. Canvas 2 10 which provides a logical layout on the screen accepts this powerful operation. Canvas 2 1 0 allows Facet to execute the corresponding action. Due to this relationship, the Kichiichi Sol Subsystem 20 4 functions as a controller (C) of the MVC paradigm for DocumentManager 1 0 8 1. Ganvas 2 1 0 also has a task to handle events. For example, Canvas 2 1 0 handles events such as mouse clicks, focus movements, and similar actions triggered by the user.
[0097] 3 . Zone, Facet, Canvas及び Paneの間の関係の概要  [0097] 3. Overview of the relationship between Zone, Facet, Canvas and Pane
文書処理システム内の文書は、 少なくとも 4つの観点から見ることができ る。 すなわち、 1 ) 文書処理システムにおいて文書の内容及び構造を保持す るために用いられるデータ構造、 2 ) 文書の保全性に影響を与えずに文書の 内容を編集する手段、 3 ) 文書の画面上の論理的なレイアウト、 4 ) 文書の 画面上の物理的なレイアウト、 である。 Zone、 Facet, Canvas及び Paneは、 前 述の 4つの観点に相当する、 文書処理システムのコンポ一ネントをそれぞれ 表す。  Documents in a document processing system can be viewed from at least four perspectives. 1) the data structure used to maintain the content and structure of the document in the document processing system, 2) a means for editing the content of the document without affecting the integrity of the document, 3) on the screen of the document 4) The physical layout of the document on the screen. Zone, Facet, Canvas, and Pane represent the components of the document processing system that correspond to the above four viewpoints.
[0098] 4 . アンドゥサブシステム  [0098] 4. Undo subsystem
上述したように、 文書に対するいかなる変更 (例えば編集) も取消可能で あることが望ましい。 例えば、 ユーザが編集操作を実行し、 次に、 その変更 の取消を決定したとする。 図 1 2に関連して、 アンドゥサブシステム 2 1 2 は、 文書管理部の取消可能なコンポーネントを実現する。 UndoManager (アン ドウマネージャ : アンドウ管理部) 2 1 2 1は、 ユーザによって取り消され る可能性のある全ての文書に対する操作を保持する。  As mentioned above, it is desirable to be able to undo any changes to the document (eg editing). For example, assume that the user performs an edit operation and then decides to cancel the change. In connection with Figure 12 the undo subsystem 2 1 2 implements a revocable component of the document management department. UndoManager (Undo Manager) 2 1 2 1 holds operations on all documents that may be canceled by the user.
[0099] 例えば、 ユーザが、 文書中の単語を別の単語に置換するコマンドを実行し たとする。 その後、 ユーザは考え直し、 元の単語に戻すことを決定したとす る。 アンドゥサブシステム 2 1 2は、 このような操作を支援する。 UndoManag er 2 1 2 1は、 このような Undoab l eEd i t (アンドゥアプルエディツト :取消 可能な編集) 2 1 2 2の操作を保持する。 [0100] 5. 力一ソルサブシステム [0099] For example, it is assumed that a user executes a command for replacing a word in a document with another word. The user then thinks again and decides to change back to the original word. The undo subsystem 2 1 2 supports such operations. UndoManager 2 1 2 1 holds the operation of UndoableEdit (Undoable Edit: Undoable Edit) 2 1 2 2. [0100] 5. Rikiichi Sol Subsystem
前述したように、 MVCのコントローラ部分は、 力一ソルサブシステム 2 04を備えてもよい。 力一ソルサブシステム 204は、 ユーザから入力を受 け付ける。 これらの入力は、 一般にコマンド及び/又は編集操作の性格を有 している。 したがって、 力一ソルサブシステム 204は、 DocumentManager 1 081に関連した MVCパラダイムのコントローラ (C) 部分であると考え ることができる。  As described above, the controller portion of the MVC may include a force-sol subsystem 204. The Rikiichi Sol Subsystem 204 accepts input from the user. These inputs generally have the character of commands and / or editing operations. Therefore, the Rikiichi Sol Subsystem 204 can be considered as the controller (C) part of the MVC paradigm related to DocumentManager 1 081.
[0101] 6. ビュー  [0101] 6. View
前述したように、 Canvas 21 0は、 画面上に提示されるべき文書の論理的 なレイアウトを表す。 XHTML文書の例では、 Ganvas21 0は、 文書が画 面上でいかに見えるかを論理的に表現したボックスツリー 208を含んでも よい。 このボックスツリー 208は、 DocumentManager 1 081に関連した M VCパラダイムのビュー (V) 部分に含まれよう。  As described above, Canvas 210 represents the logical layout of the document to be presented on the screen. In the example of an XHTML document, Ganvas 210 may include a box tree 208 that logically represents how the document looks on the screen. This box tree 208 will be included in the view (V) portion of the MVC paradigm associated with DocumentManager 1 081.
[0102] D. ポキヤブラリコネクション  [0102] D. Pockabra Connection
文書処理システムの重要な特徴は、 X ML文書を、 他の表現にマップして 取り扱うことが可能で、 かつ、 マップした先の表現を編集すると、 その編集 が元の X ML文書に整合性を保ちつつ反映される環境を提供することにある  An important feature of the document processing system is that XML documents can be handled by mapping them to other representations, and if the mapped destination representation is edited, the editing is consistent with the original XML document. To provide an environment that is reflected while maintaining
[0103] マークアップ言語により記述された文書、 例えば XM L文書は、 文書型定 義により定義されたポキヤブラリに基づいて作成されている。 ポキヤブラリ は、 タグのセットである。 ポキヤブラリは、 任意に定義されてもよいため、 無限に多くのポキヤブラリが存在しうる。 しかしながら、 多数の可能なポキ ャブラリのそれぞれに対して専用の処理/管理環境を提供するのは現実的で はない。 ポキヤブラリコネクションは、 この問題を解決する方法を提供する [0103] A document described in a markup language, for example, an XML document, is created based on a library defined by a document type definition. A Pokéebra is a set of tags. Since a pocabulary may be arbitrarily defined, there can be an infinite number of pocabularies. However, it is impractical to provide a dedicated processing / management environment for each of the many possible libraries. Pocabulary Connection provides a way to solve this problem
[0104] 例えば、 文書は 2以上のマークアップ言語により記述されてもよい。 文書 は、 例えば、 XHTML (extensible HyperText Markup Language) 、 S V G (Scalable Vector Graphics) 、 Ma t h M L (Mathematical Markup Lan guage) 、 その他のマークアップ言語により記述されてもよい。 換言すれば、 マークアップ言語は、 X M Lにおけるポキヤブラリゃタグセッ卜と同様に見 なされてもよい。 [0104] For example, a document may be described in two or more markup languages. Documents include, for example, XHTML (extensible HyperText Markup Language), SVG (Scalable Vector Graphics), Math ML (Mathematical Markup Lan guage) and other markup languages. In other words, the markup language may be found in the same way as a tag library in XML.
[0105] ポキヤブラリは、 ポキヤブラリブラグィンを用いて処理される。 文書処理 システムにおいてプラグィンが利用不可能であるポキャプラリにより記述さ れた文書は、 プラグィンが利用可能である別のポキャプラリの文書にマツピ ングすることにより表示される。 この特徴により、 プラグインが用意されて いないポキャプラリの文書も適切に表示することができる。  [0105] The Pokélibry is processed using a Pokéebra rib lagquin. Documents described in a vocabulary where plug-ins are not available in the document processing system are displayed by mapping to documents in another vocabulary where plug-ins are available. This feature enables proper display of vocabulary documents without plug-ins.
[0106] ポキヤブラリコネクションは、 定義ファイルを取得し、 取得した定義ファ ィルに基づいて 2つの異なるポキャプラリの間でマツビングする能力を含む 。 あるポキヤブラリで記述された文書は、 別のポキヤブラリにマッピングす ることができる。 このように、 ポキヤブラリコネクションは、 文書がマツピ ングされるポキヤブラリに対応した表示/編集プラグインにより文書を表示 し編集することを可能にする。  [0106] The poker library connection includes the ability to obtain a definition file and map between two different vocabularies based on the obtained definition file. A document written in one Poch library can be mapped to another Poch library. In this way, the PB library connection allows a document to be displayed and edited by a display / edit plug-in corresponding to the Pb library to which the document is mapped.
[0107] 上述したように、 各文書は、 一般に複数のノードを有する D O Mツリーと して文書処理システムにおいて記述される。 「定義ファイル」 は、 それぞれ のノードについて、 そのノードと他のノードとの対応を記述する。 各ノード の要素値及び属性値が編集可能か否かが指定される。 ノードの要素値又は属 性値を用いた演算式が記述されてもよい。  As described above, each document is generally described in the document processing system as a DOM tree having a plurality of nodes. The “definition file” describes the correspondence between each node and other nodes. It is specified whether the element value and attribute value of each node can be edited. An arithmetic expression using the element value or attribute value of the node may be described.
[0108] マッピングという特徴を利用して、 定義ファイルを適用したデステイネ一 シヨン D O Mツリーが生成される。 このように、 ソース D O Mツリーとデス ティネ一シヨン D O Mッリ一の関係が構築され保持される。 ポキヤブラリコ ネクシヨンは、 ソース D O Mツリーとデスティネーション D O Mツリーの対 応を監視する。 ユーザから編集指示を受けると、 ポキヤブラリコネクション は、 ソース D O Mツリーの関連したノードを変更する。 ソース D O Mツリー が変更されたことを示す 「ミューテ一シヨンイベント」 が発行され、 デステ イネ一シヨン D O Mツリーがそれに応じて変更される。  [0108] Using the feature of mapping, a destination DOM tree to which the definition file is applied is generated. In this way, the relationship between the source DOM tree and the destination DOM tree is established and maintained. The Pocabular connection monitors the correspondence between the source DOM tree and the destination DOM tree. Upon receiving an editing instruction from the user, the Pb library connection changes the associated node in the source D O M tree. A “mutation event” is issued to indicate that the source D O M tree has changed, and the destination D O M tree is changed accordingly.
[0109] ポキヤブラリコネクションの使用により、 少数のユーザのみに知られてい た比較的マイナーなポキャプラリを、 別のメジャーなポキャプラリに変換す ることができる。 したがって、 少数のユーザによって利用されるマイナーな ポキヤブラリであっても、 文書を適切に表示し、 望ましい編集環境を提供す ることができる。 [0109] Known only to a small number of users due to the use of the Pocabulary Connection A relatively minor vocabulary can be converted to another major vocabulary. Therefore, even a minor library used by a small number of users can properly display a document and provide a desirable editing environment.
[0110] このように、 文書処理システムの一部であるポキヤブラリコネクションサ ブシステムは、 文書の複数の表現を可能にする機能を提供する。  [0110] As described above, the Pocabulary Connection Subsystem, which is a part of the document processing system, provides a function that enables multiple expressions of a document.
[0111] 図 1 3は、 ポキヤブラリコネクション (V C : Vocabulary Connection) サ ブシステム 300を示す。 VCサブシステム 300は、 同一の文書の 2つの 代替表現の整合性を維持する方法を提供する。 例えば、 2つの表現は、 同一 文書の、 2つの異なるポキヤブラリによる表現であってもよい。 前述したよ うに、 一方はソース DOMツリーであってもよく、 他方はデスティネ一ショ ン D O Mッリ—であってもよい。  [0111] Figure 13 shows a Vocabulary Connection (V C) subsystem 300. The VC subsystem 300 provides a way to maintain the consistency of two alternative representations of the same document. For example, the two representations may be representations of the same document in two different pockets. As mentioned above, one may be the source DOM tree and the other may be the destination DOM tree.
[0112] 1. ポキヤブラリコネクションサブシステム  [0112] 1. Pocka Library Connection Subsystem
ポキヤブラリコネクションサブシステム 300の機能は、 VocabularyGonne ction301 と呼ばれるプラグインを使用して、 文書処理システムにおいて実 現される。 文書が表現される Vocabulary305ごとに、 対応するプラグイン が要求される。 例えば、 文書の一部が H TM Lで記述され、 残りが SVGで 記述されている場合、 H T M Lと S V Gに対応するポキヤブラリプラグィン が要求される。  The functions of the POB library connection subsystem 300 are realized in a document processing system using a plug-in called Vocabulary Connection 301. For each Vocabulary 305 in which the document is represented, a corresponding plug-in is required. For example, if a part of a document is described in HTML and the rest is described in SVG, a plug-in plug-in corresponding to HTML and SVG is required.
[0113] VocabularyGonnectionプラグイン 301は、 適切な Vocabulary 305の文 書に対応した、 Zone209又は Pane21 1のための適切な VGGanvas (ポキヤ ブラリコネクションキャンバス) 31 0を生成する。 VocabularyGonnection 301を用いて、 ソース DOMツリー内の Zone209に対する変更は、 変換 ルールにより、 別の DOMツリー 306の対応する Zoneに伝達される。 変換 ゾレ一ゾレは、 ポキヤブラリコネクション記述子 (Vocabulary Connection Descr iptor: VCD) の形式で記述される。 このようなソース DOMとデスティネ —シヨン DOMの間の変換に対応するそれぞれの VC Dファイルについて、 対応する VGManager (ポキヤブラリコネクションマネージャ) 302が生成さ れる。 [0113] The VocabularyGonnection plug-in 301 generates an appropriate VGGanvas (Pocket library connection canvas) 310 for Zone 209 or Pane 211 corresponding to the appropriate Vocabulary 305 document. Using VocabularyGonnection 301, changes to Zone 209 in the source DOM tree are propagated to the corresponding Zone in another DOM tree 306 by the transformation rule. A conversion zole is described in the form of a Vocabulary Connection Descriptor (VCD). For each VC D file that supports conversion between such a source DOM and destination DOM, a corresponding VGManager (Pobible Connection Manager) 302 is generated. It is.
[0114] 2. Connector  [0114] 2. Connector
Connector 304は、 ソース D OMツリーのソースノードと、 デステイネ一 シヨン DOMツリーのデスティネーションノ一ドとを接続する。 Gonnector3 04は、 ソース DO Mツリー中のソースノード、 及びソースノードに対応す るソース文書に対する修正 (変更) を見るために作用する。 そして、 対応す るデスティネーション DOMツリーのノ一ドを修正する。 Gonnector304は 、 デスティネーション DOMツリーを修正することができる唯一のオブジェ ク トである。 例えば、 ユーザは、 ソース文書、 及び対応するソース DOMッ リ一に対してのみ修正を行うことができる。 その後、 Connector 304がデス ティネ一シヨン DOMツリーに、 対応する修正を行う。  Connector 304 connects the source node of the source D OM tree and the destination node of the destination DOM tree. Gonnector3 04 acts to see modifications (changes) to the source node in the source DOM tree and the source document corresponding to the source node. Then modify the node of the corresponding destination DOM tree. Gonnector304 is the only object that can modify the destination DOM tree. For example, the user can make modifications only to the source document and the corresponding source DOM library. Connector 304 then makes the corresponding modifications to the destination DOM tree.
[0115] Connector 304は、 ツリー構造を形成するために、 論理的にリンクされる 。 Connector 304により形成されたツリーは、 GonnectorTree (コネクタッ リ一) と呼ばれる。 Connector 304は、 GonnectorFactory (コネクタファク トリ : コネクタ生成部) 303と呼ばれる Serviceを用いて生成される。 Gonn ectorFactory 303は、 ソース文書から Connector 304を生成し、 それらを リンクして GonnectorTreeを形成す 。 Vocabu laryGonnectionManager 302 は、 GonnectorFactory 303を保持する。  [0115] Connector 304 is logically linked to form a tree structure. The tree formed by Connector 304 is called GonnectorTree. The Connector 304 is generated using a service called GonnectorFactory (connector factory: connector generation unit) 303. GonnectorFactory 303 creates Connector 304 from the source document and links them to form GonnectorTree. The VocabularyGonnectionManager 302 holds a GonnectorFactory 303.
[0116] 前述したように、 ポキヤブラリは名前空間におけるタグのセットである。  [0116] As described above, a Poch Library is a set of tags in a namespace.
図示されるように、 Vocabulary 305は、 Vocabu I aryConnect i on 301によ つて文書に対して生成される。 これは、 文書ファイルを解析し、 ソース DO Mとデスティネ一シヨン D O Mの間の写像のための適切な Vocabu I aryConnect ionManager 302を生成することにより行われる。 さらに、 Connectorを生成 する GonnectorFactory 303と、 Zone 209を生成する ZoneFactory 205と 、 Zone内のノードに対応する Canvasを生成する Editlet206との間の適切な 関係が作られる。 ユーザがシステムから文書を処分又は削除するとき、 対応 する Vocabu laryGonnectionManager 302が削除される。  As shown, Vocabulary 305 is generated for a document by Vocabu IaryConnection 301. This is done by parsing the document file and generating an appropriate Vocabulary Connection Manager 302 for mapping between the source DOM and the destination D OM. Further, an appropriate relationship is created between the GonnectorFactory 303 that generates the Connector, the ZoneFactory 205 that generates the Zone 209, and the Editlet 206 that generates the Canvas corresponding to the node in the Zone. When a user disposes of or deletes a document from the system, the corresponding VocabularyGonnectionManager 302 is deleted.
[0117] Vocabulary305は、 VGGanvas31 0を生成する。 さらに、 Connector 30 4及びデスティネーション DOMツリー 306が対応して生成される。 [0117] Vocabulary 305 generates VGGanvas 310. In addition, Connector 30 4 and the destination DOM tree 306 are generated correspondingly.
[0118] ソース DO M及び Canvasは、 それぞれ、 モデル (M) 及びビュー (V) に 対応する。 しかしながら、 このような表現は、 ターゲットのポキヤブラリが 画面上に描写可能である場合に限って意味がある。 描写は、 ポキヤブラリブ ラグインにより行われる。 ポキャプラリプラグィンは、 主要なポキャプラリ 、 例えば、 X H TM L、 SVG、 Ma t h M Lについて提供される。 ポキヤ ブラリブラグィンは、 ターゲットのポキヤブラリに関連して使用される。 こ れらは、 ポキャプラリコネクション記述子を用いてポキャプラリ間でマッピ ングする方法を提供する。 [0118] Sources DO M and Canvas correspond to model (M) and view (V), respectively. However, such an expression is only meaningful if the target Pocabulary can be drawn on the screen. The depiction is done with Pokayabra Rib Lagoin. Pocabulary plug-ins are provided for major podocalyps such as XHTML, SVG, and MathML. Pokaya brarib lagins are used in conjunction with the target pokary library. They provide a way to map between podapuraries using vocabulary connection descriptors.
[0119] このようなマッピングは、 ターゲットのポキヤブラリカ マッピング可能 で、 画面上に描写される方法が予め定義されたものである場合にのみ意味が ある。 このようなレンダリング方法は、 例えば X H TM Lなどのように、 W 3 Cなどの組織により定義された標準規格となっている。 [0119] Such mapping is only meaningful if the target Pocabula mapping is possible and the method depicted on the screen is predefined. Such a rendering method is a standard defined by organizations such as W 3 C, such as X H TM L.
[0120] ポキヤブラリコネクションが必要であるとき、 VGGanvasが使用される。 こ の場合、 ソースのビューを直接生成することができないので、 ソースの Ganva sは生成されない。 この場合、 VGGanvasが、 GonnectorTreeを使用して生成さ れる。 この VGGanvasは、 イベントの変換のみを扱い、 画面上の文書の描写を 援助しない。 [0120] VGGanvas is used when a poker library connection is required. In this case, the source Ganva s is not generated because the source view cannot be generated directly. In this case, VGGanvas is created using GonnectorTree. This VGGanvas only handles event conversion and does not assist in rendering the document on the screen.
[0121] 3. DestinationZone、 Pane、 及び Canvas  [0121] 3. DestinationZone, Pane, and Canvas
上述したように、 ポキヤブラリコネクションサブシステムの目的は、 同一 の文書の 2つの表現を同時に生成し保持することである。 第 2の表現も、 D OMツリーの形式であり、 これはデスティネーション DOMツリーとして既 に説明した。 第 2の表現における文書を見るために、 DestinationZone、 Canv as及び Paneが必要である。  As mentioned above, the purpose of the Pocabulary Connection Subsystem is to generate and maintain two representations of the same document simultaneously. The second representation is also in the form of a DOM tree, which has already been described as a destination DOM tree. To see the document in the second representation, we need DestinationZone, Canv as and Pane.
[0122] VGGanvasが作成されると、 対応する DestinationPane307が生成される。  [0122] When a VGGanvas is created, a corresponding DestinationPane307 is created.
さらに、 関連する0651^1131^011031^35308と、 対応する BoxTree309が生 成される。 同様に、 VGGanvas 3 1 0も、 ソース文書に対する Pane 2 1 1及び Z one209に関連づけられる。 [0123] DestinationGanvas308は、 第 2の表現における文書の論理的なレイァゥ トを提供する。 特に、 DestinationGanvas308は、 デスティネーション表現 における文書を描写するために、 カーソルや選択のようなユーザインタフエ イス機能を提供する。 DestinationGanvas308に生じたイベントは、 Gonnec torに供給される。 DestinationGanvas308は、 マウスイベント、 キ一ポ一 ドイベント、 ドラッグアンドドロップイベント、 及び文書のデスティネ一シ ヨン (第 2) 表現のポキヤブラリに特有なイベントを、 Connector 304に通 知する。 In addition, an associated 0651 ^ 1131 ^ 011031 ^ 35308 and a corresponding BoxTree309 are generated. Similarly, VGGanvas 3 1 0 is also associated with Pane 2 1 1 and Z one209 for the source document. [0123] DestinationGanvas308 provides a logical layout of the document in the second representation. In particular, DestinationGanvas308 provides user interface features such as cursors and selections to depict documents in the destination representation. Events that occur in DestinationGanvas308 are fed to Gonnector. DestinationGanvas 308 notifies Connector 304 of events specific to the mouse event, key event, drag and drop event, and document destination (second) representation of the library.
[0124] 4. ポキヤブラリコネクションコマンドサブシステム  [0124] 4. Pokablary Connection Command Subsystem
ポキヤブラリコネクション (VC) サブシステム 300の要素として、 ポ キヤブラリコネクション (VC) コマンドサブシステム 31 3がある。 ポキ ャブラリコネクションコマンドサブシステム 31 3は、 ポキヤブラリコネク シヨンサブシステム 300に関連した命令の実行のために使用される VGGo國 a nd (ポキヤブラリコネクションコマンド) 31 5を生成する。 VGGo國 andは、 内蔵の Go國 andTemplate (コマンドテンプレー ト) 31 8を使用して、 及び/ 又は、 スクリプトサブシステム 31 4においてスクリプト言語を使用してス クラッチからコマンドを生成することにより、 生成することができる。  As a component of the POB library connection (VC) subsystem 300, there is a POB library connection (VC) command subsystem 31 3. The library connection command subsystem 313 generates a VGGo country and (pocket connection command) 315 used for execution of instructions related to the protocol connection subsystem 300. VGGo country and can be generated by using the built-in Go country andTemplate (command template) 31 8 and / or by generating commands from scratch in the script subsystem 31 4 using script language can do.
[0125] コマンドテンプレートには、 例えば、 「lf」 コマンドテンプレート、 「Whe n」 コマンドテンプレート、 「揷入 (Insert) 」 コマンドテンプレートなどが ある。 これらのテンプレートは、 VGGommandを作成するために使用される。  [0125] Examples of command templates include "lf" command template, "When" command template, and "Insert" command template. These templates are used to create VGGommand.
[0126] 5. XP a t hサブシステム  [0126] 5. XP at h subsystem
X P a t hサブシステム 31 6は、 文書処理システムの重要な構成であり 、 ポキヤブラリコネクションの実現を支援する。 Connector 304は、 一般に xpath情報を含む。 上述したように、 ポキヤブラリコネクションのタスクの 1 つは、 ソース DOMツリーの変化をデスティネーション DOMツリーに反映 させることである。 xpath情報は、 変更/修正を監視されるべきソース DOM ツリーのサブセットを決定するために用いられる 1以上の xpath表現を含む。  The X P at h subsystem 31 6 is an important component of the document processing system, and supports the implementation of the poker library connection. Connector 304 generally contains xpath information. As mentioned above, one of the tasks of a poker library connection is to reflect changes in the source DOM tree in the destination DOM tree. The xpath information contains one or more xpath expressions that are used to determine the subset of the source DOM tree that should be monitored for changes / modifications.
[0127] 6. ソース DOMツリー、 デスティネーション DOMツリー、 及び Connect orTreeの概要 [0127] 6. Source DOM tree, destination DOM tree, and Connect Overview of orTree
ソース D O Mツリーは、 別のポキャプラリに変換される前のポキャプラリ で文書を表現した D O Mッリ一又は Zoneである。 ソース D O Mツリーのノ一 ドは、 ソースノードと呼ばれる。  The source DOM tree is a DOM tree or Zone that represents a document in a vocabulary before being converted to another vocabulary. The node of the source DOM tree is called the source node.
[0128] それに対して、 デスティネーション D O Mツリーは、 ポキヤブラリコネク シヨンに関連して前述したように、 同一の文書を、 マッピングにより変換さ れた後の異なるポキャプラリで表現した D O Mッリ一又は Zoneである。 デス ティネ一シヨン D O Mツリーのノードは、 デスティネーションノードと呼ば れる。 [0128] In contrast, the destination DOM tree is a DOM tree that represents the same document with a different vocabulary after being transformed by mapping, as described above in connection with the Pocabulary connection. Zone. Destination D O M Tree nodes are called destination nodes.
[0129] GonnectorTreeは、 ソースノードとデスティネーションノードの対応を表す Connectorに基づく階層的表現である。 Connectorは、 ソースノードと、 ソ一 ス文書になされた修正を監視し、 デスティネーション D O Mツリーを修正す る。 Connectorは、 デスティネーション D O Mツリーを修正することを許され た唯一のオブジェク トである。  [0129] GonnectorTree is a hierarchical expression based on a Connector that represents a correspondence between a source node and a destination node. The Connector monitors the source node and modifications made to the source document and modifies the destination DOM tree. The Connector is the only object that is allowed to modify the destination DOM tree.
[0130] E . 文書処理システムにおけるイベントフロー  [0130] E. Event flow in document processing system
実用のためには、 プログラムはユーザからのコマンドに応答しなければな らない。 イベントは、 プログラム上で実行されたユーザアクションを記述し 実行する方法である。 多くの高級言語、 例えば J a V a (登録商標) は、 ュ —ザアクションを記述するイベントに頼っている。 従来、 プログラムは、 ュ 一ザアクションを理解し、 それを自身で実行するために、 積極的に情報を集 める必要があった。 これは、 例えば、 プログラムが自身を初期化した後、 ュ —ザが画面、 キーボード、 マウスなどでアクションを起こしたときに適切な 処理を講じるために、 ユーザのアクションを繰り返し確認するループに入る ことを意味する。 しかしながら、 このプロセスは扱いにくい。 さらに、 それ は、 ユーザが何かをするのを待つ間、 C P Uサイクルを消費してループする プログラムを必要とする。  For practical use, the program must respond to user commands. An event is a way to describe and execute a user action executed on a program. Many high-level languages, such as J a V a, rely on events that describe user actions. Traditionally, programs had to actively gather information to understand user actions and execute them themselves. For example, after a program initializes itself, it enters a loop that repeatedly checks the user's actions to take appropriate action when the user takes action on the screen, keyboard, mouse, etc. Means. However, this process is cumbersome. In addition, it requires a program that consumes CPU cycles and loops while waiting for the user to do something.
[0131 ] 多くの言語が、 異なるパラダイムを採用することにより、 これらの問題を 解決している。 そのうちの一つは、 現代の全てのウィンドウシステムの基礎 となっている、 イベントドリブンプログラミングである。 このパラダイムで は、 全てのユーザアクションは、 「イベント」 と呼ばれる抽象的な事象の集 合に属する。 イベントは、 十分詳細に、 特定のユーザアクションを記述する 。 プログラムがユーザにより生成されたィベントを積極的に収集するのでは なく、 監視すべきイベントが生じたときに、 システムがプログラムに通知す る。 この方法によりユーザとの対話を扱うプログラムは 「イベントドリブン 」 であると言われる。 [0131] Many languages solve these problems by adopting different paradigms. One of them is the foundation of all modern window systems This is event-driven programming. In this paradigm, all user actions belong to a collection of abstract events called “events”. Events describe specific user actions in sufficient detail. Rather than actively collecting user-generated events, the system notifies the program when an event to be monitored occurs. Programs that handle user interaction in this way are said to be "event driven".
[0132] これは、 多くの場合、 全てのユーザにより生成されたイベントの基本特性 を獲得する 「Event (イベント) 」 クラスを使用して扱われる。  [0132] This is often handled using the “Event” class, which captures the basic properties of events generated by all users.
[0133] 文書処理システムは、 自身のイベント、 及びこれらのイベントを扱う方法 を定義して使用する。 いくつかの型のイベントが使用される。 例えば、 マウ スイベントは、 ユーザのマウスアクションから起こるイベントである。 マウ スを含むユーザアクションは、 Canvas 2 1 0によって、 マウスイベントに渡 される。 このように、 Canvasは、 システムのユーザによる相互作用の最前部 にあると言える。 必要であれば、 最前部にある Canvasは、 そのイベントに関 連した内容を子へ渡す。  [0133] The document processing system defines and uses its own events and how to handle these events. Several types of events are used. For example, a mouse event is an event that occurs from a user mouse action. User actions including the mouse are passed to the mouse event by Canvas 2 10. In this way, Canvas can be said to be at the forefront of interaction by users of the system. If necessary, the canvas at the front passes the content related to the event to the child.
[0134] それに対して、 キースト口一クイベントは、 Canvas 2 1 0から流れる。 キ —ストロークイベントは、 即時的なフォーカスを有する。 すなわち、 それは 、 いかなる瞬間でも作業に関連する。 Ganvas 2 1 0上に入力されたキースト ロークイベントは、 その親に渡される。 キー入力は、 文字列挿入を扱うこと が可能な、 異なるイベントによって処理される。 文字列の挿入を扱うィベン トは、 キーボードを使用して文字が挿入されたときに発生する。 他の 「ィべ ント」 は、 例えば、 ドラッグイベント、 ドロップイベント、 マウスイベント と同様に扱われる他のィベントを含む。  [0134] On the other hand, a keest mouth event starts from Canvas 2 1 0. Key — Stroke events have immediate focus. That is, it is related to work at any moment. Keystroke events entered on Ganvas 2 1 0 are passed to their parents. Keystrokes are handled by different events that can handle string insertion. Events that handle string insertion occur when a character is inserted using the keyboard. Other “events” include, for example, other events that are treated like drag events, drop events, and mouse events.
[0135] 1 . ポキヤブラリコネクション外のイベントの取り扱い  [0135] 1. Handling of events outside the Pokémon connection
イベントは、 イベントスレッドを用いて渡される。 Ganvas 2 1 0は、 ィべ ントを受け取ると、 その状態を変更する。 必要であれば、 Go國 and l 0 5 2が Canvas 2 1 0により GommandQueue 1 0 5 3にポストされる。 [0136] 2. ポキヤブラリコネクション内のイベントの取り扱いEvents are passed using the event thread. When Ganvas 2 1 0 receives an event, it changes its state. Go country and l 0 5 2 are posted to GommandQueue 1 0 5 3 by Canvas 2 1 0 if necessary. [0136] 2. Handling of events in a Pokémon connection
Figure imgf000044_0001
301を用しゝて、 Dest i nat i onCanvas(7— 例である XHTMLGanvasl 1 06は、 発生したイベント、 例えば、 マウスィベン ト、 キ一ポ一ドイベント、 ドラッグァンドドロップイベント、 及びポキヤブ ラリに特有のイベントなどを受け取る。 これらのイベントは、 コネクタ 30 4に通知される。 より詳細には、 図 21 (b) に図示されるように、 Vocabul aryGonnectionプラグイン 301内のイベントフローは、 SourcePane 1 1 03 、 VCCanvas 1 1 04、 Dest i nat ionPane 1 1 05、 DestinationGanvasの一例 である DestinationGanvas 1 1 06、 デスティネーション D O Mツリー及び Go nnector丁 ree¾r通過する。
Figure imgf000044_0001
Using 301, Dest i nat i onCanvas (7—the example XHTMLGanvasl 106 is specific to events that occurred, eg mouse events, keypoint events, dragand drop events, and poker libraries. Receive events, etc. These events are notified to the connector 30. More specifically, as shown in Figure 21 (b), the event flow in the VocabularyGonnection plug-in 301 is SourcePane 1 1 03 , VCCanvas 1 10 04, Destination Pane 1 1 05, DestinationGanvas 1 10 06, which is an example of DestinationGanvas, Destination DOM tree and Goni- ector ree¾r.
[0137] F. Programlnvoker及び Programlnvokerと他の構成との関係  [0137] F. Programlnvoker and the relationship between Programlnvoker and other components
Programlnvoker 1 03及びそれと他の構成との関係は、 図 1 4 (a) に更 に詳細に示される。 Programlnvoker 1 03は、 文書処理システムを開始する ために実行される実行環境中の基本的なプログラムである。 図 1 1 (b) 及 び図 1 1 (c) に図示されるように、 UserAppl ication 1 06、 ServiceBroke r 1 041、 Command I nvoker 1 051、 及び Resource 1 09は、 全て Program I nvoker 1 03に接続される。 前述したように、 アプリケーション 1 02は、 実行環境中で実行されるコンポーネントである。 同様に、 ServiceBroker 1 0 41は、 システムに様々な機能を加えるプラグインを管理する。 他方、 Go國 a ndlnvoker 1 051は、 ユーザにより提供される命令を実行して、 コマンドを 実行するために使用されるクラス及びファンクションを保持する。  The relationship between Programlnvoker 1 03 and other components is shown in more detail in Figure 14 (a). Programlnvoker 1 03 is a basic program in the execution environment that is executed to start the document processing system. As shown in Figure 11 (b) and Figure 11 (c), UserApplication 10 06, ServiceBroke r 1041, Command I nvoker 1 051, and Resource 1 09 are all in Program I nvoker 1 03. Connected. As described above, the application 102 is a component that is executed in the execution environment. Similarly, ServiceBroker 1 0 41 manages plug-ins that add various functions to the system. On the other hand, Go country ndlnvoker 1 051 executes the instructions provided by the user and holds the classes and functions used to execute the commands.
[0138] 1. プラグイン及びサービス  [0138] 1. Plug-ins and services
ServiceBroker 1 041について、 図 1 4 (b) を参照して更に詳細に説明 する。 前述したように、 ServiceBroker 1 041は、 システムに様々な機能を 追加するプラグイン (及び関連するサービス) を管理する。 Service 1 042 は、 文書処理システムに特徴を追加又は変更可能な最も下の層である。 「Ser vice」 は、 ServiceGategory401 と ServiceProvider 402の 2つの咅 |5分力、 らなる。 図 1 4 ( c ) に図示されるように、 1っの361^ 6031:680^40 1は 、 複数の関連する ServiceProvider402を持ちうる。 それぞれの ServicePro V i derは、 特定の Serv i ceGategoryの一部または全部を実行するように作用す る。 ServiceGategory401は、 他方では、 Serviceの型を定義する。 ServiceBroker 1 041 will be described in more detail with reference to FIG. 14 (b). As mentioned above, ServiceBroker 1 041 manages plug-ins (and related services) that add various functions to the system. Service 1 042 is the lowest layer that can add or change features to the document processing system. “Service” consists of two components of ServiceGategory401 and ServiceProvider 402. As shown in Figure 14 (c), one 361 ^ 6031: 680 ^ 40 1 Can have multiple related ServiceProviders 402. Each ServicePro V i der acts to run part or all of a particular Service Gategory. On the other hand, ServiceGatego401 defines the type of Service.
[0139] Serviceは、 1 ) 文書処理システムに特定の特色を提供する 「特色サービス 」 、 2) 文書処理システムにより実行されるアプリケーションである 「アブ リケ一シヨンサービス」 、 3) 文書処理システムの全体にわたって必要な特 色を提供する 「環境サービス」 、 の 3つの型に分類することができる。  [0139] Service is 1) "spot color service" that provides specific spot colors to the document processing system, 2) "ablation service" that is an application executed by the document processing system, and 3) the entire document processing system. It can be classified into three types: “environmental services”, which provide the necessary characteristics over a wide range.
[0140] Serviceの例は、 図 1 4 ( d ) に示される。 アプリケーション Serviceの Gat egoryにおいては、 システムユーティリティカ《対応する ServiceProviderのイ列 である。 同様に、 Editlet206は Categoryであり、 HTMLEditlet及び SVGEdit letは対応する ServiceProviderであ 。 ZoneFactory 205は、 Serviceの別 の Categoryであり、 対応する ServiceProvider (図示せず) を有する。  [0140] An example of Service is shown in Figure 14 (d). In Gat egory of application Service, it is a row of system utility card << corresponding ServiceProvider. Similarly, Editlet 206 is a Category, and HTMLEditlet and SVGEdit let are corresponding ServiceProviders. ZoneFactory 205 is another Category of Service, and has a corresponding ServiceProvider (not shown).
[0141] プラグインは、 文書処理システムに機能性を加えると既に説明したが、 い <つかの ServiceProvider 402及びそれらに関連するクラスからなるュニッ 卜と見なされてもよい。 各プラグインは、 宣言ファイルに記述された依存性 及び ServiceGategory401を有する。  [0141] Although plug-ins have already been described as adding functionality to a document processing system, they may be considered a unit consisting of several ServiceProviders 402 and their associated classes. Each plug-in has dependencies and ServiceGategory 401 described in the declaration file.
[0142] 2. Program Invokerとアプリケーションとの関係  [0142] 2. Relationship between Program Invoker and applications
図 1 4 ( e ) は、 Programlnvoker 1 03と UserAppl ication 1 06との関係 についての更なる詳細を示す。 必要な文書やデータなどは、 ストレージから ロードされる。 必要なプラグインは、 全て ServiceBroker 1 04 1上にロード される。 ServiceBroker 1 04 1は、 全てのプラグインを保持し管理する。 プ ラグインは、 システムに物理的に追加することができ、 又、 その機能はスト レ一ジからロードすることができる。 プラグインの内容がロードされると、 S erviceBroker 1 04 1は、 対応するプラグインを定義する。 つづいて、 対応 する UserAppl ication 1 06が生成され、 実行環境 1 0 1にロードされ、 Prog ramlnvoker 1 03にアタッチされる。  Figure 14 (e) shows further details about the relationship between Programlnvoker 1 03 and UserApplication 1 06. Necessary documents and data are loaded from storage. All necessary plug-ins are loaded on ServiceBroker 1 04 1. ServiceBroker 1 04 1 holds and manages all plug-ins. Plug-ins can be physically added to the system and their functions can be loaded from storage. When the plug-in content is loaded, ServiceBroker 1 04 1 defines the corresponding plug-in. Next, the corresponding UserApplication 1 06 is generated, loaded into the execution environment 1 0 1, and attached to the Programlnvoker 1 03.
[0143] G. アプリケーションサービスと環境との関係  [0143] G. Relationship between application service and environment
図 1 5 (a) は、 Programlnvoker 1 03上にロードしたアプリケーション サービスの構成についての更なる詳細を示す。 コマンドサブシステム 1 05 のコン不一ネン卜である Command Invoker 1 051は、 Program I nvoker 1 03 内の Command 1 052を起動又は実行する。 Command 1 052は、 文書処理シ ステムにおいて、 XM Lなどの文書を処理し、 対応する XM L DOMツリー を編集するために用いられる命令である。 Command I nvoker 1 051は、 Comma nd1 052を実行するために必要なクラス及びファンクションを保持する。 Figure 15 (a) shows an application loaded on Programlnvoker 1 03 Provides further details about the configuration of the service. Command Invoker 1 051, which is a component of command subsystem 1 05, starts or executes Command 1 052 in Program Invoker 1 03. Command 1 052 is a command used to process a document such as XML and edit the corresponding XML DOM tree in the document processing system. Command Invoker 1 051 holds classes and functions necessary for executing Comma nd1 052.
[0144] ServiceBroker 1 041も、 Programl nvoker 1 03内で実行される。 UserAp pi i cat ion 1 06は、 ュ一ザインタフェイス 1 07及び GoreGomponent 1 1 0 に接続される。 GoreGomponent 1 1 0は、 全ての Paneの間で文書を共有する方 法を提供する。 GoreGomponent 1 1 0は、 さらにフォントを提供し、 Paneのた めのツールキッ卜の役割を果たす。  [0144] ServiceBroker 1 041 is also executed in Program nvoker 1 03. UserApipication 1 06 is connected to the user interface 1 07 and GoreGomponent 1 1 0. GoreGomponent 1 1 0 provides a way to share documents between all panes. GoreGomponent 1 1 0 provides additional fonts and acts as a toolkit for Pane.
[0145] 図 1 5 ( b ) は、 Frame 1 07 1、 MenuBar 1 072、 及び StatusBar 1 07 3の関係を示す。  FIG. 15 (b) shows the relationship between Frame 1 07 1, MenuBar 1 072, and StatusBar 1 07 3.
[0146] H. アプリケーションコア  [0146] H. Application Core
図 1 6 (a) は、 全ての文書、 及び文書の一部及び文書に属するデータを 保持するアプリケーションコア 1 08についての更なる説明を提供する。 Gor eComponent 1 1 0は、 文書 1 082を管理する DocumentManager 1 081にァ タツチされる。 DocumentManager 1 081は、 文書処理システムに関連づけら れたメモリに格納される全ての文書 1 082の所有者である。  Figure 16 (a) provides further explanation of the application core 108 that holds all documents, and parts of documents and data belonging to the documents. Gor eComponent 1 1 0 is attached to DocumentManager 1 081 that manages document 1 082. DocumentManager 1 081 is the owner of all documents 1 082 stored in the memory associated with the document processing system.
[0147] 画面上の文書の表示を容易にするために、 DocumentManager 1 081は Root Pane 1 084にも接続される。 GI ipBoard 1 087、 SnapShot 1 088、 Drag &Drop601、 及び Over I ay602の機能も、 GoreGomponent 1 1 0にアタッチ される。  [0147] DocumentManager 1 081 is also connected to Root Pane 1 084 to facilitate the display of the document on the screen. The functions of GI ipBoard 1 087, SnapShot 1 088, Drag & Drop 601 and Over Iay 602 are also attached to GoreGomponent 1 1 0.
[0148] SnapShot 1 088は、 アプリケーションの状態を元に戻すために使用され る。 ユーザが SnapShot 1 088を起動したとき、 アプリケーションの現状が 検知され、 格納される。 その後、 アプリケーションの状態が別の状態に変わ るとき、 格納された状態の内容は保存される。 SnapShotl 088は、 図 1 6 (b) に図示される。 動作において、 アプリケーションがある U R Lから他 へ移動するときに、 前に戻る動作及び先に進む動作をシームレスに実行可能 とするために、 Snapshot 1 088は以前の状態を記憶する。 [0148] SnapShot 1 088 is used to restore the application state. When the user starts SnapShot 1 088, the current state of the application is detected and stored. Then, when the application state changes to another state, the stored state contents are preserved. SnapShotl 088 is illustrated in Figure 16 (b). In operation, from the URL where the application is In order to make it possible to seamlessly execute the operation of going back and the operation of moving forward when moving to Snapshot, Snapshot 1088 stores the previous state.
[0149] I . DocumentManager内における文書の構成  [0149] I. Document structure in DocumentManager
図 1 7 (a) は、 DocumentManager 1 08 1の更なる説明と、 DocumentMana gerにおいて文書が構成され保持される様子を示す。 図 1 1 (b) に示したよ うに、 DocumentManager 1 08 1は、 文書 1 082を管理する。 図 1 7 (a) に示される例において、 複数の文書のうちの 1つは RootDocument (ルート文 書) 70 1であり、 残りの文書は SubDocument (サブ文書) 702である。 Do cumentManager 1 08 1は、 RootDocument 70 1に接糸元され、 RootDocument 7 0 1は、 全ての SubDocument 702に接続される。  Figure 17 (a) shows further explanation of DocumentManager 1 08 1 and how documents are organized and maintained in DocumentManager. As shown in FIG. 1 1 (b), DocumentManager 1 08 1 manages document 1 082. In the example shown in Fig. 17 (a), one of the documents is RootDocument 701, and the remaining document is SubDocument 702. Do cumentManager 1 08 1 is connected to RootDocument 70 1 and RootDocument 7 0 1 is connected to all SubDocuments 702.
[0150] 図 1 2及び図 1 7 (a) に示すように、 DocumentManager 1 08 1は、 全て の文書 1 082を管理するォブジェク トでぁる00(51^6111:00111:3^6「203に結 合される。 D0MService703及び lOManager 704を含むツールキット 20 1 (例えば XM Lツールキット) の一部を形成するツールも、 DocumentManager 1 08 1に供給される。 再び図 1 7 (a) を参照して、 D0MService703は 、 DocumentManager 1 08 1により管理される文書に基づいた D O Mツリーを 生成する。 各 Document 705は、 それが RootDocument 70 1であっても SubDo cument702であっても、 対応する DocumentGontainer 203によって管理さ れる。  [0150] As shown in Figure 1 2 and Figure 17 (a), DocumentManager 1 08 1 is an object that manages all documents 1 082 00 (51 ^ 6111: 00111: 3 ^ 6 "203 Tools that form part of the toolkit 20 1 (eg XM L toolkit) including D0MService703 and lOManager 704 are also supplied to DocumentManager 1 08 1. See Figure 17 (a) again. Then, D0MService703 generates a DOM tree based on the document managed by DocumentManager 1 08 1. Each Document 705 is created by the corresponding DocumentGontainer 203, whether it is RootDocument 701 or SubDo cument702. Managed.
[0151] 図 1 7 (b) は、 文書 A_Eが階層的に配置される様子を示す。 文書 Aは R ootDocumentである。 文書 B— Dは、 文書 Aの SubDocumentである。 文書 Eは 、 文書 Dの SubDocumentである。 図 1 7 (b) の左側は、 これと同じ文書の階 層が画面上に表示された例を示す。 RootDocumentである文書 Aは、 基本フレ —ムとして表示される。 文書 Aの SubDocumentである文書 B_ Dは、 基本フレ —ム Aの中のサブフレームとして表示される。 文書 Dの SubDocumentである文 書 Eは、 サブフレーム Dのサブフレームとして画面に表示される。  [0151] Figure 17 (b) shows how documents A_E are arranged hierarchically. Document A is a RootDocument. Document B—D is a SubDocument of Document A. Document E is a SubDocument of Document D. The left side of Fig. 17 (b) shows an example of the same document hierarchy displayed on the screen. Document A, the RootDocument, is displayed as a basic frame. Document B_D, which is a SubDocument of Document A, is displayed as a subframe in Basic Frame A. Document E, which is a SubDocument of Document D, is displayed on the screen as a subframe of Subframe D.
[0152] 再び図 1 7 (a) を参照して、 UndoManager (アンドゥマネージャ : アンド ゥ管理部) 706及び UndoWrapper (アンドゥラッパ一) 707は、 それぞれ の DocumentGontainer 203に対して生成される。 UndoManager706及び Und oWrapper 707は、 取消可能なコマンドを実行するために使用される。 この 特徴を使用することにより、 編集操作を使用して文書に対して実行された変 更を取り消すことができる。 SubDocumentの変更は、 RootDocumentとも密接な 関係を有する。 アンドゥ操作は、 階層内の他の文書に影響する変更を考慮に 入れて、 例えば、 図 1 7 (b) に示されるような連鎖状の階層における全て の文書の間で整合性が維持されることを保証する。 [0152] Referring again to Figure 17 (a), UndoManager (Undo Manager: Undo Manager) 706 and UndoWrapper 707 are respectively Generated for DocumentGontainer 203. UndoManager 706 and UndoWrapper 707 are used to execute undoable commands. By using this feature, you can undo changes made to a document using an editing operation. SubDocument changes are also closely related to RootDocument. The undo operation takes into account changes that affect other documents in the hierarchy and maintains consistency among all documents in a chained hierarchy, for example, as shown in Figure 17 (b). Guarantee that.
[0153] UndoWrapper 707は、 DocumentGontainer 203内の SubDocumentに関連す るアンドゥオブジェク トをラップし、 それらを RootDocumentに関連するアン ドウオブジェク 卜に結合させる。 UndoWrapper 707は、 UndoableEditAccept or (アンドウアプルエディットァクセプタ : アンドウ可能編集受付部) 70 9に利用可能なアンドウオブジェク 卜の収集を実行する。  [0153] UndoWrapper 707 wraps the undo objects related to SubDocument in DocumentGontainer 203 and binds them to the undo object related to RootDocument. UndoWrapper 707 executes collection of undoable objects that can be used in UndoableEditAcceptor (undoable edit acceptor).
[0154] UndoManager 706及び UndoWrapper 707は、 Undoab I eEd i tAcceptor 70 9及び UndoableEditSource (アンドゥァブルエディットソース) 708に接 続される。 当業者には理解されるように、 Document705が UndoableEditSou rce708であってもよく、 取消可能な編集オブジェク 卜のソースであっても よい。  [0154] The UndoManager 706 and the UndoWrapper 707 are connected to the Undoab IE Edit Acceptor 709 and the UndoableEditSource (Undoable Edit Source) 708. As will be appreciated by those skilled in the art, Document 705 may be UndoableEditSource 708 or the source of an editable edit object.
[0155] J . アンドゥコマンド及びアンドゥフレームワーク  [0155] J. Undo command and undo framework
図 1 8 (a) 及び図 1 8 (b) は、 アンドゥフレームワーク及びアンドゥ コマンドについて更なる詳細を提供する。 図 1 8 (a) に示されるように、 U ndoCommand 80 1、 RedoCommand 802、 及び UndoableEditGommand803は 、 図 1 1 (b) に示したように Gommandlnvoker 1 05 1に積むことができる コマンドであり、 順に実行される。 UndoableEditGommand803は、 Undoab le EditSource708及び Undoab I eEd i tAcceptor 709に更にァタツチされる。 Figures 18 (a) and 18 (b) provide further details about the undo framework and undo commands. As shown in Fig. 18 (a), UndoCommand 80 1, RedoCommand 802, and UndoableEditGommand803 are commands that can be loaded on Gommandlnvoker 1 05 1 as shown in Fig. 11 (b) and executed in order. Is done. UndoableEditGommand803 is further attacked by Undoable EditSource 708 and Undoab IeIdAcceptor 709.
「foo」 EditGommand804及び 「bar」 EditGommand 805は、 Undoab I eEd i tC ommandの例である。 “Foo” EditGommand804 and “bar” EditGommand 805 are examples of Undoab IeEditC ommand.
[0156] 1. UndoableEditGommandの実行 [0156] 1. Executing UndoableEditGommand
図 1 8 ( b) は、 UndoableEditGommandの実行を示す。 まず、 ユーザが編集 コマンドを使用して Document 705を編集すると仮定する。 第 1ステップ S 1では、 UndoableEditAcceptor 709が、 Document 705の D O Mツリーで ぁる11|^0813|6已 1:30111^6708にァタツチされる。 第 2ステップ S 2では、 ユーザにより発行されたコマンドに基づいて、 Document705が DOMの A P Iを用いて編集される。 第 3ステップ S 3では、 ミューテ一シヨンィベン 卜のリスナーが、 変更がなされたことを通知される。 すなわち、 このステツ プでは、 DOMツリーの全ての変更を監視するリスナーが編集操作を検知す る。 第 4ステップ S 4では、 UndoableEditが UndoManager 706のォブジェク トとして格納される。 第 5ステップ S 5では、 UndoableEditAcceptor 709 ^UndoableEditSource708からデタツチされる。 UndoableEditSource70 8は、 Document705自身であってもよい。 Figure 18 (b) shows the execution of UndoableEditGommand. First, the user edits Suppose you edit a Document 705 using a command. In the first step S 1, UndoableEditAcceptor 709 is attacked in Document 705 DOM tree 11 | ^ 0813 | 6 already 1: 30111 ^ 6708. In the second step S2, Document705 is edited using the DOM API based on the command issued by the user. In the third step S3, the mutation event listener is notified that a change has been made. That is, in this step, the listener that monitors all changes in the DOM tree detects the editing operation. In the fourth step S 4, UndoableEdit is stored as an object of UndoManager 706. In 5th step S5, it is defeated from UndoableEditAcceptor 709 ^ UndoableEditSource708. The UndoableEditSource 708 may be the Document 705 itself.
[0157] K. システムへの文書のロードに関する手順  [0157] K. Procedure for loading documents into the system
上記のサブセクションでは、 システムの様々なコンポ一ネント及びサブコ ンポ一ネントについて説明した。 以下、 これらのコンポーネントの使用に関 する方法論について説明する。 図 1 9 (a) は、 文書処理システムに文書が ロードされる様子の概要を示す。 それぞれのステップは、 図 24— 28にお いて、 特定の例に関連して詳述される。  In the subsection above, the various components and subcomponents of the system were described. The following describes the methodology for using these components. Figure 19 (a) shows an overview of how a document is loaded into the document processing system. Each step is detailed in relation to a specific example in Figures 24-28.
[0158] 簡単には、 文書処理システムは、 文書に含まれるデータからなるバイナリ デ一タストリームから DOMを生成する。 ApexNode (エイペックスノード: 頂点ノード) 力 注目対象であり Zoneに属する文書の一部のために生成され る。 つづいて、 対応する Paneが同定される。 同定された Paneは、 ApexNode及 び物理的な画面表面から Zone及び Canvasを生成する。 Zoneは、 次に、 それぞ れのノードに Facetを生成し、 それらに必要とされる情報を提供する。 Canvas は、 DOMツリーから、 ノードをレンダリングするためのデータ構造を生成 する。  [0158] Briefly, a document processing system generates a DOM from a binary data stream consisting of data contained in a document. ApexNode (apex node) Force Generated for the part of the document that is the focus and belongs to the Zone. Subsequently, the corresponding Pane is identified. The identified Pane generates Zone and Canvas from ApexNode and physical screen surface. The Zone then creates Facets for each node and provides the information needed for them. Canvas generates a data structure for rendering nodes from the DOM tree.
[0159] より詳細には、 文書はストレ一ジ 90 1からロードされる。 文書の DOM ツリー 902が生成される。 文書を保持するための、 対応する DocumentGonta i ner 903が生成される。 DocumentGonta iner 903は、 DocumentManager 9 04にアタッチされる。 DOMツリーは、 ルートノードと、 ときには複数の セカンダリノードを含む。 [0159] More specifically, the document is loaded from storage 901. A DOM tree 902 of the document is generated. A corresponding DocumentGontainer 903 is created to hold the document. DocumentGonta iner 903 is compatible with DocumentManager 9 Attach to 04. A DOM tree contains a root node and sometimes multiple secondary nodes.
[0160] 一般に、 このような文書は、 テキスト及びグラフィクスの双方を含む。 し たがって、 DOMツリーは、 例えば、 X H TM Lサブツリーだけでなく SV Gサブツリーを有してもよい。 X H TM Lサブツリーは、 X H TM LのApexN ode905を有する。 同様に、 SVGサブツリーは、 S V Gの ApexNode 906 を有する。 [0160] In general, such documents include both text and graphics. Thus, a DOM tree may have, for example, an SV G subtree as well as an X H TM L subtree. The XH ™ L subtree has an XH ™ L ApexNode 905. Similarly, the SVG subtree has S V G ApexNode 906.
[0161] ステップ 1では、 ApexNode 906力 画面の論理的なレイァゥトである Pan e907にアタッチされる。 ステップ 2では、 Pane907は、 PaneOwner (ぺ インオーナ一:ペインの所有者) 908である GoreGomponentに、 ApexNode 9 06のための ZoneFactoryを要求する。 ステップ 3では、 PaneOwner 908は 、 ZoneFactoryと、 ApexNode 906のための GanvasFactoryである Edi tl etとを 返す。  [0161] In step 1, ApexNode 906 force is attached to Pane907, which is the logical layout of the screen. In step 2, Pane907 asks GoreGomponent, who is PaneOwner 908, a ZoneFactory for ApexNode 906. In step 3, PaneOwner 908 returns a ZoneFactory and an Edi tl et which is a GanvasFactory for ApexNode 906.
[0162] ステップ 4では、 Pane907力《Zone909を生成する。 Zone909は Pane 907にアタッチされる。 ステップ 5では、 Zone909がそれぞれのノード に対して Facetを生成し、 対応するノードにアタッチする。 ステップ 6では、 Pane 907力《Ganvas9 1 0を生成する。 Canvas 9 1 0は Pane 907にァタッ チされる。 Ganvas9 1 0には様々な Commandが含まれる。 ステップ 7では、 Ga nvas9 1 0が文書を画面にレンダリングするためのデータ構造を構築する。 X H TM Lの場合、 これはボックスツリー構造を含む。  [0162] In step 4, Pane907 force << Zone909 is generated. Zone909 is attached to Pane 907. In step 5, Zone909 generates a facet for each node and attaches to the corresponding node. In Step 6, Pane 907 force << Ganvas9 1 0 is generated. Canvas 9 1 0 is attacked by Pane 907. Ganvas9 1 0 includes various commands. In step 7, Ganvas9 10 builds a data structure for rendering the document on the screen. For XH TM L, this includes a box tree structure.
[0163] 1. Zoneの MV C  [0163] 1. Zone MV C
図 1 9 (b) は、 MVCパラダイムを用いて Zoneの構成の概要を示す。 こ の場合、 Zone及び Facetは文書に関連した入力であるから、 モデル (M) は Zo ne及び Facetを含む。 Canvasと、 文書を画面にレンダリングするためのデータ 構造体は、 ユーザが画面上に見る出力であるから、 ビュー (V) は Canvas及 びデータ構造体に対応する。 Commandは、 文書とその様々な関係に対して制御 操作を実行するので、 コントロール (C) は Canvasに含まれる Go國 andを含む [0164] L. 文書の表現 Figure 19 (b) shows an overview of the Zone configuration using the MVC paradigm. In this case, since Zone and Facet are inputs related to the document, Model (M) includes Zone and Facet. Since the canvas and the data structure for rendering the document on the screen are the output that the user sees on the screen, the view (V) corresponds to the canvas and the data structure. Since Command executes control operations on the document and its various relationships, Control (C) includes Go Country and included in Canvas. [0164] L. Document Representation
図 20を用いて、 文書及びその様々な表現の例について以下に説明する。 この例で使用される文書は、 テキストと画像の双方を含む。 テキストは、 X HTMLを用いて表され、 画像は、 SVGを用いて表される。 図 20は、 文 書のコンポーネント及び対応するォブジェク 卜の関係の MVC表現を詳細に 示す。 この例において、 Document 1 001は、 Document 1 001を保持する D ocumentContainer 1 002にアタッチされる。 文書は DO Mツリー 1 003 により表現される。 DOMツリーは、 ApexNode 1 004を含む。  An example of a document and its various expressions will be described below using FIG. The document used in this example contains both text and images. Text is represented using X HTML, and images are represented using SVG. Figure 20 details the MVC representation of the relationship between the document components and the corresponding objects. In this example, Document 1 001 is attached to DocumentContainer 1 002 that holds Document 1 001. The document is represented by a DO M tree 1 003. The DOM tree contains ApexNode 1 004.
[0165] ApexNodeは、 黒丸で表される。 頂点でないノードは、 白丸で表される。 ノ ードを編集するために用いられる Facetは、 三角形で表され、 対応するノード にアタッチされる。 文書がテキストと画像を有するので、 この文書の DOM ツリーは、 X H TM L部分と S VG部分を含む。 ApexNode 1 004は、 XH TM Lサブツリーの最上のノードである。 これは、 文書の XHTML部分の 物理的な表現のための最上 Paneである XHTMLPane 1 005にァタツチされる。 ApexNode 1 004は、 文書の D O Mツリーの一部である XHTMLZone 1 006に もァタツチされる。  [0165] ApexNode is represented by a black circle. Nodes that are not vertices are represented by white circles. The Facet used to edit a node is represented by a triangle and is attached to the corresponding node. Since the document has text and images, the DOM tree of this document contains an XHTML portion and an SVG portion. ApexNode 1 004 is the top node of the XH ™ L subtree. This is attacked by XHTMLPane 1 005, the top pane for the physical representation of the XHTML part of the document. ApexNode 1 004 is also attacked by XHTMLZone 1 006, which is part of the document's DOM tree.
[0166] Node 1 004に対応する Facetも、 XHTMLZone 1 006にアタッチされる。 X HTMLZone 1 006は、 XHTMLPane 1 005にアタッチされる。 XHTMLEditletは 、 文書の論理的な表現である XHTMLGanvas 1 007を生成する。 XHTMLGanvas 1 007は、 XHTMLPane 1 005にァタツチされる。 XHTMLGanvas 1 007は 、 Document 1 001の XHTMLコンポ一ネン卜のための BoxTree 1 009を 生成する。 文書の X H TM L部分を保持し描画するために必要な様々な Go國 a nd 1 008も、 XHTMLGanvas 1 007に追加される。  [0166] Facet corresponding to Node 1 004 is also attached to XHTMLZone 1 006. X HTMLZone 1 006 is attached to XHTMLPane 1 005. XHTMLEditlet generates XHTMLGanvas 1007, which is a logical representation of the document. XHTMLGanvas 1 007 is attacked by XHTMLPane 1 005. XHTMLGanvas 1 007 generates BoxTree 1 009 for the XHTML component of Document 1 001. Various Go countries and 1 008 required to hold and render the X H TM L portion of the document are also added to XHTMLGanvas 1 007.
[0167] 同様に、 文書の SVGサブツリーの ApexNode 1 01 0は、 文書の SVGコ ンポ一ネントを表現する Document 1 001の D O Mツリーの一部である SVGZo ne 1 01 1にアタッチされる。 ApexNode 1 01 0は、 文書の SVG部分の物 理的な表現の最上の Paneである SVGPane 1 01 3にアタッチされる。 文書の S VG部分の論理的な表現を表す SVGGanvas 1 01 2は、 SVGEditletにより生成 され、 SVGPanel 01 3にアタッチされる。 画面上に文書の S V G部分をレン ダリングするためのデータ構造及びコマンドは、 SVGGanvasにァタツチされる 。 例えば、 このデータ構造は、 図示されるように、 円、 線、 長方形などを含 んでもよい。 [0167] Similarly, ApexNode 1 0100 in the SVG subtree of the document is attached to SVGZone 1 01 1 that is part of the DOM tree of Document 1 001 that represents the SVG component of the document. ApexNode 1 01 0 is attached to SVGPane 1 01 3 which is the highest Pane in the physical representation of the SVG part of the document. SVGGanvas 1 01 2, which represents the logical representation of the S VG part of the document, is generated by SVGEditlet And attached to SVGPanel 01 3. The data structure and commands for rendering the SVG part of the document on the screen are attacked by SVGGanvas. For example, this data structure may include circles, lines, rectangles, etc. as shown.
[0168] 図 20に関連して説明された文書例の表現の一部について、 図 21 (a) に関連して、 前述した MVCパラダイムを用いて更に説明する。 図 21 (a ) は、 文書 1 001の X H TM Lコンポーネントにおける MVの関係を簡略 化して示す。 モデルは、 Document 1 001の X H TM Lコンポーネントのた めの XHTMLZonel 1 01である。 XHTMLZoneのツリーには、 いくつかの Node及 びそれらに対応する Facetが含まれる。 対応する XHTMLZone及び Paneは、 MV Cパラダイムのモデル (M) 部分の一部である。 MVCパラダイムのビュー (V) 部分は、 Document 1 001の X H TM Lコンポーネントの、 対応する X HTMLCanvas 1 1 02及び BoxTreeである。 文書の XHTML部分は、 Canvasと 、 それに含まれる Go國 andを使用して画面に描写される。 キーボードやマウス 入力などのイベントは、 図示されるように、 逆方向へ進む。  [0168] A part of the representation of the document example described in relation to FIG. 20 will be further described using the MVC paradigm described above in relation to FIG. 21 (a). Figure 21 (a) shows a simplified MV relationship in the XH TM L component of Document 1001. The model is XHTMLZonel 1 01 for the X H TM L component of Document 1 001. The XHTMLZone tree contains several Nodes and their corresponding Facets. The corresponding XHTMLZone and Pane are part of the model (M) part of the MV C paradigm. The View (V) portion of the MVC paradigm is the corresponding X HTML Canvas 1 1002 and BoxTree of the X H TM L component of Document 1 001. The XHTML part of the document is rendered on the screen using Canvas and Go country and included. Events such as keyboard and mouse input go in the opposite direction, as shown.
[0169] SourcePaneは、 更なる機能、 すなわち、 D O Mの保有者としての役割を有 する。 図 21 (b) は、 図 21 (a) に示した Document"! 001のコンポ一 ネントに対するポキヤブラリコネクションを提供する。 DOMホルダーとし て機能する SourcePane 1 1 03は、 文書のソース D OMツリーを含む。 Gonne ctorTreeは、 GonnectorFactoryにより生成され、 デスティネ一シヨン DOM の保有者としても機能する DestinationPane 1 1 05を生成する。 Destinatio nPane 1 1 05は、 XHTMLDestinationGanvas 1 1 06としてボックスツリーの 形式でレイァゥ卜される。  [0169] The SourcePane has an additional function: the role as a holder of DOM. Figure 21 (b) provides a library connection for the Document "! 001 component shown in Figure 21 (a). SourcePane 1 1 03, acting as a DOM holder, is the source D OM tree of the document. Gonne ctorTree is created by GonnectorFactory and creates DestinationPane 1 1 05 which also functions as the destination DOM holder Destinatio nPane 1 1 05 is a layout of the XHTMLDestinationGanvas 1 1 06 in the form of a box tree. Is done.
[0170] M. プラグインサブシステム、 ポキヤブラリコネクション、 及びコネクタの 関係  [0170] Relationship between M. plug-in subsystem, Pb library connection, and connector
図 22 (a) - (c) は、 それぞれ、 プラグインサブシステム、 ポキヤブ ラリコネクション、 及び Connectorに関連する更なる詳細を示す。 プラグイン サブシステムは、 文書処理システムに機能を追加又は交換するために用いら れる。 プラグインサブシステムは、 ServiceBroker 1 041を含む。 ServiceB roker 1 041にァタツチされる ZoneFactoryService 1 201は、 文書の一部 に対する Zoneを生成する。 EditletService 1 202も、 ServiceBroker 1 04 1にアタッチされる。 EditletService 1 202は、 Zone中の Nodeに対応する G anvasを生成する。 Figures 22 (a)-(c) show further details related to the plug-in subsystem, the poker library connection, and the connector, respectively. Plug-in subsystems are used to add or replace functionality in a document processing system. It is. The plug-in subsystem includes ServiceBroker 1 041. ZoneFactoryService 1 201 that is attacked by Service Broker 1 041 generates a Zone for a part of the document. EditletService 1 202 is also attached to ServiceBroker 1 04 1. EditletService 1 202 generates a Ganvas corresponding to the Node in the Zone.
[0171] ZoneFactoryの例は、 XHTMLZone及び SVGZoneをそれぞれ生成する XHTMLZoneF actory 1 21 1及び SVGZoneFactory 1 21 2である。 文書例に関連して前述 したように、 文書のテキストコンポーネントは、 XHTMLZoneを生成することに より表現されてもよいし、 画像は SVGZoneを用いて表現されてもよい。 Editle tServiceの例は、 XHTMLEditlet 1 221及び SVGEditlet 1 222を含む。  [0171] Examples of ZoneFactory are XHTMLZoneF actory 1 21 1 and SVGZoneFactory 1 21 2 that generate XHTMLZone and SVGZone, respectively. As described above in connection with the example document, the text component of the document may be represented by generating XHTMLZone, and the image may be represented using SVGZone. Examples of EditletService include XHTMLEditlet 1 221 and SVGEditlet 1 222.
[0172] 図 22 (b) は、 ポキヤブラリコネクションに関連する更なる詳細を示す 。 ポキヤブラリコネクションは、 前述したように、 文書処理システムの重要 な特徴であり、 2つの異なる方法で文書の整合のとれた表現及び表示を可能 とする。 GonnectorFactory303を保持する VGManager302は、 ポキヤブラ リコネクションサブシステムの一部である。 GonnectorFactory303は、 文 書の Connector 304を生成する。 前述したように、 Connectorは、 ソース D OM中のノードを監視し、 2つの表現の間の整合性を維持するために、 デス ティネ一シヨン DOM中のノ一ドを修正する。  [0172] Figure 22 (b) shows further details related to the Pocabulary connection. As described above, the POB library connection is an important feature of a document processing system, and enables consistent expression and display of documents in two different ways. The VGManager 302 that holds the GonnectorFactory 303 is a part of the poker library connection subsystem. GonnectorFactory 303 generates a connector 304 for the document. As mentioned above, the Connector monitors the nodes in the source D OM and modifies the nodes in the destination DOM to maintain consistency between the two representations.
[0173] Temp late 31 7は、 いくつかのノードの変換ルールを表す。 ポキヤブラリ コネクション記述子 (VCD) ファイルは、 特定のパス又はルールを満たす 要素又は要素の集合を他の要素に変換するいくつかのルールを表す Template のリストである。 Temp late 31 7及び GommandTemplate 31 8は、 全て VGMana ger302にアタッチされる。 VGManagerは、 V C Dファイル中の全てのセク シヨンを管理するオブジェク トである。 1つの VCDファイルに対して、 1 つの VGManagerォブジヱク 卜が生成される。  [0173] Temp late 31 7 represents a conversion rule of several nodes. A poker library connection descriptor (VCD) file is a list of Templates that represent a number of rules that transform an element or set of elements that satisfy a particular path or rule into another element. Temp late 31 7 and GommandTemplate 31 8 are all attached to VGMana ger302. VGManager is an object that manages all sections in a V CD file. One VGManager object is generated for one VCD file.
[0174] 図 22 (c) は、 Connectorに関連する更なる詳細を提供する。 GonnectorF actory 303 (i ソ一ス文書から Connector ¾:生成する。 ConnectorFactory 3 03は、 Vocabulary, Template, 及び ElementTemplateにアタッチされ、 それ ぞれ、 Vocabu I aryConnector TemplateConnector El ementGonnectorを生成 ずる。 [0174] Figure 22 (c) provides further details related to the Connector. GonnectorF actory 303 (Connect ¾: Generate from i source document. ConnectorFactory 3 03 is attached to Vocabulary, Template, and ElementTemplate Each creates a Vocabu IaryConnector TemplateConnector ElementGonnector.
[0175] VGManager 302は、 GonnectorFactory 303を保持する。 Vocabularyを生 成するために、 対応する V CDファイルが読み込まれる。 こうして、 Connect orFactory 303力《生成される。 この GonnectorFactory 303は、 Zoneを生成 する ZoneFactory及び Canvasを生成する Editletに関連する。  [0175] The VGManager 302 holds a GonnectorFactory 303. The corresponding VCD file is read to generate the Vocabulary. In this way, Connect orFactory 303 force << is generated. This GonnectorFactory 303 is related to a ZoneFactory that generates a Zone and an Editlet that generates a Canvas.
[0176] つづいて、 ターゲットポキヤブラリの EditletServiceが、 VGGanvasを生成 する。 VGGanvasも、 ソース D OMツリー又は Zoneにおける ApexNodeの Connect orを生成する。 必要に応じて、 子の Connectorが再帰的に生成される。 Gonnec torTreeは、 V C Dファイル中のテンプレー卜の集合により生成される。  [0176] Next, the EditletService of the target platform generates a VGGanvas. VGGanvas also creates an ApexNode Connect or in the source DOM tree or Zone. Child connectors are recursively generated as needed. Gonnec torTree is created by the set of templates in the V CD file.
[0177] テンプレートは、 マークアップ言語の要素を他の要素に変換するためのル —ルの集合である。 例えば、 各テンプレートは、 ソース DOMツリー又は Zon eにマッチされる。 適切にマッチした場合には、 頂点 Connectorが生成される 。 例えば、 テンプレート 「A/*/D」 は、 間にどんなノードがあるかに関係なく 、 ノード Aで始まりノード Dで終わる全ての枝に合致する。 同様に、 「〃B」 は、 ルートからの全ての 「B」 ノードに一致する。  [0177] A template is a set of rules for converting markup language elements into other elements. For example, each template is matched to the source DOM tree or Zone. If it matches properly, a vertex connector is created. For example, the template “A / * / D” matches all branches that start at node A and end at node D, regardless of what nodes are in between. Similarly, “〃B” matches all “B” nodes from the root.
[0178] N. GonnectorTreeに関係する VCDファイルの例  [0178] Example of VCD file related to N. GonnectorTree
特定の文書と関係する処理を説明する例を続ける。 ドキュメントタイ トル のある 「MySampleXML」 というタイ トルの文書が文書処理システムにロードさ れる。 図 23は、 「MySampleXML」 ファイルのための、 VGManager及び Connect orFactoryTreeを用いた V C Dスクリプ卜の例を示す。 スクリプトファイル中 のポキヤブラリセクシヨン、 テンプレートセクションと、 VGManagerにおける 対応するコンポーネントが示される。 タグ 「vcd: vocabu laryj において、 属 性 「match」 は 「sample: rootj 、 「label」 は 「MySampl eXMLj 、 「calト temp latej は 「sample templatej となってしゝる。  Continuing with the example describing the processing associated with a particular document. A document with the title “MySampleXML” with a document title is loaded into the document processing system. Figure 23 shows an example VCD script using VGManager and Connect orFactoryTree for the “MySampleXML” file. Shows the section, template section and corresponding components in VGManager in the script file. In the tag “vcd: vocabularyj”, the attribute “match” is “sample: rootj”, “label” is “MySampl eXMLj”, “cal temp latej is“ sample templatej ”.
[0179] この例では、 Vocabularyは、 「MySampl eXML」 の VGManagerにおいて 「sampl e: root j として頂点要素を含む。 対応する U Iラベルは、 「MySampl eXMLj で ある。 テンプレートセクションにおいて、 タグは 「vcd: templatej であり、 ¾ Hij (i 「sample: tempi ate」 である。 [0179] In this example, Vocabulary includes a vertex element as “sampl e: root j in the VGManager of“ MySampl eXML ”. The corresponding UI label is“ MySampl eXMLj. In the template section, the tag is “vcd: templatej, ¾ Hij (i “sample: tempi ate”.
[0180] O. ファイルがシステムにロードされる方法の詳細な例 [0180] O. Detailed example of how files are loaded into the system
図 24— 28は、 文書 「MySampleXML」 のロードについての詳細な記述を示 す。 図 24 (a) に示されるステップ 1では、 文書がストレ一ジ 1 405力、 らロードされる。 DOMServiceは、 D OMツリー及び DocumentManager 1 406 と対 <、する DocumentGontaineM 401を生成する。 DocumentGontaineM 4 01は、 DocumentManager 1 406にアタッチされる。 文書は、 XHTML及 び MySampleXMLのサブツリーを含む。 X H T M Lの ApexNode 1 403は、 タグ rxhtml :htmlj が付された X H T M Lの最上のノードである。 「MySampleXML 」 の ApexNode 1 404は、 タグ 「sample: rootj が付された 「MySampl eXMLj の最上ノードである。  Figure 24-28 shows a detailed description of loading the document “MySampleXML”. In step 1 shown in Figure 24 (a), the document is loaded from storage 1 405 forces. The DOMService generates a DocumentGontaineM 401 that matches the D OM tree and DocumentManager 1 406. DocumentGontaineM 4 01 is attached to DocumentManager 1 406. The document contains XHTML and MySampleXML subtrees. ApexNode 1 403 of XH T M L is the top node of X H T M L to which the tag rxhtml: htmlj is attached. ApexNode 1 404 of “MySampleXML” is the top node of “MySampl eXMLj” with the tag “sample: rootj”.
[0181] 図 24 (b) に示されるステップ 2では、 RootPaneが文書の XHTMLZone、 Fa cet、 及び Canvasを生成する。 Panel 407、 XHTMLZone 1 408、 XHTMLCanv as 1 409、 及び BoxTree 1 41 0が、 ApexNode 1 403に対応して生成され る。  [0181] In step 2 shown in Fig. 24 (b), RootPane generates XHTMLZone, Facet, and Canvas of the document. Panel 407, XHTMLZone 1 408, XHTMLCanvas 1 409, and BoxTree 1 410 are generated corresponding to ApexNode 1 403.
[0182] 図 24 (c) に示されるステップ 3では、 XHTMLZoneが知らないタグ 「samp le:root」 を発見し、 XHTMLGanvasの領域から SubPaneを生成する。  [0182] In step 3 shown in Fig. 24 (c), a tag "samp le: root" that XHTMLZone does not know is found and a SubPane is generated from the XHTMLGanvas area.
[0183] 図 25に示されるステップ 4では、 SubPaneが 「sample: rootj を扱うこと ができ、 適切な Zoneを生成可能な ZoneFactoryを得る。 この ZoneFactoryは、 Z oneFactoryを実行可能な Vocabulary内にある。 それは、 「MySampl eXML」 の Vo cabu I arySect i onの内容を含む。  [0183] In Step 4 shown in Fig. 25, SubPane can handle "sample: rootj and obtain a ZoneFactory that can generate an appropriate Zone. This ZoneFactory is in a Vocabulary where ZoneFactory can be executed. It contains the contents of the Vo Ibu IarySection on “MySampl eXML”.
[0184] 図 26に示されるステップ 5では、 「MySampleXML」 に対応する Vocabulary 力《DefaiHtZone 1 601を生成する。 対応する Editletが生成され、 対応する G anvasを生成するために SubPane 1 501が提供される。 Editletは、 VGGanvas ¾:生成する。 そして、 それは TemplateSection¾rP乎 、。 GonnectorFactoryTree も含まれてし λる。 GonnectorFactoryTreeは、 GonnectorTreeとなる全ての Gonn ector¾r生成する。 In step 5 shown in FIG. 26, a Vocabulary force << DefaiHtZone 1 601 corresponding to “MySampleXML” is generated. A corresponding Editlet is created and SubPane 1 501 is provided to create a corresponding Ganvas. Editlet is generated as VGGanvas ¾ :. And that's TemplateSection¾rP 乎. GonnectorFactoryTree Ru was also included λ. GonnectorFactoryTree creates all Gonn ector¾r that will become GonnectorTree.
[0185] 図 27に示されるステップ 6では、 各 Connectorがデスティネーション DO Mオブジェク トを生成する。 コネクタのうちのいくつかは xpath情報を含んで いる。 xpath情報は、 変更/修正を監視する必要のあるソース DO Mツリーの 部分集合を決定するために使用される 1以上の xpath表現を含む。 [0185] In step 6 shown in Figure 27, each connector is a destination DO Generate an M object. Some of the connectors contain xpath information. The xpath information contains one or more xpath expressions that are used to determine the subset of the source DOM tree that needs to be monitored for changes / modifications.
[0186] 図 28に示されるステップ 7では、 ポキヤブラリは、 ソース DOMのペイ ンからデスティネ一シヨン D O Mッリ一の Dest i nat i onPaneを作成する。 これ は、 SourcePaneに基づいてなされる。 デスティネーションツリーの ApexNode は、 DestinationPane及び对 j心する Zoneにアタッチされる。 Dest i nat ionPane は、 DestinationGanvasを生成し、 文書をデスティネーションのフォーマット でレンダリングするためのデータ構造及びコマンドを構築する、 自身の Editl etを提供される。 [0186] In step 7 shown in FIG. 28, the Pocabulary creates a Destination DOM i onPane from the source DOM pane. This is done based on the SourcePane. The ApexNode in the destination tree is attached to the DestinationPane and the corresponding Zone. The DestinationPane is provided with its own Editlet that creates a DestinationGanvas and builds data structures and commands to render the document in the destination format.
[0187] 図 29 (a) は、 対応するソースノードを持たず、 デスティネーションッ リーにのみ存在するノード上でィベン卜が発生したときのフローを示す。 マ ウスイベント、 キーボードイベントなど、 Canvasが取得したイベントは、 デ スティネーシヨンッリ一を通過して、 E I ementTemp I ateConnectorに伝達され る。 ElementTemplateGonnectorは対応するソースノードを持たないので、 伝 達されたィベントはソースノードに対する編集操作ではない。 ElementTempla teGonnectorは、 伝達され rニイベン卜が GommandTemplateに記述されたコマン ドに合致すれば、 それに対応する Actionを実行する。 合致するコマンドがな ければ、 El ementTemp I ateConnectorは、 伝達されたィベン卜を無視する。  [0187] Figure 29 (a) shows the flow when an event occurs on a node that does not have a corresponding source node and exists only in the destination tree. Events acquired by Canvas, such as mouse events and keyboard events, are passed to the destination interface and transmitted to the EI ementTemp IateConnector. Since ElementTemplateGonnector does not have a corresponding source node, the transmitted event is not an edit operation on the source node. ElementTemplateGonnector executes the corresponding Action if it is communicated and the new event matches the command described in GommandTemplate. If there is no matching command, El ementTemp IateConnector ignores the transmitted event.
[0188] 図 29 (b) は、 TextOfGonnectorによりソースノードに対応づけられてい るデスティネーションツリーのノード上でィベン卜が発生したときのフロー を示す。 TextOf Connectorは、 ソース D OMツリーの X P a t hで指定された ノードからテキストノードを取得して、 デスティネーション DOMツリーの ノードにマッピングする。 マウスイベント、 キ一ポ一ドイベントなど、 Ganva sが取得したイベントは、 デスティネーションツリーを通過して、 TextOfGonn ectorに伝達される。 TextOf Connectorは、 伝達されたイベントを、 対応する ソースノードの編集コマンドにマッピングし、 Queuel 053に積む。 編集コ マンドは、 Facetを介して実行される DOMの A P Iコールの集合である。 キ ユーに積まれたコマンドが実行されると、 ソースノードが編集される。 ソ一 スノードが編集されると、 ミューテ一シヨンイベントが発行され、 リスナー として登録された TextOfGonnectorにソースノードの変更が通知される。 Text OfGonnectorは、 ソースノードの変更を、 対応するデスティネーションノード に反映させるように、 デスティネーションツリーを再構築する。 このとき、 T extOf Connectorを含むテンプレートに、 「for eachj や 「for l oopj などの 制御文が含まれている場合、 GonnectorFactoryがこの制御文を再評価し、 Tex tOfGonnectorを再構築した後、 デスティネーションツリーが再構築される。 [0188] Figure 29 (b) shows the flow when an event occurs on the node of the destination tree associated with the source node by TextOfGonnector. The TextOf Connector gets the text node from the node specified by XP ath in the source D OM tree and maps it to the node in the destination DOM tree. Events acquired by Ganva s, such as mouse events and keyword events, pass through the destination tree and are transmitted to TextOfGonn ector. TextOf Connector maps the transmitted event to the corresponding edit command of the source node, and loads it in Queuel 053. An edit command is a set of DOM API calls that are executed via Facet. Ki When a command loaded on the user is executed, the source node is edited. When the source node is edited, a mutation event is issued, and the change of the source node is notified to the TextOfGonnector registered as a listener. Text OfGonnector reconstructs the destination tree so that changes in the source node are reflected in the corresponding destination node. At this time, if a control statement such as “for eachj or“ for l oopj ”is included in the template that includes T extOf Connector, GonnectorFactory re-evaluates this control statement and reconstructs Tex tOfGonnector. The tree is rebuilt.
[0189] (第 1の実施の形態)  [0189] (First embodiment)
第 1の実施の形態では、 新たな X M Lの利用技術を提案する。 さらに、 新 たなプログラミング / ラダィムを提案する。  In the first embodiment, a new XML utilization technology is proposed. In addition, a new programming / radame is proposed.
[01 90] 前述したように、 ウェブページの作成者は、 V Bスクリプトを用いて A c t i v e Xコントロールを制御し、 さまざまな機能を有するウェブページを 作成することができるようになつている。 し力、し、 A c t i v e Xコント口 —ル自体は内部がブラックボックス化されており、 A c t i v e Xコント口 —ルの機能を自由にカスタマイズしたり、 複数の A c t i v e Xコント口一 ル同士を直接連携して動作させたりすることはできない。  [01 90] As described above, the creator of a web page is able to create a web page having various functions by using the V B script to control the Active X control. The Active X controls themselves are black-boxed inside, so you can freely customize the functions of the Activ X controls and connect multiple Activ X controls to each other. It cannot be operated directly in cooperation.
[0191 ] 本発明者は、 前提技術で説明した X M Lの処理技術が、 このような課題を 解決するのに適した技術であることに気づいた。 従来の一般的なアブリケ一 シヨンは、 自身の動作に必要なデータを独自に定めたバイナリフォーマツト で保持しているため、 外部からの参照を可能とする A P Iが特別に用意され ていない限り、 内部のデータを外部から参照して利用することはできなかつ た。 し力、し、 アプリケーションが利用するデータを X M Lの形式で保持する ことにより、 前提技術で説明した技術を利用して、 他のアブリケ一シヨンか らも容易にデータを参照することが可能となる。 すなわち、 前提技術の文書 処理装置 2 0は X M L文書を D O Mの形式で保持するので、 D O Mが標準的 に提供する A P Iを用いて外部から自由にデータにアクセスすることができ る。 このような 「ホワイ トボックス」 とも言うべき技術を利用して、 より柔 軟性の高いプログラミングパラダイムを構築できる。 本発明者は、 前提技術 で説明した X M Lの処理技術を更に進め、 後述するような新たな X M Lの利 用技術を想到した。 [0191] The present inventor has realized that the XML processing technology described in the base technology is a technology suitable for solving such a problem. Conventional general archiving stores data necessary for its own operation in its own binary format, so unless an API that allows external reference is prepared, It was not possible to refer to the internal data from outside. By holding the data used by the application in XML format, it is possible to easily reference data from other publications using the technology described in the base technology. . In other words, the document processing apparatus 20 of the base technology holds the XML document in the DOM format, so that data can be freely accessed from the outside using the API provided by the DOM as a standard. Using this technology that should be called a “white box”, Build a highly flexible programming paradigm. The present inventor has further advanced the XML processing technology described in the prerequisite technology, and has come up with a new XML usage technology as described later.
[0192] ここで、 XM L文書のデータ構造と、 その XM L文書の処理技術の関係に ついて説明する。 図 30 (a) (b) (c) は、 処理対象となる XML文書 のデータ構造の例を示す。 最も単純な例としては、 図 30 (a) に示すよう に、 単一のポキヤブラリで記述された XM L文書がある。 この X ML文書の 処理系は、 例えば、 X H TM Lで記述されたウェブページを表示するブラウ ザのように、 特定のポキャプラリで記述された X M L文書を処理できればよ い。  [0192] Here, the relationship between the data structure of an XML document and the processing technology of the XML document will be described. Figures 30 (a), (b), and (c) show examples of the data structure of the XML document to be processed. The simplest example is an XML document written in a single Pocabulary, as shown in Figure 30 (a). The processing system of this XML document only needs to be able to process an XML document described in a specific vocabulary, such as a browser that displays a web page described in XHTML.
[0193] これに対し、 本出願人は、 前提技術で説明したように、 図 30 (b) に示 すような、 あるポキヤブラリの構成要素 (図中、 白丸で示す) と、 別のポキ ャブラリの構成要素 (図中、 黒丸で示す) とが混在した X ML文書を適切に 処理可能な文書処理装置を開発した。 前提技術の文書処理装置 20では、 さ まざまな X M Lポキャプラリを組み合わせた X M L複合文書に対し、 起動部 の一例である主制御ュニット 22により各フラグメントごとに適切な処理系 が呼び出され、 処理を分担してビューを構築し、 ユーザの編集操作にあわせ て XM L複合文書を編集することができる。 これらの処理系は、 J a v a ( 登録商標) などにより開発されたハードコードプラグイン (例えば、 HTM Lユニット 50や S VGユニット 60) の場合もあるし、 定義ファイルに記 述され VCュニット 80により実行されるスクリプトベースの場合もある。 X H T M Lなどのメジヤーポキャブラリならば/、一ドコ一ドブラグインが用 意されているし、 ユーザのプライべ一トポキヤブラリなら定義ファイルで記 述することになるだろう。 このような技術により、 例えば図 30 (b) に示 す例において、 XHTML (白丸の構成要素) で記述された文書に、 グラフ 表示用のポキヤブラリ (黒丸の構成要素) で記述された部分文書を挿入し、 X H TM L文書の画面にグラフを配置することが可能である。  [0193] On the other hand, as described in the base technology, the applicant of the present invention, as shown in Fig. 30 (b), has a certain component of a library (indicated by white circles) and another one. We have developed a document processing device that can properly process XML documents that contain the following components (indicated by black circles). In the base technology document processing device 20, an appropriate processing system is called for each fragment by the main control unit 22, which is an example of the activation unit, for an XML compound document that combines various XML vocabularies. You can build a view and edit the XML compound document according to the user's editing operation. These processing systems may be hard-coded plug-ins (for example, HTM L unit 50 and S VG unit 60) developed by Java (registered trademark), etc., or written in the definition file according to VC unit 80. Sometimes it is script-based. If it is a media vocabulary such as XHTML, a one-word plug-in is provided, and if it is a user's private library, it will be described in a definition file. With this technology, for example, in the example shown in Fig. 30 (b), a document described in XHTML (components with white circles) is replaced with a partial document described with a library for displaying graphs (components with black dots). It is possible to insert and place a graph on the screen of an XH TM L document.
[0194] ここで、 XM Lフラグメントと処理系の関係に着目してみる。 処理系は X M Lフラグメン卜に呼び出され、 XM Lの内容をもとにビューを構築する。 そして、 ュ一ザのおこす U Iイベントを取得して、 XMLを編集する。 これ は、 見方を変えれば、 特定のポキヤブラリに対する表示と編集を担当する処 理系を、 そのポキヤブラリの XM Lフラグメントを引数にして呼び出してい ると捉えることができる。 [0194] Let us focus on the relationship between the XML fragment and the processing system. Processing system is X Called by the ML fragment, and builds a view based on the contents of XML. Then, get UI events from the user and edit the XML. From a different point of view, it can be understood that the processing system responsible for displaying and editing a specific library is called with the XML fragment of that library as an argument.
[0195] 本発明者は、 このようなフレームワークを利用して、 もっと自由で柔軟な 処理系の実行環境を提供できることに気づいた。 すなわち、 処理系は、 ある XMLを表示■編集するだけにとどまらず、 もっと自由に、 さまざまな処理 を行ってもよい。 例えば、 XM Lフラグメント中のデータをもとに、 Web Ser vice APIを通じてサーバにアクセスしてもよいし、 要約や翻訳などの自然言 語処理を行ってもよい。 XM Lフラグメントは処理系を起動するときの引数 でもあるが、 同時に動作中に利用するヒープメモリの役割も果たすことにな る。 このように考えると、 前提技術の文書処理装置 20は、 X ML文書中に プロシージャ (処理系) を起動するための 「タグ」 をおき、 引数をアトリビ ユート (属性) として指示したり、 タグで囲まれたテキスト部分を操作対象 としてプロシージャが実行されるという、 ユニークなプログラムの実行環境 であることがわかる。  [0195] The present inventor has realized that a more free and flexible processing system execution environment can be provided by using such a framework. In other words, the processing system is not limited to displaying and editing a certain XML, but may perform various processes more freely. For example, the server may be accessed through the Web Service API based on the data in the XML fragment, or natural language processing such as summarization and translation may be performed. The XML fragment is also an argument when starting the processing system, but at the same time, it plays the role of heap memory used during operation. Considering this, the document processing device 20 of the base technology places a “tag” to start the procedure (processing system) in the XML document, and designates the argument as an attribute (attribute). It can be seen that this is a unique program execution environment where the procedure is executed with the enclosed text part as the operation target.
[0196] 本実施の形態では、 新たな XML文書のデータ構造として、 図 30 (c) に示すようなデータ構造を提案する。 図 30 (c) において、 斜線を付した 構成要素 25は、 文書中の他のデータ 26へのポインタ情報を有している。 この構成要素 25が属するポキヤブラリを担当する処理系は、 ポインタ情報 により指し示されたデータ 26を参照して動作する。 例えば、 前述したよう に、 X H TM L文書中にグラフを揷入するときに、 図 30 (b) のようにグ ラフのデータの実体をグラフ表示用ポキヤブラリで記述するのではなく、 X H T M L文書中に記述された他のデ一タを参照してグラフを生成する。 この ようなデータ構造とすることにより、 文書中の他のデータ、 又は、 他文書の データを参照して動作するアプリケーションを構築することができる。  [0196] In the present embodiment, a data structure as shown in Fig. 30 (c) is proposed as a data structure of a new XML document. In FIG. 30 (c), the component 25 indicated by hatching has pointer information to other data 26 in the document. The processing system in charge of the library to which this component 25 belongs operates by referring to the data 26 indicated by the pointer information. For example, as described above, when a graph is inserted into an XHTML document, the entity of the graph data is not described in the graph display platform as shown in Fig. 30 (b), but in the XHTML document. A graph is generated with reference to other data described in (1). By adopting such a data structure, it is possible to construct an application that operates by referring to other data in the document or data of another document.
[0197] 文書処理装置は、 文書に含まれる構成要素の名前空間を参照して、 適切な 処理系を起動する。 したがって、 図 3 0 ( c ) の例では、 斜線を示した構成 要素 2 5は、 グラフ表示用の処理系を起動する機能を有している。 そして、 起動された処理系は、 その構成要素 2 5の配下に存在する構成要素を処理す るのではなく、 その構成要素 2 5が有するポインタ情報により指し示された データ 2 6を参照して動作する。 この構成要素 2 5は、 文書におけるグラフ の配置位置を示す 「アンカー」 の機能も有している。 構成要素 2 5が有する ポインタ情報は、 構成要素 2 5の属性として指定されてもよいし、 構成要素 2 5自身又はその配下の構成要素の要素値として指定されてもよい。 構成要 素 2 5を含む X M Lフラグメントに、 処理系の動作に必要なパラメータ情報 などを記述しておいてもよい。 [0197] The document processing device refers to the namespace of the component included in the document and Start the processing system. Therefore, in the example of FIG. 30 (c), the component 25 shown with diagonal lines has a function of starting a processing system for displaying graphs. Then, the activated processing system does not process the component existing under the component 25, but refers to the data 26 pointed to by the pointer information of the component 25. Operate. This component 25 also has an “anchor” function that indicates the position of the graph in the document. The pointer information included in the component 25 may be specified as an attribute of the component 25, or may be specified as an element value of the component 25 itself or a subordinate component. Parameter information necessary for the operation of the processing system may be described in the XML fragment containing the component 25.
[01 98] このような技術により、 処理系は、 自分の担当するフラグメントの外側の データについても、 自分自身の動作を調節する引数にしたり、 ヒープ領域と して利用することが可能になる。 つまり、 フラグメント部分には X p a t h 式などで参照位置だけを記入し、 実際の値はその X p a t h式の先にあると いうモデルである。 これは、 例えて言うならば関数の引数にポインタを渡し ていると言うことと等価である。  [0198] With this technology, the processing system can use the data outside the fragment that it is responsible for as an argument that adjusts its own behavior or as a heap area. In other words, the model is such that only the reference position is entered in the fragment part using the Xpaht equation, and the actual value is beyond the Xpaht equation. This is equivalent to saying that a pointer is passed as a function argument.
[01 99] 上述した技術を、 プログラミングパラダイムの観点から考察すると、 文書 中の任意の場所のデータを参照して動作することが可能なアブリケーシヨン ランタイム環境が提供されることになる。 さらに、 上述したように、 文書中 のデータは D O Mの A P Iを利用して任意のアプリケーションから参照可能 であるので、 D O Mとして保持された文書中のデータを共有メモリとして利 用可能な新しいプログラミング環境が提供される。 文書には、 アプリケ一シ ヨンを起動するための構成要素 2 5が記述され、 その構成要素 2 5を契機と して起動されたアプリケーションが、 その構成要素 2 5が有するポインタ情 報を参照して、 文書の他のデータ 2 6を共有メモリとして利用する。 このよ うに、 文書とアプリケーションが協働してシームレスに動作するような、 新 しいプログラミングパラダイムが実現される。  [0199] Considering the above-described technique from the viewpoint of a programming paradigm, an application runtime environment that can operate by referring to data at any location in a document is provided. Furthermore, as described above, data in a document can be referenced from any application using the DOM API. Therefore, there is a new programming environment that can use data in a document held as a DOM as a shared memory. Provided. In the document, the component 25 for starting the application is described, and the application started with the component 25 refers to the pointer information of the component 25. The other data 26 of the document is used as a shared memory. In this way, a new programming paradigm is realized in which documents and applications work together seamlessly.
[0200] 文書処理装置 2 0は、 D O Mが変更されたときに、 ミューテ一シヨンィべ ントにより変更を通知する機能を有しているので、 グラフ表示用の処理系が 参照しているデータ 2 6力 他の処理系により変更されたとしても、 グラフ 表示用の処理系に変更を通知することにより、 適切に変更を反映させること ができる。 このように、 複数のアプリケーションが同一のデータを参照して 動作している場合であっても、 適切にデータの連携が図られるので、 容易に 複数のアプリケーションを連携して動作させることができる。 複数の処理系 が同じポインタを参照して動作することは、 言ってみれば、 X M L文書をシ エア一ドメモリとした処理系の連携である。 [0200] The document processing device 20 can detect the mutation when the DOM is changed. The data is referred to by the graph display processing system 2 6 force even if it is changed by another processing system, the change is notified to the graph display processing system. By doing so, changes can be appropriately reflected. In this way, even when multiple applications are operating with reference to the same data, the data can be linked appropriately, so that multiple applications can be easily linked to operate. The fact that multiple processing systems operate with reference to the same pointer is, in other words, the cooperation of processing systems that use XML documents as shared memory.
[0201 ] 従来のスプレッドシートアプリケーションでは、 セルの中に計算式を記入 することで計算プロシージャを起動することができた。 また、 グラフを埋め 込む場合には、 参照するセルの範囲を指定し、 そのセル内のデータを使って グラフを生成するのが一般的である。 本実施の形態の技術は、 このモデルを X M L複合文書に持ち込み、 X M Lならではの特徴を盛り込んだものといえ る。 [0201] In a conventional spreadsheet application, a calculation procedure could be started by entering a calculation formula in a cell. When embedding a graph, it is common to specify a range of cells to be referenced and generate a graph using the data in that cell. It can be said that the technology of this embodiment brings this model into the XML compound document and incorporates the features unique to XML.
[0202] スプレツドシートアプリケーションを使い、 集計機能やグラフによる表示 機能を持たせた 「機能的な」 文書を作れば、 ユーザはこの文書を利用してデ —タを入力したり、 再計算をしたり、 結果をシミュレートしながらオペレー シヨンをこなすことができる。 本実施の形態の文書処理装置でも同様に、 上 述した技術を利用してさまざまなプロシージャ (処理系) を連携させ、 さま ざまな目的に特化した 「機能的な」 X M L複合文書を作ることができる。 し かも、 スプレッドシートアプリケーションとは違い、 透過的で拡張性に富む 、 オープンな X M L技術に基づいたプラットフオームを実現することができ る。 ユーザは、 これらの機能的な X M L文書を使っていろいろなオペレ一シ ヨンをこなすことができる。  [0202] Using a spreadsheet application, if you create a "functional" document with a tabulation function and a graph display function, the user can enter data and recalculate using this document. Or you can manipulate the results while simulating the results. Similarly, the document processing apparatus of the present embodiment uses the above-described technology to link various procedures (processing systems) to create “functional” XML compound documents specialized for various purposes. Can do. What's more, unlike spreadsheet applications, it is possible to implement a platform based on open, XML technology that is transparent and scalable. Users can use these functional XML documents to perform various operations.
[0203] 図 3 1 ( a ) ( b ) は、 ポインタ情報の例を示す。 図 3 1 ( a ) は、 ボイ ンタ情報が X p a t h式で記述される場合の例を示す。 この例では、 処理系 が参照すべきデータ 2 6の位置を示すポインタ情報は、 X p a t h式で記述 されている。 処理系は、 この X p a t h式により、 自身が参照すべきデータ 2 6の位置を知ることができる。 [0203] Figures 3 1 (a) and (b) show examples of pointer information. Figure 31 (a) shows an example when the pointer information is described by an X path expression. In this example, pointer information indicating the position of data 26 to be referred to by the processor is described by an X path expression. The processor uses this X path expression to specify the data that it should reference. 2 6 can know the position.
[0204] 図 3 1 ( b ) は、 ポインタ情報が概念情報で与えられる場合の例を示す。  [0204] Figure 3 (b) shows an example where pointer information is given as conceptual information.
構成要素 2 5は、 要素値又は属性値として、 処理系が参照すべきデータ 2 6 の位置を概念的に示す、 明確に規格化された概念情報を含んでいる。 「明確 に規定化された概念情報」 は、 例えば、 オントロジ一技術に基づいた概念情 報であってもよい。 この場合、 この概念情報を解釈して現実のデータを特定 するために、 概念解決エンジン 2 7が設けられる。 概念解決エンジン 2 7は 、 概念情報を取得して、 その概念情報を例えばタグ名に変換する。 概念情報 として 「重要データ」 が指定されている場合は、 概念解決エンジン 2 7は、 例えば、 <重要 >、 < i mportant>、 <社外秘 >などのタグ名を返す。 これに より、 処理系は、 文書中の <重要>などのタグが付されたデータを参照すベ きことが分かる。 概念解決エンジン 2 7に解決を依頼するときに、 どのよう な情報が必要かを指定してもよい。 例えば、 「重要データ」 という概念が指 定されているときに、 英語のタグ名に変換するよう依頼すると、 概念解決ェ ンジン 2 7は、 く i mportant>、 く secret>などのタグ名を返してもよい。  Component 25 contains clearly standardized conceptual information that conceptually indicates the location of data 26 to be referenced by the processor as element or attribute values. The “clearly defined conceptual information” may be, for example, conceptual information based on ontology technology. In this case, a concept solution engine 27 is provided to interpret the concept information and identify the actual data. The concept solution engine 27 acquires the concept information and converts the concept information into, for example, a tag name. When “important data” is specified as concept information, the concept resolution engine 27 returns tag names such as <important>, <i mportant>, and <confidential>, for example. This indicates that the processor should refer to the data with tags such as <Important> in the document. You may specify what information is required when you submit a solution to the concept resolution engine 27. For example, when the concept of “important data” is specified, if you request conversion to an English tag name, the concept resolution engine 2 7 will return tag names such as <i mportant> and <secret>. May be.
[0205] 構成要素 2 5を含む X M Lフラグメントに、 処理系の動作に必要なパラメ —タ情報を記述しておく場合に、 パラメータ情報の一つとして、 ポインタ情 報が指し示す先のデータについての、 明確に規定化された意味的な型情報を 記述してもよい。 「明確に規定化された意味的な型情報」 は、 例えば、 オン トロジ一技術に基づいた意味的な型情報であってもよい。 例えば、 ポインタ 情報として 「重要」 という概念が指定されていた場合、 意味的な型情報とし て 「経営的に」 「営業的に」 などの情報が指定されてもよい。 また、 ポイン タ情報として 「金額」 という概念が指定されていた場合、 意味的な型情報と して 「売上金」 「希望小売価格」 「借入金」 などの情報が指定されてもよい 。 これにより、 処理系は、 セマンティックな型の整合性をチェックすること ができる。  [0205] When the parameter information required for the operation of the processing system is described in the XML fragment including component 2 5, as one of the parameter information, the destination data indicated by the pointer information It may describe semantic type information that is clearly specified. “Separately defined semantic type information” may be, for example, semantic type information based on ontology technology. For example, when the concept of “important” is designated as the pointer information, information such as “management” and “business” may be designated as the semantic type information. In addition, when the concept of “amount” is specified as the pointer information, information such as “sales money”, “recommended retail price”, and “borrowing money” may be specified as semantic type information. This allows the processor to check semantic type consistency.
[0206] 従来のプログラミング言語では、 型にセマンティックな意味を持たせるこ とはできない。 例えば、 数値型である 「 i n t」 型の場合、 代入される数値 が整数であるか否かという整合性のチェックは可能であるが、 代入される数 値の意味的な整合性をチェックすることはできない。 このため、 例えば人月 計算をする処理において、 誤って人と月を加算したり、 人と人を乗算してし まったりしても、 プログラミング言語としては意味的な間違いを認識するこ とはできない。 これに対して、 本実施の形態の技術によれば、 同じ金額であ つても 「売上金」 なのか 「借入金」 なのか、 あるいは 「1円単位」 なのか 「 千ドル単位」 なのか、 「人数」 なのか 「年月」 なのか、 などのセマンティッ クな整合性の確認が可能となる。 処理系が意味的な型の整合性を確認すると きには、 例えば、 概念解決エンジン 2 7を利用して、 参照するデータのタグ 名が、 指定された意味的な型情報に整合しているか否かをチェックするよう にしてもよい。 [0206] In traditional programming languages, types cannot have semantic meaning. For example, in the case of "int" type that is numeric type, the numeric value to be assigned Although it is possible to check the consistency of whether or not is an integer, it is not possible to check the semantic consistency of the number to be assigned. For this reason, for example, in the process of calculating the person-month, even if the person and the month are mistakenly added or the person and the person are multiplied, the programming language cannot recognize a semantic error. . On the other hand, according to the technology of the present embodiment, whether it is “sales” or “borrowing”, “1 yen unit” or “thousand dollar unit”, Semantic consistency such as “number of people” or “year” can be confirmed. When the processor confirms the semantic type consistency, for example, using the concept resolution engine 27, is the tag name of the data to be referenced consistent with the specified semantic type information? You may check whether or not.
[0207] オントロジ一技術を利用してデータに意味的な型情報を与える技術は、 新 しいプログラミング技術として汎用的に利用可能である。 このように、 セマ ンティックな技術思想を含むプログラミング技術を、 従来のプログラミング 技術と対比して、 「セマンティックプログラミング」 と呼ぶ。  [0207] Technology that gives semantic type information to data using ontology technology can be used universally as a new programming technology. In this way, programming techniques that include a semantic technical concept are called “semantic programming” in contrast to conventional programming techniques.
[0208] ここで、 セマンティックプログラミング技術の一例として、 前提技術で説 明した D O Mュニット 3 0によるミューテ一シヨンィベン卜の拡張について 説明する。 D O Mが変更されたとき、 その D O Mに 「明確に規格化された意 味的な型情報」 が含まれていれば、 その型情報を参照している処理系にミュ 一テーシヨンイベントが発行される。 逆の表現をすると、 処理系は自分が変 更を監視したい D O Mを直接指定するだけでなく、 「明確に規格化された意 味的な型情報」 でも間接的に指定することができる。  [0208] Here, as an example of the semantic programming technique, an explanation will be given of the expansion of the mutation event by the D O unit 30 described in the base technology. When a DOM is changed, if the DOM contains “standardized meaningful type information”, a mutation event is issued to the processing system that references the type information. The In other words, the processor can not only directly specify the DOM that it wants to monitor for changes, but can also indirectly specify “significantly standardized semantic type information”.
[0209] 図 3 2 ( a ) ( b ) は、 D O Mの変更を通知する仕組みを説明するための 図である。 図 3 2 ( a ) は、 前提技術の文書処理装置 2 0におけるミューテ ーシヨンイベントの仕組みを示す。 処理系 2 9は、 変更を監視すべきノード を X p a t h式などで指定し、 ミューテ一シヨンィベン卜のリスナーとして 登録する。 D O Mユニット 3 0は、 D O Mが変更されると、 登録されたリス ナ一に対してミューテ一シヨンィベントを発行する。 [0210] 図 3 2 ( b ) は、 本実施の形態で新たに提案するミューテ一シヨンィベン 卜の仕組みを示す。 文書処理装置 2 0に、 ミューテ一シヨンイベントの通知 を仲介する通知部 2 8を新たに設ける。 通知部 2 8は、 処理系 2 9から監視 すべきノードの指定を受け付ける。 D O Mユニット 3 0は、 D O Mが変更さ れると、 通知部 2 8にその旨を通知する。 通知部 2 8は、 D O Mユニット 3 0から D O Mの変更を通知されると、 変更されたノードを監視している処理 系 2 9に対してミューテ一シヨンィベントを発行する。 [0209] Figures 3 2 (a) and (b) are diagrams for explaining the mechanism for notifying DOM changes. Figure 3 2 (a) shows the mechanism of the mutation event in the document processing device 20 of the base technology. Processing system 29 specifies the node that should be monitored for changes using the X path expression and registers it as a listener for the mutation event. The DOM unit 30 issues a mutation event to the registered listener when the DOM changes. [0210] Figure 3 2 (b) shows the mechanism of the mutation event newly proposed in this embodiment. The document processing device 20 is newly provided with a notification unit 28 that mediates notification of mutation events. The notification unit 28 receives the designation of the node to be monitored from the processing system 29. When the DOM is changed, the DOM unit 30 notifies the notification unit 28 of that fact. When notified of the DOM change from the DOM unit 30, the notifying unit 28 issues a mutation event to the processing system 29 monitoring the changed node.
[021 1 ] 通知部 2 8は、 処理系 2 9が監視すべきノードを X p a t h式により受け 付けてもよいが、 より柔軟で汎用性の高いプログラミング環境を提供するた めに、 明確に規格化された概念情報による指定を受け付けてもよい。 この場 合、 通知部 2 8は、 D O Mユニット 3 0から D O Mの変更を通知されると、 そのノードのタグ名などを概念解決エンジン 2 7に送り、 概念解決エンジン 2 7から、 そのタグ名に対応する概念情報を取得する。 通知部 2 8は、 取得 した概念情報を登録している処理系 2 9に対してミューテ一シヨンィベント を発行する。 これにより、 処理系 2 9は、 例えば 「重要な情報」 が変更され たときに通知するよう通知部 2 8に依頼することができる。 通知部 2 8は、 D O Mュニット 3 0からミューテ一シヨンィベントを受けたときに、 変更さ れたノードが 「重要な情報」 に該当するか否かを概念解決エンジン 2 7を用 いて判定し、 該当していれば処理系 2 9に D O Mの変更を通知する。  [021 1] The notification unit 2 8 may accept the node to be monitored by the processing system 29 using the X path expression, but it is clearly standardized to provide a more flexible and versatile programming environment. The designation based on the converted concept information may be accepted. In this case, when notified of the DOM change from the DOM unit 30, the notification unit 28 sends the tag name of the node to the concept resolution engine 27, and the concept resolution engine 27 sends the tag name to the tag name. Get the corresponding conceptual information. The notification unit 28 issues a mutation event to the processing system 29 in which the acquired conceptual information is registered. Thereby, the processing system 29 can request the notification unit 28 to notify, for example, when “important information” is changed. When the notification unit 28 receives a mutation event from the DOM unit 30, the notification unit 28 determines whether the changed node corresponds to “important information” by using the concept solution engine 27. If applicable, notify the processor 29 of the DOM change.
[0212] このようなセマンティックプログラミング技術により、 より柔軟で汎用性 の高いプログラムを容易に開発することができる。  [0212] With such semantic programming technology, more flexible and versatile programs can be easily developed.
[0213] つづいて、 図 3 0 ( c ) に示したデータ構造を利用して、 様々な機能を有 する文書を編集する技術について説明する。  [0213] Next, a technique for editing a document having various functions using the data structure shown in Fig. 30 (c) will be described.
[0214] 構成要素 2 5が属する名前空間のポキヤブラリの処理系、 すなわち、 構成 要素 2 5により起動される処理系は、 カスタマイズ可能なアプリケーション の部品として提供されてもよい。 以下、 この処理系を、 文書のビューを構成 する部品の意味で、 「ビューテンプレート」 と呼ぶ。 ビューテンプレートは 、 スクリプトベースの定義ファイルとして提供されてもよいし、 ハードコ一 ドプラグィンとして提供されてもよい。 ビューテンプレー卜の機能を利用す るためには、 文書中にビューテンプレー卜のアンカ一となる構成要素 2 5を 記述し、 その構成要素 2 5に、 処理系が参照すべきデータを指し示すポイン タ情報を記述するとともに、 その他、 処理系が必要とする情報を記述してお けばよい。 ビューテンプレートを汎用的に利用可能とするために、 ポインタ 情報を、 明確に規格化された概念情報として指定可能な環境が提供されるの が好ましい。 また、 算術演算、 論理演算、 自然言語処理、 その他の任意の演 算を組み合わせた条件式などを用いて、 参照すべきデータを指定可能として もよい。 [0214] The processing system of the namespace library to which the component 25 belongs, that is, the processing system activated by the component 25 may be provided as a part of a customizable application. In the following, this processing system is called a “view template” in the sense of the parts that make up the document view. A view template may be provided as a script-based definition file or It may be provided as a druppin. To use the functions of the view template 構成, describe the component 2 5 that is the anchor of the view template 中 in the document, and indicate the data that the processor should refer to the component 2 5 In addition to describing the pointer information, other information required by the processing system may be described. In order to make the view template available for general use, it is preferable to provide an environment in which the pointer information can be specified as clearly standardized conceptual information. The data to be referred to may be specified using a conditional expression that combines arithmetic operations, logical operations, natural language processing, and other arbitrary operations.
[0215] 図 3 3は、 実施の形態に係る文書処理装置の構成を示す。 本実施の形態の 文書処理装置 1 0 0は、 図 1に示した前提技術の文書処理装置 2 0の構成に 加えて、 ビューテンプレート制御ュニット 7 0、 取得部 7 1、 及びビューテ ンプレート 7 8を備える。 ビューテンプレート制御ユニット 7 0は、 提示部 7 2、 受付部 7 4、 及び編集部 7 6を含む。  FIG. 33 shows the configuration of the document processing apparatus according to the embodiment. The document processing apparatus 100 according to the present embodiment includes a view template control unit 70, an acquisition unit 71, and a view template 7 8 in addition to the configuration of the document processing apparatus 20 of the base technology shown in FIG. Is provided. The view template control unit 70 includes a presentation unit 72, a reception unit 74, and an editing unit 76.
[0216] 取得部 7 1は、 処理対象となる文書を取得する。 ビューテンプレート 7 8 は、 前述したように、 文書に含まれるデータを利用して所定の機能を発現す る処理系であり、 文書の編集画面の構成部品である。  [0216] The acquisition unit 7 1 acquires a document to be processed. As described above, the view template 78 is a processing system that expresses a predetermined function using data contained in a document, and is a component part of a document editing screen.
[0217] 提示部 7 2は、 文書処理装置 1 0 0において利用可能なビューテンプレー ト 7 8をユーザに提示する。 提示部 7 2は、 文書処理装置 1 0 0にインスト —ルされているビューテンプレート 7 8の一覧を表示画面に提示してもよい し、 編集中の文書の内容に応じて、 利用可能なビューテンプレート 7 8を選 択して提示してもよい。 例えば、 S V G文書を編集中の場合は、 S V G文書 の中に挿入可能なビューテンプレート 7 8を選択して提示してもよい。  [0217] The presentation unit 7 2 presents the user with a view template 78 that can be used in the document processing apparatus 100. The presentation unit 72 may present a list of view templates 78 installed in the document processing apparatus 100 on the display screen, and the available view according to the contents of the document being edited. Template 7 8 may be selected and presented. For example, when an SVG document is being edited, a view template 78 that can be inserted into the SVG document may be selected and presented.
[0218] 受付部 7 4は、 ユーザから、 文書にビューテンプレート 7 8を付加する指 示を受け付ける。 受付部 7 4は、 提示部 7 2が提示したビューテンプレート 7 8の一覧画面に表示されたビューテンプレート 7 8のアイコンをユーザが 編集中の文書の表示画面上にドラッグ &ドロップしたときに、 その位置にビ ユーテンプレート 7 8を挿入する指示を受け付けてもよい。 [0219] 編集部 7 6は、 受付部 7 4がビューテンプレート 7 8の挿入指示を受け付 けたときに、 文書中の挿入を指示された位置に、 そのビューテンプレート 7 8を起動するための構成要素 (タグ) を挿入する。 このとき、 編集部 7 6は 、 ビューテンプレート 7 8が動作に利用するデータの範囲を受け付けるため の画面を提示して、 ユーザからデータの指定を受け付けてもよい。 また、 編 集部 7 6は、 ビューテンプレート 7 8が動作に利用するデータの範囲を自動 的に判定してもよい。 編集部 7 6は、 ビューテンプレート 7 8が動作に利用 するデータのポインタ情報を文書中に記述する。 編集部 7 6は、 さらに、 ビ ユーテンプレート 7 8の動作に必要なパラメータなどを、 ユーザから受け付 けて、 または自動的に判定して、 文書に記述してもよい。 [0218] The accepting unit 74 accepts an instruction from the user to add the view template 78 to the document. When the user drags and drops the icon of the view template 7 8 displayed on the list screen of the view template 7 8 presented by the presentation unit 7 2 onto the display screen of the document being edited, the reception unit 7 4 An instruction to insert a view template 78 at the position may be accepted. [0219] The editing unit 7 6 is configured to activate the view template 7 8 at the position instructed to be inserted in the document when the reception unit 7 4 receives the insertion instruction of the view template 7 8. Insert an element (tag). At this time, the editing unit 76 may present a screen for accepting the range of data used by the view template 78 for operation, and accept the designation of data from the user. The editing unit 76 may automatically determine the range of data used by the view template 78 for operation. The editing section 76 describes the pointer information of the data used by the view template 78 for operation in the document. Further, the editing unit 76 may accept parameters necessary for the operation of the view template 78 from the user or automatically determine and describe them in the document.
[0220] 編集部 7 6がビューテンプレート 7 8を起動するための構成要素を文書中 に追加すると、 主制御ユニット 2 2により、 その構成要素を処理する処理系 、 すなわちビューテンプレート 7 8が起動され、 ビューテンプレート 7 8が 提供するビューが文書の編集画面上に表示される。 以降、 ビューテンプレー ト 7 8が提供する機能が文書の編集画面において利用可能となる。  [0220] When the editing unit 7 6 adds a component for starting the view template 7 8 to the document, the main control unit 22 starts the processing system for processing the component, that is, the view template 7 8. The view provided by the view template 7 8 is displayed on the document editing screen. After that, the functions provided by View Template 78 can be used on the document editing screen.
[0221 ] 図 3 4は、 文書の編集画面の例を示す。 文書の編集画面 9 7には、 提示部 7 2によりビューテンプレートパレツト 9 8が表示されている。 編集中の文 書には、 個人のスケジュール、 T o D o、 電子メールなどの情報が格納され ているが、 図 3 4に示した編集画面 9 7では、 それらの情報にビューが与え られていないので、 表示されていない。  [0221] Figure 34 shows an example of a document editing screen. On the document editing screen 9 7, a view template palette 9 8 is displayed by the presentation unit 72. The document being edited contains information such as the personal schedule, To Do, and e-mail, but the edit screen shown in Figure 34 shows a view on the information. It is not displayed because it is not.
[0222] ここで、 ユーザが、 ビューテンプレートパレット 9 8の中から、 スケジュ —ルを表示するためのビューテンプレート 7 8を選択して、 編集画面上にド ラッグ &ドロップすると、 受付部 7 4によりこの要求が受け付けられ、 編集 部 7 6により文書の所定位置にスケジュール表示用のビューテンプレート 7 8を起動するための構成要素が挿入される。 このとき、 編集部 7 6は、 この 構成要素の属性値として、 文書中のスケジュール情報が格納された部分のポ インタ情報を記述する。  [0222] Here, when the user selects a view template 7 8 for displaying a schedule from the view template palette 9 8 and drags and drops it on the edit screen, the reception unit 7 4 This request is accepted, and the editing unit 76 inserts a component for starting the view template 78 for schedule display at a predetermined position of the document. At this time, the editing unit 76 describes the pointer information of the part storing the schedule information in the document as the attribute value of this component.
[0223] 図 3 5は、 スケジュール用のビューテンプレート 7 8が起動された状態の 編集画面を示す。 編集部 7 6により、 スケジュール用のビューテンプレート 7 8を起動するための構成要素が文書に挿入されると、 起動部の一例である 主制御ュニット 2 2により、 その構成要素を処理するビューテンプレート 7 8、 すなわちスケジュール用のビューテンプレート 7 8が起動され、 ポイン タ情報で指し示された部分に記述されているスケジュール情報 9 9が表形式 で表示される。 [0223] Figure 3 5 shows the view template for schedule 7 8 activated The edit screen is shown. When a component for starting up a view template 7 8 for scheduling is inserted into a document by the editing unit 7 6, a view template 7 that processes the component by the main control unit 2 2, which is an example of the startup unit, 7 8, that is, the schedule view template 7 8 is activated, and the schedule information 9 9 described in the part indicated by the pointer information is displayed in a table format.
[0224] このように、 本実施の形態の技術によれば、 汎用的に用意された様々な機 能を有するビューテンプレート 7 8を文書に付加することができ、 機能的な 文書を容易に構築することができる。  [0224] As described above, according to the technique of this embodiment, view templates 78 having various functions prepared for general purposes can be added to a document, and a functional document can be easily constructed. can do.
[0225] (第 2の実施の形態)  [0225] (Second embodiment)
第 1の実施の形態で説明した、 汎用的に用意された文書処理機能を提供す る技術について更に説明する。 第 1の実施の形態において 「ビューテンプレ ート」 と呼んでいた機能を、 本実施の形態では、 汎用的な V C機能を提供す る処理系 (コンポーネント) という意味で、 A V C (Adapt i ve Vocabu l ary C omponent) と呼 、。  The technique for providing a general-purpose document processing function described in the first embodiment will be further described. The function called “view template” in the first embodiment is a processing system (component) that provides a general-purpose VC function in this embodiment. AVC (Adaptive Vocabu) l ary C omponent).
[0226] 図 3 6は、 本実施の形態に係る文書処理装置の構成を示す。 本実施の形態 の文書処理装置 1 0 0は、 図 3 3に示した第 1の実施の形態の文書処理装置 1 0 0のビューテンプレート制御ュニット 7 0及びビューテンプレート 7 8 に代えて、 A V C制御ユニット 3 0 0 0を備える。 A V C制御ユニット 3 0 0 0は、 A V C機能を提供する処理系であるテーブル表示用 A V Cコンポ一 ネント 3 0 1 0、 チヤ一ト表示用 A V Cコンポ一ネント 3 0 2 0、 U Iパ一 ッ表示用 A V Cコンポ一ネント 3 0 3 0、 ツリー表示用 A V Cコンポ一ネン ト 3 0 4 0と、 それらの A V Cコンポ一ネン卜の動作に必要なプロパティ情 報を設定する A V Cプロパティ設定部 3 0 0 2とを含む。  FIG. 36 shows the configuration of the document processing apparatus according to the present embodiment. The document processing apparatus 100 according to the present embodiment replaces the view template control unit 70 and the view template 78 of the document processing apparatus 100 according to the first embodiment shown in FIG. Units 3 0 0 0 are provided. AVC control unit 3 00 0 is a processing system that provides AVC functions. AVC component for table display 3 0 1 0, AVC component for chart display 3 0 2 0, UI display AVC component 3 0 3 0, AVC component 3 0 4 0 for tree display, and AVC property setting part 3 0 0 2 for setting property information necessary for the operation of these AVC components including.
[0227] 図 3 7は、 A V Cコンポーネントのプロパティが揷入された X M L文書の 例を示す。 この X M L文書は、 単語帳のデータを記述するためのポキャプラ リ 「doc」 で記述されている。 ルート要素 「doc」 の子要素である要素 「page 」 は、 単語帳のページを示しており、 ページ数に応じて複数設けられる。 そ れぞれの要素 「page」 は、 英語表記を格納する要素 「english」 と、 日本語表 記を格納する要素 「japanese」 とを含む。 [0227] Figure 37 shows an example of an XML document populated with AVC component properties. This XML document is described as a “doc”, a library for describing data in the word book. An element “page” that is a child element of the root element “doc” indicates a page of the word book, and a plurality of elements are provided according to the number of pages. So Each element “page” includes an element “english” for storing English notation and an element “japanese” for storing Japanese notation.
[0228] 図 37の例では、 この単語帳をテーブル形式で表示するために、 テーブル 表示用 AVCコンポーネント 301 0の動作に必要なプロパティ情報を記述 した A V Cプロパティ 301 2が揷入されている。 AVCプロパティ 301 2は、 テーブル表示用 AVCコンポーネント 301 0が処理可能な、 テ一ブ ル表示用のポキヤブラリ 「tbl」 で記述されている。 A VCプロパティ 301 2には、 「tbl」 ポキヤブラリと、 「doc」 ポキヤブラリとの対応が、 AVC プロパティを記述するためのポキヤブラリ 「avc」 を用いて記述されている。 以下、 元の XM L文書を記述しているポキヤブラリ、 ここでは 「doc」 を 「ホ ストポキヤブラリ」 といい、 挿入された AVCプロパティを記述するポキヤ ブラリ、 ここでは 「tbl」 を 「ゲストポキヤブラリ」 又は 「AVCポキャプラ リ」 という。 In the example of FIG. 37, in order to display this word book in a table format, an AVC property 3012 describing property information necessary for the operation of the AVC component 3010 for table display is inserted. The AVC property 3012 is described by a table display “tbl” that can be processed by the table display AVC component 3010. In the A VC property 3012, the correspondence between the “tbl” and the “doc” library is described using the “avc” library for describing the AVC property. The following is a description of the original XML document, where “doc” is referred to as “host library” and the inserted AVC property is described as “pbl”, where “tbl” is referred to as “guest Poch library”. Or “AVC Pocapri”.
[0229] 図 37の例では、 テーブルの各列のデータを格納する要素 「column」 は、 2つの 「property」 要素を子要素に持つ。 1つ目の要素 「property」 には、 「 labe卜 transfer 1」 というパラメータが、 ホストポキヤブラリの要素 「engl ish」 を参照するというプロパティ情報が記録されている。 2つ目の要素 「pr opertyj には、 「labe卜 transfer2」 というパラメータが、 ホストポキヤブラ リの要素 「japanese」 を参照するというプロパティ情報が記録されている。 テーブル表示用 AVCコンポーネント 301 0は、 このプロパティ情報を参 照して、 テーブルの各列に、 ホストポキヤブラリの要素 「english」 と 「japa nesej の値を代入して表示する。 このようにして、 任意の文書のデータを、 テーブル表示用 A VCコンポ一ネント 301 0などの汎用的な機能を有する 処理系に渡して処理させることが可能となる。  [0229] In the example of Fig. 37, the element "column" that stores the data of each column of the table has two "property" elements as child elements. In the first element “property”, the property information that the parameter “labe 卜 transfer 1” refers to the element “engl ish” of the host platform is recorded. The second element “pr opertyj” records property information that the parameter “labe 卜 transfer2” refers to the element “japanese” of the host library. The AVC component for table display 301 0 refers to this property information and displays the values by substituting the values of “english” and “japa nesej” of the host platform in each column of the table. Any document data can be passed to a processing system having general-purpose functions such as the AVC component 3010 for table display and processed.
[0230] 図 38は、 本実施の形態に係る文書処理方法の手順を示す。 ユーザが、 A VCコンポーネントにより提供されるビューの挿入を指示すると (S 1 0) 、 ホストポキヤブラリの処理系は、 挿入を指示された AVCコンポーネント の A V Cプロパティのテンプレートをソース DO Mの指示された位置に揷入 する (S 1 2) 。 この機能は、 文書処理装置 20の主制御ユニット 22が担 当してもよいし、 A V C制御ユニット 3000が担当してもよい。 メニュー やコマンドなどが選択されたことにより A V Cコンポ一ネントの揷入指示を 受け付けてもよいし、 A VCコンポ一ネントを示すアイコンなどが文書の表 示画面の挿入位置にドロップされたことにより A V Cコンポ一ネントの揷入 指示を受け付けてもよい。 ホストポキヤブラリのスキーマを参照して、 指示 された位置に A V Cプロパティを挿入可能か否かを判断し、 スキーマに反す る場合は挿入を受け付けないようにしてもよい。 FIG. 38 shows the procedure of the document processing method according to the present embodiment. When the user instructs the insertion of the view provided by the A VC component (S 1 0), the host platform implementation is instructed by the source DOM to specify the AVC property template of the AVC component that is instructed to insert. In the position (S 1 2). This function may be handled by the main control unit 22 of the document processing apparatus 20 or the AVC control unit 3000. An instruction to insert an AVC component may be accepted when a menu or command is selected, or an AVC component may be accepted when an icon indicating the AVC component is dropped at the insertion position on the document display screen. You may accept a component insertion instruction. By referring to the schema of the host platform, it is determined whether or not the AVC property can be inserted at the indicated position. If the AVC property is against the schema, the insertion may not be accepted.
[0231] ソース DOMが変更されると、 DOMユニット 30によりミューテ一ショ ンイベントが発行され (S 1 4) 、 ミューテ一シヨンイベントを受けたホス トポキヤブラリの処理系は、 文書を再表示する (S 1 6) 。 このとき、 挿入 された A VCプロパティは、 ホストポキヤブラリの処理系が処理できないポ キヤブラリで記述されているので、 ホストポキヤブラリの処理系は主制御ュ ニット 22に処理の委譲を依頼し、 主制御ユニット 22は、 AVCプロパテ ィを処理可能な処理系として、 A VCコンポ一ネントを選択して処理を指示 する (S 1 8) 。 図 37に示した例では、 A VCプロパティ 301 2は、 A VCポキヤブラリ 「tbl」 で記述されているので、 テーブル表示用 A VCコン ポーネント 301 0が選択される。 処理を委譲された A VCコンポ一ネント は、 A VCプロパティを処理して表示するが、 ここでは、 テンプレートが揷 入されているだけで、 プロパティ値の実体が設定されていないので、 AVC コンポーネントは、 A VCプロパティを設定するために、 A VCプロパティ 設定部 3002を呼び出す (S 20) 。  [0231] When the source DOM is changed, a mutation event is issued by the DOM unit 30 (S 14), and the processing system of the host library that receives the mutation event redisplays the document (S 1 6). At this time, since the inserted AVC property is described in a platform that cannot be processed by the processing system of the host platform, the processing system of the host platform requests the main control unit 22 to delegate the processing. The main control unit 22 selects an AVC component as a processing system capable of processing the AVC property and instructs the processing (S 18). In the example shown in FIG. 37, since the A VC property 3012 is described by the A VC library “tbl”, the A VC component 3010 for table display is selected. The delegated A VC component processes and displays the A VC property, but here the template is inserted and the property value entity is not set, so the AVC component In order to set the A VC property, the A VC property setting section 3002 is called (S20).
[0232] A V Cプロパティ設定部 3002は、 A VCコンポーネントに、 AVCプ 口パティの設定を受け付けるためのダイァ口グ画面を提示するよう要求する (S 22) 。 このダイアログ画面は、 A VCコンポーネントが共通に利用可 能なライブラリとして用意されており、 A VCコンポーネントは、 設定を要 するプロパティ情報を表示したダイァ口グ画面を生成してユーザに提示する (S 24) 。 このダイアログ画面には、 例えば、 設定すべきプロパティ情報 の一覧と、 表示される画面のプレビューと、 A VCコンポーネントが参照可 能なデータ、 すなわち、 文書に含まれる要素や属性の一覧とが提示されても よい。 ユーザが、 文書に含まれる要素の一覧の中から、 例えばテーブルの列 、 行、 ラベルなどに設定する要素を選択して、 プロパティ情報の一覧画面に ドラッグ &ドロップすることにより、 対応を設定できるようにしてもよい。 [0232] The AVC property setting unit 3002 requests the AVC component to present a dialog screen for accepting the setting of the AVC property (S22). This dialog screen is prepared as a library where A VC components can be used in common, and the A VC component generates a dialog screen that displays the property information that needs to be set and presents it to the user (S twenty four) . In this dialog screen, for example, property information to be set List, screen preview displayed, and data that can be referenced by the AVC component, that is, a list of elements and attributes included in the document may be presented. The user can select the element to be set in the table column, row, label, etc. from the list of elements included in the document, and drag and drop it on the property information list screen so that the correspondence can be set. It may be.
[0233] ユーザがダイアログ画面を利用してプロパティ情報を設定すると (S 26 ) 、 AVCコンポーネントは、 プロパティの設定情報を受け付け、 ソース D OM中に挿入されている A VCプロパティの対応するノードに、 設定された プロパティ値を書き込む (S 28) 。 ソース DOMが変更されると、 DOM ユニット 30によりミューテ一シヨンイベントが発行され (S 30) 、 A V Cプロパティの処理系である AVCコンポ一ネント自身がミューテ一シヨン イベントを受けて AVCプロパティを処理する (S 32) 。 こうして、 AV Cプロパティに設定された情報を利用して、 A VCコンポ一ネン卜の機能が 発現され、 ユーザの所望の表示がなされる (S 34) 。 表示される画面の例 を図 39に示す。 [0233] When the user sets the property information using the dialog screen (S 26), the AVC component accepts the property setting information, and the node corresponding to the AVC property inserted in the source D OM Write the set property value (S28). When the source DOM is changed, a mutation event is issued by the DOM unit 30 (S 30), and the AVC component itself, which is the AVC property processing system, receives the mutation event and processes the AVC property ( S 32). In this way, using the information set in the AVC property, the function of the AVC component is expressed and the display desired by the user is made (S34). Figure 39 shows an example of the displayed screen.
[0234] A VCプロパティが挿入された XM L文書を開いたときも同様に、 下記の ような手順により図 39に示した画面が表示される。 まず、 主制御ユニット 22により、 ルート要素に対して処理系がディスパッチされ、 ホストポキヤ ブラリが処理される。 ホストポキヤブラリの処理系は、 挿入されている AV Cポキャプラリを処理できないので、 A V Cポキャプラリで記述された部分 に対してペインを割り当てて、 その処理を他の処理系に委譲する。 主制御ュ ニット 22は、 A VCポキヤブラリの処理系として A VCコンポ一ネントを 選択し、 選択された AVCコンポーネントが、 AVCプロパティを参照して ビューを生成する。 こうして、 図 39に示した表示画面が得られる。  [0234] When the XML document with the A VC property inserted is opened, the screen shown in Fig. 39 is displayed in the same way as described below. First, the main control unit 22 dispatches the processing system to the root element, and processes the host library. Since the processing system of the host pouch library cannot process the inserted AV C vocabulary, a pane is assigned to the part described in the AV C vocabulary, and the processing is transferred to another processing system. The main control unit 22 selects the A VC component as the processing system of the A VC library, and the selected AVC component generates a view with reference to the AVC property. In this way, the display screen shown in FIG. 39 is obtained.
[0235] (第 3の実施の形態)  [0235] (Third embodiment)
第 2の実施の形態では、 X ML文書に A VCプロパティを揷入し、 AVC プロパティの処理系として A VCコンポ一ネントを起動させて A VC機能を 発現させた。 本実施の形態では、 X ML文書に A VCプロパティを挿入する ことなく、 A VC機能を発現させる技術を説明する。 In the second embodiment, the AVC property is inserted into the XML document, and the AVC component is activated as the AVC property processing system to express the AVC function. In this embodiment, the A VC property is inserted into the XML document. Without explaining the technology to develop A VC function.
[0236] 図 40は、 本実施の形態に係る文書処理装置の構成を示す。 本実施の形態 の文書処理装置 1 00は、 図 36に示した第 2の実施の形態の文書処理装置 1 00の構成に加えて、 A V Cプロパティ設定部 3002力 AVCプロパ ティ生成部 3004及び定義ファイル生成部 3006を更に含む。 その他の 構成及び動作は、 第 2の実施の形態と同様である。  FIG. 40 shows the configuration of the document processing apparatus according to the present embodiment. In addition to the configuration of the document processing apparatus 100 of the second embodiment shown in FIG. 36, the document processing apparatus 100 of the present embodiment includes an AVC property setting unit 3002 and an AVC property generation unit 3004 and a definition file. A generation unit 3006 is further included. Other configurations and operations are the same as those of the second embodiment.
[0237] A VCプロパティ設定部 3002が A VCコンポ一ネン卜の動作に必要な プロパティ情報の設定をユーザから受け付けると、 A V Cプロパティ生成部 3004は、 図 37に示したようにソース文書に AVCプロパティ 301 2 を揷入するのではなく、 ソース文書とは別のファイルとして、 AVCプロパ ティ 301 2を格納した AVCプロパティファイルを生成する。 定義フアイ ル生成部 3006は、 A VCプロパティファイルを読み込むためのモジュ一 ルを生成する。 ここでは、 VC機能を利用したスクリプトベースの定義ファ ィルを生成する。  [0237] When the A VC property setting unit 3002 receives the property information setting necessary for the operation of the A VC component from the user, the AVC property generation unit 3004 displays the AVC property in the source document as shown in Fig. 37. Instead of importing 3012, an AVC property file containing AVC properties 3012 is generated as a separate file from the source document. The definition file generation unit 3006 generates a module for reading the A VC property file. Here, a script-based definition file using the VC function is generated.
[0238] 図 41は、 本実施の形態に係る文書処理方法の手順を示す。 ユーザが、 文 書全体又はあるゾーンの処理系を、 そのゾーンの構成要素が属するタグセッ トを処理する第 1の処理系から、 第 2の処理系の一例である A VCコンポ一 ネントに切り替えるよう指示すると (S 50) 、 AVCプロパティ設定部 3 002は、 文書処理装置 1 00に登録され利用可能となっている A VCコン ポーネン卜のリストを取得してユーザに提示し、 ユーザが利用する A VCコ ンポ一ネントの選択を受け付ける (S 52) 。 A VCプロパティ設定部 30 02力 利用する A VCコンポーネントの選択を受け付けると (S 54) 、 その A V Cコンポーネントの動作に必要な/ ラメータの設定を受け付けるた めに、 A VCプロパティ生成部 3004は、 選択された AVCコンポ一ネン 卜の AVCプロパティをインスタンス化し (S 56) 、 設定ダイアログ画面 を提示するよう AVCコンポーネントに要求する (S 58) 。 要求された A VCコンポ一ネントは、 共通ライブラリを利用して設定ダイアログを生成し 、 ユーザに提示する (S 60) 。 [0239] ユーザがダイアログ画面を利用してプロパティ情報を設定すると (S 62 ) 、 A VCプロパティ生成部 3004により A VCプロパティファイルが生 成される。 ここで、 A VCコンポーネントは、 定義ファイルの登録ダイァロ グ画面を提示するよう定義ファイル生成部 3006に依頼する (S 64) 。 定義ファイル生成部 3006は、 定義ファイルの登録名をユーザに問い合わ せ (S 66) 、 ュ一ザから定義ファイルの名称を受け付けると (S 68) 、 ソース文書又は指定されたゾーンの Apex要素の処理系として呼び出される定 義ファイルを生成して、 文書処理装置 1 00が利用可能に登録する (S 70 ) 。 この定義ファイルは、 A VCプロパティファイルを読み込む命令を含む ともに、 読み込んだ A VCプロパティの処理を他の適切な処理系、 すなわち 、 A VCコンポーネントに委譲する命令を含む。 FIG. 41 shows the procedure of the document processing method according to the present embodiment. The user switches the processing system of the entire document or a zone from the first processing system that processes the tag set to which the zone component belongs to the A VC component that is an example of the second processing system. When instructed (S 50), the AVC property setting unit 3 002 obtains a list of A VC components that are registered and available in the document processing apparatus 100 and presents them to the user. Accepts selection of VC components (S 52). A VC property setting unit 30 02 When receiving the selection of the A VC component to be used (S54), the A VC property generation unit 3004 selects the necessary parameter / parameter settings for the operation of the AVC component. Instantiate the AVC property of the selected AVC component 卜 (S 56), and request the AVC component to present the setting dialog screen (S 58). The requested A VC component generates a setting dialog using the common library and presents it to the user (S 60). [0239] When the user sets property information using the dialog screen (S62), the A VC property generation unit 3004 generates an A VC property file. Here, the A VC component requests the definition file generation unit 3006 to present the definition file registration dialog screen (S 64). The definition file generation unit 3006 queries the user for the registration name of the definition file (S 66) and receives the definition file name from the user (S 68). A definition file to be called as a processing system is generated and registered so that the document processing apparatus 100 can be used (S 70). This definition file includes an instruction for reading an A VC property file and an instruction for delegating the processing of the read A VC property to another appropriate processing system, that is, an A VC component.
[0240] A VCプロパティ設定部 3002は、 A V Cプロパティファイルの生成と 、 定義ファイルの生成が終了すると、 生成した定義ファイルへ処理系を切り 替える (S 72) 。 この定義ファイルにより、 A VCプロパティファイルが 読み込まれ、 AVCコンポーネントに処理が委譲される。 処理を委譲された A V Cコンポ一ネントは、 利用するデータを特定するための情報を格納した A VCプロパティファイルを参照して、 文書に含まれるデータの中から A V Cコンポーネン卜が利用するデータを特定し、 特定されたデータを利用して 所定の機能を発現し、 ビューを生成して表示する (S 74) 。 こうして、 A V Cプロパティに設定された情報を利用して、 A V Cコンポ一ネン卜の機能 が発現され、 ユーザの所望の表示がなされる。  [0240] When the creation of the AVC property file and the definition file are completed, the AVC property setting unit 3002 switches the processing system to the created definition file (S72). With this definition file, the AVC property file is read and the process is delegated to the AVC component. The AVC component to which the process has been delegated refers to the AVC property file that stores information for identifying the data to be used, and identifies the data to be used by the AVC component from the data contained in the document. The specified data is expressed using the identified data, and a view is generated and displayed (S74). In this way, using the information set in the AV property, the function of the AV component is developed, and the display desired by the user is made.
[0241 ] このような技術により、 ソース文書にプロパティ情報などを挿入すること なく、 AVC機能を実現することができる。 したがって、 ソース文書を記述 するポキヤブラリによらず、 ソース文書のバリデ一シヨンを保ちつつ、 AV C機能を利用して新たなビューを追加することができる。 また、 生成した定 義ファイルを保存して別の文書に適用することで、 定義ファイルを再利用し 、 複数の文書に対して A V C機能を利用することができる。  [0241] With this technology, the AVC function can be realized without inserting property information into the source document. Therefore, it is possible to add a new view using the AVC function while maintaining the validation of the source document, regardless of the platform describing the source document. Also, by saving the generated definition file and applying it to another document, you can reuse the definition file and use the AV function for multiple documents.
[0242] ソース文書に、 適用すべき処理系を指定する命令を P I として記述するよ うにしてもよい。 これにより、 文書のバリデ一シヨンに影響を与えずに、 処 理系を指定することができる。 処理系が切り替わるゾーンごとに、 処理系を 指定する P Iを記述してもよい。 主制御ュニット 22は、 Apex要素に対して 処理系を割り当てる際に、 処理系を指定する P Iが記述されている場合は、 その処理系を優先的に割り当てる。 この機能を利用すれば、 AVC機能を呼 び出すために生成された定義ファイルを P I として指定しておくことにより 、 A VCコンポーネントを優先的に割り当て、 A VC機能を発現させること ができる。 [0242] In the source document, describe the instruction to specify the processing system to be applied as PI. You may do it. This allows you to specify a processing system without affecting the validation of the document. A PI that specifies the processing system may be described for each zone where the processing system switches. When assigning a processing system to an Apex element, the main control unit 22 assigns the processing system preferentially if a PI that specifies the processing system is described. If this function is used, the AVC component can be assigned preferentially and the AVC function can be expressed by specifying the definition file generated to call the AVC function as PI.
[0243] (第 4の実施の形態)  [0243] (Fourth embodiment)
図 42は、 本実施の形態に係る文書処理装置の構成を示す。 本実施の形態 の文書処理装置 1 00は、 図 36に示した第 2の実施の形態の文書処理装置 1 00の構成に加えて、 A VCコンポーネント切替部 3050を更に含む。 A VCコンポ一ネント切替部 3050は、 文書に適用する A VCコンポ一ネ ントを、 複数の A VCコンポ一ネント 301 0〜 3040のいずれに切り替 えるかをユーザから受け付け、 選択された AVCコンポ一ネントを文書に適 用させる。 これにより、 ユーザは、 同一の文書に対して複数の A VCコンポ —ネントを切り替えて適用させ、 様々な機能を有する A VCコンポ一ネント により多角的に文書を処理させることができる。 その他の構成及び動作は、 第 2の実施の形態と同様である。  FIG. 42 shows a configuration of the document processing apparatus according to the present embodiment. The document processing apparatus 100 according to the present embodiment further includes an AVC component switching unit 3050 in addition to the configuration of the document processing apparatus 100 according to the second embodiment shown in FIG. The A VC component switching unit 3050 accepts from the user whether the A VC component applied to the document is to be switched to a plurality of A VC components 301 0 to 3040, and selects the selected AVC component. Apply the nent to the document. As a result, the user can switch and apply a plurality of AVC components to the same document, and can process the document in a multifaceted manner using AVC components having various functions. Other configurations and operations are the same as those of the second embodiment.
[0244] 図 43は、 テーブル表示用 A V Cコンポーネント 301 0の A V Cプロパ ティが揷入された文書の例を示す。 この X ML文書は、 XHTML文書の 「b odyj 要素の下位に、 コンピュータのスペックを記述するためのポキヤブラリ 「ns1」 で記述されたデータと、 テーブル表示用 AVCコンポーネント 301 0を起動させるためのアンカ一となる要素 3025と、 ポキヤブラリ 「ns1」 で記述されたデータをテーブル表示用 AVCコンポーネント 301 0で処理 させるために必要なパラメータを含む A VCプロパティ 301 2を含む。 ポ キヤブラリ 「ns1」 のルート要素 「root」 の子要素 「pc」 は、 複数繰り返して 設けられ、 それぞれ、 コンピュータに搭載された CPUのクロック周波数を 格納する要素 「cpu」 と、 メモリの容量を格納する要素 「memory」 と、 ハード ディスク ドライブ (HDD) の容量を格納する要素 「hdd」 と、 値段を格納す る要素 「price」 とを含む。 要素 3025は、 テーブル表示用 A V Cコンポ一 ネント 301 0を起動させるためにテーブル表示用 A VCコンポ一ネント 3 01 0が処理を担当するポキヤブラリである 「avc-datagrid」 で記述される 。 このポキヤブラリのルート要素 「datagrid」 は、 属性として、 AVCコン ポーネントの名称、 バージョン番号、 起動時にダイアログを開くか否かを示 す情報を有する。 AVCプロパティ 301 2は、 図 43では省略しており、 図 44及び図 45に詳細を示す。 FIG. 43 shows an example of a document in which the AVC property of the AVC component 3010 for table display is inserted. This XML document is an anchor for starting up the AVC component 301 0 for table display and the data described in the “ns1” poker library for describing computer specifications under the “b odyj” element of the XHTML document. And an AVC property 3012 including parameters necessary for processing the data described in the “ns1” in the AVC component 3010 for table display. The child element “pc” of the root element “root” of the library “ns1” is provided multiple times, and each sets the clock frequency of the CPU installed in the computer. It contains an element “cpu” for storing, an element “memory” for storing the memory capacity, an element “hdd” for storing the capacity of the hard disk drive (HDD), and an element “price” for storing the price. The element 3025 is described in “avc-datagrid”, which is a library in which the table display AVC component 3 100 is responsible for starting up the table display AVC component 3010. The root element “datagrid” of this Pocabulary has as its attributes information indicating the name of the AVC component, the version number, and whether to open the dialog at startup. The AVC property 3012 is omitted in FIG. 43, and details are shown in FIG. 44 and FIG.
[0245] 図 44は、 図 43に示した文書に記述された A V Cプロパティ 301 2の 内容を示す。 A V Cプロパティ 301 2には、 テーブル表示用 A V Cコンポ 一ネントが参照するプロパティ情報として、 繰り返し要素が 「/html/body/p/ root/pcj であること、 見出し行の表示/非表示、 行番号列の表示/非表示、 表示領域の幅、 表示領域の高さ、 集計行の表示/非表示、 集計行の表示形式 、 集計行の桁区切り、 集計行の小数部表示桁数、 集計列の表示/非表示、 集 計列の表示形式、 集計列の桁区切り、 集計列の小数部表示桁数、 集計列の幅 が記述される。 FIG. 44 shows the contents of the AV property 3012 described in the document shown in FIG. The AVC property 301 2 includes the property information referenced by the AVC component for table display, that the repeated element is “/ html / body / p / root / pcj”, the display / non-display of the header line, and the line number column. Display / hide, display area width, display area height, summary row display / hide, summary row display format, summary row digit separator, summary row decimal display digits, summary column display Describes / display, summary column display format, column separator for summary column, number of decimal places displayed for summary column, and summary column width.
[0246] 図 45は、 図 43に示した文書に記述された A V Cプロパティ 301 2の 内容を示す。 ポキヤブラリ 「avc_datagr id」 の要素 「column」 は、 テーブル の列に関するプロパティ情報として、 列ノードが繰り返し要素として指定さ れている 「/html/body/p/root/pc」 の下位の要素 「cpu」 のテキストノードで あること、 列の見出し、 データ型、 データ型が 「文字列」 である場合の最大 文字数、 データ型が 「数値」 である場合の表示形式、 桁区切り、 小数部表示 桁数、 データ型が 「日時」 である場合の日時形式、 列の幅、 型不一致の表示 /非表示を記述した要素を含む。 他の列についても同様にプロパティ情報が 記述される。  FIG. 45 shows the contents of the AV property 3012 described in the document shown in FIG. The element “column” in the “avc_datagr id” of the poch library “cpu” is a subordinate element of “/ html / body / p / root / pc” in which the column node is specified as a repeated element as property information about the table column. Text node, column heading, data type, maximum number of characters when the data type is "string", display format when the data type is "numeric", thousands separator, decimal number of digits, Contains elements that describe the date / time format, column width, and type mismatch display / non-display when the data type is “date / time”. Property information is described in the same way for the other columns.
[0247] 図 46は、 図 43に示した文書を表示した画面の例を示す。 図 43に示し た文書に記述された要素 3025の処理モジュールとして起動されたテープ ル表示用 A V Cコンポ一ネント 301 0は、 A VCプロパティ 301 2を参 照して、 文書に記述されたコンピュータのスペックに関するデータをテープ ル表示する。 なお、 図 45において、 列の見出しを格納するプロパティ情報 は、 <avc: property name="t i 11 e type="t i 11 e checked= false inher itab le="true" />と記述されており、 見出しが設定されておらず、 空要素となつ ている。 このとき、 テーブル表示用 AVCコンポーネント 301 0は、 この 列のデータとして指定された要素の要素名を見出しとして表示する。 したが つて、 図 46では、 テーブルの第 2列の見出しとして、 その列のデータとし て指定された要素の要素名 「cpu」 が表示されている。 FIG. 46 shows an example of a screen on which the document shown in FIG. 43 is displayed. Tape started as a processing module for element 3025 described in the document shown in Figure 43 The AVC component 3010 for displaying the data refers to the AVC property 3012, and displays the data related to the computer specifications described in the document in a table. In FIG. 45, the property information for storing the column headings is described as <avc: property name = "ti 11 e type =" ti 11 e checked = false inher itab le = "true"/> The heading is not set and it is an empty element. At this time, the AVC component for table display 3010 displays the element name of the element designated as data in this column as a heading. Therefore, in Figure 46, the element name “cpu” of the element specified as the data of that column is displayed as the heading of the second column of the table.
[0248] 図 47は、 A VCコンポーネントにより生成されたビューの領域でマウス を右クリックしたときに表示されるメニューを示す。 ここで、 ユーザが 「設 定」 を選択すると、 A VCプロパティ設定部 3002力 テーブル表示用 A VCコンポ一ネント 301 0が参照する A VCプロパティ 301 2を設定す るためのダイアログ画面を表示する。 「切替」 を選択すると、 AVCコンポ —ネント切替部 3050力 A VCコンポ一ネントを切り替えるためのダイ ァログ画面を表示する。  [0248] Figure 47 shows the menu that appears when the mouse is right-clicked in the region of the view generated by the A VC component. Here, when the user selects “setting”, a dialog screen for setting the A VC property 3012 to which the A VC property setting section 3002 force table display A VC component 3010 refers is displayed. When “Switch” is selected, the AVC component switching section displays a dialog screen for switching 3050 AVC components.
[0249] 図 48は、 A VCコンポーネント切替部 3050により表示されたダイァ 口グ画面の例を示す。 A V Cコンポ一ネント切替部 3050は、 文書処理装 置 1 00が利用可能な A VCコンポーネントの一覧を取得して表示し、 ユー ザから切替先の A VCコンポ一ネン卜の選択を受け付ける。 文書処理装置 1 00に AVCコンポ一ネントを新たにインス I ルすると、 切替先の AVC コンポーネントを増やすことができる。 ここでは、 散布図形式で表示するチ ャ一ト表示用 A VCコンポ一ネント 3020が選択されたものとする。  FIG. 48 shows an example of a dialog screen displayed by the A VC component switching unit 3050. The AVC component switching unit 3050 acquires and displays a list of AVC components that can be used by the document processing apparatus 100, and accepts selection of the switching destination AVC component from the user. When AVC components are newly installed in the document processing device 100, the number of AVC components to be switched to can be increased. Here, it is assumed that the chart display A VC component 3020 to be displayed in the form of a scatter diagram is selected.
[0250] A VCコンポーネント切替部 3050は、 切替先の A V Cコンポーネント を受け付けると、 後述するように、 ソース DOM中の AVCコンポーネント を起動するためのアンカ一となる要素 3025を、 元の A VCコンポ一ネン トが処理可能なポキャプラリの要素から、 切替先の A V Cコンポーネントが 処理可能なポキャプラリの要素に書き換える。 ソース DO Mを書き換えると 、 ミューテ一シヨンイベントにより変更が処理系に通知されるが、 このとき 、 新たに書き換えられた要素 3 0 2 5の処理系として、 切替先の A V Cコン ポ一ネント、 ここではチヤ一ト表示用 A V Cコンポ一ネント 3 0 2 0が起動 される。 起動されたチャート表示用 A V Cコンポーネント 3 0 2 0は、 A V Cプロパティの設定を受け付けるために、 A V Cプロパティ設定部 3 0 0 2 を呼び出す。 [0250] When the AVC component switching unit 3050 receives the AVC component of the switching destination, as will be described later, the element 3025 serving as an anchor for starting the AVC component in the source DOM is replaced with the original AVC component. The vocabulary element that can be processed by the element is rewritten to the vocabulary element that can be processed by the AVC component at the switching destination. Rewriting the source DOM The change is notified to the processing system by the mutation event. At this time, as the processing system of the newly rewritten element 30 25, the AVC component of the switching destination, here for the chart display AVC component 3 0 2 0 is activated. The activated chart display AVC component 3 0 2 0 calls the AVC property setting unit 3 0 0 2 in order to accept the setting of the AVC property.
[0251 ] 図 4 9は、 A V Cプロパティ設定部 3 0 0 2により表示された A V Cプロ パティの設定画面の例を示す。 図 4 9は、 散布図のデータを設定するための 画面を示す。 散布図においては、 X軸、 Y軸の他に、 系列、 要素ラベルを指 定できるようになつている。 ここで、 1点のみを散布図に表示してもあまり 意味がないので、 繰り返し要素を指定し、 その要素に含まれるデータを X軸 、 Y軸、 系列、 要素ラベルに指定可能とする。  [0251] Fig. 49 shows an example of the A V C property setting screen displayed by the A V C property setting section 3 0 0 2. Figure 49 shows the screen for setting scatter plot data. In the scatter chart, in addition to the X and Y axes, series and element labels can be specified. Here, it is not meaningful to display only one point on the scatter plot. Therefore, it is possible to specify a repeated element and specify the data contained in that element as the X-axis, Y-axis, series, and element label.
[0252] このとき、 繰り返し要素は、 切り替える前の A V Cコンポーネントである テーブル表示用 A V Cコンポーネント 3 0 1 0において、 「/htm l /body/p/ro ot/pcj と指定されていたので、 デフォルトではこの設定を継承し、 自動的に 同じ要素を繰り返し要素に設定する。 また、 テーブル表示用 A V Cコンポ一 ネント 3 0 1 0においては、 列のデータとして指定されていた、 「cpu」 、 「 memoryj 、 「hdd」 、 「pr i ce」 のテキストノードを、 デフォルトでは自動的 に X軸、 γ軸、 系列、 要素ラベルのデータとして自動的に設定する。 これに より、 A V Cコンポーネントを切り替えても、 同様のプロパティ情報を自動 的に継承することにより、 ユーザによる設定の手間を軽減することができる 。 データの指定を変更する場合は、 左側に表示されている文書の要素のッリ —構造の中からデータを選択し、 「設定」 をクリックするか、 ドラッグアン ドドロップすればよい。 右下に、 表示画面のプレビューが表示される。  [0252] At this time, the repetition element was specified as "/ htm l / body / p / root / pcj" in the AVC component for table display 3 0 10 which is the AVC component before switching. Inheriting this setting, the same element is automatically set as a repeated element.In the AVC component for table display 3 0 1 0, "cpu", "memoryj," specified as column data By default, the text nodes of “hdd” and “pr i ce” are automatically set as X axis, γ axis, series, and element label data. As a result, even if the AV component is switched, the same property information is automatically inherited, thereby reducing the user's setting effort. To change the data specification, simply select the data from the document elements on the left-hand side, and click “Settings” or drag and drop. A preview of the display screen is displayed in the lower right.
[0253] 図 5 0は、 A V Cプロパティ設定部 3 0 0 2により表示された A V Cプロ パティの設定画面の例を示す。 図 5 0は、 X軸として指定されたデータのォ プシヨンを設定するための画面を示し、 X軸として指定されたデータの見出 し、 データ型、 表示項目、 データ型が 「文字列」 である場合の最大文字数、 不正なデータの表示/非表示が設定できるようになつている。 Y軸に関して も同様である。 データ型として、 デフォルトでは 「文字列」 が選択されてい るが、 データが数値である場合には、 「数値」 や 「日時」 を指定することも 可能である。 データ型が 「文字列」 の場合は、 同じ文字列ごとにグループ化 されて散布図上にアイコンが表示される。 データ型が 「数値」 又は 「日時」 である場合は、 その軸を数直線として散布図が表示される。 ここでは、 X軸 に要素 「cpu」 が文字列として、 Y軸に要素 「memory」 が文字列として指定さ れているので、 X軸には要素 「cpu」 のテキストノードが 「2. 2 ghz」 、 「2. 8 ghz」 、 「3. 0 ghz」 の 3種類、 Y軸には要素 「memory」 のテキストノードが 「512 mbj 、 「1 gbj の 2種類に分類されてアイコンが表示される。 FIG. 50 shows an example of the AVC property setting screen displayed by the AVC property setting unit 300. Figure 50 shows the screen for setting the option of the data specified as the X-axis. The data specified as the X-axis is found, and the data type, display item, and data type are “string”. The maximum number of characters, if any The display / hide of invalid data can be set. The same applies to the Y axis. “String” is selected by default as the data type, but “numeric” and “date / time” can be specified if the data is numeric. When the data type is “character string”, the same character string is grouped and an icon is displayed on the scatter plot. If the data type is “number” or “date and time”, the scatter plot is displayed with the axis as a number line. Here, the element “cpu” is specified as a character string on the X axis and the element “memory” is specified as a character string on the Y axis, so the text node of the element “cpu” is “2.2 ghz on the X axis. ”,“ 2.8 ghz ”,“ 3.0 ghz ”, and the Y-axis displays the icons with the text node of the element“ memory ”classified into“ 512 mbj ”and“ 1 gbj ”. .
[0254] 図 5 1は、 A V Cプロパティ設定部 3 0 0 2により表示された A V Cプロ パティの設定画面の例を示す。 図 5 1は、 系列として指定されたデータのォ プシヨンを設定するための画面を示し、 系列として指定されたデータのデ一 タ型、 表示項目、 データ型が 「文字列」 である場合の最大文字数、 凡例の表 示/非表示が設定できるようになつている。 散布図上において、 同じ文字列 、 数値、 又は日時ごとに異なるアイコンが表示される。 ここでは、 系列に要 素 「hdd」 が文字列として指定されているので、 要素 「hdd」 のテキストノー ドの文字列ごとに 3種類のアイコンが表示される。  FIG. 5 1 shows an example of an AVC property setting screen displayed by the AV property setting section 3 0 0 2. Figure 5 1 shows the screen for setting the option of data specified as a series. The maximum data when the data type, display item, and data type of the data specified as a series is "string" The number of characters and legend display / non-display can be set. On the scatter chart, different icons are displayed for the same character string, numerical value, or date / time. Here, since the element “hdd” is specified as a character string in the series, three types of icons are displayed for each character string of the text node of the element “hdd”.
[0255] 図 5 2は、 A V Cプロパティ設定部 3 0 0 2により表示された A V Cプロ パティの設定画面の例を示す。 図 5 2は、 要素ラベルとして指定されたデ一 タのオプションを設定するための画面を示し、 要素ラベルとして指定された データの最大文字数が設定できるようになつている。 散布図上において、 指 定されたデータがアイコンの近傍にラベルとして表示される。 ここでは、 要 素ラベルとして要素 「pr i ce」 のテキストノードが指定されているので、 要素 「pc」 に対応する各アイコンの近傍に、 その要素 「pc」 に含まれる要素 「pr i cej のテキストノードの文字列がラベルとして表示される。  FIG. 5 2 shows an example of the A V C property setting screen displayed by the A V C property setting unit 3 0 0 2. Figure 52 shows the screen for setting the options for the data specified as the element label, and the maximum number of characters for the data specified as the element label can be set. On the scatter diagram, the specified data is displayed as a label near the icon. Here, since the text node of the element “pr i ce” is specified as the element label, the element “pr i cej” included in the element “pc” is located near each icon corresponding to the element “pc”. The text node string is displayed as a label.
[0256] 図 5 3は、 A V Cプロパティ設定部 3 0 0 2により表示された A V Cプロ パティの設定画面の例を示す。 図 5 3は、 散布図の表示領域のプロパティ情 報を設定するための画面を示し、 表示領域の幅、 高さが設定できるようにな つている。 FIG. 53 shows an example of an AVC property setting screen displayed by the AVC property setting unit 3 0 2. Figure 5 3 shows the property information in the scatter plot display area. The screen for setting the information is shown, and the width and height of the display area can be set.
[0257] 図 54は、 チャート表示用 AVCコンポーネント 3020に切り替えたと きの表示画面の例を示す。 図 46においては、 テーブル表示用 A VCコンポ 一ネント 301 0が適用されて文書中のデータがテーブル表示されていたが 、 チヤ一ト表示用 A VCコンポ一ネント 3020に切り替えることにより、 同じデータが散布図として表示されている。 このように、 同じ文書に対して 複数の A V Cコンポ一ネントを切り替えて適用することを可能とすることに より、 汎用的に用意された様々な機能を利用して文書を多角的に処理するこ とができる。  FIG. 54 shows an example of the display screen when switching to the AVC component 3020 for chart display. In FIG. 46, the table display A VC component 3010 was applied and the data in the document was displayed in a table. However, the same data can be obtained by switching to the chart display A VC component 3020. Displayed as a scatter plot. In this way, multiple AVC components can be switched and applied to the same document, so that various general-purpose functions can be used to process the document in multiple ways. You can.
[0258] 図 55は、 図 43に示した文書が、 A V Cコンポーネントを切り替えるこ とにより変更された様子を示す。 前述したように、 A VCコンポーネント切 替部 3050が AVCコンポ一ネントを切り替えるときに、 AVCコンポ一 ネントを起動するためのアンカ一となる要素 3025を、 テーブル表示用 A V Cコンポ一ネント 301 0が処理可能なポキャプラリである 「avc_datagr i dj の要素から、 チャート表示用 AVCコンポーネント 3020が処理可能な ポキヤブラリである 「avc-xychart」 の要素に書き換える。  FIG. 55 shows how the document shown in FIG. 43 is changed by switching the AV component. As described above, when the AVC component switching unit 3050 switches AVC components, the table display AVC component 301 0 processes the element 3025 that is an anchor to activate the AVC components. The element of “avc_datagr i dj”, which is a possible vocabulary, is rewritten to the element of “avc-xychart”, which is a library that can be processed by the AVC component for chart display 3020.
[0259] 図 56は、 図 55に示した文書に記述された A VCプロパティ 301 2の 内容を示す。 A V Cプロパティ 301 2には、 チヤ一ト表示用 A V Cコンポ —ネント 3020が参照するプロパティ情報として、 繰り返し要素が 「/html /body/p/root/pcj であること、 表示領域の幅、 表示領域の高さが記述される 。 これらのプロパティ情報は、 図 44に示したテーブル表示用 A VCコンポ —ネント 301 0の AVCプロパティ 301 2にも記述されていたものであ り、 A VCプロパティを記述するためのポキヤブラリを用いて同じデータ構 造で記述される。 このように、 共通のスキーマを用いて A VCプロパティ 3 01 2を記述することで、 ある文書に対して、 一度いずれかの AVCコンポ —ネントを適用させて A VCプロパティ 301 2を設定しておけば、 AVC コンポーネントを切り替えるときに A V Cコンポーネント間で設定を引き継 ぐことができ、 ユーザの設定の手間を軽減させることができる。 また、 半自 動的に A V Cコンポーネントを適用させたビュ一を生成することができる。 A V Cコンポ一ネントを新たに開発する際には、 共通のスキーマを用いた A V Cプロパティ 3 0 1 2を参照して動作するようにし、 他の A V Cコンポ一 ネントと共通の設定は継承できるようにすることが望ましい。 FIG. 56 shows the contents of the AVC property 3012 described in the document shown in FIG. The AVC property 301 2 includes the property information referenced by the chart display AVC component 3020. The repeated element is “/ html / body / p / root / pcj”, the width of the display area, and the display area width. This property information is the same as that described in the AVC property 301 2 of the AVC component for table display shown in Fig. 44-component 301 0, and describes the A VC property. In this way, by describing the AVC property 3 01 2 using a common schema, one AVC component can be written once for a document. If the AVC property 301 2 is set by applying the Nent, the setting is inherited between the AVC components when the AVC component is switched. It is possible to reduce the trouble of user setting. It is also possible to generate a view with AVC components applied semi-automatically. When developing a new AVC component, make it operate by referring to the AVC property 3 0 1 2 using a common schema so that settings common to other AVC components can be inherited. It is desirable.
[0260] 図 5 7は、 図 5 5に示した文書に記述された A V Cプロパティ 3 0 1 2の 内容を示す。 ポキヤブラリ 「avc-xychart」 の要素 「ax i s」 は、 X軸に関する プロパティ情報として、 軸のデータが繰り返し要素として指定されている 「/ htm l /body/p/root/pcj の下位の要素 「cpu」 のテキストノードであること、 軸の見出し、 データ型、 データ型が 「数値」 である場合の最小値、 最大値、 主目盛幅、 副目盛幅、 データ型が 「日時」 である場合の最小値、 最大値、 主 目盛幅、 副目盛幅、 日付のみのデータの扱い方、 データ型が 「文字列」 であ る場合の表示項目、 最大文字数、 不正なデータの表示/非表示を記述した要 素を含む。 Y軸についても同様にプロパティ情報が記述される。  FIG. 5 7 shows the contents of the AV property 3 0 1 2 described in the document shown in FIG. The element “ax is” of the Poch Library “avc-xychart” is the property information related to the X-axis, and the axis data is specified as a repeated element. “Chtm” The subordinate element “cpu” ”Text node, axis heading, data type, minimum value when data type is“ number ”, maximum value, major tick width, minor tick width, minimum when data type is“ datetime ” Value, maximum value, major scale width, minor scale width, how to handle date-only data, display items when data type is `` character string '', maximum number of characters, display / hide of invalid data are described Includes elements. Property information is also described for the Y axis.
[0261 ] 図 5 8は、 図 5 5に示した文書に記述された A V Cプロパティ 3 0 1 2の 内容を示す。 ポキヤブラリ 「avc-xychart」 の要素 「ser i es」 は、 系列に関す るプロパティ情報として、 系列のデータが繰り返し要素として指定されてい る 「/htm l /body/p/root/pc」 の下位の要素 「hdd」 のテキストノードであるこ と、 データ型、 データ型が 「数値」 である場合の最小値、 最大値、 目盛幅、 データ型が 「日時」 である場合の最小値、 最大値、 目盛幅、 日付のみのデ一 タの扱い方、 データ型が 「文字列」 である場合の表示項目、 最大文字数、 凡 例の表示/非表示を記述した要素を含む。  [0261] FIG. 5 8 shows the contents of the AV property 3 0 1 2 described in the document shown in FIG. The element “ser i es” of the pav library “avc-xychart” is subordinate to “/ htm l / body / p / root / pc”, where the data of the series is specified as a repeated element as property information about the series. It is a text node of element “hdd”, data type, minimum value, maximum value, scale width when data type is “numeric”, minimum value, maximum value, scale when data type is “datetime” Includes elements that describe the width, how to handle date-only data, display items when the data type is "string", the maximum number of characters, and display / non-display of the legend.
[0262] 図 5 9は、 図 5 5に示した文書に記述された A V Cプロパティ 3 0 1 2の 内容を示す。 ポキヤブラリ 「avc_xychart」 の要素 「object l abe l」 は、 要素 ラベルに関するプロパティ情報として、 要素ラベルのデータが繰り返し要素 として指定されている 「/htm l /body/p/root/pc」 の下位の要素 「pr i ce」 のテ キス トノードであること、 最大文字数を記述した要素を含む。  [0262] Figure 59 shows the contents of the AV property 3 0 1 2 described in the document shown in Figure 55. The element “object l abe l” of the pavobbler “avc_xychart” is a subordinate element of “/ htm l / body / p / root / pc” in which the element label data is specified as a repeated element as property information about the element label. It is a text node of “pr i ce” and includes an element describing the maximum number of characters.
[0263] 図 6 0は、 図 4 9に示した散布図のデータを設定するための画面において 、 Y軸のデータを変更したときの画面を示す。 要素 「pr i ce」 のテキストノー ドを Y軸のデータ領域にドラッグアンドドロップすると、 要素 「pr i ce」 のテ キストノードが新たに Y軸のデータに指定される。 画面右下には、 Y軸が 「p r i cej に変更された散布図のプレビューが表示されている。 このように、 チ ヤート表示用 A V Cコンポーネント 3 0 2 0は、 文書中に繰り返し存在する 任意の要素のデータを軸に設定し、 散布図を作成することができる。 [0263] Figure 60 is a screen for setting the scatter plot data shown in Figure 49. The screen when the Y-axis data is changed is shown. When the text node of element “pr i ce” is dragged and dropped onto the Y-axis data area, the text node of element “pr i ce” is newly designated as the Y-axis data. In the lower right corner of the screen, a preview of the scatter plot with the Y axis changed to “pri cej” is displayed. In this way, the AVC component for chart display 3 0 2 0 is an arbitrary element that exists repeatedly in the document. Scatter plots can be created by setting element data as axes.
[0264] 図 6 1は、 Y軸のデータのデータ型を変更したときの画面を示す。 要素 「p r i cej のテキストノードには、 コンピュータの値段が数値として格納されて いるので、 「文字列」 意外に 「数値」 のデータ型が許される。 そこで、 Y軸 のデータ型を 「数値」 に変更し、 最小値を 「0」 に設定すると、 画面右下に 表示されているように、 Y軸が 0を始点とする数直線に変わり、 数直線上に 各コンピュータの値段がプロッ卜される。  [0264] Figure 61 shows the screen when the data type of the Y-axis data is changed. The text node of the element “p r i cej” stores the price of the computer as a numeric value, so a data type of “numeric value” is allowed in addition to “string”. So, if you change the data type of the Y-axis to “Numeric” and set the minimum value to “0”, the Y-axis will change to a number line starting from 0 as shown in the lower right of the screen. The price of each computer is plotted on a straight line.
[0265] このように、 ユーザがデータの型を指定できるようにすることで、 同じ文 書に異なるビューを与えることができる。 例えば、 テーブル表示用 A V Cコ ンポ一ネント 3 0 1 0においても、 チヤ一ト表示用 A V Cコンポ一ネント 3 0 2 0においても、 データを文字列として扱うのか数値として扱うのかによ つて、 ソートしたりマッピングしたりした結果が変わる。 ユーザ自身がデ一 タの型を指定可能とすることで、 柔軟で汎用性の高い機能を提供することが できる。 また、 自身が作成したポキヤブラリではないポキヤブラリで記述さ れたデータに対しても、 ユーザが独自にデータ型を与えることができる。 そ のポキヤブラリに D T Dや X M L S c h e m aなどのスキーマが存在して いたとしても、 A V Cコンポ一ネント上では別のデータ型を与えることがで き、 データを柔軟に処理させることができる。  [0265] In this way, different views can be given to the same document by allowing the user to specify the data type. For example, in both the table display AVC component 3 0 1 0 and the chart display AVC component 3 0 2 0, sorting depends on whether the data is handled as a character string or a numeric value. And mapping results change. By enabling the user to specify the data type, flexible and highly versatile functions can be provided. In addition, users can give their own data types for data written in a pokary that is not a pakary that they have created. Even if there is a schema such as DTD or XMLSShema in the poker library, different data types can be given on the AVC component, and the data can be processed flexibly.
[0266] 以上、 本発明を実施の形態をもとに説明した。 この実施の形態は例示であ り、 それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可 能なこと、 またそうした変形例も本発明の範囲にあることは当業者に理解さ れるところである。  [0266] The present invention has been described based on the embodiments. This embodiment is an exemplification, and it is understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. It is where
[0267] 実施の形態では、 X M L文書を処理する例について説明したが、 本実施の 形態の文書処理装置 1 0 0は、 他のマークァップ言語、 例えば、 S G M L、 H T M Lなどで記述された文書も同様に処理可能である。 [0267] In the embodiment, an example of processing an XML document has been described. The document processing apparatus 10 0 in the form can similarly process documents described in other markup languages such as SGML and HTML.
産業上の利用可能性 Industrial applicability
本発明は、 マークアップ言語により構造化されたデータを処理する文書処 理装置に利用可能である。  The present invention can be used for a document processing apparatus that processes data structured in a markup language.

Claims

請求の範囲 The scope of the claims
[1 ] 文書中のデータを処理して所定の機能を発現するための汎用的な部品とし て利用可能な複数の処理モジュールと、  [1] Multiple processing modules that can be used as general-purpose parts for processing the data in a document and expressing a predetermined function;
同一の前記データに対して異なる複数の前記処理モジュールを切り替えて 適用可能とする切替部と、  A switching unit capable of switching and applying a plurality of different processing modules to the same data;
を備えることを特徴とする文書処理装置。  A document processing apparatus comprising:
[2] 前記文書は、 マークアップ言語により記述され、 前記処理モジュールが処 理可能なタグセッ卜の構成要素を含み、  [2] The document is described in a markup language and includes a tag set component that can be processed by the processing module.
前記構成要素を処理するために、 その構成要素が属するタグセットを処理 可能な前記処理モジュールが起動されることを特徴とする請求項 1に記載の 文書処理装置。  2. The document processing apparatus according to claim 1, wherein in order to process the component, the processing module capable of processing a tag set to which the component belongs is activated.
[3] 前記切替部は、 前記処理モジュールを切り替えるときに、 前記構成要素を 、 切替元の処理モジュールが処理可能なタグセットの構成要素から、 切替先 の処理モジュールが処理可能なタグセッ卜の構成要素に書き換えることを特 徵とする請求項 2に記載の文書処理装置。  [3] The switching unit, when switching the processing module, the configuration of the tag set that can be processed by the switching destination processing module from the component of the tag set that can be processed by the processing module of the switching source 3. The document processing device according to claim 2, wherein the document processing device is rewritten as an element.
[4] 前記処理モジユールの動作に必要なパラメータの設定を受け付けるプロパ ティ設定部を更に備え、  [4] A property setting unit for receiving parameter settings necessary for the operation of the processing module is further provided.
前記プロパティ設定部は、 受け付けた前記パラメータを、 前記構成要素又 はその子孫の構成要素の要素値又は属性値として前記文書に記述することを 特徴とする請求項 2又は 3に記載の文書処理装置。  The document processing apparatus according to claim 2 or 3, wherein the property setting unit describes the received parameter in the document as an element value or an attribute value of the component or a descendant component. .
[5] 前記プロパティ設定部は、 前記処理モジュールを切り替えるときに、 切替 元の処理モジュールと切替先の処理モジュールとの間で共通に使用されるパ ラメータの設定を、 切替元の処理モジュールから切替先の処理モジュールへ 継承させて自動的に設定することを特徴とする請求項 4に記載の文書処理装 置。  [5] When the property setting unit switches the processing module, the property setting unit switches the setting of the parameter used in common between the switching source processing module and the switching destination processing module from the switching source processing module. 5. The document processing apparatus according to claim 4, wherein the document processing apparatus is automatically set by being inherited by a previous processing module.
[6] 前記プロパティ設定部は、 前記処理モジュールが処理する前記文書中のデ ータの型の設定を受け付けることを特徴とする請求項 4又は 5に記載の文書 処理装置。 6. The document processing apparatus according to claim 4 or 5, wherein the property setting unit receives a setting of a data type in the document processed by the processing module.
[7] 前記プロパティ設定部は、 前記処理モジュールが前記文書中のデータを画 面に表示する際に、 そのデータのラベルとして表示するテキストデータの設 定を受け付け、 前記データのラベルとして表示するテキストデータがユーザ から設定されない場合は、 そのデータの要素名をラベルとして設定すること を特徴とする請求項 4から 6のいずれかに記載の文書処理装置。 [7] The property setting unit receives a setting of text data to be displayed as a label of the data when the processing module displays the data in the document on the screen, and the text to be displayed as the label of the data. 7. The document processing device according to claim 4, wherein when data is not set by a user, an element name of the data is set as a label.
[8] 文書中のデータを処理して所定の機能を発現するための汎用的な部品とし て利用可能な複数の処理モジュールのうちいずれかを前記文書中のデータに 適用するステップと、 [8] applying any one of a plurality of processing modules that can be used as general-purpose components for processing the data in the document to express a predetermined function to the data in the document;
別の前記処理モジュールを、 同一の前記文書中のデータに対して切り替え て適用するステップと、  Switching and applying another processing module to data in the same document;
を含むことを特徴とする文書処理装方法。  A document processing method comprising:
[9] 文書中のデータを処理して所定の機能を発現するための汎用的な部品とし て利用可能な複数の処理モジュールと、 [9] A plurality of processing modules that can be used as general-purpose parts for processing the data in a document and expressing a predetermined function;
同一の前記データに対して異なる複数の前記処理モジュールを切り替えて 適用可能とする機能と、  A function of switching and applying a plurality of different processing modules to the same data;
をコンピュータに実行させることを特徴とするプログラム。  A program that causes a computer to execute.
PCT/JP2007/000819 2006-07-31 2007-07-31 Document processing apparatus and document processing method WO2008015787A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008527655A JPWO2008015787A1 (en) 2006-07-31 2007-07-31 Document processing apparatus and document processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-209319 2006-07-31
JP2006209319 2006-07-31

Publications (1)

Publication Number Publication Date
WO2008015787A1 true WO2008015787A1 (en) 2008-02-07

Family

ID=38996975

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/000819 WO2008015787A1 (en) 2006-07-31 2007-07-31 Document processing apparatus and document processing method

Country Status (2)

Country Link
JP (1) JPWO2008015787A1 (en)
WO (1) WO2008015787A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004288111A (en) * 2003-03-25 2004-10-14 Sony Ericsson Mobilecommunications Japan Inc E-mail device, mail server, and mailer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004288111A (en) * 2003-03-25 2004-10-14 Sony Ericsson Mobilecommunications Japan Inc E-mail device, mail server, and mailer program

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"HITACHI CD-ROM Manual o Sakusei shiyo! DocIntegra Browser Build User's Guide", vol. 1ST ED., 1 January 1997, HITACHI, LTD., pages: 17 - 25, XP003020891 *
C&R KENKYUSHO: "Excel2003 Master Bible", vol. 1ST ED., 5 March 2004, SOFTBANK PUBLISHING INC., pages: 373 - 374, XP003020893 *
FITZGERALD M.: "XML Hacks", vol. 1ST ED., 28 March 2005, O'REILLY JAPAN, INC., pages: 119 - 124, XP003020890 *
MCCORMICK B.: "Power Authoring Internet Explorer no Authoring Technique", MICROSOFT INTERACTIVE DEVELOPER, no. 1, 18 May 1997 (1997-05-18), pages 147 - 156, XP003020892 *

Also Published As

Publication number Publication date
JPWO2008015787A1 (en) 2009-12-17

Similar Documents

Publication Publication Date Title
JP5020075B2 (en) Document processing device
WO2006137565A1 (en) Document processing device, and document processing method
WO2006051905A1 (en) Data processing device and data processing method
WO2006121051A1 (en) Document processing device and document processing method
WO2006051715A1 (en) Document processing device, and document processing method
WO2007034858A1 (en) Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method
WO2006085455A1 (en) Document processing device and document processing method
WO2006051870A1 (en) Data processing device, document processing device, and document processing method
WO2006051975A1 (en) Document processing device
WO2006046666A1 (en) Document processing device and document processing method
WO2006051713A1 (en) Document processing device, and document processing method
WO2006051960A1 (en) Document processing device and document processing method
WO2006051969A1 (en) Document processing device and document processing method
WO2006120926A1 (en) Input form design device and input form design method
WO2006051904A1 (en) Data processing device and data processing method
WO2006051954A1 (en) Document processing device and document processing method
WO2006051712A1 (en) Document processing device, and document processing method
WO2006051716A1 (en) Document processing device and document processing method
WO2006051959A1 (en) Document processing device and document processing method
WO2006051955A1 (en) Server device and name space issuing method
WO2006051966A1 (en) Document managing device and document managing method
WO2006046668A1 (en) Document processing device and document processing method
WO2006051721A1 (en) Document processing device, and document processing method
WO2007105364A1 (en) Document processing device and document processing method
WO2007007529A1 (en) Document processing device and document processing module

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07790312

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008527655

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07790312

Country of ref document: EP

Kind code of ref document: A1