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的基本语法(概念)的更多相关文章

  1. BIP_BI Pubisher的SQL/XSL/FO扩展函数应用(概念)

    2014-12-01 Created By BaoXinjian

  2. Java基础(1) - 语法 & 概念

    Java基础语法 基础 1. Java对大小写敏感 2. Java注释 //单行注释 这是一行注释 /* 这里是多行 注释 */ /** 这里是文档注释 @author 0o晓月メ */ 3. 访问修 ...

  3. MongoDB概述&语法

    Nosql DB 这是一个非关系型数据库. 通常我们的数据库有三类:  关系型数据库(RDBMS),联机分析处理数据库(OLAP),和菲关系型数据库(NoSql). MongoDB属于第三种,而且是一 ...

  4. 基本 XAML 语法指南

    我们介绍了 XAML 语法规则,以及用于描述 XAML 语法中存在的限制或选项的术语.当出现以下情况时你会发现本主题很有用:不熟悉 XAML 语言的使用,希望加强对术语或某些语法部分的理解,或者对 X ...

  5. Java class,Object,Class的区别

    代码: http://www.cnblogs.com/hongdada/p/6060487.html package com.company; public class Main { public s ...

  6. Java8的新特性以及与C#的比较

    函数式接口 VS 委托 在C中,可以使用函数指针来存储函数的入口,从而使得函数可以像变量一样赋值.传递和存储,使得函数的调用变得十分灵活,是实现函数回调的基础.然而函数指针不存在函数的签名信息,甚至可 ...

  7. HTML5中的SVG

    * SVG * 基本内容 * SVG并不属于HTML5专有内容 * HTML5提供有关SVG原生的内容 * 在HTML5出现之前,就有SVG内容 * SVG,简单来说就是矢量图 * SVG文件的扩展名 ...

  8. PHP(一)

    最近一段时间一直忙于新版本的开发工作,所以虽然自己脑中有一些想法,但是苦于没有足够的时间去写下来.好了,昨天终于将大体的功能开发完成,时间上面也不会那么的紧张了.下来我想要好好的梳理一下,自己最近一段 ...

  9. H5小内容(四)

    SVG   基本内容     SVG并不属于HTML5专有内容       HTML5提供有关SVG原生的内容     在HTML5出现之前,就有SVG内容     SVG,简单来说就是矢量图     ...

随机推荐

  1. Spring MVC 4.2 CORS 跨域访问

    跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求.比如说,域名A(http://domaina.examp ...

  2. python 斐波拉契数列数列

    '''斐波拉契数列'''def Fibonacci(n): first, next = 0, 1 i = 0; while i < n: print next first, next = nex ...

  3. 手机WiFi万能钥匙查看破解的password和手机查询命令收集

    手机须要网络利用WiFi万能钥匙破解了WIFI的password.手机就能够上网了,但假设想在电脑上使用手机破解的Wifi热点上网就须要password,此时须要知道手机破解的password,WiF ...

  4. Android 当修改一些代码时,使用什么编译命令可以最有效率

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  5. [jQuery] Custom event trigger

    $(document).ready(function(){ // Get Weather $('button').on('show.weather', function() { var results ...

  6. 1. Change the emulator screen size

    1. "Windows" ==> "Android Virtual Device Manager" ==> Select one emulator ...

  7. 在 linux 下使用 CMake 构建应用程序

    学习cmake http://xwz.me/wiki/doku.php?id=cmake 碰到的一些问题: 1.You have changed variables that require your ...

  8. nm 命令 程序符号信息查看

    http://www.cnblogs.com/wangkangluo1/archive/2012/07/02/2572438.html 用途 显示关于对象文件.可执行文件以及对象文件库里的符号信息. ...

  9. 策略模式(Strategy)简介

    一.策略模式(Strategy)简介 策略模式是行为模式. 行为模式:规定了各个对象应该具备的职责以及对象间的通信模式,它很好的规范了对象间调用和数据传递方式 策略模式适合于算法经常变化的情况 算法的 ...

  10. 算法笔记_168:历届试题 矩阵翻硬币(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵. 随后,小明对每一个硬币分别进行一次 Q 操作. 对第x行第y列的硬币进行 Q 操作的定义: ...