1549 lines
		
	
	
		
			55 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			1549 lines
		
	
	
		
			55 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								This is pillow_doc.info, produced by Makeinfo version 3.12h from
							 | 
						|||
| 
								 | 
							
								pillow_doc.texi.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								START-INFO-DIR-ENTRY
							 | 
						|||
| 
								 | 
							
								* pillow: (pillow_doc.info).
							 | 
						|||
| 
								 | 
							
									The PiLLoW Web Programming Library
							 | 
						|||
| 
								 | 
							
								END-INFO-DIR-ENTRY
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   The PiLLoW library ("Programming in Logic Languages on the Web")
							 | 
						|||
| 
								 | 
							
								is a public domain Internet/WWW programming library for Logic
							 | 
						|||
| 
								 | 
							
								Programming Systems which simplifies the process of writing
							 | 
						|||
| 
								 | 
							
								applications for such environment. The library provides facilities
							 | 
						|||
| 
								 | 
							
								for generating HTML or XML structured documents by handling them as
							 | 
						|||
| 
								 | 
							
								Herbrand terms, producing HTML forms, writing form handlers,
							 | 
						|||
| 
								 | 
							
								processing HTML templates, accessing and parsing WWW documents
							 | 
						|||
| 
								 | 
							
								(either HTML or XML), accessing code posted at HTTP addresses, etc.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   The PiLLoW library has been developed in the context of the
							 | 
						|||
| 
								 | 
							
								&-Prolog and Ciao systems, but it has been adapted to a number of
							 | 
						|||
| 
								 | 
							
								popular Logic Programming systems. Note, however, that this manual is
							 | 
						|||
| 
								 | 
							
								written for the Ciao system, so if you use it in other systems, minor
							 | 
						|||
| 
								 | 
							
								details in the documentation may not completely agree. For example,
							 | 
						|||
| 
								 | 
							
								whereas in Ciao the library is a package which loads modules `html'
							 | 
						|||
| 
								 | 
							
								and `http', in the other systems it is just one module `pillow'.
							 | 
						|||
| 
								 | 
							
								Thus, do not consider the _Library usage_ information in other
							 | 
						|||
| 
								 | 
							
								systems.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   PiLLoW is distributed under the GNU Library General Public License.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   Copyright (C) D. Cabeza and M. Hermenegildo
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   This document may be freely read, stored, reproduced,
							 | 
						|||
| 
								 | 
							
								disseminated, translated or quoted by any means and on any medium
							 | 
						|||
| 
								 | 
							
								provided the following conditions are met:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  1. Every reader or user of this document acknowledges that is aware
							 | 
						|||
| 
								 | 
							
								     that no guarantee is given regarding its contents, on any
							 | 
						|||
| 
								 | 
							
								     account, and specifically concerning veracity, accuracy and
							 | 
						|||
| 
								 | 
							
								     fitness for any purpose.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  2. No modification is made other than cosmetic, change of
							 | 
						|||
| 
								 | 
							
								     representation format, translation, correction of obvious
							 | 
						|||
| 
								 | 
							
								     syntactic errors, or as permitted by the clauses below.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  3. Comments and other additions may be inserted, provided they
							 | 
						|||
| 
								 | 
							
								     clearly appear as such; translations or fragments must clearly
							 | 
						|||
| 
								 | 
							
								     refer to an original complete version, preferably one that is
							 | 
						|||
| 
								 | 
							
								     easily accessed whenever possible.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  4. Translations, comments and other additions or modifications must
							 | 
						|||
| 
								 | 
							
								     be dated and their author(s) must be identifiable (possibly via
							 | 
						|||
| 
								 | 
							
								     an alias).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  5. This licence is preserved and applies to the whole document with
							 | 
						|||
| 
								 | 
							
								     modifications and additions (except for brief quotes),
							 | 
						|||
| 
								 | 
							
								     independently of the representation format.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  6. Any reference to the "official version", "original version" or
							 | 
						|||
| 
								 | 
							
								     "how to obtain original versions" of the document is preserved
							 | 
						|||
| 
								 | 
							
								     verbatim. Any copyright notice in the document is preserved
							 | 
						|||
| 
								 | 
							
								     verbatim. Also, the title and author(s) of the original document
							 | 
						|||
| 
								 | 
							
								     should be clearly mentioned as such.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  7. In the case of translations, verbatim sentences mentioned in
							 | 
						|||
| 
								 | 
							
								     (6.) are preserved in the language of the original document
							 | 
						|||
| 
								 | 
							
								     accompanied by verbatim translations to the language of the
							 | 
						|||
| 
								 | 
							
								     traslated document. All translations state clearly that the
							 | 
						|||
| 
								 | 
							
								     author is not responsible for the translated work. This license
							 | 
						|||
| 
								 | 
							
								     is included, at least in the language in which it is referenced
							 | 
						|||
| 
								 | 
							
								     in the original version.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  8. Whatever the mode of storage, reproduction or dissemination,
							 | 
						|||
| 
								 | 
							
								     anyone able to access a digitized version of this document must
							 | 
						|||
| 
								 | 
							
								     be able to make a digitized copy in a format directly usable,
							 | 
						|||
| 
								 | 
							
								     and if possible editable, according to accepted, and publicly
							 | 
						|||
| 
								 | 
							
								     documented, public standards.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  9. Redistributing this document to a third party requires
							 | 
						|||
| 
								 | 
							
								     simultaneous redistribution of this licence, without
							 | 
						|||
| 
								 | 
							
								     modification, and in particular without any further condition or
							 | 
						|||
| 
								 | 
							
								     restriction, expressed or implied, related or not to this
							 | 
						|||
| 
								 | 
							
								     redistribution. In particular, in case of inclusion in a
							 | 
						|||
| 
								 | 
							
								     database or collection, the owner or the manager of the database
							 | 
						|||
| 
								 | 
							
								     or the collection renounces any right related to this inclusion
							 | 
						|||
| 
								 | 
							
								     and concerning the possible uses of the document after
							 | 
						|||
| 
								 | 
							
								     extraction from the database or the collection, whether alone or
							 | 
						|||
| 
								 | 
							
								     in relation with other documents.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   Any incompatibility of the above clauses with legal, contractual
							 | 
						|||
| 
								 | 
							
								or judiciary decisions or constraints implies a corresponding
							 | 
						|||
| 
								 | 
							
								limitation of reading, usage, or redistribution rights for this
							 | 
						|||
| 
								 | 
							
								document, verbatim or modified.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Top,  Next: Summary,  Prev: (dir),  Up: (dir)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								The PiLLoW Web Programming Library
							 | 
						|||
| 
								 | 
							
								**********************************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Summary::
							 | 
						|||
| 
								 | 
							
								* Introduction::
							 | 
						|||
| 
								 | 
							
								* HTML/XML/CGI programming::
							 | 
						|||
| 
								 | 
							
								* HTTP conectivity::
							 | 
						|||
| 
								 | 
							
								* PiLLoW types::
							 | 
						|||
| 
								 | 
							
								* References::
							 | 
						|||
| 
								 | 
							
								* Predicate/Method Definition Index::
							 | 
						|||
| 
								 | 
							
								* Regular Type Definition Index::
							 | 
						|||
| 
								 | 
							
								* Global Index::
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Summary,  Next: Introduction,  Prev: Top,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Summary
							 | 
						|||
| 
								 | 
							
								*******
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   The PiLLoW library ("Programming in Logic Languages on the Web")
							 | 
						|||
| 
								 | 
							
								is a public domain Internet/WWW programming library for Logic
							 | 
						|||
| 
								 | 
							
								Programming Systems which simplifies the process of writing
							 | 
						|||
| 
								 | 
							
								applications for such environment. The library provides facilities
							 | 
						|||
| 
								 | 
							
								for generating HTML or XML structured documents by handling them as
							 | 
						|||
| 
								 | 
							
								Herbrand terms, producing HTML forms, writing form handlers,
							 | 
						|||
| 
								 | 
							
								processing HTML templates, accessing and parsing WWW documents
							 | 
						|||
| 
								 | 
							
								(either HTML or XML), accessing code posted at HTTP addresses, etc.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   The PiLLoW library has been developed in the context of the
							 | 
						|||
| 
								 | 
							
								&-Prolog and Ciao systems, but it has been adapted to a number of
							 | 
						|||
| 
								 | 
							
								popular Logic Programming systems. Note, however, that this manual is
							 | 
						|||
| 
								 | 
							
								written for the Ciao system, so if you use it in other systems, minor
							 | 
						|||
