Plasma GitLab Archive
Projects Blog Knowledge

Module Pxp_codewriter

module Pxp_codewriter: sig .. end
Generate O'Caml code for creating large constant XML trees


See also Pxp_marshal for direct marshalling functions.
val write_document : Pervasives.out_channel ->
(< clone : 'a; node : 'a Pxp_document.node;
set_node : 'a Pxp_document.node -> unit; .. >
as 'a)
Pxp_document.document -> unit
Writes O'Caml code to the out_channel so that when the code is compiled and executed, a fresh document is created with the same contents as the passed document:

 "let create_document ?enable_namespace_processing config spec = ...;;" 

If you compile the code and call create_document config spec the function creates a document tree which is (almost) equal to the passed document.

The following properties may not be equal:

  • Parsed entities
  • Whether a declaration occurs in an external entity or not
  • config: The configuration to assume for re-creating the tree
  • spec: a Pxp_document.spec
  • enable_namespace_processing: You can pass here a namespace_manager to enable the namespace code (default: no namespace processing)

val write_subtree : Pervasives.out_channel ->
(< clone : 'a; node : 'a Pxp_document.node;
set_node : 'a Pxp_document.node -> unit; .. >
as 'a)
Pxp_document.node -> unit
Writes O'Caml code to the out_channel so that when the code is compiled and executed, a fresh tree is created with the same contents as the passed tree:

 "let create_subtree dtd spec = ...;;" 

If you compile the code and call create_subtree dtd spec the function creates a DTD object which is equal to the passed object.

  • dtd: a DTD object
  • spec: a Pxp_document.spec

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml