首页  ·  知识 ·  数据库
OracleXMLPublisher
网友   http://blog.csdn.net/jovitang/    编辑:德仔   图片来源:网络
Oracle XML Publisher/&l
Oracle XML Publisher 
一、什么是XML?
 XML (extensible Markup Language)
最简单的定义就是:「遵守特定规则的文字」,而这些规则跟HTML的规则很像,但更严谨一些,并加上些补强
1998/2由全球信息网协会 (World Wide Wed Consortium;W3C) 提出与制定的一种规格
主要语法:Tag成对出现的语法,例如 <Name> ….. </Name>
XML的批注与HTML语法相同,都是利用<!--批注内容-->来表示
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的建立过程中,GroupGroup:一笔资料就是为一个Group可以嵌套循环。group.
的概念很重要。
 例如:一张PO的资料包括header和line两部分。可以把这两部分Header和Line的资料看成是一个Group,同时也可以把Line的每一笔资料做为一个Group,嵌套在Header中。
<?for-each:<group name>?>做为一个Group的开头,放在资料的第一个Field的前面。
<?end for-each?>做为一个Group的结尾,放在资料的最后一个Field的后面。
Tag-<?<Field Name>?>
 <?<Field Name>?>为一Field的引用, <Field Name>栏位名必须与XML里面的一样,区分大小写。
 在报表的执行过程中, <?<Field Name>?>将由XML里面对应的Element所取代。
Tag-<?sort:<Item_Column>?>

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_LOCATION 为group中一元素)
 url中也可以是只是一个目录而已:
 url:{’${OA_MEDIA}/image name’}( OA_MEDIA->为一个目录)
 例如:url:{’${OA_MEDIA}/ORACLE_LOGO.gif’}
 如果是多个截断的,也可以用concat这个function进行串联:
 例如:
 利用Report Builder生成.rtf报表,不需生成其layout,然后点选File ->Generate to File ->XML 生成XML文档
(四)、XML资料格式        ------ test.xml
 XML文档中的encoding为UTF-8,以减小出现乱码的可能性

 <?sort:<Item_Column>?>为排序Tag
 可以使用Group中的任何Element做为排序的准则。
 如果需要多Element的排序,可以使用如下的方式
    <?sort:<Item_Column1>?><?sort:<Item_Column2>?>
 降序排序:<?sort:<Item_Column>; 'descending'?>
 升序排序:<?sort:<Item_Column>; ‘ascending'?>
 例如:<?sort:PO_NUM?> 将按PO单号排序 
 排序有分按Date/Text还是按Number排序。按Date/Text,400将排在50前面。
 例如:<?sort:PO_NUM;'descending';data-type='text'?>
 <?sort:PO_NUM;'ascending';data-type='number'?>
本文作者:网友 来源: http://blog.csdn.net/jovitang/
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读