# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup ocaml 1.1 PortGroup github 1.0 name ocaml-markup github.setup aantron markup.ml 1.0.3 revision 0 categories ocaml devel maintainers {pguyot @pguyot} openmaintainer license MIT description Error-recovering functional HTML5 and XML parsers and writers long_description Markup.ml provides an HTML parser and an XML parser. The \ parsers are wrapped in a simple interface: they are \ functions that transform byte streams to parsing signal \ streams. Streams can be manipulated in various ways, such \ as processing by fold, filter, and map, assembly into DOM \ tree structures, or serialization back to HTML or XML. \ \ Both parsers are based on their respective standards. The \ HTML parser, in particular, is based on the state machines \ defined in HTML5. \ \ The parsers are error-recovering by default, and accept \ fragments. This makes it very easy to get a best-effort \ parse of some input. The parsers can, however, be easily \ configured to be strict, and to accept only full documents. \ \ Apart from this, the parsers are streaming (do not build up \ a document in memory), non-blocking (can be used with \ threading libraries), lazy (do not consume input unless the \ signal stream is being read), and process the input in a \ single pass. They automatically detect the character \ encoding of the input stream, and convert everything to \ UTF-8. checksums rmd160 02b0880d36792be597a48b98056c76652063d265 \ sha256 d6f289bd011aa21d139de71cdd4fb1724083901527a7498e70a1baaaab2d2f97 \ size 281596 depends_lib-append port:ocaml-uutf ocaml.build_type dune