WO2004061712A1 - 照合装置 - Google Patents

照合装置 Download PDF

Info

Publication number
WO2004061712A1
WO2004061712A1 PCT/JP2002/013868 JP0213868W WO2004061712A1 WO 2004061712 A1 WO2004061712 A1 WO 2004061712A1 JP 0213868 W JP0213868 W JP 0213868W WO 2004061712 A1 WO2004061712 A1 WO 2004061712A1
Authority
WO
WIPO (PCT)
Prior art keywords
collation
matching
condition
data
ath
Prior art date
Application number
PCT/JP2002/013868
Other languages
English (en)
French (fr)
Inventor
Ikuya Morikawa
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2002/013868 priority Critical patent/WO2004061712A1/ja
Publication of WO2004061712A1 publication Critical patent/WO2004061712A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML

Definitions

  • the present invention relates to a collation device that executes collation processing (for example, collation processing using XP ath) on an input document (for example, an XML document).
  • collation processing for example, collation processing using XP ath
  • an input document for example, an XML document
  • XP ath a technique used for collation processing of an XML document (a document described using Extensible Markup Language).
  • the collation process of the XML document refers to a process of checking whether or not a certain XML document satisfies a given condition.
  • Such collation processing is used in search processing for searching for an XML document that satisfies certain conditions from a set of many XML documents, and filtering for finding XML documents that satisfies certain conditions from successively inputted XML documents.
  • XP a t h is a technique for specifying one or more nodes included in a document, and a descriptor used to specify a node at this time is called an XP a t h expression (or an XP a t h expression).
  • an XP ath expression and an XML document are input, and the presence or absence of a node specified by the input XP ath expression in the input XML document is checked. This is called implementation.
  • the syntax elements, the data model of the target XML document, and the functions that must be provided are described in Non-Patent Document 2 and future versions of the XP ath specification. It is stipulated. ⁇
  • XP ath is a technology for specifying the contents of a document (nodes included in the document), and is used as an XML document collation technology by determining whether or not there is a specified item.
  • FIG. 17 is a diagram illustrating the concept of the collation processing of the XML document using the XP ath implementation.
  • Figure 17 shows the XP ath implementation The matching process of the used XML document will be described.
  • an XP ath expression expressing the conditions of the XML document to be matched is input in advance to the XP at li implementation.
  • the XML documents to be collated are sequentially input.
  • the XP ath expression and the XML document may be input at the same time.
  • matching is determined according to whether or not the node indicated by the XP ath expression is specified in each XML document to be processed.
  • the XP ath implementation determines that the match was successful. On the other hand, if no such node is identified, XP ath implementation determines that the matching has failed. Then, the XP ath implementation determines, for example, only the XML document that has been determined to have been successfully collated.
  • the XP at expression indicates the matching condition.
  • FIG. 18 is a diagram illustrating a determination range of the collation processing.
  • the judgment range by the matching process is a portion where the range of the set of the input XML documents and the range satisfying the matching condition indicated by the XP ath expression overlap.
  • XP ath In response to such a demand, XP ath has been proposed, which performs high-speed collation processing by reducing the functions of the XP ath (for example, see Non-Patent Document 1).
  • the XP ath with such reduced functions is called a pseudo XP ath
  • the XP ath that provides all the functions defined in the original specifications is called the original XP ath.
  • the generic term including the pseudo XP a t h and the original XP a t h is referred to as XP a t h. The same applies to the name of the XP ath implementation.
  • Patent Document 2
  • the present invention solves such a problem, and executes all (or most of) the collation processing on the input conditions (for example, the processing based on the original XP ath specification on the input conditions),
  • Another object of the present invention is to provide a matching device that executes a high-speed matching process (for example, a matching process using XP ath).
  • a first aspect of the present invention is a verification device, comprising: a first verification unit that performs verification using a part of all specified functions; and a verification apparatus that uses all of the specified functions.
  • Second collation means for collation, and for a plurality of data to be collated, first collation using the first collation means is performed, and data determined to have been successfully collated by the first collation means
  • control means for controlling the first matching means and the second matching means so as to execute the matching using the second matching means for only the second matching means and to output the matching result by the second matching means.
  • the first matching means and the second matching means there is an XPath implementation.
  • the XP ath implementation (pseudo XP ath implementation), which can execute processing at a higher speed than the normal XP ath implementation due to reduced functions, corresponds to the first matching means.
  • the XPath implementation that executes the normal XPath is equivalent to the second matching unit.
  • the collated data is an XML document.
  • the control means first executes the collation using the first collation means. At this time, the first collation unit performs the collation faster than the second collation unit, because the first collation unit performs fewer functions than the second collation unit performs. Next, the control means executes the collation using the second collation means. At this time, the second collator The stage performs a slow match by means of all defined functions. All specified functions are, for example, all functions described in the specification as XP ath functions. The second collating means executes collation only for data determined to be successful by the first collating means.
  • first, data to be compared is sieved by the first matching means. This process is executed faster than the matching process by the second matching unit. Then, only the remaining data that has been sieved (the data that has been determined to be successfully verified by the first verification unit) is subjected to verification by the second verification unit. Therefore, the amount of processing by the low-speed second matching means is reduced, and the matching processing of a plurality of data is realized at high speed as a whole.
  • a second aspect of the present invention is a verification device, wherein first condition information and verification data are input, and it is determined whether or not the input verification data satisfies a condition indicated by the first condition information, First collation means for outputting the collation result, second condition information, and collation data determined by the first collation means to satisfy the first condition are input, and the input collation data It is determined whether the second condition information satisfies the condition indicated by the second condition information and the second matching means for outputting the matching result, and the first matching means is first operated for a plurality of pieces of matching data to be matched.
  • a condition information generating means for inputting a collation condition indicating a collation condition, and creating the first condition information and the second condition information from the inputted collation condition May be further provided.
  • the collation data according to the second aspect of the present invention is tree-structured data composed of a plurality of nodes, and the second collation unit performs collation on the input collation data, collation data It may be configured to be able to select either to start from the root node of the first or to start from the node at the time when the collation by the first collation means is completed.
  • the first collation means of the second aspect of the present invention determines whether or not the collation data inputted thereto satisfies a condition indicated by the first condition information inputted thereto. If not, a value indicating that the determination cannot be made may be output.
  • all (or most of) the collation processing for the input condition is performed by the second collation means, and only the remaining data sieved by the first collation means is subjected to the second collation processing.
  • FIG.1 is a diagram showing a range of matching conditions in pseudo-XPath
  • FIG.2 is a diagram showing a configuration of a matching device in the first embodiment
  • FIG. 3 is a diagram showing an outline of processing executed by the control unit.
  • FIG. 4 is a flowchart showing the operation of the matching device in the first embodiment
  • FIG. 5 is a flowchart showing the operation of the matching process in step i
  • FIG. 6 is a flowchart showing the operation of the matching device in the modification of the first embodiment
  • FIG.7 is a diagram showing a configuration of a collation device in the second embodiment
  • FIG. 8 is a flowchart showing the operation of the matching device in the second embodiment
  • FIG. 9 is a flowchart showing the operation of the process of creating the step control instruction for implementation A.
  • FIG. 10 is a flowchart showing the operation of the process of creating the step control instruction for implementation B.
  • FIG. 11 is a flowchart showing the operation of the creation processing of the step control instruction for implementation C.
  • FIG. 12 is a diagram showing the configuration of the collation device.
  • FIG. 13 shows a specific example of control information.
  • FIG. 14 shows a specific example of control information.
  • FIG. 15 shows an example of application to search processing.
  • FIG. 16 is a diagram showing an example of application to filtering processing.
  • FIG. 17 is a diagram showing an outline of the collation processing of an XML document using the XP a th implementation.
  • FIG. 18 is a diagram showing a determination range of the collation processing.
  • the matching device according to the embodiment of the present invention includes two or more XP ath implementations. At this time, the matching device according to the embodiment of the present invention includes one or more pseudo XP ath implementations and one or more original XP ath implementations. First, the pseudo XP ath implementation used in the matching device according to the embodiment of the present invention will be described.
  • Pseudo XP a t h implementation refers to an implementation for processing pseudo XP a t h.
  • the pseudo XP a t h is an XP a t h that is executed at high speed by reducing functions.
  • FIG. 1 is a diagram showing a range of matching conditions in the pseudo XP ath. In the pseudo XP ath, since the collation conditions are relaxed by reducing the functions, the range satisfying the collation conditions is wider than the range satisfying the collation conditions in the original XP ath.
  • the range that satisfies the matching condition by pseudo XP ath is wider than the range that satisfies the original XP ath matching condition.
  • the pseudo XP ath implementation can determine whether the input XML document is included in the range that satisfies this wide collation condition faster than the original XP ath implementation. It is.
  • the pseudo XP ath implementation executes the matching process at high speed in a range that satisfies the relaxed matching condition. Then, the original XP implementation implements the matching process again only for the XML document that is determined to satisfy the matching condition by the matching process. At this time, the amount of XML documents to be matched by the original XP ath implementation has been reduced (at least by the same amount) by the matching process of the pseudo XP ath implementation.
  • Examples of fast pseudo-XP ath implementations include only document element node tests, only child (chi 1d) node tests, and straight-forward path paths. There is only a way to handle only. Hereinafter, each method will be described.
  • the method that handles only the document element node test provides only the name test of the document element node. That is, it is checked only whether the document element node of the input XML document has the specified name. There is only one document element node in a valid XML document, and it appears much earlier in document order. Therefore, in the method that handles only the document element node test, the collation processing ends when the name test of the document element node is executed once. Therefore, in the method that handles only the document element node test, the matching process is realized at high speed.
  • only the name test of the child element of the content node is provided. That is, only the process of searching for the element with the specified name from the child elements is provided. There may be zero or more child elements, and in some cases they may appear significantly later in document order. However, the processing itself is simple, Since not all elements are targeted, the method that handles only child node tests results in high-speed matching processing.
  • the method of handling only a straight forward location path is a method that supports only a simple location path and determines whether there is at least one node indicated by the location path.
  • a simple location path is a sequence of only simple location steps.
  • a simple location step is,,.,, (: ".” Is an abbreviation of "se1f :: node ()") or "//" (,, // "is, / descendant—or — Sell:: Location step included in node () / ,, abbreviation) or hi 1 d-axis force, descendant -or-location step that performs only name test with self-axis and has no predicate Show things.
  • the s elf job, the c hild axis, and the dece c en d a n t—o r—s elf axis do not involve regression in document order. For this reason, it can be realized only by scanning in document order, and speeding up is possible. Also, c h i 1 d axis, de s c e n d a n t—or—s e
  • nodes that is, node sets
  • XP ath processing may be obtained as a result of XP ath processing.
  • the processing can be terminated when the first corresponding node is found, and thus speeding up is possible.
  • FIG. 2 is a diagram showing a configuration of the matching device 1a according to the first embodiment of the present invention. The configuration of the matching device 1a will be described with reference to FIG.
  • the verification device 1a includes a control unit 2 and two or more XP ath implementations 3.
  • the collation device la receives the control information and the XML document, and outputs the collation result (correct / fail) and / or the XP ath processing result.
  • the control unit 2 is configured using a CPU, a RAM, and the like.
  • the control unit 2 functions by loading various programs (OS, applications, etc.) stored in an auxiliary storage device (hard disk, flash memory, etc.) (not shown) into RAM and executing them by the CPU.
  • OS operating system
  • applications etc.
  • auxiliary storage device hard disk, flash memory, etc.
  • the control unit 2 receives the XML document and control information input to the matching device 1a.
  • the control unit 2 executes a collation process on the input XML document and the control information using the XP ath implementation 3. Then, the control unit 2 outputs the result (correct / unsuccessful) of the collation.
  • the control information is information that is input to the matching device l a in advance.
  • the control information is a sequence of step control instructions.
  • the matching process is composed of one or more steps, and the content of the process in each step is shown in the step control command.
  • the step control instruction includes an XP at implementation name, an XP at expression, and a context specifier used in the processing of each step. Therefore, the control information includes the same number of step control commands as the number of steps in which the matching process is configured.
  • the context specifier is information indicating a node used as input in the processing of each step.
  • the collator la uses the output node of the previous step as a context node for each step. Selects whether to use the document element node of the input XML document as the content node regardless of the output of the previous step. Is done. That is, in the matching device la, a context specifier is specified for each step.
  • the context specifier has two values.
  • each of the context specifiers is an output node if the output node of the previous step is used. If the document element node of the input XML document is used, it is defined to have the value “document element node”.
  • FIG. 3 is a diagram showing an outline of a process executed by the control unit 2.
  • a step control command corresponding to the number of steps is input to the control unit 2 in advance. That is, the control unit 2 receives the XP ath implementation name, the XP ath expression, and the content appointment specifier corresponding to each step.
  • control unit 2 uses the XP ath implementation 3 indicated by the input XP ath implementation name to determine the node indicated by the input context specifier for the input XP ath expression. Performs matching as a context node.
  • the control unit 2 basically executes the process according to the step control command of each step for all the steps (here, steps 1 to! 1) included in the control information. The specific operation of the control unit 2 will be described later. Then, the control unit 2 outputs the result of the collation processing (the result of the collation (correct or not) and the result of the Z or XPath processing).
  • the XP ath implementation 3 is configured using a CPU, a RAM, and the like. XP ath implementation 3 functions by loading various programs (OS, application, etc.) stored in an auxiliary storage device (hard disk, flash memory, etc.) (not shown) into RAM and executing them by the CPU. You. XP a t h implementation 3 performs the XP a t h process.
  • the matching device 1a executes the matching process in each step in order from step 1. At this time, if the matching device la fails to match on the way, it assumes that the matching process as a whole has also failed. On the other hand, if all the matching processes are successful, the matching device la regards that the matching process as a whole is also successful. Then, the matching device la outputs the result of the matching process.
  • FIG. 4 is a flowchart showing the operation of the matching device 1a according to the first embodiment of the present invention. The operation flow of the matching device 1a will be described with reference to FIG.
  • the control unit 2 starts the processing and executes the collation processing of each step according to the control information given in advance.
  • SOI the control unit 2 prepares a variable i and substitutes “0” for the variable i (S 02).
  • the control unit 2 increments the variable i (S03), and executes the collation processing in step i (SO4).
  • the matching process in step i will be described later.
  • the control unit 2 determines that A value indicating failure is output (SO6), and the processing ends (S09).
  • the control unit 2 determines whether the value of i is the last step number (S O7). That is, the control unit 2 determines whether or not the matching processing of all the steps has been completed. If the value of i is not the last step number (SO 7—No), the control unit 2 executes the processing from S 03 again. That is, in this case, the control unit 2 increments the value of i, and executes the matching process for the next step. On the other hand, if i is the last step number (S 07—Yes), the control unit 2 outputs a value indicating success as the overall collation result (SO 8) and ends the processing (SO 9) .
  • step i a collation process is executed for a step control command corresponding to that step in the control information input in advance.
  • the XP ath expression specified by this step control instruction using the XP ath implementation 3 that matches the specified XP ath implementation name, the input content attenuator in the input XML document The matching is performed with the node indicated by as the content node.
  • FIG. 5 is a flowchart showing the operation of the matching process in step i.
  • the matching process in step i will be specifically described with reference to FIG.
  • the control unit 2 refers to the information (XP ath expression, XP ath implementation name, context specifier) specified by the i-th step control instruction. (S11). The control unit 2 determines whether the value of the referred context specifier is a document element node or an output node (S12). Control unit 2 determines that the value of the referenced context specifier is a document element node. If there is, the document element node of the input XML document is set to the context node (S13). On the other hand, if the value of the referred context specifier is an output node, the control unit 2 sets the output node of the XP ath process of the previous step (step (i-1)) to the context node (S14) .
  • control unit 2 applies the specified XP ath expression to the set context node by the XP ath implementation of the specified name (S15), and saves the XP ath application processing result. Yes (S16). Then, the control unit 2 determines whether the collation is correct based on the stored XP ath application processing result, outputs the determination result (S17), and ends the processing (S18).
  • the matching process of a plurality of steps is executed using the XP ath implementation selected in each step.
  • the matching device 1a is effective when the matching process using the pseudo XP at implementation is performed before the matching process using the original XP at implementation.
  • the input XML document is roughly sifted by a fast but coarse pseudo XP ath implementation and relaxed matching conditions, and then a slow but strict original XP ath implementation and the original matching conditions Will narrow down the results.
  • the pseudo XP ath implementation determines the matching failure at high speed, and the slow matching processing by the original XP ath implementation is not executed. .
  • the overall processing time total processing time
  • the matching processing by the original XP ath implementation will be performed later on the input XML document that has been determined to be successful by the pseudo XP ath implementation. Is executed on the entire XML document, so all functions of the original XP ath A matching process is performed. Therefore, when strictness is required for the result of the matching, it is effective that the context specifier of the processing by the original XP ath implementation is set to “document element node”.
  • the matching processing of the same content as the content matched in the previous step is not repeated in that step, and the processing load of the matching device 1a is reduced. And speeding up the processing.
  • exception processing may need to be performed depending on the output contents of the previous step. For example, if the output of the previous step is neither a node nor a node set, there is a method of handling an exception as an error. If the output of the previous step is not a single node (when it is a node set), it is necessary to perform one of the following two exception processes, for example.
  • the first exception process is to proceed to the next step using only the first node in the node set.
  • the second exception process is a process of executing the matching process sequentially from the first node included in the node set. In this second exception processing, if the verification succeeds for a certain node, it is regarded as success and ends.
  • the matching process is executed for the next node. If the matching has failed for all nodes up to the last node, the matching is considered to have failed as a whole, and the matching process ends. '
  • such an exception process is not limited to the above-described exception process, and the matching device 1a may be configured using another exception process. Further, the first exception processing and the second exception processing described above may be used and divided according to the case.
  • the judgment is made. It may be configured to output a value indicating that it is impossible.
  • Such a pseudo XP ath implementation first examines only the XP ath expression to determine whether it needs a function that it does not support. And need such a function In this case, this pseudo-XP ath implementation always outputs an undecidable value. Further, such a pseudo XP ath implementation may be configured to start the matching process without checking the XP ath expression and output an indeterminate value when it is determined that the process cannot be performed to the end. .
  • a pseudo-XP ath implementation having the same effect may be realized by another method. All step control information to which such pseudo XP ath implementation is applied has the same XP ath expression as the XP ath expression, and “document element node” as the status specifier.
  • FIG. 6 is a flowchart showing the operation of the matching apparatus 1a to which the pseudo XP ath implementation is applied. Regarding the flow of the operation shown in FIG. 6, only the processing that is different from the operation (see FIG. 4) of the matching device 1a in the normal first embodiment will be described.
  • the control unit 2 performs the same operation as the collation device 1a in the normal first embodiment when the collation process of the XP ath implementation 3 fails in the collation process (S O 4) of a certain step.
  • the matching process of XP ath implementation 3 is successful (S19—Yes)
  • the collation processing of the XP ath implementation 3 cannot be determined (S19—No and SO5—No)
  • the control unit 2 succeeds in the collation device 1a in the normal first embodiment. (SO 5—No: See Fig. 4)
  • the same processing is performed.
  • the determination is not possible even in the last step (S07_Yes)
  • the control unit 2 regards the entire collation processing as failure (S06) and terminates the processing (S09).
  • the user needs to prepare (create) control information and set the control information creation unit 4 in consideration of the features of the XP ath implementation 3 included in the verification device 1a. This eliminates the need to investigate and consider the characteristics of each XP ath implementation.
  • FIG. 7 is a diagram illustrating the configuration of the matching device 1b according to the second embodiment of the present invention. The configuration of the matching device 1b will be described with reference to FIG. ⁇
  • Collation device 1b is different from collation device la in that data input in advance is XP ath expression instead of control information. Further, the collation device lb is different from the collation device 1a in the first embodiment in further including a control information creation unit 4.
  • each of the three XP ath implementations of the three (the number 3 is an example, any number of two or more) provided in the collation device lb may be used. Name the implementations as implementation A (XP ath implementation 3a), implementation B (XP ath implementation 3b), implementation C (XP ath implementation 3c). ).
  • XP ath implementation 3a is constructed using a pseudo-XP ath implementation that provides only the function of name testing of document element nodes.
  • XP ath implementation 3b is configured using a pseudo XP ath implementation that provides only a simple location path matching function.
  • XP ath implementation 3c is an XP ath implementation strictly following the use of XP ath. That is, the XP ath implementation 3c is configured using the XP ath implementation that realizes the original XP ath.
  • XP ath implementations 3a, 3b, and 3c The processing speed of these XP ath implementations decreases in the order of XP ath implementations 3a, 3b, and 3c.
  • XP ath implementations 3 a and 3 b have a reduced number of achievable functions, so even XP ath expressions that can be processed by XP ath implementation 3 c may not be processed. .
  • the control information creation unit 4 is configured using a CPU, a RAM, and the like.
  • the control information creation unit 4 uses the input XP ath expression to determine the characteristics of the XP ath implementation 3 (XP ath implementation 3a to XP ath implementation 3c) provided in the matching device 1b. Create the corresponding control information.
  • control information creating unit 4 there are two methods for creating control information from the input XP ath expression, which are applied to the control information creating unit 4 (method of extracting a document element, storage method). To cut out the forward part).
  • the method applied to the control information creation unit 4 does not need to be limited to these two methods, and another method may be applied. Also, these two methods may be applied in combination.
  • the method of extracting the document element is a method applied when the matching device 1b includes a pseudo XPath implementation that implements only the name test of the document element node. If the XP ath expression consists of only one absolute location path, and the first location step of that location path is the name test of the document element node, the input XP ath expression consists of only the first location step.
  • the control information that is extracted as a partial XP ath expression and that is processed by the pseudo XP ath implementation that realizes only the name test of the document element node in the first step is created.
  • a relative location path is created by adding an abbreviated location step " ⁇ " pointing to the node itself before the relative location path, which is a sequence of location steps after the first location step.
  • This is a method of creating a step control instruction to cause the value of the context specifier to be processed as an “output node” in the XP ath implementation of the above. This method is used when the pseudo-XPath implementation, which only provides a name test for the first document element node used, has the ability to output the found node.
  • the other is to create a step control instruction to simply process the input original XP ath expression in the original XP ath implementation and process the value of the context specifier as a “document element node”. is there.
  • This method is used when the pseudo-XPath implementation, which only provides a name test for the first document element node used, does not have the ability to output the found node.
  • This method is applied when the matching device 1b has a pseudo XP ath implementation that supports only a location path having a first half of a sequence of simple location steps.
  • the input XPath expression has the above characteristics, only the sequence of simple location steps in the first half is regarded as a location path and cut out. Then, the extracted location path is used as the XP ath expression of the first step, and a step control instruction to be processed by the pseudo XP ath implementation is created.
  • a step control instruction is generated that uses the input XPath expression itself and causes the original XPath implementation to process the value of the context specifier as a “document element node”.
  • the value of the condition specifier of the step control instruction in the second and subsequent steps is not regarded as an “output node”. This is because, in the method of cutting out the straight forward part, unlike the method of cutting out the document element in which one document element node is specified, the element is specified using the chi 1 d axis or the descendant-or-se 1 f axis. This is because there may be multiple element nodes.
  • the pseudo XP ath implementation has a limited function of handling only the presence or absence of a single node that satisfies the condition without handling the node set. It is. Therefore, if a pseudo-XPath implementation that performs high-speed processing without such a limitation is realized, such a measure is not necessarily required.
  • the operation of the collation device 1b is the same as the operation of the collation device 1a in the first embodiment, except for the operation in which the control information creation unit 4 creates the control information. Therefore, only the operation of the control information creation unit 4 will be described below.
  • FIG. 8 is a flowchart showing the operation of the matching device 1b according to the second embodiment of the present invention, in particular, the operation of the control information creation unit 4.
  • the operation flow of the matching device 1b will be described with reference to FIG. Note that, in FIG. 8 and the following description, the following is assumed unless otherwise specified.
  • the XP ath expression has already been interpreted in terms of word structure (Lexical Structure: see Non-Patent Document 23.7), and variables that temporarily store such XP ath expressions are called path 0, path 1, and path Assume 2.
  • Ma The format of the step control instruction shall satisfy (XP ath implementation name, XP ath expression, context specifier). It is also assumed that a control information list for temporarily storing step control instructions as an ordered list is prepared.
  • the control information creation unit 4 starts processing when the XP ath expression is input (S20). First, the control information creation unit 4 empties the control information list as a preparation process, parses the input XP ath expression into a word structure, and substitutes the result of the parse into pass 0 and pass 2 (S21).
  • the control information creation unit 4 determines whether the path 2 satisfies the condition A (S22).
  • the condition A is that the XP ath expression consists of only one absolute location path, and that the first location step of the absolute location path is a chi1 d-axis and has no predicate. It is. That is, the condition A is that the outermost structure of the XP ath expression is an absolute location path, not a function or an operation, and the first location step of the absolute location path is a node type test (for example, node (), It is not a text ()) or processing instruction.
  • FIG. 9 is a flowchart showing the process of creating the step control instruction for implementation A.
  • the process of creating the step control instruction for implementation A will be described with reference to FIG.
  • the control information generating unit 4 sets the absolute location path including only the first location step of path 2 to path 1. (S32).
  • the control information creator 4 sets the relative location path with "./" added before the row of the subsequent location step as path 2 (S33).
  • control information creation unit 4 adds a step control instruction ((Implementation A, path 1, document element node)) to the control information list (S34). Then, the control information creator 4 sets the flag and ends the process of creating the step control instruction for the implementation A (S35).
  • the control information creating unit 4 determines whether the path 2 is empty. Judge (S24). If the path 2 is empty (S24-Yes), the control information creation unit 4 outputs the control information list as control information (S29). At this time, the control information creator 4 arranges the step control commands stored in the control information list in the order in which they were stored (the order in which they were added), and outputs the control information as control information.
  • the control information creation unit 4 determines whether the path 2 satisfies the condition B (S25).
  • the condition B is that the XP ath expression consists of only one location path (that is, the outermost structure is a location path and not a function or an operation), and the front part of the location path, that is, the beginning Is that one or more consecutive location steps are all simple location steps.
  • a simple location step is either a location step abbreviated with ".” Kano, // "or a location step that is a name test with chi 1 d-axis force, descendant-or-self axis, and no predicates.
  • the last location step in the front part may have a predicate as an exception, and in that case, the part up to and including the predicate is included in the front part.
  • FIG. 10 is a flowchart showing a process of creating the step control instruction for implementation B.
  • the creation process of the implementation B step control instruction will be described with reference to FIG.
  • the control information creation unit 4 sets the front part of the path 2 consisting of only the simple case steps as the path 1 (S38). ), And the part after that is pass 2.
  • the control information creation unit 4 determines whether or not the flag is set (S39).
  • the control information creating unit 4 (Implementation B, path 1, Output node) The control information list is added to the control information list as a step control instruction (S40), and the step control instruction creation processing for the implementation B is terminated (S42).
  • the flag is not set (S39—No), that is, if the path 0 (pass 2) does not satisfy the condition A in S22, the control information creation unit 4 (implementation 8, path 1, a document element node) is added to the control information list as a step control instruction (S41), and the step control instruction creation processing for the implementation B ends (S42).
  • the control information creator 4 determines whether or not the path 2 is empty when the path 2 does not satisfy the condition B (S25-No) or when the processing for creating the step control instruction for the implementation B is completed. Yes (S27). If the path 2 is not empty (S27-No), the control information creation unit 4 executes a creation process of the step control instruction for the implementation C (S28).
  • FIG. 11 is a flowchart showing a process of creating a step control instruction for implementation C. The process of creating the step control instruction for implementation C will be described with reference to FIG.
  • the control information creation unit 4 sends (implementation C, path 0, document element node) as the step control instruction to the control information.
  • the process of creating the step control instruction for the implementation C ends (S45).
  • control information creation unit 4 outputs the control information list as the control information (S27). 29). Then, after the processing in S29, the control information creation unit 4 ends the processing (S30).
  • control information creating unit 4 creates control information according to the XP at expression input to the collation device lb and the function of the XP at implementation 3 of the own device. Then, the control unit 2 performs a collation process using the control information created by the control information creation unit 4. '
  • the user only has to input one XP ath expression to the matching device 1b in advance, and prepare and create in advance complex control information including a large number of information items. It is possible to save the trouble of inputting 1b.
  • the matching devices l a and lb are configured using three XP ath implementations, but may be configured using two or four or more XP ath implementations.
  • the configuration may be made using a pseudo XP ath implementation (refer to a modified example of the first embodiment) in which the XP ath implementation of the collation device lb outputs a value that cannot be determined.
  • the control information creation unit 4 applies the same XP ath expression as the input XP ath expression to the XP ath expression of the step control instruction to which the pseudo XP ath implementation is applied, and "Document element node" is applied to the specifier.
  • FIG. 12 is a diagram showing the configuration of the matching device 1c.
  • the matching device 1c may receive both the control information and the XP ath expression.
  • the control unit 2 of the verification device 1c executes the verification process using the input control information.
  • the control information creation unit 4 of the matching device 1 c creates control information using the XP ath expression, and the control unit 2 performs the matching process using the created control information. Execute
  • FIG. 13 shows a first specific example of the control information created by the control information creation unit 4.
  • FIG. 13 as a specific example, it is assumed that the XP ath expression “oc // para [ ⁇ type -'warning ']” is input to the control information creation unit 4.
  • the XP ath implementation 3a, the XP ath implementation 3b, and the XP ath implementation 3c are pseudo XP ath implementations configured to output that they cannot be determined. Assume that it is not one.
  • the format of the step control instruction is (step number, XP ath implementation name, XP ath expression, context specifier).
  • the control information creation unit 4 creates control information including three step control instructions shown in FIG.
  • the control unit 2 performs a matching process using the created control information.
  • the control unit 2 uses the two step control instructions having the step numbers 1 and 2 among the three step control instructions to quickly filter out an input XML document that greatly differs from the condition. That is, the control unit 2 executes high-speed collation processing using the XP ath implementations 3a and 3b, which are pseudo XP ath implementations. Then, the control unit 2 executes the collation processing by all the functions of XP ath using the XP ath implementation 3 c which is the original XP ath implementation, for the input XML document which has not been eliminated. .
  • FIG. 14 is a diagram showing a second specific example of the control information created by the control information creation unit 4.
  • the XP ath implementation 3 a and the XP ath implementation 3 b are configured using a pseudo XP ath implementation configured to output that it cannot determine.
  • the control unit 2 operates according to the flowchart shown in FIG. Also, because of this, The control information creation unit 4 creates only simple control information.
  • an input XML document has a p a ra element that fits the XP a t h expression "/ docZc h ap t e r p a r a", and that it has a t y p e attribute with the string value "w a r n in g".
  • XP ath implementation 3a confirms that the document element node is "doc” (that is, it applies to "doc”). it can.
  • XP ath implementation 3a outputs "cannot be determined” because the functions necessary for subsequent verification are not provided.
  • the XP ath implementation 3b executes the processing until it finds a node corresponding to "/ doc // vara". However, the XP ath implementation 3b cannot process beyond that, that is, checking the attribute name and its value written in the predicate. Therefore, XP ath implementation 3b outputs "undecidable”.
  • the XP ath implementation 3c executes the processing according to the original XP ath, finds the above element, and ends the processing. I do.
  • collation device 1 The collation devices 1a, 1b, and 1c (hereinafter collectively referred to as collation device 1) according to the present invention are designed not to input one XML document but to input many XML documents. It is assumed that the speed can be effectively increased in such a case. Two examples in which the matching device 1 according to the present invention is effectively applied will be described.
  • the first is a search process of an XML document.
  • the collation device 1 according to the present invention is effective.
  • FIG. 15 is a diagram showing a concept when the matching device 1 according to the present invention is applied to a search process.
  • a predetermined XP ath expression an XP ath expression indicating a condition of an XML document to be searched
  • the XML documents in the database are sequentially input to the matching device 1, and only the XML documents that meet the conditions indicated in the XP ath expression are extracted (listed).
  • the second is an XML document filtering process, for example, a filtering process executed in a server system that receives an XML document from an external network.
  • the collation device 1 according to the present invention is effective when applied to management.
  • FIG. 16 is a diagram showing a concept when the matching device 1 according to the present invention is applied to such a filtering process.
  • a predetermined XP ath expression an XP ath expression indicating a condition of an XML document to be filtered
  • the server system receives an XML document from the external network, it is checked whether the received XML document is an XML document that meets the conditions indicated in the predetermined XPath expression. Then, for example, an XML document that does not meet the conditions is automatically discarded, and processing according to the comparison result is executed.
  • the present invention is applicable to industries that provide services such as creation of a database composed of document data and the like and maintenance and management of such a database.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

