I can handle a li'l bit XSLFO but how do i get the tree used in BomSimulation.ftl into my fo.ftl file. i tried pasting the original code into a fo.ftl file and adding necessary tags for a XSLFO document. but it generates a blank pdf. my BomSimulation.ftl links to a request uri containing a screen containing BomSimulation.fo.ftl. my bomsimulation.fo.ftl file is as follows:
<?xml version="1.0" encoding="UTF-8"?> <root xmlns="http://www.w3.org/1999/XSL/Format" font-size="16pt"> <layout-master-set> <simple-page-master margin-right="15mm" margin-left="15mm" margin-bottom="15mm" margin-top="15mm" page-width="210mm" page-height="297mm" master-name="bookpage"> <region-body region-name="bookpage-body" margin-bottom="5mm" margin-top="5mm" /> </simple-page-master> </layout-master-set> <page-sequence master-reference="bookpage"> <title>Hello world example</title> <flow flow-name="bookpage-body"> <block> test data <#if requestParameters.lookupFlag?default("N") == "Y"> <#if selectedFeatures?has_content> <div class="tableheadtext">${uiLabelMap.ManufacturingSelectedFeatures}</div> <#list selectedFeatures as selectedFeature> <div class="tabletext">${selectedFeature.productFeatureTypeId} = ${ selectedFeature.description?if_exists} [${selectedFeature.productFeatureId }]</div> </#list> </#if> <table border='0' cellspacing='0' cellpadding='2' class='boxbottom'> <tr> <td width="10%" align="left"><div class="tableheadtext">${ uiLabelMap.ManufacturingProductLevel}</div></td> <td width="20%" align="left"><div class="tableheadtext">${ uiLabelMap.ProductProductId}</div></td> <td width="10%" align="left"><div class="tableheadtext">---</div></td> <td width="30%" align="left"><div class="tableheadtext">${ uiLabelMap.ProductProductName}</div></td> <td width="10%" align="right"><div class="tableheadtext">${ uiLabelMap.CommonQuantity}</div></td> <td width="10%" align="right"><div class="tableheadtext">${ uiLabelMap.ManufacturingComponentCost}</div></td> <td width="10%" align="right"><div class="tableheadtext">${ uiLabelMap.ManufacturingComponentValue}</div></td> </tr> <tr> <td colspan='5'></td> </tr> <#if tree?has_content> <#assign rowClass = "viewManyTR2"> <#list tree as node> <#-- toggle the row color --> <#if rowClass == "viewManyTR2"> <#assign rowClass = "viewManyTR1"> <#else> <#assign rowClass = "viewManyTR2"> </#if> </#list> <#else> <tr> <td colspan='4'><div class='head3'>${ uiLabelMap.CommonNoElementFound}.</div></td> </tr> </#if> </table> <table border='0' cellspacing='0' cellpadding='2' class='boxbottom'> <tr> <td width="20%" align="left"><div class="tableheadtext">${ uiLabelMap.ProductProductId}</div></td> <td width="40%" align="left"><div class="tableheadtext">${ uiLabelMap.ProductProductName}</div></td> <td width="40%" align="right"><div class="tableheadtext">${ uiLabelMap.CommonQuantity}</div></td> </tr> <tr> <td colspan='3'></td> </tr> <#if treeQty?has_content> <#assign rowClass = "viewManyTR2"> <#list treeQty as nodeQty> <tr class='${rowClass}'> <td>${nodeQty.product.productId}</td> <td>${nodeQty.product.internalName?default(" ")}</td> <td align="right">${nodeQty.quantity}</td> </tr> <#-- toggle the row color --> <#if rowClass == "viewManyTR2"> <#assign rowClass = "viewManyTR1"> <#else> <#assign rowClass = "viewManyTR2"> </#if> </#list> <#else> <tr> <td colspan='4'><div class='head3'>${ uiLabelMap.CommonNoElementFound}.</div></td> </tr> </#if> </table> </#if> </block> </flow> </page-sequence> </root>
