Announcing Heitml for FreeBSD (and other operating systems)...

Jordan K. Hubbard jkh at
Tue Jan 21 06:44:17 PST 1997

[Posting this on behalf of Michael Elbel <me at> - jkh]

Note: I'm connected to the H.E.I people in that DITEC paid them money
to support their product under FreeBSD, so I'm biased. But I still think
it's the nicest thing since sliced bread if it comes to extending HTML
and connect Databases to the web. I've used it for some pretty complex
applications and it didn't take me 10% of the time I would have to have
spent if I'd done it in, like, perl. It's also IMO nicer than w3-msql
and PHP/FI in that its syntax is database independent (not regarding
potential differences in the actual SQL implementations).


Michael Elbel, DITEC Internet Services, Muenchen, Germany - me at
Fermentation fault (coors dumped)


        SHAREWARE: heitml 1.0, extended server side HTML (CGI & apache

H.E.I. releases heitml (extended interactive HTML) version 1.0.

heitml (pronounced "Hi"-TML) is a server side extension of HTML.  It
is designed to develop interactive Web Pages, Web Database
Applications, and complex Web Sites in a structured, modular, and
intelligent manner.

heitml adds full-featured programming capabilities to HTML (e.g.
<if>, <while>, and <let> Tags), plus powerful expression evaluation
with integer, real, boolean, string, and tuple data types.  It is
possible to define your own Tags or Environment Tags and, by using
include files, you can build your own libraries of re-usable
heitml makes it possible to
-  develop Web Sites in a structured and modular way,
   drastically reducing maintenance overhead.
-  develop intelligent and interactive Web Sites, whose content
   dynamically adapts itself to user needs.
-  show the content of SQL databases with no programming other than
   to use our library of prefined "dba" Tags.
-  develop complete and complex database applications

heitml runs on FreeBSD or Linux with any Web Server using the CGI
interface, but is especially fast (avoiding the CGI overhead) within
the apache Web Server using the apache API. Currently MSQL, Postgres
95, and the yard databases are supported.  heitml also works on SunOS
as well as Windows NT with CGI and ISAPI and ODBC.

heitml is free for research, non-commercial and private usage, but
Commercial Web Sites must pay a licensing fee. The fully operational
version of heitml can be downloaded freely, and each Web Page you
develop will display a message identifying it as the version for
non-commercial use. After registration, you will receive a key to
switch off the message without having to reinstall the program.

heitml is suited for newcomers and professional programmers
alike. Newcomers can use heitml just like HTML with additional
powerful Tags. heitml pages are put on the web server, just like HTML
pages, but with another file extension. Once heitml is installed, this
is all what has to be done to use heitml.

Libraries provided with heitml contain Tags suitable for many
application tasks like Web Page Counters etc.
Of special interest is the dba library which helps you to build
complete database applications that browse and update tables. (Insert,
update and delete records with no programming effort on your part.)
Data fields can be validated and checked for consistency before entry
or update, and a special password field can be assigned to each record
to guard against unauthorized changes.

An application created with the  dba Library merely requires you to
- define how you want the data to appear in browse mode (Table View)
- define how you want the data to appear in list mode (Form View)
  See our guestbook application:

Professional programmers can use heitml also as a full featured
programming language: A heitml page is actually a program,
which is executed. The execution of "<if cond>...<else>...</if>",
"<while cond> ...</while>", and "<let x=expression>" etc. have the usual
meaning as found in a programming language. The execution of User
Defined Tags correspond to traditional procedure calls. heitml offers
positional and keyword parameters with default values, input and output
parameters, global and local variables and recursion. Also Environment
Tags such as "<box> environment body </box>" can be defined and get the
environment body as a functional parameter.

heitml offers a dynamic tuple datatype, which works like a struct in C
but fields can be added and processed dynamically. Tuple assignments
follow reference semantics. heitml offers an alternate programming
syntax, which allows to write several tags into < > signs seperated by
semicolons, e.g. <let s="*"; while len(s)<130; ? s; br; s=s+s; /while>

Within the configuration files of apache one can control which 
resources heitml-pages can access. This feature is important when hosting
heitml-pages prepared by somebody else.

For more info and downloads see

Helmut Emmelmann

Helmut Emmelmann H.E.I. Helmut Emmelmann Informationssyteme GmbH
Wimpfenerstrasse 23                     Tel. 49-621-795141
68259 Mannheim Germany                  Fax. 49-621-795161
emmel at

More information about the freebsd-announce mailing list