IP Library Granted Patent US 7,069,504
Granted Patent B2
US 7,069,504 · App. 10/246,991 · Granted Jun 27, 2006

Conversion processing for XML to XML document transformation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,069,504
App. No.
10/246,991
Granted
Jun 27, 2006
Kind
B2
Abstract

Transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, transforming the source XML document into a source document tree, where the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar; converting the source document tree into a target document tree satisfying the second XML grammar; and transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar.

Claims (105)

1. A method for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the method comprising:

transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar, wherein transforming the source XML document into a source document tree further comprises:

removing alternates and options;

converting imbedded repetitions and sequences to repeating children;

demoting attributes of elements having attributes to children of the elements having attributes;

converting recursive elements to repeating elements; and

demoting imbed leaves and compound repetitions;

converting the source document into a target document tree satisfying the second XML grammar; and

transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar.

2. The method of claim 1 further comprising pruning the source XML document, including selecting a root element for the target XML document and deleting all XML elements that are outside matching root tags in the source XML document.

3. The method of claim 1 wherein removing alternates and options further comprises adding start-tags and end-tags with null content for each missing, non-recursive XML element in the source XML document, including identifying missing, non-recursive elements in dependence upon the source DTD.

4. The method of claim 1 wherein converting imbeddded repetitions and sequences to repeating children further comprises creating repeating children elements, adding start-tags and end-tags for children elements, and deleting imbedded repetitions and sequences.

5. The method of claim 1 wherein demoting attributes of elements having attributes to children of the elements having attributes further comprises adding start-tags and end-tags identifying new attribute demotion elements incorporating attribute names as the names of the new elements, inserting attribute values as element values, and deleting the attributes.

6. The method of claim 1 wherein demoting imbedded leaves and compound repetitions further comprises adding imbedded leaf demotion tags to demote imbedded leaves and adding compound repetition demotion tags to demote compound repetitions.

7. A method for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the method comprising:

transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar;

converting the source document into a target document tree satisfying the second XML grammar, wherein converting the source document tree into a target document tree further comprises:

creating the target document tree in a form satisfying the second XML grammar and having tags containing only branches of children tags and leaves with null content;

inserting into the target document tree repeating elements in dependence upon corresponding element of the source document tree, including identifying the corresponding elements from the transformation rules; and

applying graphically specified transformation rules to elements of the source document tree, including generating element values and inserting the element values into the target document tree; and

transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar.

8. A method for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the method comprising:

transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar;

converting the source document into a target document tree satisfying the second XML grammar; and

transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar, wherein transforming the target document tree into the target XML document further comprises:

promoting imbedded leaves and compound repetitions;

replacing recursions;

promoting attributes, including moving attributes back inside parent element tags;

replacing imbedded repetitions and sequences; and

replacing alternates and options.

9. The method of claim 8 wherein promoting imbedded leaves and compound repetitions further comprises removing elements having imbedded leaf demotion element removing elements having compound repetition demotion element names.

10. The method of claim 8 wherein replacing recursions further comprises reattaching to parent elements having recursion expansion names and deleting children having names identifying the children as empty children.

11. The method of claim 8 wherein replacing imbedded repetitions and sequences further comprises removing any remaining elements having compound repetition demotion element names.

12. The method of claim 8 wherein replacing alternates and options further comprises removing optional blocks with null symbol values and removing all but the first of each set of alternatives.

13. A system for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the system comprising:

means for transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar, wherein transforming the source XML document into a source document tree further comprises:

means for removing alternates and options;

means for converting imbedded repetitions and sequences to repeating children;

means for demoting attributes of elements having attributes to children of the elements having attributes;

means for converting recursive elements to repeating elements; and

means for demoting imbed leaves and compound repetitions;

means for converting the source document into a target document tree satisfying the second XML grammar; and

means for transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar.

14. The system of claim 13 further comprising means for pruning the source XML document, including means for selecting a root element for the target XML document and deleting all XML elements that are outside matching root tags in the source XML document.

15. The system of claim 13 wherein means for removing alternates and options further comprises means for adding start-tags and end-tags with null content for each missing, non-recursive XML element in the source XML document, including identifying missing, non-recursive elements in dependence upon the source DTD.

16. The system of claim 13 wherein means for converting imbedded repetitions and sequences to repeating children further comprises means for creating repeating children elements, adding start-tags and end-tags for children elements, and deleting imbedded repetitions and sequences.

17. The system of claim 13 wherein means for demoting attributes of elements having attributes to children of the elements having attributes further comprises means for adding start-tags and end-tags identifying new attribute demotion elements incorporating attribute names as the names of the new elements, inserting attribute values as element values, and deleting the attributes.

18. The system of claim 13 wherein means for demoting imbedded leaves and compound repetitions further comprises means for adding imbedded leaf demotion tags to demote imbedded leaves and adding compound repetition demotion tags to demote compound repetitions.

19. The system for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the system comprising:

means for transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar;

means for converting the source document into a target document tree satisfying the second XML grammar, wherein converting the source document tree into a target document tree further comprises:

means for creating the target document tree in a form satisfying the second XML grammar and having tags containing only branches of children tags and leaves with null content;

means for inserting into the target document tree repeating elements in dependence upon corresponding element of the source document tree including identifying the corresponding elements from the transformation rules; and

means for applying graphically specified transformation rules to elements of the source document tree, including generating element values and inserting the element values into the target document tree; and

means for transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar.

20. The system for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the system comprising:

means for transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar;

means for converting the source document into a target document tree satisfying, the second XML grammar; and

means for transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar, wherein transforming the target document tree into the target XML document further comprises:

