Hi,
I think that the location map of the dispatcher needs to be cleaned
and self documented - generally, I cannot retrieve where variables -
such as {project.structurer} point.
I try to understand the location map - and it's not quite easy :-)
- and I think fallbacks mecanism should be homogenised.
First, we need to be homogeneous :
----------------------------------------------------
For instance in some patterns - such as
pattern="dataModel-html-**.xsl", the location map looks into :
* src="{project:structurer}/resources/stylesheets/html/{1}.xsl"
* src="{project:skins-dir}{project:theme}/xslt/html/{1}.xsl"
* and src="{defaults:structurer}/resources/stylesheets/html/{1}.xsl"
And in other patterns - such as pattern="contract-strip-xsl.xsl",
the location map looks into :
* src="{project:structurer}/resources/stylesheets/contract-strip-xsl.xsl"
* and
src="{defaults:structurer}/resources/stylesheets/contract-strip-xsl.xsl"
And we don't know why it does not search in skin-dir ?
Another example is the use of different pathes which seem to be the
same :
* {project:structurer}/resources
* and {project:resources}
Second, we need to verify the fall backs :
------------------------------------------
In other patterns, it seems the location map looks twice in the same
location :
<match pattern="dataModel-xml-document-to-**.xsl">
<select type="exists">
* <location
src="{project:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" />*
<location
src="{project:skins-dir}{project:theme}/xslt/xml/document-to-{1}.xsl" />
* <location
src="{project:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" />*
<location
src="{defaults:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" />
</select>
</match>
At last, we may add entry points to have the possibility to override
everything :
------------------------------------------------------------------------------
For instance to systematically have an entry point pattern to
override a stylesheet and a standard pattern :
<match pattern="dataModel-xml-document-to-**.xsl">
<select type="exists">
<location
src="{project:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" />
<location
src="{project:skins-dir}{project:theme}/xslt/xml/document-to-{1}.xsl" />
* <location src="{lm:std-dataModel-xml-document-to-{1}.xsl" />*
</select>
</match>
<match pattern="std-dataModel-xml-document-to-**.xsl">
<select type="exists">
<location
src="{defaults:structurer}/resources/stylesheets/xml/document-to-{1}.xsl" />
</select>
</match>
With these two patterns, the customiser can create his own
document-to-html.xsl in his project directory and import the standard in
this stylesheet :
<!-- Standard Import... -->
<xsl:import href="lm://std-dataModel-xml-document-to-html.xsl"/>
Maybe I should create an Issue for this ?
--
Salutations,
Cyriaque,