Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Announcement: PXP 1.1.95
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-09-08 (13:59)
From: Gerd Stolpmann <info@g...>
Subject: [Caml-list] Announcement: PXP 1.1.95
Hello list,

there is a new development version of PXP, the advanced XML parser for
O'Caml. The development version includes new APIs which are not yet
fully stable (i.e. might still change); in general this version is
useable, however.

There are four major changes in this release (besides bug fixes):

- This version includes a ulex-based lexical analyzer for XML. "ulex"
  is Alain Frisch's new lexer generator for Unicode. ulex is thought
  as replacement for wlex, Alain's previous generator.

  The resulting analyzer is a bit slower than the wlex-based, but
  it is much simpler to build it (it is not distributed as patch).
  In the long term, support for wlex will be removed in favor of ulex.

  Note that there is still an ocamllex-based analyzer for Unicode,
  which is very fast, but also has a big memory footprint.

- The namespace concept has been revised. In addition to namespace
  prefix normalization, the structure of the namespace declarations
  is now stored in namespace_scope objects. This makes it possible
  to remember the mapping of the original prefixes to URIs, which
  is useful when the prefixes also occur as XML data (e.g. in

  The namespace concept is now 100 percent compatible with the
  W3C requirements.

- The infrastructure for event-based parsing has been extended.
  Streams of events can now be transformed to trees and vice versa.
  The type of events had to be changed to allow this (so events and
  tree nodes contain the same information).

- Finally, there is a preprocessor! This allows you to create XML
  trees or event streams in source code, e.g.

  let tree = <:pxp_tree< <root>[ <child1/> <child2/> ] >>

  creates a node with two children. Of course, it is possible to
  set the properties of the created nodes/events dynamically.

  The syntax is not exactly XML, and parts of it have been borrowed
  from cduce. The preprocessor bases on camlp4.

This version of PXP requires OcamlNet 0.98 (just released).

This version does not include a manual (it is really out of date). Look
into the commented interface files instead.

Download link:

More information:

Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: