• 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

  • 相关阅读:
    C语言 指针
    C语言 字符串指针和字符串数组使用区别
    perl和python3 同时打开两个文件
    Java反射初探123456789
    电脑打不开CHM格式文件解决办法
    Spring启动报8080端口被占用问题
    SpringBoot复习
    项目开发文档编写规范
    Java核心编程-第一卷
    转载——类文件系列
  • 原文地址:https://www.cnblogs.com/eastsea/p/3762380.html
Copyright © 2020-2023  润新知