Oracle XML Publisher

Oracle XML Publisher

一、什么是XML

XML (extensible Markup Language)

最简单的定义就是:「遵守特定规则的文字」,而这些规则跟HTML的规则很像,但更严谨一些,并加上些补强

1998/2由全球信息网协会(World Wide Wed Consortium;W3C) 提出与制定的一种规格

主要语法:Tag成对出现的语法,例如..

XML的批注与HTML语法相同,都是利用<!--批注内容--&gt来表示

XML(data+metadata), XSL(style. sheet;presentation)

()preparation(准备)
1.Microsoft Word
2.
Java Runtime Environment (JRE) version 1.4 or later
3.
Oracle XML Publisher Template Builder for Word
4.
Add “XML Publisher Administrator” to your responsibility and Re-login
5.
Concurrent Program Output Post Processor MUST active
6.
Profile - FND: NATIVE CLIENT ENCODING MUST set to UTF8

()、修改report中的属性,设置encoding=“UTF-8”

()生成XML文档

1、打开Template Builder.

  • 导入XML Data

2、导入XML DATA

选择有Report Builder所生产的XML

3.建立模板.

使用手动的方式在Word下建立如下模板

4.预览

预览:Template Builder->Preview->RTF

Tag-Group

  • Template的建立过程中,Group的概念很重要。
    Group:一笔资料就是为一个group.
    Group可以嵌套循环。
  • 例如:一张PO的资料包括headerline两部分。可以把这两部分HeaderLine的资料看成是一个Group,同时也可以把Line的每一笔资料做为一个Group,嵌套在Header中。

<?for-each: ?>做为一个Group的开头,放在资料的第一个Field的前面。

<?end for-each?>做为一个Group的结尾,放在资料的最后一个Field的后面。

Tag-?>

  • ?>为一Field的引用,栏位名必须与XML里面的一样,区分大小写。
  • 在报表的执行过程中,?>将由XML里面对应的Element所取代。

Tag-<?sort: <Item_Column>?>

  • <?sort: <Item_Column>?>为排序Tag
  • 可以使用Group中的任何Element做为排序的准则。
  • 如果需要多Element的排序,可以使用如下的方式

<?sort: ?><?sort: ?>

  • 降序排序:<?sort: <Item_Column>; 'descending'?>
  • 升序排序:<?sort: <Item_Column>; ‘ascending'?>
  • 例如:<?sort PO_NUM?> 将按PO单号排序
  • 排序有分按Date/Text还是按Number排序。按Date/Text400将排在50前面。

例如:sort:PO_NUM;'descending';data-type='text'?>

sort:PO_NUM;'ascending';data-type='number'?>

Tag-Page Break

  • 可以使用<?split-by-page-break: ?>进行分页
  • Group的结束标志符<?end for-each?>前加上<?split-by-page-break: ?>,当该group结束后将会自动分页,下一个group的资料将show在下一页里。

Tag-Section

  • 有时一张report中包含了很多资料,比如一张report中包含多张PO的资料,而页码、页面加总的要根据不同的PO进行重置。如果页眉和页脚也使用了body里面的一些元素,这时候也需要重置。

使用<?for-each @section:group name?>可以达到这样的效果

Insert an image in the template

url也可以XML里面的一个元素(当这个元素为完整的图片URL)

url:{IMAGE_LOCATION}( IMAGE_LOCATIONgroup中一元素)

url中也可以是只是一个目录而已:

url:{’${OA_MEDIA}/image name’}( OA_MEDIA->为一个目录)

例如:url:{’${OA_MEDIA}/ORACLE_LOGO.gif’}

  • 如果是多个截断的,也可以用concat这个function进行串联:
  • 例如:
    • url:{concat(SERVER,’/’,IMAGE_DIR,’/’,IMAGE_FILE
    • url:{concat(’${OA_MEDIA}’,’/’,IMAGE_FILE
    • 利用Report Builder生成.rtf报表,不需生成其layout,然后点选File ->Generate to File ->XML 生成XML文档

()XML资料格式------ test.xml

  • XML文档中的encodingUTF-8,以减小出现乱码的可能性

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24627116/viewspace-754510/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24627116/viewspace-754510/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值