Usecase:
Here, we will create a text Output BI report using XSL template.
Why we should use xsl template?
- XSL Stylesheet is generally used to generate text, xml, html and FO.
- Rich in xslt function like format-number(), count(), sum() etc.
- user friendly syntax in xml format.
.xsl template:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exslt="http://exslt.org/common"
xmlns:xdoxslt="http://www.oracle.com/XSL/Transform/java/oracle.xdo.template.rtf.XSLTFunctions"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<xsl:template match="/">
<xsl:text>supplier_name</xsl:text>
<xsl:text>,</xsl:text>
<xsl:text>supplier_number</xsl:text>
<xsl:text>,</xsl:text>
<xsl:text>supplier_id</xsl:text>
<xsl:text>,</xsl:text>
<xsl:text>country</xsl:text>
<xsl:text>,</xsl:text>
<xsl:text>city</xsl:text>
<xsl:text>,</xsl:text>
<xsl:text>status</xsl:text>
<xsl:text>
</xsl:text>
<xsl:for-each select="DATA_DS/G_1">
<xsl:value-of select="SUPPLIER_NAME"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="SUPPLIER_NUMBER"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="SUPPLIER_ID"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="COUNTRY"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="CITY"/>
<xsl:value-of select="STATUS"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Data model query used:
Select hp.party_name supplier_name,
poz.segment1 supplier_number,
poz.vendor_id supplier_id,
hp.email_address,
hp.country,
hp.city,
hp.status
from POZ_SUPPLIERS poz, HZ_PARTIES hp where 1=1
And poz.party_id = hp.party_id
And rownum<=10
Detailed steps with Screenshots: