[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ITP: xslj, a XSL processor (XSL is one of the stylesheet format of XML)



Bart Schuller <schuller@lunatech.com> writes:

> On Thu, Jun 17, 1999 at 12:24:04PM +0100, Jules Bean wrote:
> > I thought flow objects had been abandoned, and XSL was now exclusively
> > an XML translation language?
> 
> Nope. XSL now has a separately named subset called XSLT which is only
> concerned with transforming trees. XSL itself still specifies flow
> objects.

I believe for clarity people call these XSL-FO and XSLT (the latter
being the transformation language).  XSLT is more mature and usable at
this point.  I would estimately that XSL-FO being at print output
quality matching existing DSSSL implementations (jade) are around 18
months off -- the spec itself is still very unstable.

> On Thu, Jun 17, 1999 at 01:54:11PM +0200, Stephane Bortzmeyer wrote:
> > Do we have an authoritative XML guru on Debian? I'm not and I
> begin to be a > bit fedup with stylesheets in XML. We have now three
> proposals, one based on > flow objects (DSSSL), one which is not
> (CSS) and one which hesitates (XSL).

> Adam would qualify as the resident guru, and I'm also keeping myself
> informed.

*blush*

Well, actually, XSLT and the Jade markup transformation language (aka
'jade -t sgml' or 'jade -t xml', which is used, say, in
docbook-stylesheets for HTML output) both are based on transformations
of a grove, which is a representation of a SGML or XML document as a
tree of trees.

DSSSL for print output is also based on groves -- the XSL analogue for
this is XSL-FO.  However, flow objects models vary a bit between the
standards.

To give a historic overview, DSSSL was an 8-year-in-the-making
standard, which merges in architectural and grove work from the HyTime
group.  Many consider it overly difficult to program with, comparing
it with proprietary systems such as Belize or Omnimark.  Many consider
it bizaree because they have what I would consider to be an unfair
aversion to Lisp and Lisp dialects.

Personally, I love DSSSL hacking; I see it as a very elegant use of
functional/recursive programming with a grove model (traversing nodes
on an acyclic directed graph is a nice application for recursive
programming techniques).  If you don't know Scheme, it can be a bit
intimidating, but I really do find it a pleasurable programming
experience.

Practically, most of the problems with actually dealing with Jade boil
down to learning curve (a lot of people are learning SGML or XML at
the same time), or problems with the backends.  Jade backends are not
always what they might be.  The Jade maintainer has effectively
shifted jade onto his back-burner.  However, a "fork" of Jade called
OpenJade is emerging, which collects improvements in the DSSSL
standard implementation and much better internals documentation.
Hopefully some problems with backends (esp. TeX, maybe also new
backends like HTMLv4, ROFF, PDF?)

XSL is basically an attempt by the former DSSSL spec folks to make a
version of DSSSL which is palatable for the web.  The original idea is
still to find a way to have a single stylesheet for both print and for
web.  However, IMHO, the whole XSL-FO effort is still seriously in
doubt, whereas XSLT (which was just a splinter issue) is actually
getting work done today.

XSLT is derived from the grove model as well the as the "proprietary"
jade ML transformation extensions.  Basically it's all about
transforming one grove into another. 

One strange thing about all XSL flavors is that they are "declarative
languages" and all XSL stylesheets are couched as instances of an XML
file.  Rather than a big scheme file like DSSSL, XSL is like a big XML
file with namespaces (it is rather ugly until you get used to it) with
little tiny Scheme snippets in it.  XSL is also based on a 'if pattern
matches, apply this template' model.

CSS is just an annotation model -- you just attach style to rectangles
of text.  You can't use it to do things you might do in DSSSL or XSL.
For instance, you couldn't create a TOC in the stylesheet with CSS.

> Here's my view on the stylesheets for XML situation:
> 
> Viewing XML directly inside browsers is limited to IE 4 and 5 and
> Mozilla. Only IE5 does XSL (but not flow objects), the rest can use CSS.

There is also (from www.netfolder.com) a MSIE ActiveX DSSSL thing, I
think.

> The only widely accepted XML formatting standard is to use XSLT to
> generate HTML. Both print and native browser rendering is currently in
> turmoil.

Actually, you can use jade/DSSSL to render XML or SGML. See the
docbook-xml or the website DTD from www.nwalsh.com.

--
.....Adam Di Carlo....adam@onShore.com.....<URL:http://www.onShore.com/>


Reply to: