<#list root.children as analysis> <#if analysis.display && !analysis.tag> <@recurse_macro node=analysis prefix=get_tags(analysis)/> <#-- ------------------- --> <#-- Table display macro --> <#macro displayTable table> ${table.name} <#list table.rows as row> <#compress> <#list row as item> ${item}, <#function get_tags rootnode> <#assign ret=""> <#list rootnode.children as child> <#if child.tag> <#if ret==""> <#assign ret="[${child.name}=${child.value}]"> <#else> <#assign ret="${ret}.[${child.name}=${child.value}]"> <#return ret> <#-- -------------------- --> <#-- recursively get data --> <#macro recurse_macro node prefix> <#if node.display> <#-- we don't display it if the value isn't set --> <#compress> <#if node.complex> <#list node.children as child> <#if prefix==""> <#assign newPrefix="[${node.name}=${node.value}]"> <#else> <#assign newPrefix="${prefix}.[${node.name}=${node.value}]"> <@recurse_macro node=child prefix=newPrefix/> <#elseif node.display && !node.tag> ${prefix} ${node.value} <#assign prefix=""> <#-- ------------------------------------- --> <#-- display a list of single values macro --> <#macro displaySimple listof> <#list listof as point> ${point.name?right_pad(20)} <@recurse_macro node=point/> # ${point.description} <#-- ------------------------------------- -->