照合装置であって、規定された全ての機能のうち一部の機能を用いて照合を行う第一の照合手段と、規定された全ての機能を用いて照合を行う第二の照合手段と、照合対象の複数のデータについて、まず、第一の照合手段を用いた照合を実行し、第一の照合手段によって照合が成功したと判断されたデータのみについて第二の照合手段を用いた照合を実行し、第二の照合手段による照合結果を出力するように前記第一の照合手段及び第二の照合手段を制御する制御手段とを備える。

Description

技術分野
本発明は、 入力される文書 (例えば XML文書) について、 照合処理 (例えば XP a t hを利用した照合処理) を実行する照合装置に関する。
明 背景技術 田
従来、 XML文書 (Extensible Markup Language を用いて記述された文書) の照合処理に用いられる技術として、 XP a t hがある。 ここで、 XML文書の 照合処理とは、 ある XML文書が与えられた条件を満たすか否かを調べる処理を 指す。 このような照合処理は、 多くの XML文書の集合から一定の条件を満たす XML文書を探し出す検索処理や次々と入力される XML文書から一定の条件を 満たす XML文書を見つけだすフィルタリング等で利用される。
XP a t hは、 文書に含まれる 1以上のノードを特定する技術であり、 この際 にノードを特定するために用いられる記述子を XP a t h表現 (又は XP a t h 式) と呼ぶ。 また、 XP a t h表現と XML文書とが入力され、 入力された XM L文書において入力された XP a t h表現によって特定されるノードの有無を検 查 .取り出し処理を行う実装 (インプリメンテーション) を XP a t hインプリ メンテーシヨンと呼ぶ。 XP a t hインプリメンテーションが扱うべき XP a t h表現の構文 ·構文要素や対象 XML文書のデータモデル、 及ぴ提供しなければ ならない機能は、 非特許文献 2及びその将来の版に記載される XP a t h仕様で 定められている。 ·
このように、 XP a t hは、 文書の内容 (文書に含まれるノード) を特定する 技術であるが、 特定されるものの有無を判定することで、 XML文書の照合技術 として使用される。
図 17は、 XP a t hインプリメンテーシヨンを用いた XML文書の照合処理 の概念を示す図である。 図 17を用いて、 XP a t hインプリメンテーションを 用いた XML文書の照合処理について説明する。 まず、 照合したい XML文書の 条件を表現した XP a t h表現が XP a t liインプリメンテーションに事前に入 力される。 そして、 照合対象となる XML文書が順次入力される。 このとき、 X P a t h表現と XML文書とが同時に入力されても良い。 次に、 XP a t hイン プリメンテーションは、 処理対象となる各 XML文書において、 XP a t h表現 が指し示すノードが特定されるか否かに応じて照合の判定を行う。 このようなノ 一ドが 1以上特定された場合、 XP a t hインプリメンテーションは、 照合成功 と判定する。 一方、 このようなノードが特定されない場合、 XP a t hインプリ メンテーシヨンは、 照合失敗と判定する。 そして、 XP a t hインプリメンテ一 ションは、 例えば照合成功と判定した XML文書のみを判別する。
このように、 照合処理においては、 XP a t h表現は照合条件を指し示す。 図 18は、 照合処理の判定範囲を示す図である。 照合処理による判定範囲は、 入力 される XML文書の集合の範囲と、 XP a t h表現が指す照合条件を満たす範囲 とが重なる部分である。
上記のように、 XP a t hを用いて、 XML文書についての照合処理を実施す ることが可能である。 し力 し、 このような照合処理には多くの時間を要するため、 高速に照合処理を実行する技術が要望されている。
このような要望に対し、 XP a t hの機能を削減することにより高速に照合処 理を実行する XP a t hが提案されている (例えば、 非特許文献 1参照。 ) 。 以 下、 このように機能を削減した XP a t hを疑似 XP a t hと呼び、 本来の仕様 に定められた機能を全て提供する XP a t hを本来の XP a t hと呼ぶ。 また、 疑似 XP a t h及ぴ本来の XP a t hを含めた総称として、 XP a t hと呼ぶこ ととする。 また、 XP a t hインプリメンテーションの呼称についても同様とす る。
[非特許文献 1 ]
森川郁也ら、 「OS Sにおける安全な XMLメッセージ交換技術の検討」 、 信 学技報 TM2002— 1 3、 2002年 5月
特許文献 2 ]
World Wide Web Consortium (W3C) , "XML Path Language (XPath) Version 1. 0", W3C Recommendation, http : //www. w3. org/TR/xpath, Nov. 1999. 発明の開示
しかしながら、 疑似 X P a t ! iX P a t hの本来の仕様に準拠しないため、 汎用性に欠けるという問題があった。 即ち、 削減された機能が必要な場合には正 しく照合処理が実行されないという問題があつた。
本発明は、 このような問題を解決し、 入力された条件に対する照合処理 (例え ば、 入力された条件に対する X P a t h本来の仕様に準拠した処理) について全 て (又はそのほとんどを) 実行し、 且つ高速な照合処理 (例えば X P a t hによ る照合処理) を実行する照合装置を提供することを目的とする。
上記問題を解決するため、 本発明は以下のような構成をとる。 本発明の第一の 態様は、 照合装置であって、 規定された全ての機能のうち一部の機能を用いて照 合を行う第一の照合手段と、 規定された全ての機能を用いて照合を行う第二の照 合手段と、 照合対象の複数のデータについて、 まず、 第一の照合手段を用いた照 合を実行し、 第一の照合手段によって照合が成功したと判断されたデータのみに ついて第二の照合手段を用いた照合を実行し、 第二の照合手段による照合結果を 出力するように前記第一の照合手段及び第二の照合手段を制御する制御手段とを 備える。
第一の照合手段や第二の照合手段の例として、 X P a t hインプリメンテーシ ヨンがある。 この場合、 機能が削減されることにより通常の X P a t hインプリ メンテーションょりも高速に処理を実行可能な X P a t hインプリメンテーショ ン (疑似 X P a t hインプリメンテーション) が第一の照合手段に相当する。 ま た、 この場合、 通常の X P a t hを実行する X P a t hインプリメンテーション が第二の照合手段に相当する。 また、 この場合、 照合されるデータは XM L文書 となる。
本発明の第一の態様では、 制御手段は、 まず、 第一の照合手段を用いて照合を 実行する。 このとき、 第一の照合手段は、 実施する機能が第二の照合手段が実施 する機能よりも少ないため、 第二の照合手段よりも高速に照合を実行する。 次に、 制御手段は、 第二の照合手段を用いて照合を実行する。 このとき、 第二の照合手 段は規定された全ての機能によって低速に照合を実行する。 規定された全ての機 能とは、 例えば X P a t hの機能として仕様書に記載されている全ての機能を指 す。 第二の照合手段は、 第一の照合手段によって照合が成功したと判断されたデ ータのみについて照合を実行する。
このため、 本発明の第一の態様によれば、 まず、 第一の照合手段によって、 照 合の対象となるデータがふるいにかけられる。 この処理は、 第二の照合手段によ る照合処理よりも高速に実行される。 そして、 ふるいにかけられた残りのデータ (第一の照合手段によって照合が成功したと判断されたデータ) についてのみ、 第二の照合手段による照合が実行される。 従って、 低速な第二の照合手段による 処理量が削減され、 全体として、 複数のデータについての照合処理が高速に実現 される。
本発明の第二の態様は、 照合装置であって、 第一の条件情報及び照合データが 入力され、 入力された照合データについて第一の条件情報が示す条件を満たすか 否かを判断し、 その照合結果を出力する第一の照合手段と、 第二の条件情報及び 前記第一の照合手段によつて第一の条件を満たしたと判断された照合データが入 力され、 入力された照合データについて第二の条件情報が示す条件を満たすか否 かを判断し、 その照合結果を出力する第二の照合手段と、 照合対象の複数の照合 データについて、 まず、 第一の照合手段を動作させ、 次に第二の手段を動作させ、 第二の照合手段による出力を自装置の出力として出力するように制御する制御手 段とを備え、 前記第二の条件情報が示す条件は、 前記第一の条件情報が示す条件 を含み、 前記第一の条件情報が示す条件よりも等しい又は多くの条件から成る。 また、 本発明の第二の態様は、 照合の条件を示す照合条件が入力され、 入力さ れた照合条件から前記第一の条件情報及び前記第二の条件情報を作成する条件情 報作成手段をさらに備えるように構成されても良い。
また、 本発明の第二の態様の前記照合データは、 複数のノードから構成される 木構造データであり、 前記第二の照合手段は、 前記入力された照合データについ ての照合を、 照合データのルートノードから開始するか、 又は前記第一の照合手 段による照合が終了した時点のノードから開始するかのいずれかを選択可能であ るように構成されても良い。 また、 本発明の第二の態様の前記第一の照合手段は、 自身に入力された照合デ ータについて、 自身に入力された前記第一の条件情報が示す条件を満たすか否か を判断できない場合、 判断不能であることを示す値を出力するように構成されて も良い。
本発明によれば、 第二の照合手段によって、 入力された条件に対する照合処理 について全て (又はそのほとんど) が実行され、 且つ、 第一の照合手段によって ふるいにかけられた残りのデータについてのみ第二の照合手段が照合処理を実行 することにより複数のデータに対する照合処理の高速化を図ることが可能となる。 図面の簡単な説明
F I G. 1は、 疑似 X P a t hにおける照合条件の範囲を示す図であり、 F I G. 2は、 第一実施形態における照合装置の構成を示す図であり、
F I G. 3は、 制御部が実行する処理の概略を示す図であり、
F I G. 4は、 第一実施形態における照合装置の動作を示すフローチャートで あり、
F I G. 5は、 ステップ iの照合処理の動作を示すフローチャートであり、 F I G. 6は、 第一実施形態の変形例における照合装置の動作を示すフローチ ヤートであり、
F I G. 7は、 第二実施形態における照合装置の構成を示す図であり、
F I G. 8は、 第二実施形態における照合装置の動作を示すフローチャートで あり、
F I G. 9は、 インプリメンテーション A用ステップ制御命令の作成処理の動 作を示すフローチャートであり、
F I G. 10は、 インプリメンテーション B用ステップ制御命令の作成処理の 動作を示すフローチヤ一トであり、
F I G. 1 1は、 インプリメンテーション C用ステップ制御命令の作成処理の 動作を示すフローチヤ一トであり、
F I G. 1 2は、 照合装置の構成を示す図であり、
F I G. 1 3は、 制御情報の具体例を示す図であり、 F I G. 14は、 制御情報の具体例を示す図であり、
F I G. 15は、 検索処理への適用例を示す図であり、
F I G. 16は、 フィルタリング処理への適用例を示す図であり、
F I G. 17は、 XP a t hインプリメンテーションを用いた XML文書の照 合処理の概要を示す図であり、
F I G. 18は、 照合処理の判定範囲を示す図である。 発明を実施するための最良の形態
次に、 図を用いて本発明の実施形態における照合装置について説明する。 なお、 本実施形態の説明は例示であり、 本発明の構成は以下の説明に限定されない。 本発明の実施形態における照合装置は、 2以上の XP a t hインプリメンテ一 シヨンを備える。 このとき、 本発明の実施形態における照合装置は、 1以上の疑 似 XP a t hインプリメンテーシヨン及び 1以上の本来の XP a t hインプリメ ンテーシヨンを備える。 .まず、 本発明の実施形態における照合装置で用いられる 疑似 XP a t hインプリメンテーシヨンについて説明する。
〔疑似 XP a t hインプリメンテーション〕
疑似 XP a t hインプリメンテーシヨンとは、 疑似 XP a t hを処理するため のインプリメンテーションを指す。 そして、 従来技術の欄でも説明したように、 疑似 XP a t hとは、 機能を削減されることにより高速に実行される XP a t h である。
XML文書の照合という用途に限定すれば、 XP a t hが本来持っている豊富 な機能は過剰である。 例えば、 特定のノードについての存在の有無のみを問題に しているにも関わらず全てのノードを探すこと、 豊富な機能を実現するために実 装上の複雑さが生じていること、 などの原因のために、 本来の XP a t hによる 処理では遅延が生じている。 従って、 これらの過剰な機能を削減することによつ て高速な疑似 XP a t hインプリメンテーシヨンを実現することが可能である。 図 1は、 疑似 XP a t hにおける照合条件の範囲を示す図である。 疑似 XP a t hでは、 機能の削減によって照合条件が緩和されるため、 その照合条件を満た す範囲は本来の XP a t hにおける照合条件を満たす範囲よりも広くなる。 即ち、 同じ XP a t h表現であっても、 疑似 XP a t hによる照合条件を満たす範囲は 本来の XP a t h照合条件を満たす範囲に比べて広くなる。 しかし、 疑似 XP a t hインプリメンテーションは、 この広い照合条件を満たす範囲について、 入力 された XML文書が含まれるか否かの判定を、 本来の X P a t hインプリメンテ ーシヨンよりも高速に実行することが可能である。
本発明の照合装置では、 まず、 疑似 XP a t hインプリメンテーションが緩和 された照合条件を満たす範囲について高速に照合処理を実行する。 そして、 この 照合処理によって照合条件を満たすと判定された X M L文書についてのみ、 本来 の XP a t hインプリメンテーションが再度照合処理を実行する。 このとき、 本 来の XP a t hインプリメンテーションによる照合処理の対象となる XML文書 の量は、 疑似 XP a t hインプリメンテーションの照合処理によって削減されて いる (少なくとも同量) 。
高速な疑似 XP a t hインプリメンテーションの具体例として、 文書要素ノー ドテストのみを扱う方法と、 子 (c h i 1 d) ノードテストのみを扱う方法と、 ストレート .フォワード (s t r a i g h t— f o rwa r d) なロケーション パスのみを扱う方法のみがある。 以下、 それぞれの方法について説明する。
〔 〔文書要素ノードテストのみを扱う方法〕 〕
文書要素ノードテストのみを扱う方法では、 文書要素ノードの名前テストだけ が提供される。 即ち、 入力される XML文書の文書要素ノードが、 指定された名 前か否かのみが調べられる。 文書要素ノードは、 正しい XML文書には 1つだけ 存在し、 文書順でかなり早い位置に現れる。 このため、 文書要素ノードテストの みを扱う方法では、 文書要素ノードの名前テストが 1回実行された時点で照合処 理が終了する。 従って、 文書要素ノードテストのみを扱う方法では、 照合処理が 高速に実現される。
〔 〔子ノードテストのみを扱う方法〕 〕
子ノードテストのみを扱う方法では、 コンテタストノードの子要素の名前テス トだけが提供される。 即ち、 子要素の中から指定された名前の要素を探す処理の みが提供される。 子要素は、 0個以上存在する可能性があり、 場合によっては文 書順でかなり後方に現れる可能性もある。 しかし、 処理そのものが簡易であり、 全ての要素を対象としていないため、 子ノードテストのみを扱う方法では、 結果 として照合処理が高速に実現される。
〔 〔ストレート 'フォワードなロケーションパスのみを扱う方法〕 〕
ストレート . フォヮ一ドなロケーションパスのみを扱う方法は、 単純なロケ一 ションパスのみをサポートし、 そのロケーションパスが指すノードが少なくとも 1つ存在するか否かを判定する方法である。 単純なロケーションパスとは、 単純 なロケーションステップのみからなる列である。 単純なロケーションステップと は、 ,, . ,, (:" . " は" s e 1 f : : n o d e () " の省略型) 若しくは" / /" (,, / /" は,, / d e s c e n d a n t— o r— s e l l : : n o d e () /,, の省略型) に含まれるロケーションステップ、 又は。 h i 1 d軸力、 d e s c e n d a n t -o r - s e l f軸で名前テストのみを行うロケーションステップ であって述部を持たないものを示す。
s e l f 軸, c h i l d職, d e s c e n d a n t— o r— s e l f 軸は、 文 書順での後戻りを伴わない。 この方法では、 このように後戻りを伴わないことに よって高速化が実現される。 一般に、 XML文書を読み込んで処理するための方 法論として、 文書の内容を記憶領域に溜めずに順次処理を行う SAXと、 文書の 内容を記憶領域に溜めるため柔軟な処理が可能な DOMの 2種類がある。 一般に、 XP a t hでは後戻り処理が発生するため、 DOMが使用される。 しかし、 スト レート .フォヮ一ドなロケーションパスのみを扱う方法では、 XP a t hにおい て後戻り処理が省略され、 この XP a t hインプリメンテーションが SAXのみ で実現されることにより、 記憶領域の確保などに伴う処理を軽減され、 高速化が 図られる。
まに、 s e l f 職, c h i l d軸, d e s c e n d a n t— o r— s e l f 軸 では、 文書順での後戻りを伴わない。 このため、 文書順での走査のみで実現でき、 高速化が可能となる。 また、 c h i 1 d軸, d e s c e n d a n t— o r— s e
1 ί軸では、 複数のノード、 即ちノード集合が XP a t h処理の結果として得ら れることがある。 しかし、 該当するノードの有無のみを問題とすることにより、 最初の該当ノード 1つが発見された時点で処理を終了できるため、 高速化が可能 となる。 〔第一実施形態〕
〔 〔装置構成〕 〕
図 2は、 本発明の第一実施形態における照合装置 1 aの構成を示す図である。 図 2を用いて、 照合装置 1 aの構成について説明する。
照合装置 1 aは、 制御部 2と 2以上の XP a t hインプリメンテーシヨン 3と を備える。 照合装置 l aは、 制御情報と XML文書が入力され、 照合の結果 (正 否) 及び/又は XP a t h処理結果を出力する。
制御部 2は、 CPUや RAM等を用いて構成される。 制御部 2は、 不図示の補 助記憶装置 (ハードディスク, フラッシュメモリなど) に記憶された各種のプロ グラム (OS, アプリケーション等) が RAMにロードされ C PUにより実行さ れることにより機能する。
制御部 2には、 照合装置 1 aに入力された XML文書と制御情報とが入力され る。 制御部 2は、 入力された XML文書及ぴ制御情報について、 XP a t hイン プリメンテーシヨン 3を用いて照合処理を実行する。 そして、 制御部 2は、 照合. の結果 (正否) 及びノ又は XP a t h処理結果を出力する。
ここで、 制御情報について説明する。 制御情報とは、 あらかじめ照合装置 l a に入力される情報である。 制御情報とは、 ステップ制御命令の列である。 照合処 理は 1以上のステップにより構成され、 各ステップにおける処理の内容はステッ プ制御命令にそれぞれ示されてい'る。 具体的には、 ステップ制御命令は、 各ステ ップの処理で利用される XP a t hインプリメンテーション名, XP a t h表現, 及ぴコンテクスト指定子を含む。 このため、 制御情報は、 照合処理が構成される ステップ数と同数のステツプ制御命令を含む。
コンテクスト指定子とは、 各ステップの処理において、 入力として使用される ノードを示す情報である。 照合装置 l aでは、 ステップ毎に、 前のステップの出 力ノードをコンテクストノードとして使用するカ 前のステップの出力と関係な く入力 XML文書の文書要素ノードをコンテタストノードとして使用するかが選 択される。 即ち、 照合装置 l aでは、 ステップ毎にコンテクスト指定子が指定さ れる。 従って、 コンテクスト指定子は 2つの値を持つ。 ここでは、 コンテクスト 指定子はそれぞれ、 前のステップの出力ノードが使用される場合は 「出力ノー ド J , 入力 XML文書の文書要素ノードが使用される場合には 「文書要素ノー ド」 という値を持つと定義する。
図 3は、 制御部 2が実行する処理の概略を示す図である。 制御部 2には、 ステ ップ数に応じたステップ制御命令が事前に入力される。 即ち、 制御部 2には、 各 ステップに応じた XP a t hインプリメンテーション名, XP a t h表現, 及び コンテタスト指定子が入力される。
制御部 2は、 各ステップにおいて、 入力された XP a t hインプリメンテーシ ョン名が示す XP a t hインプリメンテーシヨン 3を用いて、 入力された XP a t h表現について、 入力されたコンテクスト指定子が示すノードをコンテクスト ノードとする照合を実行する。
制御部 2は、 このように、 各ステップのステップ制御命令に応じた処理を、 基 本的には制御情報に含まれる全てのステップ (ここではステップ 1〜! 1 ) につい て実行する。 制御部 2の具体的な動作については後述する。 そして、 制御部 2は、 照合処理結果 (照合の結果 (正否) 及び Z又は X P a t h処理結果) を出力する。
XP a t hインプリメンテーション 3は、 CPUや RAM等を用いて構成され る。 XP a t hインプリメンテーション 3は、 不図示の補助記憶装置 (ハードデ イスク, フラッシュメモリなど) に記憶された各種のプログラム (OS, アプリ ケーシヨン等) が RAMにロードされ CPUにより実行されることにより機能す る。 XP a t hインプリメンテーション 3は、 XP a t hの処理を実行する。
〔 〔動作の概要〕 〕
照合装置 1 aは、 ステップ 1から順に各ステップにおける照合処理を実行する。 この際に、 照合装置 l aは、 途中で照合に失敗したら全体としての照合処理も失 敗したと見なす。 一方、 照合装置 l aは、 全ての照合処理に成功した場合、 全体 としての照合処理も成功したと見なす。 そして、 照合装置 l aは、 照合処理の結 果を出力する。
図 4は、 本発明の第一実施形態における照合装置 1 aの動作を示すフローチヤ ートである。 図 4を用いて照合装置 1 aの動作のフローについて説明する。
照合装置 1 aが入力として XML文書を受け取ると、 制御部 2は、 処理をスタ ートし、 事前入力で与えられた制御情報に従って各ステップの照合処理を実行す る (S O I) 。 まず、 制御部 2は、 変数 iを用意し、 この変数 iに" 0" を代入 する (S 02) 。 次に、 制御部 2は、 この変数 iをインクリメントし (S 03) 、 ステップ iの照合処理を実行する (S O 4) 。 ステップ iの照合処理については 後述する。 制御部 2は、 ステップ iの照合処理において照合に失敗した場合、 即 ちステップ iの照合処理における出力が照合の失敗を示す値であった場合 (S O 5— Ye s) 、 全体の照合結果として失敗を示す値を出力し (S O 6) 、 処理を 終了する (S 09) 。
一方、 制御部 2は、 ステップ iの照合処理において照合に成功した場合 (S O 5— No) 、 iの値が最後のステップ番号か否かを判断する (S O 7) 。 即ち、 制御部 2は、 全てのステップの照合処理が終了したか否かを判断する。 iの値が 最後のステップ番号でない場合 (S O 7— No) 、 制御部 2は再び S 03からの 処理を実行する。 即ち、 この場合、 制御部 2は、 iの値をインクリメントし、 次 のステップについての照合処理を実行する。 一方、 iが最後のステップ番号であ る場合 (S 07— Ye s) 、 制御部 2は、 全体の照合結果として成功を示す値を 出力し (S O 8) 、 処理を終了する (S O 9) 。
次に、 ステップ iの照合処理 (図 4の S O 4を参照) について説明する。 各ス テツプ iでは、 事前に入力された制御情報の中のそのステップに対応するステツ プ制御命令について照合処理が実行される。 即ち、 このステップ制御命令によつ て指定された XP a t h表現について、 指定された XP a t hインプリメンテー ション名に合致する XP a t hインプリメンテーシヨン 3を用いて、 入力 XML 文書における入力されたコンテタスト指定子が示すノードをコンテタストノード とする照合が実行される。
図 5は、 ステップ iの照合処理の動作を示すフローチャートである。 図 5を用 いて、 ステップ iの照合処理について具体的に説明する。
制御部 2は、 ステップ iの照合処理が開始すると (S 10) 、 i番目のステツ プ制御命令で指定された情報 (XP a t h表現, XP a t hインプリメンテーシ ヨン名, コンテクスト指定子) を参照する (S 1 1) 。 制御部 2は、 参照したコ ンテクスト指定子の値が文書要素ノードであるか出力ノードであるかを判断する (S 1 2) 。 制御部 2は、 参照したコンテクスト指定子の値が文書要素ノードで ある場合、 入力 XML文書の文書要素ノードをコンテクストノードに設定する (S 13) 。 一方、 制御部 2は、 参照したコンテクスト指定子の値が出力ノード である場合、 前のステップ (ステップ ( i— 1) ) の XP a t h処理の出力ノー ドをコンテクストノードに設定する (S 14) 。
次に、 制御部 2は、 指定された名前の X P a t hインプリメンテーションで、 指定された XP a t h表現を、 設定されたコンテクストノードに対して適用し (S 15) 、 XP a t h適用処理結果を保存する (S 16) 。 そして、 制御部 2 は、 保存された XP a t h適用処理結果から、 照合の正否を判定し、 その判定結 果を出力することによって (S 17) 、 処理を終了する (S 18) 。
〔 〔作用 ·効果〕 :]
本発明の第一実施形態の照合装置 1 aによれば、 複数のステップの照合処理が、 それぞれにおいて選択された XP a t hインプリメンテーションを使用して実行 される。 このとき、 疑似 XP a t hインプリメンテーションを使用した照合処理 が本来の XP a t hインプリメンテーションを使用した照合処理よりも先に実行 される場合に、 照合装置 1 aは有効である。
この場合、 まず、 高速だが粗い疑似 XP a t hインプリメンテーションと緩和 された照合条件によって入力 XML文書に大まかなふるいがかけられ、 その後低 速だが厳密な本来の XP a t hインプリメンテーシヨンと本来の照合条件によつ て結果が絞り込まれる。 即ち、 粗い照合で失敗するような明らかに異なる入力 X ML文書については、 疑似 XP a t hインプリメンテーシヨンによって高速に照 合失敗と判定され、 本来の XP a t hインプリメンテーションによる低速な照合 処理が実行されない。 このため、 多くの入力 XML文書を対象とした照合処理を 順次実行する場合に、 低速な本来の XP a t hインプリメンテーションを使用し た照合処理の回数を削減し、 全体としての処理時間 (合計の処理時間) や、 各入 力 XML文書についての平均処理時間を短縮することが可能となる。
また、 全てのコンテクスト指定子の値を 「文書要素ノード」 とした場合、 疑似 XP a t hインプリメンテーシヨンによって照合成功と判定された入力 XML文 書について、 後から本来の XP a t hインプリメンテーションによる照合処理が、 XML文書全体に対して実行されるため、 本来の XP a t hの全ての機能による 照合処理が実行される。 従って、 照合の結果に厳密さが要求される場合には、 本 来の X P a t hインプリメンテーションによる処理のコンテクスト指定子は、 「文書要素ノード」 と設定されることが有効である。
また、 コンテクスト指定子の値を 「出力ノード」 とした場合、 そのステップに おいて、 前のステップで照合された内容と同じ内容の照合処理を繰り返すことが なくなり、 照合装置 1 aの処理の負担を軽減し、 処理の高速化を図ることが可能 となる。
〔 〔変形例〕 〕
コンテクスト指定子の値を 「出力ノード」 とした場合、 前のステップの出力内 容によっては例外処理を行う必要が生じる。 例えば、 前のステップの出力がノー ドでもノード集合でもない場合の例外処理としては、 エラーとみなす方法がある。 また、 前のステップの出力が単一のノードでない場合 (ノード集合である場合) 、 例えば以下に挙げる二つの例外処理のいずれかを行う必要がある。 第一の例外処 理は、 ノード集合に含まれる最初のノードだけを使って次のステップに進む処理 である。 第二の例外処理は、 ノード集合に含まれる最初のノードから順に照合処 理を実行する処理である。 この第二の例外処理では、 あるノードについて照合に 成功した場合はそのまま成功と見なして終了する。 一方、 あるノードについて照 合に失敗した場合は、 次のノードについて照合処理を実行し、 最後のノードまで 全て照合を失敗したら、 全体として照合を失敗したと見なし、 照合処理を終了す る。'
また、 このような例外処理は、 上記した例外処理に限定されず、 他の例外処理 を用いて照合装置 1 aが構成されても良い。 また、 上記した第一の例外処理と第 二の例外処理とを場合に応じて使レ、分けるように構成されても良い。
また、 照合装置 1 aが備える X P a t hインプリメンテーシヨン 3のうち、 ― 部又は全ての疑似 X P a t hインプリメンテーションは、 要求された機能 (X P a t h表現によって要求された機能) を提供できない場合、 判断不能であること を示す値を出力するように構成されても良い。 このような疑似 X P a t hインプ リメンテーシヨンは、 まず X P a t h表現のみを調べ、 自身がサポートしない機 能を必要とするか否かについて判断する。 そして、 このような機能を必要とする 場合には、 この疑似 XP a t hインプリメンテーションは、 常に判断不能の値を 出力する。 また、 このような疑似 XP a t hインプリメンテーションは、 XP a t h表現を調べることなく照合処理を開始し、 最後まで処理できないことが判明 した時点で判断不能の値を出力するように構成されても良い。 また、 他の方法に よって同様の作用を奏する疑似 XP a t hインプリメンテーションが実現されて も良い。 このような疑似 XP a t hインプリメンテーションが適用される全ての ステップ制御情報は、 XP a t h表現として同一の XP a t h表現, コンテタス ト指定子として 「文書要素ノード」 を持つ。
図 6は、 このような疑似 XP a t hインプリメンテーションが適用される照合 装置 1 aの動作を示すフローチャートである。 図 6に示される動作のフローにつ いて、 通常の第一実施形態における照合装置 1 aの動作 (図 4参照) と異なる処 理についてのみ説明する。
制御部 2は、 あるステップの照合処理 (S O 4) において、 XP a t hインプ リメンテーシヨン 3の照合処理が失敗した場合は、 通常の第一実施形態における 照合装置 1 aと同様の動作を行う。 一方、 XP a t hインプリメンテーション 3 の照合処理が成功した場合 (S 1 9— Ye s) 、 その時点で全体の照合処理が成 功したと見なして (S 08) 、 処理を終了する (S 09) 。 また、 XP a t hィ ンプリメンテーシヨン 3の照合処理が判断不能であった場合 (S 19— Noかつ S O 5— No) 、 制御部 2は、 通常の第一実施形態における照合装置 1 aにおい て成功であった場合 (S O 5— No :図 4参照) と同様の処理を実行する。 そし て、 最後のステップでも判断不能であった場合 (S 07_Ye s) 、 制御部 2は、 全体の照合処理を失敗とみなし (S O 6) 、 処理を終了する (S O 9) 。
このように構成されることにより、 ユーザは、 照合装置 1 aが備える XP a t hインプリメンテーション 3の特徴を考慮して、 制御情報の用意 (作成) や制御 情報作成部 4の設定を行う必要が無く、 各々の XP a t hインプリメンテーショ ンについて特徴等の調査や考慮などの手間が省ける。
〔第二実施形態〕
〔 〔装置構成〕 :]
図 7は、 本発明の第二実施形態における照合装置 1 bの構成を示す図である。 図 7を用いて、 照合装置 1 bの構成について説明する。 ·
照合装置 1 bは、 事前に入力されるデータが、 制御情報ではなく XP a t h表 現である点で、 照合装置 l aと異なる。 また、 照合装置 l bは、 制御情報作成部 4をさらに備える点で、 第一実施形態における照合装置 1 aと異なる。 また、 照 合装置 1 bを説明するにあたって、 照合装置 l bが備える 3つ (3という数字は 例示であり、 2以上のいくつであっても良い) の XP a t hインプリメンテーシ ョンの各 XP a t hインプリメンテーション名を、 ィンプリメンテーション A (XP a t hインプリメンテーション 3 a) , ィンプリメンテーション B (XP a t hィンプリメンテーション 3 b) , ィンプリメンテーション C (XP a t h インプリメンテーション 3 c) とする。
XP a t hインプリメンテーション 3 aは、 文書要素ノードの名前テストの機 能のみを提供する疑似 XP a t hインプリメンテーションを用いて構成される。
XP a t hインプリメンテーシヨン 3 bは、 単純なロケーションパスの照合機 能のみを提供する疑似 XP a t hインプリメンテーシヨンを用いて構成される。
XP a t hインプリメンテーシヨン 3 cは、 XP a t hの使用に厳密に従った XP a t hインプリメンテーシヨンである。 即ち、 XP a t hインプリメンテー シヨン 3 cは、 本来の XP a t hを実現する XP a t hインプリメンテーション を用いて構成される。
これらの XP a t hインプリメンテーションの処理速度は、 XP a t hインプ リメンテーシヨン 3 a, 3 b, 3 cの順で遅くなる。 もちろん、 XP a t hイン プリメンテーシヨン 3 a, 3 bは、 実現可能な機能が削減されているため、 XP a t hインプリメンテーシヨン 3 cが処理可能な XP a t h表現であっても処理 できない可能性がある。
制御情報作成部 4は、 CPUや RAM等を用いて構成される。 制御情報作成部 4は、 入力された XP a t h表現を用いて、 照合装置 1 bに備えられる XP a t hインプリメンテーション 3 (XP a t hインプリメンテーション 3 a〜XP a t hインプリメンテーション 3 c) の特徴に応じた制御情報を作成する。
以下、 制御情報作成部 4に適用される、 入力された XP a t h表現から制御情 報を作成する方法について、 2つの方法 (文書要素を切り出す方法, ス トレー ト -フォワードな部分を切り出す方法) をそれぞれ説明する。 ただし、 制御情報 作成部 4に適用される方法は、 この 2つの方法に限定される必要はなく、 他の方 法が適用されても良い。 また、 この 2つの方法を組み合わせて適用されても良い。
〈文書要素を切り出す方法〉
文書要素を切り出す方法は、 文書要素ノードの名前テストのみを実現する疑似 X P a t hインプリメンテーションを照合装置 1 bが備える場合に適用される方 法である。 X P a t h表現が 1つの絶対ロケーションパスのみから構成され、 そ のロケーションパスの最初のロケーションステップが文書要素ノードの名前テス トである場合、 入力される X P a t h表現を最初のロケーションステップのみか らなる部分 X P a t h表現として切り出して、 最初のステップで文書要素ノード の名前テストのみを実現する疑似 X P a t hインプリメンテーシヨンに処理させ るような制御情報が作成される。
この場合、 2つ目以降のステップのステップ制御命令の作成方法には、 2つの 方法がある。 1つは、 最初のロケーションステップより後のロケーションステツ プの列である相対ロケーションパスの前にノード自身を指す省略型のロケーショ ンステップ" · " を加えた相対ロケーションパスを作成し、 これを本来の X P a t hインプリメンテーションでコンテクスト指定子の値を 「出力ノード」 として 処理させるようにステップ制御命令を作成する方法である。 この方法は、 最初に 使用する文書要素ノードの名前テストのみを提供する疑似 X P a t hインプリメ ンテーシヨンが見つけたノードを出力する能力を有する場合に使用される。
もう 1つは、 単純に入力された元の X P a t h表現を本来の X P a t hインプ リメンテーシヨンでコンテクスト指定子の値を 「文書要素ノード」 として処理さ せるようにステップ制御命令を作成する方法である。 この方法は、 最初に使用す る文書要素ノードの名前テストのみを提供する疑似 X P a t hインプリメンテー ションが、 見つけたノードを出力する能力を有しない場合に使用される。
〈ストレート · フォワードな部分を切り出す方法〉
この方法は、 単純なロケーションステップの列から成る部分を前半に持つロケ ーシヨンパスのみをサポートする疑似 X P a t hインプリメンテーシヨンを照合 装置 1 bが備える場合に適用される。 この方法では、 入力された X P a t h表現が上記のような特徴を有する場合、 その前半部の単純なロケーションステップの列のみがロケーションパスと見なさ れて切り出される。 そして、 この切り出されたロケーションパスを最初のステツ プの X P a t h表現とし、 上記の疑似 X P a t hインプリメンテーシヨンに処理 させるステップ制御命令が作成される。 "
2つ目以降のステップでは、 入力された X P a t h表現そのものを用い、 本来 の X P a t hインプリメンテーシヨンにコンテクスト指定子の値を 「文書要素ノ 一ド」 として処理させるステップ制御命令が作成される。 なお、 ストレート · フ ォヮードな部分を切り出す方法では、 2つ目以降のステップにおけるステップ制 御命令のコンデタスト指定子の値は 「出力ノード」 とはされない。 なぜならば、 ストレート ·フォワードな部分を切り出す方法では、 1つの文書要素ノードが特 定される文書要素を切り出す方法とは異なり、 c h i 1 d軸や d e s c e n d a n t - o r - s e 1 f軸を使って特定される要素ノードが複数存在する可能性が あるためである。
2つ目以降のステップにこのような処置をする理由は、 疑似 X P a t hインプ リメンテーシヨンは、 ノード集合を扱わず条件に合う単一のノードの有無のみを 扱うという限定された機能を持っためである。 従って、 このような限定をするこ となく高速な処理を行う疑似 X P a t hインプリメンテーションが実現される場 合には、 必ずしもこのような処置をする必要はない。
〔 〔動作の概要〕 〕
照合装置 1 bの動作は、 制御情報作成部 4が制御情報を作成する動作を除けば、 第一実施形態における照合装置 1 aと同じ動作をする。 従って、 以下では、 制御 情報作成部 4の動作についてのみ説明する。
図 8は、 本発明の第二実施形態における照合装置 1 bの動作、 特に制御情報作 成部 4の動作を示すフローチヤ一トである。 図 8を用いて照合装置 1 bの動作の フローについて説明する。 なお、 図 8及ぴ以下の説明では、 特別の指定が無い限 り、 次のことを前提とする。 即ち、 X P a t h表現はすでに語構造 (Lexical Structure:非特許文献 2 3 . 7節参照) に関して解釈されており、 そのよう な X P a t h表現を一時的に格納する変数をパス 0, パス 1, パス 2とする。 ま た、 ステップ制御命令の形式は、 (XP a t hインプリメンテーション名, XP a t h表現, コンテクスト指定子) を満たすものとする。 また、 ステップ制御命 令を順序付きリストとして一時記憶するための制御情報リストが用意されている とする。
制御情報作成部 4は、 XP a t h表現が入力されると処理をスタートする (S 20) 。 まず、 制御情報作成部 4は、 準備処理として制御情報リストを空にし、 入力された XP a t h表現を語構造にパースし、 パースの結果をパス 0及びパス 2に代入する (S 21) 。
制御情報作成部 4は、 パス 2が条件 Aを満たすか否かを判断する (S 22) 。 ここで、 条件 Aとは、 その XP a t h表現が絶対ロケーションパス 1つのみから 成り、 かつその絶対ロケーションパスの最初のロケーションステップが c h i 1 d軸であって述部を持たない名前テストであることである。 即ち、 条件 Aとは、 その XP a t h表現の最外の構造が絶対ロケーションパスであって、 関数や演算 ではなく、 かつその絶対ロケーションパスの最初のロケーションステップがノー ドタイプテス ト (例えば n o d e () , t e x t () ) や処理命令ではないこど である。
パス 2が条件 Aを満たす場合 (S 22— Ye s) 、 制御情報作成部 4は、 イン プリメンテーシヨン A用ステップ制御命令の作成処理を実行する (S 23) 。 図 9は、 インプリメンテーション A用ステップ制御命令の作成処理を示すフローチ ヤートである。 図 9を用いて、 インプリメンテーション A用ステップ制御命令の 作成処理について説明する。 インプリメンテーシヨン A用ステップ制御命令の作 成処理が開始されると (S 3 1) 、 制御情報作成部 4は、 パス 2の最初のロケ一 シヨンステップのみから成る絶対ロケーションパスをパス 1とする (S 32) 。 次に、 制御情報作成部 4は、 それより後のロケーションステップの列の前に" . /" を付けた相対ロケーションパスをパス 2とする (S 33) 。 次に、 制御情報 作成部 4は、 (インプリメンテーション A, パス 1, 文書要素ノード) というス テツプ制御命令を制御情報リストに加える (S 34) 。 そして、 制御情報作成部 4は、 フラグをセットし、 インプリメンテーション A用ステップ制御命令の作成 処理を終了する (S 35) 。 図 8に戻る。 制御情報作成部 4は、 パス 2が条件 Aを満たさない場合 (S 22 一 No) 、 又はインプリメンテーション A用ステップ制御命令の作成処理が終了 した場合に、. パス 2が空か否かを判断する (S 24) 。 パス 2が空である場合 (S 24-Ye s) 、 制御情報作成部 4は、 制御情報リストを制御情報として出 力する (S 29) 。 このとき、 制御情報作成部 4は、 制御情報リストに蓄積され たステップ制御命令を蓄積された順 (加えられた順) で並べ、 制御情報として出 力する。
一方、 パス 2が空でない場合 (S 24— No) 、 制御情報作成部 4は、 パス 2 が条件 Bを満たすか否かを判断する (S 25) 。 ここで、 条件 Bとは、 その XP a t h表現がロケーションパス 1つのみから成り (即ち最外の構造がロケーショ ンパスであって関数や演算ではなく) 、 そのロケーションパスの前方の部分、 即 ち冒頭の連続した 1つ以上のロケーションステップが全て単純なロケーションス テツプであることである。 単純なロケーションステップとは、 " . " カノ, //" で省略されたロケーションステップか、 あるいは c h i 1 d軸力、 d e s c e n d a n t - o r - s e l f 軸を持ち述部を持たない名前テストであるロケーション ステップのいずれかを指す。 ただし、 その前方の部分の最後のロケーションステ ップは例外として述部を持っても良く、 その場合にはその述部を取り除いた部分 までを前方の部分に含める。
パス 2が条件 Bを満たす場合 (S 25—Ye s) 、 制御情報作成部 4は、 イン プリメンテーシヨン B用ステップ制御命令の作成処理を実行する (S 26) 。 図 10は、 インプリメンテーション B用ステップ制御命令の作成処理を示すフロー チャートである。 図 10を用いて、 インプリメンテーション B用ステップ制御命 令の作成処理について説明する。 インプリメンテーシヨン B用ステップ制御命令 の作成処理が開始されると (S 37) 、 制御情報作成部 4は、 パス 2の単純な口 ケーシヨンステップのみから成る前方の部分をパス 1とし (S 38) 、 それより 後の部分をパス 2とする。 次に、 制御情報作成部 4は、 フラグがセットされてい るか否かを判断する (S 39) 。 フラグがセットされている場合 (S 39— Ye s) 、 即ち S 22においてパス 0 (パス 2) が条件 Aを満たしていた場合、 制御 情報作成部 4は、 (インプリメンテーション B, パス 1, 出力ノード) をステツ プ制御命令として制御情報リストに加え (S 40) 、 インプリメンテーション B 用ステップ制御命令作成処理を終了する (S 42) 。 一方、 フラグがセットされ ていない場合 (S 39— No) 、 即ち S 22においてパス 0 (パス 2) が条件 A を満たしていなかった場合、 制御情報作成部 4は、 (インプリメンテーション8, パス 1, 文書要素ノード) をステップ制御命令として制御情報リストに加え (S 41) 、 インプリメンテーション B用ステップ制御命令作成処理を終了する (S 42) 。
図 8に戻る。 制御情報作成部 4は、 パス 2が条件 Bを満たさない場合 (S 25 -No) , 又はインプリメンテーション B用ステップ制御命令の作成処理が終了 した場合に、 パス 2が空か否かを判断する (S 27) 。 パス 2が空でない場合 (S 27-No) 、 制御情報作成部 4は、 インプリメンテーション C用ステップ 制御命令の作成処理を実行する (S 28) 。 図 1 1は、 インプリメンテーション C用ステップ制御命令の作成処理を示すフローチャートである。 図 1 1を用いて、 インプリメンテーション C用ステップ制御命令の作成処理について説明する。 ィ ンプリメンテーシヨン C用ステップ制御命令の作成処理が開始されると (S 4 3) 、 制御情報作成部 4は、 ステップ制御命令として (インプリメンテーション C, パス 0, 文書要素ノード) を制御情報リストに加え、 インプリメンテーショ ン C用ステップ制御命令の作成処理を終了する (S 45) 。
図 8に戻る。 パス 2が空である場合 (S 27— Ye s) 、 又はインプリメンテ ーション C用ステップ制御命令の作成処理が終了した場合、 制御情報作成部 4は、 制御情報リストを制御情報として出力する (S 29) 。 そして、 S 29の処理の 後、 制御情報作成部 4は処理を終了する (S 30) 。
〔 〔作用 ·効果〕 〕
本発明の第二実施形態では、 制御情報作成部 4は、 照合装置 l bに入力された XP a t h表現と、 自装置が備える XP a t hインプリメンテーシヨン 3の機能 に応じて、 制御情報を作成する。 そして、 制御部 2は、 制御情報作成部 4によつ て作成された制御情報を用いて照合処理を行う。 '
このため、 ユーザは、 XP a t h表現 1つを事前に照合装置 1 bに入力すれば よく、 多くの情報項目から成る複雑な制御情報を事前に用意 ·作成し、 照合装置 1 bに入力する手間を省くことが可能となる。
〔 〔変形例〕 〕
XP a t h表現から制御情報を作成する方法として、 いずれの方法でも制御情 報を作成できないような XP a t h表現が入力された場合、 単純に入力された X P a t h表現を本来の XP a t hインプリメンテーションで処理するような 1つ のステップ制御命令から成る制御情報を作成するような方法が適用されても良い。 このような方法が適用されることにより、 そのような XP a t h表現が入力され た場合にも対応することが可能であり、 XP a t hの仕様書に規定された機能全 てを欠くことなく提供することが可能となる。
また、 照合装置 l a, l bは、 3つの XP a t hインプリメンテーションを用 いて構成されているが、 2つ若しくは 4つ以上の XP a t hインプリメンテーシ ョンを用いて構成されても良い。
また、 照合装置 l bの XP a t hインプリメンテーションが判断不能の値を出 力するような疑似 XP a t hインプリメンテーション (第一実施形態の変形例を 参照) を用いて構成されても良い。 この場合、 制御情報作成部 4は、 このような 疑似 XP a t hインプリメンテーションを適用するステップ制御命令の XP a t h表現には、 入力された XP a t h表現と同一の XP a t h表現を適用し、 コン テクスト指定子には 「文書要素ノード」 を適用する。
〔動作の具体例〕
次に、 本発明による照合装置の具体的な動作について説明する。 第一実施形態 と第二実施形態との機能を併せ持つ照合装置 1 cを用いて、 動作の具体例につい て説明する。 図 12は、 照合装置 1 cの構成を示す図である。 照合装置 1 cは、 制御情報と XP a t h表現のいずれも入力されて良い。 制御情報が入力された場 合、 照合装置 1 cの制御部 2が入力された制御情報を用いて照合処理を実行する。 一方、 XP a t h表現が入力された場合、 照合装置 1 cの制御情報作成部 4がこ の XP a t h表現を用いて制御情報を作成し、 作成された制御情報を用いて制御 部 2が照合処理を実行する。
〔 〔第一の具体例〕 〕
図 13は、 制御情報作成部 4によって作成される制御情報の第一の具体例を示 す図である。 図 1 3では、 具体例として、 " o c//p a r a [© t y p e -' wa r n i n g' ] " という XP a t h表現が制御情報作成部 4に入力され ると仮定する。 ここで、 XP a t hインプリメンテーション 3 a, XP a t hィ ンプリメンテーシヨン 3 b, 及ぴ XP a t hインプリメンテーシヨン 3 cは、 判 断不能であることを出力するように構成された疑似 XP a t hインプリメンテ一 シヨンではないと仮定する。 また、 ステップ制御命令のフォーマットを (ステツ プ番号, XP a t hインプリメンテーション名, XP a t h表現, コンテクスト 指定子) とする。 上記の XP a t h表現が入力されると、 制御情報作成部 4は、 図 1 3に示される 3つのステップ制御命令を含む制御情報を作成する。 即ち、 制 御情報作成部 4は、 (1, A, /d o c, 文書要素ノード) , (2, B, . / / a r a, 出力ノード) , (3, C, /d o c / / p a r a [@ t y p e =' w a r n i n g' ] , 文書要素ノード) というステップ制御命令を含む制御情報を 作成する。
制御部 2は、 作成された制御情報を用いて照合処理を実行する。 この場合、 制 御部 2は、 3つのステップ制御命令のうち、 ステップ番号が 1, 2である 2つの ステップ制御命令を用いて、 条件と大きく異なる入力 XML文書を早くふるい落 とす。 即ち、 制御部2は、 疑似 XP a t hインプリメンテーションである XP a t hインプリメンテーション 3 a , 3 bを用いて、 高速な照合処理を実行する。 そして、 制御部 2は、 ふるい落とされなかった入力 XML文書に対し、 本来の X P a t hインプリメンテーシヨンである XP a t hインプリメンテ ション 3 c を用いて、 XP a t hの全ての機能による照合処理を実行する。
〔 〔第二の具体例〕 〕
図 14は、 制御情報作成部 4によって作成される制御情報の第二の具体例を示 す図である。 図 14では、 具体例として、 " Zd o c//p a r a [© t y e =' wa r n i n g' ] " という X P a t h表現が制御情報作成部 4に入力され ると仮定する。 ここで、 XP a t hインプリメンテーション 3 a及ぴ XP a t h インプリメンテーシヨン 3 bは、 判断不能であることを出力するように構成され た疑似 XP a t hインプリメンテーションを用いて構成される。 このため、 制御 部 2は、 図 6に示されるフローチャートにしたがって動作する。 また、 このため、 制御情報作成部 4は、 単純な制御情報しか作成しない。 従って、 上記の XP a t h表現が入力されると、 制御情報作成部 4は、 (1, A, /d o c//p a r a [@ t y p e =' w a r n i n g ' ] , 文書要素ノード) , ( 2, B , Z d o c / / V a r a [@ t y p e =' w a r n i n g ' ] , 文書要素ノード) , (3, C, / d o c/Xp a r a L@ t y p e = w a r n i n g ] , 文書要素ノ一 ド) というステップ制御命令を含む制御情報を作成する。
ある入力 XML文書が" / d o cZc h a p t e r p a r a" なる XP a t h表現に当てはまる p a r a要素を持ち、 それが" w a r n i n g" という文字 列値を持つ t y p e属性を持っていたと仮定する。 この場合、 最初のステップ、 即ちステップ番号 1のステップ制御命令における処理では、 XP a t hインプリ メンテーシヨン 3 aは、 文書要素ノードが" d o c" であること (つまり" d o c " までは当てはまること) は確認できる。 しかし、 XP a t hインプリメンテ ーシヨン 3 aは、 それ以降の照合に必要な機能は提供されていないため、 「判断 不能」 を出力する。
次に、 ステップ番号 2のステップ制御命令における処理では、 XP a t hイン プリメンテーシヨン 3 bは、 " /d o c//v a r a " に当てはまるノードを発 見するまでの処理を実行する。 しかし、 XP a t hインプリメンテーション 3 b は、 その先、 即ち述部に書かれた属性名とその値のチェックまでは処理できない。 このため、 XP a t hインプリメンテーション 3 bは、 「判断不能」 を出力する。 次に、 最後のステップ、 即ちステップ番号 3のステップ制御命令における処理 では、 XP a t hインプリメンテーシヨン 3 cは、 本来の X P a t hに従った処 理を実行し、 上記の要素を見いだし、 処理を終了する。
一方で、 入力 XML文書が異なる内容であれば、 上記の例よりも早い段階で処 理が終了される場合もある。 ここでは、 入力される XML文書が文書要素ノー ド" d o c" を持つがその下に" p a r a " 要素を 1つも持たないと仮定する。 この場合、 最初のステップでは 「判断不能」 が出力されるが、 二つ目のステップ で照合が失敗し、 この入力 XML文書に対する処理が終了する。 また、 入力 XM L文書の文書要素ノードが" d o c" でない場合、 最初のステップで照合が失敗 し、 この入力 XML文書に対する処理が終了する。 〔 〔その他の具体例〕 〕
照合装置 1 cの制御情報作成部 4に入力される X P a t h表現の他の例とし て、 " Z d o c Z@ s t y 1 e " が入力された場合、 ( 1 , A, " /d o c" , 文書要素ノード) , (2, C, " /d 0 c/@ s t y 1 e" , 文書要素ノード) という制御情報が作成される。
また、 照合装置 1 cの制御情報作成部 4に入力される XP a t h表現の他の例 として、 ,, ZZp a r a [@ t y p e =' wa r n i n g' ] " が入力された場 合、 (1, B, ,, //p a r a" , 文書要素ノード) , (2, C" //p a r a [@ t y p e =' wa r n i n g' ] " , 文書要素ノード) という制御情報が作 成される。
また、 照合装置 1 cの制御情報作成部 4に入力される XP a t h表現の他の例 として、 ,, ZZp a r a o r / / f o o t n o t e" が入力された場合、 (1, C, ,, //p a r a o r // f o o t n o t e" , 文書要素ノード) という制御情報が作成される。
〔適用例〕
本発明による照合装置 1 a, 1 b, 1 c (以下、 これらをまとめて照合装置 1 と呼ぶ) は、 1つの XML文書が入力される場合ではなく、 多くの XML文書が 入力される場合を想定しており、 そのような場合に効果的に高速化を実現する。 このような、 本発明による照合装置 1が効果的に適用される例を 2つ説明する。
1つ目は、 XML文書の検索処理であり、 例えばデータベース内の大量の XM L文書の中から特定の条件を満たす XML文書の検索処理に適用される場合に、 本発明による照合装置 1は有効である。 図 15は、 本発明による照合装置 1が検 索処理に適用された場合の概念を示す図である。 この場合、 まず、 あらかじめ所 定の XP a t h表現 (検索対象となる XML文書の条件を示す XP a t h表現) が照合装置 1に入力される。 次に、 データベース内の XML文書が順々に照合装 置 1へ入力され、 XP a t h表現に示される条件に合う XML文書のみが取り出 される (列挙される) 。
2つ目は、 XML文書のフィルタリング処理であり、 例えば外部ネットワーク から XML文書を受信するサーバシステムにおいて実行されるフィルタリング処 理に適用される場合に、 本発明による照合装置 1は有効である。 図 16は、 本発 明による照合装置 1が、 このようなフィルタリング処理に適用された場合の概念 を示す図である。 この場合、 まず、 あらかじめ所定の XP a t h表現 (フィルタ リングの対象となる XML文書の条件を示す XP a t h表現) が照合装置 1に入 力される。 次に、 サーバシステムが外部ネットワークから XML文書を受信する たびに、 受信された XML文書が所定の XP a t h表現に示される条件に合う X ML文書か否かが照合される。 そして、 例えば、 条件に合わない XML文書は自 動的に廃棄されるなどの、 照合結果に応じた処理が実行される。 産業上の利用可能性
本発明は、 文書データ等によって構成されるデータベースの作成や、 このよう なデータベースの保守 ·管理などのサービスを提供する産業に適用可能である。

