BIP_BI Pubisher的基本语法(概念)
2014-05-31 Created By BaoXinjian
1. XML Publisher概念
(1).数据逻辑
(2).报表布局---->XML Publisher---->报表输出
(3).翻译转化
2. 开发Xml publisher流程报表
(1). 设计数据源文件---->注册数据源文件
(2). 设计RTF模板---->注册RTF模板
(3). 注册concurrent program
3. 在RTF中需要定义的两类内容
(1). 数据域
(2). 循环控制标记
4. 组
<?for-each:xxname?>...<end for-each>
5. 页眉页脚
<?start:body?>...<?end:body?>
6. 嵌套模板
(1). 定义: <?template:xxname?>...<?end template?>
(2). 调用: <?call:xxname?>
7. 格式化工具
(1). 分页符:若使用Ctrl+Enter会导致最后一页空白,所以最好使用xml publisher语句定义分页符<?split-by-page-break?>
(2). 页码:
i. 可使用WORD中自带的页码工具
ii.对页码使用要求较高
<?initial-page-number:$PAGESTART?>, $PAGESTART为所引用的xml data参数
8. 复选框
<?xxpopulation>1000?>
9.条件格式化
(1). IF语句
(2). IF-THEN-ELSE语句
(3). Choose语句
(4). 格式化列
(5). 格式化行
(6). 格式化单元格
9-1. IF语句
(1). 换行<?if:xxcondition?>...<?end if?>
(2). 不换行<?if@inlines:xxcondition?>...<?end if?>
9-2. IF-THEN-ELSE语句
<?xdofx:if XXAMOUNT>1000 then 'XXHIGHER'
else if XXOUNT<1000 then 'XXLOWER'
else 'EQUAL'
end if?>
9-3. Choose语句
<?choose:?>
<?when:XXFLAG1='Y'?>...<?end when?>
<?when:XXFLAG2='N'?>...<?end when?>
<?otherwise?>...<?end otherwise?>
<?end choose?>
9-4. 格式化列
根据条件显示隐藏列:<?if@column:xxcondition?>...<?end if>
<?if@column: /items/@type="PRIVATE"?>...<?end if?>
9-5. 格式化行
当满足条件时加亮行:
<?if@row:condition?>
<xsl:attribute name="background-color" xdofo:ctx="incontext">
lightgray
</xsl:attribute>
<?end if>
10. 行的截断和换行
<xsl:attribute xdofo:ctx="block" name="wrap-option">no-warp</xsl:attribute> -->禁止换行
<xsl:attribute xdofo:ctx="block" name="overflow">hidden</xsl.attribute> -->多余截断
11. 页的相关问题
(1). 数据组分页
i. section写法
<?for-each@section:XXGROUP?>
ii.split-by-page-break写法
<?for-each:XXGROUP?>...<?split-by-page-break:?><?end for-each?>
(2). 条件分页和固定行
i. 条件分行
<?if:CURRENCY_CODE="CNY"?>
<xsl:attribute name="break-before">page</xsl:attribute>
<?end
if?>
ii. 固定行数
<?if:position()
mod 10 =0?>
<xsl:attribute name="break-before">page</xsl:attribute>
<?end
if?>
12. 页合计值
(1). 计算合计值:<?add-page-total; 'debit-credit'?>
(2). 显示合计值:<?show-page-total:net; $#,##0.00;
($#,##0.00)'?>
(3). 连续合计
13. 排序
<?sort:xxelement1?><?sort:xxelement2?>
14. 变量
(1). 初始化变量:<?xdoxslt:set_variable($_XDOCTX,'xxname',xxvalue)?>
(2). 获取变量:<?xdoxslt:get_variable($_XDOCTX,'xxname')?>
(3). 更新变量:<?xdoxslt:set_variable($_XDOCTX,'xxname',xdoxslt:get_variable($_XDOCTX,'xxname'+1))?>
15. 数字格式化
(1). WORD自带格式化方式
(2). Oracle format-number功能:<?format-number:xxfile; '999G999G99'?>
16. 日期格式化
(1). WORD自带格式化方式
(2). Oracle format-date功能1:<?format-date:xxfile;
'FORMAT_MASK'?>
(3). Oracle format-date功能2:<?format-date:hiredate;
'YYYY--MM-DD'?>
17. 货币格式化
Oracle format-currency:<?format-currency:XXCUR;
font?>
18. SQL扩展语句<?xdofx:...?>
Thanks and Regards
BIP_BI Pubisher的基本语法(概念)的更多相关文章
- BIP_BI Pubisher的SQL/XSL/FO扩展函数应用(概念)
2014-12-01 Created By BaoXinjian
- Java基础(1) - 语法 & 概念
Java基础语法 基础 1. Java对大小写敏感 2. Java注释 //单行注释 这是一行注释 /* 这里是多行 注释 */ /** 这里是文档注释 @author 0o晓月メ */ 3. 访问修 ...
- MongoDB概述&语法
Nosql DB 这是一个非关系型数据库. 通常我们的数据库有三类: 关系型数据库(RDBMS),联机分析处理数据库(OLAP),和菲关系型数据库(NoSql). MongoDB属于第三种,而且是一 ...
- 基本 XAML 语法指南
我们介绍了 XAML 语法规则,以及用于描述 XAML 语法中存在的限制或选项的术语.当出现以下情况时你会发现本主题很有用:不熟悉 XAML 语言的使用,希望加强对术语或某些语法部分的理解,或者对 X ...
- Java class,Object,Class的区别
代码: http://www.cnblogs.com/hongdada/p/6060487.html package com.company; public class Main { public s ...
- Java8的新特性以及与C#的比较
函数式接口 VS 委托 在C中,可以使用函数指针来存储函数的入口,从而使得函数可以像变量一样赋值.传递和存储,使得函数的调用变得十分灵活,是实现函数回调的基础.然而函数指针不存在函数的签名信息,甚至可 ...
- HTML5中的SVG
* SVG * 基本内容 * SVG并不属于HTML5专有内容 * HTML5提供有关SVG原生的内容 * 在HTML5出现之前,就有SVG内容 * SVG,简单来说就是矢量图 * SVG文件的扩展名 ...
- PHP(一)
最近一段时间一直忙于新版本的开发工作,所以虽然自己脑中有一些想法,但是苦于没有足够的时间去写下来.好了,昨天终于将大体的功能开发完成,时间上面也不会那么的紧张了.下来我想要好好的梳理一下,自己最近一段 ...
- H5小内容(四)
SVG 基本内容 SVG并不属于HTML5专有内容 HTML5提供有关SVG原生的内容 在HTML5出现之前,就有SVG内容 SVG,简单来说就是矢量图 ...
随机推荐
- iOS开发-DatePicker控件
时间控件不管是Android还是iOS中都是必然存在的一个控件,具体的效果大同小异,显示日期,时间,iOS中有四种方式可以选择,Time, Date,Date and Time , Count Do ...
- OkHttp 官方Wiki之【使用案例】
原文位置:https://github.com/square/okhttp/wiki/Recipes Recipes 食谱/知识点清单 We've written some recipes that ...
- 20个令人惊叹的音乐应用程序UI,值得收藏
我们无法想象世界上没有手机.他们已经成为日常生活中不可缺失的一部分.今天的手机可以让你不只是拨打电话和发送消息.它可以让你浏览网页空间,拍照,看书,听音乐等等. 回顾一下互联网,你会看到不同的音乐AP ...
- PS使用技巧
1. 3.缩放工具:工具栏上放大镜图标:<1>上面图标栏可以选择激活放大还是缩小.<2>按住alt键可以切换,可以点击,也可以滚动滚轮<3>ctrl加"+ ...
- Python开发接水果小游戏
我研发的Python游戏引擎Pylash已经更新到1.4了.如今我们就来使用它完毕一个极其简单的小游戏:接水果. 下面是游戏截图: 游戏操作说明:点击屏幕左右两边或者使用键盘方向键控制人物移动.使人物 ...
- C#.NET常见问题(FAQ)-abstract抽象类如何理解
例如有太多相似,但是不一样的类,他们都继承自同一个基类(比如大型游戏有各个种族,每个种族有各种人物,加起来几百种类型,然后基本上他们都是一个角色,都有基本相同的属性和方法,比如都会走,只是速度不同,都 ...
- wepy - 安装less/sass
关于sass\less,在wepy文档里寻找 演示安装,默认已经安装了less,我们需要安装的是scss 安装less或scss yarn yarn add wepy-compiler-sass np ...
- java统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)
import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; /* ...
- 安装 Flex2packagebeta_1.994
下载文件 解压到/var/root/Media/Cydia/AutoInstall/这个路径重启手机,Cydia会自动安装好DEB文件的 patch路径 下载 /private/var/mobile/ ...
- oracle卸载清除注册表(彻底卸载)
用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢? 那就是直接注册表清除,步骤如下: . 开始->设置->控制面板-& ...