(* $Id: pxp_codewriter.mli 662 2004-05-25 20:57:28Z gerd $ * ---------------------------------------------------------------------- * PXP: The polymorphic XML parser for Objective Caml. * Copyright by Gerd Stolpmann. See LICENSE for details. *) open Pxp_document open Pxp_yacc open Pxp_dtd val write_document : out_channel -> 'ext document -> unit (* Writes O'Caml code to the out_channel that is a top-level function * creating a fresh document which is equal to 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': a Pxp_yacc.config * 'spec': a Pxp_document.spec * enable_namespace_processing: You can pass here a namespace_manager * to enable the namespace code (default: no namespace processing) * * NOTE: The signature of the generated function has changed from * PXP 1.0 to PXP 1.1; the first argument is now 'config' and not * 'warner' *) val write_subtree : out_channel -> 'ext node -> unit (* Writes O'Caml code to the out_channel that is a top-level function * creating a fresh node tree which is equal to 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 *) (* write_dtd: this method is deprecated! *)