10. The method of claim 1 further comprises: receiving a composite data definition comprised of two or more data items and at least one dependency between the two or more data items, where each data item has a common meaning for applications that use the data item; assigning a discoverer to each data item associated with the composite data definition, where a discoverer for a given data item is comprised of a group of steps for identifying the given data item in the loosely-structured data; identifying a dependency between the two or more data items associated with the composite data definition; assigning a discoverer to the identified dependency, where a discoverer for a given dependency is comprised of a group of steps for identifying the dependency of data items in the loosely-structured data; iteratively performing the steps of identifying a dependency and assigning a discoverer to the identified dependency for all of the dependencies associated with the composite data definition; receiving input data; and parsing the input data to identify data items by executing discoverers associated with the composite data definition, where the parsing is implemented by computer-executable instructions executed by a computer processor.
1. A computer-implemented method for defining a structure for items to be identified in loosely-structured data, comprising: defining a layout for a composite data definition, where the layout indicates at least one of positional relationship of data items to each other and positional information for data items in the loosely-structured data; arranging data items in the layout, where each data item in the layout has a common meaning for applications that use the data item; creating an identification order list for the composite data definition, where the identification order list includes the data items in the layout and specifies an order in which the data items comprising the composite data definition are to be identified within the loosely-structured data; receiving loosely-structured input data; and parsing the input data to identify data items therein using the layout and the identification order list of the composite data definition, where the data items in the layout are searched for in the order specified by the identification order list and the order specified in the identification order list differs from the arrangement of the data items in the layout of the composite data definition and the method is implemented by computer-executable instructions executed by a computer processor.