| 
								 | 
							
								details in the documentation may not completely agree. For example,
							 | 
						|||
| 
								 | 
							
								whereas in Ciao the library is a package which loads modules `html'
							 | 
						|||
| 
								 | 
							
								and `http', in the other systems it is just one module `pillow'.
							 | 
						|||
| 
								 | 
							
								Thus, do not consider the _Library usage_ information in other
							 | 
						|||
| 
								 | 
							
								systems.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   PiLLoW is distributed under the GNU Library General Public License.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Introduction,  Next: HTML/XML/CGI programming,  Prev: Summary,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Introduction
							 | 
						|||
| 
								 | 
							
								************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   This package implements the PiLLoW library [CHV96]. The following
							 | 
						|||
| 
								 | 
							
								three chapters document, respectively, the predicates for
							 | 
						|||
| 
								 | 
							
								HTML/XML/CGI programming, the predicate for HTTP conectivity, and the
							 | 
						|||
| 
								 | 
							
								types used in the definition of the predicates (key for fully
							 | 
						|||
| 
								 | 
							
								understanding the other predicates). You can find a paper and some
							 | 
						|||
| 
								 | 
							
								additional information in the `library/pillow/doc' directory of the
							 | 
						|||
| 
								 | 
							
								distribution, and in the WWW at
							 | 
						|||
| 
								 | 
							
								`http://clip.dia.fi.upm.es/Software/pillow/pillow.html'. There is
							 | 
						|||
| 
								 | 
							
								also a _PiLLoW on-line tutorial_ (slides) at
							 | 
						|||
| 
								 | 
							
								`http://clip.dia.fi.upm.es/logalg/slides/C_pillow/C_pillow.html'
							 | 
						|||
| 
								 | 
							
								which illustrates the basic features and provides a number of
							 | 
						|||
| 
								 | 
							
								examples of PiLLoW use.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Installing PiLLoW::
							 | 
						|||
| 
								 | 
							
								* Usage and interface (pillow)::
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Installing PiLLoW,  Next: Usage and interface (pillow),  Prev: Introduction,  Up: Introduction
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Installing PiLLoW
							 | 
						|||
| 
								 | 
							
								=================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   To correctly install PiLLoW, first, make sure you downloaded the
							 | 
						|||
| 
								 | 
							
								right version of PiLLoW (there are different versions for different
							 | 
						|||
| 
								 | 
							
								LP/CLP systems; the version that comes with Ciao is of course the
							 | 
						|||
| 
								 | 
							
								right one for Ciao). Then, please follow these steps:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  1. Copy the files in the `images' directory to a WWW accessible
							 | 
						|||
| 
								 | 
							
								     directory in your server.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  2. Edit the file `icon_address.pl' and change the fact to point to
							 | 
						|||
| 
								 | 
							
								     the URL to be used to access the images above.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  3. In the Ciao system the files are in the correct place, in other
							 | 
						|||
| 
								 | 
							
								     systems copy the files `pillow.pl' and `icon_address.pl' to a
							 | 
						|||