Claims

請求の範囲
1 . 規定された全ての機能のうち一部の機能を用いて照合を行う第一の照合手段 と、
規定された全ての機能を用いて照合を行う第二の照合手段と、
照合対象の複数のデータについて、 まず、 第一の照合手段を用いた照合を実行 し、 第一の照合手段によって照合が成功したと判断されたデータのみについて第 二の照合手段を用いた照合を実行し、 第二の照合手段による照合結果を出力する ように前記第一の照合手段及び第二の照合手段を制御する制御手段と
を備える照合装置。
2 . 前記規定された全ての機能のうち一部の機能であって、 前記第一の照合手段 が用いる全ての機能を含む機能を用いて照合を行う第三の照合手段をさらに備え、 前記制御手段は、 照合対象の複数のデータについて、 まず、 第一の照合手段を 用いた照合を実行し、 第一の照合手段によって照合が成功したと判断されたデー タのみについて第三の照合手段を用いた照合を実行し、 第三の照合手段によって 照合が成功したと判断されたデータのみについて第二の照合手段を用いた照合を 実行し、 第二の照合手段による照合結果を出力するように前記第一の照合手段と 第二の照合手段と第三の照合手段とを制御する
請求の範囲 1に記載の照合装置。
3 . 前記制御手段は、 第一の照合手段を用いた照合において照合が失敗したと判 断されたデータについて、 第二の照合手段を用いた照合を実行することなく、 第 一の照合手段による照合結果を出力するように前記第一の照合手段及び第二の照 合手段を制御する請求の範囲 1に記載の照合装置。
4 . 前記第一の照合手段は、 自身が持つ機能では指定された照合を実行できない 場合に、 判断不能であることを示す値を出力し、
前記制御手段は、 前記第一の照合手段が判断不能であることを示す値を出力し た場合、 前記複数のデータの全てについて前記第二の照合手段を用いた照合を実 行するように前記第一の照合手段及び第二の照合手段を制御する
請求の範囲 1に記載の照合装置。
5 . 複数の条件のうち一部の条件についてデータの照合を行う第一の照合手段と、 前記複数の条件のうち、 前記一部の条件と、 さらなる 1以上の条件とについて、 データの照合を行う第二の照合手段と、
照合対象の複数のデータついて、 まず、 第一の照合手段を用いた照合を実行し、 第一の照合手段によって条件を満たすと判断されたデータのみについて第二の照 合手段を用いた照合を実行し、 第二の照合手段による照合結果を出力するように 前記第一の照合手段及び第二の照合手段とを制御する制御手段と
を備える照合装置。
6 . 前記第二の照合手段は、 前記複数の条件の全てについてデータの照合を行う 請求の範囲 5に記載の照合装置。
7 . 前記複数の条件の全てについてデータの照合を行う第三の照合手段をさらに 備え、
前記制御手段は、 照合対象の複数のデータついて、 まず、 第一の照合手段を用 いた照合を実行し、 第一の照合手段によって条件を満たすと判断されたデータの みについて第二の照合手段を用いた照合を実行し、 第二の照合手段によって条件 を満たすと判断されたデータのみについて第三の照合手段を用いた照合を実行し、 第三の照合手段による照合結果を出力するように前記第一の照合手段と第二の照 合手段と第三の照合手段とを制御する
請求の範囲 5に記載の照合装置。
8 . 前記第一の照合手段及び前記第二の照合手段は、 自身に与えられた条件につ いての照合を行うことができない場合に、 照合結果としてその旨を示す値を出力 する請求の範囲 5に記載の照合装置。
9 . 第一の条件情報及び照合データが入力され、 入力された照合データについて 第一の条件情報が示す条件を満たすか否かを判断し、 その照合結果を出力する第 一の照合手段と、
第二の条件情報及び前記第一の照合手段によつて第一の条件を満たしたと判断 された照合データが入力され、 入力された照合データについて第二の条件情報が 示す条件を満たすか否かを判断し、 その照合結果を出力する第二の照合手段と、 照合対象の複数の照合データについて、 まず、 第一の照合手段を動作させ、 次 に第二の手段を動作させ、 第二の照合手段による出力を自装置の出力として出力 するように制御する制御手段とを備え、
前記第二の条件情報が示す条件は、 前記第一の条件情報が示す条件を含み、 前 記第一の条件情報が示す条件よりも等しい又は多くの条件から成る照合装置。
1 0 . 照合の条件を示す照合条件が入力され、 入力された照合条件から前記第一 の条件情報及び前記第二の条件情報を作成する条件情報作成手段をさらに備える 請求の範囲 9に記載の照合装置。
1 1 . 前記照合データは、 複数のノードから構成される木構造データであり、 前記第二の照合手段は、 前記入力された照合データについての照合を、 照合デ ータのルートノードから開始する力、、 又は前記第一の照合手段による照合が終了 した時点のノードから開始するかのいずれかを選択可能である
請求の範囲 9に記載の照合装置。
1 2 . 前記照合データは、 複数のノードから構成される木構造データであり、 前記第二の照合手段は、 前記入力された照合データについての照合を、 照合デ ータのルートノードから開始する力 又は前記第一の照合手段による照合が終了 した時点のノードから開始するかのいずれかを選択可能であり、
前記条件情報作成手段は、 前記第二の条件情報を作成する際に、 照合データに ついての照合を開始するノードを示す値を第二の条件情報に含める
請求の範囲 1 0に記載の照合装置。
1 3 . 前記第一の照合手段は、 自身に入力された照合データについて、 自身に入 力された前記第一の条件情報が示す条件を満たすか否かを判断できない場合、 判 断不能であることを示す値を出力する請求の範囲 9に記載の照合装置。
1 4 . 前記第一の照合手段は、 自身に入力された照合データについて、 自身に入 力された前記第一の条件情報が示す条件を満たすか否かを判断できない場合、 判 断不能であることを示す値を出力し、
前記条件情報作成手段は、 前記第一の条件情報と前記第二の条件情報とを同じ 条件で構成し、 前記第二の条件情報における照合の開始ノードを示す値を、 ルー' トノードを示す値に設定する
請求の範囲 1 2に記載の照合装置。
1 5 . 前記条件情報作成手段は、 入力された照合条件の先頭の条件のみを用いて 前記第一の条件情報を作成する請求の範囲 1 2に記載の照合装置。
1 6. 前記条件情報作成手段は、 照合を開始するノードをルートノードとし且つ 入力された照合条件の全ての条件を用いて前記第二の条件情報を作成する請求の 範囲 1 5に記載の照合装置。
1 7. 前記条件情報作成手段は、 照合を開始するノードを第一の照合手段の処理 が終了した時点のノードとし且つ入力された照合条件のうち先頭の条件を除く全 ての条件を用いて前記第二の条件情報を作成する請求の範囲 1 5に記載の照合装
1 8. 前記条件情報作成手段は、 入力された照合条件の先頭から子軸 (c h i 1 d軸) 又は子孫一自身軸 (d e s c e n d a n t— o r— s e l f 軸) を持つ口 ケーションステップのみによって構成される部分のみを用いて前記第一の条件情 報を作成する請求の範囲 1 2に記載の照合装置。
1 9. 前記条件情報作成手段は、 照合を開始するノ一ドをルートノードとし且つ 入力された照合条件の全ての条件を用いて前記第二の条件情報を作成する請求の 範囲 1 8に記載の照合装置。
PCT/JP2002/013868 2002-12-27 2002-12-27 照合装置 WO2004061712A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/013868 WO2004061712A1 (ja) 2002-12-27 2002-12-27 照合装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/013868 WO2004061712A1 (ja) 2002-12-27 2002-12-27 照合装置

