package ezxmlm
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=8d06fc7e5cdd811b97ce0b6de3aa24e3494fbf84753b587a5ea8230ad33a7914
md5=9e780981d78ca23a9c90a6b4c5d1949d
Description
An "easy" interface on top of the Xmlm [1] library. This version provides more convenient (but far less flexible) input and output functions that go to and from [string] values. This avoids the need to write signal code, which is useful for quick scripts that manipulate XML.
More advanced users should go straight to the Xmlm library and use it directly, rather than be saddled with the Ezxmlm interface. Since the types in this library are more specific than Xmlm, it should interoperate just fine with it if you decide to switch over.
- Online docs: http://anil-code.recoil.org/ezxmlm
- Source Code: https://github.com/avsm/ezxmlm
- Discussion: https://discuss.ocaml.org in the Ecosystem category
- Bugs: https://github.com/avsm/ezxmlm/issues
README
ezxmlm -- combinators to use with xmlm for parsing and selection
An "easy" interface on top of the Xmlm [1] library. This version provides more convenient (but far less flexible) input and output functions that go to and from [string] values. This avoids the need to write signal code, which is useful for quick scripts that manipulate XML.
More advanced users should go straight to the Xmlm library and use it directly, rather than be saddled with the Ezxmlm interface. Since the types in this library are more specific than Xmlm, it should interoperate just fine with it if you decide to switch over.
Online docs: http://anil-code.recoil.org/ezxmlm
Source Code: https://github.com/avsm/ezxmlm
Discussion: https://discuss.ocaml.org in the Ecosystem category
Example
In the toplevel, here's an example of how some XHTML can be selected out quickly using the Ezxmlm combinators. Note that this particular HTML has been post-processed into valid XML using xmllint --html --xmlout
.
# #require "ezxmlm" ;;
# open Ezxmlm ;;
# let (_,xml) = from_channel (open_in "html/variants.html") ;;
# member "html" xml |> member "head" |> member_with_attr "meta" ;;
- : Xmlm.attribute list * nodes = ([(("", "name"), "generator"); (("", "content"), "DocBook XSL Stylesheets V1.78.1")], [])
# member "html" xml |> member "head" |> member "title" |> data_to_string;;
- : string = "Chapter 6. Variants"
Ez peezy lemon squeezy!
[1] https://github.com/dbuenzli/xmlm
Dev Dependencies
None
Used by (5)
-
amqp-client
>= "2.2.2"
-
aws
>= "1.0.0"
- jitsu
-
podge
>= "0.4"
- ppx_protocol_conv_xmlm
Conflicts
None