WO2007132568A1 - データ処理サーバ及びデータ処理方法 - Google Patents

データ処理サーバ及びデータ処理方法 Download PDF

Info

Publication number
WO2007132568A1
WO2007132568A1 PCT/JP2007/000522 JP2007000522W WO2007132568A1 WO 2007132568 A1 WO2007132568 A1 WO 2007132568A1 JP 2007000522 W JP2007000522 W JP 2007000522W WO 2007132568 A1 WO2007132568 A1 WO 2007132568A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
xml
processing
html
Prior art date
Application number
PCT/JP2007/000522
Other languages
English (en)
French (fr)
Inventor
Masahiko Hatori
Hideki Hiura
Hiroyuki Oota
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 JP2008515437A priority Critical patent/JPWO2007132568A1/ja
Priority to US12/300,248 priority patent/US20090265615A1/en
Publication of WO2007132568A1 publication Critical patent/WO2007132568A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/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]

Definitions

  • the present invention relates to a data processing technique, and more particularly, to a data processing server and method for processing data described in a markup language.
  • XML is attracting attention as a format suitable for sharing data with others over networks, etc., and an application for creating, displaying and editing XML documents has been developed (for example, And Patent Document 1).
  • the XML document is created based on the Pocabulary (tag set) defined by the document type definition.
  • HTML HyperText Markup Languate
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2001_290804
  • the present inventor has further advanced the technology of Ajax to come up with a technology that provides a more convenient service.
  • the present invention has been made in view of such a situation, and an object thereof is to provide a technique capable of appropriately processing XML data provided via a network.
  • One embodiment of the present invention relates to a data processing server.
  • An XML data acquisition unit that acquires XML data, an HTML data conversion unit that converts XML data to HTML data, and a request for processing the XML data to the converted HTML data
  • a transmission unit that adds a module for receiving a request for processing HTML data, and a processing unit that receives the processing request for the XML data via the module and processes the XML data. It is characterized by providing.
  • the data processing server may further include a processing request conversion unit that converts a processing request for the XML data via the module into an instruction executable by the processing unit.
  • a processing request conversion unit that converts a processing request for the XML data via the module into an instruction executable by the processing unit.
  • the HTML conversion unit converts the XML data processed by the processing unit into HTML data, and the transmission unit performs processing for the XML data.
  • the converted HTML data may be sent to the requesting party.
  • the HTML data conversion unit holds a rule for converting XML data into HTML data for each XML tag set, and converts the XML data acquired by the XML data acquisition unit into HTML data according to the rule. Also good.
  • the data processing server may further include a module generation unit that generates the module according to the XML data.
  • the HTML data may be data describing a web page displayed by a web browser of a user terminal, and the module requests addition of XML data displayed as the content of the web page.
  • the XML data acquisition unit may acquire the XML data requested to be added, and the HTML data conversion unit may convert the additionally acquired XML data into HTML data.
  • the module generation unit may generate a module for accepting a processing request for the additionally acquired XML data, and the transmission unit adds the converted HTML data to the original HTML data. At the same time, the generated module may be added and transmitted to the user terminal.
  • the data processing server may further include, for each user, a user database that stores XML data to be displayed on the web page or an address of the XML data.
  • the transmission unit may transmit the processing unit to the user terminal.
  • the processing unit processes data described in a specific tag set of XML, and sets the XML data to a tag set that can be processed by the tag set processing unit.
  • the data processing server can process the XML data included in the web page transmitted to the user terminal by the tag set processing unit.
  • a definition data generation unit that generates definition data describing a rule to be mapped to a tag set may be further provided, and the transmission unit may transmit the definition data to the user terminal together with the processing unit.
  • This data processing method includes a step of acquiring XML data, a step of converting XML data into HTML data, and accepting a processing request for the XML data as a processing request for the HTML data in the converted HTML data. And a step of transmitting the XML data via the module and receiving a request for processing the XML data via the module, and processing the XML data.
  • FIG. 1 is a diagram showing a configuration of a document processing apparatus according to a base technology.
  • FIG. 2 is a diagram showing an example of an XML document edited by a document processing apparatus.
  • FIG. 3 is a diagram showing an example of mapping the XML document shown in FIG. 2 to a table described in HTML.
  • FIG. 4 (a) is a diagram showing an example of a definition file for mapping the XML document shown in FIG. 2 to the table shown in FIG.
  • FIG. 4 (b) is a diagram showing an example of a definition file for mapping the XML document shown in FIG. 2 to the table shown in FIG.
  • FIG. 5 is a diagram showing an example of a screen displayed by mapping the XML document shown in FIG. 2 to the HTML file corresponding to the correspondence shown in FIG.
  • FIG. 6 is a diagram showing an example of a graphical user interface I 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 data processing server according to the embodiment.
  • FIG. 12 is a diagram showing an example of a screen displayed on the browser of the user terminal.
  • FIG. 13 An example of a screen displaying a web page containing multiple contents.
  • FIG. 14 is a diagram showing an example of a screen in which a web page is edited.
  • FIG. 15 is a diagram showing an example of a screen in which a part of a web page is updated. Explanation of symbols
  • Web server 26 user terminal, 30 DOM unit, 32 DOM providing unit, 34 DOM generating unit, 36 output unit, 40 CSS unit, 42 CSS analyzing unit, 44 CSS providing unit, 46 rendering unit, 50 HT ML unit, 52, 62 Control section, 54, 64 Editing section, 56, 66 Display section, 60 SVG unit, 7 1 User authentication section, 72 XML data acquisition section, 73 User database, 74 Transmission section, 75 Module generation section, 76 HTML Data conversion unit, 77 processing request reception unit, 78 processing request conversion unit, 79 definition data generation unit, 80 VC unit, 82 mapping unit, 84 definition file acquisition unit, 86 definition file generation unit, 100 data processing server.
  • a technique for processing an XML document described in an arbitrary tag set will be described.
  • a technique for providing a web page that integrates a plurality of web services by using a document processing apparatus of a prerequisite technology as an application server in the middle layer will be described.
  • 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 configurations are realized by the CPU, memory, and programs loaded in the memory of any computer.
  • the functional blocks realized by these linkages are implemented. I'm drawing 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 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 which PML library the XML document is described in, and displays or displays corresponding to that POP library. Load editing plug-in to display and edit.
  • the document processing device 20 is plugged with a display system and an editing system for each platform (tag set), such as an HTML unit 50 that displays and edits HTML documents and an SVG unit 60 that displays and edits SVG documents. It is implemented as IN, and when editing an HTML document, HTML unit 50 is loaded, and when editing an S VG document, S VG unit 60 is loaded. As will be described later, both HTML Unit 50 and S VG Unit 60 will be processed when a compound document containing both 1 to 1 1 ⁇ 11_ and 50 is included. Is loaded.
  • the user can select and install only the necessary functions, and can add or delete functions later as appropriate, so that a 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 a new plug-in library in the form of a plug-in, which makes development easier. Functions can be added with ⁇ .
  • the editing unit 24 receives an editing instruction from the user via the user interface. Receives the indicated event, notifies the appropriate plug-in of the event, and controls processing such as event re-execution (redo) or execution cancellation (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 an XML document is used 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 described later, when the XML document to be processed is mapped to another library by VC Unit 80, the source tree corresponding to the mapping source XML document and the mapping destination XML document are supported. The destination list to be generated 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 ⁇ 55 analysis unit 42, a ⁇ 55 provision unit 44, and a rendering unit 46, and provides a display function compliant with CSS.
  • the CSS analysis unit 42 has a parser function for analyzing CSS syntax.
  • CSS provider 4 4 is an implementation of CSS objects, which performs CSS power scaling on the DOM tree.
  • the rendering unit 46 is a CSS rendering engine, and is used to display a document described in a platform such as HTML that is rendered using 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 Z editing systems are realized in the form of plug-ins. Each of them is a display unit (Canvas) 56, 66 that displays a document, and a control unit that sends and receives events including editing instructions (Ed is let). 52, 62, and editing sections (Zone) 54, 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 6 4 changes the DOM tree
  • display 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 are set to “Controller”.
  • 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 of the libraries.
  • the HTML unit 50 provides a user interface for editing HTML documents in a manner similar to a word processor
  • the SVG unit 60 provides a user interface for editing SVG documents in a manner similar to an image drawing tool. provide.
  • the VC unit 80 includes a mapping unit 82, a definition file acquisition unit 84, and a definition file generation unit 86.
  • the mapping destination library Provides a framework for displaying or editing a document with a display editing plug-in that supports the above. 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 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. When the VC unit 80 receives an editing instruction from the user via the user interface provided by the plug-in responsible for display, the VC unit 80 starts with the source tree. Change one applicable node. When DOM unit 30 issues a mutation event that the source tree has changed, VC unit 80 will
  • Display destination tree Z Plug-in to edit eg 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.
  • the DOM generation unit 34 When the document processing apparatus 20 reads a document to be processed, the DOM generation unit 34 generates a DOM tree from the XML document. In addition, the main control unit 2 2 or the editing unit 2 4 refers to the name space to determine the library describing the document. If the plug-in corresponding to the library is installed in the document processing apparatus 20, the plug-in is loaded and the document is displayed and Z-edited. 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 the destination tree according to the definition, and displays the document by the bra gain corresponding to the mapping destination dictionary. .
  • the corresponding parts of the document are displayed and 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. It is the top node of the XML document
  • the component “Grade” has multiple components “Student” provided for each student.
  • the component “student” has an attribute value “name” and child elements “national language”, r 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 pokary library (tag set) used in this document is referred to as the “results management pouch library”.
  • the document processing apparatus 20 of the base technology does not have a plug-in corresponding to the display management Z display of the grade management library, in order to display this document by a method other than the source display and the tree display,
  • the VC function described above is used.
  • the user interface for creating a definition file by the user himself will be described later.
  • 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 Figure 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' grades. In this way, arithmetic expressions can be specified in the definition file By doing so, more flexible display is possible, and user convenience during editing can be improved.
  • the sixth column specifies that editing is not possible, so that only the average score cannot be edited individually. In this way, by making it possible to specify whether editing is possible in the mapping definition, it is possible to prevent user misoperation.
  • FIGS. 4 (a) and 4 (b) show examples of definition files for mapping the XML document shown in FIG. 2 to the table shown in FIG.
  • This definition file is described in the script language defined for the definition file.
  • the definition file contains command definitions and display templates.
  • "add student” and “delete student” are defined as commands, 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” are displayed in the first row of the table, and the contents of the node “student” are displayed in the second and subsequent rows.
  • FIG. 5 shows an example of a screen displayed by mapping the XML document described in the grade management platform shown in FIG. 2 to HTML corresponding 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 relevant part of the destination tree, and the HTML unit 50 will update the display based on the changed destination tree. 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” are displayed 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”.
  • a command for embedding other libraries may be provided to the user. Using this table as an input template, you can also add new student grade data in the form of blanks.
  • FIG. 6 shows an example of a Darlingual User Interface I presented to the user by the definition file generator 86 in order for the user to generate a definition file.
  • the XML document of the mapping source 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 definition file generation unit 86 When the screen editing is completed, the definition file generation unit 86 generates a definition file describing the screen layout and the connection between nodes.
  • FIG. 7 shows another example of the screen layout generated by the definition file generation unit 86.
  • a table 90 and a 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 device 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 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.
  • the screen is divided into a plurality of areas, and the XML document to be processed is displayed in different display formats in each area.
  • the source of the document is displayed in area 94, the entire structure of the document is displayed in area 95, and the table described in HTML shown in Fig. 5 is displayed in area 96. ing.
  • Documents can be edited on any of these screens, and if the user edits on any of these screens, the source tree Is changed, and the plug-in responsible for displaying each screen updates the screen to reflect the changes in the source tree.
  • the display section of the plug-in responsible for displaying each editing screen is registered, and either plug-in or VC
  • all 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 source tree change, and then refers to the changed destination tree. The in display 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 all-in-one 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 is updated to refer to the destination tree that has been changed following the change in 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 in HTML, the XML document may be mapped to the HTML, and displayed in the HTML TM unit 50.
  • three destination trees are generated: source format, tree format, and tabular format.
  • VC Unit 80 changes the source tree, then changes the three destination trees: source format, tree format, and table format. Refer to those destination trees 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 through source display or single display.
  • one screen is divided and screens in multiple display formats are displayed at the same time.
  • a screen in one display format can be displayed on one screen, and the display format can be switched according to user instructions.
  • 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 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.
  • MathML unit (not shown) draw the mathematical formula. 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 HT ML unit 50 or the command defined in the definition file for mapping the XH TM L document is displayed. Thereby, an appropriate user interface can be provided according to the editing position.
  • a compound document if there is no appropriate plug-in or mapping definition file corresponding to a certain library, it will be described by that library.
  • the part may be displayed in source or tree.
  • Another advantage of data being described in a text base is, for example, that data in a portion of a compound document described by a certain library in a portion of the same document described by another library. You may refer to In addition, when performing a search within a document, character strings embedded in diagrams such as SVG can also be searched.
  • a tag of another library may be used in a document described by a certain library.
  • This XML document is not valid, but can be processed as a valid XML document if it is well-formed.
  • the tag of the other vocabulary inserted may be mapped by the definition file. For example, you can use tags such as “important” and “most important” in an XHTML document, and highlight the parts enclosed by these tags, or sort them in order of importance. May be.
  • the plug-in or VC unit 80 responsible for the edited portion changes the source tree.
  • a listener for a mutation event can be registered for each node.
  • the plug-in display section or VC unit 80 corresponding to the poker library to which each node belongs is registered as a listener. Is done.
  • the 00! ⁇ 1 providing unit 32 traces from the changed node to a higher hierarchy, and if there is a registered listener, issues a mutation event to that listener.
  • 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 for managing the screen layout, for example, the plug-in responsible for displaying the top node.
  • the HTML unit 50 first draws a part that it is responsible for and determines the size of the display area. Then, notify the configuration that manages the layout of the screen of the size of the display area after the change, and request a layout update.
  • the configuration that manages the screen layout receives the notification and re-lays out the display area for each plug-in. In this way, the display of the edited part is updated appropriately and the layout of the entire screen is updated.
  • the XML data in order to allow the user to display the web service provided by the XML data in a single web page, the XML data can be displayed using the document processing apparatus 20 of the prior art.
  • Ajax is used to allow the user to interactively access the XML data.
  • FIG. 11 is a diagram showing a configuration of the data processing server 100 according to the embodiment.
  • the data processing server 100 includes a user authentication unit 71, a ⁇ ! ⁇ 11_ data acquisition unit 72, a user database 73, a transmission unit 74, Module generator 75, HTML data converter 76
  • the processing request receiving unit 77 and the processing request converting unit 78 are provided.
  • the data processing server 100 converts the Web service XML data provided from the web server 25 via the Internet 29 into HTML data that can be viewed by the user terminal. Functions as a middle tier server.
  • the user authentication unit 71 authenticates the user of the user terminal 26.
  • the 7 1 accepts a registration request from a user who wants to provide a service by the data processing server 100 of this embodiment, and registers information such as a user ID and a password for authenticating the user in the user database 73. .
  • a service provision request is received from the user terminal 26
  • the user ID and password are received from the user, and whether or not the user is registered in the user database 73 is authenticated.
  • the user authentication unit 71 receives a request for registration of XML data constituting the content to be displayed on the web page from the user, and registers the received XML data or the address of the XML data in the user database 73.
  • the XML data acquisition unit 72 acquires XML data provided by the web server 25.
  • the XML data acquisition unit 72 refers to the user database 73, acquires the address of the XML data registered by the authenticated user, and requests the Web server 25 to acquire the XML data based on the address. To do.
  • the acquired XML data is sent to the document processing device 20.
  • the document processing device 20 generates a resource DOM by the DOM generation unit 34 and manages the XML data as a D OM.
  • the HTML data converter 76 converts the XML data acquired by the XML data acquisition unit 72 into HTML data.
  • the HTML data conversion unit 76 holds an XS LT or prerequisite technology definition file for each XML data tag set (poch library), and converts the acquired XML data into HTML data accordingly.
  • the module generation unit 75 generates a module for accepting a processing request for XML data as a processing request for HTML data.
  • This module may be written in, for example, Java® Script, and an event handler written in Java® Script detects a user action, and Java® It may be one that requests processing of XML data by asynchronous communication using XM LH ttp Request, which is an embedded class of Script.
  • the module generation unit 75 may prepare and hold a module for processing XML data for each XML data provided by the web server 25 in advance. For each tag set, a module for processing XML data described in the tag set may be prepared and held in advance.
  • the module generation unit 75 pre-populates a general-purpose module, for example, a button for requesting a process for adding a new content to a web page, a button for requesting a download of a processing system described later, and the like. It may be prepared and held.
  • a general-purpose module for example, a button for requesting a process for adding a new content to a web page, a button for requesting a download of a processing system described later, and the like. It may be prepared and held.
  • the transmission unit 74 adds the module generated by the module generation unit 75 to the HTML data converted by the HTML data conversion unit 76 to generate an HTML file describing the web page, Send to user terminal 26
  • the user terminal 26 displays the received HTML file by the web browser and presents the user page to the user.
  • the user can issue a data processing request to the data processing server 100 using the module added to the HTML file.
  • the browser of the user terminal 26 has a function of an Ajax engine, for example, detects a user action as an event, and issues the described processing request to the data processing server 100 asynchronously.
  • the process request accepting unit 77 accepts a process request issued from the user terminal 26.
  • the processing request conversion unit 78 replaces the received processing request with a command that can be interpreted and executed by the document processing device 20 and notifies the document processing device 20 of the command.
  • the document processing device 20 performs necessary processing such as changing the source DOM in accordance with the notified instruction.
  • the HTML data converter 76 converts the changed XML data into HTML data, and the transmitter 74 converts the converted data.
  • the definition data generating unit 79 When the definition data generating unit 79 receives a request from the user terminal 26 to locally edit a web page including XML data as content, the definition data generating unit 79 defines the definition data for editing the web page by the document processing device 20. Is generated. As described in the base technology, the definition data generation unit 79 is a processing system for processing XML data described in a specific tag set included in the document processing device 20, for example, an HTML unit 50. Or, generate definition data that describes the rules for mapping to tag sets that can be processed by SVG Unit 60. The generated definition data is transmitted to the fuser terminal 26 by the transmission unit 74. When the functions of the document processing device 20 are not installed in the user terminal 26, the transmission unit 74 downloads a program for realizing the document processing device 20 to the user terminal 26.
  • FIG. 12 shows an example of a screen 99 displayed on the browser of the user terminal 26 of the user authenticated by the user authentication unit 71. Since this user has not yet registered the contents of the web page, the contents can be registered by clicking the registration button 97a.
  • the user authentication unit 71 Upon receiving the content registration request, the user authentication unit 71 registers the XML data address of the content in the user database 73.
  • FIG. 13 shows an example of a screen 99 that displays a web page including a plurality of contents.
  • RSS 98a of news site, RSS98b of weather forecast site, and interface 98c of search engine are registered as contents.
  • the XML data acquisition unit 72 refers to the user database 73 and acquires the data of these contents from the web server 25.
  • the document processing apparatus 20 manages the acquired XML data as a DOM.
  • the HTML data conversion unit 76 uses the XML data.
  • a module for accepting a request for processing XML data is generated by the module generation unit 75 so that the user can re-edit the XML data.
  • the transmission unit 74 adds the generated module to the converted HTML data to generate a web page and transmits it to the user terminal 26.
  • the user terminal 26 displays the received web page on the screen 99.
  • Modules added to the web page are provided with an additional button 97b for adding content and a download button 97c for downloading the editing environment on the screen 99, for example. It also accepts requests to edit content such as New Site's RS S 98a.
  • FIG. 14 shows an example of a screen 99 in which a web page is edited.
  • the module for processing Newssite RSS 98a not only changes the character string of the article title, but also accepts annotation processing. For example, when the user selects the character string “Approval of the Diet Budget” and requests the processing to add an annotation, the module for editing RSS 98a sends a processing request to the data processing server 100. Send.
  • the processing request reception unit 77 of the data processing server 100 receives this processing request, the processing request conversion unit 78 converts the corresponding character string into an instruction for adding an annotation tag and notifies the document processing device 20 of the command. To do.
  • the document processing apparatus 20 adds a new element for annotation, and sets the corresponding character string as the element value of the element.
  • the HTML data conversion unit 76 converts the newly added element into 1 to 1 1 ⁇ 11_ ⁇ 8> ⁇ 1>> tags.
  • the transmission unit 74 does not retransmit the entire web page, but transmits only the changed HTML to the user terminal 26.
  • the user terminal 26 redisplays the edited part using the received HTML data.
  • the character string “National Diet Budget Proposal Approved” is displayed in bold and underlined.
  • FIG. 15 shows an example of a screen 99 in which a part of the web page is updated.
  • the module for processing the RSS 98 b of the weather forecast site is a data processing server that periodically inquires about the presence or absence of an update in order to reflect the RSS update provided by the web server 25 on the screen. Send to 00.
  • the processing request conversion unit 78 notifies the document processing device 20 to reacquire the RSS of the weather forecast site.
  • the document processing device 20 re-acquires the RSS of the news site from the live server 25 by the XML data acquisition unit 72, and updates the source DOM if it has been changed.
  • the HTML data converter 76 converts the changed XML data into HTML data.
  • the transmission unit 74 transmits the changed HTML data to the user terminal 26.
  • the user terminal 26 redisplays the updated part using the received HTML data. As a result, the RSS 98b of the weather forecast site is automatically updated.
  • the document processing apparatus 20 integrally manages XML data described in an arbitrary tag set as a DOM, so that a plurality of web services can be provided on the web page. Even if multiple tag sets are included, XML data can be processed appropriately.
  • the present invention can be used in a data processing server that converts XML data into HTML data and provides it.

Abstract

 複数の文書を統合して表示する画面を提供する。  XMLデータ取得部72は、ユーザデータベース73を参照して、ユーザが登録したコンテンツのデータをウェブサーバ25から取得する。HTMLデータ変換部76は、XMLデータをHTMLデータに変換する。モジュール生成部75は、ユーザがXMLデータを加工したり編集したりすることを可能とするために、XMLデータに対する処理の要求を受け付けるためのモジュールを生成する。送信部74は、変換されたHTMLデータに、生成されたモジュールを付加してウェブページを生成し、ユーザ端末26へ送信する。処理要求受付部77は、モジュールを介したXMLデータに対する処理の要求をユーザ端末26から受け付ける。処理要求変換部78は、受け付けたXMLデータに対する処理の要求を、文書処理装置20が実行可能な命令に変換する。

Description

明 細 書
データ処理サーバ及びデータ処理方法
技術分野
[0001] 本発明は、 データ処理技術に関し、 特に、 マークアップ言語により記述さ れたデータを処理するデータ処理サーバ及び方法に関する。
背景技術
[0002] XMLは、 ネットワークなどを介して他者とデータを共有するのに適した 形式として注目されており、 X ML文書を作成、 表示、 編集するためのアブ リケーシヨンが開発されている (たとえば、 特許文献 1参照) 。 XML文書 は、 文書型定義などにより定義されたポキヤブラリ (タグセット) に基づい て作成されている。
[0003] インターネッ卜の爆発的な普及に伴い、 膨大な量のウェブページが提供さ れているが、 現状では、 ウェブページのほとんどは、 HTML (HyperText M arkup Languate) により記述されている。 ユーザは、 HTMLファイルを表 示することが可能なウェブブラウザにより、 ウェブページを閲覧することが できる。
特許文献 1 :特開 2001 _ 290804号公報
発明の開示
発明が解決しょうとする課題
[0004] 従来、 ウェブブラウザを使ったウェブアプリケーションでは、 データをサ ーバに通知して処理結果を得るにはべ一ジ全体をリロードしなければならな かった。 しかし、 最近になって、 ウェブブラウザに実装されている J a V a (登録商標) S c r i p tの HTTP通信機能を使って、 ウェブページのリ ロードを伴わずに、 サーバとデータのやり取りを行なって処理を進めていく 対話型ウェブアプリケーションを実現することが可能な A j a x技術が注目 されている。 A j a xでは、 ユーザの操作や画面描画などと並行してサーバ と非同期に通信を行なうことで、 サーバの存在を感じさせないシームレスな ウェブアプリケーションを実現することができる。
[0005] 本発明者は、 A j a xの技術を更に進め、 より利便性の高いサービスを提 供する技術を想到するに至った。 本発明はこうした状況に鑑みてなされたも のであり、 その目的は、 ネットワークを介して提供される XMLデータを適 切に処理することが可能な技術を提供することにある。
課題を解決するための手段
[0006] 本発明のある態様は、 データ処理サーバに関する。 XMLデータを取得す る XM Lデータ取得部と、 XM Lデータを H TM Lデータに変換する H TM Lデータ変換部と、 変換された HTMLデータに、 前記 XMLデータに対す る処理の要求を前記 HTMLデータに対する処理の要求として受け付けるた めのモジュールを付加して送信する送信部と、 前記モジュールを介した前記 XMLデータに対する処理の要求を受け付けて、 前記 X M Lデータを処理す る処理部と、 を備えることを特徴とする。
[0007] データ処理サーバは、 前記モジュールを介した前記 XMLデータに対する 処理の要求を、 前記処理部が実行可能な命令に変換する処理要求変換部を更 に備えてもよい。 前記モジュールを介して前記 XMLデータに対する処理を 要求されたとき、 前記 HTML変換部は、 前記処理部により処理された前記 XMLデータを HTMLデータに変換し、 前記送信部は、 前記 XMLデータ に対する処理を要求した相手に、 変換された HTMLデータを送信してもよ い。 前記 HTMLデータ変換部は、 XMLのタグセットごとに、 XMLデー タを HTMLデータに変換する規則を保持し、 前記規則にしたがって、 前記 XMLデータ取得部が取得した XMLデータを HTMLデータに変換しても よい。
[0008] データ処理サーバは、 前記 XMLデータに応じて、 前記モジュールを生成 するモジュール生成部を更に備えてもよい。
[0009] 前記 HTMLデータは、 ユーザ端末のウェブブラウザにより表示されるゥ エブページを記述したデータであってもよく、 前記モジュールは、 前記ゥェ ブページのコンテンツとして表示される X MLデータの追加要求を受け付け てもよく、 前記 XMLデータ取得部は、 追加を要求された XMLデータを取 得してもよく、 前記 HTMLデータ変換部は、 追加で取得された XMLデー タを HTMLデータに変換してもよく、 前記モジュール生成部は、 追加で取 得された X MLデータに対する処理の要求を受け付けるためのモジュールを 生成してもよく、 前記送信部は、 変換された HTMLデータを元の HTML データに追加するとともに、 生成されたモジュールを付加して前記ユーザ端 末に送信してもよい。 データ処理サーバは、 ユーザごとに、 前記ウェブべ一 ジに表示すべき XMLデータ又は XMLデータのァドレスを格納するユーザ データベースを更に備えてもよい。
[0010] 前記ユーザ端末から、 前記 XMLデータをローカルで編集する旨の要求を 受け付けると、 前記送信部は、 前記処理部を前記ユーザ端末に送信してもよ い。
[0011] 前記処理部は、 XMLの特定のタグセットで記述されたデータを処理する タグセッ卜処理部と、 前記 XMLデータを前記タグセッ卜処理部により処理 可能なタグセッ卜にマッピングし、 マッピングされた構成要素間の対応を保 持するマッピング部と、 を含んでもよくみ、 該データ処理サーバは、 前記ュ 一ザ端末に送信するゥェブページに含まれる X M Lデータを、 前記タグセッ 卜処理部により処理可能なタグセッ卜にマッピングする規則を記述した定義 データを生成する定義データ生成部を更に備えてもよく、 前記送信部は、 前 記処理部とともに、 前記定義データを前記ユーザ端末に送信してもよい。
[0012] 本発明の別の態様は、 データ処理方法に関する。 このデータ処理方法は、 X MLデータを取得するステップと、 XMLデータを HTMLデータに変換 するステップと、 変換された HTMLデータに、 前記 XMLデータに対する 処理の要求を前記 HTMLデータに対する処理の要求として受け付けるため のモジュールを付加して送信するステップと、 前記モジュールを介した前記 XMLデータに対する処理の要求を受け付けて、 前記 X M Lデータを処理す るステップと、 を含むことを特徴とする。
[0013] なお、 以上の構成要素の任意の組合せ、 本発明の表現を方法、 装置、 シス テムなどの間で変換したものもまた、 本発明の態様として有効である。
発明の効果
[0014] 本発明によれば、 ネットワークを介して提供される X M Lデータを適切に 処理する技術を提供することができる。
図面の簡単な説明
[0015] [図 1 ]前提技術に係る文書処理装置の構成を示す図である。
[図 2]文書処理装置により編集される X M L文書の例を示す図である。
[図 3]図 2に示した X M L文書を H T M Lで記述された表にマッビングする例 を示す図である。
[図 4 (a) ]図 2に示した X M L文書を図 3に示した表にマッビングするための 定義ファイルの例を示す図である。
[図 4 (b) ]図 2に示した X M L文書を図 3に示した表にマッビングするための 定義ファイルの例を示す図である。
[図 5]図 2に示した X M L文書を、 図 3に示した対応によリ H T M Lにマッピ ングして表示した画面の例を示す図である。
[図 6]ユーザが定義フアイルを生成するために、 定義フアイル生成部がユーザ に提示するグラフィカルユーザインターフ I一スの例を示す図である。
[図 7]定義フアイル生成部によリ生成された画面レイァゥ卜の他の例を示す図 である。
[図 8]文書処理装置による X M L文書の編集画面の一例を示す図である。
[図 9]文書処理装置により編集される X M L文書の他の例を示す図である。
[図 10]図 9に示した文書を表示した画面の例を示す図である。
[図 1 1 ]実施の形態に係るデータ処理サーバの構成を示す図である。
[図 12]ユーザ端末のブラウザに表示される画面の例を示す図である。
[図 13]複数のコンテンツを含むウェブページを表示した画面の例を示す図で める。
[図 14]ゥェブページを編集した画面の例を示す図である。
[図 15]ウェブページの一部が更新された画面の例を示す図である。 符号の説明
[0016] 20 文書処理装置、 22 主制御ユニット、 24 編集ユニット、 25
ウェブサーバ、 26 ユーザ端末、 30 DOMユニット、 32 DOM 提供部、 34 DOM生成部、 36 出力部、 40 CSSユニット、 42 CSS解析部、 44 CSS提供部、 46 レンダリング部、 50 HT MLユニット、 52, 62 制御部、 54, 64 編集部、 56, 66 表 示部、 60 SVGユニット、 7 1 ユーザ認証部、 72 X MLデータ取 得部、 73 ユーザデータベース、 74 送信部、 75 モジュール生成部 、 76 HTMLデータ変換部、 77 処理要求受付部、 78 処理要求変 換部、 79 定義データ生成部、 80 VCユニット、 82 マッピング部 、 84 定義ファイル取得部、 86 定義ファイル生成部、 1 00 データ 処理サーバ。
発明を実施するための最良の形態
[0017] まず、 前提技術として、 任意のタグセッ卜で記述された XML文書を処理 する技術について説明する。 つづいて、 本発明の実施の形態として、 前提技 術の文書処理装置をミドル層のアプリケーションサーバとして利用し、 複数 のゥェブザービスを統合したゥェブページを提供する技術について説明する
[0018] (前提技術)
図 1は、 前提技術に係る文書処理装置 20の構成を示す。 文書処理装置 2 0は、 文書内のデータが階層構造を有する複数の構成要素に分類された構造 化文書を処理するが、 本前提技術では構造化文書の一例として XML文書を 処理する例について説明する。 文書処理装置 20は、 主制御ユニット 22、 編集ユニット 24、 DOMユニット 30、 CSSユニット 40、 HTMLュ ニット 50、 S VGュニッ卜 60、 及び変換部の一例である VCュニッ卜 8 0を備える。 これらの構成は、 ハードウェアコンポーネントでいえば、 任意 のコンピュータの CP U、 メモリ、 メモリにロードされたプログラムなどに よって実現されるが、 ここではそれらの連携によって実現される機能ブロッ クを描いている。 したがって、 これらの機能ブロックがハードウェアのみ、 ソフトウエアのみ、 またはそれらの組合せによっていろいろな形で実現でき ることは、 当業者には理解されるところである。
[0019] 主制御ユニット 22は、 プラグインのロードや、 コマンド実行のフレーム ワークを提供する。 編集ユニット 24は、 X ML文書を編集するためのフレ ームワークを提供する。 文書処理装置 20における文書の表示及び編集機能 は、 プラグインにより実現されており、 文書の種別に応じて必要なプラグィ ンが主制御ュニッ卜 22又は編集ュニッ卜 24によりロードされる。 主制御 ユニット 22又は編集ュニッ卜 24は、 処理対象となる X ML文書の名前空 間を参照して、 X ML文書がいずれのポキヤブラリにより記述されているか を判別し、 そのポキヤブラリに対応した表示又は編集用のプラグインをロー ドして表示や編集を実行させる。 例えば、 文書処理装置 20には、 HTML 文書の表示及び編集を行う HTMLュニッ卜 50、 SVG文書の表示及び編 集を行う SVGユニット 60など、 ポキヤブラリ (タグセット) ごとに表示 系及び編集系がプラグインとして実装されており、 HTML文書を編集する ときは HTMLュニッ卜 50が、 S VG文書を編集するときは S VGュニッ 卜 60が、 それぞれロードされる。 後述するように、 1~1丁1\11_と5 0の双 方の構成要素を含む複合文書が処理対象となっている場合は、 HTMLュニ ット 50と S VGュニッ卜 60の双方がロードされる。
[0020] このような構成によれば、 ユーザは、 必要な機能のみを選択してインスト ールし、 後から適宜機能を追加又は削除することができるので、 プログラム を格納するハードディスクなどの記録媒体の記憶領域を有効に活用すること ができ、 また、 プログラム実行時にも、 メモリの浪費を防ぐことができる。 また、 機能拡張性に優れておリ、 開発主体としても、 プラグインの形で新た なポキヤブラリに対応することが可能なので開発が容易となり、 ユーザとし ても、 プラグインの追加により容易かつ低コス卜にて機能を追加することが できる。
[0021] 編集ュニッ卜 24は、 ユーザインターフ Iースを介してユーザから編集指 示のイベントを受け付け、 そのイベントを適切なプラグインなどに通知する ともに、 イベントの再実行 (リドウ) 又は実行の取消 (アンドゥ) などの処 理を制御する。
[0022] DOMユニット 30は、 DOM提供部 32、 D O M生成部 34、 及び出力 部 36を含み、 X M L文書をデータとして极うときのアクセス方法を提供す るために定められた文書オブジェクトモデル (Document Object Model : DO M) に準拠した機能を実現する。 DOM提供部 32は、 編集ユニット 24に 定義されているインタフェースを満たす DO Mの実装である。 DOM生成部 34は、 X ML文書から DOMツリーを生成する。 後述するように、 処理対 象となる X ML文書が、 VCュニッ卜 80により他のポキヤブラリにマツピ ングされる場合は、 マッピング元の XML文書に対応するソースツリーと、 マッピング先の X M L文書に対応するデスティネーションッリ一が生成され る。 出力部 36は、 例えば編集終了時に、 DOMツリーを XML文書として 出力する。
[0023] CSSユニット 40は、 〇55解析部42、 〇55提供部44、 及びレン ダリング部 46を含み、 CSSに準拠した表示機能を提供する。 CSS解析 部 42は、 CSSの構文を解析するパーザの機能を有する。 CSS提供部 4 4は、 CSSオブジェクトの実装であり、 DOMツリーに対して CSSの力 スケード処理を行う。 レンダリング部 46は、 CSSのレンダリングェンジ ンであり、 CSSを用いてレイァゥ卜される HTMLなどのポキヤブラリで 記述された文書の表示に用いられる。
[0024] HTMLユニット 50は、 H T M Lにより記述された文書を表示又は編集 する。 SVGユニット 60は、 SVGにより記述された文書を表示又は編集 する。 これらの表示 Z編集系は、 プラグインの形で実現されており、 それぞ れ、 文書を表示する表示部 (Canvas) 56、 66、 編集指示を含むイベント を送受信する制御部 (Edは let) 52、 62、 編集コマンドを受けて DOMに 対して編集を行う編集部 (Zone) 54、 64を備える。 制御部 52又は 62 が外部から DOMツリーの編集コマンドを受け付けると、 編集部 54又は 6 4が DOMツリーを変更し、 表示部 56又は 66が表示を更新する。 これら は、 MVC (Model -View-Control ler) と呼ばれるフレームワークに類似する 構成をとつておリ、 概ね、 表示部 56及び 66が 「View」 に、 制御部 52及 び 62が 「Controller」 に、 編集部 54及び 64と DOMの実体が 「Model」 に、 それぞれ対応する。 本前提技術の文書処理装置 20では、 XML文書を ッリ一表示形式で編集するだけでなく、 それぞれのポキヤブラリに応じた編 集を可能とする。 例えば、 HTMLユニット 50は、 HTML文書をワード プロセッサに類似した方式で編集するためのユーザインターフェースを提供 し、 SVGユニット 60は、 SVG文書を画像描画ツールに類似した方式で 編集するためのユーザインターフェースを提供する。
[0025] VCユニット 80は、 マッピング部 82、 定義ファイル取得部 84、 及び 定義ファイル生成部 86を含み、 あるポキヤブラリにより記述された文書を 、 他のポキヤブラリにマッピングすることにより、 マッピング先のポキヤブ ラリに対応した表示編集用プラグィンで文書を表示又は編集するためのフレ ームワークを提供する。 本前提技術では、 この機能を、 ポキヤブラリコネク シヨン (Vocabulary Connection: VC) と呼ぶ。 定義ファイル取得部 84は 、 マッピングの定義を記述したスクリプトファイルを取得する。 この定義フ アイルは、 ノードごとに、 ノード間の対応 (コネクション) を記述する。 こ のとき、 各ノードの要素値や属性値の編集の可否を指定してもよい。 また、 ノ一ドの要素値や属性値を用いた演算式を記述してもよい。 これらの機能に ついては、 後で詳述する。 マッピング部 82は、 定義ファイル取得部 84が 取得したスクリプトファイルを参照して、 DOM生成部 34にデスティネー シヨンツリーを生成させ、 ソースツリーとデスティネーションツリーの対応 関係を管理する。 定義ファイル生成部 86は、 ユーザが定義ファイルを生成 するためのグラフィカルユーザインターフェースを提供する。
[0026] VCユニット 80は、 ソースツリーとデスティネーションツリーの間のコ ネクシヨンを監視し、 表示を担当するプラグインにより提供されるユーザィ ンタフェースを介してユーザから編集指示を受け付けると、 まずソースッリ 一の該当するノードを変更する。 D O Mユニット 3 0が、 ソースツリーが変 更された旨のミューテーシヨンイベントを発行すると、 V Cュニッ卜 8 0は
、 そのミューテーシヨンイベントを受けて、 ソースツリーの変更にデスティ ネーションッリーを同期させるベく、 変更されたノードに対応するデスティ ネーシヨンツリーのノードを変更する。 デスティネーションツリーを表示 Z 編集するプラグイン、 例えば H T M Lユニット 5 0は、 デスティネーション ツリーが変更された旨のミューテーシヨンイベントを受けて、 変更されたデ スティネーションッリーを参照して表示を更新する。 このような構成によリ 、 少数のユーザにより利用されるローカルなポキヤブラリにより記述された 文書であっても、 他のメジャーなポキヤブラリに変換することで、 文書を表 示することができるとともに、 編集環境が提供される。
[0027] 文書処理装置 2 0により文書を表示又は編集する動作について説明する。
文書処理装置 2 0が処理対象となる文書を読み込むと、 D O M生成部 3 4が 、 その X M L文書から D O Mツリーを生成する。 また、 主制御ユニット 2 2 又は編集ュニッ卜 2 4は、 名前空間を参照して文書を記述しているポキヤブ ラリを判別する。 そのポキヤブラリに対応したプラグィンが文書処理装置 2 0にインストールされている場合は、 そのプラグインをロードして、 文書を 表示 Z編集させる。 プラグインがインストールされていない場合は、 マツピ ングの定義ファイルが存在するか否かを確認する。 定義ファイルが存在する 場合、 定義ファイル取得部 8 4が定義ファイルを取得し、 その定義に従って 、 デスティネーションツリーが生成され、 マッピング先のポキヤブラリに対 応するブラゲインによリ文書が表示 Z編集される。 複数のポキヤブラリを含 む複合文書である場合は、 後述するように、 それぞれのポキヤブラリに対応 したプラグインにより、 文書の該当箇所がそれぞれ表示 Z編集される。 定義 ファイルが存在しない場合は、 文書のソース又はツリー構造を表示し、 その 表示画面において編集が行われる。
[0028] 図 2は、 処理対象となる X M L文書の例を示す。 この X M L文書は、 生徒 の成績データを管理するために用いられる。 X M L文書のトップノードであ る構成要素 「成績」 は、 配下に、 生徒ごとに設けられた構成要素 「生徒」 を 複数有する。 構成要素 「生徒」 は、 属性値 「名前」 と、 子要素 「国語」 、 r 数学」 、 「理科」 、 「社会」 を有する。 属性値 「名前」 は、 生徒の名前を格 納する。 構成要素 「国語」 、 「数学」 、 「理科」 、 「社会」 は、 それぞれ、 国語、 数学、 理科、 社会の成績を格納する。 例えば、 名前が 「A」 である生 徒の国語の成績は 「9 0」 、 数学の成績は 「5 0」 、 理科の成績は 「7 5」 、 社会の成績は 「6 0」 である。 以下、 この文書で使用されているポキヤブ ラリ (タグセット) を、 「成績管理ポキヤブラリ」 と呼ぶ。
[0029] 本前提技術の文書処理装置 2 0は、 成績管理ポキヤブラリの表示 Z編集に 対応したプラグインを有しないので、 この文書をソース表示、 ツリー表示以 外の方法で表示するためには、 前述した V C機能が用いられる。 すなわち、 成績管理ポキヤブラリを、 プラグインが用意された別のポキヤブラリ、 例え ば、 H T M Lや S V Gなどにマツビングするための定義ファイルを用意する 必要がある。 ユーザ自身が定義ファイルを作成するためのユーザインターフ エースについては後述することにして、 ここでは、 既に定義ファイルが用意 されているとして説明を進める。
[0030] 図 3は、 図 2に示した X M L文書を H T M Lで記述された表にマッピング する例を示す。 図 3の例では、 成績管理ポキヤブラリの 「生徒」 ノードを、 H T M Lにおける表 ( 「TABLE」 ノード) の行 ( 「TR」 ノード) に対応づけ、 各行の第 1列には属性値 「名前」 を、 第 2列には 「国語」 ノードの要素値を 、 第 3列には 「数学」 ノードの要素値を、 第 4列には 「理科」 ノードの要素 値を、 第 5列には 「社会」 ノードの要素値を、 それぞれ対応付ける。 これに より、 図 2に示した X M L文書を、 H T M Lの表形式で表示することができ る。 また、 これらの属性値及び要素値は、 編集可能であることが指定されて おり、 ユーザが H T M Lによる表示画面上で、 H T M Lユニット 5 0の編集 機能により、 これらの値を編集することができる。 第 6列には、 国語、 数学 、 理科、 社会の成績の加重平均を算出する演算式が指定されており、 生徒の 成績の平均点が表示される。 このように、 定義ファイルに演算式を指定可能 とすることにより、 より柔軟な表示が可能となり、 編集時のユーザの利便性 を向上させることができる。 なお、 第 6列は、 編集不可であることが指定さ れており、 平均点のみを個別に編集することができないようにしている。 こ のように、 マッピング定義において、 編集の可否を指定可能とすることによ リ、 ユーザの誤操作を防ぐことができる。
[0031 ] 図 4 ( a ) 及び図 4 ( b ) は、 図 2に示した X M L文書を図 3に示した表 にマッピングするための定義ファイルの例を示す。 この定義ファイルは、 定 義ファイル用に定義されたスクリプト言語により記述される。 定義ファイル には、 コマンドの定義と、 表示のテンプレートが記述されている。 図 4 ( a ) ( b ) の例では、 コマンドとして、 「生徒の追加」 と 「生徒の削除」 が定 義されており、 それぞれ、 ソースツリーにノード 「生徒」 を挿入する操作と 、 ソースツリーからノード 「生徒」 を削除する操作が対応付けられている。 また、 テンプレートとして、 表の第 1行に 「名前」 、 「国語」 などの見出し が表示され、 第 2行以降に、 ノード 「生徒」 の内容が表示されることが記述 されている。 ノード 「生徒」 の内容を表示するテンプレート中、 「text-of」 と記述された項は 「編集可能」 であることを意味し、 「va l ue-of」 と記述さ れた項は 「編集不可能」 であることを意味する。 また、 ノード 「生徒」 の内 容を表示する行のうち、 第 6列には、 「(src :国語 + src :数学 + src :理科 + src :社会) d i v 4」 という計算式が記述されており、 生徒の成績の平均が表 示されることを意味する。
[0032] 図 5は、 図 2に示した成績管理ポキヤブラリで記述された X M L文書を、 図 3に示した対応によリ H T M Lにマッビングして表示した画面の例を示す 。 表 9 0の各行には、 左から、 各生徒の名前、 国語の成績、 数学の成績、 理 科の成績、 社会の成績、 及び平均点が表示されている。 ユーザは、 この画面 上で、 X M L文書を編集することができる。 たとえば、 第 2行第 3列の値を 「7 0」 に変更すると、 このノードに対応するソースツリーの要素値、 すな わち、 生徒 「B」 の数学の成績が 「7 0」 に変更される。 このとき、 V Cュ ニット 8 0は、 デスティネーションツリーをソースツリーに追従させるベく 、 デスティネーションツリーの該当箇所を変更し、 H T M Lユニット 5 0が 、 変更されたデスティネーションツリーに基づいて表示を更新する。 したが つて、 画面上の表においても、 生徒 「B」 の数学の成績が 「7 0」 に変更さ れ、 更に、 平均点が 「5 5」 に変更される。
[0033] 図 5に示した画面には、 図 4 ( a ) ( b ) に示した定義ファイルに定義さ れたように、 「生徒の追加」 及び 「生徒の削除」 のコマンドがメニューに表 示される。 ユーザがこれらのコマンドを選択すると、 ソースツリーにおいて 、 ノード 「生徒」 が追加又は削除される。 このように、 本前提技術の文書処 理装置 2 0では、 階層構造の末端の構成要素の要素値を編集するのみではな く、 階層構造を編集することも可能である。 このようなツリー構造の編集機 能は、 コマンドの形でユーザに提供されてもよい。 また、 例えば、 表の行を 追加又は削除するコマンドが、 ノード 「生徒」 を追加又は削除する操作に対 応づけられてもよい。 また、 他のポキヤブラリを埋め込むコマンドがユーザ に提供されてもよい。 この表を入力用テンプレートとして、 穴埋め形式で新 たな生徒の成績データを追加することもできる。 以上のように、 V C機能に より、 H T M Lユニット 5 0の表示 Z編集機能を利用しつつ、 成績管理ポキ ャブラリで記述された文書を編集することが可能となる。
[0034] 図 6は、 ユーザが定義ファイルを生成するために、 定義ファイル生成部 8 6がユーザに提示するダラフィカルユーザィンタフ I一スの例を示す。 画面 左側の領域 9 1には、 マッピング元の X M L文書がツリー表示されている。 画面右側の領域 9 2には、 マッピング先の X M L文書の画面レイァゥ卜が示 されている。 この画面レイアウトは、 H T M Lユニット 5 0により編集可能 となっており、 ユーザは、 画面右側の領域 9 2において、 文書を表示するた めの画面レイアウトを作成する。 そして、 例えば、 マウスなどのポインティ ングデバイスにより、 画面左側の領域 9 1に表示されたマッピング元の X M L文書のノードを、 画面右側の領域 9 2に表示された H T M Lによる画面レ ィァゥ卜中へドラッグ &ドロップ操作を行うことにより、 マッピング元のノ ードと、 マッピング先のノードとのコネクションが指定される。 例えば、 要 素 「生徒」 の子要素である 「数学」 を、 1~1丁1\11_画面の表90の第1行第3 列にドロップすると、 「数学」 ノードと、 3列目の 「TD」 ノードの間にコ ネクシヨンが張られる。 各ノードには、 編集の可否が指定できるようになつ ている。 また、 表示画面中には、 演算式を埋め込むこともできる。 画面の編 集が終わると、 定義ファイル生成部 86は、 画面レイアウトとノード間のコ ネクションを記述した定義ファイルを生成する。
[0035] XHTML. Ma t hML、 S V Gなどの主要なポキヤブラリに対応した ビューヮゃエディタは既に開発されているが、 図 2に示した文書のようなォ リジナルなポキヤブラリで記述された文書に対応したビューヮゃエディタを 開発するのは現実的でない。 しかし、 上記のように、 他のポキヤブラリにマ ッビングするための定義ファイルを作成すれば、 ビューヮゃエディタを開発 しなくても、 VC機能を利用して、 オリジナルなポキヤブラリで記述された 文書を表示,編集することができる。
[0036] 図 7は、 定義ファイル生成部 86により生成された画面レイアウトの他の 例を示す。 図 7の例では、 成績管理ポキヤブラリで記述された XML文書を 表示するための画面に、 表 90と、 円グラフ 93が作成されている。 この円 グラフ 93は、 SVGにより記述される。 後述するように、 本前提技術の文 書処理装置 20は、 一つの X ML文書内に複数のポキヤブラリを含む複合文 書を処理することができるので、 この例のように、 HTMLで記述された表 90と、 SVGで記述された円グラフ 93とを、 一つの画面上に表示するこ とができる。
[0037] 図 8は、 文書処理装置 20による X ML文書の編集画面の一例を示す。 図
8の例では、 一つの画面が複数に分割されており、 それぞれの領域において 、 処理対象となる X M L文書を異なる複数の表示形式によリ表示している。 領域 94には、 文書のソースが表示されており、 領域 95には、 文書のッリ 一構造が表示されており、 領域 96には、 図 5に示した HTMLにより記述 された表が表示されている。 これらのいずれの画面上においても、 文書の編 集が可能であり、 いずれかの画面上でユーザが編集を行うと、 ソースツリー が変更され、 それぞれの画面の表示を担当するプラグインが、 ソースツリー の変更を反映すべく画面を更新する。 具体的には、 ソースツリーの変更を通 知するミューテーシヨンィベン卜のリスナーとして、 それぞれの編集画面の 表示を担当するプラグインの表示部を登録しておき、 いずれかのプラグイン 又は V Cュニッ卜 8 0によリソースツリーが変更されたときに、 編集画面を 表示中の全ての表示部が、 発行されたミューテーシヨンイベントを受け取つ て画面を更新する。 このとき、 プラグインが V C機能により表示を行ってい る場合は、 V Cュニッ卜 8 0がソースツリーの変更に追従してデスティネー ションッリーを変更した後、 変更されたデスティネーションッリーを参照し てプラグインの表示部が画面を更新する。
[0038] 例えば、 ソース表示及びツリー表示を、 専用のプラグインにより実現して いる場合は、 ソース表示用プラグインとツリー表示用プラグインは、 デステ イネーシヨンツリーを用いず、 直接ソースツリーを参照して表示を行う。 こ の場合、 いずれかの画面において編集が行われると、 ソース表示用プラグィ ンとッリ一表示用プラグィンは、 変更されたソースッリーを参照して画面を 更新し、 領域 9 6の画面を担当している H T M Lユニット 5 0は、 ソースッ リ一の変更に追従して変更されたデスティネーションッリーを参照して画面 を更新する。
[0039] ソース表示及びツリー表示は、 V C機能を利用して実現することもできる 。 すなわち、 ソース、 ツリー構造を H T M Lによりレイアウトし、 その H T M Lに X M L文書をマツビングして、 H T M Lュニッ卜 5 0によリ表示して もよい。 この場合、 ソース形式、 ツリー形式、 表形式の 3つのデスティネー シヨンツリーが生成されることになる。 いずれかの画面において編集が行わ れると、 V Cユニット 8 0は、 ソースツリーを変更した後、 ソース形式、 ッ リー形式、 表形式の 3つのデスティネーションツリーをそれぞれ変更し、 H T M Lユニット 5 0は、 それらのデスティネーションツリーを参照して、 3 つの画面を更新する。
[0040] このように、 一つの画面上に複数の表示形式で文書を表示することにより 、 ユーザの利便性を向上させることができる。 例えば、 ユーザは、 ソース表 示又はッリ一表示によリ文書の階層構造を把握しつつ、 表 90などを用いて 視覚的に分かりやすい形式で文書を表示し、 編集することができる。 上記の 例では、 一つの画面を分割して複数の表示形式による画面を同時に表示した が、 一つの画面に一つの表示形式による画面を表示し、 表示形式をユーザの 指示により切り替え可能としてもよい。 この場合、 主制御ユニット 22が、 ユーザから表示形式の切り替え要求を受け付け、 各プラグインに指示して表 示を切り替える。
[0041] 図 9は、 文書処理装置 20により編集される X ML文書の他の例を示す。
図 9に示した XM L文書では、 SVG文書の rforeignObjectj タグの中に X H TM L文書が埋め込まれており、 さらに、 X H TM L文書の中に M a t h MLで記述された数式が入っている。 このような場合、 編集ユニット 24が 、 名前空間を参照して、 適切な表示系に描画作業を振り分ける。 図 9の例で は、 編集ユニット 24は、 まず、 SVGユニット 60に四角形を描画させ、 つづいて、 H TM Lユニット 50に X H TM L文書を描画させる。 さらに、 図示しない Ma t h MLュニッ卜に、 数式を描画させる。 こうして、 複数の ポキヤブラリを包含する複合文書が適切に表示される。 表示結果を図 1 0に 示す。
[0042] 文書編集中、 カーソル (キャリッジ) の位置に応じて、 表示されるメニュ 一を切り替えてもよい。 すなわち、 カーソルが、 SVG文書が表示された領 域内に存在するときは、 SVGユニット 60が提供するメニュー、 又は SV G文書をマッピングするための定義ファイルに定義されたコマンドを表示し 、 カーソルが、 XHTML文書が表示された領域内に存在するときは、 HT MLュニッ卜 50が提供するメニュー、 又は X H TM L文書をマッピングす るための定義ファイルに定義されたコマンドを表示する。 これにより、 編集 位置に応じて適切なユーザインターフェースを提供することができる。
[0043] 複合文書において、 あるポキヤブラリに対応する適切なプラグイン又はマ ッビング定義ファイルがなかった場合は、 そのポキヤブラリにより記述され た部分は、 ソース表示又はツリー表示されてもよい。 従来、 ある文書に他の 文書を埋め込んだ複合文書を開くとき、 埋め込まれた文書を表示するアプリ ケーシヨンがインストールされていないと、 その内容を表示することができ なかったが、 本前提技術では、 表示用のアプリケーションが存在しなくても 、 テキス卜データにより構成された XML文書をソース表示又はツリー表示 することにより内容を把握することができる。 これは、 テキストベースであ る XMLなどの文書ならではの特徴といえる。
[0044] データがテキス卜ベースで記述されることの他の利点として、 例えば、 複 合文書中の、 あるポキヤブラリにより記述される部分において、 同一文書内 の他のポキヤブラリで記述された部分のデータを参照してもよい。 また、 文 書内で検索を実行する時に、 SVGなどの図に埋め込まれた文字列も検索対 象とすることができる。
[0045] あるポキヤブラリにより記述された文書内に、 他のポキヤブラリのタグを 用いてもよい。 この X ML文書は、 妥当 (valid) ではないが、 整形式 (well -formed) であれば、 有効な X M L文書として処理可能である。 この場合、 揷 入された他のポキャプラリのタグは、 定義ファイルによりマツビングされて もよい。 例えば、 XHTML文書中に、 「重要」 、 「最重要」 などのタグを 使用し、 これらのタグで囲まれた部分を強調表示してもよいし、 重要度の順 にソー卜して表示してもよい。
[0046] 図 1 0に示した編集画面において、 ユーザにより文書が編集されると、 編 集された部分を担当するプラグイン又は VCュニッ卜 80がソースツリーを 変更する。 ソースツリーには、 ノードごとにミューテーシヨンイベントのリ スナーを登録できるようになつており、 通常は、 各ノードが属するポキヤブ ラリに対応したプラグインの表示部又は VCュニッ卜 80がリスナーとして 登録される。 00!\1提供部32は、 ソースツリーが変更されると、 変更され たノードから上位の階層へたどって、 登録されたリスナーがあれば、 そのリ スナ一へミューテーシヨンイベントを発行する。 例えば、 図 9に示した文書 において、 <h t m I >ノードの下位のノードが変更された場合、 <h t m I >ノードにリスナーとして登録された HTMLュニッ卜 50にミューテー シヨンィベン卜が通知されるとともに、 その上位の <s V g>ノードにリス ナ一として登録された SVGュニッ卜 60にもミューテーシヨンィベン卜が 通知される。 このとき、 HTMLユニット 50は、 変更されたソースツリー を参照して表示を更新する。 SVGユニット 60は、 自身のポキヤブラリに 属するノードが変更されていないので、 ミューテーシヨンイベントを無視し てもよい。
[0047] 編集の内容によっては、 HTMLユニット 50による表示の更新に伴って 、 全体のレイアウトが変わる可能性がある。 この場合は、 画面のレイアウト を管理する構成、 例えば最上位のノ一ドの表示を担当するプラグィンによリ 、 プラグインごとの表示領域のレイアウトが更新される。 例えば、 HTML ュニッ卜 50による表示領域が以前より大きくなつた場合、 HTMLュニッ 卜 50は、 まず自身の担当する部分を描画して、 表示領域の大きさを決定す る。 そして、 画面のレイアウトを管理する構成に、 変更後の表示領域の大き さを通知し、 レイアウトの更新を依頼する。 画面のレイアウトを管理する構 成は、 通知を受けて、 プラグインごとの表示領域を再レイアウトする。 こう して、 編集された部分の表示が適切に更新されるとともに、 画面全体のレイ ァゥ卜が更新される。
[0048] (実施の形態)
実施の形態では、 ユーザが、 XMLデータにより提供されるウェブサービ スを 1つのゥェブページに統合して表示させることを可能とするために、 前 提技術の文書処理装置 20を利用して、 XMLデータを HTMLデータに変 換して提供する技術を提案する。 このとき、 ユーザがインタラクティブに X MLデータにアクセスすることを可能とするために、 A j a xを利用する。
[0049] 図 1 1は、 実施の形態に係るデータ処理サーバ 1 00の構成を示す図であ る。 データ処理サーバ 1 00は、 前提技術で説明した文書処理装置 20の構 成に加えて、 ユーザ認証部 7 1、 乂!\11_データ取得部72、 ユーザデータべ ース 73、 送信部 74、 モジュール生成部 75、 HTMLデータ変換部 76 、 処理要求受付部 77、 処理要求変換部 78を備える。 図 1 1の例では、 デ ータ処理サーバ 1 00は、 インターネッ卜 29を介してウェブサーバ 25か ら提供されるゥェブザービスの X M Lデータを、 ユーザ端末が閲覧可能な H TMLデータに変換して提供するミドル層のサーバとして機能する。
[0050] ユーザ認証部 7 1は、 ユーザ端末 26のユーザを認証する。 ユーザ認証部
7 1は、 本実施の形態のデータ処理サーバ 1 00によるサービスの提供を希 望するユーザから登録の要求を受け付け、 ユーザデータベース 73にユーザ を認証するためのユーザ I Dとパスワードなどの情報を登録する。 そして、 ユーザ端末 26からサービスの提供の要求を受け付けると、 ユーザからユー ザ I Dとパスワードなどを受け付けて、 ユーザデータベース 73に登録され ているユーザであるか否かを認証する。 ユーザ認証部 7 1は、 ユーザから、 ゥェブページに表示すべきコンテンッを構成する X M Lデータの登録の要求 を受け付け、 受け付けた XMLデータ、 又は XMLデータのアドレスなどを ユーザデータベース 73に登録する。
[0051] XMLデータ取得部 72は、 ウェブサーバ 25により提供される X M Lデ ータを取得する。 XMLデータ取得部 72は、 ユーザデータベース 73を参 照して、 認証されたユーザが登録している XMLデータのァドレスを取得し 、 そのァドレスをもとにウェブサーバ 25に X MLデータの取得を要求する 。 取得された XMLデータは、 文書処理装置 20へ送られる。 文書処理装置 20は、 DOM生成部 34によリソース DOMを生成し、 X MLデータを D OMとして管理する。
[0052] HTMLデータ変換部 76は、 XM Lデータ取得部 72が取得した XM L データを HTMLデータに変換する。 HTMLデータ変換部 76は、 XML データのタグセット (ポキヤブラリ) ごとに XS LT又は前提技術の定義フ ァィルを保持しておリ、 それにしたがって取得した XMLデータを HTML データに変換する。
[0053] モジュール生成部 75は、 X MLデータに対する処理の要求を、 HTML データに対する処理の要求として受け付けるためのモジュールを生成する。 このモジュールは、 例えば、 J a v a (登録商標) S c r i p tで記述され てもよく、 J a v a (登録商標) S c r i p tで記述されたイベントハンド ラがユーザのアクションを検出し、 J a v a (登録商標) S c r i p tの組 み込みクラスである XM L H t t p R e q u e s tを利用した非同期通信に より XMLデータに対する処理を要求するものであってもよい。 モジュール 生成部 75は、 ウェブサーバ 25により提供される XMLデータごとに、 そ の X MLデータを処理するためのモジュールを予め用意して保持してもよい 。 また、 タグセットごとに、 そのタグセットで記述された XMLデータを処 理するためのモジュールを予め用意して保持してもよい。 モジュール生成部 75は、 汎用的に用いられるモジュール、 例えば、 ウェブページに新たなコ ンテンッを追加する処理を要求するためのボタンゃ、 後述する処理系のダウ ンロードを要求するためのポタンなどを予め用意して保持してもよい。
[0054] 送信部 74は、 モジュール生成部 75により生成されたモジュールを、 H TMLデータ変換部 76により変換された H TMLデータに付加して、 ゥェ ブページを記述した H TMLフアイルを生成し、 ユーザ端末 26に送信する
[0055] ユーザ端末 26は、 ウェブブラウザにより、 受信した H TMLファイルを 表示し、 ゥ Iブページをユーザに提示する。 ユーザは、 H TMLファイルに 付加されたモジュールを利用して、 データ処理サーバ 1 00へデータの処理 要求を発することができる。 ユーザ端末 26のブラウザは、 例えば、 A j a xエンジンの機能を有しており、 ユーザのアクションをイベントとして検出 し、 記述された処理要求をデータ処理サーバ 1 00に対して非同期的に発行 する。
[0056] 処理要求受付部 77は、 ユーザ端末 26から発せられた処理要求を受け付 ける。 処理要求変換部 78は、 受け付けた処理要求を、 文書処理装置 20が 解釈して実行することが可能な命令に置換して、 文書処理装置 20へ通知す る。 文書処理装置 20は、 通知された命令にしたがって、 ソース DO Mの変 更など、 必要な処理を実行する。 [0057] ソース DOMが変更され、 ウェブページの表示を更新する必要がある場合 は、 HTMLデータ変換部 76は、 変更された XMLデータを HTMLデー タに変換し、 送信部 74は、 変換された HTMLデータをユーザ端末 26へ 送信する。 XMLH t t p Re q u e s tは、 X M Lデータの通信が可能で あるので、 ユーザ端末 26が XMLデータを扱うことが可能である場合は、 XMLデータをそのままユーザ端末 26へ送信してもよい。
[0058] 定義データ生成部 79は、 ユーザ端末 26から、 X MLデータをコンテン ッとして含むウェブページをローカルで編集する旨の要求を受け付けると、 ゥェブページを文書処理装置 20で編集するための定義データを生成する。 定義データ生成部 79は、 前提技術として説明したように、 XMLデータを 、 文書処理装置 20に含まれる、 特定のタグセットで記述された XMLデー タを処理する処理系、 例えば、 HTMLュニッ卜 50又は SVGュニッ卜 6 0で処理可能なタグセッ卜にマッビングする規則を記述した定義データを生 成する。 生成された定義データは、 送信部 74によリューザ端末 26へ送信 される。 ユーザ端末 26に文書処理装置 20の各機能がインストールされて いない場合は、 送信部 74は、 文書処理装置 20を実現するためのプロダラ ムをユーザ端末 26にダウンロードする。
[0059] 図 1 2は、 ユーザ認証部 7 1により認証されたユーザのユーザ端末 26の ブラウザに表示される画面 99の例を示す。 このユーザは、 まだゥ Iブベー ジのコンテンツを登録していないので、 登録ポタン 97 aをクリックするこ とにより、 コンテンツを登録する。 ユーザ認証部 7 1は、 コンテンツの登録 要求を受け付けると、 コンテンツの XMLデータのァドレスをユーザデータ ベース 73に登録する。
[0060] 図 1 3は、 複数のコンテンツを含むウェブページを表示した画面 99の例 を示す。 ウェブページには、 ニュースサイトの RSS 98 aと、 天気予報サ イトの RSS98 bと、 検索エンジンのインタフェース 98 cがコンテンツ として登録されている。 XMLデータ取得部 72は、 ユーザデータベース 7 3を参照して、 これらのコンテンツのデータをウェブサーバ 25から取得し 、 文書処理装置 20へ送る。 文書処理装置 20では、 取得した X MLデータ を DOMとして管理するが、 ユーザ端末 26の通常のウェブブラウザでゥェ ブページを閲覧することを可能とするために、 HTMLデータ変換部 76に より XMLデータを HTMLデータに変換し、 さらに、 ユーザが XMLデー タを加工したリ編集したりすることを可能とするために、 モジュール生成部 75により X M Lデータに対する処理の要求を受け付けるためのモジュール を生成する。 送信部 74は、 変換された HTMLデータに、 生成されたモジ ユールを付加してゥ Iブページを生成し、 ユーザ端末 26へ送信する。 ユー ザ端末 26は、 受信したウェブページを画面 99に表示する。
[0061] ウェブページに付加されたモジュールは、 例えば、 コンテンツを追加する ための追加ポタン 97 b、 編集環境をダウンロードするためのダウンロード ポタン 97 cを画面 99に設ける。 また、 ニューサイトの RS S 98 aなど のコンテンツを編集する要求を受け付ける。
[0062] 図 1 4は、 ウェブページを編集した画面 99の例を示す。 ニュースサイ卜 の RSS 98 aを処理するためのモジュールは、 記事のタイトルなどの文字 列を変更するだけでなく、 ァノテーシヨンを付ける処理を受け付ける。 ユー ザが、 例えば、 「国会予算案可決」 という文字列を選択して、 ァノテーショ ンを付ける処理を要求すると、 RS S 98 aを編集するためのモジュールが 、 データ処理サーバ 1 00に処理要求を送信する。 データ処理サーバ 1 00 の処理要求受付部 77がこの処理要求を受け付けると、 処理要求変換部 78 が、 該当する文字列に、 ァノテーシヨン用のタグを付ける命令に変換して文 書処理装置 20へ通知する。 文書処理装置 20は、 ァノテーシヨン用の新た な要素を追加し、 該当する文字列をその要素の要素値とする。 HTMLデー タ変換部 76は、 新たに追加された要素を、 1~1丁1\11_のく8>く1]>タグに変換す る。 送信部 74は、 ウェブページ全体を再送信するのではなく、 変更された HTMLのみをユーザ端末 26へ送信する。 ユーザ端末 26は、 受信した H TMLデータを用いて、 編集された部分を再表示する。 これにより、 「国会 予算案可決」 という文字列が、 太字かつ下線を付して表示される。 [0063] 図 1 5は、 ウェブページの一部が更新された画面 99の例を示す。 天気予 報サイ卜の RSS 98 bを処理するためのモジュールは、 ウェブサーバ 25 により提供される RSSの更新を画面に反映させるために、 定期的に更新の 有無を問い合わせる処理要求をデータ処理サーバ 1 00に送信する。 データ 処理サーバ 1 00の処理要求受付部 77がこの処理要求を受け付けると、 処 理要求変換部 78が、 天気予報サイ卜の RSSを再取得するよう文書処理装 置 20へ通知する。 文書処理装置 20は、 X MLデータ取得部 72によリウ エブサーバ 25からニュースサイ卜の RSSを再取得し、 変更されていれば ソース DOMを更新する。 H TMLデータ変換部 76は、 変更された X ML データを、 H TMLデータに変換する。 送信部 74は、 変更された H TML データをユーザ端末 26へ送信する。 ユーザ端末 26は、 受信した H TML データを用いて、 更新された部分を再表示する。 これにより、 天気予報サイ 卜の RSS 98 bが自動的に更新される。
[0064] 前提技術で説明したように、 文書処理装置 20は、 任意のタグセッ卜で記 述された X MLデータを、 DOMとして統合的に管理するので、 ウェブべ一 ジに複数のウェブサービスを統合させ、 複数のタグセッ卜が含まれるような 場合であっても、 適切に X MLデータを処理することができる。
[0065] 以上、 本発明を実施の形態をもとに説明した。 この実施の形態は例示であ リ、 それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可 能なこと、 またそうした変形例も本発明の範囲にあることは当業者に理解さ れるところである。
産業上の利用可能性
[0066] 本発明は、 XMLデータを H TMLデータに変換して提供するデータ処理 サーバに利用可能である。

