WO2006137562A1 - 文書処理装置及び文書処理方法 - Google Patents
文書処理装置及び文書処理方法 Download PDFInfo
- Publication number
- WO2006137562A1 WO2006137562A1 PCT/JP2006/312751 JP2006312751W WO2006137562A1 WO 2006137562 A1 WO2006137562 A1 WO 2006137562A1 JP 2006312751 W JP2006312751 W JP 2006312751W WO 2006137562 A1 WO2006137562 A1 WO 2006137562A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- document
- screen
- definition file
- display
- xml
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
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.
- XML is attracting attention as a format suitable for sharing data with others via a network, and applications for creating, displaying, and editing XML documents have been developed (for example, (See Patent Document 1).
- An XML document is created based on a vocabulary (tag set) defined by a document type definition or the like.
- Web pages are often described in HTML (HyperText Markup Languate), but in the future, Web content described in XML such as XHTML will increase instead of HTML.
- RSS RDF Site Summary
- RSS which describes the outline of a site as metadata, is widely used as a means of publishing site update information.
- Patent Document 1 Japanese Patent Laid-Open No. 2001-290804
- the type of content that can be displayed on the screen is determined in advance on the server side, and the user cannot freely display arbitrary content.
- a user with a low degree of freedom in screen layout cannot freely set a favorite layout. Therefore, it is desired to provide a flexible and highly flexible service that allows a user to display desired content in a desired layout.
- the present invention has been made in view of such circumstances, and an object thereof is to consolidate a plurality of documents. It is to provide a technique for providing a screen to be displayed together.
- a document processing apparatus includes a document acquisition unit that acquires a plurality of XML documents from a server via a network, and the plurality of XML documents on the same screen.
- a definition file acquisition unit that acquires the first definition file that defines the rules for display in the display, and a display that displays the plurality of XML documents on the same screen according to the rules specified in the definition file A control unit.
- the definition file acquisition unit further acquires a second definition file that defines a rule for displaying each of the plurality of XML documents in a display area assigned to each XML document,
- the display control unit determines a layout of a display area of the plurality of XML documents according to the rule of the first definition file, and displays the XML document in each display area according to the rule of the second definition file. You may let them.
- the XML document is mapped to a set of tags that can be processed by the processing system.
- a conversion unit that holds correspondence between the mapped components.
- a storage control unit that controls storage of a plurality of XML documents displayed on the screen may be further provided.
- the storage control unit may store the XML document before being converted by the conversion unit.
- the image processing apparatus may further include a condition holding unit that holds a rule for changing a display format according to a condition regarding data included in the XML document.
- the display control unit may change the display format of the XML document according to the rule when data included in the XML document matches the condition.
- An update control unit that updates at least a part of the XML document may be further provided.
- the update control unit may accept the specification of the XML document to be updated from the user, cause the document acquisition unit to re-acquire the specified XML document, and display the specified XML document on the display control unit.
- a screen editing unit for providing a service may be further provided.
- the screen editing unit may receive a registration request for an XML document to be displayed on the screen, and describe a rule for displaying the requested XML document on the screen in the first definition file. .
- the screen editing unit may receive a request to change the layout of the display area of the XML document on the screen and edit the rule of the first definition file.
- Another aspect of the present invention is a document processing method.
- the method includes obtaining a plurality of XML documents from a server via a network, obtaining a first definition file that defines a rule for displaying the plurality of XML documents on the same screen, and And displaying the plurality of XML documents on the same screen in accordance with the rules defined in the definition file.
- FIG. 1 is a diagram showing a configuration of a document processing apparatus according to a base technology.
- FIG. 2 is a diagram showing an example of an XML document edited by a document processing apparatus.
- FIG. 3 is a diagram showing an example of mapping the XML document shown in FIG. 2 to a table described in HTML.
- FIG. 4 (a) is a diagram showing an example of a definition file for mapping the XML document shown in FIG. 2 to the table shown in FIG.
- FIG. 4 (b) is a diagram showing an example of a definition file for mapping the XML document shown in FIG. 2 to the table shown in FIG.
- FIG. 5 is a diagram showing an example of a screen displayed by mapping the XML document shown in FIG. 2 to HTML according to the correspondence shown in FIG.
- FIG. 6 is a diagram showing an example of a graphical user interface presented to the user by the definition file generation unit in order for the user to generate a definition file.
- FIG. 7 is a diagram showing another example of the screen layout generated by the definition file generation unit.
- FIG. 8 is a diagram showing an example of an XML document editing screen by the document processing apparatus.
- FIG. 9 is a diagram showing another example of an XML document edited by the document processing apparatus.
- FIG. 10 is a diagram showing an example of a screen displaying the document shown in FIG.
- FIG. 11 is a diagram showing a configuration of a document processing apparatus according to the embodiment.
- FIG. 12 is a diagram showing an internal configuration of a content integration unit.
- FIG. 13 is a diagram showing an example of a content integration screen displayed by the display control unit.
- FIG. 14 is a diagram showing an example of a content integration screen displayed by applying the conditions held in the display condition holding unit.
- FIG. 15 is a diagram showing an example of a content integration screen when a part of the content is updated by the update control unit.
- FIG. 16 is a diagram showing an example of a content integration screen in which data is linked by the linkage control unit.
- 20 document processing device 22 main control unit, 24 editing unit, 25 web server, 2 7 search engine, 30 DOM unit, 32 DOM providing unit, 34 DOM generating unit, 36 output unit, 40 CSS unit, 42 CSS Analysis unit, 44 CSS providing unit, 46 Rendering unit, 50 HTML unit, 52, 62 Control unit, 54, 64 Editing unit, 56, 66 Display unit, 60 S VG unit, 70 Content integration unit, 71 Content acquisition unit, 73 Display control unit, 74 Display condition holding unit, 75 Update control unit, 76 Storage control unit, 77 Coordination control unit, 80 VC unit, 82 Mapping unit, 84 Definition file acquisition unit, 86 Definition file generation unit, 100 Document processing device .
- FIG. 1 shows the configuration of the document processing apparatus 20 according to the base technology.
- the document processing apparatus 20 processes a structured document in which data in the document is classified into a plurality of components having a hierarchical structure.
- the document processing device 20 is an example of 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 conversion unit.
- VC unit 80 is provided.
- these configurations are the power realized by the CPU, memory, and programs loaded in the memory of any computer.
- functional blocks realized by their cooperation are depicted. 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.
- the 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 loaded by the main control unit 22 or the editing unit 24 according to the document type.
- the main control unit 22 or the editing unit 24 refers to the name space of the XML document to be processed, determines whether the XML document is described by a misplaced library, and displays or displays the document corresponding to the missing library. Load the editing plug-in to display or edit.
- the document processing device 20 has a display system and an editing system plug-in for each vocabulary (tag set) such as an HTML unit 50 that displays and edits HTML documents and an SVG unit 60 that displays and edits SVG documents.
- the HTML unit 50 is loaded when editing an HTML document
- the SVG unit 60 is loaded when editing an S VG document.
- both HTML unit 50 and SVG unit 60 are loaded.
- the user can select and install only necessary functions and add or delete functions as needed later, so that the recording medium such as a hard disk for storing the program can be used.
- the storage area can be used effectively, and memory can be prevented from being wasted during program execution.
- it has excellent function expandability, and as a development entity, it is possible to cope with a new vocabulary in the form of a plug-in, making development easier, and as a user, it is easy and low by adding plug-ins. Additional functions can be added at cost.
- the editing unit 24 accepts an editing instruction event via the user interface, notifies the event to an appropriate plug-in, and re-executes the event. Controls processing such as line (redo) or canceling execution (undo).
- the DOM unit 30 includes a DOM providing unit 32, a DOM generation unit 34, and an output unit 36, and is a document object model (Document) defined to provide an access method when an XML document is handled as data. Implements functions that conform to Object Model (DOM).
- the DOM provider 32 is a DOM implementation that satisfies the interface defined in the editing unit 24.
- the DOM generator 34 also generates a DOM tree with XML document capabilities. As will be described later, when XML document power to be processed is mapped to another library by VC unit 80, the source tree corresponding to the mapping source XML document and the destination tree corresponding to the mapping destination XML document Is generated.
- the output unit 36 outputs the DOM tree as an XML document at the end of editing, for example.
- the CSS unit 40 includes a 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 the syntax of CSS.
- the CSS provider 44 is an implementation of a CSS object and performs CSS cascade 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 CSS.
- the HTML unit 50 displays or edits a document described in HTML.
- the SVG unit 60 displays or edits documents written in SVG.
- These display Z editing systems are realized in the form of plug-ins.
- Each display unit (Canvas) 56 and 66 displays a document, and each control unit (Editlet) 52 and 62 receives and transmits an event including an editing instruction. It is equipped with editing sections (Zone) 54 and 64 that receive editing commands and edit the DOM.
- the control unit 52 or 62 accepts a DOM tree editing command even when an external force is received, the editing unit 54 or 64 changes the DOM tree, and the display unit 56 or 66 updates the display.
- MVC Model-View-Controller
- the display units 56 and 66 are changed to "View”, and the control units 52 and 62 are changed to "Controller”. Parts 54 and 64 and the entity of the DOM correspond to “Model”, respectively.
- the document processing apparatus 20 of the base technology enables not only editing of an XML document in a tree display format but also editing according to the respective vocabulary.
- HTML unit 50 converts HTML documents into word processors
- the SVG unit 60 provides a user interface for editing an SVG document in a manner similar to an image drawing tool.
- the VC unit 80 includes a mapping unit 82, a definition file acquisition unit 84, and a definition file generation unit 86.
- a mapping destination Provides a framework for displaying or editing documents with a display editing plug-in that supports the vocabulary. In this base technology, this function is called Vocabulary Connection (VC).
- the definition file acquisition unit 84 acquires a script file in which the mapping definition is described. This definition file describes the correspondence (connection) between nodes for each node. At this time, whether to edit the element value or attribute value of each node may be specified. Also, an arithmetic expression using the element value or attribute value of the node may be described.
- the mapping unit 82 refers to the script 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.
- the VC unit 80 first matches the source tree. Change the node to be used.
- DOM unit 30 issues a mutation event indicating that the source tree has been changed
- VC unit 80 receives the mutation event and synchronizes the destination tree with the change in the source tree. Change the destination tree node corresponding to the changed node.
- a plug-in that displays / edits the destination tree for example, the HTML unit 50, receives a mutation event indicating that the destination tree has been changed, and updates the display with reference to the changed destination tree.
- the DOM generation unit 34 When the document processing device 20 reads a document to be processed, the DOM generation unit 34 generates a DOM tree for the XML document power. Further, the main control unit 22 or the editing unit 24 refers to the name space to determine the vocabulary describing the document. If a plug-in corresponding to the vocabulary is installed in the document processing apparatus 20, the plug-in is loaded to display / edit the document. If the plug-in linker S is not installed, check whether the mapping definition file exists.
- the definition file acquisition unit 84 acquires the definition file, generates a destination tree according to the definition, and displays and edits the document by the plug-in corresponding to the mapping destination library. If the document is a compound document containing multiple vocabularies, the corresponding parts of the document are displayed and edited by plug-ins corresponding to each vocabulary as described later. If the definition file does not exist, the document source or tree structure is displayed and edited on the display screen.
- FIG. 2 shows an example of an XML document to be processed.
- This XML document is used to manage student grade data.
- the component “score” that is the top node of the XML document has a plurality of component “students” provided for each student under the subordinate.
- the component “student” has an attribute value “name” and child elements “national language”, “mathematics”, “science”, and “society”.
- the attribute value “name” stores the name of the student.
- the constituent elements “National language”, “Mathematics”, “Science”, and “Society” store the results of national language, mathematics, science, and society, respectively.
- the student with the name “A” has a national grade of “90”, a mathematical grade of “50”, a science grade of “75”, and a social grade of “60”.
- the vocabulary (tag set) used in this document will be referred to as the “results management vocabulary”.
- the document processing apparatus 20 of the base technology does not have a plug-in that supports display Z 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 is used.
- the user interface for creating a definition file by the user himself will be described later. The explanation will proceed assuming that the file is prepared.
- FIG. 3 shows an example of mapping the XML document shown in FIG. 2 to a table described in HTML.
- the “Student” node in the Grade Management Library is associated with the row (“TR” node) of the table (“TA BLE” node) in HTML, and the attribute value “name” appears in the first column of each row.
- the element value of the "National Language” node the element value of the "Mathematics” node in the third column, the element value of the "Science” node in the fourth column, and " Associate the element values of the “Society” node.
- the XML document shown in FIG. 2 can be displayed in an 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. 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. Note that 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 or not editing can be performed in the mapping definition, it is possible to prevent erroneous operations by the user.
- FIGS. 4A and 4B 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 of deleting the node “student” from the node is associated.
- headings such as “name” and “national language” are displayed in the first line of the table, and the contents of the node “student” are displayed in the second and subsequent lines.
- FIG. 5 shows an example of a screen displayed by mapping the XML document described in the results management library shown in FIG. 2 to 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 the value in the second row and third column is changed to “70”, the element value of the source corresponding to this node, that is, the math grade of the student “B” is changed to “70”.
- the VC unit 80 changes the corresponding part of the destination tree that makes the destination tree follow the source tree, and updates the display based on the changed destination tree. Therefore, also in the table on the screen, the mathematics score of the student “B” is changed to “70”, and the average score is changed to “55”.
- the screen shown in FIG. 5 displays the “add student” and “delete student” command menus. Is displayed. When the user selects these commands, the node “Student” is added or deleted in the source tree.
- a single-structure editing function may be provided to the user in the form of a command. Further, for example, a command for adding or deleting a table row may be associated with an operation for adding or deleting the node “student”.
- a command for embedding other vocabulary may be provided to the user.
- this table as an input template, new student grade data can be added in the form of hole filling.
- the VC function makes it possible to edit a document described in the grade management vocabulary while using the display Z editing function of the HTML unit 50.
- FIG. 6 shows an example of a graphical user interface that the definition file generator 86 presents to the user in order for the user to generate a definition file.
- the XML document of the mapping source is displayed in a tree.
- the area 92 on the right side of the screen shows the screen layout of the mapping destination XML document.
- This screen layout can be edited by the HTML unit 50, and the user can edit the text in the area 92 Create a screen layout to display the document. Then, for example, with a pointing device such as a mouse, drag and drop the node of the mapping source XML document displayed in the area 91 on the left side of the screen into 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 “math”, which is a child element of the element “student”, into the first row and third column of Table 90 on the HTML screen, it will be between the “math” node and the “TD” node in the third column. A connection is established. Each node can be designated for editing. An arithmetic expression can also be embedded in the display screen. When the screen editing is completed, the definition file generation unit 86 generates a definition file describing the screen layout and the connection between the nodes.
- FIG. 7 shows another example of the screen layout generated by the definition file generator 86.
- a table 90 and a pie chart 93 are created on the screen for displaying the XML document described in the grade management vocabulary.
- This pie chart 93 is described in SVG.
- the document processing apparatus 20 of the base technology can process a compound document including a plurality of libraries in one XML document, and thus a table described in HTML as in this example. 90 and a pie chart 93 written 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 multiple parts, and the XML document to be processed is displayed in different display formats in each area.
- the document 94 is displayed in the area 94
- the tree structure of the document is displayed in the area 95
- the table described in HTML shown in FIG. 5 is displayed in the area 96. Yes.
- Any of these pictures Documents can also be edited on the screen, and if the user edits on any screen, the source tree is changed to reflect changes in the plug-in and source trees responsible for displaying each screen. Update the screen accordingly.
- the display section of the plug-in responsible for displaying each editing screen is registered, and either plug-in or VC unit 80 is registered.
- the source tree is changed by, 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 directly refer to the source tree without using the destination tree. And display.
- the source display plug-in and the tree display plug-in update the screen with reference to the changed source tree, and take charge of the screen in area 96! /
- the 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. That is, the source and tree structure may be laid out in HTML, an XML document may be mapped to the HTML, and displayed by the HTML unit 50. In this case, three destination trees are generated: source format, tree format, and tabular format.
- VC Unit 80 changes the source tree, then changes each of the three destination trees: source format, tree format, and tabular format. Refer to those destination trees and update the three screens.
- the user can display and edit a document in a format that can be easily visually divided using the table 90 or the like while grasping the hierarchical structure of the document by the source display or the tree display.
- one screen is divided into multiple It is also possible to display the screen in one display format on one screen and switch the display format according to a user instruction.
- the main control unit 22 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 device 20.
- the XHTML document is embedded in the “foreignObject” tag of the SVG document, and moreover, the mathematical expression described in MathML is included in the XHTML document.
- 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 MathML unit (not shown) is made to draw mathematical expressions. In this way, a compound document including a plurality of vocabularies is appropriately displayed.
- Figure 10 shows the display results.
- the displayed menu may be switched according to the position of the cursor (carriage). That is, when the cursor is 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. Thereby, an appropriate user interface can be provided according to the editing position.
- the portion described by the specified library may be displayed in the source display or the tree display.
- the application power to display the embedded document S Installed powerful power that cannot display its contents
- the contents can be grasped by displaying the XML document composed of text data in the source display or tree display. This is a unique feature of text-based documents such as XML.
- Another advantage of data being described on a text basis is, for example, in compound documents In a portion described by a certain library, data of a portion described by another library in the same document may be referred to.
- a character string embedded in a figure such as SVG can also be searched.
- Tags of other library may be used in a document described by a certain library. This XML document is not valid, but if it is well-formed (welH rmed), it can be processed as a valid XML document. In this case, the tag of another inserted library 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. Moyo.
- the plug-in or VC unit 80 responsible for the edited part changes the source tree. Mutation event listeners can be registered for each node in the source tree. Normally, the plug-in display or VC cut 80 corresponding to the vocabulary to which each node belongs is registered as a listener. Is done.
- 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 entire 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 a configuration that manages the layout of the screen, for example, a plug-in that is responsible for displaying the top node.
- the HTML unit 50 first draws a part that it is in charge of and determines the size of the display area. Then, change the display area after changing the configuration to manage the layout of the screen. Notify the size and request a layout update.
- the configuration that manages the layout of the screen 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.
- FIG. 11 is a diagram showing a configuration of the document processing apparatus 100 according to the embodiment.
- the document processing apparatus 100 includes a content integration unit 70 in addition to the configuration of the document processing apparatus 20 described in the base technology.
- the document processing apparatus 100 functions as a web browser that browses web pages described in HTML or XML that are stored in the web server 25.
- the content integration unit 70 requests the web server 25 to transmit content such as a web page via the Internet 29, and acquires the content.
- the content integration unit 70 transmits a search query to the search engine 27 via the Internet 29 and acquires the search result.
- the content integration unit 70 integrates the plurality of web contents thus obtained and displays them on the same screen 28 (hereinafter referred to as “content integration screen”!).
- the content integration unit 70 freely arranges an area for displaying web contents such as a web page and RSS, an area for displaying an interface such as a search keyword input screen of a search service, and the like on the screen.
- an environment for displaying a screen 28 that can be browsed by integrating desired information is provided.
- Such a function can be realized by, for example, the definition file and VC unit 80 described in the base technology.
- the definition file generator 86 can be used to register web contents, web application and web service interfaces on the screen, and to set the screen layout.
- FIG. 12 shows the internal configuration of the content integration unit 70.
- the content integration unit 70 includes a content acquisition unit 71, a display control unit 73, a display condition holding unit 74, an update control unit 75, a storage control unit 76, and a cooperation control unit 77.
- the content acquisition unit 71 acquires content such as a web page from a web service providing server such as the web server 25 or the search engine 27.
- Content to be acquired May be described in the definition file.
- the definition file acquisition unit 84 acquires the first definition file for content integration associated with the document.
- the content acquisition unit 71 acquires the content described in the definition file or document.
- the content to be acquired may be a web page provided by the web server 25, may be RSS, may be content such as music or video, or may be a search result by the search engine 27 or the like. There may be.
- the web page may be described in HTML or may be described in a specific XML library (tag set).
- the display control unit 73 displays a plurality of contents acquired by the content acquisition unit 71 in an integrated manner on the same screen.
- Display rules for displaying content may be described in the definition file.
- the display format of each content is defined by the second definition file associated with each content, and the display rules for laying out the display areas of these contents on the same screen are described above. It may be described in the first definition file for content integration.
- the first definition file defines the layout of the display area of each content displayed on the screen.
- the first definition file may be edited by a GUI provided by the definition file generation unit 86.
- a GUI for editing the screen layout using the editing function of the HTML unit 50 may be provided.
- the user can freely set the display area of each content, and can freely change the shape and layout of the display area by dragging and dropping the mouse.
- a server provided a service for registering and displaying multiple contents on a web page. Web services and web content that can be registered are determined in advance, and the user can freely configure the screen layout. It could not be set.
- the user himself edits and holds the first definition file, and the content integration screen 28 is displayed by the first definition file. Therefore, any web content or web service can be displayed.
- the content can be displayed on the content integration screen 28, and the screen layout can be freely set by the user. This completes It is possible to provide the portal site by publishing the created content integration screen 28 on the server.
- the display format can be freely set for each content.
- the second definition file describes rules for mapping an XML document to a tag set that can be processed by the processing system installed in the document processing apparatus 100 by the mapping unit 82, which is an example of a conversion unit. .
- This second definition file can also be edited using the GUI provided by the definition file generator 86. If the processing system that can process the tag set describing the web content is installed in the document processing device 100, such as when the web content is described in HTML or XHTML, the second definition file is not prepared. May be.
- the document processing apparatus 100 can process a document described by a plurality of tag sets.
- the web server 25 is described by various tag sets of XML. Even when web content is distributed, Web content can be processed appropriately by preparing a second definition file as needed. If Web content is described in its own vocabulary for each site, a second definition file for processing the vocabulary may be prepared. Further, according to the document processing apparatus 100 of the present embodiment, the displayed web content can be appropriately edited using a processing system in charge of each tag set.
- FIG. 13 shows an example of the content integration screen 28 displayed by the display control unit 73.
- an area 97a for displaying the contents of “today's youth” obtained from the web server an area 97b for displaying the contents of “tomorrow's weather” obtained from the web server, and a query to the search engine
- An interface 97c for displaying the search result and the interface for transmission is provided.
- the content acquisition unit 71 acquires these contents from the respective servers, and the display control unit 73 sets the display area of these contents according to the display rules described in the first and second definition files. Lay out and display content in each display area.
- the definition file generation unit 86 may provide a function of a screen editing unit that accepts an editing request for the content integration screen 28.
- the definition file generator 86 Using the tag set processing system that describes the integrated screen 28, it is possible to accept a request to change the layout of the content display area and edit the display rule of the first definition file. For example, the region 97a may be enlarged by dragging and dropping the boundary line of the region 97a. Alternatively, the display position of the area 97a may be changed by dragging and dropping the area 97a to another location. Further, a registration request for content to be displayed on the content integration screen 28 may be accepted. For example, by dragging and dropping the content being displayed in another window onto the content integration screen 28, the content display rule is displayed in the first definition file so that the content is additionally displayed on the content integration screen 28. You may describe.
- the display condition holding unit 74 holds a rule for changing a content display format, for example, a color, a shape, a style, and the like in accordance with a condition regarding data included in the content.
- the display control unit 73 changes the display format of the content according to the display rules held in the display condition holding unit 74 when the data included in the acquired content matches the conditions. For example, when acquiring and displaying the latest -youth, if there is a word such as "patent" in the news title, the condition that the -youth is expanded and highlighted may be retained. . Conditions regarding such changes in the display format may be described in the first or second definition file.
- FIG. 14 shows an example of the content integration screen 28 displayed by applying the conditions held in the display condition holding unit 74.
- the content includes the keyword “professional baseball” and the condition for highlighting the content is held in the display condition holding unit 74
- the content integration screen 28 shown in FIG. Part 73 highlights as shown in FIG.
- the degree of freedom of display is further increased and the convenience of the user can be improved.
- the update control unit 75 may update only a part of the content integration screen 28. For example, a part to be updated may be received from the user, and the content of the part may be newly acquired from Sano and updated, or the part to be updated may be automatically determined.
- the update control unit 75 may check whether the content has been updated on the server side, and may re-acquire only the updated content.
- the update control unit 75 registers the frequency of updates in advance for content that is expected to be updated, such as weather forecasts and stock price information, and re-acquires the content according to the update timing. You can do it.
- FIG. 15 shows an example of the content integration screen 28 when a part of the content is updated by the update control unit 75.
- the update control unit 75 re-acquires the content of “Tomorrow's weather” displayed in the area 97b to the web server. To request.
- the content reacquired from the web server is redisplayed by the processing system that should process the content, and the content integration screen 28 is updated as shown in FIG.
- the storage control unit 76 receives a document storage request from the user, and stores the document being displayed on the content integration screen 28. At this time, the source tree document that is the original document that is mapped and displayed by the definition file and is not displayed by the destination tree document is saved. In conventional browsers, the HTML document being displayed is saved, and HTML is a language that mainly defines the display, so even if you can reopen the saved document and reproduce the same screen, The data was suitable for the reuse of data. In the present embodiment, since an XML document having a meaningful tag structure is stored, data reuse is easy. Since the display format is defined by the definition file, the same display as when saved can be reproduced, and the document can be displayed in a different display format by modifying or exchanging the definition file.
- the document may be saved. For example, you may save a document that is underlined in the displayed document, highlighted by extracting a keyword, or leaving a memo. This allows the edited content to be reproduced later. Notes, highlights, etc. can be written with a special tag as an annotation in the document, or recorded in a separate file. If you want to update to the latest information when you save the edited document and then display it again, you can select the part you want to update and indicate the update. At this time, the update control unit 75 reacquires and displays the updated content from the time of saving.
- the cooperation control unit 77 controls data cooperation among a plurality of contents displayed on the content integration screen 28.
- the cooperation control unit 77 controls the content acquisition unit 71 to acquire information on other content by using predetermined data included in a certain content displayed on the content integration screen 28.
- the search keyword is used to search for words contained in other content displayed on the content integration screen 28 or in notes edited by the user. And may be used.
- the document processing apparatus 100 holds and processes a document described in XML in the DOM format, and has a feature that any part of the document can be referred to using the DOM interface. Such data linkage can be easily realized.
- This technology is a technology that should be referred to as “white box” as a synonym for “black box” technology that cannot refer to the data inside the module.
- the web page When trying to realize such data linkage with a conventional web page written in HTML, the web page is configured with a predetermined format for data linkage, or dedicated software is developed. There was a need.
- data can be referred to from a meaningful tag structure described in XML, so that a search keyword or the like can be easily extracted.
- data linkage and operation can be specified by definition files, etc., so there is no need to develop new dedicated software.
- the cooperation control unit 77 refers to the URL of the search engine described in the definition file or the source document, and transmits a query to the search engine. At this time, arbitrary data of the content displayed on the content integration screen 28 is specified as the content of the query. Cooperation The location of the data may be specified by xpath etc.
- the cooperation control unit 77 passes the designated data to the search engine as a search keyword, acquires the search result, tracks it as a source, and displays it on the content integration screen 28.
- FIG. 16 shows an example of the content integration screen 28 in which data is linked by the linkage control unit 77.
- the blog article power is also displayed by the search engine, an area 98a that displays the results of searching for specific articles, and an area 98b that displays the results of searching for specific book information from the bookstore site.
- An area 98c for displaying a result of searching a web page including the keyword is provided.
- the title of the diary displayed in the first place is extracted from the search results of "Today's Diary" in B1 og displayed in the area 98a, and is used as a search keyword for the book store in the area 98b. Given.
- the book information is searched from the book store and displayed in the area 98b.
- the author name of the book displayed in the first place is extracted from the search result of the book displayed in the area 98b, and is given as a search keyword for the search engine in the area 98c.
- the search result by the search engine using “Yamada Taro”, the author of the book “Java (Registered Trademark) All”, displayed in the first place is displayed in area 98c.
- the cooperation control unit 77 may provide a GUI for designating data cooperation. For example, on this screen, if you select the word “Publisher” displayed in area 98b and drag and drop it in area 98c, the publisher name is extracted from the search result of the bookstore and given to the search engine as a keyword. As you can see, the definition file can be rewritten! /. At this time, the cooperation control unit 77 passes “A publication”, which is the publisher of the book “Java (Registered Trademark) All” displayed in the first place, to the search engine as a search keyword. Then, in the area 98c, the search result by the search engine using “A publication” as a keyword is displayed.
- the cooperation control unit 77 may automatically set the layout of the display area on the content integration screen 28 when data cooperation is designated.
- the cooperation control unit 77 may be configured to display content adjacent to each other for which data linkage is specified.
- the search results in the book store are linked with words with specific tags as blog search keywords.
- the linkage control unit 77 displays the display area of each search result on the content integration screen 28.
- the layout may be arranged in order from the left. In other words, the screen layout may be set so that the search result of the book store is displayed in the area 98a, the search result of the blog is displayed in the area 98b, and the search result of the search engine is displayed in the area 98c.
- the cooperation control unit 77 may automatically specify data cooperation based on the positional relationship of the layout of the content displayed on the content integration screen 28. For example, the cooperation control unit 77 may acquire information on the other content by using predetermined data included in one content displayed adjacently.
- the blog search screen is displayed in the area 98a
- the book store search screen is displayed in the area 98b
- the search engine search screen is displayed in the area 98c.
- the linkage control unit 77 designates predetermined data from the blog search results as the search keyword of the bookstore, and the central force of the bookstore search results also designates the predetermined data to the search engine. Let's automatically link them together.
- the power described as an example of processing an XML document can also process documents described in other markup languages such as SGML and HTML. It can be processed similarly.
- the present invention can be used in a document processing apparatus that processes an XML document.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
複数の文書を統合して表示する画面を提供する。 コンテンツ統合ユニット70は、ウェブサーバ25から取得したウェブページや、検索エンジン27が提供する検索サービスにクエリを送信するためのインタフェイスや、検索エンジン27による検索結果などを、同一のコンテンツ統合画面28に統合して表示する。コンテンツ統合ユニット70は、コンテンツ統合画面28に表示するウェブコンテンツの登録要求を受け付けるとともに、それらの表示領域のレイアウトの編集要求を受け付け、コンテンツ統合画面28を設計するためのインタフェイスを提供する。
Description
明 細 書
文書処理装置及び文書処理方法
技術分野
[0001] 本発明は、文書処理技術に関し、特に、マークアップ言語により記述された文書を 処理する文書処理装置及び方法に関する。
背景技術
[0002] XMLは、ネットワークなどを介して他者とデータを共有するのに適した形式として注 目されており、 XML文書を作成、表示、編集するためのアプリケーションが開発され ている(たとえば、特許文献 1参照)。 XML文書は、文書型定義などにより定義された ボキヤブラリ(タグセット)に基づいて作成されている。
[0003] ウェブページは、 HTML (HyperText Markup Languate)により記述されることが多 かったが、今後、 HTMLに代わって、 XHTMLなどの XMLにより記述されたウェブ コンテンツが増加すると考えられる。例えば、サイトの概要をメタデータとして記述する RSS (RDF Site Summary)は、サイトの更新情報を公開する手段として広く利用され るようになっている。
[0004] また、ウェブサーバが提供するサービスの一つとして、ユーザが閲覧を希望する RS Sなどのウェブコンテンツや、検索エンジンのクエリ入力インタフェイスなどを画面上に 登録し、レイアウトを設定して、一画面上に表示するサービスが提供されている。 特許文献 1:特開 2001— 290804号公報
発明の開示
発明が解決しょうとする課題
[0005] し力しながら、画面に表示可能なコンテンツの種類は予めサーバ側で決められてお り、ユーザが自由に任意のコンテンツを表示できるわけではない。また、画面レイァゥ トの自由度も低ぐユーザが好みのレイアウトを自由に設定できるわけではない。その ため、ユーザが所望のコンテンツを所望のレイアウトで表示させることが可能な柔軟 で自由度の高いサービスの提供が望まれている。
[0006] 本発明はこうした状況に鑑みてなされたものであり、その目的は、複数の文書を統
合して表示する画面を提供する技術を提供することにある。
課題を解決するための手段
[0007] 上記課題を解決するために、本発明のある態様の文書処理装置は、ネットワークを 介してサーバから複数の XML文書を取得する文書取得部と、前記複数の XML文 書を同一画面上に表示するための規則を規定する第 1の定義ファイルを取得する定 義ファイル取得部と、前記定義ファイルに規定された前記規則にしたがって、前記複 数の XML文書を同一画面上に表示する表示制御部と、を備える。
[0008] 前記定義ファイル取得部は、前記複数の XML文書のそれぞれを、それぞれの XM L文書に割り当てられた表示領域に表示するための規則を規定する第 2の定義フアイ ルを更に取得し、前記表示制御部は、前記第 1の定義ファイルの規則により前記複 数の XML文書の表示領域のレイアウトを決定し、前記第 2の定義ファイルの規則に よりそれぞれの表示領域に前記 XML文書を表示させてもよい。
[0009] 特定のタグセットで記述された文書を処理する処理系と、前記第 2の定義ファイル に記述された規則にしたがって、前記 XML文書を、前記処理系により処理可能なタ ダセットにマッピングし、マッピングされた構成要素間の対応を保持する変換部と、を 更に備えてもよい。
[0010] 前記画面上に表示された複数の XML文書の保存を制御する保存制御部を更に 備えてもよい。前記保存制御部は、前記変換部により変換される前の XML文書を保 存してちよい。
[0011] 前記 XML文書に含まれるデータに関する条件にしたがって表示形式を変更する 規則を保持する条件保持部を更に備えてもよい。前記表示制御部は、前記 XML文 書に含まれるデータが前記条件に合致するときに、前記規則にしたがって前記 XML 文書の表示形式を変更してもよ ヽ。
[0012] 前記 XML文書の少なくとも一部を更新する更新制御部を更に備えてもよい。前記 更新制御部は、更新すべき前記 XML文書の指定をユーザから受け付け、指定され た XML文書を前記文書取得部に再取得させ、前記表示制御部に表示させてもょ ヽ
[0013] 前記複数の XML文書を表示する画面の編集要求を受け付けるためのインタフェイ
スを提供する画面編集部を更に備えてもよい。前記画面編集部は、前記画面に表示 すべき XML文書の登録要求を受け付け、前記第 1の定義ファイルに、要求された前 記 XML文書を前記画面に表示するための規則を記述してもよい。
[0014] 前記画面編集部は、前記画面における前記 XML文書の表示領域のレイアウトの 変更要求を受け付け、前記第 1の定義ファイルの規則を編集してもよい。
[0015] 本発明の別の態様は、文書処理方法である。この方法は、ネットワークを介してサ ーバから複数の XML文書を取得するステップと、前記複数の XML文書を同一画面 上に表示するための規則を規定する第 1の定義ファイルを取得するステップと、前記 定義ファイルに規定された前記規則にしたがって、前記複数の XML文書を同一画 面上に表示するステップと、を備える。
[0016] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムな どの間で変換したものもまた、本発明の態様として有効である。
発明の効果
[0017] 本発明によれば、複数の文書を統合して表示する画面を提供することができる。
図面の簡単な説明
[0018] [図 1]前提技術に係る文書処理装置の構成を示す図である。
[図 2]文書処理装置により編集される XML文書の例を示す図である。
[図 3]図 2に示した XML文書を HTMLで記述された表にマッピングする例を示す図 である。
[図 4(a)]図 2に示した XML文書を図 3に示した表にマッピングするための定義フアイ ルの例を示す図である。
[図 4(b)]図 2に示した XML文書を図 3に示した表にマッピングするための定義フアイ ルの例を示す図である。
[図 5]図 2に示した XML文書を、図 3に示した対応により HTMLにマッピングして表 示した画面の例を示す図である。
[図 6]ユーザが定義ファイルを生成するために、定義ファイル生成部がユーザに提示 するグラフィカルユーザインターフェースの例を示す図である。
[図 7]定義ファイル生成部により生成された画面レイアウトの他の例を示す図である。
[図 8]文書処理装置による XML文書の編集画面の一例を示す図である。
[図 9]文書処理装置により編集される XML文書の他の例を示す図である。
[図 10]図 9に示した文書を表示した画面の例を示す図である。
[図 11]実施の形態に係る文書処理装置の構成を示す図である。
[図 12]コンテンツ統合ユニットの内部構成を示す図である。
[図 13]表示制御部により表示されたコンテンツ統合画面の例を示す図である。
[図 14]表示条件保持部に保持された条件が適用されて表示されたコンテンツ統合画 面の例を示す図である。
[図 15]更新制御部によりコンテンツの一部が更新されたときのコンテンツ統合画面の 例を示す図である。
[図 16]連携制御部によりデータが連携されたコンテンツ統合画面の例を示す図であ る。
符号の説明
[0019] 20 文書処理装置、 22 主制御ユニット、 24 編集ユニット、 25 ウェブサーバ、 2 7 検索エンジン、 30 DOMユニット、 32 DOM提供部、 34 DOM生成部、 36 出力部、 40 CSSユニット、 42 CSS解析部、 44 CSS提供部、 46 レンダリング部 、 50 HTMLユニット、 52, 62 制御部、 54, 64 編集部、 56, 66 表示部、 60 S VGユニット、 70 コンテンツ統合ユニット、 71 コンテンツ取得部、 73 表示制御部、 74 表示条件保持部、 75 更新制御部、 76 保存制御部、 77 連携制御部、 80 V Cユニット、 82 マッピング部、 84 定義ファイル取得部、 86 定義ファイル生成部、 1 00 文書処理装置。
発明を実施するための最良の形態
[0020] (前提技術)
図 1は、前提技術に係る文書処理装置 20の構成を示す。文書処理装置 20は、文 書内のデータが階層構造を有する複数の構成要素に分類された構造化文書を処理 するが、本前提技術では構造化文書の一例として XML文書を処理する例にっ ヽて 説明する。文書処理装置 20は、主制御ユニット 22、編集ユニット 24、 DOMユニット 3 0、 CSSユニット 40、 HTMLユニット 50、 SVGユニット 60、及び変換部の一例である
VCユニット 80を備える。これらの構成は、ハードウェアコンポーネントでいえば、任意 のコンピュータの CPU、メモリ、メモリにロードされたプログラムなどによって実現され る力 ここではそれらの連携によって実現される機能ブロックを描いている。したがつ て、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合 せによっていろいろな形で実現できることは、当業者には理解されるところである。
[0021] 主制御ユニット 22は、プラグインのロードや、コマンド実行のフレームワークを提供 する。編集ユニット 24は、 XML文書を編集するためのフレームワークを提供する。文 書処理装置 20における文書の表示及び編集機能は、プラグインにより実現されてお り、文書の種別に応じて必要なプラグインが主制御ユニット 22又は編集ユニット 24に よりロードされる。主制御ユニット 22又は編集ユニット 24は、処理対象となる XML文 書の名前空間を参照して、 XML文書が 、ずれのボキヤブラリにより記述されて 、る かを判別し、そのボキヤブラリに対応した表示又は編集用のプラグインをロードして表 示や編集を実行させる。例えば、文書処理装置 20には、 HTML文書の表示及び編 集を行う HTMLユニット 50、 SVG文書の表示及び編集を行う SVGユニット 60など、 ボキヤブラリ(タグセット)ごとに表示系及び編集系がプラグインとして実装されており、 HTML文書を編集するときは HTMLユニット 50が、 S VG文書を編集するときは S V Gユニット 60が、それぞれロードされる。後述するように、 HTMLと SVGの双方の構 成要素を含む複合文書が処理対象となって ヽる場合は、 HTMLユニット 50と SVG ユニット 60の双方がロードされる。
[0022] このような構成によれば、ユーザは、必要な機能のみを選択してインストールし、後 力 適宜機能を追加又は削除することができるので、プログラムを格納するハードデ イスクなどの記録媒体の記憶領域を有効に活用することができ、また、プログラム実行 時にも、メモリの浪費を防ぐことができる。また、機能拡張性に優れており、開発主体 としても、プラグインの形で新たなボキヤブラリに対応することが可能なので開発が容 易となり、ユーザとしても、プラグインの追カ卩により容易かつ低コストにて機能を追カロ することができる。
[0023] 編集ユニット 24は、ユーザインターフェースを介してユーザ力も編集指示のイベント を受け付け、そのイベントを適切なプラグインなどに通知するともに、イベントの再実
行 (リドウ)又は実行の取消(アンドゥ)などの処理を制御する。
[0024] DOMユニット 30は、 DOM提供部 32、 DOM生成部 34、及び出力部 36を含み、 X ML文書をデータとして扱うときのアクセス方法を提供するために定められた文書ォ ブジェクトモデル(Document Object Model: DOM)に準拠した機能を実現する。 DO M提供部 32は、編集ユニット 24に定義されているインタフェースを満たす DOMの実 装である。 DOM生成部 34は、 XML文書力も DOMツリーを生成する。後述するよう に、処理対象となる XML文書力 VCユニット 80により他のボキヤブラリにマッピング される場合は、マッピング元の XML文書に対応するソースツリーと、マッピング先の X ML文書に対応するデスティネーションツリーが生成される。出力部 36は、例えば編 集終了時に、 DOMツリーを XML文書として出力する。
[0025] CSSユニット 40は、 CSS解析部 42、 CSS提供部 44、及びレンダリング部 46を含 み、 CSSに準拠した表示機能を提供する。 CSS解析部 42は、 CSSの構文を解析す るバーサの機能を有する。 CSS提供部 44は、 CSSオブジェクトの実装であり、 DOM ツリーに対して CSSのカスケード処理を行う。レンダリング部 46は、 CSSのレンダリン グエンジンであり、 CSSを用いてレイアウトされる HTMLなどのボキヤブラリで記述さ れた文書の表示に用いられる。
[0026] HTMLユニット 50は、 HTMLにより記述された文書を表示又は編集する。 SVGュ ニット 60は、 SVGにより記述された文書を表示又は編集する。これらの表示 Z編集 系は、プラグインの形で実現されており、それぞれ、文書を表示する表示部(Canvas) 56、 66、編集指示を含むイベントを送受信する制御部(Editlet) 52、 62、編集コマン ドを受けて DOMに対して編集を行う編集部 (Zone) 54、 64を備える。制御部 52又は 62が外部力も DOMツリーの編集コマンドを受け付けると、編集部 54又は 64が DO Mツリーを変更し、表示部 56又は 66が表示を更新する。これらは、 MVC (Model-Vi ew-Controller)と呼ばれるフレームワークに類似する構成をとつており、概ね、表示部 56及び 66が「View」に、制御部 52及び 62が「Controller」に、編集部 54及び 64と D OMの実体が「Model」に、それぞれ対応する。本前提技術の文書処理装置 20では、 XML文書をツリー表示形式で編集するだけでなく、それぞれのボキヤブラリに応じた 編集を可能とする。例えば、 HTMLユニット 50は、 HTML文書をワードプロセッサに
類似した方式で編集するためのユーザインターフェースを提供し、 SVGユニット 60は 、 SVG文書を画像描画ツールに類似した方式で編集するためのユーザインターフエ ースを提供する。
[0027] VCユニット 80は、マッピング部 82、定義ファイル取得部 84、及び定義ファイル生 成部 86を含み、あるボキヤブラリにより記述された文書を、他のボキヤブラリにマツピ ングすることにより、マッピング先のボキヤブラリに対応した表示編集用プラグインで文 書を表示又は編集するためのフレームワークを提供する。本前提技術では、この機 能を、ボキヤブラリコネクション(Vocabulary Connection: VC)と呼ぶ。定義ファイル取 得部 84は、マッピングの定義を記述したスクリプトファイルを取得する。この定義ファ ィルは、ノードごとに、ノード間の対応 (コネクション)を記述する。このとき、各ノードの 要素値や属性値の編集の可否を指定してもよい。また、ノードの要素値や属性値を 用いた演算式を記述してもよい。これらの機能については、後で詳述する。マツピン グ部 82は、定義ファイル取得部 84が取得したスクリプトファイルを参照して、 DOM生 成部 34にデスティネーションツリーを生成させ、ソースツリーとデスティネーションッリ 一の対応関係を管理する。定義ファイル生成部 86は、ユーザが定義ファイルを生成 するためのグラフィカルユーザインターフェースを提供する。
[0028] VCユニット 80は、ソースツリーとデスティネーションツリーの間のコネクションを監視 し、表示を担当するプラグインにより提供されるユーザインタフェースを介してユーザ 力も編集指示を受け付けると、まずソースツリーの該当するノードを変更する。 DOM ユニット 30が、ソースツリーが変更された旨のミューテーシヨンイベントを発行すると、 VCユニット 80は、そのミューテーシヨンイベントを受けて、ソースツリーの変更にデス ティネーシヨンツリーを同期させるベぐ変更されたノードに対応するデスティネーショ ンツリーのノードを変更する。デスティネーションツリーを表示/編集するプラグイン、 例えば HTMLユニット 50は、デスティネーションツリーが変更された旨のミューテー シヨンイベントを受けて、変更されたデスティネーションツリーを参照して表示を更新 する。このような構成により、少数のユーザにより利用されるローカルなボキヤブラリに より記述された文書であっても、他のメジャーなボキヤブラリに変換することで、文書を 表示することができるとともに、編集環境が提供される。
[0029] 文書処理装置 20により文書を表示又は編集する動作について説明する。文書処 理装置 20が処理対象となる文書を読み込むと、 DOM生成部 34が、その XML文書 力も DOMツリーを生成する。また、主制御ユニット 22又は編集ユニット 24は、名前空 間を参照して文書を記述しているボキヤブラリを判別する。そのボキヤブラリに対応し たプラグインが文書処理装置 20にインストールされて 、る場合は、そのプラグインを ロードして、文書を表示/編集させる。プラグインカ Sインストールされていない場合は 、マッピングの定義ファイルが存在するか否かを確認する。定義ファイルが存在する 場合、定義ファイル取得部 84が定義ファイルを取得し、その定義に従って、デスティ ネーシヨンツリーが生成され、マッピング先のボキヤブラリに対応するプラグインにより 文書が表示 Z編集される。複数のボキヤブラリを含む複合文書である場合は、後述 するように、それぞれのボキヤブラリに対応したプラグインにより、文書の該当箇所が それぞれ表示 Z編集される。定義ファイルが存在しない場合は、文書のソース又はッ リー構造を表示し、その表示画面にぉ 、て編集が行われる。
[0030] 図 2は、処理対象となる XML文書の例を示す。この XML文書は、生徒の成績デー タを管理するために用いられる。 XML文書のトップノードである構成要素「成績」は、 配下に、生徒ごとに設けられた構成要素「生徒」を複数有する。構成要素「生徒」は、 属性値「名前」と、子要素「国語」、「数学」、「理科」、「社会」を有する。属性値「名前」 は、生徒の名前を格納する。構成要素「国語」、「数学」、「理科」、「社会」は、それぞ れ、国語、数学、理科、社会の成績を格納する。例えば、名前カ^ A」である生徒の国 語の成績は「90」、数学の成績は「50」、理科の成績は「75」、社会の成績は「60」で ある。以下、この文書で使用されているボキヤブラリ(タグセット)を、「成績管理ボキヤ ブラリ」と呼ぶ。
[0031] 本前提技術の文書処理装置 20は、成績管理ボキヤブラリの表示 Z編集に対応し たプラグインを有しないので、この文書をソース表示、ツリー表示以外の方法で表示 するためには、前述した VC機能が用いられる。すなわち、成績管理ボキヤブラリを、 プラグインが用意された別のボキヤブラリ、例えば、 HTMLや SVGなどにマッピング するための定義ファイルを用意する必要がある。ユーザ自身が定義ファイルを作成す るためのユーザインターフェースについては後述することにして、ここでは、既に定義
ファイルが用意されているとして説明を進める。
[0032] 図 3は、図 2に示した XML文書を HTMLで記述された表にマッピングする例を示 す。図 3の例では、成績管理ボキヤブラリの「生徒」ノードを、 HTMLにおける表(「TA BLE」ノード)の行(「TR」ノード)に対応づけ、各行の第 1列には属性値「名前」を、第 2 列には「国語」ノードの要素値を、第 3列には「数学」ノードの要素値を、第 4列には「 理科」ノードの要素値を、第 5列には「社会」ノードの要素値を、それぞれ対応付ける 。これにより、図 2に示した XML文書を、 HTMLの表形式で表示することができる。 また、これらの属性値及び要素値は、編集可能であることが指定されており、ユーザ が HTMLによる表示画面上で、 HTMLユニット 50の編集機能により、これらの値を 編集することができる。第 6列には、国語、数学、理科、社会の成績の加重平均を算 出する演算式が指定されており、生徒の成績の平均点が表示される。このように、定 義ファイルに演算式を指定可能とすることにより、より柔軟な表示が可能となり、編集 時のユーザの利便性を向上させることができる。なお、第 6列は、編集不可であること が指定されており、平均点のみを個別に編集することができないようにしている。この ように、マッピング定義において、編集の可否を指定可能とすることにより、ユーザの 誤操作を防ぐことができる。
[0033] 図 4 (a)及び図 4 (b)は、図 2に示した XML文書を図 3に示した表にマッピングする ための定義ファイルの例を示す。この定義ファイルは、定義ファイル用に定義された スクリプト言語により記述される。定義ファイルには、コマンドの定義と、表示のテンプ レートが記述されている。図 4 (a) (b)の例では、コマンドとして、「生徒の追加」と「生 徒の削除」が定義されており、それぞれ、ソースツリーにノード「生徒」を挿入する操作 と、ソースツリーからノード「生徒」を削除する操作が対応付けられている。また、テン プレートとして、表の第 1行に「名前」、「国語」などの見出しが表示され、第 2行以降 に、ノード「生徒」の内容が表示されることが記述されている。ノード「生徒」の内容を 表示するテンプレート中、「text-of」と記述された項は「編集可能」であることを意味し 、「value-of」と記述された項は「編集不可能」であることを意味する。また、ノード「生 徒」の内容を表示する行のうち、第 6列には、「(src:国語 + src:数学 + src:理科 + src: 社会) div 4」という計算式が記述されており、生徒の成績の平均が表示されることを
意味する。
[0034] 図 5は、図 2に示した成績管理ボキヤブラリで記述された XML文書を、図 3に示した 対応により HTMLにマッピングして表示した画面の例を示す。表 90の各行には、左 から、各生徒の名前、国語の成績、数学の成績、理科の成績、社会の成績、及び平 均点が表示されている。ユーザは、この画面上で、 XML文書を編集することができる 。たとえば、第 2行第 3列の値を「70」に変更すると、このノードに対応するソースッリ 一の要素値、すなわち、生徒「B」の数学の成績が「70」に変更される。このとき、 VC ユニット 80は、デスティネーションツリーをソースツリーに追従させるベぐデスティネ ーシヨンツリーの該当箇所を変更し、 HTMLユニット 50力 変更されたデスティネー シヨンツリーに基づいて表示を更新する。したがって、画面上の表においても、生徒「 B」の数学の成績が「70」に変更され、更に、平均点が「55」に変更される。
[0035] 図 5に示した画面には、図 4 (a) (b)に示した定義ファイルに定義されたように、「生 徒の追加」及び「生徒の削除」のコマンドカ -ユーに表示される。ユーザがこれらの コマンドを選択すると、ソースツリーにおいて、ノード「生徒」が追加又は削除される。 このように、本前提技術の文書処理装置 20では、階層構造の末端の構成要素の要 素値を編集するのみではなぐ階層構造を編集することも可能である。このようなッリ 一構造の編集機能は、コマンドの形でユーザに提供されてもよい。また、例えば、表 の行を追加又は削除するコマンドが、ノード「生徒」を追加又は削除する操作に対応 づけられてもよい。また、他のボキヤブラリを埋め込むコマンドがユーザに提供されて もよい。この表を入力用テンプレートとして、穴埋め形式で新たな生徒の成績データ を追加することもできる。以上のように、 VC機能により、 HTMLユニット 50の表示 Z 編集機能を利用しつつ、成績管理ボキヤブラリで記述された文書を編集することが可 能となる。
[0036] 図 6は、ユーザが定義ファイルを生成するために、定義ファイル生成部 86がユーザ に提示するグラフィカルユーザインタフェースの例を示す。画面左側の領域 91には、 マッピング元の XML文書がツリー表示されている。画面右側の領域 92には、マツピ ング先の XML文書の画面レイアウトが示されている。この画面レイアウトは、 HTML ユニット 50により編集可能となっており、ユーザは、画面右側の領域 92において、文
書を表示するための画面レイアウトを作成する。そして、例えば、マウスなどのポイン ティングデバイスにより、画面左側の領域 91に表示されたマッピング元の XML文書 のノードを、画面右側の領域 92に表示された HTMLによる画面レイアウト中へドラッ グ&ドロップ操作を行うことにより、マッピング元のノードと、マッピング先のノードとの コネクションが指定される。例えば、要素「生徒」の子要素である「数学」を、 HTML画 面の表 90の第 1行第 3列にドロップすると、「数学」ノードと、 3列目の「TD」ノードの間 にコネクションが張られる。各ノードには、編集の可否が指定できるようになつている。 また、表示画面中には、演算式を埋め込むこともできる。画面の編集が終わると、定 義ファイル生成部 86は、画面レイアウトとノード間のコネクションを記述した定義フアイ ルを生成する。
[0037] XHTML, MathML、 SVGなどの主要なボキヤブラリに対応したビューヮゃエディ タは既に開発されて 、るが、図 2に示した文書のようなオリジナルなボキヤブラリで記 述された文書に対応したビューヮゃエディタを開発するのは現実的でな 、。しかし、 上記のように、他のボキヤブラリにマッピングするための定義ファイルを作成すれば、 ビューヮゃエディタを開発しなくても、 VC機能を利用して、オリジナルなボキヤブラリ で記述された文書を表示 ·編集することができる。
[0038] 図 7は、定義ファイル生成部 86により生成された画面レイアウトの他の例を示す。図 7の例では、成績管理ボキヤブラリで記述された XML文書を表示するための画面に 、表 90と、円グラフ 93が作成されている。この円グラフ 93は、 SVGにより記述される。 後述するように、本前提技術の文書処理装置 20は、一つの XML文書内に複数のボ キヤブラリを含む複合文書を処理することができるので、この例のように、 HTMLで記 述された表 90と、 SVGで記述された円グラフ 93とを、一つの画面上に表示すること ができる。
[0039] 図 8は、文書処理装置 20による XML文書の編集画面の一例を示す。図 8の例で は、一つの画面が複数に分割されており、それぞれの領域において、処理対象とな る XML文書を異なる複数の表示形式により表示している。領域 94には、文書のソー スが表示されており、領域 95には、文書のツリー構造が表示されており、領域 96に は、図 5に示した HTMLにより記述された表が表示されている。これらのいずれの画
面上においても、文書の編集が可能であり、いずれかの画面上でユーザが編集を行 うと、ソースツリーが変更され、それぞれの画面の表示を担当するプラグインカ、ソー スツリーの変更を反映すべく画面を更新する。具体的には、ソースツリーの変更を通 知するミューテーシヨンイベントのリスナーとして、それぞれの編集画面の表示を担当 するプラグインの表示部を登録しておき、いずれかのプラグイン又は VCユニット 80に よりソースツリーが変更されたときに、編集画面を表示中の全ての表示部が、発行さ れたミューテーシヨンイベントを受け取って画面を更新する。このとき、プラグインが V C機能により表示を行っている場合は、 VCユニット 80がソースツリーの変更に追従し てデスティネーションツリーを変更した後、変更されたデスティネーションツリーを参照 してプラグインの表示部が画面を更新する。
[0040] 例えば、ソース表示及びツリー表示を、専用のプラグインにより実現している場合は 、ソース表示用プラグインとツリー表示用プラグインは、デスティネーションツリーを用 いず、直接ソースツリーを参照して表示を行う。この場合、いずれかの画面において 編集が行われると、ソース表示用プラグインとツリー表示用プラグインは、変更された ソースツリーを参照して画面を更新し、領域 96の画面を担当して!/、る HTMLユニット 50は、ソースツリーの変更に追従して変更されたデスティネーションツリーを参照して 画面を更新する。
[0041] ソース表示及びツリー表示は、 VC機能を利用して実現することもできる。すなわち 、ソース、ツリー構造を HTMLによりレイアウトし、その HTMLに XML文書をマツピン グして、 HTMLユニット 50により表示してもよい。この場合、ソース形式、ツリー形式、 表形式の 3つのデスティネーションツリーが生成されることになる。いずれかの画面に おいて編集が行われると、 VCユニット 80は、ソースツリーを変更した後、ソース形式、 ツリー形式、表形式の 3つのデスティネーションツリーをそれぞれ変更し、 HTMLュ ニット 50は、それらのデスティネーションツリーを参照して、 3つの画面を更新する。
[0042] このように、一つの画面上に複数の表示形式で文書を表示することにより、ユーザ の利便性を向上させることができる。例えば、ユーザは、ソース表示又はツリー表示 により文書の階層構造を把握しつつ、表 90などを用いて視覚的に分力りやすい形式 で文書を表示し、編集することができる。上記の例では、一つの画面を分割して複数
の表示形式による画面を同時に表示した力 一つの画面に一つの表示形式による画 面を表示し、表示形式をユーザの指示により切り替え可能としてもよい。この場合、主 制御ユニット 22が、ユーザから表示形式の切り替え要求を受け付け、各プラグインに 指示して表示を切り替える。
[0043] 図 9は、文書処理装置 20により編集される XML文書の他の例を示す。図 9に示し た XML文書では、 SVG文書の「foreignObject」タグの中に XHTML文書が埋め込 まれており、さら〖こ、 XHTML文書の中に MathMLで記述された数式が入っている 。このような場合、編集ユニット 24が、名前空間を参照して、適切な表示系に描画作 業を振り分ける。図 9の例では、編集ユニット 24は、まず、 SVGユニット 60に四角形 を描画させ、つづいて、 HTMLユニット 50に XHTML文書を描画させる。さらに、図 示しない MathMLユニットに、数式を描画させる。こうして、複数のボキヤブラリを包 含する複合文書が適切に表示される。表示結果を図 10に示す。
[0044] 文書編集中、カーソル (キャリッジ)の位置に応じて、表示されるメニューを切り替え てもよい。すなわち、カーソルが、 SVG文書が表示された領域内に存在するときは、 SVGユニット 60が提供するメニュー、又は SVG文書をマッピングするための定義フ アイルに定義されたコマンドを表示し、カーソルが、 XHTML文書が表示された領域 内に存在するときは、 HTMLユニット 50が提供するメニュー、又は XHTML文書を マッピングするための定義ファイルに定義されたコマンドを表示する。これにより、編 集位置に応じて適切なユーザインターフェースを提供することができる。
[0045] 複合文書にお!、て、あるボキヤブラリに対応する適切なプラグイン又はマッピング定 義ファイルがな力つた場合は、そのボキヤブラリにより記述された部分は、ソース表示 又はツリー表示されてもよい。従来、ある文書に他の文書を埋め込んだ複合文書を 開くとき、埋め込まれた文書を表示するアプリケーション力 Sインストールされて 、な 、と 、その内容を表示することができな力つた力 本前提技術では、表示用のアプリケー シヨンが存在しなくても、テキストデータにより構成された XML文書をソース表示又は ツリー表示することにより内容を把握することができる。これは、テキストベースである XMLなどの文書ならではの特徴と 、える。
[0046] データがテキストベースで記述されることの他の利点として、例えば、複合文書中の
、あるボキヤブラリにより記述される部分において、同一文書内の他のボキヤブラリで 記述された部分のデータを参照してもよい。また、文書内で検索を実行する時に、 S VGなどの図に埋め込まれた文字列も検索対象とすることができる。
[0047] あるボキヤブラリにより記述された文書内に、他のボキヤブラリのタグを用いてもよい 。この XML文書は、妥当(valid)ではないが、整形式 (welH rmed)であれば、有効な XML文書として処理可能である。この場合、挿入された他のボキヤブラリのタグは、 定義ファイルによりマッピングされてもよい。例えば、 XHTML文書中に、「重要」、「 最重要」などのタグを使用し、これらのタグで囲まれた部分を強調表示してもよ 、し、 重要度の順にソートして表示してもよ 、。
[0048] 図 10に示した編集画面において、ユーザにより文書が編集されると、編集された部 分を担当するプラグイン又は VCユニット 80がソースツリーを変更する。ソースツリー には、ノードごとにミューテーシヨンイベントのリスナーを登録できるようになっており、 通常は、各ノードが属するボキヤブラリに対応したプラグインの表示部又は VCュ-ッ ト 80がリスナーとして登録される。 DOM提供部 32は、ソースツリーが変更されると、 変更されたノードから上位の階層へたどって、登録されたリスナーがあれば、そのリス ナ一へミューテーシヨンイベントを発行する。例えば、図 9に示した文書において、く html >ノードの下位のノードが変更された場合、く html >ノードにリスナーとして登 録された HTMLユニット 50にミューテーシヨンイベントが通知されるとともに、その上 位のく svg>ノードにリスナーとして登録された SVGユニット 60にもミューテーシヨン イベントが通知される。このとき、 HTMLユニット 50は、変更されたソースツリーを参 照して表示を更新する。 SVGユニット 60は、自身のボキヤブラリに属するノードが変 更されて!/、な!/、ので、ミューテーシヨンイベントを無視してもよ!/、。
[0049] 編集の内容によっては、 HTMLユニット 50による表示の更新に伴って、全体のレイ アウトが変わる可能性がある。この場合は、画面のレイアウトを管理する構成、例えば 最上位のノードの表示を担当するプラグインにより、プラグインごとの表示領域のレイ アウトが更新される。例えば、 HTMLユニット 50による表示領域が以前より大きくなつ た場合、 HTMLユニット 50は、まず自身の担当する部分を描画して、表示領域の大 きさを決定する。そして、画面のレイアウトを管理する構成に、変更後の表示領域の
大きさを通知し、レイアウトの更新を依頼する。画面のレイアウトを管理する構成は、 通知を受けて、プラグインごとの表示領域を再レイアウトする。こうして、編集された部 分の表示が適切に更新されるとともに、画面全体のレイアウトが更新される。
[0050] (実施の形態)
実施の形態では、複数のウェブコンテンツを統合して表示する画面をユーザが自 由に設計可能な環境を提供する技術を提案する。
[0051] 図 11は、実施の形態に係る文書処理装置 100の構成を示す図である。文書処理 装置 100は、前提技術で説明した文書処理装置 20の構成に加えて、コンテンツ統 合ユニット 70を備える。図 11の例では、文書処理装置 100は、ウェブサーバ 25に保 持された、 HTMLや XMLで記述されたウェブページを閲覧するウェブブラウザとし て機能する。コンテンツ統合ユニット 70は、インターネット 29を介してウェブサーバ 25 にウェブページなどのコンテンツの送信を要求し、コンテンツを取得する。また、コン テンッ統合ユニット 70は、インターネット 29を介して検索エンジン 27に検索のクエリ を送信し、検索結果を取得する。コンテンツ統合ユニット 70は、こうして取得した複数 のウェブコンテンツを統合して同一の画面 28 (以下、「コンテンツ統合画面」と!、う)上 に表示する。
[0052] コンテンツ統合ユニット 70は、ウェブページ、 RSSなどのウェブコンテンツを表示す る領域や、検索サービスの検索キーワードの入力画面などのインタフェイスを表示す る領域などを画面上に自由に配置して、所望の情報を統合して閲覧可能な画面 28 を表示する環境を提供する。このような機能は、例えば、前提技術で説明した定義フ アイルと VCユニット 80により実現可能である。この場合、ウェブコンテンツや、ウェブ アプリケーションやウェブサービスのインタフ イスなどを画面上に登録したり、画面 のレイアウトを設定するために、定義ファイル生成部 86を利用可能である。
[0053] 図 12は、コンテンツ統合ユニット 70の内部構成を示す。コンテンツ統合ユニット 70 は、コンテンツ取得部 71と、表示制御部 73と、表示条件保持部 74と、更新制御部 7 5と、保存制御部 76と、連携制御部 77と、を備える。
[0054] コンテンツ取得部 71は、ウェブサーバ 25や検索エンジン 27などのウェブサービス 提供サーバから、ウェブページなどのコンテンツを取得する。取得すべきコンテンツ
は、定義ファイルに記述されていてもよい。ユーザが、文書処理装置 100に保持され た、コンテンツ統合画面 28を表示するための文書を開くと、その文書に対応づけられ たコンテンツ統合用の第 1の定義ファイルが定義ファイル取得部 84により取得され、 その定義ファイル又は文書に記述されたコンテンツをコンテンツ取得部 71が取得す る。取得するコンテンツは、ウェブサーバ 25が提供するウェブページであってもよいし 、 RSSであってもよいし、音楽や動画などのコンテンツであってもよいし、検索ェンジ ン 27による検索結果などであってもよい。また、ウェブページは、 HTMLにより記述 されていてもよいし、 XMLの特定のボキヤブラリ(タグセット)により記述されていても よい。
[0055] 表示制御部 73は、コンテンツ取得部 71が取得した複数のコンテンツを、同一画面 上に統合して表示する。コンテンツを表示するための表示規則は、定義ファイルに記 述されていてもよい。例えば、それぞれのコンテンツの表示形式は、それぞれのコン テンッに対応づけられた第 2の定義ファイルにより規定され、それらのコンテンツの表 示領域を同一画面上にレイアウトするための表示規則は、上述したコンテンツ統合用 の第 1の定義ファイルに記述されてもよい。
[0056] 第 1の定義ファイルは、画面上に表示される各コンテンツの表示領域のレイアウトを 規定する。この第 1の定義ファイルは、定義ファイル生成部 86が提供する GUIにより 編集されてもよい。例えば、マッピング先のボキヤブラリとして XHTMLを選択する場 合、 HTMLユニット 50の編集機能を利用して画面レイアウトを編集する GUIを提供 してもよい。ユーザは、この GUIを用いて、各コンテンツの表示領域を自由に設定し、 また、マウスのドラッグ &ドロップなどにより表示領域の形状やレイアウトを自由に変更 することができる。従来、複数のコンテンツをウェブページに登録して表示させるサー ビスがサーバにより提供される例はあった力 登録可能なウェブサービスやウェブコン テンッは予め決められており、画面レイアウトもユーザが自由に設定できるものではな かった。本実施の形態の文書処理装置 100では、ユーザ自身が第 1の定義ファイル を編集して保持し、この第 1の定義ファイルによりコンテンッ統合画面 28を表示させる ので、任意のウェブコンテンツやウェブサービスをコンテンツ統合画面 28に表示させ ることができ、画面レイアウトもユーザが自由に設定することが可能である。こうして完
成したコンテンツ統合画面 28をサーバ上で公開して、ポータルサイトを提供すること ちでさる。
[0057] また、各コンテンツを表示するための第 2の定義ファイルを用意することにより、コン テンッごとに表示形式も自由に設定できる。第 2の定義ファイルは、 XML文書を、変 換部の一例であるマッピング部 82により、文書処理装置 100にインストールされてい る処理系が処理可能なタグセットにマッピングする規則を記述したものである。この第 2の定義ファイルも、定義ファイル生成部 86が提供する GUIを用いて編集可能であ る。ウェブコンテンツが HTMLや XHTMLにより記述されている場合など、ウェブコン テンッを記述したタグセットを処理可能な処理系が文書処理装置 100にインストール されている場合は、第 2の定義ファイルは用意しなくてもよい。前提技術で説明したよ うに、本実施の形態の文書処理装置 100は、複数のタグセットで記述された文書を処 理可能であるから、ウェブサーバ 25が XMLの様々なタグセットにより記述されたゥェ ブコンテンツを配信する場合にも、必要に応じて第 2の定義ファイルを用意することに より、適切にウェブコンテンツを処理することができる。サイトごとに独自のボキヤブラリ でウェブコンテンツが記述される場合は、そのボキヤブラリを処理するための第 2の定 義ファイルを用意すればよい。また、本実施の形態の文書処理装置 100によれば、 それぞれのタグセットを担当する処理系を用いて、表示されたウェブコンテンツを適 宜編集することもできる。
[0058] 図 13は、表示制御部 73により表示されたコンテンツ統合画面 28の例を示す。コン テンッ統合画面 28には、ウェブサーバから取得した「今日の-ユース」のコンテンツを 表示する領域 97a、ウェブサーバから取得した「明日の天気」のコンテンツを表示する 領域 97b、検索エンジンにクエリを送信するためのインタフェイスと検索結果を表示 する領域 97cが設けられている。コンテンツ取得部 71が、これらのコンテンツをそれ ぞれのサーバから取得し、表示制御部 73が、第 1及び第 2の定義ファイルに記述さ れた表示規則にしたがって、これらのコンテンツの表示領域をレイアウトし、それぞれ の表示領域にコンテンツを表示する。
[0059] この画面において、定義ファイル生成部 86が、コンテンツ統合画面 28の編集要求 を受け付ける画面編集部の機能を提供してもよい。定義ファイル生成部 86は、コンテ
ンッ統合画面 28を記述したタグセットの処理系を利用して、コンテンツの表示領域の レイアウトの変更要求を受け付けて、第 1の定義ファイルの表示規則を編集してもよ い。例えば、領域 97aの境界線をドラッグ &ドロップすることにより、領域 97aを拡大し てもよい。また、領域 97aを別の場所へドラッグ &ドロップすることにより、領域 97aの 表示位置を変更してもよい。また、コンテンツ統合画面 28に表示すべきコンテンツの 登録要求を受け付けてもよい。例えば、別のウィンドウで表示中のコンテンツをコンテ ンッ統合画面 28上にドラッグ &ドロップすることにより、そのコンテンツがコンテンツ統 合画面 28に追加表示されるよう、第 1の定義ファイルにコンテンツの表示規則を記述 してちよい。
[0060] このような技術により、異なるウェブサイトが提供する複数のコンテンツを同一画面 に統合して表示することができる。また、任意のコンテンツを統合したコンテンツ統合 画面を自由に設計することができる。さらに、それぞれのコンテンツの表示領域のレイ アウトを自由に設計することができる。
[0061] 表示条件保持部 74は、コンテンツに含まれるデータに関する条件にしたがって、コ ンテンッの表示形式、例えば、色、形状、スタイル、などを変更する規則を保持する。 表示制御部 73は、取得したコンテンツに含まれるデータが条件に合致するときに、表 示条件保持部 74に保持された表示規則にしたがってコンテンツの表示形式を変更 する。例えば、最新の-ユースを取得して表示する場合に、ニュースのタイトルに「特 許」と 、う語があれば、その-ユースを拡大して強調表示するような条件が保持されて もよい。このような表示形式の変更に関する条件は、第 1又は第 2の定義ファイルに記 述されてもよい。
[0062] 図 14は、表示条件保持部 74に保持された条件が適用されて表示されたコンテンツ 統合画面 28の例を示す。コンテンツに「プロ野球」というキーワードが含まれていたと きに、そのコンテンツを強調表示するという条件が表示条件保持部 74に保持されて いるとき、図 13に示したコンテンツ統合画面 28は、表示制御部 73により、図 14に示 すように強調表示される。このような技術により、より表示の自由度が高まり、ユーザの 利便性を向上させることができる。
[0063] 更新制御部 75は、ユーザ力もコンテンツ統合画面 28の更新を要求されたときに、
必要に応じてコンテンツを再取得し、表示を更新する。更新制御部 75は、コンテンツ 統合画面 28の一部分のみを更新してもよい。例えば、ユーザから更新すべき部分を 受け付け、その部分のコンテンツをサーノから新たに取得して更新してもよいし、更 新すべき部分を自動的に判断してもよい。更新制御部 75は、コンテンツがサーバ側 で更新された力否かをチェックし、更新されたコンテンツのみを再取得してもよい。ま た、更新制御部 75は、天気予報や株価情報など、更新されることが期待されるコンテ ンッについては、更新の頻度を予め登録しておき、更新されるタイミングに合わせて コンテンツを再取得してもよ ヽ。
[0064] 図 15は、更新制御部 75によりコンテンツの一部が更新されたときのコンテンツ統合 画面 28の例を示す。図 13に示したコンテンツ統合画面 28において、領域 97bが指 定されて更新が要求されたとき、更新制御部 75は、領域 97bに表示された「明日の 天気」のコンテンツの再取得をウェブサーバに要求する。ウェブサーバから再取得さ れたコンテンツは、そのコンテンツを処理すべき処理系により再表示され、図 15に示 すようにコンテンツ統合画面 28が更新される。
[0065] このような技術により、更新が必要な部分だけを選択して更新することができるので 、全画面を更新する場合に比べて更新に要する時間を短縮することができるとともに 、通信負荷を軽減することができる。
[0066] 保存制御部 76は、ユーザから文書の保存要求を受け付けて、コンテンツ統合画面 28に表示中の文書を保存する。このとき、定義ファイルによりマッピングされて表示さ れて 、る文書にっ 、ては、表示されて!、るデスティネーションツリーの文書ではなぐ 元の文書であるソースツリーの文書が保存される。従来のブラウザでは、表示中の H TML文書を保存しており、 HTMLは主として表示を規定した言語であるから、保存 した文書を再度開いて同様の画面を再現することはできても、文書中のデータの再 利用には適さなカゝつた。本実施の形態では、意味づけされたタグ構造を有する XML 文書を保存するので、データの再利用が容易である。また、表示形式を定義ファイル により規定しているので、保存時と同様の表示を再現することもでき、定義ファイルを 改変又は交換することにより、異なる表示形式で文書を表示させることもできる。
[0067] 表示中の各文書を担当する処理系により文書が編集されている場合は、編集後の
文書を保存してもよい。例えば、表示中の文書に下線を引いたり、キーワードを抽出 して強調表示したり、メモを残したりするなどした文書を保存してもよい。これにより、 編集した内容を後で再現することができる。メモや強調表示などは、文書にァノテ一 シヨンとして特別なタグを付して記述してもよ 、し、別のファイルに記録してぉ 、てもよ い。編集後の文書を保存した後、再び表示したときに、最新の情報に更新したいとき は、更新する部分を選択して更新を指示すればよい。このとき、更新制御部 75は、保 存時から更新されたコンテンツを再取得して表示する。
[0068] 連携制御部 77は、コンテンツ統合画面 28に表示される複数のコンテンツの間での データの連携を制御する。連携制御部 77は、コンテンツ統合画面 28に表示されるあ るコンテンツに含まれる所定のデータを利用して、他のコンテンツの情報を取得する ように、コンテンツ取得部 71を制御する。例えば、検索サービスのインタフェイスをコ ンテンッ統合画面 28上に表示して 、るとき、コンテンツ統合画面 28上に表示されて いる他のコンテンツやユーザが編集したメモなどに含まれる語を検索のキーワードと 用いてもよい。文書処理装置 100は、 XMLで記述された文書を DOMの形式で保持 して処理しており、 DOMのインタフェイスを使って文書の任意の部分を参照可能で あるという特徴を有しているため、このようなデータの連携が容易に実現できる。この 技術は、モジュール内部のデータを参照できな ヽ「ブラックボックス」技術の対義語と して、「ホワイトボックス」と!、うべき技術である。
[0069] HTMLにより記述された従来のウェブページでこのようなデータ連携を実現しようと すると、データ連係のために予めフォーマットを決めてウェブページを構成したり、専 用のソフトウェアを開発したりする必要があった。本実施の形態の文書処理装置 100 では、 XMLで記述された意味づけされたタグ構造の中からデータを参照することが できるので、容易に検索キーワードなどを抽出することができる。また、定義ファイル などによりデータの連携と動作を指定することができるので、専用のソフトウェアを新 たに開発する必要がない。
[0070] 連携制御部 77は、定義ファイル又はソース文書に記述された検索エンジンの URL を参照して、検索エンジンにクエリを送信する。このとき、クエリの内容として、コンテン ッ統合画面 28に表示されたコンテンツの任意のデータが指定されている。連携すベ
きデータの位置は、 xpathなどにより指定されてもよい。連携制御部 77は、指定され たデータを検索エンジンに検索キーワードとして渡し、検索結果を取得してソースッリ 一に追カ卩し、コンテンツ統合画面 28に表示する。
[0071] 図 16は、連携制御部 77によりデータが連携されたコンテンツ統合画面 28の例を示 す。コンテンツ統合画面 28には、 Blogの記事力も特定の記事を検索した結果を表示 する領域 98aと、ブックストアのサイトから特定の本の情報を検索した結果を表示する 領域 98bと、検索エンジンにより特定のキーワードを含むウェブページを検索した結 果を表示する領域 98cが設けられている。図 16の例では、領域 98aに表示された B1 ogの「今日の日記」の検索結果の中から、 1位に表示された日記のタイトルが抽出さ れ、領域 98bのブックストアの検索キーワードとして与えられる。ここでは、 1位に表示 された日記のタイトル「Java (登録商標)」を検索キーワードとして、ブックストア内から 本の情報が検索され、領域 98bに表示されている。また、領域 98bに表示された本の 検索結果の中から、 1位に表示された本の著者名が抽出され、領域 98cの検索ェン ジンの検索キーワードとして与えられる。ここでは、 1位に表示された本「Java (登録商 標)のすベて」の著者である「山田太郎」を検索キーワードとして、検索エンジンにより 検索された結果が領域 98cに表示されて 、る。
[0072] 連携制御部 77は、データの連携を指定するための GUIを提供してもよい。例えば 、この画面において、領域 98bに表示された「出版社」という語を選択して領域 98cに ドラッグ &ドロップすると、ブックストアの検索結果から出版社名が抽出されて、検索 エンジンにキーワードとして与えられるように、定義ファイルが書き換えられてもよ!/、。 このとき、連携制御部 77は、 1位に表示された本「Java (登録商標)のすベて」の出版 社である「A出版」を検索キーワードとして検索エンジンに渡す。すると、領域 98cに は、検索エンジンにより「A出版」をキーワードとして検索された結果が表示される。
[0073] 連携制御部 77は、データの連携が指定されているときに、コンテンツ統合画面 28 における表示領域のレイアウトを自動的に設定してもよい。例えば、連携制御部 77は 、データの連係が指定されたコンテンツ同士が隣接して表示されるようにしてもよい。 図 16に示した例にお 、て、ブックストアの検索結果の中力も特定のタグが付された語 を Blogの検索キーワードとして連携させ、さらに、 Blogの検索結果の中力 特定のタ
グが付された語を検索エンジンの検索キーワードとして連携させるようなデータの連 携が指定されているとき、連携制御部 77は、コンテンツ統合画面 28において、それ ぞれの検索結果の表示領域を左から順に並べてレイアウトしてもよい。すなわち、領 域 98aにブックストアの検索結果を、領域 98bに Blogの検索結果を、領域 98cに検 索エンジンの検索結果を表示するように、画面レイアウトを設定してもよ 、。
[0074] 連携制御部 77は、コンテンツ統合画面 28に表示されたコンテンツのレイアウトの位 置関係に基づいて、データの連携を自動的に指定してもよい。例えば、連携制御部 77は、隣接して表示された一方のコンテンツに含まれる所定のデータを利用して、他 方のコンテンツの情報を取得するようにしてもよい。図 16に示した例において、ユー ザがコンテンツ統合画面 28を設計するときに、領域 98aに Blogの検索画面を、領域 98bにブックストアの検索画面を、領域 98cに検索エンジンの検索画面を、それぞれ 設定したとき、連携制御部 77は、 Blogの検索結果の中から所定のデータをブックスト ァの検索キーワードに指定し、ブックストアの検索結果の中力も所定のデータを検索 エンジンに指定するように、自動的に連携させてもょ 、。
[0075] このような技術により、コンテンツ間のデータの連携を自由に設定することができ、コ ンテンッの利用におけるユーザの利便性をさらに向上させることができる。
[0076] 以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それ らの各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、また そうした変形例も本発明の範囲にあることは当業者に理解されるところである。
[0077] 実施の形態では、 XML文書を処理する例にっ 、て説明した力 本実施の形態の 文書処理装置 100は、他のマークアップ言語、例えば、 SGML, HTMLなどで記述 された文書も同様に処理可能である。
産業上の利用可能性
[0078] 本発明は、 XML文書を処理する文書処理装置に利用することができる。
Claims
[1] ネットワークを介してサーバから複数の XML文書を取得する文書取得部と、
前記複数の XML文書を同一画面上に表示するための規則を規定する第 1の定義 ファイルを取得する定義ファイル取得部と、
前記定義ファイルに規定された前記規則にしたがって、前記複数の XML文書を同 一画面上に表示する表示制御部と、
を備えることを特徴とする文書処理装置。
[2] 前記定義ファイル取得部は、前記複数の XML文書のそれぞれを、それぞれの XM L文書に割り当てられた表示領域に表示するための規則を規定する第 2の定義フアイ ルを更に取得し、
前記表示制御部は、前記第 1の定義ファイルの規則により前記複数の XML文書の 表示領域のレイアウトを決定し、前記第 2の定義ファイルの規則によりそれぞれの表 示領域に前記 XML文書を表示させることを特徴とする請求項 1に記載の文書処理 装置。
[3] 特定のタグセットで記述された文書を処理する処理系と、
前記第 2の定義ファイルに記述された規則にしたがって、前記 XML文書を、前記 処理系により処理可能なタグセットにマッピングし、マッピングされた構成要素間の対 応を保持する変換部と、
を更に備えることを特徴とする請求項 2に記載の文書処理装置。
[4] 前記画面上に表示された複数の XML文書の保存を制御する保存制御部を更に 備え、
前記保存制御部は、前記変換部により変換される前の XML文書を保存することを 特徴とする請求項 3に記載の文書処理装置。
[5] 前記 XML文書に含まれるデータに関する条件にしたがって表示形式を変更する 規則を保持する条件保持部を更に備え、
前記表示制御部は、前記 XML文書に含まれるデータが前記条件に合致するとき に、前記規則にしたがって前記 XML文書の表示形式を変更することを特徴とする請 求項 1から 4の 、ずれかに記載の文書処理装置。
[6] 前記 XML文書の少なくとも一部を更新する更新制御部を更に備え、 前記更新制御部は、更新すべき前記 XML文書の指定をユーザから受け付け、指 定された XML文書を前記文書取得部に再取得させ、前記表示制御部に表示させる ことを特徴とする請求項 1から 5のいずれかに記載の文書処理装置。
[7] 前記複数の XML文書を表示する画面の編集要求を受け付けるためのインタフェイ スを提供する画面編集部を更に備え、
前記画面編集部は、前記画面に表示すべき XML文書の登録要求を受け付け、前 記第 1の定義ファイルに、要求された前記 XML文書を前記画面に表示するための 規則を記述することを特徴とする請求項 1から 6のいずれかに記載の文書処理装置。
[8] 前記画面編集部は、前記画面における前記 XML文書の表示領域のレイアウトの 変更要求を受け付け、前記第 1の定義ファイルの規則を編集することを特徴とする請 求項 7に記載の文書処理装置。
[9] ネットワークを介してサーノから複数の XML文書を取得するステップと、
前記複数の XML文書を同一画面上に表示するための規則を規定する第 1の定義 ファイルを取得するステップと、
前記定義ファイルに規定された前記規則にしたがって、前記複数の XML文書を同 一画面上に表示するステップと、
を備えることを特徴とする文書処理方法。
[10] コンピュータに、
ネットワークを介してサーノから複数の XML文書を取得する機能と、
前記複数の XML文書を同一画面上に表示するための規則を規定する第 1の定義 ファイルを取得する機能と、
前記定義ファイルに規定された前記規則にしたがって、前記複数の XML文書を同 一画面上に表示する機能と、
を実現させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/993,298 US20100218083A1 (en) | 2005-06-24 | 2006-06-26 | Document processing apparatus and document processing method |
JP2007522398A JPWO2006137562A1 (ja) | 2005-06-24 | 2006-06-26 | 文書処理装置及び文書処理方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005185611 | 2005-06-24 | ||
JP2005-185611 | 2005-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006137562A1 true WO2006137562A1 (ja) | 2006-12-28 |
Family
ID=37570573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/312751 WO2006137562A1 (ja) | 2005-06-24 | 2006-06-26 | 文書処理装置及び文書処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100218083A1 (ja) |
JP (1) | JPWO2006137562A1 (ja) |
WO (1) | WO2006137562A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080307033A1 (en) * | 2007-06-08 | 2008-12-11 | Canon Kabushiki Kaisha | Information delivery system, distributor's apparatus, recipient's apparatus, and computer-readable storage medium |
JP2009110116A (ja) * | 2007-10-26 | 2009-05-21 | Panasonic Electric Works Co Ltd | 画像検査システム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332960A1 (en) * | 2009-06-25 | 2010-12-30 | Alcatel-Lucent Usa Inc. | Method and apparatus for organizing identifying information for web-based resources |
CA2763316C (en) * | 2012-01-06 | 2014-09-30 | Microsoft Corporation | Enabling performant cascading operations |
US8856864B2 (en) * | 2012-09-27 | 2014-10-07 | Intel Corporation | Detecting, enforcing and controlling access privileges based on sandbox usage |
US9305261B2 (en) | 2012-10-22 | 2016-04-05 | Bank Of America Corporation | Knowledge management engine for a knowledge management system |
US9405779B2 (en) | 2012-10-22 | 2016-08-02 | Bank Of America Corporation | Search engine for a knowledge management system |
US9720984B2 (en) * | 2012-10-22 | 2017-08-01 | Bank Of America Corporation | Visualization engine for a knowledge management system |
US20160188545A1 (en) * | 2014-12-30 | 2016-06-30 | Domenic Santangelo | Reusable content units |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109742A (ja) * | 1999-08-05 | 2001-04-20 | Toshiba Corp | ウェブページ部品統合処理方法及びクライアント装置 |
JP2002007404A (ja) * | 2000-06-26 | 2002-01-11 | Nec Corp | 情報供給システムと情報供給サービス方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020147847A1 (en) * | 2001-04-09 | 2002-10-10 | Sun Microsystems, Inc. | System and method for remotely collecting and displaying data |
US7269788B2 (en) * | 2001-06-29 | 2007-09-11 | Versata Development Group, Inc. | Extensibility and usability of document and data representation languages |
US6941521B2 (en) * | 2002-03-29 | 2005-09-06 | Intel Corporation | Method for dynamically generating a user interface from XML-based documents |
US20040268238A1 (en) * | 2003-06-30 | 2004-12-30 | Peiya Liu | Systems and methods for processing documents using an XML-based process flow description language |
US7197515B2 (en) * | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US7437709B2 (en) * | 2004-02-19 | 2008-10-14 | International Business Machines Corporation | Providing assistance for editing markup document based on inferred grammar |
US7293034B2 (en) * | 2004-02-23 | 2007-11-06 | Microsoft Coporation | Dynamically customizing a user interface for the aggregation of content |
-
2006
- 2006-06-26 WO PCT/JP2006/312751 patent/WO2006137562A1/ja active Application Filing
- 2006-06-26 JP JP2007522398A patent/JPWO2006137562A1/ja active Pending
- 2006-06-26 US US11/993,298 patent/US20100218083A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109742A (ja) * | 1999-08-05 | 2001-04-20 | Toshiba Corp | ウェブページ部品統合処理方法及びクライアント装置 |
JP2002007404A (ja) * | 2000-06-26 | 2002-01-11 | Nec Corp | 情報供給システムと情報供給サービス方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080307033A1 (en) * | 2007-06-08 | 2008-12-11 | Canon Kabushiki Kaisha | Information delivery system, distributor's apparatus, recipient's apparatus, and computer-readable storage medium |
US8732336B2 (en) * | 2007-06-08 | 2014-05-20 | Canon Kabushiki Kaisha | Information delivery system, distributor's apparatus, recipient's apparatus, and computer-readable storage medium |
JP2009110116A (ja) * | 2007-10-26 | 2009-05-21 | Panasonic Electric Works Co Ltd | 画像検査システム |
Also Published As
Publication number | Publication date |
---|---|
US20100218083A1 (en) | 2010-08-26 |
JPWO2006137562A1 (ja) | 2009-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006137563A1 (ja) | データ処理装置及びデータ処理方法 | |
US20030237046A1 (en) | Transformation stylesheet editor | |
WO2006137562A1 (ja) | 文書処理装置及び文書処理方法 | |
WO2006051715A1 (ja) | 文書処理装置及び文書処理方法 | |
JP2008234370A (ja) | 文書処理装置及び文書処理方法 | |
WO2008044335A1 (fr) | Dispositif et procédé de traitement de données | |
WO2007081017A1 (ja) | 文書処理装置 | |
JPWO2007132568A1 (ja) | データ処理サーバ及びデータ処理方法 | |
WO2006051869A1 (ja) | 文書処理装置及び文書処理方法 | |
JPWO2005098658A1 (ja) | 文書処理装置及び文書処理方法 | |
JPWO2005098660A1 (ja) | 文書処理装置及び文書処理方法 | |
JP4566196B2 (ja) | 文書処理方法および装置 | |
WO2005098662A1 (ja) | 文書処理装置及び文書処理方法 | |
KR100522186B1 (ko) | 동적으로 홈페이지를 제작하는 방법 및 이 방법을 웹에서구현하는 장치 | |
JPWO2005098661A1 (ja) | 文書処理装置及び文書処理方法 | |
WO2007052680A1 (ja) | 文書処理装置及び文書処理方法 | |
JPWO2006051974A1 (ja) | 文書処理装置および文書処理方法 | |
WO2007105364A1 (ja) | 文書処理装置及び文書処理方法 | |
WO2006001393A1 (ja) | 文書処理方法および装置 | |
JP2007183849A (ja) | 文書処理装置 | |
WO2006051714A1 (ja) | 文書処理装置及び文書処理方法 | |
JP4417384B2 (ja) | 文書処理装置および文書処理方法 | |
US20080005154A1 (en) | Document Processing Device and Document Processing Method | |
JPWO2005098659A1 (ja) | 文書処理装置及び文書処理方法 | |
JP4719743B2 (ja) | グラフ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2007522398 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11993298 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06767368 Country of ref document: EP Kind code of ref document: A1 |