(dsssl) Mutiple replies. Long message

Subject: (dsssl) Mutiple replies. Long message
From: "Javier Farreres de la Morena" <spanish@xxxxxxxxx>
Date: Mon, 7 Apr 2003 19:25:02 +0200
>From: Ian Zimmerman <itz@xxxxxxxxxxxxx>
>Subject: (dsssl) font properties and PIs
>Second, (more of a pure curiosity question), how does one gain access
>to processing instructions from DSSSL?  So far the only method I could
>think of (and I didn't try it) is to call (children (current-node))
>and walk the list.  Why so difficult?  I.e. why isn't there a rule form

PIs are supported in the grove by means of PI nodes. You only need to obtain
PI nodes, that's all.

(q-class 'pi) or (q-class 'pi (grove-root)) will query them.


From: tmcd@xxxxxxxxx
Subject: (dsssl) Heresy

>It has occurred to me that DSSSL is, well, not as popular as it ought
>to have been, and that its functions have possibly <whisper>been
>superceded by other systems</whisper>.
>I use DSSSL for transforming XML into RTF and HTML in particular.
>Is it possible to perform such functions of DSSSL using XSLT or other
>My apologies for my heretical question.

Hmm, why do u talk about heresy?
Heresy has no place in science. There are only facts. We don't base our
work on beliefs or faith.
The fact that DSSSL is not popular doesn't imply that it is superseded.
In fact there is no other language that can do what DSSSL does. Well, XSL
can do a part similar to what part of DSSSL does, but only for XML.

Let's talk about facts.

DSSSL is composed by some components:

-an abstract data model: the XML equivalent would be the Infoset+DOM. Infoset
defines the base data model and DOM would define the manipulations permitted
on the Infoset. Just a fast read of the infoset will tell you that only
11 items are defined in the infoset. A poor level of definition if compared
to the groves model, where there are 72 kinds of nodes with their properties.
Groves are a flexible data model that supports every application you can
imagine on SGML documents and on any other kind of data that would be represented
in groves. You can have views on them, a kind of SQL view. The DOM is, on
the other side, an object oriented set of classes with a fixed interpretation.
DOM is all but flexible. Appart from this, the DOM is structured in levels.
Until some council of sages don't decide, you only have at your reach the
levels that the sages have offered to the world. In the meanwhile, you just
have to hope for the level to appear that allows you to program your application.
Right now I am reading: <quote>One of the major limitations of the DOM Level
1 Core was the inability to programmatically create new, empty Document
instances. The only way to get an instance of a Document object was to parse
an existing document, making it awkward to implement certain types of applications.
The DOMImplementation interface has two new methods: createDocument() and
createDocumentType().  These can be used to create a new, empty document
and associated DTD (Document Type Definition) that can be manipulated through
the Document interface. Unfortunately, there is still no programmatic support
for modifying the DTD through the DocumentType interface, so implementing
a full-featured document editor using only DOM calls is not possible.</quote>
It means, every DOM user had to wait for level 2 to be able to create new
DOM trees from scratch. DOM is clearly less powerfull than groves. Just
one groves implementation will provide all the functionalities of all the
DOM levels that can be defined.

-a query language: the XML counterpart would be Xquery or Xpath+Xwhateveryouwant.
DSSSL query language works on groves, not on SGML documents. If you have
groves that support other formats (like Mpeg7 supported by groves that were
explained in the last extreme conference) you can query them with the query
language. Xquery and Xpath work only on XML trees. Many say DSSSL complexity
is its lispish syntax. Well, the first versions of XSL used this lispish
syntax, and later changed it, and decided to adopt XML syntax. But, any
way, they are codifying lisp syntax in XML. It still has the undending open
and close brackets. Although there are no more brackets, but XML elements,
which take a bit more space. And I doubt of the readability of all this.
I am not saying with this that scheme is more readable. No programming language
is readable, you need a training. But XSL syntax can't be said to be "readable"
and "user friendly".

-a transformation language: its counterpart would be XSLT. The DSSSL transformation
language converts groves into groves. It is not limited to SGML. XSLT only
works on XML trees. And it only transforms XML into XML.

-a style language: its counterpart would be FO. In DSSSL we have a style
language and a set of flow objects. In XSLT there is only a set of flow
objects. There is no style language. It is the task to the transformation
language XSLT. I find it limiting. I consider it is giving one language
too many objectives. If you want a transformation language, stick to it.
But don't try it to be also a style language, or it will not be any of both.
It is just an oppinion.

-a processing model: what is more important in DSSSL is the model it provides.
In DSSSL there is a definition of how those processes connect to eachother.
In XML there is just a set of disgregated standards, each one doint a little
task. The original plans for XML were to keep it simple, just in opposition
to SGML. Right now, I doubt about the simplicity of XML. When I count the
number of XML standards that you need to work with XML, I feel fear: XML,
XSLT, FO, XPath, XPointer, XInclude, Infoset, DOM, SAX. I stop here. And
each of those standards have their own complexity, it's not just reading
and using them. And there is no precise definition as to their connection.
They just work.

I wouldn't say DSSSL is superseded at all. DSSSL is an elegant and compact
solution. It could be better, yes. But let's stay in the ground. DSSSL is
defined by a standard, and thats what we have.


>From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
>Subject: Re: (dsssl) Heresy
>I must confess that I have migrated all of my DSSSL work to XSLT and XSL-FO

>and do no further work with DSSSL.

But you, Ken, you are a slave of the market. DSSSL is part science, part
industry. DSSSL is a standard designed to solve some problems. it can be
the result of some research. Now it is no more research. At least, no theoretical
research. It is just practical research, as to how to implement it in the
most efficient way. You are forced to offer teaching in the areas they ask
for. If they ask for XML, you must teach them XML.

Industry, and more in the last times, is not interested in elegant solutions,
but in fast solutions. They don't care for the best solution, but for the
cheapest fastest solution. I don't think this is a way to proceed. I think
it is a way to satisfy yourself today, and be hungry tomorrow.

I am not a slave of the industry. I don't care for fast results. I am more
attracted by elegant solutions. This is why I offer my work and time in
the DSSSL OpenJade project.

>Hey, cruel marketplace pressures often force one down the "popular" path

>instead of the "best" path.  Many on this list know I was a *big* fan of

>DSSSL when I was teaching it.  I still think DSSSL is "better", but it
>losing ground in its superiority as new versions of XSL get produced ...
>cannot afford to use DSSSL any more since I'm getting zero business from
>and I am getting business from XSL.

By the way, could you Ken explain what you say about DSSSL loosing ground
when new XSL versions appear?


From: Ian Zimmerman <itz@xxxxxxxxxxxxx>
Subject: Re: (dsssl) Heresy

>I personally find XSL* much harder to penetrate than DSSSL.  But then,
>I am a programmer, and I knew Lisp before I came here.

In fact, Ian, I am of the oppinion that XSLT is XML-ized scheme syntax.
I consider that, to be able to extract the power from XSL stylesheets you
have to have programming background. The supposed easyness of XSL writing
is a fallacy. Noone without programming background can ever use XSL correctly.


From: Paul Tyson <paul@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: (dsssl) Heresy

I agree with everything Paul said. I want to add my two cents.

When I discovered DSSSL I was working for a publishing company. We were
coding our documents in SGML and I was looking for a way to give them form.
I begun to read the DSSSL name, and found no explanation. After more search
I found some tutorials, and I found it fascinating. This time I decided
that DSSSL was a nice thing. A little time after that I decided to become
an expert on DSSSL. It was three or four years ago. After penetrating more
into DSSSL, I saw it was an elegant solution. At this time we were building
a multimedia application in the company. I discovered there the limitations
of SGML. I found SGML was not powerfull enough to let us codify our needs!
At this time XML appeared. I was shocked. I would have hoped for a more
complex language than XML. Later I discovered HyTime. It attacked time and
space markup, exactly the problems we found impossible to codify in SGML.
I wonder why XML was the way chosen instead of HyTime. XML is by far less
powerfull than SGML. I have yet to see some proposal that can manage the
kinds of information we needed in our multimedia encyclopedia.


From: Ian Zimmerman <itz@xxxxxxxxxxxxx>
Subject: Re: (dsssl) Heresy

<bait>So is there ever going to be a free implementation of the full DSSSL

Well, only one reply can be given to this question. It will be done whey
YOU do it. When we talk about free, we talk about OpenSource. In opensource
there is a rule: you cannot demand anyone to do anything. If you want something,
do it, and then offer the results to the community. We cannot stay aside
asking for something and shouting how comes that it is not yet finished.
It is the result of a cooperative work. If people don't collaborate, it
dies. XML is advancing so fast because many people are colaborating (and
also because some companies have seen a possible new market in internet,
and all of them wanted to be the firs; this is the reason, I think, for
the chaos of XML. This marked has proven to be less than promised, and the
bubble has exploded). Because I want DSSSL completed, I am offering my efforts.
I hope others did the same, each one at his level.


From: Dave Pawson <dpawson@xxxxxxxxxxxxx>
Subject: Re: (dsssl) Heresy

>With an xml bias, the verbosity of XSLT/XSL-FO is something you do get
>to. Honest.

In my oppinion, it is not a matter of XSL being uglier than DSSSL. The problem
comes from a lie. They tell us XSL is easily learnt because you already
know XML. This is a lie. XML is just a codification. XSL is writing a functional
language with XML syntax. But if you know nothing of functional programming
you can't write coherent XSL stylesheets. And compared to DSSSL, XSL is
much more verbose.


From: Paul Tyson <paul@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: (dsssl) Heresy

>Yes, but DSSSL doesn't make the easy things easier (in fact, it 
>probably makes them harder).  DSSSL makes the hard things possible.  
>If you only have easy problems, stick with XSLT.



