]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/pxp/pxp/doc/PRERELEASE.xml
Initial revision
[helm.git] / helm / DEVEL / pxp / pxp / doc / PRERELEASE.xml
diff --git a/helm/DEVEL/pxp/pxp/doc/PRERELEASE.xml b/helm/DEVEL/pxp/pxp/doc/PRERELEASE.xml
new file mode 100644 (file)
index 0000000..f155abd
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE readme SYSTEM "readme.dtd" [
+
+<!ENTITY % common SYSTEM "common.xml">
+%common;
+
+<!-- Special HTML config: -->
+<!ENTITY % readme:html:up '<a href="../..">up</a>'>
+
+<!ENTITY % config SYSTEM "config.xml">
+%config;
+
+]>
+
+<readme title="README - PXP, the XML parser for O'Caml">
+  <sect1>
+    <title>Pre-release of PXP, the XML parser for O'Caml</title>
+
+    <p>PXP is the new, completely revised and partly rewritten 
+validating XML parser
+for O'Caml; the old name, "Markup", has been dropped. The current version
+of PXP is still a bit experimental because it is not fully tested; however,
+it is now stable enough to be used in experimental applications.
+</p>
+
+    <p>PXP will retain most parts of Markup's API; the name PXP 
+emphasizes the strengths of the API: it is the Polymorphic XML Parser.
+The document objects representing the parsed file have an interesting
+polymorphism which allows that the user of the parser can control
+which kind of objects are actually created. The current API supports
+the element type as criterion for object/class selection; future APIs will
+extend this concept such that arbitrary criterions are possible
+(e.g. you may want to have different classes for different namespaces).
+</p>
+
+    <p>The current development goals of PXP are:</p>
+
+    <ul>
+      <li><p><em>Full XML-1.0 conformance:</em> The current pre-release
+is now very close to strict XML-1.0 conformance. The only bigger 
+difference to the standard is that PXP sometimes accepts DTDs as legal
+while the standard forbids them (non-deterministic content models).</p>
+
+<p>One of the more important improvements since 0.2.10 is the possibility to
+represent XML documents internally as UTF-8 strings, not only as ISO-8859-1
+strings. Thanks to Claudio Sacerdoti Coen who contributed a special lexer
+preprocessor hiding the details of the UTF-8 encoding in the lexer definitions.
+</p>
+      </li>
+
+      <li><p><em>Correctness of validation:</em> The well-formedness
+and valididity constraints must be implemented as correct as possible.
+The last stable release had already a regression test covering many
+aspects of XML. The test suite will be extended.</p>
+      </li>
+
+      <li><p><em>Parsing performance:</em> It should be possible to
+process large amounts of data in a reasoable period of time. The last
+stable release had many stages of processing that wasted time.</p>
+
+       <p>The current pre-release is already 30 per cent faster than
+0.2.10.</p>
+      </li>
+
+      <li><p><em>Simplicity of usage:</em> Unlike parsers basing on
+imperative languages and DOM, the usage of PXP should be simple, even
+for complex tasks. The current parser API has already many advantages
+over DOM; especially it is well integrated into the functional and
+object-oriented language O'Caml. You do not have to deal with
+artificial representations like "node lists" while the programming
+environment already provides good support for list structures. The
+fact that O'Caml allows a functional programming style is interesting
+for programs transforming XML trees.</p>
+      </li>
+    </ul>
+  </sect1>
+
+  <sect1>
+    <title>Download the PXP pre-release</title>
+
+    <p>The current pre-release is available under 
+<a href="&url.gps-ocaml-download;/pxp-pre-0.99.8.tar.gz">
+&url.gps-ocaml-download;/pxp-pre-0.99.8.tar.gz</a>. There is currently no
+documentation for this version of the software; it is recommended to use the <a
+href="&url.markup-manual;">Markup manual</a> and compare it with the current
+module interfaces.</p>
+
+    <p>Please note that this is work in progress; it may still contain bugs
+and irregularities.</p>
+
+    <p>The parser works only with OCaml-3. The parser needs the <a
+href="&url.netstring-project;">netstring package</a>, at least version 0.9.1.
+</p>
+
+    <p>I am very interested in your opinion to PXP; please <a
+href="mailto:&person.gps.mail;">contact me</a>.</p>
+  </sect1>
+
+  <sect1>
+    <title>Author, Credits, Copying</title>
+    <p>
+<em>PXP</em> has been written by &person.gps;; it contains contributions by
+Claudio Sacerdoti Coen. You may copy it as you like,
+you may use it even for commercial purposes as long as the license conditions
+are respected, see the file LICENSE coming with the distribution. It allows
+almost everything. 
+</p>
+  </sect1>
+
+  <sect1>
+    <title>Where to find the stable release</title>
+    <p><a href="&url.markup-project;">Here.</a></p>
+  </sect1>
+
+</readme>
+