| 
								 | 
							
								     suitable directory so that your Prolog system will find them.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Usage and interface (pillow),  Prev: Installing PiLLoW,  Up: Introduction
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Usage and interface (`pillow')
							 | 
						|||
| 
								 | 
							
								==============================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *Library usage:*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `:- use_package(pillow).'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     or
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `:- module(...,...,[pillow]).'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *New operators defined:*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `$/2' [150,xfx], `$/1' [150,fx].
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: HTML/XML/CGI programming,  Next: HTTP conectivity,  Prev: Introduction,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								HTML/XML/CGI programming
							 | 
						|||
| 
								 | 
							
								************************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   *Author(s):* Daniel Cabeza, Manuel Hermenegildo, Sacha Varma.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   *Version:* 1.7 (2000/7/12, 19:1:20 CEST)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   *Version of last change:* 1.5#114 (2000/4/11, 20:23:43 CEST)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   This module implements the predicates of the PiLLoW package
							 | 
						|||
| 
								 | 
							
								related to HTML/ XML generation and parsing, CGI and form handlers
							 | 
						|||
| 
								 | 
							
								programming, and in general all the predicates which do not imply the
							 | 
						|||
| 
								 | 
							
								use of the HTTP protocol.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Usage and interface (html)::
							 | 
						|||
| 
								 | 
							
								* Documentation on exports (html)::
							 | 
						|||
| 
								 | 
							
								* Documentation on multifiles (html)::
							 | 
						|||
| 
								 | 
							
								* Other information (html)::
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Usage and interface (html),  Next: Documentation on exports (html),  Prev: HTML/XML/CGI programming,  Up: HTML/XML/CGI programming
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Usage and interface (`html')
							 | 
						|||
| 
								 | 
							
								============================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *Library usage:*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `:- use_module(library(html)).'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *Exports:*
							 | 
						|||
| 
								 | 
							
								        - _Predicates:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `output_html/1', `html2terms/2', `xml2terms/2',
							 | 
						|||
| 
								 | 
							
								          `html_template/3', `html_report_error/1',
							 | 
						|||
| 
								 | 
							
								          `get_form_input/1', `get_form_value/3',
							 | 
						|||
| 
								 | 
							
								          `form_empty_value/1', `form_default/3', `set_cookie/2',
							 | 
						|||
| 
								 | 
							
								          `get_cookies/1', `url_query/2', `my_url/1', `url_info/2',
							 | 
						|||
| 
								 | 
							
								          `url_info_relative/3', `form_request_method/1',
							 | 
						|||
| 
								 | 
							
								          `icon_address/2', `html_protect/1', `http_lines/3'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _Multifiles:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `html_expansion/2'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Documentation on exports (html),  Next: Documentation on multifiles (html),  Prev: Usage and interface (html),  Up: HTML/XML/CGI programming
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Documentation on exports (`html')
							 | 
						|||
| 
								 | 
							
								=================================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: output_html/1:
							 | 
						|||
| 
								 | 
							
								     `output_html(HTMLTerm)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Outputs `HTMLTerm', interpreted as an `html_term/1', to current
							 | 
						|||
| 
								 | 
							
								     output stream.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `HTMLTerm' is a term representing HTML code.
							 | 
						|||
| 
								 | 
							
								          (`html_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: html2terms/2:
							 | 
						|||
| 
								 | 
							
								     `html2terms(String,Terms)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `String' is a character list containing HTML code and `Terms' is
							 | 
						|||
| 
								 | 
							
								     its prolog structured representation.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 1:*
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Translates an HTML-term into the HTML code
							 | 
						|||
| 
								 | 
							
								          it represents.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `String' is a free variable.   (`var/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing HTML code.   (`html_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `String' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 2:*
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Translates HTML code into a structured
							 | 
						|||
| 
								 | 
							
								          HTML-term.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing HTML code in canonical form.
							 | 
						|||
| 
								 | 
							
								          (`canonic_html_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `String' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing HTML code in canonical form.
							 | 
						|||
| 
								 | 
							
								          (`canonic_html_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: xml2terms/2:
							 | 
						|||
| 
								 | 
							
								     `xml2terms(String,Terms)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `String' is a character list containing XML code and `Terms' is
							 | 
						|||
| 
								 | 
							
								     its prolog structured representation.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 1:*
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Translates a XML-term into the XML code it
							 | 
						|||
| 
								 | 
							
								          represents.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `String' is a free variable.   (`var/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing HTML code.   (`html_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `String' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 2:*
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Translates XML code into a structured
							 | 
						|||
| 
								 | 
							
								          XML-term.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing XML code in canonical form.
							 | 
						|||
| 
								 | 
							
								          (`canonic_xml_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `String' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing XML code in canonical form.
							 | 
						|||
| 
								 | 
							
								          (`canonic_xml_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: html_template/3:
							 | 
						|||
| 
								 | 
							
								     `html_template(Chars,Terms,Dict)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Interprets `Chars' as an HTML template returning in `Terms' the
							 | 
						|||
| 
								 | 
							
								     corresponding structured HTML-term, which includes variables,
							 | 
						|||
| 
								 | 
							
								     and unifying `Dict' with a dictionary of those variables (an
							 | 
						|||
| 
								 | 
							
								     incomplete list of _name_`='_Var_ pairs). An HTML template is
							 | 
						|||
| 
								 | 
							
								     standard HTML code, but in which "slots" can be defined and
							 | 
						|||
| 
								 | 
							
								     given an identifier. These slots represent parts of the HTML
							 | 
						|||
| 
								 | 
							
								     code in which other HTML code can be inserted, and are
							 | 
						|||
| 
								 | 
							
								     represented in the HTML-term as free variables. There are two
							 | 
						|||
| 
								 | 
							
								     kinds of variables in templates:
							 | 
						|||
| 
								 | 
							
								        * Variables representing page contents. A variable with name
							 | 
						|||
| 
								 | 
							
								          _name_ is defined with the special tag `<V>'_name_`</V>'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * Variables representing tag attributes. They occur as an
							 | 
						|||
| 
								 | 
							
								          attribute or an attribute value starting with `_', followed
							 | 
						|||
| 
								 | 
							
								          by its name, which must be formed by alphabetic characters.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     As an example, suposse the following HTML template:
							 | 
						|||
| 
								 | 
							
								          <html>
							 | 
						|||
| 
								 | 
							
								          <body bgcolor=_bgcolor>
							 | 
						|||
| 
								 | 
							
								          <v>content</v>
							 | 
						|||
| 
								 | 
							
								          </body>
							 | 
						|||
| 
								 | 
							
								          </html>
							 | 
						|||
| 
								 | 
							
								     The following query in the Ciao toplevel shows how the template
							 | 
						|||
| 
								 | 
							
								     is parsed, and the dictionary returned:
							 | 
						|||
| 
								 | 
							
								          ?- file_to_string('template.html',_S), html_template(_S,Terms,Dict).
							 | 
						|||
| 
								 | 
							
								          
							 | 
						|||
| 
								 | 
							
								          Dict = [bgcolor=_A,content=_B|_],
							 | 
						|||
| 
								 | 
							
								          Terms = [env(html,[],["
							 | 
						|||
| 
								 | 
							
								          ",env(body,[bgcolor=_A],["
							 | 
						|||
| 
								 | 
							
								          ",_B,"
							 | 
						|||
| 
								 | 
							
								          "]),"
							 | 
						|||
| 
								 | 
							
								          "]),"
							 | 
						|||
| 
								 | 
							
								          "] ?
							 | 
						|||
| 
								 | 
							
								          
							 | 
						|||
| 
								 | 
							
								          yes
							 | 
						|||
| 
								 | 
							
								     If a dictionary with values is supplied at call time, then
							 | 
						|||
| 
								 | 
							
								     variables are unified accordingly inside the template:
							 | 
						|||
| 
								 | 
							
								          ?- file_to_string('template.html',_S),
							 | 
						|||
| 
								 | 
							
								             html_template(_S,Terms,[content=b("hello world!"),bgcolor="white"]).
							 | 
						|||
| 
								 | 
							
								          
							 | 
						|||
| 
								 | 
							
								          Terms = [env(html,[],["
							 | 
						|||
| 
								 | 
							
								          ",env(body,[bgcolor="white"],["
							 | 
						|||
| 
								 | 
							
								          ",b("hello world!"),"
							 | 
						|||
| 
								 | 
							
								          "]),"
							 | 
						|||
| 
								 | 
							
								          "]),"
							 | 
						|||
| 
								 | 
							
								          "] ?
							 | 
						|||
| 
								 | 
							
								          
							 | 
						|||
| 
								 | 
							
								          yes
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing HTML code in canonical form.
							 | 
						|||
| 
								 | 
							
								          (`canonic_html_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Dict' is a list.   (`list/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Chars' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Terms' is a term representing HTML code in canonical form.
							 | 
						|||
| 
								 | 
							
								          (`canonic_html_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Dict' is a list.   (`list/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: html_report_error/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `html_report_error(Error)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Outputs error `Error' as a standard HTML
							 | 
						|||
| 
								 | 
							
								          page.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: get_form_input/1:
							 | 
						|||
| 
								 | 
							
								     `get_form_input(Dict)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Translates input from the form (with either the POST or GET
							 | 
						|||
| 
								 | 
							
								     methods, and even with CONTENT_TYPE multipart/form-data) to a
							 | 
						|||
| 
								 | 
							
								     dictionary `Dict' of _attribute_=_value_ pairs. It translates
							 | 
						|||
| 
								 | 
							
								     empty values (which indicate only the presence of an attribute)
							 | 
						|||
| 
								 | 
							
								     to the atom `'$empty'', values with more than one line (from
							 | 
						|||
| 
								 | 
							
								     text areas or files) to a list of lines as strings, the rest to
							 | 
						|||
| 
								 | 
							
								     atoms or numbers (using `name/2').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Dict' is a free variable.   (`var/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Dict' is a dictionary of values of the attributes of a
							 | 
						|||
| 
								 | 
							
								          form. It is a list of `form_assignment'  (`form_dict/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: get_form_value/3:
							 | 
						|||
| 
								 | 
							
								     `get_form_value(Dict,Var,Val)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Unifies `Val' with the value for attribute `Var' in dictionary
							 | 
						|||
| 
								 | 
							
								     `Dict'. Does not fail: value is `''' if not found (this
							 | 
						|||
| 
								 | 
							
								     simplifies the programming of form handlers when they can be
							 | 
						|||
| 
								 | 
							
								     accessed directly).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Val' is a value of an attribute of a form.
							 | 
						|||
| 
								 | 
							
								          (`form_value/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Dict' is a dictionary of values of the attributes of a
							 | 
						|||
| 
								 | 
							
								          form. It is a list of `form_assignment'  (`form_dict/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Var' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Val' is a value of an attribute of a form.
							 | 
						|||
| 
								 | 
							
								          (`form_value/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: form_empty_value/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `form_empty_value(Term)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Checks that `Term', a value comming from a
							 | 
						|||
| 
								 | 
							
								          text area is empty (can have spaces, newlines and
							 | 
						|||
| 
								 | 
							
								          linefeeds).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: form_default/3:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `form_default(Val,Default,NewVal)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Useful when a form is only partially filled,
							 | 
						|||
| 
								 | 
							
								          or when the executable can be invoked either by a link or
							 | 
						|||
| 
								 | 
							
								          by a form, to set form defaults. If the value of `Val' is
							 | 
						|||
| 
								 | 
							
								          empty then `NewVal'=`Default', else `NewVal'=`Val'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Val' is currently a term which is not a free variable.
							 | 
						|||
| 
								 | 
							
								          (`nonvar/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Default' is currently a term which is not a free variable.
							 | 
						|||
| 
								 | 
							
								          (`nonvar/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `NewVal' is a free variable.   (`var/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: set_cookie/2:
							 | 
						|||
| 
								 | 
							
								     `set_cookie(Name,Value)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Sets a cookie of name `Name' and value `Value'. Must be invoked
							 | 
						|||
| 
								 | 
							
								     before outputting any data, including the `cgi_reply' html-term.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Name' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Value' is an atomic term (an atom or a number).
							 | 
						|||
| 
								 | 
							
								          (`constant/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: get_cookies/1:
							 | 
						|||
| 
								 | 
							
								     `get_cookies(Cookies)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Unifies `Cookies' with a dictionary of _attribute_=_value_ pairs
							 | 
						|||
| 
								 | 
							
								     of the active cookies for this URL.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Cookies' is a free variable.   (`var/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Cookies' is a dictionary of values. It is a list of pairs
							 | 
						|||
| 
								 | 
							
								          _atom_=_constant_.   (`value_dict/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: url_query/2:
							 | 
						|||
| 
								 | 
							
								     `url_query(Dict,URLArgs)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Translates a dictionary `Dict' of parameter values into a string
							 | 
						|||
| 
								 | 
							
								     `URLArgs' for appending to a URL pointing to a form handler.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Dict' is a dictionary of values. It is a list of pairs
							 | 
						|||
| 
								 | 
							
								          _atom_=_constant_.   (`value_dict/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLArgs' is a free variable.   (`var/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLArgs' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: my_url/1:
							 | 
						|||
| 
								 | 
							
								     `my_url(URL)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Unifies `URL' with the Uniform Resource Locator (WWW address) of
							 | 
						|||
| 
								 | 
							
								     this cgi executable.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: url_info/2:
							 | 
						|||
| 
								 | 
							
								     `url_info(URL,URLTerm)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Translates a URL `URL' to a Prolog structure `URLTerm' which
							 | 
						|||
| 
								 | 
							
								     details its various components, and vice-versa. For now non-HTTP
							 | 
						|||
| 
								 | 
							
								     URLs make the predicate fail.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 1:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 2:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 3:*
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is a free variable.   (`var/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: url_info_relative/3:
							 | 
						|||
| 
								 | 
							
								     `url_info_relative(URL,BaseURLTerm,URLTerm)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Translates a relative URL `URL' which appears in the HTML page
							 | 
						|||
| 
								 | 
							
								     refered to by `BaseURLTerm' into `URLTerm', a Prolog structure
							 | 
						|||
| 
								 | 
							
								     containing its absolute parameters. Absolute URLs are translated
							 | 
						|||
| 
								 | 
							
								     as with `url_info/2'. E.g.
							 | 
						|||
| 
								 | 
							
								          url_info_relative("dadu.html",
							 | 
						|||
| 
								 | 
							
								                            http('www.foo.com',80,"/bar/scoob.html"), Info)
							 | 
						|||
| 
								 | 
							
								     gives `Info = http('www.foo.com',80,"/bar/dadu.html")'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 1:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `BaseURLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage 2:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `BaseURLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URLTerm' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: form_request_method/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `form_request_method(Method)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Unifies `Method' with the method of
							 | 
						|||
| 
								 | 
							
								          invocation of the form handler (`GET' or `POST').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Method' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: icon_address/2:
							 | 
						|||
| 
								 | 
							
								     `icon_address(Img,IAddress)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     The PiLLoW image `Img' has URL `IAddress'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Img' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `IAddress' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Img' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `IAddress' is an atom.   (`atm/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: html_protect/1:
							 | 
						|||
| 
								 | 
							
								     `html_protect(Goal)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Calls `Goal'. If an error occurs during its execution, or it
							 | 
						|||
| 
								 | 
							
								     fails, an HTML page is output informing about the incident.
							 | 
						|||
| 
								 | 
							
								     Normaly the whole execution of a CGI is protected thus.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     _Meta-predicate_ with arguments: `html_protect(goal)'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:*
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Goal' is a term which represents a goal, i.e., an atom or
							 | 
						|||
| 
								 | 
							
								          a structure.   (`callable/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: http_lines/3:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `http_lines(Lines,String,Tail)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Lines' is a list of the lines with occur in
							 | 
						|||
| 
								 | 
							
								          `String' until `Tail'. The lines may end UNIX-style or
							 | 
						|||
| 
								 | 
							
								          DOS-style in `String', in `Lines' they have not end of line
							 | 
						|||
| 
								 | 
							
								          characters. Suitable to be used in DCGs.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _Calls should, and exit will be compatible with:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Lines' is a list of `string's.   (`list/2')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `String' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Tail' is a string (a list of character codes).
							 | 
						|||
| 
								 | 
							
								          (`string/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Documentation on multifiles (html),  Next: Other information (html),  Prev: Documentation on exports (html),  Up: HTML/XML/CGI programming
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Documentation on multifiles (`html')
							 | 
						|||
| 
								 | 
							
								====================================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: html_expansion/2:
							 | 
						|||
| 
								 | 
							
								     The predicate is _multifile_.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `html_expansion(Term,Expansion)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ Hook predicate to define macros. Expand
							 | 
						|||
| 
								 | 
							
								          occurrences of `Term' into `Expansion', in `output_html/1'.
							 | 
						|||
| 
								 | 
							
								          Take care to not transform something into itself!
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Other information (html),  Prev: Documentation on multifiles (html),  Up: HTML/XML/CGI programming
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Other information (`html')
							 | 
						|||
| 
								 | 
							
								==========================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   The code uses input from from L. Naish's forms and F. Bueno's
							 | 
						|||
| 
								 | 
							
								previous Chat interface. Other people who have contributed is (please
							 | 
						|||
| 
								 | 
							
								inform us if we leave out anybody): Markus Fromherz, Samir Genaim.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: HTTP conectivity,  Next: PiLLoW types,  Prev: HTML/XML/CGI programming,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								HTTP conectivity
							 | 
						|||
| 
								 | 
							
								****************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   *Author(s):* Daniel Cabeza.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   *Version:* 1.7 (2000/7/12, 19:1:20 CEST)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   *Version of last change:* 1.3#114 (1999/11/24, 0:57:16 MET)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   This module implements the HTTP protocol, which allows retrieving
							 | 
						|||
| 
								 | 
							
								data from HTTP servers.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Usage and interface (http)::
							 | 
						|||
| 
								 | 
							
								* Documentation on exports (http)::
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Usage and interface (http),  Next: Documentation on exports (http),  Prev: HTTP conectivity,  Up: HTTP conectivity
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Usage and interface (`http')
							 | 
						|||
| 
								 | 
							
								============================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *Library usage:*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `:- use_module(library(http)).'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *Exports:*
							 | 
						|||
| 
								 | 
							
								        - _Predicates:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `fetch_url/3'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Documentation on exports (http),  Prev: Usage and interface (http),  Up: HTTP conectivity
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Documentation on exports (`http')
							 | 
						|||
| 
								 | 
							
								=================================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - PREDICATE: fetch_url/3:
							 | 
						|||
| 
								 | 
							
								     `fetch_url(URL,Request,Response)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     Fetches the document pointed to by `URL' from Internet, using
							 | 
						|||
| 
								 | 
							
								     request parameters `Request', and unifies `Response' with the
							 | 
						|||
| 
								 | 
							
								     parameters of the response. Fails on timeout. Note that
							 | 
						|||
| 
								 | 
							
								     redirections are not handled automatically, that is, if
							 | 
						|||
| 
								 | 
							
								     `Response' contains terms of the form
							 | 
						|||
| 
								 | 
							
								     `status(redirection,301,_)' and `location(NewURL)', the program
							 | 
						|||
| 
								 | 
							
								     should in most cases access location `NewURL'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `fetch_url(URL,Request,Response)'
							 | 
						|||
| 
								 | 
							
								        - _The following properties should hold at call time:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `URL' specifies a URL.   (`url_term/1')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Request' is a list of `http_request_param's.   (`list/2')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        - _The following properties hold upon exit:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `Response' is a list of `http_response_param's.   (`list/2')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: PiLLoW types,  Next: References,  Prev: HTTP conectivity,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								PiLLoW types
							 | 
						|||
| 
								 | 
							
								************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   *Author(s):* Daniel Cabeza.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   Here are defined the regular types used in the documentation of
							 | 
						|||
| 
								 | 
							
								the predicates of the PiLLoW package.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Usage and interface (pillow_types)::
							 | 
						|||
| 
								 | 
							
								* Documentation on exports (pillow_types)::
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Usage and interface (pillow_types),  Next: Documentation on exports (pillow_types),  Prev: PiLLoW types,  Up: PiLLoW types
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Usage and interface (`pillow_types')
							 | 
						|||
| 
								 | 
							
								====================================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *Library usage:*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `:- use_module(library(pillow_types)).'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   * *Exports:*
							 | 
						|||
| 
								 | 
							
								        - _Regular Types:_
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          `canonic_html_term/1', `canonic_xml_term/1', `html_term/1',
							 | 
						|||
| 
								 | 
							
								          `form_dict/1', `form_assignment/1', `form_value/1',
							 | 
						|||
| 
								 | 
							
								          `value_dict/1', `url_term/1', `http_request_param/1',
							 | 
						|||
| 
								 | 
							
								          `http_response_param/1', `http_date/1', `weekday/1',
							 | 
						|||
| 
								 | 
							
								          `month/1', `hms_time/1'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Documentation on exports (pillow_types),  Prev: Usage and interface (pillow_types),  Up: PiLLoW types
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Documentation on exports (`pillow_types')
							 | 
						|||
| 
								 | 
							
								=========================================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: canonic_html_term/1:
							 | 
						|||
| 
								 | 
							
								     A term representing HTML code in canonical, structured way. It
							 | 
						|||
| 
								 | 
							
								     is a list of terms defined by the following predicate:
							 | 
						|||
| 
								 | 
							
								          canonic_html_item(comment(S)) :-
							 | 
						|||
| 
								 | 
							
								                  string(S).
							 | 
						|||
| 
								 | 
							
								          canonic_html_item(declare(S)) :-
							 | 
						|||
| 
								 | 
							
								                  string(S).
							 | 
						|||
| 
								 | 
							
								          canonic_html_item(env(Tag,Atts,Terms)) :-
							 | 
						|||
| 
								 | 
							
								                  atm(Tag),
							 | 
						|||
| 
								 | 
							
								                  list(Atts,tag_attrib),
							 | 
						|||
| 
								 | 
							
								                  canonic_html_term(Terms).
							 | 
						|||
| 
								 | 
							
								          canonic_html_item($(Tag,Atts)) :-
							 | 
						|||
| 
								 | 
							
								                  atm(Tag),
							 | 
						|||
| 
								 | 
							
								                  list(Atts,tag_attrib).
							 | 
						|||
| 
								 | 
							
								          canonic_html_item(S) :-
							 | 
						|||
| 
								 | 
							
								                  string(S).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								          tag_attrib(Att) :-
							 | 
						|||
| 
								 | 
							
								                  atm(Att).
							 | 
						|||
| 
								 | 
							
								          tag_attrib(Att=Val) :-
							 | 
						|||
| 
								 | 
							
								                  atm(Att),
							 | 
						|||
| 
								 | 
							
								                  string(Val).
							 | 
						|||
| 
								 | 
							
								     Each structure represents one HTML construction:
							 | 
						|||
| 
								 | 
							
								    *env(*_tag_*,*_attribs_*,*_terms_*)*
							 | 
						|||
| 
								 | 
							
								          An HTML environment, with name _tag_, list of attributes
							 | 
						|||
| 
								 | 
							
								          _attribs_ and contents _terms_.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *$(*_tag_*,*_attribs_*)*
							 | 
						|||
| 
								 | 
							
								          An HTML element of name _tag_ and list of attributes
							 | 
						|||
| 
								 | 
							
								          _attribs_. `($)/2' is defined by the pillow package as an
							 | 
						|||
| 
								 | 
							
								          infix, binary operator.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *comment(*_string_*)*
							 | 
						|||
| 
								 | 
							
								          An HTML comment (translates to/from `<!--'_string_`-->').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *declare(*_string_*)*
							 | 
						|||
| 
								 | 
							
								          An HTML declaration, they are used only in the header
							 | 
						|||
| 
								 | 
							
								          (translates to/from `<!'_string_`>').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    _string_
							 | 
						|||
| 
								 | 
							
								          Normal text is represented as a list of character codes.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     For example, the term
							 | 
						|||
| 
								 | 
							
								          env(a,[href="www.therainforestsite.com"],
							 | 
						|||
| 
								 | 
							
								                ["Visit ",img$[src="TRFS.gif"]])
							 | 
						|||
| 
								 | 
							
								     is output to (or parsed from):
							 | 
						|||
| 
								 | 
							
								          <a href="www.therainforestsite.com">Visit <img src="TRFS.gif"></a>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `canonic_html_term(HTMLTerm)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `HTMLTerm' is a term representing HTML code
							 | 
						|||
| 
								 | 
							
								          in canonical form.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: canonic_xml_term/1:
							 | 
						|||
| 
								 | 
							
								     A term representing XML code in canonical, structured way. It is
							 | 
						|||
| 
								 | 
							
								     a list of terms defined by the following predicate (see
							 | 
						|||
| 
								 | 
							
								     `tag_attrib/1' definition in `canonic_html_term/1'):
							 | 
						|||
| 
								 | 
							
								          canonic_xml_item(Term) :-
							 | 
						|||
| 
								 | 
							
								                  canonic_html_item(Term).
							 | 
						|||
| 
								 | 
							
								          canonic_xml_item(xmldecl(Atts)) :-
							 | 
						|||
| 
								 | 
							
								                  list(Atts,tag_attrib).
							 | 
						|||
| 
								 | 
							
								          canonic_xml_item(env(Tag,Atts,Terms)) :-
							 | 
						|||
| 
								 | 
							
								                  atm(Tag),
							 | 
						|||
| 
								 | 
							
								                  list(Atts,tag_attrib),
							 | 
						|||
| 
								 | 
							
								                  canonic_xml_term(Terms).
							 | 
						|||
| 
								 | 
							
								          canonic_xml_item(elem(Tag,Atts)) :-
							 | 
						|||
| 
								 | 
							
								                  atm(Tag),
							 | 
						|||
| 
								 | 
							
								                  list(Atts,tag_attrib).
							 | 
						|||
| 
								 | 
							
								     In addition to the structures defined by `canonic_html_term/1'
							 | 
						|||
| 
								 | 
							
								     (the `($)/2' structure appears only in malformed XML code), the
							 | 
						|||
| 
								 | 
							
								     following structures can be used:
							 | 
						|||
| 
								 | 
							
								    *elem(*_tag_*,*_atts_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies an XML empty element of name _tag_ and list of
							 | 
						|||
| 
								 | 
							
								          attributes _atts_. For example, the term
							 | 
						|||
| 
								 | 
							
								               elem(arc,[weigh="3",begin="n1",end="n2"])
							 | 
						|||
| 
								 | 
							
								          is output to (or parsed from):
							 | 
						|||
| 
								 | 
							
								               <arc weigh="3" begin="n1" end="n2"/>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *xmldecl(*_atts_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies an XML declaration with attributes _atts_
							 | 
						|||
| 
								 | 
							
								          (translates to/from `<?xml '_atts_`?>')
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `canonic_xml_term(XMLTerm)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `XMLTerm' is a term representing XML code in
							 | 
						|||
| 
								 | 
							
								          canonical form.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: html_term/1:
							 | 
						|||
| 
								 | 
							
								     A term which represents HTML or XML code in a structured way. In
							 | 
						|||
| 
								 | 
							
								     addition to the structures defined by `canonic_html_term/1' or
							 | 
						|||
| 
								 | 
							
								     `canonic_xml_term/1', the following structures can be used:
							 | 
						|||
| 
								 | 
							
								    *begin(*_tag_*,*_atts_*)*
							 | 
						|||
| 
								 | 
							
								          It translates to the start of an HTML environment of name
							 | 
						|||
| 
								 | 
							
								          _tag_ and attributes _atts_. There exists also a
							 | 
						|||
| 
								 | 
							
								          *begin(_tag_)* structure. Useful, in conjunction with the
							 | 
						|||
| 
								 | 
							
								          next structure, when including in a document output
							 | 
						|||
| 
								 | 
							
								          generated by an existing piece of code (e.g. _tag_ =
							 | 
						|||
| 
								 | 
							
								          `pre'). Its use is otherwise discouraged.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *end(*_tag_*)*
							 | 
						|||
| 
								 | 
							
								          Translates to the end of an HTML environment of name _tag_.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *start*
							 | 
						|||
| 
								 | 
							
								          Used at the beginning of a document (translates to
							 | 
						|||
| 
								 | 
							
								          `<html>').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *end*
							 | 
						|||
| 
								 | 
							
								          Used at the end of a document (translates to `</html>').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    `--'
							 | 
						|||
| 
								 | 
							
								          Produces a horizontal rule (translates to `<hr>').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *\\*
							 | 
						|||
| 
								 | 
							
								          Produces a line break (translates to `<br>').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *$*
							 | 
						|||
| 
								 | 
							
								          Produces a paragraph break (translates to `<p>').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *image(*_address_*)*
							 | 
						|||
| 
								 | 
							
								          Used to include an image of address (URL) _address_
							 | 
						|||
| 
								 | 
							
								          (equivalent to `img$[src='_address_`]').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *image(*_address_*,*_atts_*)*
							 | 
						|||
| 
								 | 
							
								          As above with the list of attributes _atts_.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *ref(*_address_*,*_text_*)*
							 | 
						|||
| 
								 | 
							
								          Produces a hypertext link, _address_ is the URL of the
							 | 
						|||
| 
								 | 
							
								          referenced resource, _text_ is the text of the reference
							 | 
						|||
| 
								 | 
							
								          (equivalent to `a([href='_address_`],'_text_`)').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *label(*_name_*,*_text_*)*
							 | 
						|||
| 
								 | 
							
								          Labels _text_ as a target destination with label _name_
							 | 
						|||
| 
								 | 
							
								          (equivalent to `a([name='_name_`],'_text_`)').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *heading(*_n_*,*_text_*)*
							 | 
						|||
| 
								 | 
							
								          Produces a heading of level _n_ (between 1 and 6), _text_
							 | 
						|||
| 
								 | 
							
								          is the text to be used as heading. Useful when one wants a
							 | 
						|||
| 
								 | 
							
								          heading level relative to another heading (equivalent to
							 | 
						|||
| 
								 | 
							
								          `h'_n_`('_text_`)').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *itemize(*_items_*)*
							 | 
						|||
| 
								 | 
							
								          Produces a list of bulleted items, _items_ is a list of
							 | 
						|||
| 
								 | 
							
								          corresponding HTML terms (translates to a `<ul>'
							 | 
						|||
| 
								 | 
							
								          environment).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *enumerate(*_items_*)*
							 | 
						|||
| 
								 | 
							
								          Produces a list of numbered items, _items_ is a list of
							 | 
						|||
| 
								 | 
							
								          corresponding HTML terms (translates to a `<ol>'
							 | 
						|||
| 
								 | 
							
								          environment).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *description(*_defs_*)*
							 | 
						|||
| 
								 | 
							
								          Produces a list of defined items, _defs_ is a list whose
							 | 
						|||
| 
								 | 
							
								          elements are definitions, each of them being a Prolog
							 | 
						|||
| 
								 | 
							
								          sequence (composed by `','/2' operators). The last element
							 | 
						|||
| 
								 | 
							
								          of the sequence is the definition, the other (if any) are
							 | 
						|||
| 
								 | 
							
								          the defined terms (translates to a `<dl>' environment).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *nice_itemize(*_img_*,*_items_*)*
							 | 
						|||
| 
								 | 
							
								          Produces a list of bulleted items, using the image _img_ as
							 | 
						|||
| 
								 | 
							
								          bullet. The predicate `icon_address/2' provides a colored
							 | 
						|||
| 
								 | 
							
								          bullet.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *preformatted(*_text_*)*
							 | 
						|||
| 
								 | 
							
								          Used to include preformatted text, _text_ is a list of HTML
							 | 
						|||
| 
								 | 
							
								          terms, each element of the list being a line of the
							 | 
						|||
| 
								 | 
							
								          resulting document (translates to a `<pre>' environment).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *verbatim(*_text_*)*
							 | 
						|||
| 
								 | 
							
								          Used to include text verbatim, special HTML characters
							 | 
						|||
| 
								 | 
							
								          (`<,>,&,"' and space) are translated into its quoted HTML
							 | 
						|||
| 
								 | 
							
								          equivalent.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *prolog_term(*_term_*)*
							 | 
						|||
| 
								 | 
							
								          Includes any prolog term _term_, represented in functional
							 | 
						|||
| 
								 | 
							
								          notation. Variables are output as `_'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *nl*
							 | 
						|||
| 
								 | 
							
								          Used to include a newline in the HTML source (just to
							 | 
						|||
| 
								 | 
							
								          improve human readability).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *entity(*_name_*)*
							 | 
						|||
| 
								 | 
							
								          Includes the entity of name _name_ (ISO-8859-1 special
							 | 
						|||
| 
								 | 
							
								          character).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *start_form(*_addr_*,*_atts_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies the beginning of a form. _addr_ is the address
							 | 
						|||
| 
								 | 
							
								          (URL) of the program that will handle the form, and _atts_
							 | 
						|||
| 
								 | 
							
								          other attributes of the form, as the method used to invoke
							 | 
						|||
| 
								 | 
							
								          it. If _atts_ is not present (there is only one argument)
							 | 
						|||
| 
								 | 
							
								          the method defaults to POST.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *start_form*
							 | 
						|||
| 
								 | 
							
								          Specifies the beginning of a form without assigning address
							 | 
						|||
| 
								 | 
							
								          to the handler, so that the form handler will be the
							 | 
						|||
| 
								 | 
							
								          cgi-bin executable producing the form.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *end_form*
							 | 
						|||
| 
								 | 
							
								          Specifies the end of a form.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *checkbox(*_name_*,*_state_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies an input of type `checkbox' with name _name_,
							 | 
						|||
| 
								 | 
							
								          _state_ is `on' if the checkbox is initially checked.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *radio(*_name_*,*_value_*,*_selected_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies an input of type `radio' with name _name_
							 | 
						|||
| 
								 | 
							
								          (several radio buttons which are interlocked must share
							 | 
						|||
| 
								 | 
							
								          their name), _value_ is the the value returned by the
							 | 
						|||
| 
								 | 
							
								          button, if _selected_=_value_ the button is initially
							 | 
						|||
| 
								 | 
							
								          checked.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *input(*_type_*,*_atts_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies an input of type _type_ with a list of attributes
							 | 
						|||
| 
								 | 
							
								          _atts_. Possible values of _type_ are `text', `hidden',
							 | 
						|||
| 
								 | 
							
								          `submit', `reset', ldots
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *textinput(*_name_*,*_atts_*,*_text_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies an input text area of name _name_. _text_
							 | 
						|||
| 
								 | 
							
								          provides the default text to be shown in the area, _atts_ a
							 | 
						|||
| 
								 | 
							
								          list of attributes.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *option(*_name_*,*_val_*,*_options_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies a simple option selector of name _name_,
							 | 
						|||
| 
								 | 
							
								          _options_ is the list of available options and _val_ is the
							 | 
						|||
| 
								 | 
							
								          initial selected option (if _val_ is not in _options_ the
							 | 
						|||
| 
								 | 
							
								          first item is selected by default) (translates to a
							 | 
						|||
| 
								 | 
							
								          `<select>' environment).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *menu(*_name_*,*_atts_*,*_items_*)*
							 | 
						|||
| 
								 | 
							
								          Specifies a menu of name _name_, list of attributes _atts_
							 | 
						|||
| 
								 | 
							
								          and list of options _items_. The elements of the list
							 | 
						|||
| 
								 | 
							
								          _items_ are marked with the prefix operator `$' to indicate
							 | 
						|||
| 
								 | 
							
								          that they are selected (translates to a `<select>'
							 | 
						|||
| 
								 | 
							
								          environment).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *form_reply*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *cgi_reply*
							 | 
						|||
| 
								 | 
							
								          This two are equivalent, they do not generate HTML, rather,
							 | 
						|||
| 
								 | 
							
								          the CGI protocol requires this content descriptor to be
							 | 
						|||
| 
								 | 
							
								          used at the beginning by CGI executables (including form
							 | 
						|||
| 
								 | 
							
								          handlers) when replying (translates to `Content-type:
							 | 
						|||
| 
								 | 
							
								          text/html').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    *pr*
							 | 
						|||
| 
								 | 
							
								          Includes in the page a graphical logo with the message
							 | 
						|||
| 
								 | 
							
								          "Developed using the PiLLoW Web programming library", which
							 | 
						|||
| 
								 | 
							
								          points to the manual and library source.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    _name_*(*_text_*)*
							 | 
						|||
| 
								 | 
							
								          A term with functor _name_/1, different from the special
							 | 
						|||
| 
								 | 
							
								          functors defined herein, represents an HTML environment of
							 | 
						|||
| 
								 | 
							
								          name _name_ and included text _text_. For example, the term
							 | 
						|||
| 
								 | 
							
								                  address('clip@clip.dia.fi.upm.es')
							 | 
						|||
| 
								 | 
							
								          is translated into the HTML source
							 | 
						|||
| 
								 | 
							
								                  <address>clip@clip.dia.fi.upm.es</address>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    _name_*(*_atts_*,*_text_*)*
							 | 
						|||
| 
								 | 
							
								          A term with functor _name_/2, different from the special
							 | 
						|||
| 
								 | 
							
								          functors defined herein, represents an HTML environment of
							 | 
						|||
| 
								 | 
							
								          name _name_, attributes _atts_ and included text _text_.
							 | 
						|||
| 
								 | 
							
								          For example, the term
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                  a([href='http://www.clip.dia.fi.upm.es/'],"Clip home")
							 | 
						|||
| 
								 | 
							
								          represents the HTML source
							 | 
						|||
| 
								 | 
							
								                  <a href="http://www.clip.dia.fi.upm.es/">Clip home</a>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `html_term(HTMLTerm)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `HTMLTerm' is a term representing HTML code.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: form_dict/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `form_dict(Dict)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Dict' is a dictionary of values of the
							 | 
						|||
| 
								 | 
							
								          attributes of a form. It is a list of `form_assignment'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: form_assignment/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `form_assignment(Eq)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Eq' is an assignment of value of an
							 | 
						|||
| 
								 | 
							
								          attribute of a form. It is defined by:
							 | 
						|||
| 
								 | 
							
								               form_assignment(A=V) :-
							 | 
						|||
| 
								 | 
							
								                       atm(A),
							 | 
						|||
| 
								 | 
							
								                       form_value(V).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								               form_value(A) :-
							 | 
						|||
| 
								 | 
							
								                       atm(A).
							 | 
						|||
| 
								 | 
							
								               form_value(N) :-
							 | 
						|||
| 
								 | 
							
								                       num(N).
							 | 
						|||
| 
								 | 
							
								               form_value(L) :-
							 | 
						|||
| 
								 | 
							
								                       list(L,string).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: form_value/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `form_value(V)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `V' is a value of an attribute of a form.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: value_dict/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `value_dict(Dict)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Dict' is a dictionary of values. It is a
							 | 
						|||
| 
								 | 
							
								          list of pairs _atom_=_constant_.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: url_term/1:
							 | 
						|||
| 
								 | 
							
								     A term specifying an Internet Uniform Resource Locator.
							 | 
						|||
| 
								 | 
							
								     Currently only HTTP URLs are supported. Example:
							 | 
						|||
| 
								 | 
							
								     `http('www.clip.dia.fi.upm.es',80,"/Software/Ciao/")'. Defined as
							 | 
						|||
| 
								 | 
							
								          url_term(http(Host,Port,Document)) :-
							 | 
						|||
| 
								 | 
							
								                  atm(Host),
							 | 
						|||
| 
								 | 
							
								                  int(Port),
							 | 
						|||
| 
								 | 
							
								                  string(Document).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `url_term(URL)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `URL' specifies a URL.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: http_request_param/1:
							 | 
						|||
| 
								 | 
							
								     A parameter of an HTTP request:
							 | 
						|||
| 
								 | 
							
								        * *head:* Specify that the document content is not wanted.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *timeout(*_T_*):* _T_ specifies the time in seconds to wait
							 | 
						|||
| 
								 | 
							
								          for the response. Default is 300 seconds.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *if_modified_since(*_Date_*):* Get document only if newer
							 | 
						|||
| 
								 | 
							
								          than _Date_. _Date_ has the format defined by `http_date/1'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *user_agent(*_Agent_*):* Provides a user-agent field,
							 | 
						|||
| 
								 | 
							
								          _Agent_ is an atom. The string `"PiLLoW/1.1"' (or whatever
							 | 
						|||
| 
								 | 
							
								          version of PiLLoW is used) is appended.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *authorization(*_Scheme_,_Params_*):* To provide
							 | 
						|||
| 
								 | 
							
								          credentials. See RFC 1945 for details.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *_option_(*_Value_*):* Any unary term, being _Value_ an
							 | 
						|||
| 
								 | 
							
								          atom, can be used to provide another valid option (e.g.
							 | 
						|||
| 
								 | 
							
								          `from('user@machine')').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `http_request_param(Request)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Request' is a parameter of an HTTP request.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: http_response_param/1:
							 | 
						|||
| 
								 | 
							
								     A parameter of an HTTP response:
							 | 
						|||
| 
								 | 
							
								        * *content(*_String_*):* _String_ is the document content
							 | 
						|||
| 
								 | 
							
								          (list of bytes). If the `head' parameter of the HTTP
							 | 
						|||
| 
								 | 
							
								          request is used, an empty list is get here.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *status(*_Type,Code,Reason_*):* _Type_ is an atom denoting
							 | 
						|||
| 
								 | 
							
								          the response type, _Code_ is the status code (an integer),
							 | 
						|||
| 
								 | 
							
								          and _Reason_ is a string holding the reason phrase.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *message_date(*_Date_*):* _Date_ is the date of the
							 | 
						|||
| 
								 | 
							
								          response, with format defined by `http_date/1'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *location(*_Loc_*):* This parameter appears when the
							 | 
						|||
| 
								 | 
							
								          document has moved, _Loc_ is an atom holding the new
							 | 
						|||
| 
								 | 
							
								          location.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *http_server(*_Server_*):* _Server_ is the server
							 | 
						|||
| 
								 | 
							
								          responding, as a string.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *authenticate(*_Params_*):* Returned if document is
							 | 
						|||
| 
								 | 
							
								          protected, _Params_ is a list of chagenges. See RFC 1945
							 | 
						|||
| 
								 | 
							
								          for details.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *allow(*_Methods_*):* _Methods_ are the methods allowed by
							 | 
						|||
| 
								 | 
							
								          the server, as a list of atoms.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *content_encoding(*_Encoding_*):* _Encoding_ is an atom
							 | 
						|||
| 
								 | 
							
								          defining the encoding.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *content_length(*_Length_*):* _Length_ is the length of the
							 | 
						|||
| 
								 | 
							
								          document (an integer).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *content_type(*_Type,Subtype,Params_*):* Specifies the
							 | 
						|||
| 
								 | 
							
								          document content type, _Type_ and _Subtype_ are atoms,
							 | 
						|||
| 
								 | 
							
								          _Params_ a list of parameters (e.g.
							 | 
						|||
| 
								 | 
							
								          `content_type(text,html,[])').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *expires(*_Date_*):* _Date_ is the date after which the
							 | 
						|||
| 
								 | 
							
								          entity should be considered stale. Format defined by
							 | 
						|||
| 
								 | 
							
								          `http_date/1'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *last_modified(*_Date_*):* _Date_ is the date at which the
							 | 
						|||
| 
								 | 
							
								          sender believes the resource was last modified. Format
							 | 
						|||
| 
								 | 
							
								          defined by `http_date/1'.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *pragma(*_String_*):* Miscellaneous data.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        * *_header_(*_String_*):* Any other functor _header_/1 is an
							 | 
						|||
| 
								 | 
							
								          extension header.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `http_response_param(Response)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Response' is a parameter of an HTTP
							 | 
						|||
| 
								 | 
							
								          response.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: http_date/1:
							 | 
						|||
| 
								 | 
							
								     `http_date(Date)'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     `Date' is a term defined as
							 | 
						|||
| 
								 | 
							
								          http_date(date(WeekDay,Day,Month,Year,Time)) :-
							 | 
						|||
| 
								 | 
							
								                  weekday(WeekDay),
							 | 
						|||
| 
								 | 
							
								                  int(Day),
							 | 
						|||
| 
								 | 
							
								                  month(Month),
							 | 
						|||
| 
								 | 
							
								                  int(Year),
							 | 
						|||
| 
								 | 
							
								                  hms_time(Time).
							 | 
						|||
| 
								 | 
							
								     .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								     *Usage:* `http_date(Date)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Date' is a term denoting a date.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: weekday/1:
							 | 
						|||
| 
								 | 
							
								     A regular type, defined as follows:
							 | 
						|||
| 
								 | 
							
								               weekday('Monday').
							 | 
						|||
| 
								 | 
							
								               weekday('Tuesday').
							 | 
						|||
| 
								 | 
							
								               weekday('Wednesday').
							 | 
						|||
| 
								 | 
							
								               weekday('Thursday').
							 | 
						|||
| 
								 | 
							
								               weekday('Friday').
							 | 
						|||
| 
								 | 
							
								               weekday('Saturday').
							 | 
						|||
| 
								 | 
							
								               weekday('Sunday').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: month/1:
							 | 
						|||
| 
								 | 
							
								     A regular type, defined as follows:
							 | 
						|||
| 
								 | 
							
								               month('January').
							 | 
						|||
| 
								 | 
							
								               month('February').
							 | 
						|||
| 
								 | 
							
								               month('March').
							 | 
						|||
| 
								 | 
							
								               month('April').
							 | 
						|||
| 
								 | 
							
								               month('May').
							 | 
						|||
| 
								 | 
							
								               month('June').
							 | 
						|||
| 
								 | 
							
								               month('July').
							 | 
						|||
| 
								 | 
							
								               month('August').
							 | 
						|||
| 
								 | 
							
								               month('September').
							 | 
						|||
| 
								 | 
							
								               month('October').
							 | 
						|||
| 
								 | 
							
								               month('November').
							 | 
						|||
| 
								 | 
							
								               month('December').
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								 - REGTYPE: hms_time/1:
							 | 
						|||
| 
								 | 
							
								     *Usage:* `hms_time(Time)'
							 | 
						|||
| 
								 | 
							
								        - _Description:_ `Time' is an atom of the form `hh:mm:ss'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: References,  Next: Predicate/Method Definition Index,  Prev: PiLLoW types,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								References
							 | 
						|||
| 
								 | 
							
								**********
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*[CHV96]*
							 | 
						|||
| 
								 | 
							
								     D. Cabeza, M. Hermenegildo, and S. Varma.
							 | 
						|||
| 
								 | 
							
								     The PiLLoW/CIAO Library for INTERNET/WWW Programming using
							 | 
						|||
| 
								 | 
							
								     Computational Logic Systems.
							 | 
						|||
| 
								 | 
							
								     In _Proceedings of the 1st Workshop on Logic Programming Tools
							 | 
						|||
| 
								 | 
							
								     for   INTERNET Applications_, pages 72-90, JICSLP'96, Bonn,
							 | 
						|||
| 
								 | 
							
								     September 1996.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Predicate/Method Definition Index,  Next: Regular Type Definition Index,  Prev: References,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Predicate/Method Definition Index
							 | 
						|||
| 
								 | 
							
								*********************************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* fetch_url/3:                           Documentation on exports (http).
							 | 
						|||
| 
								 | 
							
								* form_default/3:                        Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* form_empty_value/1:                    Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* form_request_method/1:                 Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* get_cookies/1:                         Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* get_form_input/1:                      Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* get_form_value/3:                      Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html2terms/2:                          Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html_expansion/2:                      Documentation on multifiles (html).
							 | 
						|||
| 
								 | 
							
								* html_protect/1:                        Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html_report_error/1:                   Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html_template/3:                       Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* http_lines/3:                          Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* icon_address/2:                        Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* my_url/1:                              Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* output_html/1:                         Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* set_cookie/2:                          Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* url_info/2:                            Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* url_info_relative/3:                   Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* url_query/2:                           Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* xml2terms/2:                           Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Regular Type Definition Index,  Next: Global Index,  Prev: Predicate/Method Definition Index,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Regular Type Definition Index
							 | 
						|||
| 
								 | 
							
								*****************************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* canonic_html_term/1:                   Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* canonic_xml_term/1:                    Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_assignment/1:                     Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_dict/1:                           Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_value/1:                          Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* hms_time/1:                            Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* html_term/1:                           Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_date/1:                           Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_request_param/1:                  Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_response_param/1:                 Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* month/1:                               Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* url_term/1:                            Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* value_dict/1:                          Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* weekday/1:                             Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								File: pillow_doc.info,  Node: Global Index,  Prev: Regular Type Definition Index,  Up: Top
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Global Index
							 | 
						|||
| 
								 | 
							
								************
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   This is a global index containing pointers to places where
							 | 
						|||
| 
								 | 
							
								concepts,  predicates, modes, properties, types, applications, etc.,
							 | 
						|||
| 
								 | 
							
								are referred to  in the text of the document. Note that due to
							 | 
						|||
| 
								 | 
							
								limitations of the  `info' format unfortunately only the first
							 | 
						|||
| 
								 | 
							
								reference will appear in  online versions of the document.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* Menu:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								* $/1:                                   Usage and interface (pillow).
							 | 
						|||
| 
								 | 
							
								* $/2:                                   Usage and interface (pillow).
							 | 
						|||
| 
								 | 
							
								* CGI <1>:                               HTML/XML/CGI programming.
							 | 
						|||
| 
								 | 
							
								* CGI:                                   Introduction.
							 | 
						|||
| 
								 | 
							
								* GNU Library General Public License <1>: Summary.
							 | 
						|||
| 
								 | 
							
								* GNU Library General Public License:    (none).
							 | 
						|||
| 
								 | 
							
								* HTML <1>:                              HTML/XML/CGI programming.
							 | 
						|||
| 
								 | 
							
								* HTML:                                  Introduction.
							 | 
						|||
| 
								 | 
							
								* HTTP <1>:                              HTTP conectivity.
							 | 
						|||
| 
								 | 
							
								* HTTP:                                  Introduction.
							 | 
						|||
| 
								 | 
							
								* PiLLoW on-line tutorial:               Introduction.
							 | 
						|||
| 
								 | 
							
								* WWW, interfacing with:                 Introduction.
							 | 
						|||
| 
								 | 
							
								* XML <1>:                               HTML/XML/CGI programming.
							 | 
						|||
| 
								 | 
							
								* XML:                                   Introduction.
							 | 
						|||
| 
								 | 
							
								* canonic_html_term/1 <1>:               Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* canonic_html_term/1:                   Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* canonic_xml_term/1 <1>:                Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* canonic_xml_term/1:                    Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* fetch_url/3 <1>:                       Documentation on exports (http).
							 | 
						|||
| 
								 | 
							
								* fetch_url/3:                           Usage and interface (http).
							 | 
						|||
| 
								 | 
							
								* form_assignment/1 <1>:                 Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_assignment/1:                     Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_default/3 <1>:                    Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* form_default/3:                        Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* form_dict/1 <1>:                       Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_dict/1:                           Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_empty_value/1 <1>:                Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* form_empty_value/1:                    Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* form_request_method/1 <1>:             Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* form_request_method/1:                 Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* form_value/1 <1>:                      Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* form_value/1:                          Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* get_cookies/1 <1>:                     Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* get_cookies/1:                         Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* get_form_input/1 <1>:                  Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* get_form_input/1:                      Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* get_form_value/3 <1>:                  Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* get_form_value/3:                      Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* hms_time/1 <1>:                        Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* hms_time/1:                            Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* html2terms/2 <1>:                      Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html2terms/2:                          Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* html_expansion/2 <1>:                  Documentation on multifiles (html).
							 | 
						|||
| 
								 | 
							
								* html_expansion/2:                      Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* html_protect/1 <1>:                    Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html_protect/1:                        Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* html_report_error/1 <1>:               Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html_report_error/1:                   Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* html_template/3 <1>:                   Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* html_template/3:                       Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* html_term/1 <1>:                       Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* html_term/1 <2>:                       Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* html_term/1:                           Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* http_date/1 <1>:                       Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_date/1:                           Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_lines/3 <1>:                      Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* http_lines/3:                          Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* http_request_param/1 <1>:              Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_request_param/1:                  Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_response_param/1 <1>:             Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* http_response_param/1:                 Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* icon_address.pl:                       Installing PiLLoW.
							 | 
						|||
| 
								 | 
							
								* icon_address/2 <1>:                    Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* icon_address/2 <2>:                    Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* icon_address/2:                        Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* library/pillow/doc:                    Introduction.
							 | 
						|||
| 
								 | 
							
								* month/1 <1>:                           Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* month/1:                               Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* my_url/1 <1>:                          Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* my_url/1:                              Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* name/2:                                Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* output_html/1 <1>:                     Documentation on multifiles (html).
							 | 
						|||
| 
								 | 
							
								* output_html/1 <2>:                     Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* output_html/1:                         Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* pillow.pl:                             Installing PiLLoW.
							 | 
						|||
| 
								 | 
							
								* set_cookie/2 <1>:                      Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* set_cookie/2:                          Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* tag_attrib/1:                          Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* url_info/2 <1>:                        Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* url_info/2:                            Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* url_info_relative/3 <1>:               Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* url_info_relative/3:                   Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* url_query/2 <1>:                       Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* url_query/2:                           Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								* url_term/1 <1>:                        Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* url_term/1:                            Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* value_dict/1 <1>:                      Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* value_dict/1:                          Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* weekday/1 <1>:                         Documentation on exports (pillow_types).
							 | 
						|||
| 
								 | 
							
								* weekday/1:                             Usage and interface (pillow_types).
							 | 
						|||
| 
								 | 
							
								* xml2terms/2 <1>:                       Documentation on exports (html).
							 | 
						|||
| 
								 | 
							
								* xml2terms/2:                           Usage and interface (html).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Tag Table:
							 | 
						|||
| 
								 | 
							
								Node: Top4321
							 | 
						|||
| 
								 | 
							
								Node: Summary4681
							 | 
						|||
| 
								 | 
							
								Node: Introduction5915
							 | 
						|||
| 
								 | 
							
								Node: Installing PiLLoW6801
							 | 
						|||
| 
								 | 
							
								Node: Usage and interface (pillow)7648
							 | 
						|||
| 
								 | 
							
								Node: HTML/XML/CGI programming7989
							 | 
						|||
| 
								 | 
							
								Node: Usage and interface (html)8702
							 | 
						|||
| 
								 | 
							
								Node: Documentation on exports (html)9500
							 | 
						|||
| 
								 | 
							
								Node: Documentation on multifiles (html)24047
							 | 
						|||
| 
								 | 
							
								Node: Other information (html)24607
							 | 
						|||
| 
								 | 
							
								Node: HTTP conectivity24998
							 | 
						|||
| 
								 | 
							
								Node: Usage and interface (http)25459
							 | 
						|||
| 
								 | 
							
								Node: Documentation on exports (http)25796
							 | 
						|||
| 
								 | 
							
								Node: PiLLoW types26836
							 | 
						|||
| 
								 | 
							
								Node: Usage and interface (pillow_types)27195
							 | 
						|||
| 
								 | 
							
								Node: Documentation on exports (pillow_types)27836
							 | 
						|||
| 
								 | 
							
								Node: References44475
							 | 
						|||
| 
								 | 
							
								Node: Predicate/Method Definition Index44926
							 | 
						|||
| 
								 | 
							
								Node: Regular Type Definition Index46696
							 | 
						|||
| 
								 | 
							
								Node: Global Index48051
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								End Tag Table
							 |