Publications (1)

Publication Number Publication Date
WO2004061712A1 true WO2004061712A1 (ja) 2004-07-22

Family

ID=32697348

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/013868 WO2004061712A1 (ja) 2002-12-27 2002-12-27 照合装置

Country Status (1)

Country Link
WO (1) WO2004061712A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04293161A (ja) * 1991-03-20 1992-10-16 Hitachi Ltd 文書検索方法および装置
JPH06290218A (ja) * 1993-04-01 1994-10-18 Mitsubishi Electric Corp 文書情報検索装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04293161A (ja) * 1991-03-20 1992-10-16 Hitachi Ltd 文書検索方法および装置
JPH06290218A (ja) * 1993-04-01 1994-10-18 Mitsubishi Electric Corp 文書情報検索装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Aaron Skonnard, "XPath o Tsukatte Infoset ni Access suru", Microsoft Developer Network Magazine Japanese edition, published on Ascii Corp., Japan, No. 5, 18 August 2000, pages 149-156 *
MORIKAWA et al., "OSS ni okeru Anzen na XML Message Kokan Gijutsu no Kento", The Institute of Electronics, Information and Communication Engineers Gijutsu Kenkyu Hokoku, published on The Institute of Electronics, Information and Communication Engineers, Japan, 17, May 2002, Vol. 102, No. 75 (TM2002-13) pages 25-30 *
WATANABE et al., "Kozoka Bunsho o Taisho to shita Mojiretsu Kensaku to Vector Kensaku no Togo ni tsuite", Information Processing Society of Japan Kenkyu Hokoku, published on Information Processing Society of Japan, Japan, Vol. 2000, No. 69 (2000_DBS-122-48) 28 July 2000, pages 369-376 *

