Module Pxp_event


module Pxp_event: sig .. end
Event streams and lists


Event streams and lists
val to_list : (unit -> Pxp_types.event option) -> Pxp_types.event list
Fetch all events from the event stream, and return the corresponding list of events.
val of_list : Pxp_types.event list -> unit -> Pxp_types.event option
Pull the events from the input list
val concat : (unit -> Pxp_types.event option) list -> unit -> Pxp_types.event option
Pull the events from the streams in turn
val iter : (Pxp_types.event -> unit) -> (unit -> Pxp_types.event option) -> unit
Iterates over the events of the stream and calls the function

Missing: map, fold, ...
val extract : Pxp_types.event ->
(unit -> Pxp_types.event option) -> unit -> Pxp_types.event option
let next' = extract e next: Extracts a subexpression from the stream next prepended by e. A subexpression consists of either Example: let l = E_pinstr; E_start_tag; E_data; E_start_tag; E_end_tag; E_comment; E_end_tag; E_data ;; let g = of_list l;; g();; let Some e = g();; (* e = E_start_tag *) let g' = extract e g;; g'();; (* returns Some E_start_tag *) ... g'();; (* returns Some E_end_tag *) g'();; (* returns None, end of subexpression *) g();; (* returns Some E_data *) g();; (* returns None *)

Filters
type filter = (unit -> Pxp_types.event option) -> unit -> Pxp_types.event option 
val norm_cdata_filter : filter
This filter
val drop_ignorable_whitespace_filter : filter
This filter This filter works only if the DTD found in the event stream actually contains element declarations. This is usually enabled by including the `Extend_dtd_fully or `Val_mode_dtd options to the entry passed to the create_pull_parser call. Furthermore, there must be an E_start_doc event.

This filter does not perform any other validation checks.

val pfilter : (Pxp_types.event -> bool) -> filter
Filters an event stream by a predicate

Example: Remove comments: pfilter (function E_comment _ -> false | _ -> true) g


Missing: ID check

Printing
type dtd_style = [ `Ignore | `Include | `Reference ] 
val write_events : ?default:string ->
?dtd_style:dtd_style ->
?minimization:[ `AllEmpty | `None ] ->
Pxp_types.output_stream ->
Pxp_types.encoding ->
Pxp_types.rep_encoding -> (unit -> Pxp_types.event option) -> unit
Writes the events to the output_stream. The events must be encoded as indicated by the rep_encoding argument, but the output is written as specified by the encoding argument.

The normalized namespace prefixes are declared as needed. Additionally, one can set the default namespace by passing default, which must be the normalized prefix of the default namespace.

For E_doc_start events, the DTD may be written. This is controlled by dtd_style:

Option ~minimization: How to write out empty elements. `AllEmpty means that all empty elements are minimized (using the <name/> form). `None does not minimize at all and is the default.
val display_events : ?dtd_style:dtd_style ->
?minimization:[ `AllEmpty | `None ] ->
Pxp_types.output_stream ->
Pxp_types.encoding ->
Pxp_types.rep_encoding -> (unit -> Pxp_types.event option) -> unit
Writes the events to the output_stream. The events must be encoded as indicated by the rep_encoding argument, but the output is written as specified by the encoding argument.

Namespace prefixes are declared as defined in the namespace scopes. Missing prefixes are invented on the fly.

The way the DTD is printed can be set as in write_events.