Re: Display requirements - style vs. template oriented language

From: Ryan Lee <ryanlee_at_w3.org>
Date: Tue, 07 Sep 2004 18:33:22 -0400

Chris Bizer wrote:
> Hi Stefano and Ryan,
>
> it seams that we have agreed on an architecture outline, or?
> Ryan, what is your opinion on Stefano's and my mails?
>
> Some additional comments below:
>
>>>1. Layer: Stylesheet language
>>>
>>>A purely declarative stylesheet language in which you say that it's a
>>>good idea to display foaf:name as text and foaf:depict as a picture and
>>>dc:description as multiline text. If you want to define further display
>>>details like fonts and colors you use a RDF-version of CSS. An example
>>>style might look like this:
>>>
>>>foaf:mbox rdf:type rdf:property ;
>>> style:hasStyle ex:boldRedLink .
>>>
>>>ex:boldRedLink rdf:type disp:DisplayStyle ;
>>> style:displayType style:Text ;
>>> style:style disp:ShowURI ;
>>> style:style disp:DisplayAsLink
>>> css:font css:SansSeriv ;
>>> css:color css:red .
>>>
>>>You see the golden hammer but no reinvention of the wheel, because the
>>>semantics of CSS are reused :-)
>>
>>The idea of encoding the CSS semantics into RDF still smells like golden
>>hammer to me. I mean, CSS has pretty powerful selectors, but admittedly
>>they are XML-oriented and not RDF related... I wonder, since
>>"presentation" means transforming into presentation-oriented markup
>>(XHTML, SVG or XSL:FO) and CSS can be used directly in all of them
>>(well, not really in FO, but that is a classic reinvention of the
>>wheel), why don't we introduce CSS-selector-friendly "hooks" (ids or
>>classes) instead of describing the style info itself in RDF?
>>
>>less work and a lot more friendly with existing CSS-creating tools.
>>
>
>
> I'm totally flexible on hooks vs. rdf-syntax, because its only an encoding
> question. I was using hooks in my first draft, so maybe we can build on
> this.

I'd opt for hooks.

>>>2. Layer: Content-selection language
>>>
>>>Where you group properties together to views/lenses, order them and say
>>>how missing values are handled.
>>>
>>>ex:viewof fofPerson rdf:type disp:Lens ;
>>> rdfs:label "Lens for FOAF Persons" ;
>>> disp:useableFor foaf:Person ;
>>> disp:showProperties [ rdf:type rdf:Seq ;
>>> rdf:_1 rdf:type;
>>> rdf:_2 foaf:mbox;
>>> # Use alternative properties if
>>>foaf:name is missing
>>> rdf:_3 [ rdf:type
>
> disp:PropertySeq ;
>
>>> rdf:_1 foaf:name ;
>>> rdf:_2 foaf:surname ;
>>> rdf:_3 rdfs:label; ] ]
>
> .
>
>>Nice. Implicit conditionals, I like.
>
> Another interesting thing could be property bags, meaning that all values
> from properties from different vocabularies with the same or similar
> semantic should be displayed together, e.g.
>
> rdf:_4 [ rdf:type disp:PropertyBag ;
> rdf:_1 foaf:mbox ;
> rdf:_2 vCard:EMAIL ]
>
> ....

This is an interesting case where there's an intersection between the
content selection and the templating - often, showing just one property
doesn't fit the job, you'll want a few, set in a specific manner:
"foaf:firstName foaf:lastName (foaf:mbox)". I'm not sure how you'd do
that without violating some separation between content selection and
templating.

I like the rest, I don't see much I can add to those points.

> So what are our next steps?
>
> Should we keep on collecting requirements?
> Or are we already in the stage of joining/reformulating our drafts?

It might be nice to get yet more input...

-- 
Ryan Lee                 ryanlee_at_w3.org
W3C Research Engineer    +1.617.253.5327
http://simile.mit.edu/
Received on Tue Sep 07 2004 - 22:33:22 EDT

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