Hi there,

It's been mentioned already that the mapping from public style selector
names, which do not contain html, into trinidad's internal style selector
names, would need to be moved outside of the FileSystemStyleCache class. I
would like to ask you guys about this, as this is one of the main tasks that
should be resolved for a more general skinning module.

The requirements i can see are the following:

  1. mapping should be transparent, preferably no changes on the
  StyleProvider API regarding this
  2. mapping configuration made outside of the code
  3. allow components outside of the framework to provide their own
  mappings

On a short basis, my proposition is inspired by how Facelets taglibs are
defined and loaded (for those who are familiar with this).

Basicaly have a skinning selectors library file, in XML format, that will
declare all the possible selector names and their internal names (internal
names could be optional). Loading this type of files will be done
automaticaly, by searching after files that have an extension like
*.selectorslib.xm by scanning the /meta-inf folder in the jars.

The format of a *selectorslib.xml file could be something like:
<skinning-selectors>
<namespace>af</namespace>
<selector>
<name>panelTabbed::tab-link</name>
<internal-name>panelTabbed::tab A</internal-name>
</selector>
..............
</skinning-selectors>

This will also allow more transparency on the possible selector names for a
component, as there can be as many * selectorslib.xml files as components,
or just one big file declaring them all.

I'm more like scratching the surface for now, looking forward to your
comments.

Regards,
Catalin

Reply via email to