Thorsten Scherler wrote:
Hello devs,
I have a question about the locationmap.
I wonder whether if it is possible to use a sitemap.selector.exists
within my locationmap.xml?
I reckon it is possible and I will just try it out, but I would like
your opinion about the resulting code.
I also believe it is possible, but have yet to try it. The
implementation reuses Cocoon sitemap components to build the
locationmap, therefore it should be possible to us any existing sitemap
components.
I want to re-factor the output.xmap from the viewHelper.xhtml that I
will add all the <map:select type="exists"> into the locationmap. e.g.
<map:match pattern="resolve.contract.xhtml.*">
<map:select type="exists">
<map:when test="{project:resources}/templates/{1}.ft">
<map:generate src="{project:resources}/templates/{1}.ft"/>
</map:when>
<map:when test="resources/templates/{1}.ft">
<map:generate src="resources/templates/{1}.ft"/>
</map:when>
<map:otherwise>
<map:generate src="resources/templates/noFt.ft"/>
</map:otherwise>
</map:select>
<map:serialize type="xml"/>
</map:match>
should go in the locationmap.xml and then I can get rid of this match in
the output.xmap and later on match directly:
<map:match pattern="get.contract.*.xhtml">
<map:generate src="{lm:templates/{1}.ft}"/>
<map:transform src="resources/stylesheets/contract.xsl">
<!--Which output format?-->
<map:parameter name="format" value="xhtml"/>
</map:transform>
<map:transform type="i18n">
<map:parameter name="locale" value="{request:locale}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
Trying to ask, whether it should/is best practice to resolve in the
locationmap the resources with the help of sitemap.selector.exists?
There is no best practice yet (at least I'm not aware of one). What you
suggest certainly "feels" right because the logic of the processing
remains in the sitemap, but the resolving of files goes in the locationmap.
Another use case for what you suggest is the resources.xmap file.
Imagine how much easier to follow it would be if we didn't have so may
alternative locations for the image files. Nicola Ken hinted that this
would be the case when I recently said I don't want to think that far
forward yet. I wonder if this is what he meant?
I'd say go for it and lets see what the implications are as we experiment.
Ross