RSS and the XIP Platform
A call with a prospect this week took an interesting turn when the prospect expressed an interest in integrating the content from an RSS feed with other information that they had available through the XIP platform. For pure WOW Factor, what happened next should make our marketing folks very happy.
Over the next three minutes (we timed it), we pulled in our prospect’s favorite RSS feed and showed how they can use XQuery to filter and transform its content and make it available to their queries. For a bonus, we rustled up an Ipedo commander script that would automate the process for the future (so it would take seconds to repeat the demo). With RSS feeds gaining importance as a means of syndicating and distributing content, this could be of general interest for XIP users. So here is a synopsis of how to integrate RSS content into your information architecture.
The primary construct through which information is made available to the XIP platform is the View. So we start off by creating a view that represents the RSS feed. This is as simple as typing the URL and clicking a button. The snapshot along side illustrates this.
That done, you can use the view in any XQuery query (or in a SQL query through the use of the XMLTABLE operator that can transform XML to a tabular structure). For instance the following query:
|
{-- filter headlines, returning all
with a given keyword in the title --} let $key := "AMERICAN" for $xbrlItem in view("publicWS/xbrlrss")//:item where contains($xbrlItem/title, $key) return $xbrlItem |
Would return a result such as:
|
<item rdf:about="http://www.sec.gov/Archives/edgar/data/808013/000119312508005373/0001193125-08-005373-index.htm"
xmlns:edgar="http://www.sec.gov/Archives/edgar"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
xmlns:edgar="http://www.sec.gov/Archives/edgar">
description="FORM 8-K" file="d8k.htm"
sequence="1"
size="15621" type="8-K"
url="http://www.sec.gov/Archives/edgar/data/808013/000119312508005373/d8k.htm"/>
description="XBRL INSTANCE DOCUMENT"
file="namc-20070930.xml" sequence="2"
size="37002"
type="EX-100.INS"
url="http://www.sec.gov/Archives/edgar/data/808013/000119312508005373/namc-20070930.xml"/>
description="XBRL TAXONOMY EXTENSION SCHEMA"
file="namc-20070930.xsd" sequence="3"
size="193491"
type="EX-100.SCH"
url="http://www.sec.gov/Archives/edgar/data/808013/000119312508005373/namc-20070930.xsd"/>
description="XBRL TAXONOMY EXTENSION CALCULATION LINKBASE"
file="namc-20070930_cal.xml" sequence="4"
size="938968"
type="EX-100.CAL"
url="http://www.sec.gov/Archives/edgar/data/808013/000119312508005373/namc-20070930_cal.xml"/>
description="XBRL TAXONOMY EXTENSION LABEL LINKBASE"
file="namc-20070930_lab.xml" sequence="5"
size="1154367"
type="EX-100.LAB"
url="http://www.sec.gov/Archives/edgar/data/808013/000119312508005373/namc-20070930_lab.xml"/>
description="XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE"
file="namc-20070930_pre.xml" sequence="6"
size="1576867"
type="EX-100.PRE" url="http://www.sec.gov/Archives/edgar/data/808013/000119312508005373/namc-20070930_pre.xml"/> |
Since it can be queried using XQuery or SQL, this content can also be integrated into other views that access related content. The view can also be cached and the content indexed so that the performance of queries over the content can be fast. Yet another example of how a variety of data sources can be integrated and made available in different ways to consuming applications.

Comments