Element root = gridDocument.addElement( "datagrid" ); //$NON-NLS-1$
// add metadata about the headers
Element metadataNode = root.addElement( "metadata" ); //$NON-NLS-1$
HashMap<String, String> headerMap = new HashMap<String, String>();
IPentahoMetaData metadata = results.getMetaData();
// first process the column headers
Object[][] headers = metadata.getColumnHeaders();
addHeaderMetadata( headers, metadataNode, headerMap );
// now process the rows in the data set
Element rowsNode = root.addElement( "data" ); //$NON-NLS-1$
Object[] row = results.next();