Patent ID: 7099891

Claim:
A method comprising the steps of: receiving a dataset from a source data system, the dataset including a set of data elements with corresponding data values; translating the dataset from a source schema to a target schema according to a set of mapping rules, each schema including a set of data elements and a set of relationships among the data elements, each mapping rule including a type and instructions for obtaining one or more target data element values as a function of one or more source data element values, the type containing all the information about relationships among data elements used by the function; queuing the translated dataset in persistent storage; and sending the translated dataset from the persistent storage to a destination data system, wherein there are three prespecified types that are defined generally for XML documents: a first type restricting the function to one target data element that is restricted from repeating in the target dataset by the relationships of the target schema and to any number of source data elements that are restricted from repeating in the source dataset by the relationships of the source schema; a second type restricting the function to one instance of a group comprising multiple data elements that are restricted to repeat as a group by the relationships of the target schema and to any number of source data elements that are restricted from repeating in the source dataset by the relationships of the source schema; and a third type restricting the function to a first number of instances of a group comprising multiple data elements that are restricted to repeat as a group by the relationships of the target schema, a second number of instances of a group comprising multiple data elements that are restricted to repeat as a group by the relationships of the source schema, and any number of source data elements that are restricted from repeating in the source dataset by the relationships of the source schema, the first and second numbers being equal.