Re: Xenon and Fresnel

From: Stefano Mazzocchi <>
Date: Wed, 08 Dec 2004 12:29:44 -0500

Dennis Quan wrote:
> Hi Stefano,

Hi Dennis,

> Thank you for your comments.

My pleasure.

> The paper uses an RDF (N3) syntax for explaining Xenon, but our
> intention was to use it as a canonical means for describing the language
> in the context of a research conference rather than to make a statement
> about how N3 is the ideal syntax for expressing stylesheets. Unlike XML,
> which has been, in some sense, defined by its syntax, RDF has no such
> limitation. What we have done in Haystack is to develop new syntaxes for
> RDF-based languages in order to simplify the development experience on
> several occasions.

Fair enough.

> I completely agree with you that many people won't have a "programmatic
> mental model". This is why ontologies such as VOWL and Fresnel are
> important: they allow people who want to express presentation knowledge
> to do so at a very high level. The point of Xenon is to say that people
> who _do_ have a "programmatic mental model" should not be locked out of
> using VOWL and Fresnel simply because they hit the boundaries of what
> such an ontology can express.

Again, fair enough.

But please understand that I find myself in the position (lucky or
unlucky I'll let others to judge this) to have to deal with mostly
people that do not posses such mental models. Call it undertstaffing or
call it "c'est la vie", that's what I'm facing. For this reason, Xenon
does not look appealing to my delivery needs.

> I believe we can resolve the two key problems of XSLT you bring up: (1)
> the unfriendly syntax; (2) function calls having a bulky, second-class
> status (xsl:call-template instead of just using the name of the
> function), which forces people to be aware of the fact that they are
> programming. Furthermore, as a result, I believe Model 2 is possible
> within Xenon for the same reason that Scheme and Lisp are capable of
> implementing Model 2--because you can easily embed a mini-declarative
> language within them.

Well, there is more to say about this. Model 2 is based on the MVC
pattern: the controller populates the model and invokes the view. You
can achieve this in any language, so that's not the problem.

But the fact is that in Xenon (please, correct me if my understanding is
faulty) views perform the population and lenses perform the presentation.

True, nothing prevents you to use Xenon as the view stage and have a
precedent population stage, but if that's the case, why do you need
views at all?

Another important aspect of separating the population stage from the
presentation stage is that with Xenon population is limited to use
SPARQL, while a separate, scripted, population stage (as in velocity,
tapestry, cocoon templates, jsp model 2 etc) allows you to be "data
model" agnostic, meaning that you can template things that are not
necessarely RDF.

I understand that this might not be of interest, since we can expect all
your data to be RDF or, at least, to have an SPARQL-querieable
representation... again, I find myself in the situation where real life
is more complex than this and I'm too lazy to have to implement
"RDF-ization" of everything just because my template system forces me
into it.

Given the required efforts, I would much rather my templates adapt to my
datamodels rather then the other way around.

Anyway, as I said, I'm rather glad that people are researching different
approaches to the RDF presentation layer, my job requires me to be more
cautious in the use of the technologies that are more easily applied.

Looking forward to see an improved syntax of Xenon, though, because I
might well use that myself for my own needs, but if XML syntax was ugly
for code, N3 is even worse ;-)

Stefano Mazzocchi
Research Scientist                 Digital Libraries Research Group
Massachusetts Institute of Technology            location: E25-131C
77 Massachusetts Ave                   telephone: +1 (617) 253-1096
Cambridge, MA  02139-4307              email: stefanom at mit . edu
Received on Wed Dec 08 2004 - 17:29:36 EST

This archive was generated by hypermail 2.3.0 : Thu Aug 09 2012 - 16:39:17 EDT