X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fnetstring%2Fdoc%2FREADME.xml;fp=helm%2FDEVEL%2Fpxp%2Fnetstring%2Fdoc%2FREADME.xml;h=bbf473e99f943a40419edc07d521b34f1248a5f6;hb=c03d2c1fdab8d228cb88aaba5ca0f556318bebc5;hp=0000000000000000000000000000000000000000;hpb=758057e85325f94cd88583feb1fdf6b038e35055;p=helm.git diff --git a/helm/DEVEL/pxp/netstring/doc/README.xml b/helm/DEVEL/pxp/netstring/doc/README.xml new file mode 100644 index 000000000..bbf473e99 --- /dev/null +++ b/helm/DEVEL/pxp/netstring/doc/README.xml @@ -0,0 +1,244 @@ + + +%common; + + +up'> + + +%config; + +]> + + + + Abstract +

+Netstring is a collection of string processing functions that are +useful in conjunction with Internet messages and protocols. In particular, +it contains functions for the following purposes:

+ + + +
+ + + Download +

+You can download Netstring as gzip'ed tarball. +

+ +
+ + + Documentation +

+Sorry, there is no manual. The mli files describe each function in +detail. Furthermore, the following additional information may be useful.

+ + + New CGI implementation + +

For a long time, the CGI implementation by Jean-Christophe Filliatre +has been the only freely available module that implemented the CGI interface +(it also based on code by Daniel de Rauglaudre). It worked well, but it did not +support file uploads because this requires a parser for MIME messages.

+

The main goal of Netstring is to realize such uploads, and because of +this it contains an almost complete parser for MIME messages.

+

The new CGI implementation provides the same functions than the old +one, and some extensions. If you call Cgi.parse_args(), you get the CGI +parameters as before, but as already explained this works also if the +parameters are encaspulated as MIME message. In the HTML code, you can select +the MIME format by using + +... + +]]> + +- this "enctype" attribute forces the browser to send the form parameters +as multipart MIME message (Note: You can neither send the parameters of a +conventional hyperlink as MIME message nor the form parameters if the +"method" is "get"). In many browsers only this particular encoding enables +the file upload elements, you cannot perform file uploads with other encodings. +

+ +

As MIME messages can transport MIME types, filename, and other +additional properties, it is also possible to get these using the enhanced +interface. After calling + +you can get all available information about a certain parameter by invoking + +- where "param" has the type "argument". There are several accessor functions +to extract the various aspects of arguments (name, filename, value by string, +value by temporary file, MIME type, MIME header) from "argument" values. +

+ +
+ + + + Base64, and other encodings + +

Netstring is also the successor of the Base64 package. It provides a +Base64 compatible interface, and an enhanced API. The latter is contained in +the Netencoding module which also offers implementations of the "quoted +printable", "Q", and "URL" encodings. Please see netencoding.mli for +details.

+ +
+ + + + The MIME scanner functions + +

In the Mimestring module you can find several functions scanning parts +of MIME messages. These functions already cover most aspects of MIME messages: +Scanning of headers, analysis of structured header entries, and scanning of +multipart bodies. Of course, a full-featured MIME scanner would require some +more functions, especially concrete parsers for frequent structures +(mail addresses or date strings). +

+

Please see the file mimestring.mli for details.

+
+ + + + The HTML parser + +

The HTML parser should be able to read every HTML file; whether it is +correct or not. The parser tries to recover from parsing errors as much as +possible. +

+

The parser returns the HTML term as conventional recursive value +(i.e. no object-oriented design).

+

The parser depends a bit on knowledge about the HTML version; mainly +because it needs to know the tags that are always empty. It may be necessary +that you must adjust this configuration before the parser works well enough for +your purpose. +

+

Please see the Nethtml module for details.

+
+ + + The abstract data type URL +

The module Neturl contains support for URL parsing and processing. +The implementation follows strictly the standards RFC 1738 and RFC 1808. +URLs can be parsed, and several accessor functions allow the user to +get components of parsed URLs, or to change components. Modifying URLs +is safe; it is impossible to create a URL that does not have a valid +string representation.

+ +

Both absolute and relative URLs are supported. It is possible to +apply a relative URL to a base URL in order to get the corresponding +absolute URL.

+
+ + + Conversion between character sets and encodings +

The module Netconversion converts strings from one characters set +to another. It is Unicode-based, and there are conversion tables for more than +50 encodings.

+
+ +
+ + + Author, Copying +

+Netstring has been written by &person.gps;. 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. +

+
+ + + History + + + + +
+