Claims
- 1. A client-based method for filling out an electronic form automatically without previously mapping or examining said form, comprising the steps of:
mapping said form based on analysis of visible form elements, and populating form fields with correct data in correct format without user intervention, according to said mapping.
- 2. The method of claim 1, wherein said mapping step comprises the steps of:
identifying fields based on analysis of visible field labels proximate said fields, when said field labels are present; and evaluating user visible display format hints proximate said fields to determine required display format.
- 3. The method of claim 2, wherein said step of identifying fields based on analysis of visible field labels comprises:
traversing page elements in a first sequence.
- 4. The method of claim 3, wherein said step of identifying fields based on analysis of visible field labels further comprises any of the steps of:
if a field is positioned in a table cell, analyzing text expressions in adjacent cells; analyzing a text expression within a predetermined number of words and in at least one predetermined direction from said fields; based on page coordinates, examining general vicinity of said page in all directions from the field and analyzing text expression closest to said field; and disregarding text expressions embedded within parentheses or quotation marks.
- 5. The method of claim 4, wherein said step of identifying fields based on analysis of visible field labels further comprises the step of:
comparing the analyzed text expressions with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 6. The method of claim 3, further comprising the step of:
when a field lacks a visible field label, mapping the field according to context.
- 7. The method of claim 6, wherein mapping the field according to context comprises:
identifying mapping of at least one field preceding a current field in said first sequence; and mapping said current field based on said mapping of said preceding field.
- 8. The method of claim 3, further comprising the step of:
when a field lacks a visible field label, mapping the field based on analysis of a programmatic field name.
- 9. The method of claim 3, further comprising the step of:
when a field lacks a visible field label, comparing the field's default value with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 10. The method of claim 3, further comprising the step of:
if a field is a select field, comparing selection options with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 11. The method of claim 3, further comprising the step of:
for sets of radio buttons, creating a new object for each set.
- 12. The method of claim 3, further comprising the step of:
identifying block type, wherein a block comprises a plurality of related fields.
- 13. The method of claim 12, wherein the step of identifying block type comprises one of the steps of:
comparing programmatic field name of at least a current field with arrays of metadata expressions for each block type; comparing visible form elements for at least said current field with arrays of metadata expressions for each block type; and where said current field occupies a table cell, analyzing text expressions at least from first cell of said table to cell occupied by said current field.
- 14. The method of claim 13, said step of step identifying block type further comprising the step of:
when a close match is found, mapping said field to said block type.
- 15. The method of claim 12, wherein block type includes any of:
billing address; shipping address; credit card information; and email address.
- 16. The method of claim 2, further comprising the step of:
traversing form elements in a second sequence, said second sequence a reverse of a first sequence. identifying mapping of at least a field following a current field in said second sequence; and mapping said current field based on said mapping of said following field.
- 17. The method of claim 2, wherein said step of evaluating visible display format hints proximate said fields to determine required display format comprises the steps of:
traversing form elements in a first sequence; analyzing a visible display format hint proximate a field; comparing said analyzed display format hint with a dictionary of data-entry prompts; mapping said field to a display format based on said comparison.
- 18. The method of claim 17, further comprising the step of:
any of concatenating, truncating and re-formatting and said correct data according to said display format.
- 19. The method of claim 17, further comprising the step of:
for a field lacking a proximate visible display format hint, mapping current field to same display format of a preceding field if both fields are the same field type.
- 20. The method of claim 1, further comprising the step of:
identifying a form as a checkout form.
- 21. The method of claim 1, further comprising the step of:
masking confidential data from being displayed.
- 22. A computer program product for filling out an electronic form automatically without previously mapping or examining said form, said computer program product comprising a tangible medium having computer readable code embodied thereon, the computer code including program code means for:
mapping said form based on analysis of visible form elements; and populating form fields with correct data in correct format without user intervention, according to said mapping.
- 23. The computer program product of claim 22, wherein said code means for mapping said form based on analysis of visible form elements comprises code means for:
identifying fields based on analysis of visible field labels proximate said fields, when said field labels are present; and evaluating user visible display format hints proximate said fields to determine required display format.
- 24. The computer program product of claim 23, wherein said code means for identifying fields based on analysis of visible field labels comprises code means for:
traversing page elements in a first sequence.
- 25. The computer program product of claim 24, wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for any of:
if a field is positioned in a table cell, analyzing text expressions in adjacent cells; analyzing a text expression within a predetermined number of words and in at least one predetermined direction from said fields; based on page coordinates, examining general vicinity of said page in all directions from the field and analyzing text expression closest to said field; and disregarding text expressions embedded within parentheses or quotation marks.
- 26. The computer program product of claim 25, wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for:
comparing the analyzed text expressions with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 27. The computer program product of claim 24, further comprising code means for:
when a field lacks a visible field label, mapping the field according to context.
- 28. The computer program product of claim 27, wherein said code means for mapping the field according to context comprises code means for:
identifying mapping of at least one field preceding a current field in said first sequence; and mapping said current field based on said mapping of said preceding field.
- 29. The computer program product of claim 24, further comprising code means for:
when a field lacks a visible field label, mapping the field based on analysis of a programmatic field name.
- 30. The computer program product of claim 24, further comprising code means for:
when a field lacks a visible field label, comparing the field's default value with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 31. The computer program product of claim 24, further comprising code means for:
if a field is a select field, comparing selection options with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 32. The computer program product of claim 24, further comprising code means for:
for sets of radio buttons, creating a new object for each set.
- 33. The computer program product of claim 24, further comprising code means for:
identifying block type, wherein a block comprises a plurality of related fields.
- 34. The computer program product of claim 33, wherein the code means for identifying block type comprises code means for:
comparing programmatic field name of at least a current field with arrays of metadata expressions for each block type; comparing visible form elements for at least said current field with arrays of metadata expressions for each block type; and where said current field occupies a table cell, analyzing text expressions at least from first cell of said table to cell occupied by said current field.
- 35. The computer program product of claim 34, wherein the code means for identifying block type further comprises code means for:
when a close match is found, mapping said field to said block type.
- 36. The computer program product of claim 33, wherein block type includes any of:
billing address; shipping address; credit card information; and email address.
- 37. The computer program product of claim 23, further comprising code means for:
traversing form elements in a second sequence, said second sequence a reverse of a first sequence. identifying mapping of at least a field following a current field in said second sequence; and mapping said current field based on said mapping of said following field.
- 38. The computer program product of claim 23, wherein said code means for evaluating visible display format hints proximate said fields to determine required display format comprises code means for:
traversing form elements in a first sequence; analyzing a visible display format hint proximate a field; comparing said analyzed display format hint with a dictionary of data-entry prompts; mapping said field to a display format based on said comparison.
- 39. The computer program product of 38, further comprising the code means for:
any of concatenating, truncating and re-formatting and said correct data according to said display format.
- 40. The computer program product of claim 38, further comprising code means for:
for a field lacking a proximate visible display format hint, mapping current field to same display format of a preceding field if both fields are the same field type.
- 41. The computer program product of claim 22, further comprising code means for:
identifying a form as a checkout form.
- 42. The computer program product of claim 22, further comprising code means for:
masking confidential data from being displayed.
- 43. A client-based system for filling out an electronic form automatically without previously mapping or examining said form, comprising:
a client; at least one data file; rules for mapping visible form elements to correct data from said file; and computer-readable code means for: mapping said form based on analysis of visible form elements; and populating form fields with correct data in correct format without user intervention, according to said mapping; wherein said code is executable on said client, and wherein, said analogs, said rules, and said code are stored on said client.
- 44. The system of claim 43, wherein said code means for mapping said form based on analysis of visible form elements comprises code means for:
identifying fields based on analysis of visible field labels proximate said fields, when said field labels are present; and evaluating user visible display format hints proximate said fields to determine required display format.
- 45. The system of claim 44, wherein said code means for identifying fields based on analysis of visible field labels comprises code means for:
traversing page elements in a first sequence.
- 46. The system of claim 45, wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for any of:
if a field is positioned in a table cell, analyzing text expressions in adjacent cells; analyzing a text expression within a predetermined number of words and in at least one predetermined direction from said fields; based on page coordinates, examining general vicinity of said page in all directions from the field and analyzing text expression closest to said field; and disregarding text expressions embedded within parentheses or quotation marks.
- 47. The system of claim 46, wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for:
comparing the analyzed text expressions with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 48. The system of claim 45, further comprising code means for:
when a field lacks a visible field label, mapping the field according to context.
- 49. The system of claim 48, wherein said code means for mapping the field according to context comprises code means for:
identifying mapping of at least one field preceding a current field in said first sequence; and mapping said current field based on said mapping of said preceding field.
- 50. The system of claim 45, further comprising code means for:
when a field lacks a visible field label, mapping the field based on analysis of a programmatic field name.
- 51. The system of claim 45, further comprising code means for:
when a field lacks a visible field label, comparing the field's default value with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 52. The system of claim 45, further comprising code means for:
if a field is a select field, comparing selection options with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.
- 53. The system of claim 45, further comprising code means for:
for sets of radio buttons, creating a new object for each set.
- 54. The system of claim 24, further comprising code means for:
identifying block type, wherein a block comprises a plurality of related fields.
- 55. The system of claim 54, wherein the code means for identifying block type comprises code means for:
comparing programmatic field name of at least a current field with arrays of metadata expressions for each block type; comparing visible form elements for at least said current field with arrays of metadata expressions for each block type; and where said current field occupies a table cell, analyzing text expressions at least from first cell of said table to cell occupied by said current field.
- 56. The system of claim 55, wherein the code means for identifying block type further comprises code means for:
when a close match is found, mapping said field to said block type.
- 57. The system of claim 54, wherein block type includes any of:
billing address; shipping address; credit card information; and email address.
- 58. The system claim 44, further comprising code means for:
traversing form elements in a second sequence, said second sequence a reverse of a first sequence. identifying mapping of at least a field following a current field in said second sequence; and mapping said current field based on said mapping of said following field.
- 59. The system of claim 44, wherein said code means for evaluating visible display format hints proximate said fields to determine required display format comprises code means for:
traversing form elements in a first sequence; analyzing a visible display format hint proximate a field; comparing said analyzed display format hint with a dictionary of data-entry prompts; mapping said field to a display format based on said comparison.
- 60. The system of 59, further comprising code means for:
any of concatenating, truncating and re-formatting and said correct data according to said display format.
- 61. The system of claim 59, further comprising code means for:
for a field lacking a proximate visible display format hint, mapping current field to same display format of a preceding field if both fields are the same field type.
- 62. The system of claim 43, further comprising code means for:
identifying a form as a checkout form.
- 63. The system of claim 43, further comprising code means for:
masking confidential data from being displayed.
- 64. The system of claim 43, wherein said data file resides on said client or on a server.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is a Continuation-in-Part of U.S. patent application Ser. No. 09/561,449, filed on Apr. 28, 2000.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09561449 |
Apr 2000 |
US |
Child |
10160671 |
May 2002 |
US |