Claims

請求の範囲
[1] X M Lデータを取得する X M Lデータ取得部と、
XMLデータを HTMLデータに変換する HTMLデータ変換部と、 変換された HTMLデータに、 前記 X M Lデータに対する処理の要求を前 記 HTMLデータに対する処理の要求として受け付けるためのモジュールを 付加して送信する送信部と、
前記モジュールを介した前記 X MLデータに対する処理の要求を受け付け て、 前記 X MLデータを処理する処理部と、
を備えることを特徴とするデータ処理サーバ。
[2] 前記モジュールを介した前記 XMLデータに対する処理の要求を、 前記処 理部が実行可能な命令に変換する処理要求変換部を更に備えることを特徴と する請求項 1に記載のデータ処理サーバ。
[3] 前記モジュールを介して前記 XMLデータに対する処理を要求されたとき
、 前記 HTMLデータ変換部は、 前記処理部により処理された前記 XMLデ ータを HTMLデータに変換し、 前記送信部は、 前記 XMLデータに対する 処理を要求した相手に、 変換された HTMLデータを送信することを特徴と する請求項 1又は 2に記載のデータ処理サーバ。
[4] 前記 HTMLデータ変換部は、 X MLのタグセットごとに、 X MLデータ を HTMLデータに変換する規則を保持し、 前記規則にしたがって、 前記 X
M Lデータ取得部が取得した XMLデータを HTMLデータに変換すること を特徴とする請求項 1から 3のいずれかに記載のデータ処理サーバ。
[5] 前記 XMLデータに応じて、 前記モジュールを生成するモジュール生成部 を更に備えることを特徴とする請求項 1から 4のいずれかに記載のデータ処 理サーバ。
[6] 前記 HTMLデータは、 ユーザ端末のウェブブラウザにより表示されるゥ ェブページを記述したデータであり、
前記モジュールは、 前記ウェブページのコンテンツとして表示される XM Lデータの追加要求を受け付け、 前記 X M Lデータ取得部は、 追加を要求された X M Lデータを取得し、 前記 H T M Lデータ変換部は、 追加で取得された XMLデータを HTML データに変換し、
前記モジュール生成部は、 追加で取得された X M Lデータに対する処理の 要求を受け付けるためのモジュールを生成し、
前記送信部は、 変換された H T M Lデータを元の H T M Lデータに追加す るとともに、 生成されたモジュールを付加して前記ユーザ端末に送信するこ とを特徴とする請求項 5に記載のデータ処理サーバ。
[7] ユーザごとに、 前記ゥ Iブページに表示すべき XMLデータ又は XMLデ ータのアドレスを格納するユーザデータベースを更に備えることを特徴とす る請求項 6に記載のデータ処理サーバ。
[8] 前記ユーザ端末から、 前記 XMLデータをローカルで編集する旨の要求を 受け付けると、 前記送信部は、 前記処理部を前記ユーザ端末に送信すること を特徴とする請求項 6又は 7に記載のデータ処理サーバ。
[9] 前記処理部は、 XMLの特定のタグセットで記述されたデータを処理する タグセッ卜処理部と、
前記 X MLデータを前記タグセッ卜処理部により処理可能なタグセッ卜に マツビングし、 マツビングされた構成要素間の対応を保持するマツビング部 と、 を含み、
該データ処理サーバは、 前記ユーザ端末に送信するウェブページに含まれ る XMLデータを、 前記タグセッ卜処理部により処理可能なタグセッ卜にマ ッビングする規則を記述した定義データを生成する定義データ生成部を更に 備え、
前記送信部は、 前記処理部とともに、 前記定義データを前記ユーザ端末に 送信することを特徴とする請求項 8に記載のデータ処理サーバ。
[10] X MLデータを取得するステップと、
XMLデータを HTMLデータに変換するステップと、
変換された HTMLデータに、 前記 X M Lデータに対する処理の要求を前 記 HTMLデータに対する処理の要求として受け付けるためのモジュールを 付加して送信するステップと、
前記モジュールを介した前記 X MLデータに対する処理の要求を受け付け て、 前記 X MLデータを処理するステップと、
を含むことを特徴とするデータ処理方法。
コンピュータに、
X MLデータを取得する機能と、
XMLデータを HTMLデータに変換する機能と、
変換された HTMLデータに、 前記 X M Lデータに対する処理の要求を前 記 HTMLデータに対する処理の要求として受け付けるためのモジュールを 付加して送信する機能と、
前記モジュールを介した前記 X MLデータに対する処理の要求を受け付け て、 前記 XMLデータを処理する機能と、
を実現させることを特徴とするプログラム。
PCT/JP2007/000522 2006-05-15 2007-05-15 データ処理サーバ及びデータ処理方法 WO2007132568A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008515437A JPWO2007132568A1 (ja) 2006-05-15 2007-05-15 データ処理サーバ及びデータ処理方法
US12/300,248 US20090265615A1 (en) 2006-05-15 2007-05-15 Data processing server and data processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-135861 2006-05-15
JP2006135861 2006-05-15

