Patent ID: 7003722

Claim:
A computer-implemented method for converting a hierarchical data structure into a flat data structure comprising: in an application program, loading hierarchical data conforming to a schema wherein the hierarchical data includes elements and attributes linked together in a parent-child relationship, wherein the schema defines hierarchical relationships between the elements and attributes; applying a plurality of layout rules to the hierarchical data based on the schema to create the flat data structure; and rendering the hierarchical data so that the hierarchical data is inserted in rows and columns in the flat data structure, wherein applying a plurality of layout rules to the hierarchical data based on the schema comprises: identifying properties in the schema, wherein the properties identify occurrence requirements for the elements defined in the schema; and applying the plurality of layout rules based on the identified properties, wherein the properties include a first property specifying: the order in which the elements occur in the hierarchical data; and the minimum and maximum number of times that each element may occur in the hierarchical data, wherein the first property is a sequence compositor or an all compositor, wherein the hierarchical data is XML data, wherein the application program is a spreadsheet application program, wherein the flat data structure is readily usable by an electronic spreadsheet.