\documentclass[a4paper,10pt]{article}
\usepackage{hyperref}


%opening
\title{Importing from FeedReader}
\author{Jimmy O'Regan}

\begin{document}

\maketitle

\begin{abstract}
Using XSL to make data from FeedReader usable by Linux feed-readers.
\end{abstract}

\section{Introduction}

FeedReader is an open source RSS aggregator for Windows. Because it stores all of its data in XML files, it's possible to use XSL to convert its data into a format suitable for import into any of the feed readers available for Linux.

FeedReader stores its data in the "Applications Data" directory. For example, on a Windows XP system with a single user, with the partition mounted at \texttt{/mnt/windows}, the data will be here: 

\texttt{/mnt/windows/Documents\ and\ Settings/Owner/Application\ Data/FeedReader/}.

\section{Subscriptions}

The data you are most likely to want to import is the list of your subscriptions. This is available in the file \texttt{subscriptions.xml}, which looks like this:

\label{Sample subscriptions.xml} 
\begin{verbatim}
<?xml version="1.0" encoding="UTF-8"?>
<feeds>
      <item>
         <feedid>63219889590821</feedid>
         <title>Linux Gazette</title>
         <description>An e-zine dedicated to making Linux just a little bit more
 fun.
Published the first day of every month.</description>
         <feedtype>http</feedtype>
         <archivesize>8888</archivesize>
         <alwaysshowlink>0</alwaysshowlink>
         <htmlurl>http://linuxgazette.net</htmlurl>
         <image>http://linuxgazette.net/gx/2004/newlogo-blank-100-gold2.jpg</image>
         <read>0</read>
         <unreadcount>17</unreadcount>
         <updateperiod>14</updateperiod>
         <LastModified>Fri, 02 Jul 2004 16:42:16 GMT</LastModified>
         <link>http://linuxgazette.net/lg.rss</link>
         <username></username>
         <password></password>
      </item>
</feeds>
\end{verbatim} 

\section{OPML}

As the output format, I'm using OPML - \url{http://www.opml.org/}. OPML is the standard format used to exchange subscriptions between feed readers. Like RSS 2.0, OPML is a format designed by Dave Winer. It was originally designed as a way of representing outlines: OPML stands for ``Outline Processor Markup Language''. 

\label{subscriptions.xsl}
\begin{verbatim}
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
<xsl:template match="/"> 
 <opml version="1.0">
   <head>
     <title>FeedReader Subscriptions</title>
   </head>
   <body>
     <xsl:apply-templates select="//item"/>
   </body>
 </opml>
</xsl:template>

<xsl:template match="item"> 
<xsl:variable name="title" select="title"/>
<xsl:variable name="desc" select="description"/>
<xsl:variable name="site" select="htmlurl"/>
<xsl:variable name="link" select="link"/>
  <outline title="{$title}" description="{$desc}" 
  xmlUrl="{$link}" htmlUrl="{$site}"/>
</xsl:template>

</xsl:stylesheet>
\end{verbatim} 



\end{document}