means for promoting imbedded leaves and compound repetitions;

means for replacing recursions;

means for promoting attributes, including moving attributes back inside parent element tags;

means for replacing imbedded repetitions and sequences; and

means for replacing alternates and options.

21. The system of claim 20 wherein means for promoting imbedded leaves and compound repetitions further comprises means for removing elements having imbedded leaf demotion element removing elements having compound repetition demotion element names.

22. The system of claim 20 wherein means for replacing recursions further comprises means for reattaching to parent elements elements having recursion expansion names and means for deleting children having names identifying the children as empty children.

23. The system of claim 20 wherein means for replacing imbedded repetitions and sequences further comprises means for removing any remaining elements having compound repetition demotion element names.

24. The system of claim 20 wherein means for replacing alternates and options further comprises means for removing optional blocks with null symbol values and means for removing all but the first of each set of alternatives.

25. A computer program product for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the computer program product comprising:

a recording medium;

means, recorded on the recording medium, for transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar, wherein transforming the source XML document into a source document tree further comprises:

means, recorded on the recording medium, for removing alternates and options;

means, recorded on the recording medium, for converting imbedded repetitions and sequences to repeating children;

means, recorded on the recording medium, for demoting attributes of elements having attributes to children of the elements having attributes;

means, recorded on the recording medium, for converting recursive elements to repeating elements; and

means, recorded on the recording medium, for demoting imbed leaves and compound repetitions;

means, recorded on the recording medium, for converting the source document in to a target document tree satisfying the second XML grammar; and

means, recorded on the recording medium, transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar.

26. The computer program product of claim 25 further comprising means, recorded medium, for pruning the source XML document, including means for selecting a root element for the target XML document and deleting all XML elements that are outside matching root tags in the source XML document.

27. The computer program product of claim 25 wherein means, recorded on the recording medium, for removing alternates and options further comprises means for adding start-tags and end-tags with null content for each missing, non-recursive XML element in the source XML document, including identifying missing, non-recursive elements in dependence upon the source DTD.

28. The computer program product of claim 25 wherein means, recorded on the recording medium, for converting imbedded repetitions and sequences to repeating children further comprises means for creating repeating children elements, adding start-tags and end-tags for children elements, and deleting imbedded repetitions and sequences.

29. The computer program product of claim 25 wherein means, recorded on the recording medium, for demoting attributes of elements having attributes to children of the elements having attributes further comprises means for adding start-tags and end-tags identifying new attribute demotion elements incorporating attribute names as the names of the new elements, inserting attribute values as element values, and deleting the attributes.

30. The computer program product of claim 25 wherein means, recorded on the recording medium, for demoting imbedded leaves and compound repetitions further comprises means for adding imbedded leaf demotion tags to demote imbedded leaves and adding compound repetition demotion tags to demote compound repetitions.

31. A computer program product for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the computer program product comprising:

a recording medium;

means, recorded on the recording medium, for transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar;

means, recorded on the recording medium, for converting the source document into a target document tree satisfying the second XML grammar, wherein converting the source document tree into a target document tree further comprises:

means, recorded on the recording medium, for creating the target document tree in a form satisfying the second XML grammar and having tags containing only branches of children tags and leaves with null content;

means, recorded on the recording medium, for inserting into the target document tree repeating elements in dependence upon corresponding element of the source document tree, including identifying the corresponding elements from the transformation rules; and

means, recorded on the recording medium, for applying graphically specified transformation rules to elements of the source document tree including generating element values and inserting the element values into the target document tree; and

means, recorded on the recording medium, for transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar.

32. The computer program product for transforming a source XML document satisfying a source DTD into a target XML document satisfying a target DTD, the computer program product comprising:

a recording medium;

means, recorded on the recording medium, for transforming the source XML document into a source document tree, wherein the source XML document satisfies a first XML grammar and the source document tree satisfies a second XML grammar;

means, recorded on the recording medium, for converting the source document into a target document tree satisfying the second XML grammar; and

means, recorded on the recording medium, for transforming the target document tree into the target XML document, wherein the target XML document satisfies the first XML grammar, wherein transforming the target document tree into the target XML document further comprises:

means, recorded on the recording medium, for promoting imbedded leaves and compound repetitions;

means, recorded on the recording medium, for replacing recursions;

means, recorded on the recording medium, for promoting attributes, including moving attributes back inside parent element tags;

means, recorded on the recording medium, for replacing imbedded repetitions and sequences; and

means, recorded on the recording medium, for replacing alternates and options.

33. The computer program product of claim 32 wherein means, recorded on the recording medium, for promoting imbedded leaves and compound repetitions further comprises means, recorded on the recording medium, for removing elements having imbedded leaf demotion element removing elements having compound repetition demotion element names.

34. The computer program product of claim 32 wherein, means, recorded on the recording medium, for replacing recursions further comprises means, recorded on the recording medium, for reattaching to parent elements elements having recursion expansion names and means, recorded on the recording medium, for deleting children having names identifying the children as empty children.

35. The computer program product of claim 32 wherein means, recorded on the recording medium, for replacing imbedded repetitions and sequences further comprises means, recorded on the recording medium, for removing any remaining elements having compound repetition demotion element names.

36. The computer program product of claim 32 wherein means, recorded on the recording medium, for replacing alternates and options further comprises means, recorded on the recording medium, for removing optional blocks with null symbol values and means, recorded on the recording medium, for removing all but the first of each set of alternatives.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TWITTER, INC.
Reel/Frame 032075/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2002
From: MANI, RAVI; MEYER, JOERG; SHARMA, PRATIBHA JAMDAGNEYA; STRONG, HOVEY RAYMOND JR.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013314/0107 →