Multi-level list detection engine
First Claim
1. A method of converting a fixed format document into a flow format document including one or more multi-level lists that dynamically update when edited by an end user, said method comprising:
- identifying each text object in a collection of text objects that begins with a list identifier as a list element, said text objects derived from said fixed format document;
creating a new list when said list element and a previous list element in said list do not have selected properties that are substantially similar;
adding said list element to an existing list when said list element and said previous list element in said list have said selected properties that are substantially similar;
assigning said list element to a list level based on said selected properties;
determining a list level format for each said list level based on common properties of list elements belonging to said list level;
determining a list format from each said list level format; and
merging list levels with common numbering schemes, including merging a lower list level having a first numbering scheme with a higher list level having a second numbering scheme when said first numbering scheme and said second numbering scheme use the same list format and said first numbering scheme and said second numbering scheme begin with a same list identifier.
3 Assignments
0 Petitions
Accused Products
Abstract
A multi-level list detection engine. The multi-level list detection engine detects text obtained from a fixed format document that is formatted as a static multi-level list and creates a dynamic multi-level list object in a flow format document. The resulting dynamic multi-level list object automatically updates as the end user edits the multi-level list in the flow format document. The multi-level list detection engine identifies list elements in the fixed format text based on the presence of a list identifier. The list elements are grouped into lists based on the properties of each list element relative to other list elements. List elements are then assigned to a list level based on the relative properties of the list elements within a list. Finally, level list assignments are verified and corrected, the levels are merged, as necessary, and the lists are consistently formatted as appropriate to create a final well-formed dynamic multi-level list object.
-
Citations
20 Claims
-
1. A method of converting a fixed format document into a flow format document including one or more multi-level lists that dynamically update when edited by an end user, said method comprising:
-
identifying each text object in a collection of text objects that begins with a list identifier as a list element, said text objects derived from said fixed format document; creating a new list when said list element and a previous list element in said list do not have selected properties that are substantially similar; adding said list element to an existing list when said list element and said previous list element in said list have said selected properties that are substantially similar; assigning said list element to a list level based on said selected properties; determining a list level format for each said list level based on common properties of list elements belonging to said list level; determining a list format from each said list level format; and merging list levels with common numbering schemes, including merging a lower list level having a first numbering scheme with a higher list level having a second numbering scheme when said first numbering scheme and said second numbering scheme use the same list format and said first numbering scheme and said second numbering scheme begin with a same list identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for generating a flow format document including a multi-level list object from a fixed format document, said system comprising:
-
a processing unit; and a memory including computer executable instructions which, when executed by a computer, provide a multi-level list detection engine application operable to; identify a first text object as a first list element when the first text object begins with a first list identifier; create a first list beginning with a first list element; add said first list element to a first list level having a first numbering sequence; identify a second text object as a second list element when the second text object begins with a second list identifier; determine whether said second list identifier continues said first numbering sequence; add said second list element to said first list level when said second list identifier continues said first numbering sequence; compare a first value corresponding to an indentation of one or more list elements in said first list level to a second value corresponding to an indentation of said second list element to obtain a first indentation comparison result; add said second list element to a second list level having a second numbering sequence when said second list identifier does not continue said first numbering sequence, and said first indentation comparison result indicates that said indentation of said second list element is greater than said indentation of at least one list element in said first list level; and merging list levels with common numbering schemes, including merging a lower list level having a first numbering scheme with a higher list level having a second numbering scheme when said first numbering scheme and said second numbering scheme use the same list format and said first numbering scheme and said second numbering scheme begin with a same list identifier. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer readable storage medium containing computer executable instructions which, when executed by a computer, perform a method of generating a flow format document including a multi-level list object from a fixed format document, said method comprising:
-
identifying a list element appearing in the text obtained from the fixed format document; making a first comparison between at least one property associated with said list element and at least one list element appearing in a first list; placing said list element in said first list when said first comparison has a first result; making a second comparison between at least one property associated with said list element and a second list element appearing in a first list after said first list element; assigning said second list element to a list level based on said second comparison; making a third comparison between at least one property of said list element and other list elements in said first list at a selected list level; adjusting said list level of said list element based on said third comparison; and merging list levels with common numbering schemes, including merging a lower list level having a first numbering scheme with a higher list level having a second numbering scheme when said first numbering scheme and said second numbering scheme use the same list format and said first numbering scheme and said second numbering scheme begin with a same list identifier. - View Dependent Claims (17, 18, 19, 20)
-
Specification