Publications (1)

Publication Number Publication Date
WO2007132568A1 true WO2007132568A1 (ja) 2007-11-22

Family

ID=38693669

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/000522 WO2007132568A1 (ja) 2006-05-15 2007-05-15 データ処理サーバ及びデータ処理方法

Country Status (3)

Country Link
US (1) US20090265615A1 (ja)
JP (1) JPWO2007132568A1 (ja)
WO (1) WO2007132568A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101377214B1 (ko) 2014-02-21 2014-04-02 명지대학교 산학협력단 Iso/iec 15118과 iec 61850의 스키마 기반 매핑 시스템 및 그 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473929B2 (en) * 2008-07-31 2013-06-25 Raytheon Company Architecture tailoring system
US8392828B2 (en) * 2009-05-20 2013-03-05 Yahoo! Inc. Open theme builder and API
US20120124175A1 (en) * 2010-11-17 2012-05-17 Jin Hong Yang Atom-based really simple syndication (rss) content reader system and method, and atom-based rss content providing system and method
US8990271B2 (en) * 2012-03-12 2015-03-24 International Business Machines Corporation Specifying data in a standards style pattern of service-oriented architecture (SOA) environments
US20160103586A1 (en) * 2014-10-09 2016-04-14 Wrap Media, LLC System and method for authoring, distributing, viewing and saving wrap packages
KR20190058005A (ko) * 2017-11-21 2019-05-29 그린캣소프트(주) Svg 포맷의 편집 방법, 시스템 및 컴퓨터 판독 가능한 기록매체
KR102140648B1 (ko) * 2018-12-07 2020-08-04 유병섭 한글워드파일의 웹 변환 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046667A1 (ja) * 2004-10-27 2006-05-04 Justsystems Corporation 文書処理装置および文書処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039859B1 (en) * 1998-11-12 2006-05-02 International Business Machines Corporation Generating visual editors from schema descriptions
US6578000B1 (en) * 1999-09-03 2003-06-10 Cisco Technology, Inc. Browser-based arrangement for developing voice enabled web applications using extensible markup language documents
US7143344B2 (en) * 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor
US7000184B2 (en) * 2003-01-24 2006-02-14 The Cobalt Group, Inc. Remote web site editing in a standard web browser without external software
US20050102612A1 (en) * 2003-11-06 2005-05-12 International Business Machines Corporation Web-enabled XML editor
KR100627587B1 (ko) * 2004-05-14 2006-09-25 김영근 웹브라우저 상에서 xml 문서를 생성하는 방법
US20060143562A1 (en) * 2004-12-29 2006-06-29 Andreas Seurig Self-describing editors for browser-based WYSIWYG XML/HTML editors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046667A1 (ja) * 2004-10-27 2006-05-04 Justsystems Corporation 文書処理装置および文書処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AOKI Y. ET AL.: "XML o Mochiita Web Form Shori Framework", SYMPOSIUM ON MULTIMEDIA, DISTRIBUTED, COOPERATIVE AND MOBILE SYSTEMS (DICOMO 2000) RONBUNSHU, 28 June 2000 (2000-06-28), pages 169 - 174, XP003018998 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101377214B1 (ko) 2014-02-21 2014-04-02 명지대학교 산학협력단 Iso/iec 15118과 iec 61850의 스키마 기반 매핑 시스템 및 그 방법
WO2015126104A1 (ko) * 2014-02-21 2015-08-27 명지대학교 산학협력단 Iso/iec 15118과 iec 61850의 스키마 기반 매핑 시스템 및 그 방법

