I am using Java APIs to compile Jasperreports jrxml templates without groups and parts, using only subreports. I am able to successfully generate a PDF report with bookmarks. I need to create a table of contents subreport. The API net.sf.jasperreports.engine.JasperPrint.getBookmarks returns correctly a bookmarks arrayList with (label, level, pageIndex). I need help in passing this bookmarks arraylist property as a parameter in the dataSourceExpression tag to my table of contents subreport from my master jrxml template. The textfields in my ToC subreport have evaluation set to "report" so I can get the values during report generation. Please help.