···
3
+
synopsis: "Error-recovering functional HTML5 and XML parsers and writers"
6
+
homepage: "https://github.com/aantron/markup.ml"
7
+
doc: "http://aantron.github.io/markup.ml"
8
+
bug-reports: "https://github.com/aantron/markup.ml/issues"
10
+
authors: "Anton Bachin <antonbachin@yahoo.com>"
11
+
maintainer: "Anton Bachin <antonbachin@yahoo.com>"
12
+
dev-repo: "git+https://github.com/aantron/markup.ml.git"
16
+
"ocaml" {>= "4.03.0"}
20
+
"bisect_ppx" {dev & >= "2.5.0"}
25
+
["dune" "build" "-p" name "-j" jobs]
29
+
Markup.ml provides an HTML parser and an XML parser. The parsers are wrapped in
30
+
a simple interface: they are functions that transform byte streams to parsing
31
+
signal streams. Streams can be manipulated in various ways, such as processing
32
+
by fold, filter, and map, assembly into DOM tree structures, or serialization
33
+
back to HTML or XML.
35
+
Both parsers are based on their respective standards. The HTML parser, in
36
+
particular, is based on the state machines defined in HTML5.
38
+
The parsers are error-recovering by default, and accept fragments. This makes it
39
+
very easy to get a best-effort parse of some input. The parsers can, however, be
40
+
easily configured to be strict, and to accept only full documents.
42
+
Apart from this, the parsers are streaming (do not build up a document in
43
+
memory), non-blocking (can be used with threading libraries), lazy (do not
44
+
consume input unless the signal stream is being read), and process the input in
45
+
a single pass. They automatically detect the character encoding of the input
46
+
stream, and convert everything to UTF-8."""
49
+
src: "https://github.com/aantron/markup.ml/archive/1.0.3.tar.gz"
50
+
checksum: "md5=3609724f5408dff41b1cb43107bc24ef"