Announce: PHyLIS, Personal HyTime Link Information System
W. Eliot Kimber
eliot at isogen.com
Tue Jun 23 01:16:07 BST 1998
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
NOTE: I realize that many of the readers of this group cannot or will not
use anything other than Java. I sympathize. I would very much like to
create a Java version of PHyLIS, but that is beyond the limit of my
abilities and resources as the moment. I chose VB largely because it was
the easiest way for me to get the thing written, given my limited
programming abilities and lack of time to absorb the Java learning curve.
I also chose it because it is very accessible to a large number of people
who may be fairly characterized as "casual programmers". And of course,
there's always the hope that maybe I might get Microsoft's attention....
Among the many things it demonstrates are:
- A literal, grove-based approach to implementing HyTime and
- 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
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
W. Eliot Kimber, Senior Consulting SGML Engineer
ISOGEN International Corp.
2200 N. Lamar St., Suite 230, Dallas, TX 95202. 214.953.0004
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev