+

WO2008015789A1 - Dispositif de traitement de documents et procédé de traitement de documents - Google Patents

Dispositif de traitement de documents et procédé de traitement de documents Download PDF

Info

Publication number
WO2008015789A1
WO2008015789A1 PCT/JP2007/000821 JP2007000821W WO2008015789A1 WO 2008015789 A1 WO2008015789 A1 WO 2008015789A1 JP 2007000821 W JP2007000821 W JP 2007000821W WO 2008015789 A1 WO2008015789 A1 WO 2008015789A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
file
execution
breakpoint
unit
Prior art date
Application number
PCT/JP2007/000821
Other languages
English (en)
Japanese (ja)
Inventor
Tatsuo Kato
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 JP2008527657A priority Critical patent/JPWO2008015789A1/ja
Publication of WO2008015789A1 publication Critical patent/WO2008015789A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation

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 controls execution of a scribble file that describes how to convert a document described in a predetermined tag set into a document described in another tag set and process it.
  • a source view display unit that displays the content of the document that is the conversion source while the script file is being executed so that the element that is the processing target can be identified, and the script file that is being executed
  • a scribble file display that displays the contents of the file so that the position being processed can be identified, and the contents of the document to be converted to the elements to be processed during execution of the script file.
  • a destination view display section that displays the information in an identifiable manner, and a breakpoint setting section that sets a breakpoint that temporarily stops execution of the script file by the execution control section, and the breakpoint setting section includes:
  • the search request for the element that sets a breakpoint is accepted and specified from the script file. It is characterized by searching for an element and setting a breakpoint at the searched element.
  • the breakpoint setting unit may present only elements for which a breakpoint can be set when accepting specification of an element to be searched.
  • the document processing apparatus includes: an execution control unit that controls execution of a script file that describes a method of converting a document described in a predetermined tag set into a document described in another tag set and processing the document; While executing the script file, the source view display unit displays the content of the document that is the conversion source so that the element to be processed can be identified, and during the execution of the script file, the content of the script file is displayed.
  • a scribble file display that displays the position being processed in an identifiable manner, and the contents of the document at the conversion destination during the execution of the script file so that the element to be processed can be identified Destination view display section and a variable that displays the contents of variables, properties, or user data set in the script file.
  • the value of the property view display unit and the variable, the property, or the user data is a data having a hierarchical structure
  • the data is displayed in the hierarchical structure when the property view display unit displays the data.
  • Still another embodiment of the present invention also relates to a document processing apparatus.
  • This document processing device An execution control unit that controls execution of a script file that describes a method of converting a document described in a predetermined tag set into a document described in another tag set and processing the script file;
  • a source view display section that displays the contents of the document of the conversion source so that the element to be processed can be identified; and the position of the script file during the execution of the script file
  • a scribble file display section that displays in an identifiable manner, and a destination view display section that displays the contents of the document to be converted in an identifiable manner during the execution of the script file.
  • a further aspect of the present invention relates to a document processing method, comprising: a shaping unit for shaping.
  • the document processing method includes a step of controlling execution of a script file describing a method of converting a document described in a predetermined tag set into a document described in another tag set, and processing the script.
  • 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 into 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 into 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 into 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 HTML according to the correspondence shown in FIG.
  • FIG. 6 is a diagram showing an example of a graphical user interface that the definition file generation unit presents to the user 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 diagram showing 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 podocaplary 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 dictated 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 is a diagram showing a procedure for loading a compound document in the document processing system.
  • FIG. 25 is a diagram showing a procedure for loading a compound document in the document processing system.
  • FIG. 26 shows a procedure for loading a compound document in the document processing system.
  • FIG. 27 shows 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.
  • FIG. 29 is a diagram showing a command flow.
  • FIG. 30 is a diagram showing a configuration of a document processing apparatus according to the embodiment.
  • FIG. 31 is a diagram showing a sample document for explaining the function of the debugger.
  • FIG. 32 is a diagram showing a V CD file associated with the XML document shown in FIG. 31.
  • FIG. 33 A diagram showing an example of a degging screen displayed by the degging.
  • Fig.34 This is a diagram showing the state where the VCD script processing is advanced to the rhtmlj element.
  • FIG. 35 is a diagram showing a screen when step-in is executed in the state shown in FIG.
  • FIG. 36 is a diagram showing a state in which the processing of the VCD script is advanced to the “title” element.
  • FIG. 37 is a diagram showing a screen when a step-out is executed in the state shown in FIG. 36.
  • FIG. 38 is a diagram showing a state in which the VCD script process is advanced to the rbodyj element.
  • FIG. 39 is a diagram showing a screen when step over is executed in the state shown in FIG. 38.
  • FIG. 40 is a diagram showing a result of applying the VCD file script shown in FIG. 32 to the XML document shown in FIG. 31.
  • FIG. 41 is a diagram showing a search dialog screen presented by the breakpoint setting unit.
  • FIG. 42 is a diagram showing a property dialog screen in which the variable value sub-tree is formatted and displayed.
  • FIG. 43 is a diagram showing a pop-up window in which lines that do not fit in the screen width are formatted and displayed.
  • 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, determines which vocabulary the XML document is described in, and displays or edits corresponding to the PoCabary. Load plug-ins for viewing and editing.
  • the document processing apparatus 20 includes an HTML unit 50 that displays and edits HTML documents, and displays and edits S VG documents.
  • the display system and editing system are implemented as plug-ins for each POB library (tag set), such as the SVG unit 60.
  • the HTM L unit 50 power
  • SVG unit 60 forces each loaded.
  • 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, so that the recording medium such as a hard disk for storing the program can be used. 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, when the XML document to be processed is mapped to another vocabulary by VC Unit 80, the source tree corresponding to the mapping source XML document and the mapping destination XML document A corresponding destination tree is generated. For example, the output unit 36 converts the DOM tree into an XML document at the end of editing. Output.
  • the CSS unit 40 includes a CSS 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 82, a definition file acquisition unit 84, and a definition file generation unit 86.
  • a mapping unit 82 By mapping a document described in a certain library to another one, the mapping destination A framework for displaying or editing a document with a plug-in for display editing corresponding to the library is provided. 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.
  • 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 Force When issuing a mutation event 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 local vocabulary used by a small number of users can be displayed by converting it to another major vocabulary, and the editing environment Provided.
  • the DOM generation unit 3 4 Generate 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.
  • 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.
  • 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, in order to display this document by a method other than source display and tree display,
  • the VC function described above is used. In other words, prepare a definition file for mapping the grade management library to another library with plug-ins, such as HTML and SVG. There is a need.
  • 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.
  • FIG. 4 (a) and FIG. 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, respectively, the operation of inserting the node “student” into the source tree, and the source tree The operation to delete the node “Student” from the node is associated.
  • headings such as “Name” and “National Language” in the first row of the table Is displayed, and it is described that the contents of the node “Student” are displayed after the second line.
  • 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.
  • Such a tree structure editing function may be provided to the user in the form of a command.
  • a command for adding or deleting a table row may be associated with an operation for adding or deleting a node “student”.
  • the command to embed other pocky libraries is May be provided. Using 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 the pie chart 93 are created on the screen for displaying the XML document described in the grade management platform. This pie chart 93 is described in SVG.
  • 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 edit screen is registered, and either one 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 plug-in and the tree display plug-in do not use the destination tree, but directly use the source tree.
  • Browse and display This In this case, when editing is performed on any of the screens, the source display plug-in and the all-in-one plug-in update the screen with reference to the changed source list, 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 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.
  • 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.
  • 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.
  • FIG. 9 shows another example of an XML document edited by the document processing apparatus 20.
  • 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.
  • 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 data being described in a text base is that, for example, in a portion of a compound document described by a certain library, data of a portion described by another library in the same document is changed. You may refer to it.
  • a search is performed in a document, a character string embedded in a figure such as SVG can be searched.
  • tags from other Pocabularies. It may be used. 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.
  • 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.
  • the layout of the display area for each plug-in is updated by the configuration that manages the layout of the screen, for example, the plug-in responsible for displaying the top node. For example, if the display area of the HTML unit 50 becomes larger than before, the HTML unit 50 first draws the part that it is responsible for and determines the size of the display area. The 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.
  • the web which forms the core of the Internet, has become a big receptacle for such document data.
  • the Web provides information retrieval systems for such documents.
  • These documents are usually written in a markup language.
  • HTML HyperText Markup Language
  • Such documents further include links to other documents stored elsewhere on the web.
  • XML extensible Markup Language
  • Simple browsers for accessing and browsing web documents have been developed in object-oriented programming languages such as Java (registered trademark).
  • Documents written 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.
  • the DOM provides a standard set of objects for representing documents, including HTML and XML documents.
  • the DOM accesses and manipulates the standard model of how objects that represent components in a document are connected, and those objects. It includes two basic components: a standard interface for
  • 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 for creating a document, but is a language for format and layout, not a language for data description.
  • 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.
  • 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.
  • Xpath 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 Xpath, you can specify a location through a hierarchical structure in the DOM tree of an XML document, for example.
  • Xpath is also designed to be used to test whether a node in a DOM tree matches a pattern. More details on XP at h can be found at http: // www. W3. Org / TR / xpath
  • MVC Model-Vie w-Control ler
  • MVC Model
  • V View
  • C Controller
  • 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.
  • the memory 12 may be in any ROM and / or RAM format available now or in the future.
  • the communication path 13 is typically provided as a bus.
  • Input / output interfaces for user input devices 14 and display devices 15 (or other user interfaces) such as mice, keyboards, speech recognition systems, etc.
  • Ace 1 6 is also connected to a bus for communication between processor 1 1 and memory 1 2.
  • 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 provides basic utilities and functions that support the system as well as the 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 are Includes various representations of body and document.
  • Program nvoker is a basic program that is accessed to activate the document processing system. For example, when a user logs on to a document processing system and starts, Programlnvoker 1 03 force is executed. Program nvoker 1 03 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 Programl nvoker 1 03 are not limited to these.
  • Program nvoker 103 finds the application, launches it, and runs the application.
  • a number of components such as a plug-in subsystem 104, a command subsystem 105, and a resource module 109 are attached to Program nvoker 1103. These configurations are described in detail below.
  • Plug-in subsystem 104 is used as a highly flexible and efficient configuration to add functionality to a document processing system.
  • the plug-in subsystem 104 can also be used to modify or delete functions that exist in the document processing system.
  • a wide variety of functions can be added or modified using the plug-in subsystem. For example, you can add an Editlet function that works to support the drawing of a document on the screen.
  • the Editlet plug-in also supports editing of the libraries added to the system.
  • the plug-in subsystem 104 includes a Service Broker (service broker: service broker) 1041.
  • ServiceBroker 1 041 is a document processing system By managing the plug-ins added to the system, it mediates the services 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 may be entered using keystrokes, mouse clicks, or other valid user interface actions.
  • 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, if a user makes a mistake Suppose you want to replace a given word with the 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 launcher) 1 05 1 that 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 a Go country that can cancel the result of the command if the user wishes. Examples of Undoab leGo country and include cutting, copying, and inserting text. In operation, when a user selects a part of a document and applies a cut command to that part, UndoableG o By using country and, the cut out part can be made “not cut out” if necessary.
  • 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.
  • UserApplication 10 06 is entered on the system together with Program nvoker 1 03.
  • UserApplication 1 06 is a document, various representations of documents, It becomes an adhesive that connects the user interface necessary for dialogue. 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 functionality is added as part of UserAppli cat on 1 0 6. In other words, UserApp li cat i on 1 0 6 holds both a 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 UserApp li cat i on 1 0 6 is generated, whenever the user wants to interact with the document that forms part of the project ⁇ , the user can easily run the UserApp li cat i on 1 0 You can say 6.
  • CoreComponent 1 1 0 provides a way to share documents between multiple panes.
  • Pane displays a D O M 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
  • a Pane can be a RootPane 1 0 8 4 or a SubPane 1 0 8 5.
  • RootPane 1 0 8 4 is a Pane that hits the root of the pane tree
  • SubPane 1 0 8 5 is an arbitrary Pane other than RootPane 1 0 8 4.
  • 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 to mark a part of a document in one pane and copy it onto another pane that contains a different document.
  • the application component 1 0 2 It consists of documents that are processed and managed more. 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.
  • the user interface includes Frame 1 0 7 1, MenuBar 1 0 7 2, StatusBar 1 0 7 3 and URLBar 1 0 7 4 .
  • Frame 1 07 1 is considered to be an active area of the physical screen, as is generally known.
  • MenuBarl 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 a URL address in order 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.
  • the DocumentManager 1 081 includes a DocumentGontainer (document container) 2 03 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
  • lOManager input / output manager
  • 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 also forms part of DocumentGontainer 2 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. However, in practice, 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. Also, instead of implementing a specific DOM for each POB library, a specific API is added to the standard DOM implementation later, so that various POP libraries can be processed uniformly. A sentence that contains multiple vocabulary in any combination Can be processed properly.
  • 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.
  • Pane 21 1 is a physical screen layout corresponding to a logical layout provided by 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.
  • Canvas 210 which provides a logical layout on the screen, accepts this powerful operation. Canvas 210 can let Facet execute the corresponding action. Due to this relationship, The Rikiichi Sol Subsystem 2 0 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.
  • UndoManager 2 1 2 1 holds the operation of UndoableEdit (Undoable Edit: Undoable Edit) 2 1 2 2.
  • the controller portion of the MVC may include a force-sol subsystem 20 4.
  • Rikiichi Sol Subsystem 2 0 4 receives input from the user. Squeeze. 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 such as 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 written in more than one markup language.
  • the document may be described in, for example, XHTML (extensible HyperText Markup Language), SVG (Scalable Vector Graphics), Math ML (Mathematical Markup Language), or other markup languages.
  • the markup language may be found in the same way as a tag library in XML.
  • the Pocabulary is processed using the Pocabulary Laguin. 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 representations of a document.
  • FIG. 13 shows a Vocabulary Connection (VC) 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 is connected to the source node of the source D OM tree and the destination Chillon Connects to DOM tree destination node.
  • 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.
  • the Pokémonary is a set of tags in the 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.
  • the Vocabulary 305 generates VGGanvas 310. Further, a connector 304 and a destination DOM tree 306 are generated correspondingly.
  • Sources DO M and Canvas correspond to model (M) and view (V), respectively.
  • this kind of expression is Only meaningful if it can be drawn on the screen.
  • the depiction is done with Pokayabra Rib Lagoin.
  • Pocabulary plug-ins are provided for major vocabulary, eg, XHTML, SVG, and Math ML.
  • 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.
  • DestinationGanvas 308 provides a logical layout of the document in the second representation.
  • DestinationGanvas308 uses user interfaces such as cursors and selections to depict documents in destination representations. Provide chair function. 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, for example, the “lf” command template, the “When” command template, and the “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 the vocabulary before being converted to another vocabulary. No. of source DOM tree A node is called a source node.
  • the destination DOM tree is a DOM tree that represents the same document in 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 representing the 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.
  • Keest event will flow 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.
  • VocabularyConnect i on 3 0 1 3 ⁇ 4 Use the Dest i nat i onCanvas (7—the example XHTMLGanvas l 1 0 6 is the event that occurred, eg Event, key-pode event, drag-and-drop event, and event specific to poker library. These events are notified to the connector 304. More specifically, as shown in Figure 21 (b), the event flow in the VocabularyGonnection plug-in 301 is as follows: SourcePane 1 1 03, VCCanvas 1 1 04, DestinationPane 1 1 05, DestinationGanvas 1 06, go through the destination DOM tree and Go nnector 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 FIG. 14 (c), one 361 ⁇ 6031: 680 ⁇ 40 1 can have multiple associated 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 a specific spot color 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). 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).
  • 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 further details about the configuration of the application service loaded on Programlnvoker 1103.
  • Command Invoker 1 05 which is a component of command subsystem 1 05, activates or executes Command 1 052 in Programlnvoker 1 03.
  • Command 1 052 is a document processing This command is used to process documents such as XML and edit the corresponding XML DOM tree in the 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. 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, when an application moves from one URL to another, SnapShotl 088 remembers the previous state in order to make it possible to seamlessly perform the previous and next operations.
  • Document organization in DocumentManager Figure 17 (a) shows further explanation of DocumentManager 1 081 and how documents are organized and maintained in DocumentManager.
  • DocumentManager 1 081 manages document 1 082.
  • one of the documents is RootDocument 701 and the remaining document is SubDocument 702.
  • Do cumentManager 1 081 is connected to RootDocument 701, and RootDocument 7001 is connected to all SubDocuments 702.
  • DocumentManager 1 081 is an object that manages all documents 1 082 00 (51 ⁇ 6111: 00111: 3 ⁇ 6 Tools that form part of tool kit 201 (eg, XM L tool kit) including D0MService 703 and lOManager 704 are also supplied to DocumentManager 1 081.
  • D0MService 703 generates a DOM tree based on the document managed by DocumentManager 1 081.
  • Each Document 705 is managed by the corresponding DocumentGontainer 203 regardless of whether it is a RootDocument 701 or a SubDo cument 702.
  • 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
  • UndoWrapper Undo Wrapper
  • UndoManager 706 and UndoWrapper 707 are used to execute undoable commands.
  • 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 IEEditAcceptor 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.
  • Undoab IeIdAcceptor 709 is attacked by UndoableEditSource 708 which is a DOM tree of Document 705.
  • the second step S2 Based on commands issued by the user, Document705 is edited using the DOM API.
  • 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.
  • 5th step S5 it is defeated from UndoableEditAcceptor 709 ⁇ UndoableEditSource708.
  • 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 attached to DocumentManager 904.
  • 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 XH TM L subtree.
  • the XH TM L sub-tree has an XH TM L ApexNode 905.
  • the SVG subtree has an SVG 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.
  • the document used in this example contains both text and images.
  • the text is X Represented using HTML, images are represented using SVG.
  • Figure 20 details the MVC representation of the relationship between the document components and the corresponding objects.
  • Document 1 00 1 is attached to DocumentContainer 1 002 that holds Document 1 00 1.
  • 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 portion 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 1007 generates BoxTree 1 009 for the X HTML component of Document 1 00 1.
  • 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 0 1 0 in the document's SVG subtree is attached to SVGZone 1 0 1 1 that is part of the DOM tree of Document 1 00 1 that represents the SVG component of the document.
  • the ApexNode 1 0 1 0 is attached to SVGPane 1 0 1 3 which is the highest Pane in the physical representation of the SVG part of the document.
  • SVGGanvas 1 0 1 2 representing the logical representation of the S VG part of the document is generated by SVGEditlet and attached to SVGPane 1 0 1 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 contains circles, lines, rectangles, etc. as shown. It's okay.
  • 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.
  • Plug-in subsystems are used to add or exchange functionality to a document processing system.
  • 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 generates a Ganvas corresponding to the Node in the Zone.
  • ZoneFactory examples are XHTMLZoneF actory 1 21 1 and SVGZoneFactory 1 21 2 which 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 the conversion rules 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.
  • Figure 22 (c) provides further details related to the Connector.
  • GonnectorF actory 303 (Connector 3 ⁇ 4: Generate from the i source document.
  • ConnectorFactory 3 03 is attached to Vocabulary, Template, and ElementTemplate, and generates Vocabu IaryConnector TemplateConnector ElementGonnector, respectively.
  • the VGManager 302 holds a ConnectorFactory 303.
  • Raw Vocabulary The corresponding VCD file is read to complete. 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.
  • 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.
  • 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” becomes “sample: rootj”
  • “label” becomes “MySampl eXMLj”
  • “cal temp latej becomes“ sample templatej ”.
  • Vocabulary includes a vertex element as "sampl e: root j" in the "MySampl eXML" VGManager.
  • the corresponding UI label is "MySampl eXMLj.
  • the tag is” vcd: templatej, 3 ⁇ 4 Hij (i “sample: templatej
  • Figure 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.
  • XHTML ApexNode 1 403 is the top node of XHTML with tag rxhtml: htmlj.
  • ApexNode 1 404 of “MySampleXML” is the top node of “MySampl eXMLj” with the tag “sample: rootj”.
  • 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 discovered 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”.
  • 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 3 ⁇ 4 :. And that's TemplateSection3 ⁇ 4rP ⁇ .
  • GonnectorFactoryTree Ru was also included ⁇ .
  • GonnectorFactoryTree creates all Gonn ector3 ⁇ 4r that will become GonnectorTree.
  • each Connector creates a destination DOM 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.
  • the Pocabulary creates a destination DOM tree one Dest i nat 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. When a command placed on the queue is executed, the source node is edited.
  • Text OfGonnector reconstructs the destination tree so that changes in the source node are reflected in the corresponding destination node.
  • the template including T extOf Connector includes a control statement such as “for eachj” or “for loopj”
  • the GonnectorFactory re-evaluates this control statement, rebuilds Tex tOfGonnector, and then the destination tree. Is rebuilt.
  • VCD definition file
  • FIG. 30 shows a configuration of the document processing apparatus according to the present embodiment.
  • the document processing apparatus 100 includes a VCD file to be debugged and an XML to which the VCD is applied.
  • An acquisition unit 29 for acquiring a document and a debugger 70 for providing a debugging environment for the acquired V CD file are further provided.
  • Debugger 70 has screen display ⁇ 157 1, Source view display section 72, 0 view_display section 73, destination view display section 74, property view display section 75, breakpoint setting section 76, execution control section 77, shaping Part 78, and pop-up window display part 79.
  • FIG. 31 shows a sample document for explaining the function of the debugger 70.
  • This XML document has multiple “hw: message” elements as child elements of the “hw: document” element.
  • the “hw: message” element contains “Hel lo Wor Id!” And “Hello xml World”. ! "Etc. as a text node.
  • This XML document is associated with the V CD file “HelloWorld2. Xvcd” as a processing system.
  • FIG. 32 shows a VCD file associated with the XML document shown in FIG. VCD file ⁇ loWorld2.
  • the text node of the second element “hw: message” is assigned to the variable “body_title”, which is displayed as the “h1” element of XHT ML.
  • the third element “hw: message” is assigned to the variable “nodeToShow” and its contents are displayed.
  • Figure 33 shows an example of the debug screen displayed by the debugger.
  • the source view that displays the contents of the source document to be processed the VCD view that displays the contents of the VCD file for processing the source document, and the destination that converted the source document using the VC D file
  • a destination view that displays the contents of the document a property view that displays property information such as values assigned to variables, and a history view that displays the call history of templates and functions are provided.
  • the execution control unit 77 causes the VC unit 80 to execute the instructions described in the VCD file in accordance with an instruction from the user.
  • the screen display unit 71 displays the execution status of the execution control unit 77 on the screen.
  • Source view display section 72 displays the current conversion target line in the source view so that it can be identified
  • VCD view display section 73 displays the current processing line in the VCD view so that it can be identified.
  • the destination view display section 74 displays the row converted to the destination view in an identifiable manner
  • the property view display section 75 displays the variable, property, or user set in the VCD file in the property view. Display the contents of the data.
  • VCD script is executed as a step for each node.
  • the execution control unit 77 provides three functions of step-in, step-out, and step-over in order to control the execution of the V CD script in units of steps.
  • the step-in function advances the flow of execution to “in the selected node”. If there is no child node in the content to be executed, execution proceeds to the sibling node.
  • elements with global scope global variables, user data, etc.
  • template elements The selection position is moved in the order of “xvcd: vocabulary” element and “xvcd: template” element. The movement order of the selected position does not depend on the description order in the VCD script. Instead of selecting from the top in the VCD script, elements with global scope are selected first, followed by template elements.
  • Fig. 34 shows the state in which the processing of the V CD script is advanced to the “html” element.
  • step-in is executed with the “html” element selected, the flow of execution proceeds in the “html” element.
  • the screen at this time is shown in FIG.
  • the destination DOM tree is created in the destination view and the “html” element is selected. This means that VC unit 80 has created an “html” element in the destination DOM tree. Since the flow of execution has been advanced one step inside the “html” element, the “head” element is selected.
  • step-out function advances the flow of execution up to "the node that called the selected node". If no node has called the selected node, execution proceeds to the sibling node.
  • Fig. 36 shows the state where the processing of the VCD script is advanced to the "title” element. If step out is executed with the “title” element selected, the flow of execution proceeds to the end tag of the “head” element that called the “ti tlej element”. This state is shown in Fig. 37.
  • step over function advances the flow of execution until "immediately after the call of the selected node is completed". If there is no child node in the content to be executed, execution proceeds to the sibling node.
  • Fig. 38 shows the state in which the processing of the V CD script is advanced to the "body” element. If step over is executed while the start tag of the “body” element is selected, all processing in the “body” element is completed and the flow of execution proceeds to the end tag of the “body” element. This state is shown in FIG.
  • Breakpoint setting section 7 6 sets the point at which execution of the V C D script by execution control section 7 7 is paused.
  • a breakpoint is a “location” where execution of a V C D script stops halfway.
  • the execution control unit 7 7 temporarily stops the execution of the V C D script at the “location” where the breakpoint is set.
  • the V C D view display section 7 3 displays the elements that can set breakpoints in the V C D view in a different display format from the elements that cannot be set. This makes it easy for the user to know where breakpoints can be set.
  • the breakpoint setting section 76 sets a breakpoint on that line.
  • the breakpoint setting section 7 6 displays an icon indicating that at the position where the breakpoint is set. Breakpoints can be temporarily disabled.
  • the execution controller 7 7 pauses execution at the line where a valid breakpoint is set.
  • breakpoint setting section 7 6 displays the position of the set breakpoint with the name and line number of the VCD file. At this time, whether it is valid or invalid is also displayed.
  • the breakpoint setting unit 76 When the breakpoint setting unit 76 is requested to search for an element in the VCD file in order to set a breakpoint, it displays the search dialog screen shown in Fig. 41 and accepts the specification of the element to be searched.
  • the breakpoint setting unit 76 searches for the element in the VCD file and sets a breakpoint on the line of the element.
  • Breakpoint setting part 7 6 is an element that can set breakpoints. Are presented on the search dialog screen shown in Figure 41. For example, “xvcd: xvcdj element cannot set breakpoints, so it is not presented in the search dialog screen.
  • Breakpoints can be set on the following element nodes, literal result elements in template rules, and text nodes.
  • nstruct ion : cal to next, ⁇ instruct ion: choose
  • nstruct ion : co I or-chooser, ⁇ instruct ion: command-exists
  • nstruct ion di rectory-chooser, ⁇ i nstruct i on: f i I e-chooser nstruct ion :: font-family-chooser ⁇ instruct ion: for-each
  • nstruct ion show_status_message
  • ⁇ instruct ion temp I ate-chooser nstruct ion :: throw
  • ⁇ instruct ion tree-message
  • nstruct ion : try, ⁇ instruct ion: variable
  • xvcd app I y-temp I ates
  • ⁇ xvcd app I y-vocabulary
  • xvcd choose, xvcd: comb i ne
  • xvcd if, xvcd: insert xvcd: message, ⁇ xvcd: move
  • xvcd set-attr i bute
  • ⁇ xvcd set-c I i p
  • xvcd template
  • ⁇ xvcd text
  • the shaping unit 78 shapes it into a format reflecting the subtree's hierarchical structure.
  • the value of the variable “nodeToShow” is “hw: message> Hel lo Wor ld! ⁇ Hw: message Hel lo Wor Id! ⁇ Hw: message> He 11 o Wor I d! ⁇ / hw: messageX / hw: messageX / hw: message> ”is displayed on one line, but when this is double-clicked, the property display 75 will display The property dialog screen showing the details of the variable is presented.
  • the shaping unit 78 shapes the subtree that is the value of the variable “nodeToShow” into a format in which the hierarchical structure can be recognized as shown in FIG. As a result, the user can easily grasp the hierarchical structure of the subtree.
  • Pop-up window display section 79 shows that in the source view, VCD view, destination view, property view, and history view, the user can see the line that extends beyond the width of the screen. Sol If present, it presents a pop-up window that displays the entire line. At this time, if the content of the line is a subtree, the shaping unit 78 formats the subtree into a format that reflects the hierarchical structure. As a result, the user can easily grasp the line that does not fit in the width of the screen, and can easily grasp the hierarchical structure of the subtree when the line is a subtree.
  • the document processing apparatus 100 is similar to a document described in other markup languages such as SGML and HTML. Can be processed.
  • the present invention can be used for a document processing apparatus that processes a document described in a markup language.

Landscapes

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

Abstract

Un débogueur (70) comprend une unité de commande d'exécution (77) qui commande l'exécution d'un fichier de script décrivant un procédé permettant de convertir le document XML décrit dans un ensemble d'étiquettes déterminé dans un document XML décrit dans un autre ensemble d'étiquettes et de traiter ce document et, une unité de fixation d'arrêt (76) destinée à suspendre temporairement l'exécution de ce fichier de script par l'unité de commande d'exécution (77). L'unité de fixation de point d'arrêt (76) reçoit une demande de recherche d'élément où un point d'arrêt doit être fixé, recherche le fichier de script pour cet élément spécifié et fixe le point d'arrêt sur l'élément recherché.
PCT/JP2007/000821 2006-07-31 2007-07-31 Dispositif de traitement de documents et procédé de traitement de documents WO2008015789A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008527657A JPWO2008015789A1 (ja) 2006-07-31 2007-07-31 文書処理装置及び文書処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-209321 2006-07-31
JP2006209321 2006-07-31

Publications (1)

Publication Number Publication Date
WO2008015789A1 true WO2008015789A1 (fr) 2008-02-07

Family

ID=38996977

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/000821 WO2008015789A1 (fr) 2006-07-31 2007-07-31 Dispositif de traitement de documents et procédé de traitement de documents

Country Status (2)

Country Link
JP (1) JPWO2008015789A1 (fr)
WO (1) WO2008015789A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471993A (zh) * 2019-07-05 2019-11-19 武楚荷 一种事件的关联方法、装置以及存储装置
CN116151191A (zh) * 2023-04-18 2023-05-23 武汉精臣智慧标识科技有限公司 一种数据渲染方法、系统、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"<Oxygen/> User Manual", 2006 NEN 2 GATSU, SYNCRO SOFT LTD., 27 September 2007 (2007-09-27), XP003020867, Retrieved from the Internet <URL:http://www.web.archive.org/web/20060221022721> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471993A (zh) * 2019-07-05 2019-11-19 武楚荷 一种事件的关联方法、装置以及存储装置
CN116151191A (zh) * 2023-04-18 2023-05-23 武汉精臣智慧标识科技有限公司 一种数据渲染方法、系统、电子设备及存储介质
CN116151191B (zh) * 2023-04-18 2023-06-16 武汉精臣智慧标识科技有限公司 一种数据渲染方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
JPWO2008015789A1 (ja) 2009-12-17

Similar Documents

Publication Publication Date Title
JP5020075B2 (ja) 文書処理装置
WO2006051905A1 (fr) Dispositif et procede de traitement de donnees
WO2007034858A1 (fr) Appareil de gestion de données, appareil d’édition de données, appareil de parcours de données, méthode de gestion de données, méthode d’édition de données et méthode de parcours de données
WO2006051870A1 (fr) Dispositif de traitement de donnees et dispositif et procede de traitement de document
WO2006051715A1 (fr) Dispositif de traitement de document et methode de traitement de document associee
WO2006051961A1 (fr) Dispositif de traitement de données et méthode de traitement de données
JPWO2006051975A1 (ja) 文書処理装置
WO2006046666A1 (fr) Dispositif de traitement de document et procede de traitement de document
JP4521408B2 (ja) 文書処理装置及び文書処理方法
WO2007105364A1 (fr) Dispositif de traitement de document et procede de traitement de document
WO2006051960A1 (fr) Dispositif de traitement de document et méthode de traitement de document
WO2006051954A1 (fr) Dispositif de traitement de document et méthode de traitement de document
JPWO2007007529A1 (ja) 文書処理装置および文書処理モジュール
WO2006051904A1 (fr) Dispositif et procede de traitement de donnees
WO2007032460A1 (fr) Appareil de traitement de données
JPWO2006046668A1 (ja) 文書処理装置および文書処理方法
WO2006051959A1 (fr) Dispositif de traitement de document et méthode de traitement de document
WO2006051712A1 (fr) Dispositif et procede de traitement de document
WO2006051716A1 (fr) Dispositif et procede de traitement de document
WO2006051955A1 (fr) Dispositif serveur et méthode d’attribution d’espace de noms
WO2008015789A1 (fr) Dispositif de traitement de documents et procédé de traitement de documents
JPWO2006051972A1 (ja) データ処理装置、文書処理装置および文書処理方法
WO2006051956A1 (fr) Dispositif serveur et méthode de recherche
WO2006051717A1 (fr) Dispositif et procede de traitement de document
WO2006051868A1 (fr) Dispositif et procede de traitement de documents

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: 07827781

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008527657

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: 07827781

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载