rss-conduit-0.4.2.0: Streaming parser/renderer for the RSS standard.

Safe HaskellNone
LanguageHaskell2010

Text.RSS.Extensions

Description

Support for RSS extensions. Cf specification at http://web.resource.org/rss/1.0/modules/.

For now, only parsing is implemented. Rendering will be implemented later.

Synopsis

Documentation

class ParseRssExtension a where Source #

Class of RSS extensions that can be parsed.

Methods

parseRssChannelExtension :: MonadThrow m => ConduitM Event o m (RssChannelExtension a) Source #

This parser will be fed with all Events within the <channel> element. Therefore, it is expected to ignore Events unrelated to the RSS extension.

parseRssItemExtension :: MonadThrow m => ConduitM Event o m (RssItemExtension a) Source #

This parser will be fed with all Events within the <item> element. Therefore, it is expected to ignore Events unrelated to the RSS extension.

type ParseRssExtensions e = (AllConstrained ParseRssExtension e, SingI e) Source #

Requirement on a list of extension tags to be able to parse and combine them.

type RenderRssExtensions e = AllConstrained RenderRssExtension e Source #

Requirement on a list of extension tags to be able to render them.

parseRssChannelExtensions :: ParseRssExtensions e => MonadThrow m => ConduitM Event o m (RssChannelExtensions e) Source #

Parse a combination of RSS extensions at <channel> level.

parseRssItemExtensions :: ParseRssExtensions e => MonadThrow m => ConduitM Event o m (RssItemExtensions e) Source #

Parse a combination of RSS extensions at <item> level.

renderRssChannelExtensions :: Monad m => RenderRssExtensions e => RssChannelExtensions e -> Source m Event Source #

Render a set of <channel> extensions.

renderRssItemExtensions :: Monad m => RenderRssExtensions e => RssItemExtensions e -> Source m Event Source #

Render a set of <item> extensions.