-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.
--
-- Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.
@package feed
@version 0.3.2
module Text.Atom.Feed.Link
-- | Atom feeds uses typed IRI links to represent information / metadata
-- that is of interest to the consumers (software, in the main) of feeds.
-- For instance, the edit link relation attached to an atom:entry element
-- points to the IRI to use to update/edit it.
--
-- The Atom standard encourages that such typed links to be registered
-- with IANA if they have wider applicability, and the
-- LinkRelation data type encodes the currently registered link
-- types (derived from:
-- http://www.iana.org/assignments/link-relations.html on 2007-10-28]
data LinkRelation
LinkAlternate :: LinkRelation
LinkCurrent :: LinkRelation
LinkEnclosure :: LinkRelation
LinkEdit :: LinkRelation
LinkEditMedia :: LinkRelation
LinkFirst :: LinkRelation
LinkLast :: LinkRelation
LinkLicense :: LinkRelation
LinkNext :: LinkRelation
LinkNextArchive :: LinkRelation
LinkPayment :: LinkRelation
LinkPrevArchive :: LinkRelation
LinkPrevious :: LinkRelation
LinkRelated :: LinkRelation
LinkReplies :: LinkRelation
LinkSelf :: LinkRelation
LinkVia :: LinkRelation
LinkOther :: String -> LinkRelation
showLinkRelation :: LinkRelation -> String
showLinkAttr :: LinkRelation -> String -> String
instance Eq LinkRelation
instance Show LinkRelation
module Text.Atom.Feed
type URI = String
type NCName = String
type Date = String
type MediaType = String
data Feed
Feed :: String -> TextContent -> Date -> [Person] -> [Category] -> [Person] -> Maybe Generator -> Maybe URI -> [Link] -> Maybe URI -> Maybe TextContent -> Maybe TextContent -> [Entry] -> [Attr] -> [Element] -> Feed
feedId :: Feed -> String
feedTitle :: Feed -> TextContent
feedUpdated :: Feed -> Date
feedAuthors :: Feed -> [Person]
feedCategories :: Feed -> [Category]
feedContributors :: Feed -> [Person]
feedGenerator :: Feed -> Maybe Generator
feedIcon :: Feed -> Maybe URI
feedLinks :: Feed -> [Link]
feedLogo :: Feed -> Maybe URI
feedRights :: Feed -> Maybe TextContent
feedSubtitle :: Feed -> Maybe TextContent
feedEntries :: Feed -> [Entry]
feedAttrs :: Feed -> [Attr]
feedOther :: Feed -> [Element]
data Entry
Entry :: String -> TextContent -> Date -> [Person] -> [Category] -> Maybe EntryContent -> [Person] -> [Link] -> Maybe Date -> Maybe TextContent -> Maybe Source -> Maybe TextContent -> Maybe InReplyTo -> Maybe InReplyTotal -> [Attr] -> [Element] -> Entry
entryId :: Entry -> String
entryTitle :: Entry -> TextContent
entryUpdated :: Entry -> Date
entryAuthors :: Entry -> [Person]
entryCategories :: Entry -> [Category]
entryContent :: Entry -> Maybe EntryContent
entryContributor :: Entry -> [Person]
entryLinks :: Entry -> [Link]
entryPublished :: Entry -> Maybe Date
entryRights :: Entry -> Maybe TextContent
entrySource :: Entry -> Maybe Source
entrySummary :: Entry -> Maybe TextContent
entryInReplyTo :: Entry -> Maybe InReplyTo
entryInReplyTotal :: Entry -> Maybe InReplyTotal
entryAttrs :: Entry -> [Attr]
entryOther :: Entry -> [Element]
data EntryContent
TextContent :: String -> EntryContent
HTMLContent :: String -> EntryContent
XHTMLContent :: Element -> EntryContent
MixedContent :: (Maybe String) -> [Content] -> EntryContent
ExternalContent :: (Maybe MediaType) -> URI -> EntryContent
data Category
Category :: String -> Maybe URI -> Maybe String -> [Element] -> Category
-- | the tag/term of the category.
catTerm :: Category -> String
-- | optional URL for identifying the categorization scheme.
catScheme :: Category -> Maybe URI
-- | human-readable label of the category
catLabel :: Category -> Maybe String
-- | unknown elements, for extensibility.
catOther :: Category -> [Element]
data Generator
Generator :: Maybe URI -> Maybe String -> String -> Generator
genURI :: Generator -> Maybe URI
genVersion :: Generator -> Maybe String
genText :: Generator -> String
data Link
Link :: URI -> Maybe (Either NCName URI) -> Maybe MediaType -> Maybe String -> Maybe String -> Maybe String -> [Element] -> Link
linkHref :: Link -> URI
linkRel :: Link -> Maybe (Either NCName URI)
linkType :: Link -> Maybe MediaType
linkHrefLang :: Link -> Maybe String
linkTitle :: Link -> Maybe String
linkLength :: Link -> Maybe String
linkOther :: Link -> [Element]
data TextContent
TextString :: String -> TextContent
HTMLString :: String -> TextContent
XHTMLString :: Element -> TextContent
data Source
Source :: [Person] -> [Category] -> Maybe Generator -> Maybe URI -> Maybe String -> [Link] -> Maybe URI -> Maybe TextContent -> Maybe TextContent -> Maybe TextContent -> Maybe Date -> [Element] -> Source
sourceAuthors :: Source -> [Person]
sourceCategories :: Source -> [Category]
sourceGenerator :: Source -> Maybe Generator
sourceIcon :: Source -> Maybe URI
sourceId :: Source -> Maybe String
sourceLinks :: Source -> [Link]
sourceLogo :: Source -> Maybe URI
sourceRights :: Source -> Maybe TextContent
sourceSubtitle :: Source -> Maybe TextContent
sourceTitle :: Source -> Maybe TextContent
sourceUpdated :: Source -> Maybe Date
sourceOther :: Source -> [Element]
data Person
Person :: String -> Maybe URI -> Maybe String -> [Element] -> Person
personName :: Person -> String
personURI :: Person -> Maybe URI
personEmail :: Person -> Maybe String
personOther :: Person -> [Element]
data InReplyTo
InReplyTo :: URI -> Maybe URI -> Maybe MediaType -> Maybe URI -> [Attr] -> [Content] -> InReplyTo
replyToRef :: InReplyTo -> URI
replyToHRef :: InReplyTo -> Maybe URI
replyToType :: InReplyTo -> Maybe MediaType
replyToSource :: InReplyTo -> Maybe URI
replyToOther :: InReplyTo -> [Attr]
replyToContent :: InReplyTo -> [Content]
data InReplyTotal
InReplyTotal :: Integer -> [Attr] -> InReplyTotal
replyToTotal :: InReplyTotal -> Integer
replyToTotalOther :: InReplyTotal -> [Attr]
newCategory :: String -> Category
nullFeed :: String -> TextContent -> Date -> Feed
nullEntry :: String -> TextContent -> Date -> Entry
nullGenerator :: String -> Generator
nullLink :: URI -> Link
nullSource :: Source
nullPerson :: Person
instance Show InReplyTotal
instance Show InReplyTo
instance Show Person
instance Show Source
instance Show TextContent
instance Show Link
instance Eq Generator
instance Show Generator
instance Show Category
instance Show EntryContent
instance Show Entry
instance Show Feed
-- | Description: Convert from Atom to XML
module Text.Atom.Feed.Export
atom_prefix :: Maybe String
atom_thr_prefix :: Maybe String
atomNS :: String
atomThreadNS :: String
xmlns_atom :: Attr
xmlns_atom_thread :: Attr
atomName :: String -> QName
atomAttr :: String -> String -> Attr
atomNode :: String -> [Content] -> Element
atomLeaf :: String -> String -> Element
atomThreadName :: String -> QName
atomThreadAttr :: String -> String -> Attr
atomThreadNode :: String -> [Content] -> Element
atomThreadLeaf :: String -> String -> Element
xmlFeed :: Feed -> Element
xmlEntry :: Entry -> Element
xmlContent :: EntryContent -> Element
xmlCategory :: Category -> Element
xmlLink :: Link -> Element
xmlSource :: Source -> Element
xmlGenerator :: Generator -> Element
xmlAuthor :: Person -> Element
xmlContributor :: Person -> Element
xmlPerson :: Person -> [Content]
xmlInReplyTo :: InReplyTo -> Element
xmlInReplyTotal :: InReplyTotal -> Element
xmlId :: String -> Element
xmlIcon :: URI -> Element
xmlLogo :: URI -> Element
xmlUpdated :: Date -> Element
xmlPublished :: Date -> Element
xmlRights :: TextContent -> Element
xmlTitle :: TextContent -> Element
xmlSubtitle :: TextContent -> Element
xmlSummary :: TextContent -> Element
xmlTextContent :: String -> TextContent -> Element
mb :: (a -> b) -> Maybe a -> [b]
-- | Description: Convert from XML to Atom
module Text.Atom.Feed.Import
pNodes :: String -> [Element] -> [Element]
pQNodes :: QName -> [Element] -> [Element]
pNode :: String -> [Element] -> Maybe Element
pQNode :: QName -> [Element] -> Maybe Element
pLeaf :: String -> [Element] -> Maybe String
pQLeaf :: QName -> [Element] -> Maybe String
pAttr :: String -> Element -> Maybe String
pAttrs :: String -> Element -> [String]
pQAttr :: QName -> Element -> Maybe String
pMany :: String -> (Element -> Maybe a) -> [Element] -> [a]
children :: Element -> [Element]
elementFeed :: Element -> Maybe Feed
pTextContent :: String -> [Element] -> Maybe TextContent
pPerson :: Element -> Maybe Person
pCategory :: Element -> Maybe Category
pGenerator :: Element -> Generator
pSource :: Element -> Source
pLink :: Element -> Maybe Link
pEntry :: Element -> Maybe Entry
pContent :: Element -> Maybe EntryContent
pInReplyTotal :: [Element] -> Maybe InReplyTotal
pInReplyTo :: [Element] -> Maybe InReplyTo
module Text.Atom.Feed.Validate
data VTree a
VNode :: [a] -> [VTree a] -> VTree a
VLeaf :: [a] -> VTree a
type ValidatorResult = VTree (Bool, String)
advice :: String -> ValidatorResult
demand :: String -> ValidatorResult
valid :: ValidatorResult
mkTree :: [(Bool, String)] -> [ValidatorResult] -> ValidatorResult
flattenT :: VTree a -> [a]
validateEntry :: Element -> ValidatorResult
checkEntryAuthor :: Element -> ValidatorResult
checkCats :: Element -> ValidatorResult
checkContents :: Element -> ValidatorResult
checkContributor :: Element -> ValidatorResult
checkContentLink :: Element -> ValidatorResult
checkLinks :: Element -> ValidatorResult
checkId :: Element -> ValidatorResult
checkPublished :: Element -> ValidatorResult
checkRights :: Element -> ValidatorResult
checkSource :: Element -> ValidatorResult
checkSummary :: Element -> ValidatorResult
checkTitle :: Element -> ValidatorResult
checkUpdated :: Element -> ValidatorResult
checkCat :: Element -> ValidatorResult
checkContent :: Element -> ValidatorResult
checkTerm :: Element -> ValidatorResult
checkAuthor :: Element -> ValidatorResult
checkPerson :: Element -> ValidatorResult
checkName :: Element -> ValidatorResult
checkEmail :: Element -> ValidatorResult
checkUri :: Element -> ValidatorResult
instance (Eq a) => Eq (VTree a)
instance (Show a) => Show (VTree a)
module Text.Atom.Pub
data Service
Service :: [Workspace] -> [Element] -> Service
serviceWorkspaces :: Service -> [Workspace]
serviceOther :: Service -> [Element]
data Workspace
Workspace :: TextContent -> [Collection] -> [Element] -> Workspace
workspaceTitle :: Workspace -> TextContent
workspaceCols :: Workspace -> [Collection]
workspaceOther :: Workspace -> [Element]
data Collection
Collection :: URI -> TextContent -> [Accept] -> [Categories] -> [Element] -> Collection
collectionURI :: Collection -> URI
collectionTitle :: Collection -> TextContent
collectionAccept :: Collection -> [Accept]
collectionCats :: Collection -> [Categories]
collectionOther :: Collection -> [Element]
data Categories
CategoriesExternal :: URI -> Categories
Categories :: (Maybe Bool) -> (Maybe URI) -> [Category] -> Categories
newtype Accept
Accept :: String -> Accept
acceptType :: Accept -> String
instance Show Categories
-- | Description: Serializing APP types (as XML.)
module Text.Atom.Pub.Export
showServiceDoc :: Service -> String
mkQName :: Maybe String -> String -> QName
mkElem :: QName -> [Attr] -> [Element] -> Element
mkLeaf :: QName -> [Attr] -> String -> Element
mkAttr :: String -> String -> Attr
xmlns_app :: Attr
appNS :: String
appName :: String -> QName
xmlService :: Service -> Element
xmlWorkspace :: Workspace -> Element
xmlCollection :: Collection -> Element
xmlCategories :: Categories -> Element
xmlAccept :: Accept -> Element
-- | Description: Representing the DublinCore metadata elements in Haskell.
-- The Dublin Core Metadata Element Set. See:
-- http://dublincore.org/
module Text.DublinCore.Types
-- | A DCItem
data DCItem
DCItem :: DCInfo -> String -> DCItem
dcElt :: DCItem -> DCInfo
dcText :: DCItem -> String
-- | The Dublin Core Metadata Element Set, all 15 of them (plus an
-- extension constructor.)
data DCInfo
-- | A name given to the resource.
DC_Title :: DCInfo
-- | An entity primarily responsible for making the content of the
-- resource.
DC_Creator :: DCInfo
-- | The topic of the content of the resource.
DC_Subject :: DCInfo
-- | An account of the content of the resource.
DC_Description :: DCInfo
-- | An entity responsible for making the resource available
DC_Publisher :: DCInfo
-- | An entity responsible for making contributions to the content of the
-- resource.
DC_Contributor :: DCInfo
-- | A date associated with an event in the life cycle of the resource
-- (YYYY-MM-DD)
DC_Date :: DCInfo
-- | The nature or genre of the content of the resource.
DC_Type :: DCInfo
-- | The physical or digital manifestation of the resource.
DC_Format :: DCInfo
-- | An unambiguous reference to the resource within a given context.
DC_Identifier :: DCInfo
-- | A Reference to a resource from which the present resource is derived.
DC_Source :: DCInfo
-- | A language of the intellectual content of the resource.
DC_Language :: DCInfo
-- | A reference to a related resource.
DC_Relation :: DCInfo
-- | The extent or scope of the content of the resource.
DC_Coverage :: DCInfo
-- | Information about rights held in and over the resource.
DC_Rights :: DCInfo
-- | Other; data type extension mechanism.
DC_Other :: String -> DCInfo
infoToTag :: DCInfo -> String
dc_element_names :: [String]
instance Eq DCInfo
instance Show DCInfo
instance Eq DCItem
instance Show DCItem
module Text.RSS1.Utils
pQNodes :: QName -> Element -> [Element]
pNode :: String -> Element -> Maybe Element
pQNode :: QName -> Element -> Maybe Element
pLeaf :: String -> Element -> Maybe String
pQLeaf :: (Maybe String, Maybe String) -> String -> Element -> Maybe String
pAttr :: (Maybe String, Maybe String) -> String -> Element -> Maybe String
pMany :: (Maybe String, Maybe String) -> String -> (Element -> Maybe a) -> Element -> [a]
children :: Element -> [Element]
qualName :: (Maybe String, Maybe String) -> String -> QName
rss10NS :: Maybe String
rssPrefix :: Maybe String
rdfNS :: Maybe String
rdfPrefix :: Maybe String
synNS :: Maybe String
synPrefix :: Maybe String
taxNS :: Maybe String
taxPrefix :: Maybe String
conNS :: Maybe String
conPrefix :: Maybe String
dcNS :: Maybe String
dcPrefix :: Maybe String
rdfName :: String -> QName
rssName :: String -> QName
synName :: String -> QName
known_rss_elts :: [QName]
known_syn_elts :: [QName]
known_dc_elts :: [QName]
known_tax_elts :: [QName]
known_con_elts :: [QName]
removeKnownElts :: Element -> [Element]
removeKnownAttrs :: Element -> [Attr]
module Text.RSS1.Syntax
type URIString = String
type TitleString = String
type TimeString = String
type TextString = String
data Feed
Feed :: String -> Channel -> Maybe Image -> [Item] -> Maybe TextInputInfo -> [TaxonomyTopic] -> [Element] -> [Attr] -> Feed
feedVersion :: Feed -> String
feedChannel :: Feed -> Channel
feedImage :: Feed -> Maybe Image
feedItems :: Feed -> [Item]
feedTextInput :: Feed -> Maybe TextInputInfo
feedTopics :: Feed -> [TaxonomyTopic]
feedOther :: Feed -> [Element]
feedAttrs :: Feed -> [Attr]
data Channel
Channel :: URIString -> TitleString -> URIString -> TextString -> Maybe URIString -> [URIString] -> Maybe URIString -> [DCItem] -> Maybe UpdatePeriod -> Maybe Integer -> Maybe TimeString -> [ContentInfo] -> [URIString] -> [Element] -> [Attr] -> Channel
channelURI :: Channel -> URIString
channelTitle :: Channel -> TitleString
channelLink :: Channel -> URIString
channelDesc :: Channel -> TextString
channelImageURI :: Channel -> Maybe URIString
channelItemURIs :: Channel -> [URIString]
channelTextInputURI :: Channel -> Maybe URIString
channelDC :: Channel -> [DCItem]
channelUpdatePeriod :: Channel -> Maybe UpdatePeriod
channelUpdateFreq :: Channel -> Maybe Integer
channelUpdateBase :: Channel -> Maybe TimeString
channelContent :: Channel -> [ContentInfo]
channelTopics :: Channel -> [URIString]
channelOther :: Channel -> [Element]
channelAttrs :: Channel -> [Attr]
data Image
Image :: URIString -> TextString -> URIString -> URIString -> [DCItem] -> [Element] -> [Attr] -> Image
imageURI :: Image -> URIString
imageTitle :: Image -> TextString
imageURL :: Image -> URIString
imageLink :: Image -> URIString
imageDC :: Image -> [DCItem]
imageOther :: Image -> [Element]
imageAttrs :: Image -> [Attr]
data Item
Item :: URIString -> TextString -> URIString -> Maybe TextString -> [DCItem] -> [URIString] -> [ContentInfo] -> [Element] -> [Attr] -> Item
itemURI :: Item -> URIString
itemTitle :: Item -> TextString
itemLink :: Item -> URIString
itemDesc :: Item -> Maybe TextString
itemDC :: Item -> [DCItem]
itemTopics :: Item -> [URIString]
itemContent :: Item -> [ContentInfo]
itemOther :: Item -> [Element]
itemAttrs :: Item -> [Attr]
data TextInputInfo
TextInputInfo :: URIString -> TextString -> TextString -> TextString -> URIString -> [DCItem] -> [Element] -> [Attr] -> TextInputInfo
textInputURI :: TextInputInfo -> URIString
textInputTitle :: TextInputInfo -> TextString
textInputDesc :: TextInputInfo -> TextString
textInputName :: TextInputInfo -> TextString
textInputLink :: TextInputInfo -> URIString
textInputDC :: TextInputInfo -> [DCItem]
textInputOther :: TextInputInfo -> [Element]
textInputAttrs :: TextInputInfo -> [Attr]
data TaxonomyTopic
TaxonomyTopic :: URIString -> URIString -> Maybe String -> Maybe String -> [URIString] -> [DCItem] -> [Element] -> TaxonomyTopic
taxonomyURI :: TaxonomyTopic -> URIString
taxonomyLink :: TaxonomyTopic -> URIString
taxonomyTitle :: TaxonomyTopic -> Maybe String
taxonomyDesc :: TaxonomyTopic -> Maybe String
taxonomyTopics :: TaxonomyTopic -> [URIString]
taxonomyDC :: TaxonomyTopic -> [DCItem]
taxonomyOther :: TaxonomyTopic -> [Element]
data UpdatePeriod
Update_Hourly :: UpdatePeriod
Update_Daily :: UpdatePeriod
Update_Weekly :: UpdatePeriod
Update_Monthly :: UpdatePeriod
Update_Yearly :: UpdatePeriod
data ContentInfo
ContentInfo :: Maybe URIString -> Maybe URIString -> Maybe URIString -> Maybe String -> ContentInfo
contentURI :: ContentInfo -> Maybe URIString
contentFormat :: ContentInfo -> Maybe URIString
contentEncoding :: ContentInfo -> Maybe URIString
contentValue :: ContentInfo -> Maybe String
nullFeed :: URIString -> TitleString -> Feed
nullChannel :: URIString -> TitleString -> Channel
nullImage :: URIString -> String -> URIString -> Image
nullItem :: URIString -> TextString -> URIString -> Item
nullTextInputInfo :: URIString -> TextString -> TextString -> URIString -> TextInputInfo
nullTaxonomyTopic :: URIString -> URIString -> TaxonomyTopic
nullContentInfo :: ContentInfo
instance Eq ContentInfo
instance Show ContentInfo
instance Eq UpdatePeriod
instance Show UpdatePeriod
instance Show TaxonomyTopic
instance Show TextInputInfo
instance Show Item
instance Show Image
instance Show Channel
instance Show Feed
module Text.RSS1.Import
elementToFeed :: Element -> Maybe Feed
module Text.RSS1.Export
xmlFeed :: Feed -> Element
-- | Description: The basic syntax for putting together feeds. For
-- instance, to create a feed with a single item item: (nullRSS "rss
-- title" "link") {rssChannel=(nullChannel "channel title" "link")
-- {rssItems=[(nullItem "item title")]}}
module Text.RSS.Syntax
data RSS
RSS :: String -> [Attr] -> RSSChannel -> [Element] -> RSS
rssVersion :: RSS -> String
rssAttrs :: RSS -> [Attr]
rssChannel :: RSS -> RSSChannel
rssOther :: RSS -> [Element]
type URLString = String
type DateString = String
data RSSChannel
RSSChannel :: String -> URLString -> String -> [RSSItem] -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe DateString -> Maybe DateString -> [RSSCategory] -> Maybe String -> Maybe URLString -> Maybe RSSCloud -> Maybe Integer -> Maybe RSSImage -> Maybe String -> Maybe RSSTextInput -> Maybe [Integer] -> Maybe [String] -> [Element] -> RSSChannel
rssTitle :: RSSChannel -> String
rssLink :: RSSChannel -> URLString
rssDescription :: RSSChannel -> String
rssItems :: RSSChannel -> [RSSItem]
rssLanguage :: RSSChannel -> Maybe String
rssCopyright :: RSSChannel -> Maybe String
rssEditor :: RSSChannel -> Maybe String
rssWebMaster :: RSSChannel -> Maybe String
-- | rfc 822 conforming.
rssPubDate :: RSSChannel -> Maybe DateString
-- | rfc 822 conforming.
rssLastUpdate :: RSSChannel -> Maybe DateString
rssCategories :: RSSChannel -> [RSSCategory]
rssGenerator :: RSSChannel -> Maybe String
rssDocs :: RSSChannel -> Maybe URLString
rssCloud :: RSSChannel -> Maybe RSSCloud
rssTTL :: RSSChannel -> Maybe Integer
rssImage :: RSSChannel -> Maybe RSSImage
rssRating :: RSSChannel -> Maybe String
rssTextInput :: RSSChannel -> Maybe RSSTextInput
rssSkipHours :: RSSChannel -> Maybe [Integer]
rssSkipDays :: RSSChannel -> Maybe [String]
rssChannelOther :: RSSChannel -> [Element]
data RSSItem
RSSItem :: Maybe String -> Maybe URLString -> Maybe String -> Maybe String -> [RSSCategory] -> Maybe URLString -> Maybe RSSEnclosure -> Maybe RSSGuid -> Maybe DateString -> Maybe RSSSource -> [Attr] -> [Element] -> RSSItem
rssItemTitle :: RSSItem -> Maybe String
rssItemLink :: RSSItem -> Maybe URLString
-- | if not present, the title is. (per spec, at least.)
rssItemDescription :: RSSItem -> Maybe String
rssItemAuthor :: RSSItem -> Maybe String
rssItemCategories :: RSSItem -> [RSSCategory]
rssItemComments :: RSSItem -> Maybe URLString
rssItemEnclosure :: RSSItem -> Maybe RSSEnclosure
rssItemGuid :: RSSItem -> Maybe RSSGuid
rssItemPubDate :: RSSItem -> Maybe DateString
rssItemSource :: RSSItem -> Maybe RSSSource
rssItemAttrs :: RSSItem -> [Attr]
rssItemOther :: RSSItem -> [Element]
data RSSSource
RSSSource :: URLString -> [Attr] -> String -> RSSSource
rssSourceURL :: RSSSource -> URLString
rssSourceAttrs :: RSSSource -> [Attr]
rssSourceTitle :: RSSSource -> String
data RSSEnclosure
RSSEnclosure :: URLString -> Integer -> String -> [Attr] -> RSSEnclosure
rssEnclosureURL :: RSSEnclosure -> URLString
rssEnclosureLength :: RSSEnclosure -> Integer
rssEnclosureType :: RSSEnclosure -> String
rssEnclosureAttrs :: RSSEnclosure -> [Attr]
data RSSCategory
RSSCategory :: Maybe String -> [Attr] -> String -> RSSCategory
rssCategoryDomain :: RSSCategory -> Maybe String
rssCategoryAttrs :: RSSCategory -> [Attr]
rssCategoryValue :: RSSCategory -> String
data RSSGuid
RSSGuid :: Maybe Bool -> [Attr] -> String -> RSSGuid
rssGuidPermanentURL :: RSSGuid -> Maybe Bool
rssGuidAttrs :: RSSGuid -> [Attr]
rssGuidValue :: RSSGuid -> String
data RSSImage
RSSImage :: URLString -> String -> URLString -> Maybe Integer -> Maybe Integer -> Maybe String -> [Element] -> RSSImage
rssImageURL :: RSSImage -> URLString
rssImageTitle :: RSSImage -> String
rssImageLink :: RSSImage -> URLString
rssImageWidth :: RSSImage -> Maybe Integer
rssImageHeight :: RSSImage -> Maybe Integer
rssImageDesc :: RSSImage -> Maybe String
rssImageOther :: RSSImage -> [Element]
data RSSCloud
RSSCloud :: Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> [Attr] -> RSSCloud
rssCloudDomain :: RSSCloud -> Maybe String
rssCloudPort :: RSSCloud -> Maybe String
rssCloudPath :: RSSCloud -> Maybe String
rssCloudRegister :: RSSCloud -> Maybe String
rssCloudProtocol :: RSSCloud -> Maybe String
rssCloudAttrs :: RSSCloud -> [Attr]
data RSSTextInput
RSSTextInput :: String -> String -> String -> URLString -> [Attr] -> [Element] -> RSSTextInput
rssTextInputTitle :: RSSTextInput -> String
rssTextInputDesc :: RSSTextInput -> String
rssTextInputName :: RSSTextInput -> String
rssTextInputLink :: RSSTextInput -> URLString
rssTextInputAttrs :: RSSTextInput -> [Attr]
rssTextInputOther :: RSSTextInput -> [Element]
nullRSS :: String -> URLString -> RSS
nullChannel :: String -> URLString -> RSSChannel
nullItem :: String -> RSSItem
nullSource :: URLString -> String -> RSSSource
nullEnclosure :: URLString -> Integer -> String -> RSSEnclosure
newCategory :: String -> RSSCategory
nullGuid :: String -> RSSGuid
nullPermaGuid :: String -> RSSGuid
nullImage :: URLString -> String -> URLString -> RSSImage
nullCloud :: RSSCloud
nullTextInput :: String -> String -> URLString -> RSSTextInput
instance Show RSSTextInput
instance Show RSSCloud
instance Show RSSImage
instance Show RSSGuid
instance Show RSSCategory
instance Show RSSEnclosure
instance Show RSSSource
instance Show RSSItem
instance Show RSSChannel
instance Show RSS
-- | Description: Converting from XML to RSS
module Text.RSS.Import
pNodes :: String -> [Element] -> [Element]
pNode :: String -> [Element] -> Maybe Element
pLeaf :: String -> [Element] -> Maybe String
pAttr :: String -> Element -> Maybe String
pMany :: String -> (Element -> Maybe a) -> [Element] -> [a]
children :: Element -> [Element]
qualName :: String -> QName
elementToRSS :: Element -> Maybe RSS
elementToChannel :: Element -> Maybe RSSChannel
elementToImage :: Element -> Maybe RSSImage
elementToCategory :: Element -> Maybe RSSCategory
elementToCloud :: Element -> Maybe RSSCloud
elementToItem :: Element -> Maybe RSSItem
elementToSource :: Element -> Maybe RSSSource
elementToEnclosure :: Element -> Maybe RSSEnclosure
elementToGuid :: Element -> Maybe RSSGuid
elementToTextInput :: Element -> Maybe RSSTextInput
elementToSkipHours :: Element -> Maybe [Integer]
elementToSkipDays :: Element -> Maybe [String]
readInt :: String -> Maybe Integer
readBool :: String -> Maybe Bool
-- | Description: Convert from RSS to XML
module Text.RSS.Export
qualNode :: String -> [Content] -> Element
qualName :: String -> QName
xmlRSS :: RSS -> Element
xmlChannel :: RSSChannel -> Element
xmlItem :: RSSItem -> Element
xmlSource :: RSSSource -> Element
xmlEnclosure :: RSSEnclosure -> Element
xmlCategory :: RSSCategory -> Element
xmlGuid :: RSSGuid -> Element
xmlImage :: RSSImage -> Element
xmlCloud :: RSSCloud -> Element
xmlTextInput :: RSSTextInput -> Element
xmlSkipHours :: [Integer] -> Element
xmlSkipDays :: [String] -> Element
xmlAttr :: String -> String -> Attr
xmlLeaf :: String -> String -> Element
mb :: (a -> b) -> Maybe a -> [b]
module Text.Feed.Types
-- | The abstract type of feed documents. The internal representation is as
-- whatever feed variant type the document was either imported or has now
-- been translated to.
data Feed
AtomFeed :: Feed -> Feed
RSSFeed :: RSS -> Feed
RSS1Feed :: Feed -> Feed
XMLFeed :: Element -> Feed
-- | The abstract type of feed items. Like the Feed type, the
-- representation of a value is as one of the different RSS item/entry
-- variants.
data Item
AtomItem :: Entry -> Item
RSSItem :: RSSItem -> Item
RSS1Item :: Item -> Item
XMLItem :: Element -> Item
-- | The kinds of feed documents supported.
data FeedKind
AtomKind :: FeedKind
RSSKind :: (Maybe String) -> FeedKind
RDFKind :: (Maybe String) -> FeedKind
instance Eq FeedKind
instance Show FeedKind
instance Show Item
instance Show Feed
-- | Description: Convert from XML to Feeds.
module Text.Feed.Import
parseFeedFromFile :: FilePath -> IO Feed
parseFeedString :: String -> Maybe Feed
-- | Description: Convert from Feeds to XML.
module Text.Feed.Export
xmlFeed :: Feed -> Element
module Text.Feed.Query
feedItems :: Feed -> [Item]
type FeedGetter a = Feed -> Maybe a
getFeedTitle :: Feed -> String
getFeedAuthor :: Feed -> (Maybe String)
getFeedHome :: FeedGetter URLString
getFeedHTML :: FeedGetter URLString
getFeedDescription :: FeedGetter String
getFeedPubDate :: FeedGetter DateString
getFeedLastUpdate :: FeedGetter (String)
getFeedDate :: FeedGetter DateString
getFeedLogoLink :: FeedGetter URLString
getFeedLanguage :: FeedGetter String
getFeedCategories :: Feed -> [(String, Maybe String)]
getFeedGenerator :: FeedGetter String
getFeedItems :: Feed -> [Item]
type ItemGetter a = Item -> Maybe a
getItemTitle :: ItemGetter String
getItemLink :: ItemGetter String
getItemPublishDate :: ItemGetter DateString
getItemDate :: ItemGetter DateString
getItemAuthor :: ItemGetter String
getItemCommentLink :: ItemGetter URLString
getItemEnclosure :: ItemGetter (String, Maybe String, Integer)
getItemFeedLink :: ItemGetter URLString
getItemId :: ItemGetter (Bool, String)
getItemCategories :: Item -> [String]
getItemRights :: ItemGetter String
-- | Description: Module for an abstraction layer between different kinds
-- of feeds.
module Text.Feed.Constructor
-- | The kinds of feed documents supported.
data FeedKind
AtomKind :: FeedKind
RSSKind :: (Maybe String) -> FeedKind
RDFKind :: (Maybe String) -> FeedKind
-- | Construct an empty feed document, intending to output it in the
-- fk feed format.
newFeed :: FeedKind -> Feed
feedFromRSS :: RSS -> Feed
feedFromAtom :: Feed -> Feed
feedFromRDF :: Feed -> Feed
feedFromXML :: Element -> Feed
getFeedKind :: Feed -> FeedKind
type FeedSetter a = a -> Feed -> Feed
addItem :: Item -> Feed -> Feed
withFeedTitle :: FeedSetter String
withFeedHome :: FeedSetter URLString
-- | withFeedHTML sets the URL where an HTML version of the feed is
-- published.
withFeedHTML :: FeedSetter URLString
-- | withFeedHTML sets the URL where an HTML version of the feed is
-- published.
withFeedDescription :: FeedSetter String
withFeedPubDate :: FeedSetter String
withFeedLastUpdate :: FeedSetter DateString
-- | 'withFeedDate dt' is the composition of withFeedPubDate and
-- withFeedLastUpdate, setting both publication date and last
-- update date to dt. Notice that RSS2.0 is the only format
-- supporting both pub and last-update.
withFeedDate :: FeedSetter DateString
withFeedLogoLink :: URLString -> FeedSetter URLString
withFeedLanguage :: FeedSetter String
withFeedCategories :: FeedSetter [(String, Maybe String)]
withFeedGenerator :: FeedSetter (String, Maybe URLString)
withFeedItems :: FeedSetter [Item]
newItem :: FeedKind -> Item
getItemKind :: Item -> FeedKind
atomEntryToItem :: Entry -> Item
rssItemToItem :: RSSItem -> Item
rdfItemToItem :: Item -> Item
type ItemSetter a = a -> Item -> Item
-- | 'withItemTitle myTitle' associates a new title, myTitle, with
-- a feed item.
withItemTitle :: ItemSetter String
-- | 'withItemTitle myLink' associates a new URL, myLink, with a
-- feed item.
withItemLink :: ItemSetter URLString
-- | 'withItemPubDate dt' associates the creation/ publication date
-- dt with a feed item.
withItemPubDate :: ItemSetter DateString
-- | withItemDate is a synonym for withItemPubDate.
withItemDate :: ItemSetter DateString
-- | 'withItemAuthor auStr' associates new author info with a feed item.
withItemAuthor :: ItemSetter String
-- | 'withItemCommentLink url' sets the URL reference to the comment page
-- to url.
withItemCommentLink :: ItemSetter String
-- | 'withItemEnclosure url mbTy len' sets the URL reference to the comment
-- page to url.
withItemEnclosure :: String -> Maybe String -> ItemSetter Integer
-- | 'withItemFeedLink name myFeed' associates the parent feed URL
-- myFeed with a feed item. It is labelled as name.
withItemFeedLink :: String -> ItemSetter String
-- | 'withItemId isURL id' associates new unique identifier with a feed
-- item. If isURL is True, then the id is assumed to
-- point to a valid web resource.
withItemId :: Bool -> ItemSetter String
withItemCategories :: ItemSetter [(String, Maybe String)]
-- | 'withItemDescription desc' associates a new descriptive string (aka
-- summary) with a feed item.
withItemDescription :: ItemSetter String
-- | 'withItemRights rightStr' associates the rights information
-- rightStr with a feed item.
withItemRights :: ItemSetter String
module Text.Feed.Translate
translateItemTo :: FeedKind -> Item -> Item
withAtomEntry :: (Entry -> Entry) -> Item -> Item
withRSSItem :: (RSSItem -> RSSItem) -> Item -> Item
withRSS1Item :: (Item -> Item) -> Item -> Item