-- 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.1 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 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] nullFeed :: String -> TextContent -> Date -> Feed 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] nullEntry :: String -> TextContent -> Date -> Entry 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] newCategory :: String -> Category data Generator Generator :: Maybe URI -> Maybe String -> String -> Generator genURI :: Generator -> Maybe URI genVersion :: Generator -> Maybe String genText :: Generator -> String nullGenerator :: String -> Generator 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] nullLink :: URI -> Link 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] nullSource :: Source data Person Person :: String -> Maybe URI -> Maybe String -> [Element] -> Person personName :: Person -> String personURI :: Person -> Maybe URI personEmail :: Person -> Maybe String personOther :: Person -> [Element] nullPerson :: Person 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] 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] 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 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 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 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 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 module Text.RSS1.Import elementToFeed :: Element -> Maybe Feed module Text.RSS1.Export xmlFeed :: Feed -> Element 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 rssPubDate :: RSSChannel -> Maybe DateString 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 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 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 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 module Text.Feed.Import parseFeedFromFile :: FilePath -> IO Feed parseFeedString :: String -> Maybe Feed 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 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