]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/pxp/pxp/doc/PRERELEASE.xml
structurated attribute names added
[helm.git] / helm / DEVEL / pxp / pxp / doc / PRERELEASE.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE readme SYSTEM "readme.dtd" [
3
4 <!ENTITY % common SYSTEM "common.xml">
5 %common;
6
7 <!-- Special HTML config: -->
8 <!ENTITY % readme:html:up '<a href="../..">up</a>'>
9
10 <!ENTITY % config SYSTEM "config.xml">
11 %config;
12
13 ]>
14
15 <readme title="README - PXP, the XML parser for O'Caml">
16   <sect1>
17     <title>Pre-release of PXP, the XML parser for O'Caml</title>
18
19     <p>PXP is the new, completely revised and partly rewritten 
20 validating XML parser
21 for O'Caml; the old name, "Markup", has been dropped. The current version
22 of PXP is still a bit experimental because it is not fully tested; however,
23 it is now stable enough to be used in experimental applications.
24 </p>
25
26     <p>PXP will retain most parts of Markup's API; the name PXP 
27 emphasizes the strengths of the API: it is the Polymorphic XML Parser.
28 The document objects representing the parsed file have an interesting
29 polymorphism which allows that the user of the parser can control
30 which kind of objects are actually created. The current API supports
31 the element type as criterion for object/class selection; future APIs will
32 extend this concept such that arbitrary criterions are possible
33 (e.g. you may want to have different classes for different namespaces).
34 </p>
35
36     <p>The current development goals of PXP are:</p>
37
38     <ul>
39       <li><p><em>Full XML-1.0 conformance:</em> The current pre-release
40 is now very close to strict XML-1.0 conformance. The only bigger 
41 difference to the standard is that PXP sometimes accepts DTDs as legal
42 while the standard forbids them (non-deterministic content models).</p>
43
44 <p>One of the more important improvements since 0.2.10 is the possibility to
45 represent XML documents internally as UTF-8 strings, not only as ISO-8859-1
46 strings. Thanks to Claudio Sacerdoti Coen who contributed a special lexer
47 preprocessor hiding the details of the UTF-8 encoding in the lexer definitions.
48 </p>
49       </li>
50
51       <li><p><em>Correctness of validation:</em> The well-formedness
52 and valididity constraints must be implemented as correct as possible.
53 The last stable release had already a regression test covering many
54 aspects of XML. The test suite will be extended.</p>
55       </li>
56
57       <li><p><em>Parsing performance:</em> It should be possible to
58 process large amounts of data in a reasoable period of time. The last
59 stable release had many stages of processing that wasted time.</p>
60
61         <p>The current pre-release is already 30 per cent faster than
62 0.2.10.</p>
63       </li>
64
65       <li><p><em>Simplicity of usage:</em> Unlike parsers basing on
66 imperative languages and DOM, the usage of PXP should be simple, even
67 for complex tasks. The current parser API has already many advantages
68 over DOM; especially it is well integrated into the functional and
69 object-oriented language O'Caml. You do not have to deal with
70 artificial representations like "node lists" while the programming
71 environment already provides good support for list structures. The
72 fact that O'Caml allows a functional programming style is interesting
73 for programs transforming XML trees.</p>
74       </li>
75     </ul>
76   </sect1>
77
78   <sect1>
79     <title>Download the PXP pre-release</title>
80
81     <p>The current pre-release is available under 
82 <a href="&url.gps-ocaml-download;/pxp-pre-0.99.8.tar.gz">
83 &url.gps-ocaml-download;/pxp-pre-0.99.8.tar.gz</a>. There is currently no
84 documentation for this version of the software; it is recommended to use the <a
85 href="&url.markup-manual;">Markup manual</a> and compare it with the current
86 module interfaces.</p>
87
88     <p>Please note that this is work in progress; it may still contain bugs
89 and irregularities.</p>
90
91     <p>The parser works only with OCaml-3. The parser needs the <a
92 href="&url.netstring-project;">netstring package</a>, at least version 0.9.1.
93 </p>
94
95     <p>I am very interested in your opinion to PXP; please <a
96 href="mailto:&person.gps.mail;">contact me</a>.</p>
97   </sect1>
98
99   <sect1>
100     <title>Author, Credits, Copying</title>
101     <p>
102 <em>PXP</em> has been written by &person.gps;; it contains contributions by
103 Claudio Sacerdoti Coen. You may copy it as you like,
104 you may use it even for commercial purposes as long as the license conditions
105 are respected, see the file LICENSE coming with the distribution. It allows
106 almost everything. 
107 </p>
108   </sect1>
109
110   <sect1>
111     <title>Where to find the stable release</title>
112     <p><a href="&url.markup-project;">Here.</a></p>
113   </sect1>
114
115 </readme>
116