Also Published As

Publication number Publication date
US20090265615A1 (en) 2009-10-22
JPWO2007132568A1 (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
TW571204B (en) Content publication system for supporting real-time integration and processing of multimedia content including dynamic data, and method thereof
WO2007132568A1 (ja) データ処理サーバ及びデータ処理方法
WO2007034858A1 (ja) データ管理装置、データ編集装置、データ閲覧装置、データ管理方法、データ編集方法およびデータ閲覧方法
WO2006051715A1 (ja) 文書処理装置及び文書処理方法
EP1816586A1 (en) Data processing system, data processing method, and management server
US20090021767A1 (en) Document processing device
JPWO2006137563A1 (ja) データ処理装置及びデータ処理方法
JP2008234370A (ja) 文書処理装置及び文書処理方法
EP1821219A1 (en) Document processing device and document processing method
WO2006137562A1 (ja) 文書処理装置及び文書処理方法
WO2008044335A1 (fr) Dispositif et procédé de traitement de données
WO2007081017A1 (ja) 文書処理装置
Gottfried et al. Drawsocket: A browser based system for networked score display
JPWO2005098660A1 (ja) 文書処理装置及び文書処理方法
JPWO2005098658A1 (ja) 文書処理装置及び文書処理方法
WO2006051712A1 (ja) 文書処理装置及び文書処理方法
WO2005098661A1 (ja) 文書処理装置及び文書処理方法
JPWO2005098662A1 (ja) 文書処理装置及び文書処理方法
WO2007052680A1 (ja) 文書処理装置及び文書処理方法
WO2006051974A1 (ja) 文書処理装置および文書処理方法
WO2007105364A1 (ja) 文書処理装置及び文書処理方法
JP2007183849A (ja) 文書処理装置
WO2006051714A1 (ja) 文書処理装置及び文書処理方法
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

Ref document number: 07737178

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008515437

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07737178

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12300248

Country of ref document: US