Abstract:
A non-transitory computer readable medium stores a program causing a computer to execute a process, the process including: acquiring plural designated successive versions of structured document information; extracting differences between previous and subsequent versions of the acquired structured document information; determining collections of differences with a common element name, of the extracted differences, as working ranges; and generating difference information by summarizing, of the working ranges, working ranges that match a condition determined in advance by omitting the differences included in such working ranges.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2014-084769 filed Apr. 16, 2014. 
       BACKGROUND 
     Technical Field 
       [0002]    The present invention relates to a non-transitory computer readable medium, an information processing apparatus, and an information processing method. 
       SUMMARY 
       [0003]    According to an aspect of the present invention, there is provided a non-transitory computer readable medium storing a program causing a computer to execute a process. the process includes: acquiring plural designated successive versions of structured document information; extracting differences between previous and subsequent versions of the acquired structured document information; determining collections of differences with a common element name, of the extracted differences, as working ranges; and generating difference information by summarizing, of the working ranges, working ranges that match a condition determined in advance by omitting the differences included in such working ranges. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0004]    Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein: 
           [0005]      FIG. 1  is a block diagram illustrating an example of the configuration of an information processing apparatus according to a first exemplary embodiment; 
           [0006]      FIG. 2  is a schematic diagram illustrating an example of the configuration of XML document information; 
           [0007]      FIG. 3  illustrates basic operation; 
           [0008]      FIG. 4  is a schematic diagram illustrating an example of the configuration of a difference; 
           [0009]      FIGS. 5A to 5C  are each a schematic diagram illustrating an example of operation for determining a working range; 
           [0010]      FIG. 6  is a schematic diagram illustrating an example of the configuration of difference information; 
           [0011]      FIG. 7  illustrates operation for displaying the difference information; 
           [0012]      FIG. 8  is a flowchart illustrating an example of operation of the information processing apparatus; 
           [0013]      FIG. 9  is a block diagram illustrating an example of the configuration of an information processing apparatus according to a second exemplary embodiment; 
           [0014]      FIG. 10  is a schematic diagram illustrating the configuration of a keyword reception display screen; 
           [0015]      FIG. 11  is a schematic diagram illustrating an example of operation for a keyword search through a difference; 
           [0016]      FIG. 12  is a schematic diagram illustrating another example of the configuration of the difference information; 
           [0017]      FIG. 13  illustrates operation for displaying the difference information; and 
           [0018]      FIG. 14  is a flowchart illustrating an example of operation of the information processing apparatus. 
       
    
    
     DETAILED DESCRIPTION 
     First Exemplary Embodiment 
     (Configuration of Information Processing Apparatus) 
       [0019]      FIG. 1  is a block diagram illustrating an example of the configuration of an information processing apparatus according to a first exemplary embodiment. 
         [0020]    An information processing apparatus  1  handles XML (Extensible Markup Language) document information as an example of a structured document. The information processing apparatus  1  prepares a new version of the XML document information each time the XML document information is edited, and prepares a difference between plural previously and subsequently prepared versions of the XML document information as difference information. The term “structured document” refers to a document having texts as elements and names (element names) such as “topic” and “title” attached to the elements for identification of the type of the elements, and having plural elements arranged in a tree structure, for example. The “difference” includes at least locations of difference in the XML document information, contents of change, and version information. 
         [0021]    The information processing apparatus  1  includes a control section  10  constituted of a central processing unit (CPU) or the like to control various sections and execute various programs, a storage section  11  constituted of a storage medium such as a flash memory to store information, and a communication section  12  that communicates with the outside via a network. 
         [0022]    The control section  10  executes a document difference display program  110  to be discussed later to function as an instruction reception unit  100 , a document acquisition unit  101 , a difference extraction unit  102 , a difference determination unit  103 , a difference generation unit  104 , a document display unit  105 , and so forth. 
         [0023]    The instruction reception unit  100  receives a generation instruction for difference information from a user who uses an external terminal device connected via the communication section  12 . The generation instruction includes designation of information such as XML document information  111  to be processed, locations of difference, and so forth. 
         [0024]    The document acquisition unit  101  acquires all versions of the XML document information  111  to be processed from the storage section  11  when the instruction reception unit  100  receives the generation instruction for difference information. 
         [0025]    The difference extraction unit  102  extracts differences between previous and subsequent versions of the XML document information  111 . 
         [0026]    The difference determination unit  103  determines working ranges of the differences extracted by the difference extraction unit  102 . The term “working range” refers to a range in which it is assumed that the differences have a common working content, and to a collection of differences with contents of change having a common element name. The boundary between the working ranges is determined by locations at which the element name is varied. 
         [0027]    The difference generation unit  104  generates difference information  112  by summarizing, or not summarizing, the differences extracted by the difference extraction unit  102  for each of the working ranges determined by the difference determination unit  103 , and stores the difference information  112  in the storage section  11 . 
         [0028]    The document display unit  105  displays the XML document information  111  and/or the difference information  112  on a display section or the like of the external terminal device connected via the communication section  12 . 
         [0029]    The storage section  11  stores the document difference display program  110  which causes the control section  10  to operate as the units  100  to  105  discussed above, the XML document information  111 , the difference information  112 , and so forth. 
         [0030]      FIG. 2  is a schematic diagram illustrating an example of the configuration of the XML document information  111 . 
         [0031]    The XML document information  111  includes previous versions 1 to 9 of XML document information  111   v   1  to  111   v   9 , and a current version 10 of XML document information  111   v   10 , for example. In addition, the versions of the XML document information  111   v   1  to  111   v   10  include elements  111   e   1  to  111   e   10 , respectively, and contents of change (and locations of difference and version information) between the elements  111   e   1  to  111   e   10  correspond to differences from the previous version. 
         [0032]    (Operation of Information Processing Apparatus) 
         [0033]    Next, the function of the first exemplary embodiment will be described in regard to (1) basic operation, (2) difference information generation operation, and (3) difference information display operation. 
         [0034]    (1) Basic Operation 
         [0035]      FIG. 3  illustrates basic operation. 
         [0036]    In the XML document information  111   v   10 , as illustrated in  FIG. 3 , the elements are arranged in a tree structure, and such an arrangement is displayed on the display section of the external terminal device. “manual_sample.xml” corresponds to the XML document information  111   v   10 , which includes a single or plural elements with an element name “Book”. “Book-1” includes an element with an element name “Edit: H1-1: Structured document preparation assistance”. 
         [0037]    “Edit: H1-1: Structured document preparation assistance” includes elements “History”, “Title”, “Body region”, and “Chapter: H2-1: Document preparation method” at the same level. 
         [0038]    The user of the terminal device operates the terminal device to select an element with an element name “Chapter: H2-1: Document preparation method” using a cursor  20 , for example, to display a menu  21  for displaying a difference for the element. 
         [0039]    Next, the user of the terminal device selects the menu  21  using the cursor  20  to request difference display. In the case where there is no corresponding difference information in the information processing apparatus  1 , the request is transmitted from the terminal device to the information processing apparatus  1  as a generation instruction for difference information and a display instruction for difference information. 
         [0040]      FIG. 8  is a flowchart illustrating an example of operation of the information processing apparatus  1 . 
         [0041]    The instruction reception unit  100  of the information processing apparatus  1  receives a generation instruction for difference information from an external terminal device via the communication section  12  (S 1 ). 
         [0042]    Next, when the instruction reception unit  100  receives the generation instruction for difference information, the document acquisition unit  101  acquires all versions of the XML document information  111   v   1  to  111   v   10  to be processed from the storage section  11  as illustrated in  FIG. 2  (S 2 ). 
         [0043]    Next, as illustrated in  FIG. 4 , the difference extraction unit  102  extracts a difference  102   a  between the versions of the XML document information  111   v   1  to  111   v   10  (S 3 ). 
         [0044]      FIG. 4  is a schematic diagram illustrating an example of the configuration of the difference. 
         [0045]    The difference  102   a  includes differences  102   a   1  to  102   a   10  obtained by extracting the contents of change and the version information between the elements  111   e   1  to  111   e   10  of the XML document information  111   v   1  to  111   v   10  illustrated in  FIG. 2  as differences from previous versions. 
         [0046]    (2) Difference Information Generation Operation 
         [0047]    Next, as illustrated in  FIG. 5 , the difference determination unit  103  detects variations in element name in the differences (S 4 ), and groups the elements into collections of differences with a common element name using locations of the variations (S 5 : Yes) as the boundary between the working ranges (S 6 ). 
         [0048]      FIGS. 5A to 5C  are each a schematic diagram illustrating an example of operation for determining a working range. 
         [0049]    As illustrated in  FIG. 5A , the elements  111   e   1  to  111   e   3  have a common element name “Verification”. As illustrated in  FIG. 5B , in addition, the elements  111   e   4  to  111   e   7  have an element name “Commission”, which has been varied from the element name “Verification” of the elements  111   e   1  to  111   e   3 . As illustrated in  FIG. 5C , further, the elements  111   e   8  to  111   e   10  have an element name “Specifications”, which has been varied from the element name “Commission” of the elements  111   e   4  to  111   e   7 . 
         [0050]    That is, the difference determination unit  103  detects variations in element name in the differences between the elements  111   e   3  and  111   e   4  and between the elements  111   e   7  and  111   e   8 , and groups the elements  111   e   1  to  111   e   3 , the elements  111   e   4  to  111   e   7 , and the elements  111   e   8  to  111   e   10 , which are collections of differences, to define working ranges  103   a,    103   b,  and  103   c  as illustrated in  FIG. 4 . 
         [0051]    Next, as illustrated in  FIG. 6 , the difference generation unit  104  summarizes the differences for working ranges other than the latest working range and does not summarize the latest working range (S 7 ) to generate difference information  112   a  (S 8 ), and stores the difference information  112   a  in the storage section  11 . 
         [0052]      FIG. 6  is a schematic diagram illustrating an example of the configuration of the difference information  112 . 
         [0053]    The difference information  112   a  is generated by summarizing the working ranges  103   a  and  103   b,  of the difference  102   a  illustrated in  FIG. 4 , and not summarizing the working range  103   c.  That is, differences other than the first and last differences, namely the difference  102   a   2  and the differences  102   a   5  and  102   a   6 , are omitted from the working ranges  103   a  and  103   b,  respectively, and no differences are omitted from the working range  103   c.    
         [0054]    The summarization method described above is exemplary, and a combination of differences to be deleted from working ranges may be set as desired. In the case where the number of differences after summarizing differences from working ranges other than the latest working range is larger than a number determined in advance, in addition, further differences may be omitted. In addition, the latest working range may also be summarized. 
         [0055]    (3) Difference Information Display Operation 
         [0056]    Next, as illustrated in  FIG. 7 , the document display unit  105  displays the XML document information  111   v   10  and the difference information  112   a  on the display section of the external terminal device. 
         [0057]      FIG. 7  illustrates operation for displaying the difference information  112 . 
         [0058]    The difference information  112   a  is displayed on the display section of the external terminal device so as to point to the location of difference of the XML document information  111   v   10 . 
       Second Exemplary Embodiment 
     (Configuration of Information Processing Apparatus) 
       [0059]    In a second exemplary embodiment, a keyword search unit  106  is added to the configuration according to the first exemplary embodiment, and differences including a keyword when summarizing working ranges are not omitted but included in the difference information  112 . In the following, components that are common to those according to the first exemplary embodiment are denoted by the same reference numerals. 
         [0060]      FIG. 9  is a block diagram illustrating an example of the configuration of an information processing apparatus according to the second exemplary embodiment. 
         [0061]    An information processing apparatus  1 A is prepared by adding a keyword search unit  106  to the information processing apparatus  1  according to the first exemplary embodiment. 
         [0062]    The keyword search unit  106  receives a keyword input to the external terminal device, and searches the differences extracted by the difference extraction unit  102  to find a text including the received keyword. 
       (Operation of Information Processing Apparatus) 
       [0063]    Next, the function of the second exemplary embodiment will be described in regard to (1) basic operation, (2) difference information generation operation, and (3) difference information display operation. 
         [0064]    (1) Basic Operation 
         [0065]    As in the first exemplary embodiment, as illustrated in  FIG. 3 , the user of the terminal device operates the terminal device to select an element with an element name “Chapter: H2-1: Document preparation method” using a cursor  20 , for example, to display a menu  21  for displaying a difference. 
         [0066]    Next, the user of the terminal device selects the menu  21  using the cursor  20  to request difference display. 
         [0067]    When the request for difference display is received, the information processing apparatus  1 A displays a keyword reception display screen  22  on the display section of the external terminal device as illustrated in  FIG. 10 . 
         [0068]      FIG. 10  is a schematic diagram illustrating the configuration of the keyword reception display screen  22 . 
         [0069]    The keyword reception display screen  22  includes an input field  23  for receiving input of a keyword, a button  24  for requesting a search using the keyword input to the input field  23 , and a button  25  for canceling a search request. 
         [0070]    The user of the terminal device operates the terminal device to input “A Corporation” to the input field  23  as an example of the keyword, and operates the button  24  to request a search. 
         [0071]    The terminal device transmits a search request to the information processing apparatus  1 A together with the keyword “A Corporation”. 
         [0072]    In the case where there is no corresponding difference information in the information processing apparatus  1 A, the request is transmitted from the terminal device to the information processing apparatus  1 A as a generation instruction for difference information and a display instruction for difference information. 
         [0073]    (2) Difference Information Generation Operation 
         [0074]      FIG. 14  is a flowchart illustrating an example of operation of the information processing apparatus  1 A. 
         [0075]    The information processing apparatus  1 A executes steps S 1  to S 3  illustrated in the flowchart of  FIG. 14  as in the first exemplary embodiment to extract a difference  102   a  illustrated in  FIG. 11 . In the flowchart of  FIG. 14 , only step S 7 ′ is different from its counterpart in the flowchart illustrated in  FIG. 8 . 
         [0076]      FIG. 11  is a schematic diagram illustrating an example of operation for a keyword search through the difference  102   a.    
         [0077]    The difference  102   a  is the same as the difference  102   a  illustrated in  FIG. 4 . The keyword search unit  106  receives a keyword “A Corporation”, and searches the difference  102   a  to find a text including “A Corporation”. As a result, as illustrated in  FIG. 11 , a keyword  106   a  is found in the difference  102   a   4 , a keyword  106   b  is found in the difference  102   a   5 , a keyword  106   c  is found in the difference  102   a   6 , and keywords  106   d  and  106   e  are found in the difference  102   a   7 . 
         [0078]    Next, the information processing apparatus  1 A executes steps S 4  to S 6  as in the first exemplary embodiment, and the difference determination unit  103  detects variations in element name in the differences, and groups the elements into working ranges  103   a  to  103   c  using locations of the variations as the boundary between the working ranges. 
         [0079]    Next, as illustrated in  FIG. 12 , the difference generation unit  104  summarizes the differences for working ranges other than the latest working range without omitting the differences including the keyword “A Corporation” and does not summarize the latest working range (S 7 ′), and generates difference information  112   b  (S 8 ) to store the difference information  112   b  in the storage section  11 . 
         [0080]      FIG. 12  is a schematic diagram illustrating another example of the configuration of the difference information  112 . 
         [0081]    The difference information  112   b  is generated by summarizing the working range  103   a  without omitting the differences  102   a   4  to  102   a   7  including the keyword “A Company”, of the difference  102   a  illustrated in  FIG. 11 , and not summarizing the latest working range  103   c.  That is, differences other than the first and last differences, namely the difference  102   a   2 , are omitted from the working range  103   a,  and no differences are omitted from the working ranges  103   b  and  103   c.    
         [0082]    (3) Difference Information Display Operation 
         [0083]    Next, as illustrated in  FIG. 13 , the document display unit  105  displays the XML document information  111   v   10  and the difference information  112   b  on the display section of the external terminal device. 
         [0084]      FIG. 13  illustrates operation for displaying the difference information  112   b.    
         [0085]    The difference information  112   b  is displayed on the display section of the external terminal device so as to point to the location of difference of the XML document information  111   v   10 . 
       Other Embodiments 
       [0086]    The present invention is not limited to the exemplary embodiments described above, and may be modified in various ways without departing from the scope and spirit of the present invention. 
         [0087]    In the exemplary embodiments described above, the functions of the units  100  to  106  of the control section  10  are implemented by a program. However, all or a part of the units may be implemented by hardware such as an application specific integrated circuit (ASIC). In addition, the program used in the exemplary embodiments described above may be provided as stored in a recording medium such as a CD-ROM. In addition, the steps described in relation to the exemplary embodiments described above may be replaced, deleted, added, etc. without departing from the scope and spirit of the present invention.