Creating a RSS feed for you APEX application or website is actually quite simple, using the owa_util and wpg_docload Oracle packages. A RSS feed (Real Simple Syndication) is a method of exporting your website data into XML format containing a summarized text and metadata (author and date of creation). The RSS feed is usually public and can be accessed by other sites or web services through a URI, like http://localhost:8081/apex/rss.
The method described below can also be used to create a sitemap for your site.
Step 1. Create a procedure that generates the RSS feed
The name of the procedure or whether it is stored inside a package or not, is not important. Usually, you would want the RSS feed to contain the title of your website, a short description and the posts titles with hyperlinks to the actual location of posts. The procedure should look like this (inspired from Rick Murnanes' post):
CREATE OR REPLACE PROCEDURE rss
WITH a AS(
SELECT POST_URL, POST_TITLE
order by POST_PUBLISH_DATE desc
XMLAttributes('2.0' as "version"),
'Description: this is my site!'),
XMLElement("copywrite", 'Copyright '||
to_char(sysdate, 'YYYY')||' Mysite.com'),
to_char(sysdate – rownum,
'DAY, DD MON YYYY HH24:MI:SS')),
).getblobval(nls_charset_id('AL32UTF8')) into v_xml
Step 2. Grant public web access to the procedure
For this procedure to be accessed publicly from the web, you must:
1. connect to your schema
grant execute on rss to public;
2. connect as sys
create public synonym rss for #your_schema#.#your_package#.rss;
Modify the function: apex_040000.wwv_flow_epg_include_mod_local, as follows:
create or replace function apex_040000.wwv_flow_epg_include_mod_local(
procedure_name in varchar2)
–return false; — remove this statement when you modify this function
— Administrator note: the procedure_name input parameter may be in the format:
— If the expected input parameter is a procedure name only, the IN list code shown below
— can be modified to itemize the expected procedure names. Otherwise you must parse the
— procedure_name parameter and replace the simple code below with code that will evaluate
— all of the cases listed above.
if upper(procedure_name) in (
This function found in the APEX_040000 schema will enable public web access to the previously created RSS synonym that points to the procedure that generates the RSS feed.
Now, you can access your RSS feed from http://#your dad base#/rss, like this http://localhost:8081/apex/rss: