Re: Fresnel: Styles: summary and unsolved issues

From: Ryan Lee <ryanlee_at_w3.org>
Date: Thu, 28 Apr 2005 13:45:14 -0400

Emmanuel Pietriga wrote:
> Ryan Lee wrote:
>> If we were to do drop fresnel:Styles, I propose we hang these other
>> properties off of :PropertyDescription.
>>
>> (derived from
>> http://simile.mit.edu/repository/fresnel/trunk/examples/foaf-example-fresnel-simple-core-and-lens-group.n3)
>>
>>
>> :myDepicts a fresnel:PropertyDescription ;
>> fresnel:property foaf:depiction ;
>> fresnel:label "can be seen in" ;
>> fresnel:value fresnel:image .
>>
>> :FOAFPersonDefaultLens a fresnel:Lens ;
>> fresnel:purpose fresnel:defaultLens ;
>> fresnel:lensDomain foaf:Person ;
>> fresnel:showProperties (foaf:name foaf:mbox :myDepicts) .
>>
>> :personsKnowsLens a fresnel:Lens ;
>> fresnel:lensDomain foaf:Person ;
>> fresnel:showProperties ( foaf:name
>> :myDepicts
>> [ a fresnel:PropertyDescription ;
>> fresnel:property foaf:knows ;
>> fresnel:label fresnel:none ;
>> fresnel:sublens :FOAFPersonDefaultLens ] ).
>
> If we do that we no longer have a clean seperation between selection and
> presentation (in the sense that a PropertyDescription will contain both
> selection statements (e.g. sublens) and presentation statements (label,
> value, etc.).

You're right. Part of my inspiration came from a desire to make
implementation easier. With styling, fresnel:styleDomain seemed like an
obstacle because there didn't look to be an easy way to make the graph
path apply to an intermediate tree after the selection phase was complete.

In this case, though, I think I could take a :transformDomain (or
whatever) and implement it such that label substitutions, etc. could be
  run alongside the selection process. So instead (with no strong
emotional ties to the term identifiers introduced):

:myLists a fresnel:PropertyTransform ;
   fresnel:transformDomain foaf:depiction ;
   fresnel:transformDomain my:image ;
   fresnel:value fresnel:image ;
   fresnel:label "can be seen in" .

I do wonder if fresnel:label could be shifted elsewhere, due to the
limitation of :PropertyTransform reuse if it stays where it is.

> And this seems to trigger a new issue: say that for a given property we
> have a fresnel:value and a fresnel:sublens, like in:
>
> :myDepicts a fresnel:PropertyDescription ;
> fresnel:property foaf:depiction ;
> fresnel:sublens :ImageMetadataLens ;
> fresnel:label "can be seen in" ;
> fresnel:value fresnel:image .
>
> where :ImageMetadataLens would be a lens that shows information about
> the image resource (e.g. its width, height, etc.). Don't we have some
> kind of conflict between fresnel:sublens and fresnel:value? How would
> you interpret that (I mean, how should a browser behave)?

I don't know how new an issue that is. In our style grammar:

:myDepicts a fresnel:PropertyDescription ;
   fresnel:property foaf:depiction ;
   fresnel:sublens :ImageMetadataLens .

:myDepictsStyle a fresnel:Style ;
   fresnel:styleDomain foaf:depiction ;
   fresnel:label "can be seen in" ;
   fresnel:value fresnel:image .

Maybe the right thing to do here (and above) is to do both. That is,
the object should be displayed as an image along with whatever the
sublens wants to display (lens aperture, etc.). The same could be said
for both my suggestions. Does that sound feasible?

>> The major drawback compared to the former solution is in trying to
>> apply the same property manipulations more broadly since only one
>> fresnel:property, naming one rdf:Property, can currently be used in a
>> fresnel:PropertyDescription (as opposed to the full range of selectors
>> in :styleDomain). Considering fresnel:label, though, I don't think
>> these manipulations are really that broadly applicable in the first
>> place.
>
> Its impact is limited if you indeed make a heavy use of fresnel:label.
> If you don't, this is not so obvious.

On further consideration, with fresnel:property, there doesn't seem to
be any way to make these truly reusable as I originally proposed.

>> What precisely are we retaining?
>>
>> :label (and :LabellingStyles - maybe rename to :LabellingTypes)
>> :value (and :PropertyValueStyles - maybe rename to :PropertyValueTypes)
>> :contentNoValue
>>
>> The remaining :content{First,Last,Before,After} properties seem like
>> they could be left to styling instead.
>
> :content{First,Last,Before,After} make sense in Fresnel, because they
> are portable across browsers and representation paradigms. Besides they
> are closely related to lenses' mergeProperties and alternateProperties.
>
> So I'd rather not drop them. I'm more in favor of keeping as much as we
> can in Fresnel, provided that it makes sense. The more we leave to the
> non-Fresnel styling part, the less Fresnel is useful.

Every level between Fresnel and the final rendering could conceivably
introduce its own control on the four :content terms (XSLT transforms of
lists, CSS or otherwise list-aware presentation stylings). Is it better
to allow the Fresnel author the control and force others who deal with
the results to adjust accordingly, or is it better to fully leave this
aspect of presentation styling to those consumers?

-- 
Ryan Lee                 ryanlee_at_w3.org
W3C Research Engineer    +1.617.253.5327
http://simile.mit.edu/
Received on Thu Apr 28 2005 - 17:44:27 EDT

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