From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Subject: Re: (dsssl) Heresy

>I thought Javier Farreres <farreres@xxxxxxxxxx> was implementing the full

>page model in OpenJade.  I don't think you'll see the transformation side

>implemented, but I think there is a hard core of folks who are plugging

>away at implementing the style side.  I've not heard of an implementation

>of the transformation side.

Yes. The implementation of the full page model is almost finished. Well,
the definition of page-sequences and column-set-sequences. We are now implementing
support for define-page-model. It will not be formatted yet, as it is a
backend problem. But backend cannot format it if it is not first supported.
This is the present stage.

About the transformation language, it is one of my priorities. The problem
is that OpenJade is a technical challenging project, and many of my students
ran away when I explain them about it. Cristian accepted implementing on
the style side. He already finished his project. Right now he has implemented
the whole set of flow objects that were not yet implemented, and now he
is centered in supporting the definition of page-model definitions. After
that, the next project he will do is the formatting of this part.

>I found I could do anything I wanted with the style side and with James's

>markup-related formatting objects that I never needed to learn the 
>transformation side.  There are times when I need to better understand

In fact, I think transformations in DSSSL are only for complex things. For
example, for an automatic construction of a cross index from the content
of the book.

>functional solution that I'll prototype it in DSSSL before rewriting it
>XSLT.  DSSSL was my first Lisp-like functional language; I was 

