This is server API (go to client)

Module Atom_feed

module Atom_feed : sig..end

Everything we need to make an atom feed.


type uri = Xml.uri
type lang = string
type base = uri
type ncname = string
type dateConstruct = string
type emailAddress = string
type mediaType = string
type length = int
type href = Xml.uri
type hrefLang = string
type rel = string
type ltitle = string
type scheme = string
type label = string
type term = string
type metaAttr = [ `Base of base | `Lang of lang ]

Common optional attributes

type personConstruct = [ `Email of emailAddress | `Uri of uri ]

Children tags allowed for the author and contributor tags

type author
type contributor
type generator
type id
type icon
type category
type published
type updated
type source
type entry
type feed
type content
type textConstruct
type linkOAttr = 
  [ `Base of base
  | `Hrefl of hrefLang
  | `Lang of lang
  | `Length of length
  | `Medtype of mediaType
  | `Rel of rel
  | `Title of ltitle
  | `Type of string ]

Children tags allowed for the link tag

type sourceOAttr = 
  [ `Authors of author list
  | `Base of base
  | `Cats of category list
  | `Contribs of contributor list
  | `Gen of generator
  | `Icon of icon
  | `Lang of lang
  | `Links of link list
  | `Logo of logo
  | `Rights of textConstruct
  | `Sub of textConstruct ]

Children tags allowed for the source tag

type entryOAttr = 
  [ `Authors of author list
  | `Base of base
  | `Cats of category list
  | `Content of content
  | `Contribs of contributor list
  | `Lang of lang
  | `Links of link list
  | `Pub of published
  | `Rights of textConstruct
  | `Source of source
  | `Sum of textConstruct ]

Children tags allowed for the entry tag

type feedOAttr = 
  [ `Authors of author list
  | `Base of base
  | `Cats of category list
  | `Contribs of contributor list
  | `Gen of generator
  | `Icon of icon
  | `Lang of lang
  | `Links of link list
  | `Logo of logo
  | `Rights of textConstruct
  | `Sub of textConstruct ]

Children tags allowed for the feed tag

val xml_of_feed : feed -> Xml.elt
val inlineC : 
  ?meta:[> metaAttr ] list ->
  ?html:bool -> string list -> [> `Content of content ]

An inline text or html content

val xhtmlC : 
  ?meta:[> metaAttr ] list ->
  [ `A
  | `Abbr
  | `Acronym
  | `Address
  | `B
  | `Bdo
  | `Big
  | `Blockquote
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Del
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Fieldset
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Input
  | `Ins
  | `Kbd
  | `Label
  | `Map
  | `Noscript
  | `Object
  | `Ol
  | `P
  | `PCDATA
  | `Pre
  | `Q
  | `Ruby_complex
  | `Ruby_simple1
  | `Ruby_simple2
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Table
  | `Textarea
  | `Tt
  | `Ul
  | `Var ] Xhtml.M.elt list -> [> `Content of content ]

An xhtml content, embedded in a div

val html5C : 
  ?meta:[> metaAttr ] list ->
  [ `A of Html5_types.flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of Html5_types.flow5_without_media
  | `Audio_interactive of Html5_types.flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of Html5_types.flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of Html5_types.flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of Html5_types.flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of Html5_types.flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of Html5_types.flow5_without_noscript
  | `Object of Html5_types.flow5
  | `Object_interactive of Html5_types.flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of Html5_types.flow5_without_media
  | `Video_interactive of Html5_types.flow5_without_media
  | `Wbr ] Eliom_content.Html5.elt list ->
  [> `Content of content ]

An html5 content, embedded in a div

val inlineOtherC : 
  ?meta:[> metaAttr ] list ->
  string * Xml.elt list -> [> `Content of content ]

Inline content from another kind

val outOfLineC : 
  ?meta:[> metaAttr ] list ->
  string * uri -> [> `Content of content ]

Every other content

val plain : 
  ?meta:[> metaAttr ] list ->
  ?html:bool -> string -> textConstruct

Plain text construct

