OCaml HTML5 parser/serialiser based on Python's JustHTML
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at validator 231 lines 5.5 kB view raw
1open Content_category 2open Content_model 3 4let a = 5 Element_spec.make ~name:"a" 6 ~categories:[Flow; Phrasing; Interactive; Palpable] 7 ~content_model:(Except (Transparent, [Interactive])) 8 ~attrs:[ 9 Attr_spec.make "href" ~datatype:"url" (); 10 Attr_spec.make "target" ~datatype:"target" (); 11 Attr_spec.make "download" ~datatype:"string" (); 12 Attr_spec.make "ping" ~datatype:"string" (); 13 Attr_spec.make "referrerpolicy" ~datatype:"referrerpolicy" (); 14 Attr_spec.make "rel" ~datatype:"relationship" (); 15 Attr_spec.make "hreflang" ~datatype:"string" (); 16 Attr_spec.make "type" ~datatype:"mimetype" (); 17 ] 18 ~implicit_aria_role:"link" 19 () 20 21let em = 22 Element_spec.make ~name:"em" 23 ~categories:[Flow; Phrasing; Palpable] 24 ~content_model:(Categories [Phrasing]) 25 () 26 27let strong = 28 Element_spec.make ~name:"strong" 29 ~categories:[Flow; Phrasing; Palpable] 30 ~content_model:(Categories [Phrasing]) 31 () 32 33let small = 34 Element_spec.make ~name:"small" 35 ~categories:[Flow; Phrasing; Palpable] 36 ~content_model:(Categories [Phrasing]) 37 () 38 39let s = 40 Element_spec.make ~name:"s" 41 ~categories:[Flow; Phrasing; Palpable] 42 ~content_model:(Categories [Phrasing]) 43 () 44 45let cite = 46 Element_spec.make ~name:"cite" 47 ~categories:[Flow; Phrasing; Palpable] 48 ~content_model:(Categories [Phrasing]) 49 () 50 51let q = 52 Element_spec.make ~name:"q" 53 ~categories:[Flow; Phrasing; Palpable] 54 ~content_model:(Categories [Phrasing]) 55 ~attrs:[ 56 Attr_spec.make "cite" ~datatype:"url" (); 57 ] 58 () 59 60let dfn = 61 Element_spec.make ~name:"dfn" 62 ~categories:[Flow; Phrasing; Palpable] 63 ~content_model:(Except (Categories [Phrasing], [])) 64 ~prohibited_ancestors:["dfn"] 65 () 66 67let abbr = 68 Element_spec.make ~name:"abbr" 69 ~categories:[Flow; Phrasing; Palpable] 70 ~content_model:(Categories [Phrasing]) 71 () 72 73let ruby = 74 Element_spec.make ~name:"ruby" 75 ~categories:[Flow; Phrasing; Palpable] 76 ~content_model:(Categories [Phrasing]) 77 () 78 79let rt = 80 Element_spec.make ~name:"rt" 81 ~categories:[Phrasing] 82 ~content_model:(Categories [Phrasing]) 83 ~permitted_parents:["ruby"; "rtc"] 84 () 85 86let rp = 87 Element_spec.make ~name:"rp" 88 ~categories:[] 89 ~content_model:Text 90 ~permitted_parents:["ruby"; "rtc"] 91 () 92 93let data = 94 Element_spec.make ~name:"data" 95 ~categories:[Flow; Phrasing; Palpable] 96 ~content_model:(Categories [Phrasing]) 97 ~attrs:[ 98 Attr_spec.make "value" ~required:true ~datatype:"string" (); 99 ] 100 () 101 102let time = 103 Element_spec.make ~name:"time" 104 ~categories:[Flow; Phrasing; Palpable] 105 ~content_model:(Categories [Phrasing]) 106 ~attrs:[ 107 Attr_spec.make "datetime" ~datatype:"datetime" (); 108 ] 109 ~prohibited_ancestors:["time"] 110 () 111 112let code = 113 Element_spec.make ~name:"code" 114 ~categories:[Flow; Phrasing; Palpable] 115 ~content_model:(Categories [Phrasing]) 116 () 117 118let var = 119 Element_spec.make ~name:"var" 120 ~categories:[Flow; Phrasing; Palpable] 121 ~content_model:(Categories [Phrasing]) 122 () 123 124let samp = 125 Element_spec.make ~name:"samp" 126 ~categories:[Flow; Phrasing; Palpable] 127 ~content_model:(Categories [Phrasing]) 128 () 129 130let kbd = 131 Element_spec.make ~name:"kbd" 132 ~categories:[Flow; Phrasing; Palpable] 133 ~content_model:(Categories [Phrasing]) 134 () 135 136let sub = 137 Element_spec.make ~name:"sub" 138 ~categories:[Flow; Phrasing; Palpable] 139 ~content_model:(Categories [Phrasing]) 140 () 141 142let sup = 143 Element_spec.make ~name:"sup" 144 ~categories:[Flow; Phrasing; Palpable] 145 ~content_model:(Categories [Phrasing]) 146 () 147 148let i = 149 Element_spec.make ~name:"i" 150 ~categories:[Flow; Phrasing; Palpable] 151 ~content_model:(Categories [Phrasing]) 152 () 153 154let b = 155 Element_spec.make ~name:"b" 156 ~categories:[Flow; Phrasing; Palpable] 157 ~content_model:(Categories [Phrasing]) 158 () 159 160let u = 161 Element_spec.make ~name:"u" 162 ~categories:[Flow; Phrasing; Palpable] 163 ~content_model:(Categories [Phrasing]) 164 () 165 166let mark = 167 Element_spec.make ~name:"mark" 168 ~categories:[Flow; Phrasing; Palpable] 169 ~content_model:(Categories [Phrasing]) 170 () 171 172let bdi = 173 Element_spec.make ~name:"bdi" 174 ~categories:[Flow; Phrasing; Palpable] 175 ~content_model:(Categories [Phrasing]) 176 () 177 178let bdo = 179 Element_spec.make ~name:"bdo" 180 ~categories:[Flow; Phrasing; Palpable] 181 ~content_model:(Categories [Phrasing]) 182 ~attrs:[ 183 Attr_spec.make "dir" ~required:true ~datatype:"dir" (); 184 ] 185 () 186 187let span = 188 Element_spec.make ~name:"span" 189 ~categories:[Flow; Phrasing; Palpable] 190 ~content_model:(Categories [Phrasing]) 191 () 192 193let br = 194 Element_spec.make ~name:"br" 195 ~void:true 196 ~categories:[Flow; Phrasing] 197 ~content_model:Nothing 198 () 199 200let wbr = 201 Element_spec.make ~name:"wbr" 202 ~void:true 203 ~categories:[Flow; Phrasing] 204 ~content_model:Nothing 205 () 206 207let ins = 208 Element_spec.make ~name:"ins" 209 ~categories:[Flow; Phrasing; Palpable] 210 ~content_model:Transparent 211 ~attrs:[ 212 Attr_spec.make "cite" ~datatype:"url" (); 213 Attr_spec.make "datetime" ~datatype:"datetime" (); 214 ] 215 () 216 217let del = 218 Element_spec.make ~name:"del" 219 ~categories:[Flow; Phrasing] 220 ~content_model:Transparent 221 ~attrs:[ 222 Attr_spec.make "cite" ~datatype:"url" (); 223 Attr_spec.make "datetime" ~datatype:"datetime" (); 224 ] 225 () 226 227let all = [ 228 a; em; strong; small; s; cite; q; dfn; abbr; ruby; rt; rp; 229 data; time; code; var; samp; kbd; sub; sup; i; b; u; mark; 230 bdi; bdo; span; br; wbr; ins; del 231]