在RTF模板的第一页上显示不同的标题(BI发布者)

问题描述 投票:0回答:1

我在为BI发布者创建RTF模板时遇到了一个问题。我在RTF模板的标题中显示一个表(不是MS字标题,但标题为start:body标记的标题)。该表有3行,我需要只在第一页显示其中一行,而不是在其他页面中显示。

我没有找到任何查询页码的方法。所以,我用以下方式使用了一个标志:(这里,后缀_f表示RTF字段)。以下是我的RTF文件的样子:

+---------------------------------------------------------------------------------+
¦ init_f ¦    Row to be shown on all the pages     ¦                              ¦
¦--------+-----------------------------------------+------------------------------¦
¦ if_f   ¦ Row to be shown on the first page only. ¦   end_if_f change_variable_f ¦
+---------------------------------------------------------------------------------+

<?start:body?>

other stuff

<?end body?>

哪里,

init_f

<?if: (xdoxslt:get_variable($_XDOCTX,'FLAG')!='NONFIRST')?><?xdoxslt:set_variable($_XDOCTX,'FLAG','FIRST')?><?end if?>

if_f

<?if: (xdoxslt:get_variable($_XDOCTX,'FLAG'))='FIRST'?>

end_if_f

<?end if?>

change_variable_f

<?xdoxslt:set_variable($_XDOCTX,'FLAG','NONFIRST')?>

但是,我仍然看到所有页面中的所有行。似乎不同页面之间不保留变量'FLAG'的值。对我来说,好像,标题生成一次,所有页面都使用相同的标题。解决办法是什么?

reporting rtf obiee bi-publisher
1个回答
0
投票

创建不同的模板并按如下方式调用它们

<?call-template:tHEADER_VERSO?>
<?start:body?>
<?call-template:tHEADER_RECTO?>
<?for-each@section:XMLELEMENT?>
<?call-template:tDETAILS?>
<?end for-each?>
<?end body?>
<?call-template:tFOOTER?>

定义模板

<?template:tDetail?>
  text content
<?end template?>
© www.soinside.com 2019 - 2024. All rights reserved.