A method of transforming a source data in a source markup language to a target data in a target markup language according to a set of transformation rules, wherein said source markup language defines a plurality of source tags, each of said plurality of source tags having an associated content in said source data, said target markup language defines a plurality of target tags, said set of transformation rules defines a mapping of a source tag to one or more target tags, said method comprising:
- determining a first referenced tag in said set of transformation rules,
- wherein said set of transformation rules specify that the content of said first referenced tag is needed to apply a transformation rule defining a mapping of a second source tag while forming said target data from said source data according to said transformation rules,
- wherein said set of transformation rules further specify that the transformation of said second source tag is performed after applying the transformation rules designed to generate the content of said first reference tag when transforming said source data to said target data,
- wherein said first referenced tag and said second source tag are contained in said plurality of source tags and said transformation rule is contained in said set of transformation rules;
- reading said first referenced tag, along with the associated content, from said source data;
- storing said content associated with said first referenced tag in a memory upon said reading of said first referenced tag from said source data;
- reading said second source tag from said source data after said storing;
- and
- generating a portion of said target data by applying said transformation rule using said content, wherein said generating retrieves said content from said memory for use with said transformation rule in forming said portion.