Oracle XML Publisher

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的建立过程中,Group的概念很重要。
    Group:一笔资料就是为一个group.
    Group可以嵌套循环。
  • 例如:一张PO的资料包括headerline两部分。可以把这两部分HeaderLine的资料看成是一个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>?>

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

<?sort:<Item_Column1>?><?sort:<Item_Column2>?>

  • 降序排序:<?sort:<Item_Column>; 'descending'?>
  • 升序排序:<?sort:<Item_Column>; ‘ascending'?>
  • 例如:<?sortPO_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’}

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

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

 

posted @ 2012-07-31 00:22  全威儒  阅读(3277)  评论(0编辑  收藏  举报