-- 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.
--
-- To help working with the multiple feed formats we've ended up with,
-- this set of modules provides parsers, pretty printers and some utility
-- code for querying and just generally working with a concrete
-- representation of feeds in Haskell.
--
-- For basic reading and editing of feeds, consult the documentation of
-- the Text.Feed.* hierarchy.
@package feed
@version 0.3.11.1
-- | 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
-- | RFC 822 conforming.
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 -> Maybe Integer -> String -> [Attr] -> RSSEnclosure
[rssEnclosureURL] :: RSSEnclosure -> URLString
[rssEnclosureLength] :: RSSEnclosure -> Maybe 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
[rssCloudRegisterProcedure] :: 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 -> Maybe 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 GHC.Show.Show Text.RSS.Syntax.RSS
instance GHC.Show.Show Text.RSS.Syntax.RSSChannel
instance GHC.Show.Show Text.RSS.Syntax.RSSTextInput
instance GHC.Show.Show Text.RSS.Syntax.RSSCloud
instance GHC.Show.Show Text.RSS.Syntax.RSSImage
instance GHC.Show.Show Text.RSS.Syntax.RSSItem
instance GHC.Show.Show Text.RSS.Syntax.RSSGuid
instance GHC.Show.Show Text.RSS.Syntax.RSSCategory
instance GHC.Show.Show Text.RSS.Syntax.RSSEnclosure
instance GHC.Show.Show Text.RSS.Syntax.RSSSource
-- | 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]
-- | Representing the DublinCore metadata elements in Haskell. For
-- information on the Dublin Core Metadata Element Set, see:
-- http://dublincore.org/
module Text.DublinCore.Types
-- | A DCItem pairs a specific element with its (string) value.
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 GHC.Show.Show Text.DublinCore.Types.DCItem
instance GHC.Classes.Eq Text.DublinCore.Types.DCItem
instance GHC.Show.Show Text.DublinCore.Types.DCInfo
instance GHC.Classes.Eq Text.DublinCore.Types.DCInfo
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 GHC.Show.Show Text.RSS1.Syntax.Feed
instance GHC.Show.Show Text.RSS1.Syntax.Channel
instance GHC.Show.Show Text.RSS1.Syntax.Item
instance GHC.Show.Show Text.RSS1.Syntax.ContentInfo
instance GHC.Classes.Eq Text.RSS1.Syntax.ContentInfo
instance GHC.Show.Show Text.RSS1.Syntax.UpdatePeriod
instance GHC.Classes.Eq Text.RSS1.Syntax.UpdatePeriod
instance GHC.Show.Show Text.RSS1.Syntax.TaxonomyTopic
instance GHC.Show.Show Text.RSS1.Syntax.TextInputInfo
instance GHC.Show.Show Text.RSS1.Syntax.Image
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
rssPrefix :: Maybe String
rss10NS :: Maybe String
rdfPrefix :: Maybe String
rdfNS :: Maybe String
synPrefix :: Maybe String
synNS :: Maybe String
taxPrefix :: Maybe String
taxNS :: Maybe String
conPrefix :: Maybe String
conNS :: Maybe String
dcPrefix :: Maybe String
dcNS :: 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.Export
xmlFeed :: Feed -> Element
-- | Converting from XML to RSS
module Text.RSS.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
pMany :: String -> (Element -> Maybe a) -> [Element] -> [a]
children :: Element -> [Element]
qualName :: String -> QName
dcName :: 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
module Text.RSS1.Import
elementToFeed :: Element -> Maybe Feed
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 GHC.Show.Show Text.Atom.Feed.Link.LinkRelation
instance GHC.Classes.Eq Text.Atom.Feed.Link.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 -> [Attr] -> [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
[linkAttrs] :: Link -> [Attr]
[linkOther] :: Link -> [Element]
data TextContent
TextString :: String -> TextContent
HTMLString :: String -> TextContent
XHTMLString :: Element -> TextContent
txtToString :: TextContent -> String
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 GHC.Show.Show Text.Atom.Feed.Feed
instance GHC.Show.Show Text.Atom.Feed.Entry
instance GHC.Show.Show Text.Atom.Feed.InReplyTotal
instance GHC.Show.Show Text.Atom.Feed.InReplyTo
instance GHC.Show.Show Text.Atom.Feed.Source
instance GHC.Show.Show Text.Atom.Feed.Person
instance GHC.Show.Show Text.Atom.Feed.TextContent
instance GHC.Show.Show Text.Atom.Feed.Link
instance GHC.Show.Show Text.Atom.Feed.Generator
instance GHC.Classes.Eq Text.Atom.Feed.Generator
instance GHC.Show.Show Text.Atom.Feed.Category
instance GHC.Show.Show Text.Atom.Feed.EntryContent
-- | Description: Convert from Atom to XML
--
-- 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
--
-- 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 GHC.Show.Show a => GHC.Show.Show (Text.Atom.Feed.Validate.VTree a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Text.Atom.Feed.Validate.VTree a)
-- | Types for the Atom Publishing Protocol (APP)
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 GHC.Show.Show Text.Atom.Pub.Categories
-- | Description: Serializing APP types (as XML.)
--
-- Serializing Atom Publishing Protocol 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
xmlService :: Service -> Element
xmlWorkspace :: Workspace -> Element
xmlCollection :: Collection -> Element
xmlCategories :: Categories -> Element
xmlAccept :: Accept -> Element
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 GHC.Show.Show Text.Feed.Types.FeedKind
instance GHC.Classes.Eq Text.Feed.Types.FeedKind
instance GHC.Show.Show Text.Feed.Types.Item
instance GHC.Show.Show Text.Feed.Types.Feed
-- | 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 (Maybe 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
-- | Convert from Feeds to XML.
module Text.Feed.Export
-- | 'xmlFeed f' serializes a Feed document into a conforming XML
-- toplevel element.
xmlFeed :: Feed -> Element
-- | Convert from XML to Feeds.
module Text.Feed.Import
-- | 'parseFeedFromFile fp' reads in the contents of the file at
-- fp; the assumed encoding is UTF-8.
parseFeedFromFile :: FilePath -> IO Feed
parseFeedString :: String -> Maybe Feed
-- | 'parseFeedSource s' tries to parse the source s as one of the
-- feed formats. First as Atom, then RSS2 before giving RSS1 a try.
-- Nothing is, rather unhelpfully, returned as an indication of
-- error.
parseFeedSource :: XmlSource s => s -> Maybe Feed
-- | 'readRSS2 elt' tries to derive an RSS2.x, RSS-0.9x feed document from
-- the XML element e.
readRSS2 :: Element -> Maybe Feed
-- | 'readRSS1 elt' tries to derive an RSS1.0 feed document from the XML
-- element e.
readRSS1 :: Element -> Maybe Feed
-- | 'readAtom elt' tries to derive an Atom feed document from the XML
-- element e.
readAtom :: Element -> Maybe Feed
module Text.Feed.Util
-- | toFeedDateString translates a calendar time into the format
-- expected by the feed kind.
toFeedDateString :: FeedKind -> ClockTime -> String
-- | toFeedDateStringUTC translates a UTC time into the format
-- expected by the feed kind.
toFeedDateStringUTC :: FeedKind -> UTCTime -> String
module Text.Feed.Query
feedItems :: Feed -> [Item]
type FeedGetter a = Feed -> Maybe a
getFeedTitle :: Feed -> String
getFeedAuthor :: FeedGetter 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 item' returns the publication date of the item,
-- but first parsed per the supported RFC 822 and RFC 3339 formats.
--
-- If the date string cannot be parsed as such, Just Nothing is returned.
-- The caller must then instead fall back to processing the date string
-- from getItemPublishDateString.
--
-- The parsed date representation is one of the ParseTime instances; see
-- Format.
getItemPublishDate :: ParseTime t => ItemGetter (Maybe t)
getItemPublishDateString :: ItemGetter DateString
getItemDate :: ItemGetter DateString
-- | 'getItemAuthor f' returns the optional author of the item.
getItemAuthor :: ItemGetter String
getItemCommentLink :: ItemGetter URLString
getItemEnclosure :: ItemGetter (String, Maybe String, Maybe Integer)
getItemFeedLink :: ItemGetter URLString
getItemId :: ItemGetter (Bool, String)
getItemCategories :: Item -> [String]
getItemRights :: ItemGetter String
getItemSummary :: ItemGetter String
getItemDescription :: ItemGetter String
-- | Translating between RSS formats; work in progress.
module Text.Feed.Translate
translateItemTo :: FeedKind -> Item -> Item
withAtomEntry :: (Entry -> Entry) -> Item -> Item
withRSSItem :: (RSSItem -> RSSItem) -> Item -> Item
withRSS1Item :: (Item -> Item) -> Item -> Item
module Paths_feed
version :: Version
getBinDir :: IO FilePath
getLibDir :: IO FilePath
getDataDir :: IO FilePath
getLibexecDir :: IO FilePath
getDataFileName :: FilePath -> IO FilePath
getSysconfDir :: IO FilePath