Announce: PHyLIS, Personal HyTime Link Information System

Subject: Announce: PHyLIS, Personal HyTime Link Information System
From: "W. Eliot Kimber" <eliot@xxxxxxxxxx>
Date: Mon, 22 Jun 1998 18:15:32 -0500
I'm am pleased to announce the initial availability of the beta version
of PHyLIS: Personal HyTime Link Information System from

PHyLIS is a Visual Basic application that demonstrates the
implementation of a highly generalized HyTime engine.  It supports both
full SGML (to the limits of the SP parser) and XML.  XLink is not yet
supported, but will be very soon.  It is Web aware to the degree that SP
is, which means that it will try to process entities whose system IDs are
URLs and, if you're connected and the entities are there, it will in fact
process them.

It should be of particular interest to this community because it provides
visual tools for exploring both grove instances and property sets (although
the property set viewer is still a bit buggy).  You may find it helpful in
trying understand both grove concepts in general and how to operate on SGML
document groves in particular.  In theory, at least, it should be
relatively easy to integrate Jade with PHyLIS so that you could apply DSSSL
specs to any or all of the groves in a given session.

Among the many things PHyLIS demonstrates are:

- A literal, grove-based approach to implementing HyTime and
architectural processing

- Using architectures (including HyTime) with XML documents

- The effectiveness of using componetized software techniques (i.e.,
ActiveX, Java, Corba, etc.) to implement the abstractions defined by
standards like XML, SGML, DSSSL, and HyTime

- The power of these abstractions when expressed as clean interfaces to
make integration quick and easy.

- The production and use of grove representations of non-SGML or XML
data.  Includes the demonstration I did at XML/SGML Europe of creating a
"CGM grove" using the IsoView CGM viewer and then using normal
name-based addressing to create hyperlinks to, from, and among named
graphical objects.

You can think of PHyLIS as the "visible HyTime engine".  It provides a
graphical, navigable view of the inner workings of a grove-based HyTime
system while providing useful functions at the same time.  As a Visual
Basic, ActiveX-based program, it is easy to modify and explore as a
program, as well as easy to integrate with other ActiveX-based tools.

PHyLIS is provided in the same spirit as tools like SP and Jade, that
is, as free software, source code included, to serve as an example (if
not reference) implementations of the HyTime standard.  You are free to
use it for whatever you want, without restriction. 

PHyLIS is sponsored by ISOGEN International Corp.


The version currently available (0.2) is still a very early barely-beta.
It works well enough for people to start playing with the code and maybe
using it for simple demos, but it is far from complete, much less tested
or documented as much as it should be.  It is not ready for casual
non-developer use. This is the code essentially as I demonstrated it a
XML/SGML Europe '98 in May.

Note that I am by no stretch a VB expert, so there are probably many
places in the code where I've done things in a less than optimal (if not
downright stupid) way.  If you think you have a better idea for how to
do something, I very much want to know. Some of my design decisions were
carefully considered, many were what seemed the best thing to do at the

Limitations of 0.2 include:

- No standalone binary version available. I have yet to figure out how
to create an installation package that properly registers all the
controls. [I could really use some help here, so if you understand the
black magic that is ActiveX control registration I'd love to hear from

You can compile it and run it from within the VB environment, or, with
luck, run it outside the VB environment having first compiled and run it

- Only a small fraction of HyTime location addressing is supported, at
this point, only normal ID references and the name-space location
address element form (nmsploc).

- The property set viewer is dicey at best.  Use at your own risk.

- I've not had the opportunity to test it thoroughly, so it's quite
likely to die in various ways, although what does work should work
correctly (that is, conform to whatever part of HyTime it implements).

- Large files will be a problem because there is little attempt at
optimization at this point.  I've loaded files as large 250K with lots
of elements, but it took a long time and you may run into resource
limits on machines with 64meg or less of memory (sad, isn't it?).

- Because of a logic bug I've not had time to fix, cross-document
addressing only works if both documents are HyTime documents (that is,
derived from the HyTime architecture).  Normally this would not be the
case.  This is top of my list to fix, along with getting a working
installation process.


<Address HyTime=bibloc>
W. Eliot Kimber, Senior Consulting SGML Engineer
ISOGEN International Corp.
2200 N. Lamar St., Suite 230, Dallas, TX 95202.  214.953.0004

 DSSSList info and archive:

Current Thread