/usr/lib/ocaml/eliom/server/atom_feed.mli is in libeliom-ocaml-dev 2.2.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | (* Ocsigen
* Copyright (C) 2010 Archibald Pontier
*
* This source file is part of Ocsigen < http://ocsigen.org/ >
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, with linking exception;
* either version 2.1 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)
(** Everything we need to make an atom feed. *)
open Eliom_lib
open Eliom_content_core
(*
* types {{{
*)
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
(** Common optional attributes *)
type metaAttr = [ `Base of base | `Lang of lang ]
(** Children tags allowed for the author and contributor tags *)
type personConstruct = [ `Email of emailAddress | `Uri of uri ]
type author
type contributor
type generator
type id
type icon
type category
type link
type logo
type published
type updated
type source
type entry
type feed
type content
type textConstruct
(** Children tags allowed for the link tag *)
type linkOAttr = [ metaAttr
| `Type of string
| `Hrefl of hrefLang
| `Length of length
| `Medtype of mediaType
| `Rel of rel
| `Title of ltitle ]
(** Children tags allowed for the source tag *)
type sourceOAttr = [ metaAttr
| `Authors of author list
| `Cats of category list
| `Contribs of contributor list
| `Gen of generator
| `Icon of icon
| `Links of link list
| `Logo of logo
| `Rights of textConstruct
| `Sub of textConstruct ]
(** Children tags allowed for the entry tag *)
type entryOAttr = [ metaAttr
| `Authors of author list
| `Cats of category list
| `Content of content
| `Contribs of contributor list
| `Links of link list
| `Pub of published
| `Rights of textConstruct
| `Source of source
| `Sum of textConstruct ]
(** Children tags allowed for the feed tag *)
type feedOAttr = [ metaAttr
| `Authors of author list
| `Cats of category list
| `Contribs of contributor list
| `Gen of generator
| `Icon of icon
| `Links of link list
| `Logo of logo
| `Rights of textConstruct
| `Sub of textConstruct ]
(*
* }}}
*)
(*
* Constructors {{{
*)
val xml_of_feed : feed -> Xml.elt
(*
* attr converters {{{
val a_base : base -> Xml.attrib
val a_lang : lang -> Xml.attrib
val a_scheme : scheme -> Xml.attrib
val a_label : label -> Xml.attrib
val a_href : href -> Xml.attrib
val a_rel : rel -> Xml.attrib
val a_hreflang : hrefLang -> Xml.attrib
val a_medtype : mediaType -> Xml.attrib
val a_title : ltitle -> Xml.attrib
val a_length : length -> Xml.attrib
val a_term : term -> Xml.attrib
val a_type : string -> Xml.attrib
* }}}
*)
(** An inline text or html content *)
val inlineC : ?meta:[> metaAttr ] list
-> ?html:bool
-> string list
-> [> `Content of content ]
(** An xhtml content, embedded in a div *)
val xhtmlC : ?meta:[> metaAttr ] list
-> ([ `PCDATA | Xhtml_types.flow ] Xhtml.F.elt list)
-> [> `Content of content ]
(** Inline content from another kind *)
val inlineOtherC : ?meta:[> metaAttr ] list
-> string * Xml.elt list
-> [> `Content of content ]
(** Every other content *)
val outOfLineC : ?meta:[> metaAttr ] list
-> string * uri
-> [> `Content of content ]
(** Plain text construct *)
val plain : ?meta:[> metaAttr ] list
-> ?html:bool
-> string
-> textConstruct
(** XHTML text construct *)
val xhtml : ?meta:[> metaAttr ] list
-> [ `PCDATA | Xhtml_types.flow ] Xhtml.F.elt list
-> textConstruct
(** Rights tag *)
val rights : textConstruct
-> [> `Rights of textConstruct ]
(** Subtitle tag *)
val subtitle : textConstruct
-> [> `Sub of textConstruct ]
(** Summary tag *)
val summary : textConstruct
-> [> `Sum of textConstruct ]
(** Feed tag *)
val feed : updated:CalendarLib.Calendar.t
-> id:uri
-> title:textConstruct
-> ?fields:[> feedOAttr ] list
-> entry list
-> feed
(** Entry tag *)
val entry :
updated:CalendarLib.Calendar.t ->
id:uri ->
title:textConstruct ->
[> entryOAttr ] list -> entry
(** Source tag *)
val source :
updated:CalendarLib.Calendar.t ->
id:uri ->
title:textConstruct ->
[> sourceOAttr ] list -> [> `Source of source ]
(** Link tag *)
val link :
?elt:[> linkOAttr ] list ->
href -> link
(** We need a list of links, this is only a converter from link list to `Links
*)
val links : link list -> [> `Links of link list ]
(** email tag *)
val email : string -> [> `Email of string ]
(** uri tag, basically, simply a converter *)
val uri : uri -> [> `Uri of uri ]
(** author tag *)
val author :
?elt:[> personConstruct ] list -> string -> author
(** We need a list of authors, this is only a converter from author list to
`Authors *)
val authors : author list -> [> `Authors of author list ]
(** contributor tag *)
val contributor :
?elt:[> personConstruct ] list -> string -> contributor
(** We need a list of contributors, this is only a converter from contributor
list to `Contributors *)
val contributors : contributor list -> [> `Contribs of contributor list ]
(** icon tag, basically, simply a converter *)
val icon : uri -> [> `Icon of icon ]
(** logo tag, basically, simply a converter *)
val logo : uri -> [> `Logo of logo ]
(** category tag *)
val category :
?meta:[> metaAttr ] list ->
?scheme:scheme -> ?label:label ->
term -> Xml.elt list -> category
(** We need a list of categories, this is only a converter from category list
to `Categories *)
val categories : category list -> [> `Cats of category list]
(* published tag *)
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. *)
val insert_hub_links : uri list -> feed -> feed
|