Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Output of PDF report based on (custom, hand-coded) XSL-FO

803226Oct 5 2010 — edited Oct 6 2010
I am attempting to reproduce a fairly particular report format using the XSL-FO "option" in ORACLE APEX. I am operating on our client's machine (which is APEX 3.1 and Oracle 10 something), but receive similar results under the hosted apex.oracle.com environment (APEX 4, BI, etc.). I presume (but currently can't verify) they have the Oracle BI set up as their print server (simple XSL-FO, RTF all seem to work).

I have been using the Oracle BI Publisher Desktop template viewer tool to process my XML/XSL-FO into PDF, and it looks and works great!; I see an almost exact reproduction of their "old" report.

However, when I upload the XSL to APEX, I get a PDF with 0 bytes (error somewhere). I have tried to reduce the XSL to the point where I get an error and I will try to explain what works and what doesn't:

1. Goto APEX -> Application -> Shared Components -> Report Layouts -> Create and Create new Generic XSL-FO report.
2. Copy the text in "Page Template" to new (empty) text document [in Notepad++].
3. Upload to APEX as new Name Columns (XSL-FO) layout.

-- Still Works --

4. Changed page size to letter format (612pt x 792pt) and modified margins to 10pt all-around.

-- Still Works --

5. Insert text (within <fo:block> and <fo:inline> elements) into header.
6. Add a table:
<fo:table xsl:use-attribute-sets="border" margin-top='10pt' width='100%'>
<xsl:variable name="_XDOFOPOS2" select="number(1)"/>
<xsl:variable name="_XDOFOTOTAL" select="number(1)"/>

<fo:table-column column-width="40%"/>
<fo:table-column column-width="60%"/>
<fo:table-body>
<fo:table-row >
<fo:table-cell padding-top='20pt'> <fo:block text-align='right' > <fo:inline> Inspected By: </fo:inline> </fo:block> </fo:table-cell>
<fo:table-cell> <fo:block text-align='left' > <fo:inline> <xsl:value-of select='.//INSPECTOR' /> </fo:inline> </fo:block> </fo:table-cell>
</fo:table-row>
<fo:table-row >
<fo:table-cell> <fo:block text-align='right' > <fo:inline> Approved By: </fo:inline> </fo:block> </fo:table-cell>
<fo:table-cell> <fo:block text-align='left' > <fo:inline> <xsl:value-of select='.//APPROVAL' /> </fo:inline> </fo:block> </fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell> <fo:block text-align='right' > <fo:inline> Date Approved: </fo:inline> </fo:block> </fo:table-cell>
<fo:table-cell padding-bottom='20pt'> <fo:block text-align='left' > <fo:inline> <xsl:value-of select='.//APPROVALDATE' /> </fo:inline> </fo:block> </fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

STOPS WORKING

My query is: SELECT * FROM Inspections
and all of the fields referred to above exist.

Does anyone know how to find out what the internal server is choking on, or is there some problem with my process, or?

Thanks kindly,
Daniel
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 3 2010
Added on Oct 5 2010
5 comments
822 views