val xhtml : 
  ?meta:[> metaAttr ] list ->
  [ `A
  | `Abbr
  | `Acronym
  | `Address
  | `B
  | `Bdo
  | `Big
  | `Blockquote
  | `Br
  | `Button
  | `Cite
  | `Code
  | `Del
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Fieldset
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Input
  | `Ins
  | `Kbd
  | `Label
  | `Map
  | `Noscript
  | `Object
  | `Ol
  | `P
  | `PCDATA
  | `Pre
  | `Q
  | `Ruby_complex
  | `Ruby_simple1
  | `Ruby_simple2
  | `Samp
  | `Script
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Sub
  | `Sup
  | `Table
  | `Textarea
  | `Tt
  | `Ul
  | `Var ] Xhtml.M.elt list -> textConstruct

XHTML text construct

val html5 : 
  ?meta:[> metaAttr ] list ->
  [ `A of Html5_types.flow5_without_interactive
  | `Abbr
  | `Address
  | `Article
  | `Aside
  | `Audio of Html5_types.flow5_without_media
  | `Audio_interactive of Html5_types.flow5_without_media
  | `B
  | `Bdo
  | `Blockquote
  | `Br
  | `Button
  | `Canvas of Html5_types.flow5
  | `Cite
  | `Code
  | `Command
  | `Datalist
  | `Del of Html5_types.flow5
  | `Details
  | `Dfn
  | `Div
  | `Dl
  | `Em
  | `Embed
  | `Fieldset
  | `Figure
  | `Footer
  | `Form
  | `H1
  | `H2
  | `H3
  | `H4
  | `H5
  | `H6
  | `Header
  | `Hgroup
  | `Hr
  | `I
  | `Iframe
  | `Img
  | `Img_interactive
  | `Input
  | `Ins of Html5_types.flow5
  | `Kbd
  | `Keygen
  | `Label
  | `Map of Html5_types.flow5
  | `Mark
  | `Menu
  | `Meter
  | `Nav
  | `Noscript of Html5_types.flow5_without_noscript
  | `Object of Html5_types.flow5
  | `Object_interactive of Html5_types.flow5
  | `Ol
  | `Output
  | `P
  | `PCDATA
  | `Pre
  | `Progress
  | `Q
  | `Ruby
  | `Samp
  | `Script
  | `Section
  | `Select
  | `Small
  | `Span
  | `Strong
  | `Style
  | `Sub
  | `Sup
  | `Svg
  | `Table
  | `Textarea
  | `Time
  | `U
  | `Ul
  | `Var
  | `Video of Html5_types.flow5_without_media
  | `Video_interactive of Html5_types.flow5_without_media
  | `Wbr ] Eliom_content.Html5.elt list -> textConstruct

HTML5 text construct

val rights : textConstruct -> [> `Rights of textConstruct ]

Rights tag

val subtitle : textConstruct -> [> `Sub of textConstruct ]

Subtitle tag

val summary : textConstruct -> [> `Sum of textConstruct ]

Summary tag

val feed : 
  updated:CalendarLib.Calendar.t ->
  id:uri ->
  title:textConstruct ->
  ?fields:[> feedOAttr ] list ->
  entry list -> feed

Feed tag

val entry : 
  updated:CalendarLib.Calendar.t ->
  id:uri ->
  title:textConstruct ->
  [> entryOAttr ] list -> entry

Entry tag

val source : 
  updated:CalendarLib.Calendar.t ->
  id:uri ->
  title:textConstruct ->
  [> sourceOAttr ] list -> [> `Source of source ]

Source tag

Link tag

We need a list of links, this is only a converter from link list to `Links

val email : string -> [> `Email of string ]

email tag

val uri : uri -> [> `Uri of uri ]

uri tag, basically, simply a converter

val author : ?elt:[> personConstruct ] list -> string -> author

author tag

val authors : author list -> [> `Authors of author list ]

We need a list of authors, this is only a converter from author list to `Authors

val contributor : 
  ?elt:[> personConstruct ] list ->
  string -> contributor

contributor tag

val contributors : 
  contributor list ->
  [> `Contribs of contributor list ]

We need a list of contributors, this is only a converter from contributor list to `Contributors

val icon : uri -> [> `Icon of icon ]

icon tag, basically, simply a converter

logo tag, basically, simply a converter

val category : 
  ?meta:[> metaAttr ] list ->
  ?scheme:scheme ->
  ?label:label ->
  term -> Xml.elt list -> category

category tag

val categories : category list -> [> `Cats of category list ]

We need a list of categories, this is only a converter from category list to `Categories

val published : CalendarLib.Calendar.t -> [> `Pub of published ]

Technically not used elsewhere than in eliom_feed.ml, since the links tags related to each hub are added when registering the feed.