1. A method of populating a plurality of data structures of a software application written in a programming language, each of said plurality of data structures containing corresponding fields, said method comprising: receiving an input data, said input data being according to eXtensible Markup Language (XML), wherein said input data contains a plurality of elements, each element having an associated value; receiving a non-XML based schema, said non-XML based schema containing a plurality of schema structures according to said programming language of said software application, said plurality of schema structures specifying a mapping of each of said plurality of elements to respective fields of said plurality of data structures; and setting each of the fields of said plurality of data structures to values associated with an element specified by said mapping, wherein said plurality of data structures contains a first data structure containing a first field, wherein said plurality of schema structures contains a first schema structure and a second schema structure, said first schema structure contains a mapping of a first tag text to said first data structure, said second schema structure contains a mapping of a second tag text to said first field, said first schema structure containing a link to said second schema structure to indicate that elements having said second tag text are disposed within elements having said first tag text, wherein said setting comprises: parsing said plurality of elements to identify a hierarchical element having said first tag text and a sub-element at a lower level, said sub-element being disposed within said hierarchical element and having said second tag text, said sub-element having a first value; and storing said first value in said first field of said first data structure, in response to said identifying.