caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: caml-list@inria.fr
Cc: ocaml-pxp-users@orcaware.com
Subject: [Caml-list] Announcement: PXP 1.1.95
Date: 08 Sep 2004 15:59:00 +0200	[thread overview]
Message-ID: <1094651941.11086.44.camel@ares> (raw)

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
  XSchema).

  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:
http://www.ocaml-programming.de/packages/pxp-1.1.95.tar.gz

More information:
http://ocaml-programming.de/packages/documentation/pxp/index_dev.html

Gerd
-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
------------------------------------------------------------

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


                 reply	other threads:[~2004-09-08 13:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1094651941.11086.44.camel@ares \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@inria.fr \
    --cc=ocaml-pxp-users@orcaware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).