Similar Documents

Publication Publication Date Title
CN111273898B (zh) web前端代码自动化构建方法、系统及存储介质
EP2133795A1 (en) System and method for testing a software product
US9063808B2 (en) Deploying a package for a software application
JP2551312B2 (ja) ジョブステップ並列実行方式
US8869111B2 (en) Method and system for generating test cases for a software application
KR102044046B1 (ko) 텔레메트리 파일 해시 및 충돌 검출 기법
JP5772079B2 (ja) 自動生成された変換を使う印刷システムにおける改善されたjdfチケット処理の方法および構造
JP6673355B2 (ja) 配備装置、配備方法、及び、プログラム
CN109324958B (zh) 一种rest统一校验方法、装置、设备及可读存储介质
CN110019038A (zh) 文件引用分析方法、装置、设备及计算机可读存储介质
CN113259397B (zh) 一种执行预案的方法、装置、设备及可读存储介质
CN114237688A (zh) 分支版本合并方法、装置、系统及电子设备
CN110309364B (zh) 一种信息抽取方法及装置
US20040223176A1 (en) Job control device, job control file, job control method, and job control program
WO2004061712A1 (ja) 照合装置
US20100023147A1 (en) Reconfiguration of assets for reuse during manufacturing
US20080172659A1 (en) Harmonizing a test file and test configuration in a revision control system
JP2004145381A (ja) ソースプログラムの静的解析装置
CN113254040B (zh) 前端框架更新方法、装置、设备及存储介质
JP5414191B2 (ja) 文書変換システムおよび文書変換制御プログラム
US8775873B2 (en) Data processing apparatus that performs test validation and computer-readable storage medium
CN112486511A (zh) 一种通过web生成操作系统安装镜像的方法
Dimitrov et al. Development of a Programming Continuous Integration System
CN115408047B (zh) 一种版本发布方法、装置及电子设备
CN111539185B (zh) 作业处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP