atom-conduit-0.6.0.0: Streaming parser/renderer for the Atom 1.0 standard (RFC 4287).

Safe HaskellNone
LanguageHaskell2010

Text.Atom.Types

Description

Atom is an XML-based Web content and metadata syndication format.

Example:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Example Feed</title>
  <link href="http://example.org/"/>
  <updated>2003-12-13T18:30:02Z</updated>
  <author>
    <name>John Doe</name>
  </author>
  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

  <entry>
    <title>Atom-Powered Robots Run Amok</title>
    <link href="http://example.org/2003/12/13/atom03"/>
    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
    <updated>2003-12-13T18:30:02Z</updated>
    <summary>Some text.</summary>
  </entry>

</feed>
Synopsis

Documentation

data AtomFeed Source #

The atom:feed element.

Instances
Eq AtomFeed Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomFeed Source # 
Instance details

Defined in Text.Atom.Types

Show AtomFeed Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomFeed Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomFeed :: Type -> Type #

Methods

from :: AtomFeed -> Rep AtomFeed x #

to :: Rep AtomFeed x -> AtomFeed #

type Rep AtomFeed Source # 
Instance details

Defined in Text.Atom.Types

type Rep AtomFeed = D1 (MetaData "AtomFeed" "Text.Atom.Types" "atom-conduit-0.6.0.0-Dv9Cd93Pki0KCFPZ0R4mJL" False) (C1 (MetaCons "AtomFeed" PrefixI True) (((S1 (MetaSel (Just "feedAuthors") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomPerson]) :*: (S1 (MetaSel (Just "feedCategories") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomCategory]) :*: S1 (MetaSel (Just "feedContributors") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomPerson]))) :*: (S1 (MetaSel (Just "feedEntries") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomEntry]) :*: (S1 (MetaSel (Just "feedGenerator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomGenerator)) :*: S1 (MetaSel (Just "feedIcon") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomURI))))) :*: ((S1 (MetaSel (Just "feedId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "feedLinks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomLink]) :*: S1 (MetaSel (Just "feedLogo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomURI)))) :*: ((S1 (MetaSel (Just "feedRights") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomText)) :*: S1 (MetaSel (Just "feedSubtitle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomText))) :*: (S1 (MetaSel (Just "feedTitle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AtomText) :*: S1 (MetaSel (Just "feedUpdated") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UTCTime))))))

data AtomEntry Source #

The atom:entry element.

Instances
Eq AtomEntry Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomEntry Source # 
Instance details

Defined in Text.Atom.Types

Show AtomEntry Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomEntry Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomEntry :: Type -> Type #

type Rep AtomEntry Source # 
Instance details

Defined in Text.Atom.Types

type Rep AtomEntry = D1 (MetaData "AtomEntry" "Text.Atom.Types" "atom-conduit-0.6.0.0-Dv9Cd93Pki0KCFPZ0R4mJL" False) (C1 (MetaCons "AtomEntry" PrefixI True) (((S1 (MetaSel (Just "entryAuthors") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomPerson]) :*: (S1 (MetaSel (Just "entryCategories") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomCategory]) :*: S1 (MetaSel (Just "entryContent") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomContent)))) :*: (S1 (MetaSel (Just "entryContributors") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomPerson]) :*: (S1 (MetaSel (Just "entryId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "entryLinks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomLink])))) :*: ((S1 (MetaSel (Just "entryPublished") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe UTCTime)) :*: (S1 (MetaSel (Just "entryRights") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomText)) :*: S1 (MetaSel (Just "entrySource") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomSource)))) :*: (S1 (MetaSel (Just "entrySummary") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomText)) :*: (S1 (MetaSel (Just "entryTitle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AtomText) :*: S1 (MetaSel (Just "entryUpdated") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UTCTime))))))

data AtomContent Source #

The atom:content element.

Instances
Eq AtomContent Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomContent Source # 
Instance details

Defined in Text.Atom.Types

Show AtomContent Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomContent Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomContent :: Type -> Type #

type Rep AtomContent Source # 
Instance details

Defined in Text.Atom.Types

type Type = Text Source #

data AtomSource Source #

The atom:source element.

Instances
Eq AtomSource Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomSource Source # 
Instance details

Defined in Text.Atom.Types

Show AtomSource Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomSource Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomSource :: Type -> Type #

type Rep AtomSource Source # 
Instance details

Defined in Text.Atom.Types

type Rep AtomSource = D1 (MetaData "AtomSource" "Text.Atom.Types" "atom-conduit-0.6.0.0-Dv9Cd93Pki0KCFPZ0R4mJL" False) (C1 (MetaCons "AtomSource" PrefixI True) (((S1 (MetaSel (Just "sourceAuthors") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomPerson]) :*: (S1 (MetaSel (Just "sourceCategories") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomCategory]) :*: S1 (MetaSel (Just "sourceContributors") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomPerson]))) :*: (S1 (MetaSel (Just "sourceGenerator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomGenerator)) :*: (S1 (MetaSel (Just "sourceIcon") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomURI)) :*: S1 (MetaSel (Just "sourceId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))) :*: ((S1 (MetaSel (Just "sourceLinks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AtomLink]) :*: (S1 (MetaSel (Just "sourceLogo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomURI)) :*: S1 (MetaSel (Just "sourceRights") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomText)))) :*: (S1 (MetaSel (Just "sourceSubtitle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomText)) :*: (S1 (MetaSel (Just "sourceTitle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomText)) :*: S1 (MetaSel (Just "sourceUpdated") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe UTCTime)))))))

