1. A method of processing data elements represented according to a markup language, said method comprising: receiving, in a parser, a file identifier of a data file with an instruction to parse said data file from an application implemented external to said parser, said data file containing a plurality of data elements, wherein said parser is an event-based parser; retrieving, by said parser, each of said plurality of data elements from said data file, wherein said plurality of data elements are retrieved sequentially from said data file; for each of the retrieved data elements: determining, in said parser, a corresponding portion identifier of the retrieved data element, wherein said corresponding portion identifier indicates a relative path of the retrieved data element with respect to another data element in said data file according to said markup language, said relative path identifying one or more data elements between the retrieved data element and said another data element according to said markup language; and providing, by said parser to said application, the retrieved data element and said corresponding portion identifier of the retrieved data element in association, wherein said corresponding portion identifier is provided to said application, in the form of a string representing said relative path such that said application receives said string, wherein said parser provides said plurality of data elements and respective portion identifiers, in association, as a response to said instruction, wherein said event-based parser performs said determining and said providing as each of said plurality of data elements is sequentially retrieved, without waiting for completion of said retrieving of all of said plurality of data elements.