Source: http://www.google.com/patents/US20030167445?dq=552685
Timestamp: 2016-02-12 21:22:14
Document Index: 172962308

Matched Legal Cases: ['art 600', 'art 600', 'art 600', 'art 800', 'art 700', 'art 200']

Patent US20030167445 - Method and system of document transformation between a source extensible ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsA method and system for the transformation of extensible markup language (XML) documents. Specifically, one embodiment of the present invention discloses a method comprising modeling a source XML document corresponding to a source schema as a source tree having a plurality of source nodes, and modeling...http://www.google.com/patents/US20030167445?utm_source=gb-gplus-sharePatent US20030167445 - Method and system of document transformation between a source extensible markup language (XML) schema and a target XML schemaAdvanced Patent SearchPublication numberUS20030167445 A1Publication typeApplicationApplication numberUS 10/091,237Publication dateSep 4, 2003Filing dateMar 4, 2002Priority dateMar 4, 2002Also published asUS8032828Publication number091237, 10091237, US 2003/0167445 A1, US 2003/167445 A1, US 20030167445 A1, US 20030167445A1, US 2003167445 A1, US 2003167445A1, US-A1-20030167445, US-A1-2003167445, US2003/0167445A1, US2003/167445A1, US20030167445 A1, US20030167445A1, US2003167445 A1, US2003167445A1InventorsHong Su, Harumi Kuno, Elke RundensteinerOriginal AssigneeHong Su, Kuno Harumi Anne, Rundensteiner Elke AngelikaExport CitationBiBTeX, EndNote, RefManPatent Citations (37), Referenced by (155), Classifications (7), Legal Events (6) External Links: USPTO, USPTO Assignment, EspacenetMethod and system of document transformation between a source extensible markup language (XML) schema and a target XML schema
Cost(op)=(DC(op)+PDC(op))*Fac(op). Generation of Simplified Element Tree Matches [0071] In one embodiment, the domain of business documents that are exchanged between services shares a common ontology. Name similarity is used as the first heuristic indicator of a possible semantic relationship between two tag nodes. For example, in FIGS. 3a and 3 b, each document root has a child node named personnel, so without looking at their descendants, these two nodes can be matched. [0072] Further, the matching between the descendants of two personnel nodes are matched by comparing the two personnel's type declaration trees separately. However suppose in DTD 350 of FIG. 3b, people were used instead of personnel and no synonym knowledge was given. It would be necessary to then look further at the descendants of personnel and people to decide whether to match them. [0073] In order to represent the semantic relationships between two XML documents, a simplified element tree is introduced, which is designed to capture the relationship between specific elements of the two documents, in accordance with one embodiment of the present invention. When two DTDs are provided, a tag node is non-renameable if there exists any tag in the other DTD whose name is the same or a synonym. [0074] A simplified element tree of element type E, denoted as ST(E), is a subtree of T's type declaration tree T(E) that roots at T(E)'s root with each branch ending at the first non-rename-able node reached. In FIGS. 3a and 3 b, the four subtrees within the dashed lines are simplified element trees of company, personnel, person and name in the two DTDs 300 and 350, respectively. For example, FIG. 3a shows the following subtrees: company 320, personnel 322, person 324, and name 326. In FIG. 3b, the subtrees are designated as follows: company 370, personnel 372, person 374, and name 376. [0075] Each name-match node can be associated with some cost factor. For example, the cost factor may indicate the “confidence” or “accuracy” of the match. The name-match nodes, combined with factors, can be used to reason about the simplified element tree in an abstract manner. [0076] [0076]FIG. 6 is a flow chart 600 of steps in a method for matching nodes between two XML DTDs. In one embodiment, an XML-structure-specific tree matching process matches nodes between two XML DTDs. The process is hereinafter referred to as the matchPropagate process. The general unordered tree matching problem is a notoriously high complexity non-polynomial (NP) problem. The typical assumption about relabelling does not hold in XML document matching, and thus those techniques do not apply. The matchPropagate tree matching process incorporates the domain characteristics of specific DTD tree transformation operations and the imposed constraints. [0077] Given a source simplified element tree, T1, and a target simplified element tree, T2, nodes in T1 are called source nodes, and nodes in T2 are called target nodes, in one embodiment as illustrated in FIG. 6. If n1 and n2 are a source and a target node, respectively, the matchPropagate process discovers a sequence of operations that transforms the subtree rooted at n1 to the subtree rooted at n2. The cost of the script is then the cost of matching n1 and n2. [0078] The matchPropagate process is composed of two phases, in accordance with one embodiment of the present invention. The first phase is the preprocessing phase of step 610. In step 610, the present embodiment creates two special nodes, namely, Φ1, mapped to deleted nodes and Φ2, mapped to removed nodes. Hence the operations add, insert, delete, remove and relabel set up a one-to-one mapping relationship. On the other hand, the operations unfold, fold, split and merge set up a one-to-many relationship. For example, unfold maps one subtree to multiple subtrees, split maps two nodes (a star quantifier and a choice list node) to a sequence list node. In order to make the matching discovery process for each node uniform, the simplified element trees are pre-processed. [0079] In the preprocessing phase of step 610, fold operations are first performed. For example, FIGS. 4a and 4 b illustrate a fold operation on the subtree 374 of FIG. 3b. The subtree 374 illustrated in FIG. 4a will be converted to subtree 474 of FIG. 4b. The plus quantifier node will be marked with a number (2) indicating the maximum occurrence of content particle fax. [0080] The merge operations are performed second. For example, FIGS. 5a, 5 b, and 5 c illustrate a merge operation on the subtree 326 of FIG. 3a. The subtree 326 of FIG. 5a is converted to the subtree 526 b of FIG. 5b first. Since the outermost sequence list construct is always ignored and by default implied, subtree 526 b of FIG. 5b will be converted to subtree 526 c FIG. 5c. The name node 510 is marked with a letter d in name nodes 512 and 514 to indicate that the arbitrary order flexibility has been dropped. [0081] In the second phase, one-to-one node mappings are found, in one embodiment. To derive the transformation from the subtree rooted at n1 and the subtree rooted at n2, for each child m1 of n1, an attempt is made to find a matching partner m2 (a matching partner can be one of the special nodes Φ1 or Φ2). This matching discovery is done in two passes, or two matching iterations. [0082] The present embodiment selects a plurality of candidate nodes in the target schema that are possible matches for each of the source nodes in the source schema. [0083] In the first pass, each child m1 of n1 is visited sequentially and compared against a certain set of target nodes, the plurality of candidate nodes, in step 620 of flow chart 600. The set of nodes that will be compared with the current source node is termed, matching candidate set (S). A plurality of node transformation sequences is generated. Each of the plurality of node transformation sequences transforms the particular source node to one of the plurality of candidate nodes. [0084] Since the constraint that a node cannot be directly operated on more than once applies, m1's matching partner m2 can only be on the same level as m1 (e.g., no operation or relabel operated on m1) or one level deeper than m1 (e.g., insert operated on m1) or a special node (e.g., delete or remove operated on m1), in accordance with one embodiment. By recursively applying the matchPropagate process to m1 and each node s in S, a node k can be found with the least matching cost c, that is based on an information capacity cost criteria. The matching cost c is essentially a cost or measurement of lost data. A control strategy determines whether to match the node m1 with k. Application of the control strategy determines if the selected node k satisfies a loss of data cost criteria that is the information capacity cost criteria, as implemented in step 630 of flow chart 600. [0085] If a match is found between m1 and m2 of the target tree, then the pair (m1, m2) is added to the pair of matching nodes in step 670. [0086] In the first pass, control strategy that is a delay-match scheme is applied which disallows matching m1 to k if c is not low enough (i.e., c is not less than the cost of deleting m1). This is illustrated in step 640, where the node m1 is added to a set of unmatched nodes from the source tree. [0087] After visiting all children of n1, the present embodiment begins the second pass, in step 650. In step 650, the present embodiment visits each unmatched node m1 of the source tree sequentially and compares it with each node m2 in a matching candidate set, as discussed previously. [0088] In step 660, the present embodiment traverses all unmatched children of n1 again, and compares them against possible candidates. Again, the matchPropagate process is applied to m1 and each node s in the set S in order to find the node k with the least matching cost c. Now a must-match scheme is applied in the second pass. This is in contrast to the delay-match scheme applied in the first pass. The node m1 would be matched to k if c is less than the cost of deleting m1 and adding k. [0089] If no match is found between m1 and m2, then, the present embodiment fails to match that particular node in step 680. On the other hand, if a match is found between m1 and m2 of the target tree, then the pair (m1, m2) is added to the pair of matching nodes in step 670. [0090] Table 300, illustrated below illustrates the matching candidate set, S, in the first pass, in one example. Table 400, following Table 300, illustrates the matching candidate set, S, in the second pass, for the same example. TABLE 300 Source Matching Candidate Set element element node on the same level. attribute attribute node on the same level. choice choice node on the same level sequence sequence node on the same level or one level deeper; Φ1. quantifier quantifier node on the same level or one level deeper; Φ. [0091] [0091] TABLE 400 Source Matching Candidate Set element element node on the same level. sequence node on the same level; attribute node on the same level. attribute element node on the same level. choice choice node on the same level or one deeper level. sequence sequence node on the same level or one level deeper; Φ1; quantifier node on the same level. quantifier quantifier node on the same level or one level deeper; Φ; sequence node on the same level. [0092] For example, given two matching DTDs' root element types, R1 and R2, the process matchPropagate is applied to the roots of the simplified trees of R1 and R2 to propagate the matches down the tree and identify matches between the name-match nodes of element types E1 and E2. The matchPropagate process is then applied to E1 and E2's simplified trees until no new name-match node matches are generated. In this way, a sequence of transformation operations is generated by combining each of the transformation sequences used to match each of the source nodes to a matched target node in the source XML schema, as implemented in step 830 of flow chart 800. [0093] An example is now described illustrating the match discovery process between the DTD tree 300 of FIG. 3a and DTD tree 350 of FIG. 3b, in accordance with one embodiment. Suppose the following parameter settings are used, where the cost of each data capacity gap category ranks from lower to higher in the order of DC-Preserve (0.25), DC-Increase (0.5), DC-Ambiguous (0.75) and DC-Reduce (1.0). Also, the value 0.5 is assigned to both potential data capacity gap parameters Wrequired and wrepeatable. [0094] As shown in FIGS. 3a and 3 b, there are 4 pairs of simplified element trees, i.e., company 320 and 370, personnel 322 and 372, person 324 and 374, and name 326 and 376, as discussed previously. The matchPropagate process is applied to the root type company's simplified element trees first. Then, the <company>300's children are traversed one by one. For <address>300, its matching candidate set is empty since all the element nodes on the same level (i.e., 2) are non-rename-able. For <cname>300, its matching candidate set contains only <cname>350. Since they have the same name, they are matched. Similarly, <personnel>300 is matched against <personnel>350. The matching candidate set for attribute <id>300 is empty. [0095] In pass 2, <address>300's matching candidate set contains only <,>350. The matchPropagate process is applied to derive the transformation script composed of an operation of relabelling “address” to “,”. If the operand factor cost of relabelling a tag node to a sequence list node is the default value (e.g., Fac(op)=1), then the total relabelling cost is (DC(op)+PDC(op))*Fac(op)=(0.25+0)*1=0.25. The operand factor cost of deleting the subtree rooted at <address>300 is the tree's leaf nodes' size, i.e., 4. [0096] Furthermore, supposing ks=1, the total cost is (DC(op)+PDC(op))*Fac(op)=(DC(op)+PDC(op))*ks*s=(1.0+0)*1*4=4.0. Since this value is larger than 0.25, the <address>300 is mapped against <,>350. Attribute <id>300's matching candidate set now contains element <id>350. Given the current parameter settings, they will be matched. The process of matching element type company is now complete, since each of <company>300's children has a partner. [0097] As for matching element type personnel, the two simplified element subtrees 322 and 372 of FIGS. 3a and 3 b, respectively, are isomorphic. The transformation script of matching <+>300 against <+>350 and matching <person>300 against <person>350 is then derived based on the isomorphic relationship. [0098] For matching element type person, in the preprocessing phase, the simplified element tree shown 374 of FIGS. 4a and 3 b has been converted to element subtree 474 shown in FIG. 4b. The node <name>300 is matched against <name>350 in pass 1. The node <?1>300's matching candidate set includes <+1>350, <?1>350 and <+2>350. The transformation script associated with matching against <+1>350 is composed of a single operation of relabelling <?1>300 from [“?”] to [“+”]. [0099] The transformation script associated with matching against <?1>350 is composed of deleting <email>300 and adding <url>350. Matching against <+2>350 is associated with relabelling from [“?”] to [“+”], deleting <email>300, adding <fax>350, and unfolding <fax>350. The node <+1>350 will be chosen as the partner since it is associated the least cost which is less than deleting <?1>300. Similarly, <?2>300 is matched against <?>350 and <+>300 is matched against <+2>350. The node <phonenum>350 is matched against Φ2, since it is added. [0100] For matching element type name, the simplified element tree 326 in FIGS. 5a and 3 a is converted to the element tree 526 c as shown in FIG. 5c. The element tree 526 c is then compared to element tree 376 as shown in FIG. 3b. Suppose the synonym knowledge provides the information that family and last, given and first are synonyms, then we have <family>300 matched against <last>350, <given>300 matched against <first>350, and the subtree rooted at <?>300 matched against Φ2. Generation of XSLT for Transforming Documents [0101] Based on the established semantic relationship between two DTDs, the Extensible Stylesheet Language Transformation (XSLT) language, designed for transforming individual XML documents, can be used to specify and then execute the transformation, in accordance with one embodiment of the present invention. XSLT understands exactly which nodes in the XML documents are operated on. [0102] [0102]FIG. 7 is a flow chart 700 illustrating steps in a method for converting a sequence of transformation operations into an XSLT script, in accordance with one embodiment of the present invention. Each node n in the DTD tree is associated with a set of nodes in the XML tree which can be specified by an XSLT expression. By definition, this XSLT expression is n's XSLT expression. [0103] For each matching element type pair, the two roots of the simplified element trees associated with the element types match, and the XSLT generator generates a named template. It then will traverse the target simplified element tree in a breadth-first manner in step 705. The present embodiment then proceeds to decision step 707 to determine if the traverse is finished. If yes, then the process in FIG. 7 is complete. The following discussion illustrates the XSLT expressions that are generated based on the visited node, in one example, when it is determined that the tree has not been fully traversed in step 707. The DTD 1 of Table 1 and the DTD 2 of Table 2 are used as examples for generating an XSLT script for transformation. [0104] The type of node will determine how the XSLT transformation will occur. For example, in step 710, if an element node is to be transformed into an XSLT expression, the present embodiment determines if the element type is associated with a template, in step 715. A named template is defined for an element type in a target DTD, in step 717, if it is associated with a simplified element tree pair. [0105] For example, in Tables 1 and 2, element type person in DTD 1 matches person in DTD 2 and then there is a named template person-trans defined for deriving target instances of element type person from source instances of person. If named template person-trans has not been defined yet, the template will be then generated. Once the generator reaches the tag node with name person, it will generate the following XSLT expressions: <person> <xsl:call-template name = “person-trans”/> </person> [0106] However, if the element type is not associated with a template in decision step 715, then the present embodiment generates the tag of the element type and recursively applies the process to its children, in step 719. If this element node is of type #PCDATA, then an XSLT expression, xsl:value-of> is generated. [0107] For example, an element type name is associated with a named template name-trans. To generate this template, the generator traverses name's i simplified element trees which is composed of the root of element type name itself and two children leaf tag nodes of type first and last. The following scripts are generated: <xsl:templage match = “name” name = “name-trans”> <first> <xsl:value-of select=“given”/> </first> <last> <xsl:value-of select =“family”/> </last> </xsl:template> [0108] The present embodiment determines if the node is an attribute node in step 720. If it is an attribute node, then the attribute is generated with the tag along with the node's XSLT expression, in step 722. [0109] The present embodiment determines if the node is a quantifier node in step 730, then in step 735, the present embodiment generates the appropriate XSLT expression. In one example, quantifier node n has a matching partner n′. The absence of a quantifier node between two non-quantifier nodes in DTD indicates that the content particle represented by the child node appears exactly one in the content model of the content particle represented by the parent node. Then, matching Φ1 to n (e.g., inserting n) as matching an implicit quantifer node whose properties are required and non-repeatable to n. [0110] For example, if changing from n′ to n is a data capacity preserving transformation, then the present embodiment generates a processing multiple elements XSLT expression (<xsl:for-each>). In the select clause, the present embodiment selects all the nearest descendant tag nodes of n′. For each such selected tag node, the expression <xsl: if> is generated with the test condition of deciding what element type is associated with the input node. Based on the element type, the process is recursively applied as illustrated below: <xsl:for-each select = “person”> <xsl:if test = “(local-name ( ) = ‘person’)”> <person> <xsl:call-template name = “person-trans”/> </person> </xsl:if> </xsl:for-each> </xsl:template> [0111] In another case, at least one target XML data node in a target XML document is required to be instantiated while its data source, a corresponding source XML data node, is not provided. Such is the case if the transformation of changing from n′ to n changes the property of “required” from not required to required, or from countable-repeatable to countable-repeatable with an increasing repeating number, but, does not change the property of “repeatable” from repeatable to non-repeatable or countable-repeatable. In such an instance, the present embodiment will generate <xsl:if> to test whether the source data is available. If not, tags for reminding that additional data is needed are generated. [0112] For example, the following XSLT script is generated when content particle email* in element type person is changed to email+. <xsl:if test = “(count(email)=0)”> <email> value needed here </email> </xsl:if> <xsl:for-each select = “email”> <xsl:if test = “(local-name( ) = ‘email’)”> <email> </xsl:apply-templates/> </email> </xsl:if> </xsl:for-each> [0113] In still another case, a situation may arise where only a subset of multiple data sources are needed to instantiate the target XML data nodes. Such is the case if the transformation of changing from n′ to n changes the property of “repeatable” either (1) from repeatable to countable-repeatable to non-repeatable, or (2) from countable-repeatable to countable-repeatable with a decrease of the repeating number, and if the transformation does not change the property of “required” from not required to required. As such, the select clause is slightly different from the routine expression <xsl:for-each> generated for the current quantifier node. By default, the present embodiment instantiates the target XML data nodes by assigning the value from the first several source XML data nodes among all the available source XML data nodes. [0114] For example, in DTD 2 of Table 2 the following XSLT scripts are generated when person's content model, content particles fax, and fax, are replaced by fax. At most one XML data node of type fax can be present. <xsl:for-each select = “fax[position( )=1”> <xsl:if test = “(local-name( ) = ‘fax’)”> <fax> <xsl:apply-templates/> </fax> </xsl:if> </xsl:for-each> [0115] Returning now to step 740, if the present embodiment determines that the node is a list node, then for a sequence list node, no XSLT expressions are generated. However, if in step 740, a choice list node is determined, then the present embodiment generates a making choices XSLT expression (e.g., <xsl:if>), in step 745. Since choice list node indicates that one branch of this node's children will be chosen, <xsl:if> will change the output based on the input. [0116] If no nodes are reached, as in element node in step 710, or attribute node in step 720, or quantifier node in step 730, or choice list node in step 740, then nothing is done, and the process returns to step 705. [0117] While the methods of embodiments illustrated in flow chart 200, 600, 700, and 800 show specific sequences and quantity of steps for automatically transforming one XML document to another, the present invention is suitable to alternative embodiments. For example, not all the steps provided for in the method are required for the present invention. Furthermore, additional steps can be added to the steps presented in the present embodiment. Likewise, the sequences of steps can be modified depending upon the application. [0118] A method for automatically transforming one XML schema to another XML schema through a sequence of transformation operations, is thus described. The present invention incorporates domain-specific characteristics of the XML documents, such as, domain ontology, common transformation types, and specific DTD modeling constructs (e.g., quantifiers and type-constructors) to discover and develop the sequence of transformation operations. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the below claims. Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS6119130 *Mar 28, 1996Sep 12, 2000Oracle CorporationMethod and apparatus for providing schema evolution without recompilationUS6480865 *Oct 5, 1998Nov 12, 2002International Business Machines CorporationFacility for adding dynamism to an extensible markup languageUS6487566 *Oct 5, 1998Nov 26, 2002International Business Machines CorporationTransforming documents using pattern matching and a replacement languageUS6507857 *Mar 10, 2000Jan 14, 2003Sun Microsystems, Inc.Extending the capabilities of an XSL style sheet to include components for content transformationUS6654734 *Aug 30, 2000Nov 25, 2003International Business Machines CorporationSystem and method for query processing and optimization for XML repositoriesUS6748569 *Sep 20, 1999Jun 8, 2004David M. BrookeXML server pages languageUS6763343 *Sep 20, 1999Jul 13, 2004David M. BrookePreventing duplication of the data in reference resource for XML page generationUS6772413 *Dec 8, 2000Aug 3, 2004Datapower Technology, Inc.Method and apparatus of data exchange using runtime code generator and translatorUS6823495 *Sep 14, 2000Nov 23, 2004Microsoft CorporationMapping tool graphical user interfaceUS6845380 *Mar 4, 2002Jan 18, 2005Hewlett-Packard Development Company, L.P.Method and system of valuing transformation between extensible markup language (XML) documentsUS6874141 *Jun 29, 2000Mar 29, 2005Microsoft CorporationMethod of compiling schema mappingUS6950984 *Feb 23, 2001Sep 27, 2005International Business Machines CorpMethod, system for, and program product for generating a display rule for a structured document, and for changing a structured document and its document type definitionUS7072896 *Feb 14, 2001Jul 4, 2006Verizon Laboratories Inc.System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema thereforUS7076728 *Dec 22, 2000Jul 11, 2006International Business Machines CorporationMethod and apparatus for end-to-end content publishing system using XML with an object dependency graphUS7107521 *Jul 3, 2001Sep 12, 2006International Business Machines CorporationXSL dynamic inheritanceUS7114147 *Apr 23, 2001Sep 26, 2006Electronic Data Systems CorporationMethod and system for reporting XML data based on precomputed context and a document object modelUS7120869 *Aug 16, 2001Oct 10, 2006Sun Microsystems, Inc.Enhanced mechanism for automatically generating a transformation documentUS7159185 *Sep 14, 2000Jan 2, 2007Microsoft CorporationFunction objectsUS20010018696 *Feb 23, 2001Aug 30, 2001Masahiro HoriMethod and system for generating a display rule for a structured document, storage medium for storing a program therefor, method and system for changing a structured document and its document type definition, and storage medium for storing a program thereforUS20010044811 *Apr 23, 2001Nov 22, 2001Electronic Data Systems CorporationMethod and system for reporting XML data based on precomputed context and a document object modelUS20010056504 *Feb 26, 2001Dec 27, 2001Eugene KuznetsovMethod and apparatus of data exchange using runtime code generator and translatorUS20020035579 *Jan 24, 2001Mar 21, 2002Wang Wayne W.Transform rule generator for web-based markup languagesUS20020111964 *Feb 14, 2001Aug 15, 2002International Business Machines CorporationUser controllable data grouping in structural document translationUS20020123878 *Feb 5, 2001Sep 5, 2002International Business Machines CorporationMechanism for internationalization of web content through XSLT transformationsUS20020133516 *Dec 22, 2000Sep 19, 2002International Business Machines CorporationMethod and apparatus for end-to-end content publishing system using XML with an object dependency graphUS20020143644 *Apr 3, 2001Oct 3, 2002Cafer TosunConnection tool for connecting analytical applications to electronic document sourcesUS20020143816 *Mar 6, 2001Oct 3, 2002Geiger Michael P.Method and system for using a generalized execution engine to transform a document written in a markup-based declarative template language into specified output formatsUS20020143821 *Dec 15, 2000Oct 3, 2002Douglas JakubowskiSite mining stylesheet generatorUS20020147745 *Apr 9, 2001Oct 10, 2002Robert HoubenMethod and apparatus for document markup language driven serverUS20020194220 *Apr 24, 2001Dec 19, 2002Harm SluimanMethod and device for semantic reconciling of complex data modelsUS20030074181 *Jun 29, 2001Apr 17, 2003Shari GharavyExtensibility and usability of document and data representation languagesUS20030163597 *May 25, 2001Aug 28, 2003Hellman Ziv ZalmanMethod and system for collaborative ontology modelingUS20030167254 *Mar 4, 2002Sep 4, 2003Hong SuMethod and system of valuing transformation between extensible markup language (XML) documentsUS20040205549 *Jun 28, 2001Oct 14, 2004Philips Electronics North America Corp.Method and system for transforming an xml document to at least one xml document structured according to a subset of a set of xml grammar rulesUS20040205615 *Aug 16, 2001Oct 14, 2004Birder Matthew D.Enhanced mechanism for automatically generating a transformation documentUS20040216030 *Jan 15, 2002Oct 28, 2004Hellman Ziv Z.Method and system for deriving a transformation by referring schema to a central modelUS20050086584 *Dec 7, 2004Apr 21, 2005Microsoft CorporationXSL transform* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS6845380 *Mar 4, 2002Jan 18, 2005Hewlett-Packard Development Company, L.P.Method and system of valuing transformation between extensible markup language (XML) documentsUS7036073 *Jun 27, 2002Apr 25, 2006Microsoft CorporationSystem and method for supporting non-native XML in native XML of a word-processor documentUS7062708 *Sep 19, 2002Jun 13, 2006International Business Machines CorporationTree construction for XML to XML document transformationUS7069278Aug 6, 2004Jun 27, 2006Jpmorgan Chase Bank, N.A.System for archive integrity management and related methodsUS7069504 *Sep 19, 2002Jun 27, 2006International Business Machines CorporationConversion processing for XML to XML document transformationUS7076729 *May 9, 2002Jul 11, 2006International Business Machines CorporationGraphical specification of XML to XML transformation rulesUS7120869 *Aug 16, 2001Oct 10, 2006Sun Microsystems, Inc.Enhanced mechanism for automatically generating a transformation documentUS7127469Jun 13, 2003Oct 24, 2006Mark Logic CorporationXML database mixed structural-textual classification systemUS7139975 *Nov 12, 2002Nov 21, 2006Ntt Docomo, Inc.Method and system for converting structured documentsUS7165216 *Jan 14, 2004Jan 16, 2007Xerox CorporationSystems and methods for converting legacy and proprietary documents into extended mark-up language formatUS7171404Jun 13, 2003Jan 30, 2007Mark Logic CorporationParent-child query indexing for XML databasesUS7200816Jan 21, 2004Apr 3, 2007Altova, GmbhMethod and system for automating creation of multiple stylesheet formats using an integrated visual design environmentUS7290263 *Dec 19, 2002Oct 30, 2007Extreme, Networks, Inc.Method and system for a scriptable command line interfaceUS7370270 *Oct 23, 2002May 6, 2008Aol Llc A Delaware Limited Liability CompanyXML schema evolutionUS7440967Nov 10, 2004Oct 21, 2008Xerox CorporationSystem and method for transforming legacy documents into XML documentsUS7480859 *Oct 4, 2005Jan 20, 2009International Business Machines CorporationTree construction for XML to XML document transformationUS7593949Jan 9, 2006Sep 22, 2009Microsoft CorporationCompression of structured documentsUS7620632 *Dec 7, 2004Nov 17, 2009Skyler Technology, Inc.Method and/or system for performing tree matchingUS7627591Dec 1, 2009Skyler Technology, Inc.Method and/or system for manipulating tree expressionsUS7630995Dec 8, 2009Skyler Technology, Inc.Method and/or system for transmitting and/or receiving dataUS7636727Dec 22, 2009Skyler Technology, Inc.Enumeration of trees from finite number of nodesUS7669120 *Jun 21, 2002Feb 23, 2010Microsoft CorporationMethod and system for encoding a mark-up language documentUS7681177Mar 16, 2010Skyler Technology, Inc.Method and/or system for transforming between trees and stringsUS7698634 *May 23, 2005Apr 13, 2010Computer Associates Think, Inc.System and method for data manipulationUS7707024May 23, 2002Apr 27, 2010Microsoft CorporationMethod, system, and apparatus for converting currency values based upon semantically labeled stringsUS7707496May 9, 2002Apr 27, 2010Microsoft CorporationMethod, system, and apparatus for converting dates between calendars and languages based upon semantically labeled stringsUS7711550Apr 29, 2003May 4, 2010Microsoft CorporationMethods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized namesUS7712024Jul 16, 2001May 4, 2010Microsoft CorporationApplication program interfaces for semantically labeling strings and providing actions based on semantically labeled stringsUS7716163Jul 17, 2001May 11, 2010Microsoft CorporationMethod and system for defining semantic categories and actionsUS7716676Jun 25, 2002May 11, 2010Microsoft CorporationSystem and method for issuing a message to a programUS7730396 *Nov 13, 2006Jun 1, 2010Xerox CorporationSystems and methods for converting legacy and proprietary documents into extended mark-up language formatUS7739588Jun 27, 2003Jun 15, 2010Microsoft CorporationLeveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and dataUS7742048May 23, 2002Jun 22, 2010Microsoft CorporationMethod, system, and apparatus for converting numbers based upon semantically labeled stringsUS7756858Dec 6, 2006Jul 13, 2010Mark Logic CorporationParent-child query indexing for xml databasesUS7770102Jun 6, 2000Aug 3, 2010Microsoft CorporationMethod and system for semantically labeling strings and providing actions based on semantically labeled stringsUS7778816Apr 24, 2001Aug 17, 2010Microsoft CorporationMethod and system for applying input mode biasUS7783614 *Feb 13, 2003Aug 24, 2010Microsoft CorporationLinking elements of a document to corresponding fields, queries and/or procedures in a databaseUS7788590Sep 26, 2005Aug 31, 2010Microsoft CorporationLightweight reference user interfaceUS7788602Jul 16, 2001Aug 31, 2010Microsoft CorporationMethod and system for providing restricted actions for recognized semantic categoriesUS7801923Dec 6, 2004Sep 21, 2010Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family TrustMethod and/or system for tagging treesUS7823123Mar 17, 2006Oct 26, 2010The Mitre CorporationSemantic system for integrating software componentsUS7827546Dec 9, 2003Nov 2, 2010Microsoft CorporationMechanism for downloading software components from a remote source for use by a local software applicationUS7840895May 23, 2005Nov 23, 2010Computer Associates Think, Inc.System and method for data manipulationUS7877421Aug 8, 2003Jan 25, 2011International Business Machines CorporationMethod and system for mapping enterprise data assets to a semantic information modelUS7877726 *Jul 13, 2004Jan 25, 2011The Mitre CorporationSemantic system for integrating software componentsUS7882147Dec 6, 2004Feb 1, 2011Robert T. and Virginia T. JenkinsFile location naming hierarchyUS7882149Nov 29, 2005Feb 1, 2011Canon Kabushiki KaishaSystem and method for future-proofing devices using metaschemaUS7886225 *Jun 28, 2004Feb 8, 2011Common Ground Publishing Pty. Ltd.Method and apparatus for the creation, location and formatting of digital contentUS7899821Apr 26, 2006Mar 1, 2011Karl SchiffmannManipulation and/or analysis of hierarchical dataUS7900136 *Nov 21, 2005Mar 1, 2011Canon Kabushiki KaishaStructured document processing apparatus and structured document processing method, and programUS7921098Jun 24, 2005Apr 5, 2011International Business Machines CorporationData query and location through a central ontology modelUS7930293 *Jan 4, 2005Apr 19, 2011International Business Machines CorporationRun-time architecture for enterprise integration with transformation generationUS7962474Mar 10, 2010Jun 14, 2011Marklogic CorporationParent-child query indexing for XML databasesUS7962503Jun 18, 2008Jun 14, 2011International Business Machines CorporationData query and location through a central ontology modelUS7987246May 23, 2002Jul 26, 2011Jpmorgan Chase BankMethod and system for client browser updateUS7992085May 15, 2007Aug 2, 2011Microsoft CorporationLightweight reference user interfaceUS8037102Oct 11, 2011Robert T. and Virginia T. JenkinsManipulating sets of hierarchical dataUS8060531Oct 17, 2008Nov 15, 2011International Business Machines CorporationData query and location through a central ontology modelUS8065606Sep 16, 2005Nov 22, 2011Jpmorgan Chase Bank, N.A.System and method for automating document generationUS8073827 *Feb 14, 2007Dec 6, 2011Canon Kabushiki KaishaProcessing device and processing methodUS8104076Nov 13, 2006Jan 24, 2012Jpmorgan Chase Bank, N.A.Application access control systemUS8316059Nov 20, 2012Robert T. and Virginia T. JenkinsEnumeration of rooted partial subtreesUS8356040Mar 20, 2006Jan 15, 2013Robert T. and Virginia T. JenkinsMethod and/or system for transforming between trees and arraysUS8370232Nov 18, 2005Feb 5, 2013Jpmorgan Chase Bank, National AssociationSystem and method for back office processing of banking transactions using electronic filesUS8392013Jan 27, 2006Mar 5, 2013Microgen Aptitude LimitedBusiness process automationUS8412746Dec 29, 2004Apr 2, 2013International Business Machines CorporationMethod and system for federated querying of data sourcesUS8438534Dec 29, 2009May 7, 2013Microgen Aptitude LimitedTransformation of data between hierarchical data formatsUS8443339May 14, 2013Robert T. and Virginia T. JenkinsMethod and/or system for transforming between trees and stringsUS8473929Jul 30, 2009Jun 25, 2013Raytheon CompanyArchitecture tailoring systemUS8548938Mar 15, 2012Oct 1, 2013International Business Machines CorporationBusiness rules for configurable metamodels and enterprise impact analysisUS8600893Jan 10, 2013Dec 3, 2013Jpmorgan Chase Bank, National AssociationSystem and method for back office processing of banking transactions using electronic filesUS8612461Nov 30, 2009Dec 17, 2013Robert T. and Virginia T. JenkinsEnumeration of trees from finite number of nodesUS8615530Dec 27, 2005Dec 24, 2013Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family TrustMethod and/or system for tree transformationUS8620938Feb 23, 2007Dec 31, 2013Microsoft CorporationMethod, system, and apparatus for routing a query to one or more providersUS8626777Oct 13, 2009Jan 7, 2014Robert T. JenkinsMethod and/or system for manipulating tree expressionsUS8645434 *Mar 18, 2008Feb 4, 2014Apple Inc.Techniques for schema production and transformationUS8706708Oct 26, 2007Apr 22, 2014Microsoft CorporationProviding contextually sensitive tools and help content in computer-generated documentsUS8732567Aug 10, 2011May 20, 2014Jpmorgan Chase Bank, N.A.System and method for automating document generationUS8768877Mar 7, 2006Jul 1, 2014Ca, Inc.System and method for data manipulationUS8769606 *Dec 29, 2009Jul 1, 2014Sap AgComputer-implemented method, computer system, and computer program product for optimization of evaluation of a policy specificationUS8949710 *Jul 12, 2005Feb 3, 2015Alcatel LucentGrammar and method for integrating XML data from multiple sourcesUS9002862Nov 21, 2013Apr 7, 2015Robert T. and Virginia T. JenkinsEnumeration of trees from finite number of nodesUS9020961Sep 24, 2012Apr 28, 2015Robert T. and Virginia T. JenkinsMethod or system for transforming between trees and arraysUS9038177Jul 27, 2011May 19, 2015Jpmorgan Chase Bank, N.A.Method and system for implementing multi-level data fusionUS9043347Nov 21, 2013May 26, 2015Robert T. and Virginia T. JenkinsMethod and/or system for manipulating tree expressionsUS9069739 *Jun 30, 2009Jun 30, 2015Sap Portals Israel Ltd.System and method for transforming hierarchical objectsUS9077515Jan 7, 2014Jul 7, 2015Robert T. and Virginia T. JenkinsMethod and/or system for transmitting and/or receiving dataUS9098476 *Jun 29, 2004Aug 4, 2015Microsoft Technology Licensing, LlcMethod and system for mapping between structured subjects and observersUS9177003Sep 9, 2011Nov 3, 2015Robert T. and Virginia T. JenkinsManipulating sets of heirarchical dataUS20020019781 *Jul 16, 2001Feb 14, 2002Analydia ShooksMethod and system for facilitating the anonymous purchase of goods and services from an e-commerce websiteUS20020156813 *Mar 28, 2002Oct 24, 2002Gardner Thomas GodfreyDeveloping documentsUS20030037031 *Aug 16, 2001Feb 20, 2003Birder Matthew D.Mechanism for automatically generating a transformation documentUS20030093760 *Nov 12, 2002May 15, 2003Ntt Docomo, Inc.Document conversion system, document conversion method and computer readable recording medium storing document conversion programUS20030110442 *Mar 28, 2002Jun 12, 2003Battle Steven AndrewDeveloping documentsUS20030167254 *Mar 4, 2002Sep 4, 2003Hong SuMethod and system of valuing transformation between extensible markup language (XML) documentsUS20030212698 *May 9, 2002Nov 13, 2003International Business Machines CorporationGraphical specification of XML to XML transformation rulesUS20040003343 *Jun 21, 2002Jan 1, 2004Microsoft CorporationMethod and system for encoding a mark-up language documentUS20040060003 *Sep 19, 2002Mar 25, 2004International Business Machines CorporationTree construction for XML to XML document transformationUS20040060004 *Sep 19, 2002Mar 25, 2004International Business Machines CorporationConversion processing for XML to XML document transformationUS20040060006 *Jun 13, 2003Mar 25, 2004Cerisent CorporationXML-DB transactional update schemeUS20040073541 *Jun 13, 2003Apr 15, 2004Cerisent CorporationParent-child query indexing for XML databasesUS20040083218 *Oct 23, 2002Apr 29, 2004An FengXML schema evolutionUS20040093344 *Aug 8, 2003May 13, 2004Ben BergerMethod and system for mapping enterprise data assets to a semantic information modelUS20040103091 *Jun 13, 2003May 27, 2004Cerisent CorporationXML database mixed structural-textual classification systemUS20040205583 *Jun 27, 2002Oct 14, 2004Microsoft CorporationSystem and method for supporting non-native XML in native XML of a word-processor documentUS20040205615 *Aug 16, 2001Oct 14, 2004Birder Matthew D.Enhanced mechanism for automatically generating a transformation documentUS20050060345 *Oct 30, 2003Mar 17, 2005Andrew DoddingtonMethods and systems for using XML schemas to identify and categorize documentsUS20050149484 *Jan 4, 2005Jul 7, 2005Joshua FoxRun-time architecture for enterprise integration with transformation generationUS20050154979 *Jan 14, 2004Jul 14, 2005Xerox CorporationSystems and methods for converting legacy and proprietary documents into extended mark-up language formatUS20050160359 *Jan 21, 2004Jul 21, 2005Alexander FalkMethod and system for automating creation of multiple stylesheet formats using an integrated visual design environmentUS20050187900 *Dec 6, 2004Aug 25, 2005Letourneau Jack J.Manipulating sets of hierarchical dataUS20050234889 *Dec 29, 2004Oct 20, 2005Joshua FoxMethod and system for federated querying of data sourcesUS20050240606 *Jun 24, 2005Oct 27, 2005Joseph EdelsteinData query and location through a central ontology modelUS20050257193 *May 13, 2004Nov 17, 2005Alexander FalkMethod and system for visual data mapping and code generation to support data integrationUS20050289457 *Jun 29, 2004Dec 29, 2005Microsoft CorporationMethod and system for mapping between structured subjects and observersUS20060004817 *Dec 7, 2004Jan 5, 2006Mark AndrewsMethod and/or system for performing tree matchingUS20060007464 *Jan 12, 2005Jan 12, 2006Percey Michael FStructured data update and transformation systemUS20060015538 *Dec 6, 2004Jan 19, 2006Letourneau Jack JFile location naming hierarchyUS20060015843 *Jul 13, 2004Jan 19, 2006Marwan SabbouhSemantic system for integrating software componentsUS20060026505 *Oct 4, 2005Feb 2, 2006Ravi ManiTree construction for XML to XML document transformationUS20060064666 *Sep 1, 2005Mar 23, 2006Amaru Ruth MBusiness rules for configurable metamodels and enterprise impact analysisUS20060095442 *Dec 7, 2004May 4, 2006Letourneau Jack JMethod and/or system for manipulating tree expressionsUS20060112327 *Nov 21, 2005May 25, 2006Shingo IwasakiStructured document processing apparatus and structured document processing method, and programUS20060123029 *Dec 7, 2004Jun 8, 2006Letourneau Jack JMethod and/or system for transmitting and/or receiving dataUS20060129582 *Dec 6, 2004Jun 15, 2006Karl SchiffmannEnumeration of trees from finite number of nodesUS20060155725 *Nov 29, 2005Jul 13, 2006Canon Kabushiki KaishaSystem and method for future-proofing devices using metaschemaUS20060200439 *May 23, 2005Sep 7, 2006Computer Associates Think, Inc.System and method for data manipulationUS20060200499 *May 23, 2005Sep 7, 2006Computer Associates Think, Inc.System and method for data manipulationUS20060200739 *Mar 7, 2006Sep 7, 2006Rishi BhatiaSystem and method for data manipulationUS20060200747 *Mar 7, 2006Sep 7, 2006Rishi BhatiaSystem and method for providing data manipulation using web servicesUS20060206883 *Mar 17, 2006Sep 14, 2006The Mitre CorporationSemantic system for integrating software componentsUS20060259533 *Feb 23, 2006Nov 16, 2006Letourneau Jack JMethod and/or system for transforming between trees and stringsUS20060271573 *Mar 20, 2006Nov 30, 2006Letourneau Jack JMethod and/or system for tranforming between trees and arraysUS20070016851 *Jul 12, 2005Jan 18, 2007Lucent Technologies Inc.Grammar and method for integrating XML data from multiple sourcesUS20070061713 *Nov 13, 2006Mar 15, 2007Xerox CorporationSystems and methods for converting legacy and proprietary documents into extended mark-up language formatUS20070136250 *Sep 14, 2006Jun 14, 2007Mark Logic CorporationXML Database Mixed Structural-Textual Classification SystemUS20070136261 *Feb 23, 2007Jun 14, 2007Microsoft CorporationMethod, System, and Apparatus for Routing a Query to One or More ProvidersUS20070162465 *Jun 28, 2004Jul 12, 2007Bill CopeMethod and apparatus for the creation, location and formatting of digital contentUS20070162470 *Jan 10, 2006Jul 12, 2007International Business Machines CorporationMethod and apparatus for event transformation and adaptive correlation for monitoring business solutionsUS20070162479 *Jan 9, 2006Jul 12, 2007Microsoft CorporationCompression of structured documentsUS20070208754 *Feb 14, 2007Sep 6, 2007Canon Kabushiki KaishaProcessing device and processing methodUS20080104579 *Oct 31, 2006May 1, 2008Sap AgSystems and methods of transforming XML schemasUS20080313232 *Jun 18, 2008Dec 18, 2008International Business Machines CorporationData Query and Location Through a Central Ontology ModelUS20090077051 *Oct 17, 2008Mar 19, 2009International Business Machines CorporationData Query and Location Through a Central Ontology ModelUS20090240726 *Mar 18, 2008Sep 24, 2009Carter Stephen RTechniques for schema production and transformationUS20100023925 *Jun 30, 2009Jan 28, 2010Sap Portals Israel LtdSystem and method for transforming hierarchical objectsUS20100115499 *Jul 30, 2009May 6, 2010Raytheon CompanyArchitecture Tailoring SystemUS20100162102 *Aug 5, 2009Jun 24, 2010Lemoine Eric TSystem and Method of Accelerating Document ProcessingUS20100306818 *Dec 2, 2010Sap AgComputer-Implemented Method, Computer System, And Computer Program Product for Optimization Of Evaluation Of A Policy SpecificationUS20110093774 *Oct 15, 2009Apr 21, 2011Microsoft CorporationDocument transformationUS20110131259 *Dec 17, 2010Jun 2, 2011Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Dated February 8, 2002File location naming hierarchyUS20110154184 *Jun 23, 2011International Business Machines CorporationEvent generation for xml schema components during xml processing in a streaming event modelUS20140372458 *Dec 14, 2012Dec 18, 2014Google Inc.Systems and Methods for Mapping Nodes of Disconnected GraphsEP2256660A1 *May 28, 2009Dec 1, 2010Sap AgComputer-implemented method, computer system, and computer program product for optimization of evaluation of a policy specificationEP2343644A1 *Dec 20, 2010Jul 13, 2011Microgen Aptitude LimitedTransformation of data between hierarchical data formats* Cited by examinerClassifications U.S. Classification715/239, 707/E17.126, 715/236International ClassificationG06F17/30, G06F15/00Cooperative ClassificationG06F17/3092European ClassificationG06F17/30X3MLegal EventsDateCodeEventDescriptionAug 5, 2002ASAssignmentOwner name: HEWLETT-PACKARD COMPANY, COLORADOFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SU, HONG;KUNO, HARUMI A.;RUNDENSTEINER, ELKE ANGELIKA;REEL/FRAME:013147/0694Effective date: 20020129Jun 18, 2003ASAssignmentOwner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.,COLORADOFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:013776/0928Effective date: 20030131May 15, 2015REMIMaintenance fee reminder mailedJun 4, 2015FPAYFee paymentYear of fee payment: 4Jun 4, 2015SULPSurcharge for late paymentNov 9, 2015ASAssignmentOwner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXASFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001Effective date: 20151027RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services