package yocaml_syndication

  1. Overview
  2. Docs

A (partial) implementation of RSS and Atom to enable the production of syndication feeds.

The implementations should be sufficient to build the archetypes offered by YOCaml, while allowing you to build flows manually (adapting to your data model).

Please note that although the library makes some attempt to avoid invalid cases, Yocaml_syndication is not an RSS or Atom document processing library. If you want a stricter approach, you can turn to Syndic.

Syndication format

Implementation of syndication formats.

module Rss1 : sig ... end

Implementation of the RSS1 specification, documented here: specs. RSS2 or Atom are to be preferred, but RSS1 is present for historical reasons (if a user does not want to migrate his feed).

module Rss2 : sig ... end

Implementation of the RSS2 specification, documented here: specs.

module Atom : sig ... end

Implementation of the ATOM specification, documented here: specs.

module Opml : sig ... end

Implementation of the OPML (1 and 2) specification documented here:

module Rss = Rss2

By default, Rss module is Rss2.

Element

Reusable elements for describing news feeds.

module Lang : sig ... end

A description of languages based on the ISO-639-2 standard, with an extension allowing languages to be added manually.

module Tz : sig ... end

Describes (almost) a Timezone according to RFC822.

module Datetime : sig ... end

An extension of Yocaml.Archetype.Datetime.t with Timezone support.

module Text_input : sig ... end

The purpose of the <textInput> element is something of a mystery. You can use it to specify a search engine box. Or to allow a reader to provide feedback. Most aggregators ignore it.

module Media_type : sig ... end

A very simple representation of media types to describe, in particular, the enclosures of an item.

module Person : sig ... end

A Person construct is an element that describes a person, corporation, or similar entity.

module Category : sig ... end

Conveys information about a category associated with an entry or feed. This specification assigns no meaning to the content (if any) of this element.

module Generator : sig ... end

Identifies the agent used to generate a feed, for debugging and other purposes.

Low-level API

Direct (but partial) manipulation of XML documents to build Atoms or RSS feeds.

module Xml : sig ... end

Tool for structuring (and printing) XML, used as a basis for describing XML nodes. The implementation is rather naive, but its purpose is simply to describe syndication flows, hence the "simplicity of the implementation".

OCaml

Innovation. Community. Security.