data AtomGenerator Source #

The atom:generator element.

Instances
Eq AtomGenerator Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomGenerator Source # 
Instance details

Defined in Text.Atom.Types

Show AtomGenerator Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomGenerator Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomGenerator :: Type -> Type #

type Rep AtomGenerator Source # 
Instance details

Defined in Text.Atom.Types

type Rep AtomGenerator = D1 (MetaData "AtomGenerator" "Text.Atom.Types" "atom-conduit-0.6.0.0-Dv9Cd93Pki0KCFPZ0R4mJL" False) (C1 (MetaCons "AtomGenerator" PrefixI True) (S1 (MetaSel (Just "generatorUri") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomURI)) :*: (S1 (MetaSel (Just "generatorVersion") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "generatorContent") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Refined (Not Null) Text)))))

data AtomLink Source #

The atom:link element.

data AtomCategory Source #

The atom:category element.

Instances
Eq AtomCategory Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomCategory Source # 
Instance details

Defined in Text.Atom.Types

Show AtomCategory Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomCategory Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomCategory :: Type -> Type #

type Rep AtomCategory Source # 
Instance details

Defined in Text.Atom.Types

type Rep AtomCategory = D1 (MetaData "AtomCategory" "Text.Atom.Types" "atom-conduit-0.6.0.0-Dv9Cd93Pki0KCFPZ0R4mJL" False) (C1 (MetaCons "AtomCategory" PrefixI True) (S1 (MetaSel (Just "categoryTerm") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Refined (Not Null) Text)) :*: (S1 (MetaSel (Just "categoryScheme") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "categoryLabel") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))

data AtomPerson Source #

An atom person construct.

Instances
Eq AtomPerson Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomPerson Source # 
Instance details

Defined in Text.Atom.Types

Show AtomPerson Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomPerson Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomPerson :: Type -> Type #

type Rep AtomPerson Source # 
Instance details

Defined in Text.Atom.Types

type Rep AtomPerson = D1 (MetaData "AtomPerson" "Text.Atom.Types" "atom-conduit-0.6.0.0-Dv9Cd93Pki0KCFPZ0R4mJL" False) (C1 (MetaCons "AtomPerson" PrefixI True) (S1 (MetaSel (Just "personName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Refined (Not Null) Text)) :*: (S1 (MetaSel (Just "personEmail") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "personUri") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AtomURI)))))

data AtomText Source #

An atom text construct.

Constructors

AtomPlainText TextType Text 
AtomXHTMLText Text

XHTML special characters will be in encoded form

Instances
Eq AtomText Source # 
Instance details

Defined in Text.Atom.Types

Ord AtomText Source # 
Instance details

Defined in Text.Atom.Types

Show AtomText Source # 
Instance details

Defined in Text.Atom.Types

Generic AtomText Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep AtomText :: Type -> Type #

Methods

from :: AtomText -> Rep AtomText x #

to :: Rep AtomText x -> AtomText #

type Rep AtomText Source # 
Instance details

Defined in Text.Atom.Types

data TextType Source #

Constructors

TypeText 
TypeHTML 
Instances
Eq TextType Source # 
Instance details

Defined in Text.Atom.Types

Ord TextType Source # 
Instance details

Defined in Text.Atom.Types

Show TextType Source # 
Instance details

Defined in Text.Atom.Types

Generic TextType Source # 
Instance details

Defined in Text.Atom.Types

Associated Types

type Rep TextType :: Type -> Type #

Methods

from :: TextType -> Rep TextType x #

to :: Rep TextType x -> TextType #

type Rep TextType Source # 
Instance details

Defined in Text.Atom.Types

type Rep TextType = D1 (MetaData "TextType" "Text.Atom.Types" "atom-conduit-0.6.0.0-Dv9Cd93Pki0KCFPZ0R4mJL" False) (C1 (MetaCons "TypeText" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "TypeHTML" PrefixI False) (U1 :: Type -> Type))

data AtomURI Source #

Constructors

AtomURI (URIRef a) 
Instances
Eq AtomURI Source # 
Instance details

Defined in Text.Atom.Types

Methods

(==) :: AtomURI -> AtomURI -> Bool #

(/=) :: AtomURI -> AtomURI -> Bool #

Ord AtomURI Source # 
Instance details

Defined in Text.Atom.Types

Show AtomURI Source # 
Instance details

Defined in Text.Atom.Types

data Null Source #

Predicate on Text, true iff text is null.

Instances
Predicate Null Text Source # 
Instance details

Defined in Text.Atom.Types

Methods

validate :: Monad m => Null -> Text -> RefineT m () #

withAtomURI :: (forall a. URIRef a -> b) -> AtomURI -> b Source #