Yes. This is due to the fact that XSL is an XML codification of a funtional
language. It is much easier to write in DSSSL and later rewrite in XSL.
Strange, not?

>Javier may have some other interesting announcements soon too.

Well, I explained it before. Now I can tell another announcement. Finally
a publishing company, Kluwer, has accepted publishing the book I was preparing
about DSSSL. If everything goes as planned, I will finish the book around
June 15, and in summer or after summer the book will be in the bookstores.
I hope my two year effort on this book will help a bit in broadening the
understanding of this nice standard. I repeat the call for reviewers. If
someone from this list has free time and wants to review the text, contact
me please. I am looking for technical comments and suggestions on the readability.
But I need fast answers. In june everything must be completed.


From: Yann Dirson <ydirson@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: (dsssl) Heresy

>Feel free to contribute to openjade :) - well, or to BigDieSeL[1] if you
>prefer, but the path is longer, although I'd appreciate any help ;)

He he, I have enough with OpenJade right now, sorry!!


>So while there are no titles at your local bookseller that cover
>learning or using DSSSL, there *are* easier ways to learn the spec than
>grovelling through the spec looking for nuggets of wisdom.

Well, soon it will not be true, when my DSSSL book appears in the selves.


Nueva Tiscali ADSL libre www.tiscali.es/libre
¡¡¡ POR SÓLO 16,95 euros al mes !!!
+ tiempo de conexión (0,024 ./min.)
Y cuota máxima garantizada de 39,95 ./mes
¡¡¡ Por fin pagas por lo que consumes !!!

 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist

Current Thread