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

Safe HaskellNone
LanguageHaskell2010

Text.RSS.Extensions

Contents

Description

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

Synopsis

Parsing

class ParseRssExtension a where Source #

Class of RSS extensions that can be parsed.

Methods

parseRssChannelExtension :: MonadThrow m => ConduitT 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 => ConduitT 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.

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

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

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

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

Rendering

class RenderRssExtension e where Source #

Class of RSS extensions that can be rendered.

Methods

renderRssChannelExtension :: Monad m => RssChannelExtension e -> ConduitT () Event m () Source #

Render extension for the <channel> element.

renderRssItemExtension :: Monad m => RssItemExtension e -> ConduitT () Event m () Source #

Render extension for the <item> element.

type RenderRssExtensions (e :: [*]) = AllConstrained RenderRssExtension e Source #

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

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

Render a set of <channel> extensions.

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

Render a set of <item> extensions.