Author(s): Daniel Cabeza.
Here are defined the regular types used in the documentation of the predicates of the PiLLoW package.
pillow_types)pillow_types)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:
($)/2 is defined by the pillow package as an infix, binary operator.
<!--string-->).
<!string>).
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)
HTMLTerm is a term representing HTML code in canonical form.
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(arc,[weigh="3",begin="n1",end="n2"])is output to (or parsed from):
<arc weigh="3" begin="n1" end="n2"/>
<?xml atts?>)
Usage: canonic_xml_term(XMLTerm)
XMLTerm is a term representing XML code in canonical form.
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:
pre). Its use is otherwise discouraged.
<html>).
</html>).
--
<hr>).
<br>).
<p>).
img$[src=address]).
a([href=address],text)).
a([name=name],text)).
hn(text)).
<ul> environment).
<ol> environment).
','/2 operators). The last element of the sequence is the definition, the other (if any) are the defined terms (translates to a <dl> environment).
icon_address/2 provides a colored bullet.
<pre> environment).
<,>,&," and space) are translated into its quoted HTML equivalent.
_.
checkbox with name name, state is on if the checkbox is initially checked.
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.
text, hidden, submit, reset, ldots
<select> environment).
$ to indicate that they are selected (translates to a <select> environment).
Content-type: text/html).
address('clip@clip.dia.fi.upm.es')
is translated into the HTML source
<address>clip@clip.dia.fi.upm.es</address>
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)
HTMLTerm is a term representing HTML code.
Usage: form_dict(Dict)
Dict is a dictionary of values of the attributes of a form. It is a list of form_assignment
Usage: form_assignment(Eq)
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).
Usage: form_value(V)
V is a value of an attribute of a form.
Usage: value_dict(Dict)
Dict is a dictionary of values. It is a list of pairs atom=constant.
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)
URL specifies a URL.
A parameter of an HTTP request:
http_date/1.
"PiLLoW/1.1" (or whatever version of PiLLoW is used) is appended.
from('user@machine')).
Usage: http_request_param(Request)
Request is a parameter of an HTTP request.
A parameter of an HTTP response:
head parameter of the HTTP request is used, an empty list is get here.
http_date/1.
content_type(text,html,[])).
http_date/1.
http_date/1.
Usage: http_response_param(Response)
Response is a parameter of an HTTP response.
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)
Date is a term denoting a date.
A regular type, defined as follows:
weekday('Monday').
weekday('Tuesday').
weekday('Wednesday').
weekday('Thursday').
weekday('Friday').
weekday('Saturday').
weekday('Sunday').
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').
Usage: hms_time(Time)
Time is an atom of the form hh:mm:ss
Go to the first, previous, next, last section, table of contents.