Proposal: New Syntax for DSSSL (was Re: MS patents style sheets)

W. Eliot Kimber eliot at dns.isogen.com
Thu Feb 4 20:24:26 GMT 1999


At 02:19 PM 2/4/99 -0500, Simon St.Laurent wrote:
>I just heard about this on another list; info came from the Seybold Report.
>
>Elliotte Rusty Harold's Cafe Con Leche (http://metalab.unc.edu/xml/) picked
>it up, and has a pointer to the patent:

This sounds like the infamous "multimedia" patent that someone tried to get
a few years back (don't remember the details).

This thread triggered me to propose something that I'd been tossing around
in my head for a while:

Why not define a new syntax for DSSSL as a public, open-source activity?
In particular, why not define a Python-based expression syntax?

Why:

1. DSSSL is very powerful. DSSSL is well thought out. DSSSL is an
established and stable international standard.  DSSSL is implemented (jade,
<www.jclark.com/jade>, and HyBrick <http://www.fsc.fujitsu.com/hybrick/>).

2. DSSSL's expression syntax, which is scheme-based, is a serious barrier
to acceptance and use. While the use of scheme makes perfect sense from a
"what language best fits list processing", it is a non-starter from a "who
can I hire that can write this stuff?" standpoint.  If you can program in
Java or VB or Perl, you can learn Python in about an hour. Learning the
scheme-based language is much more difficult, because it asks you to move
from a procedural-based approach to a functional approach. This seems to be
a fairly high barrier for a lot of programmers (it was for me).

3. Python combines a fundamental list awareness with a familiar and
easy-to-learn syntax. It provides true, easy-to-use (and learn) object
orientation. You can do functional or procedural programming as you prefer.

>From a programming standpoint, it wouldn't be very hard to implement the
DSSSL semantics in Python. I think it would require the following:

1. Development of a rule-firing layer (the part of a DSSSL engine that
applies rules to grove nodes)
2. Implementation of at least the core DSSSL-defined functions
3. Generation of flow object trees

Of these, the last is probably the hardest, but should be able to re-use
existing code (e.g., Jade).

A Python-based syntax for DSSSL, once implemented and proven, could be
quickly standardized because it would simply be an alternative syntax for
an existing standard--no need to define new semantics.

The only barrier to doing this is resources.  We already have
Python-accessible grove constructors for SGML and XML (Jade itself and
TechnoTeacher's GroveMinder). In addition, any DOM implementation can be
made to emulate a grove, so all the Jave-based DOM's are immediately
available.

[Note that I don't think using XML syntax for DSSSL expressions is very
interesting given that the Python syntax is already well defined, stable,
and has public and free parsers.]

In any case, having a style language that has no vendor intellectual
property encombrances suddenly seems a lot more compelling than perhaps it
did yesterday.

Cheers,

E.
--
<Address HyTime=bibloc>
W. Eliot Kimber, Senior Consulting SGML Engineer
ISOGEN International Corp.
2200 N. Lamar St., Suite 230, Dallas, TX 75202.  214.953.0004
www.isogen.com
</Address>

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/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list